@drincs/pixi-vn 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas/CanvasManager.cjs +1 -1
- package/dist/canvas/CanvasManager.js +1 -1
- package/dist/canvas/CanvasManagerStatic.cjs +1 -1
- package/dist/canvas/CanvasManagerStatic.js +1 -1
- package/dist/canvas/components/Container.cjs +1 -1
- package/dist/canvas/components/Container.js +1 -1
- package/dist/canvas/components/ImageContainer.cjs +1 -1
- package/dist/canvas/components/ImageContainer.js +1 -1
- package/dist/canvas/components/ImageSprite.cjs +2 -2
- package/dist/canvas/components/ImageSprite.js +2 -2
- package/dist/canvas/components/Sprite.cjs +1 -1
- package/dist/canvas/components/Sprite.js +1 -1
- package/dist/canvas/components/Text.cjs +1 -1
- package/dist/canvas/components/Text.js +1 -1
- package/dist/canvas/components/VideoSprite.cjs +2 -2
- package/dist/canvas/components/VideoSprite.js +2 -2
- package/dist/canvas/decorators/canvas-element-decorator.cjs +1 -1
- package/dist/canvas/decorators/canvas-element-decorator.js +1 -1
- package/dist/canvas/decorators/event-decorator.cjs +1 -1
- package/dist/canvas/decorators/event-decorator.js +1 -1
- package/dist/canvas/functions/canvas-effect.cjs +1 -1
- package/dist/canvas/functions/canvas-effect.js +1 -1
- package/dist/canvas/functions/canvas-import-utility.cjs +1 -1
- package/dist/canvas/functions/canvas-import-utility.js +1 -1
- package/dist/canvas/functions/canvas-transition.cjs +1 -1
- package/dist/canvas/functions/canvas-transition.js +1 -1
- package/dist/canvas/functions/image-container-utility.cjs +1 -1
- package/dist/canvas/functions/image-container-utility.js +1 -1
- package/dist/canvas/functions/image-utility.cjs +1 -1
- package/dist/canvas/functions/image-utility.js +1 -1
- package/dist/canvas/functions/video-utility.cjs +1 -1
- package/dist/canvas/functions/video-utility.js +1 -1
- package/dist/canvas/index.cjs +1 -1
- package/dist/canvas/index.js +1 -1
- package/dist/canvas/tickers/classes/TickerBase.cjs +1 -1
- package/dist/canvas/tickers/classes/TickerBase.js +1 -1
- package/dist/canvas/tickers/components/FadeAlphaTicker.cjs +1 -1
- package/dist/canvas/tickers/components/FadeAlphaTicker.js +1 -1
- package/dist/canvas/tickers/components/MoveTicker.cjs +1 -1
- package/dist/canvas/tickers/components/MoveTicker.js +1 -1
- package/dist/canvas/tickers/components/RotateTicker.cjs +1 -1
- package/dist/canvas/tickers/components/RotateTicker.js +1 -1
- package/dist/canvas/tickers/components/ZoomTicker.cjs +1 -1
- package/dist/canvas/tickers/components/ZoomTicker.js +1 -1
- package/dist/canvas/tickers/decorators/ticker-decorator.cjs +1 -1
- package/dist/canvas/tickers/decorators/ticker-decorator.js +1 -1
- package/dist/canvas/tickers/functions/ticker-texture-utility.cjs +1 -1
- package/dist/canvas/tickers/functions/ticker-texture-utility.js +1 -1
- package/dist/canvas/tickers/index.cjs +1 -1
- package/dist/canvas/tickers/index.js +1 -1
- package/dist/character/classes/CharacterBaseModel.cjs +17 -17
- package/dist/character/classes/CharacterBaseModel.js +17 -17
- package/dist/character/classes/CharacterStoredClass.cjs +16 -16
- package/dist/character/classes/CharacterStoredClass.js +16 -16
- package/dist/character/decorators/character-decorator.cjs +1 -1
- package/dist/character/decorators/character-decorator.js +1 -1
- package/dist/character/index.cjs +16 -16
- package/dist/character/index.js +16 -16
- package/dist/classes/CachedMap.cjs +1 -1
- package/dist/classes/CachedMap.d.cts +1 -1
- package/dist/classes/CachedMap.d.ts +1 -1
- package/dist/classes/CachedMap.js +1 -1
- package/dist/classes/index.cjs +1 -1
- package/dist/classes/index.js +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.d.cts +5 -1
- package/dist/constants.d.ts +5 -1
- package/dist/constants.js +1 -1
- package/dist/history/HistoryManager.cjs +2 -2
- package/dist/history/HistoryManager.d.cts +24 -13
- package/dist/history/HistoryManager.d.ts +24 -13
- package/dist/history/HistoryManager.js +2 -2
- package/dist/history/HistoryManagerStatic.cjs +1 -1
- package/dist/history/HistoryManagerStatic.d.cts +9 -8
- package/dist/history/HistoryManagerStatic.d.ts +9 -8
- package/dist/history/HistoryManagerStatic.js +1 -1
- package/dist/history/index.cjs +2 -2
- package/dist/history/index.d.cts +4 -2
- package/dist/history/index.d.ts +4 -2
- package/dist/history/index.js +2 -2
- package/dist/history/interfaces/HistoryManagerInterface.d.cts +54 -11
- package/dist/history/interfaces/HistoryManagerInterface.d.ts +54 -11
- package/dist/{index-CWhYJ7yq.d.ts → index-CvpVN1rC.d.ts} +3 -3
- package/dist/{index-CVn6zVij.d.cts → index-DCnX_VPi.d.cts} +3 -3
- package/dist/index.cjs +73 -73
- package/dist/index.d.cts +6 -5
- package/dist/index.d.ts +6 -5
- package/dist/index.js +73 -73
- package/dist/narration/NarrationManager.cjs +16 -16
- package/dist/narration/NarrationManager.d.cts +1 -1
- package/dist/narration/NarrationManager.d.ts +1 -1
- package/dist/narration/NarrationManager.js +16 -16
- package/dist/narration/NarrationManagerStatic.cjs +1 -1
- package/dist/narration/NarrationManagerStatic.js +1 -1
- package/dist/narration/classes/ChoiceMenuOption.cjs +1 -1
- package/dist/narration/classes/ChoiceMenuOption.js +1 -1
- package/dist/narration/decorators/RegisteredLabels.cjs +1 -1
- package/dist/narration/decorators/RegisteredLabels.js +1 -1
- package/dist/narration/decorators/newLabel.cjs +1 -1
- package/dist/narration/decorators/newLabel.js +1 -1
- package/dist/narration/index.cjs +17 -17
- package/dist/narration/index.d.cts +2 -2
- package/dist/narration/index.d.ts +2 -2
- package/dist/narration/index.js +17 -17
- package/dist/narration/interfaces/HistoryStep.d.cts +5 -5
- package/dist/narration/interfaces/HistoryStep.d.ts +5 -5
- package/dist/narration/interfaces/{NarrativeHistory.d.cts → NarrationHistory.d.cts} +2 -2
- package/dist/narration/interfaces/{NarrativeHistory.d.ts → NarrationHistory.d.ts} +2 -2
- package/dist/narration/interfaces/NarrationManagerInterface.d.cts +1 -1
- package/dist/narration/interfaces/NarrationManagerInterface.d.ts +1 -1
- package/dist/pixi-devtools/additionalPositionsProperties.cjs +1 -1
- package/dist/pixi-devtools/additionalPositionsProperties.js +1 -1
- package/dist/pixi-vn.d.d.cts +44 -1
- package/dist/pixi-vn.d.d.ts +44 -1
- package/dist/storage/StorageManager.cjs +1 -1
- package/dist/storage/StorageManager.js +1 -1
- package/dist/storage/StorageManagerStatic.cjs +1 -1
- package/dist/storage/StorageManagerStatic.js +1 -1
- package/dist/storage/classes/StoredClassModel.cjs +1 -1
- package/dist/storage/classes/StoredClassModel.js +1 -1
- package/dist/storage/index.cjs +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/utils/diff-utility.d.cts +2 -2
- package/dist/utils/diff-utility.d.ts +2 -2
- package/package.json +3 -3
- /package/dist/narration/interfaces/{NarrativeHistory.cjs → NarrationHistory.cjs} +0 -0
- /package/dist/narration/interfaces/{NarrativeHistory.js → NarrationHistory.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var cg=Object.create;var Ho=Object.defineProperty;var dg=Object.getOwnPropertyDescriptor;var fg=Object.getOwnPropertyNames;var pg=Object.getPrototypeOf,mg=Object.prototype.hasOwnProperty;var Vo=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var g=(i,t)=>()=>(i&&(t=i(i=0)),t);var Or=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),gg=(i,t)=>{for(var e in t)Ho(i,e,{get:t[e],enumerable:true});},xg=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fg(t))!mg.call(i,s)&&s!==e&&Ho(i,s,{get:()=>t[s],enumerable:!(r=dg(t,s))||r.enumerable});return i};var Dr=(i,t,e)=>(e=i!=null?cg(pg(i)):{},xg(Ho(e,"default",{value:i,enumerable:true}),i));var w,Wo,Ur,G,F=g(()=>{w=(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))(w||{}),Wo=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)=>Wo(i).priority??t,G={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Wo).forEach(t=>{t.type.forEach(e=>this._removeHandlers[e]?.(t));}),this},add(...i){return i.map(Wo).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 Vl=Or((Ty,Yo)=>{var _g=Object.prototype.hasOwnProperty,St="~";function Nr(){}Object.create&&(Nr.prototype=Object.create(null),new Nr().__proto__||(St=false));function yg(i,t,e){this.fn=i,this.context=t,this.once=e||false;}function Hl(i,t,e,r,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new yg(e,r||i,s),n=St?St+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 Nr:delete i._events[t];}function yt(){this._events=new Nr,this._eventsCount=0;}yt.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)_g.call(e,r)&&t.push(St?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};yt.prototype.listeners=function(t){var e=St?St+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};yt.prototype.listenerCount=function(t){var e=St?St+t:t,r=this._events[e];return r?r.fn?1:r.length:0};yt.prototype.emit=function(t,e,r,s,o,n){var a=St?St+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};yt.prototype.on=function(t,e,r){return Hl(this,t,e,r,false)};yt.prototype.once=function(t,e,r){return Hl(this,t,e,r,true)};yt.prototype.removeListener=function(t,e,r,s){var o=St?St+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};yt.prototype.removeAllListeners=function(t){var e;return t?(e=St?St+t:t,this._events[e]&&Ji(this,e)):(this._events=new Nr,this._eventsCount=0),this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.addListener=yt.prototype.on;yt.prefixed=St;yt.EventEmitter=yt;typeof Yo<"u"&&(Yo.exports=yt);});var Wl,K,Rt=g(()=>{Wl=Dr(Vl()),K=Wl.default;});var bg,ne,pt,Gt,Ql,Yl,$o,vg,ts,Jl,th,$l,Xl,jl,zr,Sg,Tg,wg,Cg,Ko,Kl,Pg,Xo,jo,ql,qo,Nt,Zl,eh,rh=g(()=>{bg={grad:.9,turn:360,rad:360/(2*Math.PI)},ne=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},pt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},Gt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},Ql=function(i){return (i=isFinite(i)?i%360:0)>0?i:i+360},Yl=function(i){return {r:Gt(i.r,0,255),g:Gt(i.g,0,255),b:Gt(i.b,0,255),a:Gt(i.a)}},$o=function(i){return {r:pt(i.r),g:pt(i.g),b:pt(i.b),a:pt(i.a,3)}},vg=/^#([0-9a-f]{3,8})$/i,ts=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},Jl=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}},th=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}},$l=function(i){return {h:Ql(i.h),s:Gt(i.s,0,100),l:Gt(i.l,0,100),a:Gt(i.a)}},Xl=function(i){return {h:pt(i.h),s:pt(i.s),l:pt(i.l),a:pt(i.a,3)}},jl=function(i){return th((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;},zr=function(i){return {h:(t=Jl(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;},Sg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Tg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,wg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Cg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ko={string:[[function(i){var t=vg.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?pt(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?pt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=wg.exec(i)||Cg.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:Yl({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=Sg.exec(i)||Tg.exec(i);if(!t)return null;var e,r,s=$l({h:(e=t[1],r=t[2],r===void 0&&(r="deg"),Number(e)*(bg[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return jl(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 ne(t)&&ne(e)&&ne(r)?Yl({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(!ne(t)||!ne(e)||!ne(r))return null;var n=$l({h:Number(t),s:Number(e),l:Number(r),a:Number(o)});return jl(n)},"hsl"],[function(i){var t=i.h,e=i.s,r=i.v,s=i.a,o=s===void 0?1:s;if(!ne(t)||!ne(e)||!ne(r))return null;var n=function(a){return {h:Ql(a.h),s:Gt(a.s,0,100),v:Gt(a.v,0,100),a:Gt(a.a)}}({h:Number(t),s:Number(e),v:Number(r),a:Number(o)});return th(n)},"hsv"]]},Kl=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]},Pg=function(i){return typeof i=="string"?Kl(i.trim(),Ko.string):typeof i=="object"&&i!==null?Kl(i,Ko.object):[null,void 0]},Xo=function(i,t){var e=zr(i);return {h:e.h,s:Gt(e.s+100*t,0,100),l:e.l,a:e.a}},jo=function(i){return (299*i.r+587*i.g+114*i.b)/1e3/255},ql=function(i,t){var e=zr(i);return {h:e.h,s:e.s,l:Gt(e.l+100*t,0,100),a:e.a}},qo=function(){function i(t){this.parsed=Pg(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 pt(jo(this.rgba),2)},i.prototype.isDark=function(){return jo(this.rgba)<.5},i.prototype.isLight=function(){return jo(this.rgba)>=.5},i.prototype.toHex=function(){return t=$o(this.rgba),e=t.r,r=t.g,s=t.b,n=(o=t.a)<1?ts(pt(255*o)):"","#"+ts(e)+ts(r)+ts(s)+n;var t,e,r,s,o,n;},i.prototype.toRgb=function(){return $o(this.rgba)},i.prototype.toRgbString=function(){return t=$o(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 Xl(zr(this.rgba))},i.prototype.toHslString=function(){return t=Xl(zr(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=Jl(this.rgba),{h:pt(t.h),s:pt(t.s),v:pt(t.v),a:pt(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(Xo(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),Nt(Xo(this.rgba,-t))},i.prototype.grayscale=function(){return Nt(Xo(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),Nt(ql(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),Nt(ql(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}):pt(this.rgba.a,3);var e;},i.prototype.hue=function(t){var e=zr(this.rgba);return typeof t=="number"?Nt({h:t,s:e.s,l:e.l,a:e.a}):pt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===Nt(t).toHex()},i}(),Nt=function(i){return i instanceof qo?i:new qo(i)},Zl=[],eh=function(i){i.forEach(function(t){Zl.indexOf(t)<0&&(t(qo,Ko),Zl.push(t));});};});function ih(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 _=(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));_<c&&(c=_,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 sh=g(()=>{});var je,$,Mt=g(()=>{rh();sh();eh([ih]);je=class Hr{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 Hr)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]=Hr._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=Hr.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 Hr||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}};je.shared=new je;je._temp=new je;je.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;$=je;});var oh,nh=g(()=>{oh={cullArea:null,cullable:false,cullableChildren:true};});var ah,lh,hh,Zo=g(()=>{ah=Math.PI*2,lh=180/Math.PI,hh=Math.PI/180;});var X,Qo,zt=g(()=>{X=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 Qo.x=0,Qo.y=0,Qo}},Qo=new X;});var R,Mg,Eg,rt=g(()=>{Zo();zt();R=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 X;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 X;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(ah-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 Eg.identity()}static get shared(){return Mg.identity()}},Mg=new R,Eg=new R;});var Tt,Jo=g(()=>{Tt=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=0 y=0 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 j(i="default"){return tn[i]===void 0&&(tn[i]=-1),++tn[i]}var tn,wt=g(()=>{tn={default:-1};});function O(i,t,e=3){if(uh[t])return;let r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",`${t}
|
|
1
|
+
var cg=Object.create;var Ho=Object.defineProperty;var dg=Object.getOwnPropertyDescriptor;var fg=Object.getOwnPropertyNames;var pg=Object.getPrototypeOf,mg=Object.prototype.hasOwnProperty;var Vo=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var g=(i,t)=>()=>(i&&(t=i(i=0)),t);var Or=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),gg=(i,t)=>{for(var e in t)Ho(i,e,{get:t[e],enumerable:true});},xg=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fg(t))!mg.call(i,s)&&s!==e&&Ho(i,s,{get:()=>t[s],enumerable:!(r=dg(t,s))||r.enumerable});return i};var Dr=(i,t,e)=>(e=i!=null?cg(pg(i)):{},xg(Ho(e,"default",{value:i,enumerable:true}),i));var w,Wo,Ur,k,F=g(()=>{w=(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))(w||{}),Wo=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)=>Wo(i).priority??t,k={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Wo).forEach(t=>{t.type.forEach(e=>this._removeHandlers[e]?.(t));}),this},add(...i){return i.map(Wo).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 Vl=Or((Ty,Yo)=>{var _g=Object.prototype.hasOwnProperty,St="~";function Nr(){}Object.create&&(Nr.prototype=Object.create(null),new Nr().__proto__||(St=false));function yg(i,t,e){this.fn=i,this.context=t,this.once=e||false;}function Hl(i,t,e,r,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new yg(e,r||i,s),n=St?St+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 Nr:delete i._events[t];}function yt(){this._events=new Nr,this._eventsCount=0;}yt.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)_g.call(e,r)&&t.push(St?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};yt.prototype.listeners=function(t){var e=St?St+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};yt.prototype.listenerCount=function(t){var e=St?St+t:t,r=this._events[e];return r?r.fn?1:r.length:0};yt.prototype.emit=function(t,e,r,s,o,n){var a=St?St+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};yt.prototype.on=function(t,e,r){return Hl(this,t,e,r,false)};yt.prototype.once=function(t,e,r){return Hl(this,t,e,r,true)};yt.prototype.removeListener=function(t,e,r,s){var o=St?St+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};yt.prototype.removeAllListeners=function(t){var e;return t?(e=St?St+t:t,this._events[e]&&Ji(this,e)):(this._events=new Nr,this._eventsCount=0),this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.addListener=yt.prototype.on;yt.prefixed=St;yt.EventEmitter=yt;typeof Yo<"u"&&(Yo.exports=yt);});var Wl,K,Rt=g(()=>{Wl=Dr(Vl()),K=Wl.default;});var bg,ne,pt,kt,Ql,Yl,$o,vg,ts,Jl,th,$l,Xl,jl,zr,Sg,Tg,wg,Cg,Ko,Kl,Pg,Xo,jo,ql,qo,Nt,Zl,eh,rh=g(()=>{bg={grad:.9,turn:360,rad:360/(2*Math.PI)},ne=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},pt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},kt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},Ql=function(i){return (i=isFinite(i)?i%360:0)>0?i:i+360},Yl=function(i){return {r:kt(i.r,0,255),g:kt(i.g,0,255),b:kt(i.b,0,255),a:kt(i.a)}},$o=function(i){return {r:pt(i.r),g:pt(i.g),b:pt(i.b),a:pt(i.a,3)}},vg=/^#([0-9a-f]{3,8})$/i,ts=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},Jl=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}},th=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}},$l=function(i){return {h:Ql(i.h),s:kt(i.s,0,100),l:kt(i.l,0,100),a:kt(i.a)}},Xl=function(i){return {h:pt(i.h),s:pt(i.s),l:pt(i.l),a:pt(i.a,3)}},jl=function(i){return th((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;},zr=function(i){return {h:(t=Jl(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;},Sg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Tg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,wg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Cg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ko={string:[[function(i){var t=vg.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?pt(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?pt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=wg.exec(i)||Cg.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:Yl({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=Sg.exec(i)||Tg.exec(i);if(!t)return null;var e,r,s=$l({h:(e=t[1],r=t[2],r===void 0&&(r="deg"),Number(e)*(bg[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return jl(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 ne(t)&&ne(e)&&ne(r)?Yl({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(!ne(t)||!ne(e)||!ne(r))return null;var n=$l({h:Number(t),s:Number(e),l:Number(r),a:Number(o)});return jl(n)},"hsl"],[function(i){var t=i.h,e=i.s,r=i.v,s=i.a,o=s===void 0?1:s;if(!ne(t)||!ne(e)||!ne(r))return null;var n=function(a){return {h:Ql(a.h),s:kt(a.s,0,100),v:kt(a.v,0,100),a:kt(a.a)}}({h:Number(t),s:Number(e),v:Number(r),a:Number(o)});return th(n)},"hsv"]]},Kl=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]},Pg=function(i){return typeof i=="string"?Kl(i.trim(),Ko.string):typeof i=="object"&&i!==null?Kl(i,Ko.object):[null,void 0]},Xo=function(i,t){var e=zr(i);return {h:e.h,s:kt(e.s+100*t,0,100),l:e.l,a:e.a}},jo=function(i){return (299*i.r+587*i.g+114*i.b)/1e3/255},ql=function(i,t){var e=zr(i);return {h:e.h,s:e.s,l:kt(e.l+100*t,0,100),a:e.a}},qo=function(){function i(t){this.parsed=Pg(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 pt(jo(this.rgba),2)},i.prototype.isDark=function(){return jo(this.rgba)<.5},i.prototype.isLight=function(){return jo(this.rgba)>=.5},i.prototype.toHex=function(){return t=$o(this.rgba),e=t.r,r=t.g,s=t.b,n=(o=t.a)<1?ts(pt(255*o)):"","#"+ts(e)+ts(r)+ts(s)+n;var t,e,r,s,o,n;},i.prototype.toRgb=function(){return $o(this.rgba)},i.prototype.toRgbString=function(){return t=$o(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 Xl(zr(this.rgba))},i.prototype.toHslString=function(){return t=Xl(zr(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=Jl(this.rgba),{h:pt(t.h),s:pt(t.s),v:pt(t.v),a:pt(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(Xo(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),Nt(Xo(this.rgba,-t))},i.prototype.grayscale=function(){return Nt(Xo(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),Nt(ql(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),Nt(ql(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}):pt(this.rgba.a,3);var e;},i.prototype.hue=function(t){var e=zr(this.rgba);return typeof t=="number"?Nt({h:t,s:e.s,l:e.l,a:e.a}):pt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===Nt(t).toHex()},i}(),Nt=function(i){return i instanceof qo?i:new qo(i)},Zl=[],eh=function(i){i.forEach(function(t){Zl.indexOf(t)<0&&(t(qo,Ko),Zl.push(t));});};});function ih(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 _=(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));_<c&&(c=_,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 sh=g(()=>{});var je,$,Mt=g(()=>{rh();sh();eh([ih]);je=class Hr{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 Hr)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]=Hr._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=Hr.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 Hr||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}};je.shared=new je;je._temp=new je;je.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;$=je;});var oh,nh=g(()=>{oh={cullArea:null,cullable:false,cullableChildren:true};});var ah,lh,hh,Zo=g(()=>{ah=Math.PI*2,lh=180/Math.PI,hh=Math.PI/180;});var X,Qo,zt=g(()=>{X=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 Qo.x=0,Qo.y=0,Qo}},Qo=new X;});var R,Mg,Eg,rt=g(()=>{Zo();zt();R=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 X;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 X;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(ah-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 Eg.identity()}static get shared(){return Mg.identity()}},Mg=new R,Eg=new R;});var Tt,Jo=g(()=>{Tt=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=0 y=0 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 j(i="default"){return tn[i]===void 0&&(tn[i]=-1),++tn[i]}var tn,wt=g(()=>{tn={default:-1};});function D(i,t,e=3){if(uh[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))),uh[t]=true;}var uh,V,ch,dt=g(()=>{uh={},V="8.0.0",ch="8.3.4";});var Re,en=g(()=>{Re=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 rn,W,Ot=g(()=>{en();rn=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 Re(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}},W=new rn;});var dh,fh=g(()=>{dt();dh={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){O("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 sn=g(()=>{});var ph,mh=g(()=>{sn();dt();ph={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||O(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}};});var gh,xh=g(()=>{gh={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 Vr,_h=g(()=>{Vr=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 on,rs,yh=g(()=>{F();Ot();on=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 W.get(r.maskClass,t)}return t}returnMaskEffect(t){W.return(t);}},rs=new on;G.handleByList(w.MaskEffect,rs._effectClasses);});var bh,vh=g(()=>{_h();yh();bh={_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)));},setMask(i){this._maskOptions={...this._maskOptions,...i},i.mask&&(this.mask=i.mask),this._markStructureAsChanged();},get mask(){return this._maskEffect?.mask},set filters(i){!Array.isArray(i)&&i&&(i=[i]);let t=this._filterEffect||(this._filterEffect=new Vr);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 Vr),this._filterEffect.filterArea=i;},get filterArea(){return this._filterEffect?.filterArea}};});var Sh,Th=g(()=>{dt();Sh={label:null,get name(){return O(V,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){O(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,Q,It=g(()=>{zt();is=[new X,new X,new X,new X],Q=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,_=a+u,x=a+o-u,p=l+u,y=l+n-u;return t>=c&&t<=f&&e>=d&&e<=m&&!(t>_&&t<x&&e>p&&e<y)}intersects(t,e){if(!e){let P=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=P)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,_=f*s+d*o,x=f*r+d*n,p=f*s+d*n;if(Math.max(m,_,x,p)<=f*a.x+d*a.y||Math.min(m,_,x,p)>=f*u.x+d*u.y)return false;let y=c*(a.y-h.y),v=c*(h.x-a.x),b=y*r+v*o,C=y*s+v*o,S=y*r+v*n,T=y*s+v*n;return !(Math.max(b,C,S,T)<=y*a.x+v*a.y||Math.min(b,C,S,T)>=y*u.x+v*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}toString(){return `[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}};});var wh,ot,Ht=g(()=>{rt();It();wh=new R,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=wh,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 Q);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=wh,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,_=this.maxY,x=n*t+l*e+u,p=a*t+h*e+c;x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),x=n*r+l*e+u,p=a*r+h*e+c,x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),x=n*t+l*s+u,p=a*t+h*s+c,x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),x=n*r+l*s+u,p=a*r+h*s+c,x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),this.minX=f,this.minY=d,this.maxX=m,this.maxY=_;}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 _=e;_<r;_+=2){let x=t[_],p=t[_+1],y=h*x+c*p+d,v=u*x+f*p+m;o=y<o?y:o,n=v<n?v:n,a=y>a?y:a,l=v>l?v: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 ht,Bt,Ie=g(()=>{rt();en();Ht();ht=new Re(R),Bt=new Re(ot);});var Ag,Ch,Ph=g(()=>{rt();Ht();Ie();Ag=new R,Ch={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=Bt.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(Ag).invert()),t.addBounds(r,this.relativeGroupTransform)),t.addBounds(r),Bt.return(r);}else this.renderGroup&&(t.addBounds(r,this.relativeGroupTransform),Bt.return(r));}};});function ss(i,t,e){e.clear();let r,s;return i.parent?t?r=i.parent.worldTransform:(s=ht.get().identity(),r=os(i,s)):r=R.IDENTITY,Mh(i,e,r,t),s&&ht.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=ht.get(),s.appendFrom(i.localTransform,e));let o=t,n=!!i.effects.length;if(n&&(t=Bt.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,R.IDENTITY),Bt.return(t);}r||ht.return(s);}function os(i,t){let e=i.parent;return e&&(os(e,t),e.updateLocalTransform(),t.append(e.localTransform)),t}var ns=g(()=>{rt();Ie();});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 nn=g(()=>{});function an(i,t){return i===Eh?t:t===Eh?i:as(i,t)}var Eh,Ah=g(()=>{nn();Eh=16777215;});function Wr(i){return ((i&255)<<16)+(i&65280)+(i>>16&255)}var Rh,Ih=g(()=>{ns();Ie();Ah();Rh={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,ht.get().identity());return i.appendFrom(this.localTransform,e),ht.return(e),i},getGlobalTint(i){if(i)return this.renderGroup?Wr(this.renderGroup.worldColor):this.parentRenderGroup?Wr(an(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let t=this.localColor,e=this.parent;for(;e;)t=an(t,e.localColor),e=e.parent;return Wr(t)}};});function z(...i){ln!==Bh&&(ln++,ln===Bh?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...i));}var ln,Bh,bt=g(()=>{ln=0,Bh=500;});function ls(i,t,e){return t.clear(),e||(e=R.IDENTITY),Lh(i,t,e,i,true),t.isValid||t.set(0,0,0,0),t}function Lh(i,t,e,r,s){let o;if(s)o=ht.get(),o=e.copyTo(o);else {if(!i.visible||!i.measurable)return;i.updateLocalTransform();let l=i.localTransform;o=ht.get(),o.appendFrom(l,e);}let n=t,a=!!i.effects.length;if(a&&(t=Bt.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++)Lh(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,R.IDENTITY),Bt.return(t);}ht.return(o);}var hn=g(()=>{rt();Ie();});function un(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&&un(s,t);}return t.didChange}var Fh=g(()=>{});var Rg,kh,Gh=g(()=>{rt();Ht();ns();hn();Fh();Rg=new R,kh={_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),un(this,i),i.didChange&&ls(this,i.localBounds,Rg),i.localBounds},getBounds(i,t){return ss(this,i,t||new ot)}};});var Oh,Dh=g(()=>{Oh={_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 Ig(i,t){return i._zIndex-t._zIndex}var Uh,Nh=g(()=>{Uh={_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(Ig));}};});var zh,Hh=g(()=>{zt();Ie();zh={getGlobalPosition(i=new X,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(ht.get(),e);return t=r.apply(i,t),ht.return(r),t},toLocal(i,t,e,r){t&&(i=t.toGlobal(i,e,r));let s=this.getGlobalTransform(ht.get(),r);return e=s.applyInverse(i,e),ht.return(s),e}};});var Ke,cn=g(()=>{wt();Ke=class{constructor(){this.uid=j("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 ae(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 dn(i){return !(i&i-1)&&!!i}var Yr=g(()=>{});function hs(i){let t={};for(let e in i)i[e]!==void 0&&(t[e]=i[e]);return t}var fn=g(()=>{});function Bg(i){let t=Vh[i];return t===void 0&&(Vh[i]=j("resource")),t}var Vh,Wh,us,pn=g(()=>{Rt();wt();dt();Vh=Object.create(null);Wh=class Yh extends K{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=false,t={...Yh.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){O(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=Bg(t),this._resourceId}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners();}};Wh.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};us=Wh;});var $h,gt,pe=g(()=>{Rt();Yr();fn();wt();pn();$h=class Xh extends K{constructor(t={}){super(),this.options=t,this.uid=j("textureSource"),this._resourceType="textureSource",this._resourceId=j("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={...Xh.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 us(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=j("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=j("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=dn(this.pixelWidth)&&dn(this.pixelHeight);}static test(t){throw new Error("Unimplemented")}};$h.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:false,sampleCount:1,antialias:false,autoGarbageCollect:false};gt=$h;});function Lg(){for(let i=0;i<16;i++){let t=[];mn.push(t);for(let e=0;e<16;e++){let r=cs(Be[i]*Be[e]+Fe[i]*Le[e]),s=cs(Le[i]*Be[e]+ke[i]*Le[e]),o=cs(Be[i]*Fe[e]+Fe[i]*ke[e]),n=cs(Le[i]*Fe[e]+ke[i]*ke[e]);for(let a=0;a<16;a++)if(Be[a]===r&&Le[a]===s&&Fe[a]===o&&ke[a]===n){t.push(a);break}}}for(let i=0;i<16;i++){let t=new R;t.set(Be[i],Le[i],Fe[i],ke[i],0,0),jh.push(t);}}var Be,Le,Fe,ke,mn,jh,cs,it,Kh=g(()=>{rt();Be=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Le=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Fe=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],ke=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],mn=[],jh=[],cs=Math.sign;Lg();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=>Be[i],uY:i=>Le[i],vX:i=>Fe[i],vY:i=>ke[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>mn[i][t],sub:(i,t)=>mn[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=jh[it.inv(t)];s.tx=e,s.ty=r,i.append(s);}};});var gn,qh=g(()=>{gn=()=>{};});var Ge,xn=g(()=>{F();pe();Ge=class extends gt{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}};Ge.extension=w.TextureSource;});var Zh,ds,Qh=g(()=>{rt();Zh=new R,ds=class{constructor(t,e){this.mapCoord=new R,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 k,xt=g(()=>{Rt();Kh();It();wt();dt();qh();xn();pe();Qh();k=class extends K{constructor({source:t,label:e,frame:r,orig:s,trim:o,defaultAnchor:n,defaultBorders:a,rotate:l,dynamic:h}={}){if(super(),this.uid=j("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new Q,this.noFrame=false,this.dynamic=false,this.isTexture=true,this.label=e,this.source=t?.source??new gt,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 ds(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 O(V,"Texture.baseTexture is now Texture.source"),this._source}};k.EMPTY=new k({label:"EMPTY",source:new gt({label:"EMPTY"})});k.EMPTY.destroy=gn;k.WHITE=new k({source:new Ge({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});k.WHITE.destroy=gn;});var Fg,_n,vt,qe=g(()=>{Yr();pe();xt();Fg=0,_n=class{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=false;}createTexture(t,e,r){let s=new gt({...this.textureOptions,width:t,height:e,resolution:1,antialias:r,autoGarbageCollect:false});return new k({source:s,label:`texturePool_${Fg++}`})}getOptimalTexture(t,e,r=1,s){let o=Math.ceil(t*r-1e-6),n=Math.ceil(e*r-1e-6);o=ae(o),n=ae(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){let e=this._poolKeyHash[t.uid];this._texturePool[e].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={};}},vt=new _n;});var fs,Jh=g(()=>{rt();cn();qe();fs=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=false,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new R,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 Ke,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&&(vt.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 R),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return (this._matrixDirty&2)===0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new R),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 R),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 tu(i,t,e={}){for(let r in t)!e[r]&&t[r]!==void 0&&(i[r]=t[r]);}var eu=g(()=>{});var yn,bn,vn,ru,kg,Sn,Vt,$r=g(()=>{Rt();Mt();nh();F();rt();Zo();Jo();wt();dt();Ot();fh();mh();xh();vh();Th();Ph();Ih();Gh();Dh();Nh();Hh();Jh();eu();yn=new Tt(null),bn=new Tt(null),vn=new Tt(null,1,1),ru=1,kg=2,Sn=4,Vt=class i extends K{constructor(t={}){super(),this.uid=j("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 R,this.relativeGroupTransform=new R,this.groupTransform=this.relativeGroupTransform,this.destroyed=false,this._position=new Tt(this,0,0),this._scale=vn,this._pivot=bn,this._skew=yn,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=[],tu(this,t,{children:true,parent:true,effects:true}),t.children?.forEach(e=>this.addChild(e)),t.parent?.addChild(this);}static mixin(t){O("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),G.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||O(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=W.get(fs,this),this.groupTransform=R.IDENTITY,t?.addChild(this),this._updateIsSimple();}disableRenderGroup(){if(!this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),W.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 R),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*lh}set angle(t){this.rotation=t*hh;}get pivot(){return this._pivot===bn&&(this._pivot=new Tt(this,0,0)),this._pivot}set pivot(t){this._pivot===bn&&(this._pivot=new Tt(this,0,0)),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t);}get skew(){return this._skew===yn&&(this._skew=new Tt(this,0,0)),this._skew}set skew(t){this._skew===yn&&(this._skew=new Tt(this,0,0)),this._skew.copyFrom(t);}get scale(){return this._scale===vn&&(this._scale=new Tt(this,1,1)),this._scale}set scale(t){this._scale===vn&&(this._scale=new Tt(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|=ru,this._onUpdate());}get alpha(){return this.localAlpha}set tint(t){let r=$.shared.setValue(t??16777215).toBgrNumber();r!==this.localColor&&(this.localColor=r,this._updateFlags|=ru,this._onUpdate());}get tint(){return Wr(this.localColor)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=kg,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|=Sn,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|=Sn,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|=Sn,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;}};G.mixin(Vt,ph,Ch,zh,Oh,kh,bh,Sh,Uh,oh,dh,Rh,gh);});var me,ps=g(()=>{zt();me=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 X,this.page=new X,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 Gg(i){return function(t){return t.test(i)}}function Xr(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=Gg(e),o={apple:{phone:s(Tn)&&!s(le),ipod:s(iu),tablet:!s(Tn)&&(s(su)||fu(t))&&!s(le),universal:s(ou),device:(s(Tn)||s(iu)||s(su)||s(ou)||fu(t))&&!s(le)},amazon:{phone:s(Ze),tablet:!s(Ze)&&s(ms),device:s(Ze)||s(ms)},android:{phone:!s(le)&&s(Ze)||!s(le)&&s(wn),tablet:!s(le)&&!s(Ze)&&!s(wn)&&(s(ms)||s(nu)),device:!s(le)&&(s(Ze)||s(ms)||s(wn)||s(nu))||s(/\bokhttp\b/i)},windows:{phone:s(le),tablet:s(au),device:s(le)||s(au)},other:{blackberry:s(lu),blackberry10:s(hu),opera:s(uu),firefox:s(du),chrome:s(cu),device:s(lu)||s(hu)||s(uu)||s(du)||s(cu)},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 Tn,iu,su,ou,wn,nu,Ze,ms,le,au,lu,hu,uu,cu,du,fu,Cn=g(()=>{Tn=/iPhone/i,iu=/iPod/i,su=/iPad/i,ou=/\biOS-universal(?:.+)Mac\b/i,wn=/\bAndroid(?:.+)Mobile\b/i,nu=/Android/i,Ze=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,ms=/Silk/i,le=/Windows Phone/i,au=/\bWindows(?:.+)ARM\b/i,lu=/BlackBerry/i,hu=/BB10/i,uu=/Opera Mini/i,cu=/\b(CriOS|Chrome)(?:.+)Mobile/i,du=/Mobile(?:.+)Firefox\b/i,fu=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"};});var pu=g(()=>{Cn();Cn();});var Og,mu,gu=g(()=>{pu();Og=Xr.default??Xr,mu=Og(globalThis.navigator);});var Dg,gs,Ug,Ng,xu,_u,zg,Hg,Vg,Pn,bu,vu=g(()=>{ps();F();gu();sn();Dg=9,gs=100,Ug=0,Ng=0,xu=2,_u=1,zg=-1e3,Hg=-1e3,Vg=2,Pn=class yu{constructor(t,e=mu){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=`${_u}px`,t.style.height=`${_u}px`,t.style.position="absolute",t.style.top=`${zg}px`,t.style.left=`${Hg}px`,t.style.zIndex=Vg.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=`${gs}px`,this._div.style.height=`${gs}px`,this._div.style.position="absolute",this._div.style.top=`${Ug}px`,this._div.style.left=`${Ng}px`,this._div.style.zIndex=xu.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:{...yu.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))),uh[t]=true;}var uh,V,ch,dt=g(()=>{uh={},V="8.0.0",ch="8.3.4";});var Re,en=g(()=>{Re=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 rn,Y,Ot=g(()=>{en();rn=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 Re(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}},Y=new rn;});var dh,fh=g(()=>{dt();dh={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){D("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 sn=g(()=>{});var ph,mh=g(()=>{sn();dt();ph={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||D(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}};});var gh,xh=g(()=>{gh={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 Vr,_h=g(()=>{Vr=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 on,rs,yh=g(()=>{F();Ot();on=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 Y.get(r.maskClass,t)}return t}returnMaskEffect(t){Y.return(t);}},rs=new on;k.handleByList(w.MaskEffect,rs._effectClasses);});var bh,vh=g(()=>{_h();yh();bh={_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)));},setMask(i){this._maskOptions={...this._maskOptions,...i},i.mask&&(this.mask=i.mask),this._markStructureAsChanged();},get mask(){return this._maskEffect?.mask},set filters(i){!Array.isArray(i)&&i&&(i=[i]);let t=this._filterEffect||(this._filterEffect=new Vr);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 Vr),this._filterEffect.filterArea=i;},get filterArea(){return this._filterEffect?.filterArea}};});var Sh,Th=g(()=>{dt();Sh={label:null,get name(){return D(V,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){D(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,Q,It=g(()=>{zt();is=[new X,new X,new X,new X],Q=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,_=a+u,x=a+o-u,p=l+u,y=l+n-u;return t>=c&&t<=f&&e>=d&&e<=m&&!(t>_&&t<x&&e>p&&e<y)}intersects(t,e){if(!e){let P=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=P)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,_=f*s+d*o,x=f*r+d*n,p=f*s+d*n;if(Math.max(m,_,x,p)<=f*a.x+d*a.y||Math.min(m,_,x,p)>=f*u.x+d*u.y)return false;let y=c*(a.y-h.y),v=c*(h.x-a.x),b=y*r+v*o,C=y*s+v*o,S=y*r+v*n,T=y*s+v*n;return !(Math.max(b,C,S,T)<=y*a.x+v*a.y||Math.min(b,C,S,T)>=y*u.x+v*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}toString(){return `[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}};});var wh,ot,Ht=g(()=>{rt();It();wh=new R,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=wh,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 Q);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=wh,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,_=this.maxY,x=n*t+l*e+u,p=a*t+h*e+c;x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),x=n*r+l*e+u,p=a*r+h*e+c,x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),x=n*t+l*s+u,p=a*t+h*s+c,x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),x=n*r+l*s+u,p=a*r+h*s+c,x<f&&(f=x),p<d&&(d=p),x>m&&(m=x),p>_&&(_=p),this.minX=f,this.minY=d,this.maxX=m,this.maxY=_;}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 _=e;_<r;_+=2){let x=t[_],p=t[_+1],y=h*x+c*p+d,v=u*x+f*p+m;o=y<o?y:o,n=v<n?v:n,a=y>a?y:a,l=v>l?v: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 ht,Bt,Ie=g(()=>{rt();en();Ht();ht=new Re(R),Bt=new Re(ot);});var Ag,Ch,Ph=g(()=>{rt();Ht();Ie();Ag=new R,Ch={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=Bt.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(Ag).invert()),t.addBounds(r,this.relativeGroupTransform)),t.addBounds(r),Bt.return(r);}else this.renderGroup&&(t.addBounds(r,this.relativeGroupTransform),Bt.return(r));}};});function ss(i,t,e){e.clear();let r,s;return i.parent?t?r=i.parent.worldTransform:(s=ht.get().identity(),r=os(i,s)):r=R.IDENTITY,Mh(i,e,r,t),s&&ht.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=ht.get(),s.appendFrom(i.localTransform,e));let o=t,n=!!i.effects.length;if(n&&(t=Bt.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,R.IDENTITY),Bt.return(t);}r||ht.return(s);}function os(i,t){let e=i.parent;return e&&(os(e,t),e.updateLocalTransform(),t.append(e.localTransform)),t}var ns=g(()=>{rt();Ie();});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 nn=g(()=>{});function an(i,t){return i===Eh?t:t===Eh?i:as(i,t)}var Eh,Ah=g(()=>{nn();Eh=16777215;});function Wr(i){return ((i&255)<<16)+(i&65280)+(i>>16&255)}var Rh,Ih=g(()=>{ns();Ie();Ah();Rh={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,ht.get().identity());return i.appendFrom(this.localTransform,e),ht.return(e),i},getGlobalTint(i){if(i)return this.renderGroup?Wr(this.renderGroup.worldColor):this.parentRenderGroup?Wr(an(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let t=this.localColor,e=this.parent;for(;e;)t=an(t,e.localColor),e=e.parent;return Wr(t)}};});function z(...i){ln!==Bh&&(ln++,ln===Bh?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...i));}var ln,Bh,bt=g(()=>{ln=0,Bh=500;});function ls(i,t,e){return t.clear(),e||(e=R.IDENTITY),Lh(i,t,e,i,true),t.isValid||t.set(0,0,0,0),t}function Lh(i,t,e,r,s){let o;if(s)o=ht.get(),o=e.copyTo(o);else {if(!i.visible||!i.measurable)return;i.updateLocalTransform();let l=i.localTransform;o=ht.get(),o.appendFrom(l,e);}let n=t,a=!!i.effects.length;if(a&&(t=Bt.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++)Lh(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,R.IDENTITY),Bt.return(t);}ht.return(o);}var hn=g(()=>{rt();Ie();});function un(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&&un(s,t);}return t.didChange}var Fh=g(()=>{});var Rg,Gh,kh=g(()=>{rt();Ht();ns();hn();Fh();Rg=new R,Gh={_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),un(this,i),i.didChange&&ls(this,i.localBounds,Rg),i.localBounds},getBounds(i,t){return ss(this,i,t||new ot)}};});var Oh,Dh=g(()=>{Oh={_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 Ig(i,t){return i._zIndex-t._zIndex}var Uh,Nh=g(()=>{Uh={_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(Ig));}};});var zh,Hh=g(()=>{zt();Ie();zh={getGlobalPosition(i=new X,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(ht.get(),e);return t=r.apply(i,t),ht.return(r),t},toLocal(i,t,e,r){t&&(i=t.toGlobal(i,e,r));let s=this.getGlobalTransform(ht.get(),r);return e=s.applyInverse(i,e),ht.return(s),e}};});var Ke,cn=g(()=>{wt();Ke=class{constructor(){this.uid=j("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 ae(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 dn(i){return !(i&i-1)&&!!i}var Yr=g(()=>{});function hs(i){let t={};for(let e in i)i[e]!==void 0&&(t[e]=i[e]);return t}var fn=g(()=>{});function Bg(i){let t=Vh[i];return t===void 0&&(Vh[i]=j("resource")),t}var Vh,Wh,us,pn=g(()=>{Rt();wt();dt();Vh=Object.create(null);Wh=class Yh extends K{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=false,t={...Yh.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){D(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=Bg(t),this._resourceId}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners();}};Wh.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};us=Wh;});var $h,gt,pe=g(()=>{Rt();Yr();fn();wt();pn();$h=class Xh extends K{constructor(t={}){super(),this.options=t,this.uid=j("textureSource"),this._resourceType="textureSource",this._resourceId=j("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={...Xh.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 us(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=j("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=j("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=dn(this.pixelWidth)&&dn(this.pixelHeight);}static test(t){throw new Error("Unimplemented")}};$h.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:false,sampleCount:1,antialias:false,autoGarbageCollect:false};gt=$h;});function Lg(){for(let i=0;i<16;i++){let t=[];mn.push(t);for(let e=0;e<16;e++){let r=cs(Be[i]*Be[e]+Fe[i]*Le[e]),s=cs(Le[i]*Be[e]+Ge[i]*Le[e]),o=cs(Be[i]*Fe[e]+Fe[i]*Ge[e]),n=cs(Le[i]*Fe[e]+Ge[i]*Ge[e]);for(let a=0;a<16;a++)if(Be[a]===r&&Le[a]===s&&Fe[a]===o&&Ge[a]===n){t.push(a);break}}}for(let i=0;i<16;i++){let t=new R;t.set(Be[i],Le[i],Fe[i],Ge[i],0,0),jh.push(t);}}var Be,Le,Fe,Ge,mn,jh,cs,it,Kh=g(()=>{rt();Be=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Le=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Fe=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],Ge=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],mn=[],jh=[],cs=Math.sign;Lg();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=>Be[i],uY:i=>Le[i],vX:i=>Fe[i],vY:i=>Ge[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>mn[i][t],sub:(i,t)=>mn[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=jh[it.inv(t)];s.tx=e,s.ty=r,i.append(s);}};});var gn,qh=g(()=>{gn=()=>{};});var ke,xn=g(()=>{F();pe();ke=class extends gt{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}};ke.extension=w.TextureSource;});var Zh,ds,Qh=g(()=>{rt();Zh=new R,ds=class{constructor(t,e){this.mapCoord=new R,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 G,xt=g(()=>{Rt();Kh();It();wt();dt();qh();xn();pe();Qh();G=class extends K{constructor({source:t,label:e,frame:r,orig:s,trim:o,defaultAnchor:n,defaultBorders:a,rotate:l,dynamic:h}={}){if(super(),this.uid=j("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new Q,this.noFrame=false,this.dynamic=false,this.isTexture=true,this.label=e,this.source=t?.source??new gt,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 ds(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 D(V,"Texture.baseTexture is now Texture.source"),this._source}};G.EMPTY=new G({label:"EMPTY",source:new gt({label:"EMPTY"})});G.EMPTY.destroy=gn;G.WHITE=new G({source:new ke({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});G.WHITE.destroy=gn;});var Fg,_n,vt,qe=g(()=>{Yr();pe();xt();Fg=0,_n=class{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=false;}createTexture(t,e,r){let s=new gt({...this.textureOptions,width:t,height:e,resolution:1,antialias:r,autoGarbageCollect:false});return new G({source:s,label:`texturePool_${Fg++}`})}getOptimalTexture(t,e,r=1,s){let o=Math.ceil(t*r-1e-6),n=Math.ceil(e*r-1e-6);o=ae(o),n=ae(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){let e=this._poolKeyHash[t.uid];this._texturePool[e].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={};}},vt=new _n;});var fs,Jh=g(()=>{rt();cn();qe();fs=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=false,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new R,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 Ke,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&&(vt.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 R),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return (this._matrixDirty&2)===0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new R),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 R),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 tu(i,t,e={}){for(let r in t)!e[r]&&t[r]!==void 0&&(i[r]=t[r]);}var eu=g(()=>{});var yn,bn,vn,ru,Gg,Sn,Vt,$r=g(()=>{Rt();Mt();nh();F();rt();Zo();Jo();wt();dt();Ot();fh();mh();xh();vh();Th();Ph();Ih();kh();Dh();Nh();Hh();Jh();eu();yn=new Tt(null),bn=new Tt(null),vn=new Tt(null,1,1),ru=1,Gg=2,Sn=4,Vt=class i extends K{constructor(t={}){super(),this.uid=j("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 R,this.relativeGroupTransform=new R,this.groupTransform=this.relativeGroupTransform,this.destroyed=false,this._position=new Tt(this,0,0),this._scale=vn,this._pivot=bn,this._skew=yn,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=[],tu(this,t,{children:true,parent:true,effects:true}),t.children?.forEach(e=>this.addChild(e)),t.parent?.addChild(this);}static mixin(t){D("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),k.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||D(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=Y.get(fs,this),this.groupTransform=R.IDENTITY,t?.addChild(this),this._updateIsSimple();}disableRenderGroup(){if(!this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),Y.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 R),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*lh}set angle(t){this.rotation=t*hh;}get pivot(){return this._pivot===bn&&(this._pivot=new Tt(this,0,0)),this._pivot}set pivot(t){this._pivot===bn&&(this._pivot=new Tt(this,0,0)),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t);}get skew(){return this._skew===yn&&(this._skew=new Tt(this,0,0)),this._skew}set skew(t){this._skew===yn&&(this._skew=new Tt(this,0,0)),this._skew.copyFrom(t);}get scale(){return this._scale===vn&&(this._scale=new Tt(this,1,1)),this._scale}set scale(t){this._scale===vn&&(this._scale=new Tt(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|=ru,this._onUpdate());}get alpha(){return this.localAlpha}set tint(t){let r=$.shared.setValue(t??16777215).toBgrNumber();r!==this.localColor&&(this.localColor=r,this._updateFlags|=ru,this._onUpdate());}get tint(){return Wr(this.localColor)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=Gg,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|=Sn,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|=Sn,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|=Sn,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;}};k.mixin(Vt,ph,Ch,zh,Oh,Gh,bh,Sh,Uh,oh,dh,Rh,gh);});var me,ps=g(()=>{zt();me=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 X,this.page=new X,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 kg(i){return function(t){return t.test(i)}}function Xr(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=kg(e),o={apple:{phone:s(Tn)&&!s(le),ipod:s(iu),tablet:!s(Tn)&&(s(su)||fu(t))&&!s(le),universal:s(ou),device:(s(Tn)||s(iu)||s(su)||s(ou)||fu(t))&&!s(le)},amazon:{phone:s(Ze),tablet:!s(Ze)&&s(ms),device:s(Ze)||s(ms)},android:{phone:!s(le)&&s(Ze)||!s(le)&&s(wn),tablet:!s(le)&&!s(Ze)&&!s(wn)&&(s(ms)||s(nu)),device:!s(le)&&(s(Ze)||s(ms)||s(wn)||s(nu))||s(/\bokhttp\b/i)},windows:{phone:s(le),tablet:s(au),device:s(le)||s(au)},other:{blackberry:s(lu),blackberry10:s(hu),opera:s(uu),firefox:s(du),chrome:s(cu),device:s(lu)||s(hu)||s(uu)||s(du)||s(cu)},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 Tn,iu,su,ou,wn,nu,Ze,ms,le,au,lu,hu,uu,cu,du,fu,Cn=g(()=>{Tn=/iPhone/i,iu=/iPod/i,su=/iPad/i,ou=/\biOS-universal(?:.+)Mac\b/i,wn=/\bAndroid(?:.+)Mobile\b/i,nu=/Android/i,Ze=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,ms=/Silk/i,le=/Windows Phone/i,au=/\bWindows(?:.+)ARM\b/i,lu=/BlackBerry/i,hu=/BB10/i,uu=/Opera Mini/i,cu=/\b(CriOS|Chrome)(?:.+)Mobile/i,du=/Mobile(?:.+)Firefox\b/i,fu=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"};});var pu=g(()=>{Cn();Cn();});var Og,mu,gu=g(()=>{pu();Og=Xr.default??Xr,mu=Og(globalThis.navigator);});var Dg,gs,Ug,Ng,xu,_u,zg,Hg,Vg,Pn,bu,vu=g(()=>{ps();F();gu();sn();Dg=9,gs=100,Ug=0,Ng=0,xu=2,_u=1,zg=-1e3,Hg=-1e3,Vg=2,Pn=class yu{constructor(t,e=mu){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=`${_u}px`,t.style.height=`${_u}px`,t.style.position="absolute",t.style.top=`${zg}px`,t.style.left=`${Hg}px`,t.style.zIndex=Vg.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=`${gs}px`,this._div.style.height=`${gs}px`,this._div.style.position="absolute",this._div.style.top=`${Ug}px`,this._div.style.left=`${Ng}px`,this._div.style.zIndex=xu.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:{...yu.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))),uh[t]=true;}var uh,V,ch,dt=g(()=>{uh=
|
|
|
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=`${gs}px`,e.style.height=`${gs}px`,e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=xu.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 me(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!==Dg||!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:[w.WebGLSystem,w.WebGPUSystem],name:"accessibility"};Pn.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};bu=Pn;});var Su,Tu=g(()=>{Su={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:false,_accessibleDiv:null,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_renderId:-1};});var wu=g(()=>{F();$r();vu();Tu();G.add(bu);G.mixin(Vt,Su);});var jr,Cu=g(()=>{F();jr=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;}};jr.extension=w.Application;});var ge,xs=g(()=>{ge=(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))(ge||{});});var Qe,Pu=g(()=>{Qe=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 Mu,ft,Kr=g(()=>{xs();Pu();Mu=class Lt{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 Qe(null,null,1/0),this.deltaMS=1/Lt.targetFPMS,this.elapsedMS=1/Lt.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=ge.NORMAL){return this._addListener(new Qe(t,e,r))}addOnce(t,e,r=ge.NORMAL){return this._addListener(new Qe(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*Lt.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,Lt.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(!Lt._shared){let t=Lt._shared=new Lt;t.autoStart=true,t._protected=true;}return Lt._shared}static get system(){if(!Lt._system){let t=Lt._system=new Lt;t.autoStart=true,t._protected=true;}return Lt._system}};Mu.targetFPMS=.06;ft=Mu;});var qr,Eu=g(()=>{F();xs();Kr();qr=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,ge.LOW);},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop();},this.start=()=>{this._ticker.start();},this._ticker=null,this.ticker=t.sharedTicker?ft.shared:new ft,t.autoStart&&this.start();}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy();}}};qr.extension=w.Application;});var Mn=g(()=>{F();Cu();Eu();G.add(jr);G.add(qr);});var En,Kt,An=g(()=>{xs();Kr();En=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||(ft.system.add(this._tickerUpdate,this,ge.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(ft.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(new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY,pointerType:t.pointerType,pointerId:t.pointerId}));}_tickerUpdate(t){this._deltaTime+=t.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update());}},Kt=new En;});var he,_s=g(()=>{zt();ps();he=class extends me{constructor(){super(...arguments),this.client=new X,this.movement=new X,this.offset=new X,this.global=new X,this.screen=new X;}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,_){throw new Error("Method not implemented.")}};});var Ct,Rn=g(()=>{_s();Ct=class extends he{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 qt,In=g(()=>{_s();qt=class extends he{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};qt.DOM_DELTA_PIXEL=0;qt.DOM_DELTA_LINE=1;qt.DOM_DELTA_PAGE=2;});var Wg,Yg,Zr,ys,Au=g(()=>{Rt();zt();bt();An();_s();Rn();In();Wg=2048,Yg=new X,Zr=new X,ys=class{constructor(t){this.dispatch=new K,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,Yg.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<Wg&&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,Zr),!t.hitArea.contains(Zr.x,Zr.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,Zr),t.containsPoint(Zr)):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 Ct)){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 Ct)){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 Ct)){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 Ct)){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 Ct)){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 Ct)){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 qt)){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(Ct);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(qt);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(Ct);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 Ct&&e instanceof Ct&&(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 he&&e instanceof he&&(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 $g,Xg,Ln,bs,Fn=g(()=>{F();Au();An();Rn();In();$g=1,Xg={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Ln=class Bn{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new ys(null),Kt.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new Ct(null),this._rootWheelEvent=new qt(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...Bn.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,Bn._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=$g),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=Xg[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;}};Ln.extension={name:"events",type:[w.WebGLSystem,w.CanvasSystem,w.WebGPUSystem],priority:-1};Ln.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};bs=Ln;});var Ru,Iu=g(()=>{Fn();ps();Ru={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??bs.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 me))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=g(()=>{F();$r();Fn();Iu();G.add(bs);G.mixin(Vt,Ru);});var Qr,Lu=g(()=>{F();Qr=class{constructor(t){this._destroyRenderableBound=this.destroyRenderable.bind(this),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),t.on("destroyed",this._destroyRenderableBound));}updateRenderable(t){}validateRenderable(t){return true}destroyRenderable(t){let e=this._attachedDomElements.indexOf(t);e!==-1&&this._attachedDomElements.splice(e,1),t.off("destroyed",this._destroyRenderableBound);}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),this._domElement.style.transform=`translate(${e.offsetLeft}px, ${e.offsetTop}px)`;for(let r=0;r<t.length;r++){let s=t[r],o=s.element;if(!s.parent||s.globalDisplayStatus<7)o.remove(),t.splice(r,1),r--;else {this._domElement.contains(o)||(o.style.position="absolute",o.style.pointerEvents="auto",this._domElement.appendChild(o));let n=s.worldTransform,a=s._anchor,l=s.width*a.x,h=s.height*a.y;o.style.transformOrigin=`${l}px ${h}px`,o.style.transform=`matrix(${n.a}, ${n.b}, ${n.c}, ${n.d}, ${n.tx-l}, ${n.ty-h})`,o.style.opacity=s.groupAlpha.toString();}}}destroy(){this._renderer.runners.postrender.remove(this);for(let t=0;t<this._attachedDomElements.length;t++){let e=this._attachedDomElements[t];e.off("destroyed",this._destroyRenderableBound),e.element.remove();}this._attachedDomElements.length=0,this._domElement.remove(),this._renderer=null;}};Qr.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"dom"};});var Je,kn=g(()=>{Ht();$r();Je=class extends Vt{constructor(t){super(t),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,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;}collectRenderablesSimple(t,e,r){let{renderPipes:s,renderableGC:o}=e;s.blendMode.setBlendMode(this,this.groupBlendMode,t),s[this.renderPipeId].addRenderable(this,t),o.addRenderable(this),this.didViewUpdate=false;let a=this.children,l=a.length;for(let h=0;h<l;h++)a[h].collectRenderables(t,e,r);}};});var Fu=g(()=>{F();Lu();G.add(Qr);});var tr,Gn=g(()=>{tr=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(tr||{});});var ku,Gu=g(()=>{ku={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 Ou,nt,Wt=g(()=>{Gu();Ou=ku,nt={get(){return Ou},set(i){Ou=i;}};});function Yt(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function Jr(i){return i.split("?")[0].split("#")[0]}function jg(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Kg(i,t,e){return i.replace(new RegExp(jg(t),"g"),e)}function qg(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 Et,vs=g(()=>{Wt();Et={toPosix(i){return Kg(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){Yt(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(Yt(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;let r=Jr(this.toPosix(t??nt.get().getBaseUrl())),s=Jr(this.toPosix(e??this.rootname(r)));return i=this.toPosix(i),i.startsWith("/")?Et.join(s,i.slice(1)):this.isAbsolute(i)?i:this.join(r,i)},normalize(i){if(Yt(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=qg(i),i.length>0&&r&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return Yt(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(Yt(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(Yt(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){Yt(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){Yt(i),t&&Yt(t),i=Jr(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){Yt(i),i=Jr(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){Yt(i);let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=Jr(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 xe,On=g(()=>{xe=(i,t,e=false)=>(Array.isArray(i)||(i=[i]),t?i.map(r=>typeof r=="string"||e?t(r):r):i);});function Du(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?Du(i.replace(r[e],a),t,e+1,r,s):s.push(i.replace(r[e],a));}}function Uu(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);}),Du(i,s,0,e,r);}else r.push(i);return r}var Nu=g(()=>{});var Dn,zu=g(()=>{Dn=i=>!Array.isArray(i);});function Zg(i){return i.split(".").pop().split("?").shift().split("#").shift()}var ti,Hu=g(()=>{bt();vs();On();Nu();zu();ti=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 xe(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`);},xe(e).forEach(o=>{let{src:n}=o,{data:a,format:l,loadParser:h}=o,u=xe(n).map(d=>typeof d=="string"?Uu(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 _={};if(typeof m!="object"){_.src=m;for(let x=0;x<this._parsers.length;x++){let p=this._parsers[x];if(p.test(m)){_=p.parse(m);break}}}else a=m.data??a,l=m.format??l,h=m.loadParser??h,_={..._,...m};if(!c)throw new Error(`[Resolver] alias is undefined for this asset: ${_.src}`);_=this._buildResolvedAsset(_,{aliases:c,data:a,format:l,loadParser:h}),f.push(_);});}),c.forEach(d=>{this._assetMap[d]=f;});});}resolveBundle(t){let e=Dn(t);t=xe(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=Dn(t);t=xe(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=Et.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??Zg(t.src),t}};ti.RETINA_PREFIX=/@([0-9\.]+)x/;});var Un,Vu=g(()=>{Un=(i,t)=>{let e=t.split("?")[1];return e&&(i+=`?${e}`),i};});var Wu,Nn,Yu=g(()=>{It();xt();Wu=class ei{constructor(t,e){this.linkedSheets=[],this._texture=t instanceof k?t:null,this.textureSource=t.source,this.textures={},this.animations={},this.data=e;let r=parseFloat(e.meta.scale);r?(this.resolution=r,t.source.resolution=this.resolution):this.resolution=t.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<=ei.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch();})}_processFrames(t){let e=t,r=ei.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 Q(0,0,Math.floor(h.w)/this.resolution,Math.floor(h.h)/this.resolution);o.rotated?a=new Q(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 Q(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 Q(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 k({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*ei.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*ei.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=[];}};Wu.BATCH_SIZE=1e3;Nn=Wu;});function $u(i,t,e){let r={};if(i.forEach(s=>{r[s]=t;}),Object.keys(t.textures).forEach(s=>{r[s]=t.textures[s];}),!e){let s=Et.dirname(i[0]);t.linkedSheets.forEach((o,n)=>{let a=$u([`${s}/${t.data.meta.related_multi_packs[n]}`],o,true);Object.assign(r,a);});}return r}var Qg,Xu,ju=g(()=>{Gn();Hu();Vu();F();xt();vs();Yu();Qg=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];Xu={extension:w.Asset,cache:{test:i=>i instanceof Nn,getCacheableAssets:(i,t)=>$u(i,t,false)},resolver:{extension:{type:w.ResolveParser,name:"resolveSpritesheet"},test:i=>{let e=i.split("?")[0].split("."),r=e.pop(),s=e.pop();return r==="json"&&Qg.includes(s)},parse:i=>{let t=i.split(".");return {resolution:parseFloat(ti.RETINA_PREFIX.exec(i)?.[1]??"1"),format:t[t.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:w.LoadParser,priority:tr.Normal,name:"spritesheetLoader"},async testParse(i,t){return Et.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){let{texture:r,imageFilename:s,textureOptions:o}=t?.data??{},n=Et.dirname(t.src);n&&n.lastIndexOf("/")!==n.length-1&&(n+="/");let a;if(r instanceof k)a=r;else {let u=Un(n+(s??i.meta.image),t.src);a=(await e.load([{src:u,data:o}]))[u];}let l=new Nn(a.source,i);await l.parse();let h=i?.meta?.related_multi_packs;if(Array.isArray(h)){let u=[];for(let f of h){if(typeof f!="string")continue;let d=n+f;t.data?.ignoreMultiPack||(d=Un(d,t.src),u.push(e.load({src:d,data:{textureOptions:o,ignoreMultiPack:true}})));}let c=await Promise.all(u);l.linkedSheets=c,c.forEach(f=>{f.linkedSheets=[l].concat(l.linkedSheets.filter(d=>d!==f));});}return l},async unload(i,t,e){await e.unload(i.textureSource._sourceOrigin),i.destroy(false);}}};});var Ss=g(()=>{F();ju();G.add(Xu);});function Ts(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 zn=g(()=>{});var ri,Ku=g(()=>{Jo();xt();zn();dt();kn();ri=class i extends Je{constructor(t=k.EMPTY){t instanceof k&&(t={texture:t});let{texture:e=k.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 Tt({_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 k?new i(t):new i(k.from(t,e))}set texture(t){t||(t=k.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 Ts(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return O("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;}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 ws(i,t,e){let r=Jg;i.measurable=true,ss(i,e,r),t.addBoundsMask(r),i.measurable=false;}var Jg,Hn=g(()=>{Ht();ns();Jg=new ot;});function Cs(i,t,e){let r=Bt.get();i.measurable=true;let s=ht.get().identity(),o=qu(i,e,s);ls(i,r,o),i.measurable=false,t.addBoundsMask(r),ht.return(s),Bt.return(r);}function qu(i,t,e){return i?(i!==t&&(qu(i.parent,t,e),i.updateLocalTransform(),e.append(i.localTransform)),e):(z("Mask bounds, renderable is not inside the root container"),e)}var Vn=g(()=>{hn();Ie();bt();});var ii,Zu=g(()=>{F();Ku();Hn();Vn();ii=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 ri),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||ws(this.mask,t,e);}addLocalBounds(t,e){Cs(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof ri}};ii.extension=w.MaskEffect;});var si,Qu=g(()=>{F();si=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"}};si.extension=w.MaskEffect;});var oi,Ju=g(()=>{F();$r();Hn();Vn();oi=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){ws(this.mask,t,e);}addLocalBounds(t,e){Cs(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof Vt}};oi.extension=w.MaskEffect;});var er,tc=g(()=>{Wt();F();pe();er=class extends gt{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"))}};er.extension=w.TextureSource;});var Zt,Ps=g(()=>{Wt();F();bt();pe();Zt=class extends gt{constructor(t){if(t.resource&&globalThis.HTMLImageElement&&t.resource instanceof HTMLImageElement){let e=nt.get().createCanvas(t.resource.width,t.resource.height);e.getContext("2d").drawImage(t.resource,0,0,t.resource.width,t.resource.height),t.resource=e,z("ImageSource: Image element passed, converting to canvas. Use CanvasSource instead.");}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}};Zt.extension=w.TextureSource;});async function ec(){return Wn??(Wn=(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"})()),Wn}var Wn,rc=g(()=>{});var Ms,sc,oc=g(()=>{F();Kr();rc();pe();Ms=class ic extends gt{constructor(t){super(t),this.isReady=false,this.uploadMethodId="video",t={...ic.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=ft.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 ec(),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&&(ft.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||(ft.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(ft.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};Ms.extension=w.TextureSource;Ms.defaultOptions={...gt.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"};sc=Ms;});var Yn,ut,ni=g(()=>{bt();On();Yn=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=xe(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}},ut=new Yn;});function nc(i={}){let t=i&&i.resource,e=t?i.resource:i,r=t?i:{resource:i};for(let s=0;s<$n.length;s++){let o=$n[s];if(o.test(e))return new o(r)}throw new Error(`Could not find a source type for resource: ${r.resource}`)}function ac(i={},t=false){let e=i&&i.resource,r=e?i.resource:i,s=e?i:{resource:i};if(!t&&ut.has(r))return ut.get(r);let o=new k({source:nc(s)});return o.on("destroy",()=>{ut.has(r)&&ut.remove(r);}),t||ut.set(r,o),o}function lc(i,t=false){return typeof i=="string"?ut.get(i):i instanceof gt?new k({source:i}):ac(i,t)}var $n,Xn=g(()=>{ni();F();pe();xt();$n=[];G.handleByList(w.TextureSource,$n);k.from=lc;gt.from=nc;});var Es=g(()=>{F();Zu();Qu();Ju();xn();tc();Ps();oc();Xn();G.add(ii,si,oi,sc,Zt,er,Ge);});var Dt,ai=g(()=>{Dt=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 Rs(){return (!As||As?.isContextLost())&&(As=nt.get().createCanvas().getContext("webgl",{})),As}var As,jn=g(()=>{Wt();});function ex(i){let t="";for(let e=0;e<i;++e)e>0&&(t+=`
|
|
19
|
+
`,t.accessibleText&&(e.innerText=t.accessibleText)),e.style.width=`${gs}px`,e.style.height=`${gs}px`,e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=xu.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 me(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!==Dg||!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:[w.WebGLSystem,w.WebGPUSystem],name:"accessibility"};Pn.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};bu=Pn;});var Su,Tu=g(()=>{Su={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:false,_accessibleDiv:null,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_renderId:-1};});var wu=g(()=>{F();$r();vu();Tu();k.add(bu);k.mixin(Vt,Su);});var jr,Cu=g(()=>{F();jr=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;}};jr.extension=w.Application;});var ge,xs=g(()=>{ge=(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))(ge||{});});var Qe,Pu=g(()=>{Qe=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 Mu,ft,Kr=g(()=>{xs();Pu();Mu=class Lt{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 Qe(null,null,1/0),this.deltaMS=1/Lt.targetFPMS,this.elapsedMS=1/Lt.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=ge.NORMAL){return this._addListener(new Qe(t,e,r))}addOnce(t,e,r=ge.NORMAL){return this._addListener(new Qe(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*Lt.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,Lt.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(!Lt._shared){let t=Lt._shared=new Lt;t.autoStart=true,t._protected=true;}return Lt._shared}static get system(){if(!Lt._system){let t=Lt._system=new Lt;t.autoStart=true,t._protected=true;}return Lt._system}};Mu.targetFPMS=.06;ft=Mu;});var qr,Eu=g(()=>{F();xs();Kr();qr=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,ge.LOW);},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop();},this.start=()=>{this._ticker.start();},this._ticker=null,this.ticker=t.sharedTicker?ft.shared:new ft,t.autoStart&&this.start();}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy();}}};qr.extension=w.Application;});var Mn=g(()=>{F();Cu();Eu();k.add(jr);k.add(qr);});var En,Kt,An=g(()=>{xs();Kr();En=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||(ft.system.add(this._tickerUpdate,this,ge.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(ft.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(new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY,pointerType:t.pointerType,pointerId:t.pointerId}));}_tickerUpdate(t){this._deltaTime+=t.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update());}},Kt=new En;});var he,_s=g(()=>{zt();ps();he=class extends me{constructor(){super(...arguments),this.client=new X,this.movement=new X,this.offset=new X,this.global=new X,this.screen=new X;}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,_){throw new Error("Method not implemented.")}};});var Ct,Rn=g(()=>{_s();Ct=class extends he{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 qt,In=g(()=>{_s();qt=class extends he{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};qt.DOM_DELTA_PIXEL=0;qt.DOM_DELTA_LINE=1;qt.DOM_DELTA_PAGE=2;});var Wg,Yg,Zr,ys,Au=g(()=>{Rt();zt();bt();An();_s();Rn();In();Wg=2048,Yg=new X,Zr=new X,ys=class{constructor(t){this.dispatch=new K,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,Yg.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<Wg&&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,Zr),!t.hitArea.contains(Zr.x,Zr.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,Zr),t.containsPoint(Zr)):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 Ct)){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 Ct)){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 Ct)){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 Ct)){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 Ct)){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 Ct)){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 qt)){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(Ct);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(qt);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(Ct);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 Ct&&e instanceof Ct&&(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 he&&e instanceof he&&(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 $g,Xg,Ln,bs,Fn=g(()=>{F();Au();An();Rn();In();$g=1,Xg={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Ln=class Bn{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new ys(null),Kt.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new Ct(null),this._rootWheelEvent=new qt(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...Bn.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,Bn._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=$g),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=Xg[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;}};Ln.extension={name:"events",type:[w.WebGLSystem,w.CanvasSystem,w.WebGPUSystem],priority:-1};Ln.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};bs=Ln;});var Ru,Iu=g(()=>{Fn();ps();Ru={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??bs.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 me))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=g(()=>{F();$r();Fn();Iu();k.add(bs);k.mixin(Vt,Ru);});var Qr,Lu=g(()=>{F();Qr=class{constructor(t){this._destroyRenderableBound=this.destroyRenderable.bind(this),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),t.on("destroyed",this._destroyRenderableBound));}updateRenderable(t){}validateRenderable(t){return true}destroyRenderable(t){let e=this._attachedDomElements.indexOf(t);e!==-1&&this._attachedDomElements.splice(e,1),t.off("destroyed",this._destroyRenderableBound);}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),this._domElement.style.transform=`translate(${e.offsetLeft}px, ${e.offsetTop}px)`;for(let r=0;r<t.length;r++){let s=t[r],o=s.element;if(!s.parent||s.globalDisplayStatus<7)o.remove(),t.splice(r,1),r--;else {this._domElement.contains(o)||(o.style.position="absolute",o.style.pointerEvents="auto",this._domElement.appendChild(o));let n=s.worldTransform,a=s._anchor,l=s.width*a.x,h=s.height*a.y;o.style.transformOrigin=`${l}px ${h}px`,o.style.transform=`matrix(${n.a}, ${n.b}, ${n.c}, ${n.d}, ${n.tx-l}, ${n.ty-h})`,o.style.opacity=s.groupAlpha.toString();}}}destroy(){this._renderer.runners.postrender.remove(this);for(let t=0;t<this._attachedDomElements.length;t++){let e=this._attachedDomElements[t];e.off("destroyed",this._destroyRenderableBound),e.element.remove();}this._attachedDomElements.length=0,this._domElement.remove(),this._renderer=null;}};Qr.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"dom"};});var Je,Gn=g(()=>{Ht();$r();Je=class extends Vt{constructor(t){super(t),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,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;}collectRenderablesSimple(t,e,r){let{renderPipes:s,renderableGC:o}=e;s.blendMode.setBlendMode(this,this.groupBlendMode,t),s[this.renderPipeId].addRenderable(this,t),o.addRenderable(this),this.didViewUpdate=false;let a=this.children,l=a.length;for(let h=0;h<l;h++)a[h].collectRenderables(t,e,r);}};});var Fu=g(()=>{F();Lu();k.add(Qr);});var tr,kn=g(()=>{tr=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(tr||{});});var Gu,ku=g(()=>{Gu={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 Ou,nt,Wt=g(()=>{ku();Ou=Gu,nt={get(){return Ou},set(i){Ou=i;}};});function Yt(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function Jr(i){return i.split("?")[0].split("#")[0]}function jg(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Kg(i,t,e){return i.replace(new RegExp(jg(t),"g"),e)}function qg(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 Et,vs=g(()=>{Wt();Et={toPosix(i){return Kg(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){Yt(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(Yt(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;let r=Jr(this.toPosix(t??nt.get().getBaseUrl())),s=Jr(this.toPosix(e??this.rootname(r)));return i=this.toPosix(i),i.startsWith("/")?Et.join(s,i.slice(1)):this.isAbsolute(i)?i:this.join(r,i)},normalize(i){if(Yt(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=qg(i),i.length>0&&r&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return Yt(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(Yt(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(Yt(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){Yt(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){Yt(i),t&&Yt(t),i=Jr(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){Yt(i),i=Jr(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){Yt(i);let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=Jr(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 xe,On=g(()=>{xe=(i,t,e=false)=>(Array.isArray(i)||(i=[i]),t?i.map(r=>typeof r=="string"||e?t(r):r):i);});function Du(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?Du(i.replace(r[e],a),t,e+1,r,s):s.push(i.replace(r[e],a));}}function Uu(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);}),Du(i,s,0,e,r);}else r.push(i);return r}var Nu=g(()=>{});var Dn,zu=g(()=>{Dn=i=>!Array.isArray(i);});function Zg(i){return i.split(".").pop().split("?").shift().split("#").shift()}var ti,Hu=g(()=>{bt();vs();On();Nu();zu();ti=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 xe(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`);},xe(e).forEach(o=>{let{src:n}=o,{data:a,format:l,loadParser:h}=o,u=xe(n).map(d=>typeof d=="string"?Uu(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 _={};if(typeof m!="object"){_.src=m;for(let x=0;x<this._parsers.length;x++){let p=this._parsers[x];if(p.test(m)){_=p.parse(m);break}}}else a=m.data??a,l=m.format??l,h=m.loadParser??h,_={..._,...m};if(!c)throw new Error(`[Resolver] alias is undefined for this asset: ${_.src}`);_=this._buildResolvedAsset(_,{aliases:c,data:a,format:l,loadParser:h}),f.push(_);});}),c.forEach(d=>{this._assetMap[d]=f;});});}resolveBundle(t){let e=Dn(t);t=xe(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=Dn(t);t=xe(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=Et.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??Zg(t.src),t}};ti.RETINA_PREFIX=/@([0-9\.]+)x/;});var Un,Vu=g(()=>{Un=(i,t)=>{let e=t.split("?")[1];return e&&(i+=`?${e}`),i};});var Wu,Nn,Yu=g(()=>{It();xt();Wu=class ei{constructor(t,e){this.linkedSheets=[],this._texture=t instanceof G?t:null,this.textureSource=t.source,this.textures={},this.animations={},this.data=e;let r=parseFloat(e.meta.scale);r?(this.resolution=r,t.source.resolution=this.resolution):this.resolution=t.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<=ei.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch();})}_processFrames(t){let e=t,r=ei.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 Q(0,0,Math.floor(h.w)/this.resolution,Math.floor(h.h)/this.resolution);o.rotated?a=new Q(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 Q(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 Q(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 G({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*ei.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*ei.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=[];}};Wu.BATCH_SIZE=1e3;Nn=Wu;});function $u(i,t,e){let r={};if(i.forEach(s=>{r[s]=t;}),Object.keys(t.textures).forEach(s=>{r[s]=t.textures[s];}),!e){let s=Et.dirname(i[0]);t.linkedSheets.forEach((o,n)=>{let a=$u([`${s}/${t.data.meta.related_multi_packs[n]}`],o,true);Object.assign(r,a);});}return r}var Qg,Xu,ju=g(()=>{kn();Hu();Vu();F();xt();vs();Yu();Qg=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];Xu={extension:w.Asset,cache:{test:i=>i instanceof Nn,getCacheableAssets:(i,t)=>$u(i,t,false)},resolver:{extension:{type:w.ResolveParser,name:"resolveSpritesheet"},test:i=>{let e=i.split("?")[0].split("."),r=e.pop(),s=e.pop();return r==="json"&&Qg.includes(s)},parse:i=>{let t=i.split(".");return {resolution:parseFloat(ti.RETINA_PREFIX.exec(i)?.[1]??"1"),format:t[t.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:w.LoadParser,priority:tr.Normal,name:"spritesheetLoader"},async testParse(i,t){return Et.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){let{texture:r,imageFilename:s,textureOptions:o}=t?.data??{},n=Et.dirname(t.src);n&&n.lastIndexOf("/")!==n.length-1&&(n+="/");let a;if(r instanceof G)a=r;else {let u=Un(n+(s??i.meta.image),t.src);a=(await e.load([{src:u,data:o}]))[u];}let l=new Nn(a.source,i);await l.parse();let h=i?.meta?.related_multi_packs;if(Array.isArray(h)){let u=[];for(let f of h){if(typeof f!="string")continue;let d=n+f;t.data?.ignoreMultiPack||(d=Un(d,t.src),u.push(e.load({src:d,data:{textureOptions:o,ignoreMultiPack:true}})));}let c=await Promise.all(u);l.linkedSheets=c,c.forEach(f=>{f.linkedSheets=[l].concat(l.linkedSheets.filter(d=>d!==f));});}return l},async unload(i,t,e){await e.unload(i.textureSource._sourceOrigin),i.destroy(false);}}};});var Ss=g(()=>{F();ju();k.add(Xu);});function Ts(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 zn=g(()=>{});var ri,Ku=g(()=>{Jo();xt();zn();dt();Gn();ri=class i extends Je{constructor(t=G.EMPTY){t instanceof G&&(t={texture:t});let{texture:e=G.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 Tt({_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 G?new i(t):new i(G.from(t,e))}set texture(t){t||(t=G.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 Ts(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return D("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;}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 ws(i,t,e){let r=Jg;i.measurable=true,ss(i,e,r),t.addBoundsMask(r),i.measurable=false;}var Jg,Hn=g(()=>{Ht();ns();Jg=new ot;});function Cs(i,t,e){let r=Bt.get();i.measurable=true;let s=ht.get().identity(),o=qu(i,e,s);ls(i,r,o),i.measurable=false,t.addBoundsMask(r),ht.return(s),Bt.return(r);}function qu(i,t,e){return i?(i!==t&&(qu(i.parent,t,e),i.updateLocalTransform(),e.append(i.localTransform)),e):(z("Mask bounds, renderable is not inside the root container"),e)}var Vn=g(()=>{hn();Ie();bt();});var ii,Zu=g(()=>{F();Ku();Hn();Vn();ii=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 ri),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||ws(this.mask,t,e);}addLocalBounds(t,e){Cs(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof ri}};ii.extension=w.MaskEffect;});var si,Qu=g(()=>{F();si=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"}};si.extension=w.MaskEffect;});var oi,Ju=g(()=>{F();$r();Hn();Vn();oi=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){ws(this.mask,t,e);}addLocalBounds(t,e){Cs(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof Vt}};oi.extension=w.MaskEffect;});var er,tc=g(()=>{Wt();F();pe();er=class extends gt{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"))}};er.extension=w.TextureSource;});var Zt,Ps=g(()=>{Wt();F();bt();pe();Zt=class extends gt{constructor(t){if(t.resource&&globalThis.HTMLImageElement&&t.resource instanceof HTMLImageElement){let e=nt.get().createCanvas(t.resource.width,t.resource.height);e.getContext("2d").drawImage(t.resource,0,0,t.resource.width,t.resource.height),t.resource=e,z("ImageSource: Image element passed, converting to canvas. Use CanvasSource instead.");}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}};Zt.extension=w.TextureSource;});async function ec(){return Wn??(Wn=(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"})()),Wn}var Wn,rc=g(()=>{});var Ms,sc,oc=g(()=>{F();Kr();rc();pe();Ms=class ic extends gt{constructor(t){super(t),this.isReady=false,this.uploadMethodId="video",t={...ic.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=ft.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 ec(),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&&(ft.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||(ft.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(ft.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};Ms.extension=w.TextureSource;Ms.defaultOptions={...gt.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"};sc=Ms;});var Yn,ut,ni=g(()=>{bt();On();Yn=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=xe(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}},ut=new Yn;});function nc(i={}){let t=i&&i.resource,e=t?i.resource:i,r=t?i:{resource:i};for(let s=0;s<$n.length;s++){let o=$n[s];if(o.test(e))return new o(r)}throw new Error(`Could not find a source type for resource: ${r.resource}`)}function ac(i={},t=false){let e=i&&i.resource,r=e?i.resource:i,s=e?i:{resource:i};if(!t&&ut.has(r))return ut.get(r);let o=new G({source:nc(s)});return o.on("destroy",()=>{ut.has(r)&&ut.remove(r);}),t||ut.set(r,o),o}function lc(i,t=false){return typeof i=="string"?ut.get(i):i instanceof gt?new G({source:i}):ac(i,t)}var $n,Xn=g(()=>{ni();F();pe();xt();$n=[];k.handleByList(w.TextureSource,$n);G.from=lc;gt.from=nc;});var Es=g(()=>{F();Zu();Qu();Ju();xn();tc();Ps();oc();Xn();k.add(ii,si,oi,sc,Zt,er,ke);});var Dt,ai=g(()=>{Dt=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 Rs(){return (!As||As?.isContextLost())&&(As=nt.get().createCanvas().getContext("webgl",{})),As}var As,jn=g(()=>{Wt();});function ex(i){let t="";for(let e=0;e<i;++e)e>0&&(t+=`
|
|
20
20
|
else `),e<i-1&&(t+=`if(test == ${e}.0){}`);return t}function hc(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=tx.replace(/%forloop%/gi,ex(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 tx,uc=g(()=>{tx=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
|
|
21
|
-
`);});function ir(){if(rr)return rr;let i=Rs();return rr=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),rr=hc(rr,i),i.getExtension("WEBGL_lose_context")?.loseContext(),rr}var rr,Is=g(()=>{jn();uc();rr=null;});function dc(i,t){let e=2166136261;for(let r=0;r<t;r++)e^=i[r].uid,e=Math.imul(e,16777619),e>>>=0;return cc[e]||rx(i,t,e)}function rx(i,t,e){let r={},s=0;Kn||(Kn=ir());for(let n=0;n<Kn;n++){let a=n<t?i[n]:k.EMPTY.source;r[s++]=a.source,r[s++]=a.style;}let o=new Dt(r);return cc[e]=o,o}var cc,Kn,fc=g(()=>{ai();xt();Is();cc={};Kn=0;});var Qt,qn=g(()=>{Qt=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 Zn(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 pc=g(()=>{});var mc,gc=g(()=>{mc={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};});function ue(i,t){return t.alphaMode==="no-premultiply-alpha"&&mc[i]||i}var li=g(()=>{gc();});var Bs,xc=g(()=>{Bs=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 _c(){return Jn>0?bc[--Jn]:new Qn}function yc(i){bc[Jn++]=i;}var Qn,bc,Jn,hi,vc,Sc,Tc=g(()=>{wt();qn();pc();li();Is();xc();Qn=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Bs,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},bc=[],Jn=0;hi=0,vc=class Ls{constructor(t={}){this.uid=j("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],Ls.defaultOptions.maxTextures=Ls.defaultOptions.maxTextures??ir(),t={...Ls.defaultOptions,...t};let{maxTextures:e,attributesInitialSize:r,indicesInitialSize:s}=t;this.attributeBuffer=new Qt(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++)yc(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=_c(),s=r.textures;s.clear();let o=e[this.elementStart],n=ue(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 _=this.elementStart;_<this.elementSize;++_){let x=e[_];e[_]=null;let y=x.texture._source,v=ue(x.blendMode,y),b=n!==v||a!==x.topology;if(y._batchTick===hi&&!b){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=hi,(s.count>=m||b)&&(this._finishBatch(r,f,c-f,s,n,a,t,d),d="renderBatch",f=c,n=v,a=x.topology,r=_c(),s=r.textures,s.clear(),++hi),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,++hi),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,++hi,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 Qt(e);Zn(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 Zn(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++)yc(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;}};vc.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};Sc=vc;});var tt,sr=g(()=>{tt=(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))(tt||{});});var _t,or=g(()=>{Rt();wt();sr();_t=class extends K{constructor(t){let{data:e,size:r}=t,{usage:s,label:o,shrinkToFit:n}=t;super(),this.uid=j("buffer"),this._resourceType="buffer",this._resourceId=j("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&tt.STATIC)}set static(t){t?this.descriptor.usage|=tt.STATIC:this.descriptor.usage&=~tt.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=j("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 ta(i,t){if(!(i instanceof _t)){let e=t?tt.INDEX:tt.VERTEX;i instanceof Array&&(t?(i=new Uint32Array(i),e=tt.INDEX|tt.COPY_DST):(i=new Float32Array(i),e=tt.VERTEX|tt.COPY_DST)),i=new _t({data:i,label:t?"index-mesh-buffer":"vertex-mesh-buffer",usage:e});}return i}var wc=g(()=>{or();sr();});function Cc(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 Pc=g(()=>{});function ix(i){return (i instanceof _t||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=ta(i.buffer,false),i}var Jt,ui=g(()=>{Rt();Ht();wt();or();wc();Pc();Jt=class extends K{constructor(t={}){super(),this.uid=j("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=ix(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=ta(t,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,Cc(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 sx,ox,Fs,Mc=g(()=>{or();sr();ui();sx=new Float32Array(1),ox=new Uint32Array(1),Fs=class extends Jt{constructor(){let e=new _t({data:sx,label:"attribute-batch-buffer",usage:tt.VERTEX|tt.COPY_DST,shrinkToFit:false}),r=new _t({data:ox,label:"index-batch-buffer",usage:tt.INDEX|tt.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 nr(i,t){let e=Ec[i];return e===void 0&&(ea[t]===void 0&&(ea[t]=1),Ec[i]=e=ea[t]++),e}var ea,Ec,ks=g(()=>{ea=Object.create(null),Ec=Object.create(null);});function Ac(){if(!Gs){Gs="mediump";let i=Rs();i&&i.getShaderPrecisionFormat&&(Gs=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump");}return Gs}var Gs,Rc=g(()=>{jn();});function Ic(i,t,e){return t?i:e?(i=i.replace("out vec4 finalColor;",""),`
|
|
21
|
+
`);});function ir(){if(rr)return rr;let i=Rs();return rr=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),rr=hc(rr,i),i.getExtension("WEBGL_lose_context")?.loseContext(),rr}var rr,Is=g(()=>{jn();uc();rr=null;});function dc(i,t){let e=2166136261;for(let r=0;r<t;r++)e^=i[r].uid,e=Math.imul(e,16777619),e>>>=0;return cc[e]||rx(i,t,e)}function rx(i,t,e){let r={},s=0;Kn||(Kn=ir());for(let n=0;n<Kn;n++){let a=n<t?i[n]:G.EMPTY.source;r[s++]=a.source,r[s++]=a.style;}let o=new Dt(r);return cc[e]=o,o}var cc,Kn,fc=g(()=>{ai();xt();Is();cc={};Kn=0;});var Qt,qn=g(()=>{Qt=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 Zn(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 pc=g(()=>{});var mc,gc=g(()=>{mc={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};});function ue(i,t){return t.alphaMode==="no-premultiply-alpha"&&mc[i]||i}var li=g(()=>{gc();});var Bs,xc=g(()=>{Bs=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 _c(){return Jn>0?bc[--Jn]:new Qn}function yc(i){bc[Jn++]=i;}var Qn,bc,Jn,hi,vc,Sc,Tc=g(()=>{wt();qn();pc();li();Is();xc();Qn=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Bs,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},bc=[],Jn=0;hi=0,vc=class Ls{constructor(t={}){this.uid=j("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],Ls.defaultOptions.maxTextures=Ls.defaultOptions.maxTextures??ir(),t={...Ls.defaultOptions,...t};let{maxTextures:e,attributesInitialSize:r,indicesInitialSize:s}=t;this.attributeBuffer=new Qt(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++)yc(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=_c(),s=r.textures;s.clear();let o=e[this.elementStart],n=ue(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 _=this.elementStart;_<this.elementSize;++_){let x=e[_];e[_]=null;let y=x.texture._source,v=ue(x.blendMode,y),b=n!==v||a!==x.topology;if(y._batchTick===hi&&!b){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=hi,(s.count>=m||b)&&(this._finishBatch(r,f,c-f,s,n,a,t,d),d="renderBatch",f=c,n=v,a=x.topology,r=_c(),s=r.textures,s.clear(),++hi),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,++hi),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,++hi,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 Qt(e);Zn(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 Zn(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++)yc(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;}};vc.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};Sc=vc;});var tt,sr=g(()=>{tt=(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))(tt||{});});var _t,or=g(()=>{Rt();wt();sr();_t=class extends K{constructor(t){let{data:e,size:r}=t,{usage:s,label:o,shrinkToFit:n}=t;super(),this.uid=j("buffer"),this._resourceType="buffer",this._resourceId=j("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&tt.STATIC)}set static(t){t?this.descriptor.usage|=tt.STATIC:this.descriptor.usage&=~tt.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=j("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 ta(i,t){if(!(i instanceof _t)){let e=t?tt.INDEX:tt.VERTEX;i instanceof Array&&(t?(i=new Uint32Array(i),e=tt.INDEX|tt.COPY_DST):(i=new Float32Array(i),e=tt.VERTEX|tt.COPY_DST)),i=new _t({data:i,label:t?"index-mesh-buffer":"vertex-mesh-buffer",usage:e});}return i}var wc=g(()=>{or();sr();});function Cc(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 Pc=g(()=>{});function ix(i){return (i instanceof _t||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=ta(i.buffer,false),i}var Jt,ui=g(()=>{Rt();Ht();wt();or();wc();Pc();Jt=class extends K{constructor(t={}){super(),this.uid=j("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=ix(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=ta(t,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,Cc(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 sx,ox,Fs,Mc=g(()=>{or();sr();ui();sx=new Float32Array(1),ox=new Uint32Array(1),Fs=class extends Jt{constructor(){let e=new _t({data:sx,label:"attribute-batch-buffer",usage:tt.VERTEX|tt.COPY_DST,shrinkToFit:false}),r=new _t({data:ox,label:"index-batch-buffer",usage:tt.INDEX|tt.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 nr(i,t){let e=Ec[i];return e===void 0&&(ea[t]===void 0&&(ea[t]=1),Ec[i]=e=ea[t]++),e}var ea,Ec,Gs=g(()=>{ea=Object.create(null),Ec=Object.create(null);});function Ac(){if(!ks){ks="mediump";let i=Rs();i&&i.getShaderPrecisionFormat&&(ks=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump");}return ks}var ks,Rc=g(()=>{jn();});function Ic(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
|
|
@@ -34,9 +34,9 @@ else `),e<i-1&&(t+=`if(test == ${e}.0){}`);return t}function hc(i,t){if(i===0)th
|
|
|
34
34
|
#endif
|
|
35
35
|
${i}
|
|
36
36
|
`}var Bc=g(()=>{});function Lc(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 Fc=g(()=>{});function
|
|
38
|
-
${i}`:i}var
|
|
39
|
-
${i}`}var nx,ax,Dc=g(()=>{nx={},ax={};});function Uc(i,t){return t?i.replace("#version 300 es",""):i}var Nc=g(()=>{});var ra,ia,zc,ar,Os=g(()=>{
|
|
37
|
+
${i}`}else if(r!=="highp"&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}var Fc=g(()=>{});function Gc(i,t){return t?`#version 300 es
|
|
38
|
+
${i}`:i}var kc=g(()=>{});function Oc(i,{name:t="pixi-program"},e=true){t=t.replace(/\s+/g,"-"),t+=e?"-fragment":"-vertex";let r=e?nx:ax;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 nx,ax,Dc=g(()=>{nx={},ax={};});function Uc(i,t){return t?i.replace("#version 300 es",""):i}var Nc=g(()=>{});var ra,ia,zc,ar,Os=g(()=>{Gs();Rc();Bc();Fc();kc();Dc();Nc();ra={stripVersion:Uc,ensurePrecision:Lc,addProgramDefines:Ic,setProgramName:Oc,insertVersion:Gc},ia=Object.create(null),zc=class sa{constructor(t){t={...sa.defaultOptions,...t};let e=t.fragment.indexOf("#version 300 es")!==-1,r={stripVersion:e,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:Ac()},setProgramName:{name:t.name},addProgramDefines:e,insertVersion:e},s=t.fragment,o=t.vertex;Object.keys(ra).forEach(n=>{let a=r[n];s=ra[n](s,a,true),o=ra[n](o,a,false);}),this.fragment=s,this.vertex=o,this.transformFeedbackVaryings=t.transformFeedbackVaryings,this._key=nr(`${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 ia[e]||(ia[e]=new sa(t)),ia[e]}};zc.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};ar=zc;});function Oe(i){return Hc[i]??Hc.float32}var Hc,Ds=g(()=>{Hc={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 Vc({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=lx[a[3]]??"float32";e[a[2]]={location:parseInt(a[1],10),format:l,stride:Oe(l).stride,offset:0,instance:false,start:0};}}}return e}var lx,Wc=g(()=>{Ds();lx={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((m,_)=>{let[x,p]=_.split(":");return m[x.trim()]=p.trim(),m},{});return d?{name:f,members:d}:null}).filter(({name:c})=>h.some(f=>f.type===c))??[];return {groups:h,structs:u}}var Yc=g(()=>{});var lr,$c=g(()=>{lr=(i=>(i[i.VERTEX=1]="VERTEX",i[i.FRAGMENT=2]="FRAGMENT",i[i.COMPUTE=4]="COMPUTE",i))(lr||{});});function Xc({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:lr.VERTEX|lr.FRAGMENT,buffer:{type:"uniform"}}):r.type==="sampler"?t[r.group].push({binding:r.binding,visibility:lr.FRAGMENT,sampler:{type:"filtering"}}):r.type==="texture_2d"&&t[r.group].push({binding:r.binding,visibility:lr.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:false}});}return t}var jc=g(()=>{$c();});function Kc({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 qc=g(()=>{});function Zc(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 Qc=g(()=>{});var oa,_e,Ns=g(()=>{Gs();Wc();Yc();jc();qc();Qc();oa=Object.create(null),_e=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=Zc(a,l);}this.layout=s??Kc(this.structsAndGroups),this.gpuLayout=o??Xc(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=nr(r,"program");}get attributeData(){return this._attributeData??(this._attributeData=Vc(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 oa[e]||(oa[e]=new i(t)),oa[e]}};});function na(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 Jc=g(()=>{bt();});function aa(i){let t={};return (i.match(hx)?.map(r=>r.replace(/[{()}]/g,""))??[]).forEach(r=>{t[r]=[];}),t}var hx,td=g(()=>{hx=/\{\{(.*?)\}\}/g;});function ed(i,t){let e,r=/@in\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function la(i,t,e=false){let r=[];ed(t,r),i.forEach(a=>{a.header&&ed(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
42
|
`),n}var rd=g(()=>{});function id(i,t){let e,r=/@out\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function ux(i){let e=/\b(\w+)\s*:/g.exec(i);return e?e[1]:""}function cx(i){let t=/@.*?\s+/g;return i.replace(t,"")}function sd(i,t){let e=[];id(t,e),i.forEach(l=>{l.header&&id(l.header,e);});let r=0,s=e.sort().map(l=>l.indexOf("builtin")>-1?l:`@location(${r++}) ${l}`).join(`,
|
|
@@ -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 ma,bd,vd=g(()=>{ma=["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>"],bd=ma.reduce((i,t)=>(i[t]=true,i),{});});function Sd(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 Td=g(()=>{});var wd,Pt,be=g(()=>{wt();ks();vd();Td();wd=class Cd{constructor(t,e){this._touched=0,this.uid=j("uniform"),this._resourceType="uniformGroup",this._resourceId=j("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,e={...Cd.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,!bd[o.type])throw new Error(`Uniform type ${o.type} is not supported. Supported uniform types are: ${ma.join(", ")}`);o.value??(o.value=Sd(o.type,o.size)),r[s]=o.value;}this.uniforms=r,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=nr(Object.keys(r).map(s=>`${s}-${t[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};wd.defaultOptions={ubo:false,isStatic:false};Pt=wd;});function Xs(i){let t=Pd[i];if(t)return t;let e=new Int32Array(i);for(let r=0;r<i;r++)e[r]=r;return t=Pd[i]=new Pt({uTextures:{value:e,type:"i32",size:i}},{isStatic:true}),t}var Pd,ga=g(()=>{be();Pd={};});var te,ci=g(()=>{te=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(te||{});});var ee,di=g(()=>{Rt();wt();Os();ai();Ns();ci();be();ee=class i extends K{constructor(t){super(),this.uid=j("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|=te.WEBGPU),r&&(n|=te.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 Dt,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 Pt(f));let d=l[c];d&&(s[d.group]||(s[d.group]=new Dt,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 Dt,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=_e.from(e)),r&&(n=ar.from(r)),new i({gpuProgram:o,glProgram:n,...s})}};});var js,Md=g(()=>{zs();ca();pa();$s();ga();di();js=class extends ee{constructor(t){let e=ur({name:"batch",bits:[Vs,Ys(t),dr]}),r=hr({name:"batch",bits:[Hs,Ws(t),cr]});super({glProgram:e,gpuProgram:r,resources:{batchSamplers:Xs(t)}});}};});var Ed,Ad,Id,Bd=g(()=>{F();Tc();Mc();Md();Ed=null,Ad=class Rd extends Sc{constructor(){super(...arguments),this.geometry=new Fs,this.shader=Ed||(Ed=new js(this.maxTextures)),this.name=Rd.extension.name,this.vertexSize=6;}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:_}=t,x=t.color,p=t.attributeOffset,y=p+t.attributeSize;for(let v=p;v<y;v++){let b=v*2,C=m[b],S=m[b+1];e[s++]=l*C+u*S+f,e[s++]=c*S+h*C+d,e[s++]=_[b],e[s++]=_[b+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,_=m.maxX,x=m.minX,p=m.maxY,y=m.minY,v=n.uvs,b=t.color,C=o<<16|t.roundPixels&65535;e[s+0]=l*x+u*y+f,e[s+1]=c*y+h*x+d,e[s+2]=v.x0,e[s+3]=v.y0,r[s+4]=b,r[s+5]=C,e[s+6]=l*_+u*y+f,e[s+7]=c*y+h*_+d,e[s+8]=v.x1,e[s+9]=v.y1,r[s+10]=b,r[s+11]=C,e[s+12]=l*_+u*p+f,e[s+13]=c*p+h*_+d,e[s+14]=v.x2,e[s+15]=v.y2,r[s+16]=b,r[s+17]=C,e[s+18]=l*x+u*p+f,e[s+19]=c*p+h*x+d,e[s+20]=v.x3,e[s+21]=v.y3,r[s+22]=b,r[s+23]=C;}};Ad.extension={type:[w.Batcher],name:"default"};Id=Ad;});function Ld(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 _=i[e],x=i[e+1];r[s]=h*_+c*x+d,r[s+1]=u*_+f*x+m,s+=o,e+=t,l++;}}function Fd(i,t,e,r){let s=0;for(t*=e;s<r;)i[t]=0,i[t+1]=0,t+=e,s++;}var kd=g(()=>{});function xa(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 Gd=g(()=>{});var xx,De,_a=g(()=>{rt();nn();xx=new R,De=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.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||xx}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 fr,Od,Dd,Ud=g(()=>{F();fr={extension:{type:w.ShapeBuilder,name:"circle"},build(i,t){let e,r,s,o,n,a;if(i.type==="circle"){let b=i;e=b.x,r=b.y,n=a=b.radius,s=o=0;}else if(i.type==="ellipse"){let b=i;e=b.x,r=b.y,n=b.halfWidth,a=b.halfHeight,s=o=0;}else {let b=i,C=b.width/2,S=b.height/2;e=b.x+C,r=b.y+S,n=a=Math.max(0,Math.min(b.radius,Math.min(C,S))),s=C-n,o=S-a;}if(!(n>=0&&a>=0&&s>=0&&o>=0))return t;let l=Math.ceil(2.3*Math.sqrt(n+a)),h=l*8+(s?4:0)+(o?4:0);if(h===0)return t;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,t;let u=0,c=l*4+(s?2:0)+2,f=c,d=h,m=s+n,_=o,x=e+m,p=e-m,y=r+_;if(t[u++]=x,t[u++]=y,t[--c]=y,t[--c]=p,o){let b=r-_;t[f++]=p,t[f++]=b,t[--d]=b,t[--d]=x;}for(let b=1;b<l;b++){let C=Math.PI/2*(b/l),S=s+Math.cos(C)*n,T=o+Math.sin(C)*a,P=e+S,I=e-S,E=r+T,A=r-T;t[u++]=P,t[u++]=E,t[--c]=E,t[--c]=I,t[f++]=I,t[f++]=A,t[--d]=A,t[--d]=P;}m=s,_=o+a,x=e+m,p=e-m,y=r+_;let v=r-_;return t[u++]=x,t[u++]=y,t[--d]=v,t[--d]=x,s&&(t[u++]=p,t[u++]=y,t[--d]=v,t[--d]=p),t},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;}},Od={...fr,extension:{...fr.extension,name:"ellipse"}},Dd={...fr,extension:{...fr.extension,name:"roundedRectangle"}};});function Nd(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 zd=g(()=>{});function Hd(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,_=h+d,x=u+f,p=c+d;return a.push(m,_),a.push(x,p),2}function Ue(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),_=Math.sqrt(l*l+h*h),x=(15*m*Math.sqrt(_)/Math.PI>>0)+1,p=d/x;if(f+=p,a){n.push(i,t),n.push(e,r);for(let y=1,v=f;y<x;y++,v+=p)n.push(i,t),n.push(i+Math.sin(v)*_,t+Math.cos(v)*_);n.push(i,t),n.push(s,o);}else {n.push(e,r),n.push(i,t);for(let y=1,v=f;y<x;y++,v+=p)n.push(i+Math.sin(v)*_,t+Math.cos(v)*_),n.push(i,t);n.push(s,o),n.push(i,t);}return x*2}function Vd(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 et=Nd(i);l=(l-.5)*et+.5;}let h=new X(i[0],i[1]),u=new X(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 et=(h.x+u.x)*.5,fe=(u.y+h.y)*.5;i.unshift(et,fe),i.push(et,fe);}let d=s,m=i.length/2,_=i.length,x=d.length/2,p=a.width/2,y=p*p,v=a.miterLimit*a.miterLimit,b=i[0],C=i[1],S=i[2],T=i[3],P=0,I=0,E=-(C-T),A=b-S,N=0,J=0,mt=Math.sqrt(E*E+A*A);E/=mt,A/=mt,E*=p,A*=p;let Br=l,U=(1-Br)*2,H=Br*2;c||(a.cap==="round"?_+=Ue(b-E*(U-H)*.5,C-A*(U-H)*.5,b-E*U,C-A*U,b+E*H,C+A*H,d,true)+2:a.cap==="square"&&(_+=Hd(b,C,E,A,U,H,true,d))),d.push(b-E*U,C-A*U),d.push(b+E*H,C+A*H);for(let et=1;et<m-1;++et){b=i[(et-1)*2],C=i[(et-1)*2+1],S=i[et*2],T=i[et*2+1],P=i[(et+1)*2],I=i[(et+1)*2+1],E=-(C-T),A=b-S,mt=Math.sqrt(E*E+A*A),E/=mt,A/=mt,E*=p,A*=p,N=-(T-I),J=S-P,mt=Math.sqrt(N*N+J*J),N/=mt,J/=mt,N*=p,J*=p;let fe=S-b,Lr=C-T,Fr=S-P,kr=I-T,Gl=fe*Fr+Lr*kr,Wi=Lr*Fr-kr*fe,Gr=Wi<0;if(Math.abs(Wi)<.001*Math.abs(Gl)){d.push(S-E*U,T-A*U),d.push(S+E*H,T+A*H),Gl>=0&&(a.join==="round"?_+=Ue(S,T,S-E*U,T-A*U,S-N*U,T-J*U,d,false)+4:_+=2,d.push(S-N*H,T-J*H),d.push(S+N*U,T+J*U));continue}let Ol=(-E+b)*(-A+T)-(-E+S)*(-A+C),Dl=(-N+P)*(-J+T)-(-N+S)*(-J+I),Yi=(fe*Dl-Fr*Ol)/Wi,$i=(kr*Ol-Lr*Dl)/Wi,zo=(Yi-S)*(Yi-S)+($i-T)*($i-T),Pe=S+(Yi-S)*U,Me=T+($i-T)*U,Ee=S-(Yi-S)*H,Ae=T-($i-T)*H,hg=Math.min(fe*fe+Lr*Lr,Fr*Fr+kr*kr),Ul=Gr?U:H,ug=hg+Ul*Ul*y;zo<=ug?a.join==="bevel"||zo/y>v?(Gr?(d.push(Pe,Me),d.push(S+E*H,T+A*H),d.push(Pe,Me),d.push(S+N*H,T+J*H)):(d.push(S-E*U,T-A*U),d.push(Ee,Ae),d.push(S-N*U,T-J*U),d.push(Ee,Ae)),_+=2):a.join==="round"?Gr?(d.push(Pe,Me),d.push(S+E*H,T+A*H),_+=Ue(S,T,S+E*H,T+A*H,S+N*H,T+J*H,d,true)+4,d.push(Pe,Me),d.push(S+N*H,T+J*H)):(d.push(S-E*U,T-A*U),d.push(Ee,Ae),_+=Ue(S,T,S-E*U,T-A*U,S-N*U,T-J*U,d,false)+4,d.push(S-N*U,T-J*U),d.push(Ee,Ae)):(d.push(Pe,Me),d.push(Ee,Ae)):(d.push(S-E*U,T-A*U),d.push(S+E*H,T+A*H),a.join==="round"?Gr?_+=Ue(S,T,S+E*H,T+A*H,S+N*H,T+J*H,d,true)+2:_+=Ue(S,T,S-E*U,T-A*U,S-N*U,T-J*U,d,false)+2:a.join==="miter"&&zo/y<=v&&(Gr?(d.push(Ee,Ae),d.push(Ee,Ae)):(d.push(Pe,Me),d.push(Pe,Me)),_+=2),d.push(S-N*U,T-J*U),d.push(S+N*H,T+J*H),_+=2);}b=i[(m-2)*2],C=i[(m-2)*2+1],S=i[(m-1)*2],T=i[(m-1)*2+1],E=-(C-T),A=b-S,mt=Math.sqrt(E*E+A*A),E/=mt,A/=mt,E*=p,A*=p,d.push(S-E*U,T-A*U),d.push(S+E*H,T+A*H),c||(a.cap==="round"?_+=Ue(S-E*(U-H)*.5,T-A*(U-H)*.5,S-E*U,T-A*U,S+E*H,T+A*H,d,false)+2:a.cap==="square"&&(_+=Hd(S,T,E,A,U,H,false,d)));let lg=1e-4*1e-4;for(let et=x;et<_+x-2;++et)b=d[et*2],C=d[et*2+1],S=d[(et+1)*2],T=d[(et+1)*2+1],P=d[(et+2)*2],I=d[(et+2)*2+1],!(Math.abs(b*(T-I)+S*(I-C)+P*(C-T))<lg)&&o.push(et,et+1,et+2);}var Wd=g(()=>{zt();zd();});function Yd(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 $d=g(()=>{});var Ta=Or((AP,Sa)=>{Sa.exports=Zs;Sa.exports.default=Zs;function Zs(i,t,e){e=e||2;var r=t&&t.length,s=r?t[0]*e:i.length,o=jd(i,0,s,e,true),n=[];if(!o||o.next===o.prev)return n;var a,l,h,u,c,f,d;if(r&&(o=wx(i,t,o,e)),i.length>80*e){a=h=i[0],l=u=i[1];for(var m=e;m<s;m+=e)c=i[m],f=i[m+1],c<a&&(a=c),f<l&&(l=f),c>h&&(h=c),f>u&&(u=f);d=Math.max(h-a,u-l),d=d!==0?32767/d:0;}return fi(o,n,e,a,l,d,0),n}function jd(i,t,e,r,s){var o,n;if(s===va(i,t,e,r)>0)for(o=t;o<e;o+=r)n=Xd(o,i[o],i[o+1],n);else for(o=e-r;o>=t;o-=r)n=Xd(o,i[o],i[o+1],n);return n&&Qs(n,n.next)&&(mi(n),n=n.next),n}function Ne(i,t){if(!i)return i;t||(t=i);var e=i,r;do if(r=false,!e.steiner&&(Qs(e,e.next)||at(e.prev,e,e.next)===0)){if(mi(e),e=t=e.prev,e===e.next)break;r=true;}else e=e.next;while(r||e!==t);return t}function fi(i,t,e,r,s,o,n){if(i){!n&&o&&Ax(i,r,s,o);for(var a=i,l,h;i.prev!==i.next;){if(l=i.prev,h=i.next,o?vx(i,r,s,o):bx(i)){t.push(l.i/e|0),t.push(i.i/e|0),t.push(h.i/e|0),mi(i),i=h.next,a=h.next;continue}if(i=h,i===a){n?n===1?(i=Sx(Ne(i),t,e),fi(i,t,e,r,s,o,2)):n===2&&Tx(i,t,e,r,s,o):fi(Ne(i),t,e,r,s,o,1);break}}}}function bx(i){var t=i.prev,e=i,r=i.next;if(at(t,e,r)>=0)return false;for(var s=t.x,o=e.x,n=r.x,a=t.y,l=e.y,h=r.y,u=s<o?s<n?s:n:o<n?o:n,c=a<l?a<h?a:h:l<h?l:h,f=s>o?s>n?s:n:o>n?o:n,d=a>l?a>h?a:h:l>h?l:h,m=r.next;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=c&&m.y<=d&&pr(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 vx(i,t,e,r){var s=i.prev,o=i,n=i.next;if(at(s,o,n)>=0)return false;for(var a=s.x,l=o.x,h=n.x,u=s.y,c=o.y,f=n.y,d=a<l?a<h?a:h:l<h?l:h,m=u<c?u<f?u:f:c<f?c:f,_=a>l?a>h?a:h:l>h?l:h,x=u>c?u>f?u:f:c>f?c:f,p=ya(d,m,t,e,r),y=ya(_,x,t,e,r),v=i.prevZ,b=i.nextZ;v&&v.z>=p&&b&&b.z<=y;){if(v.x>=d&&v.x<=_&&v.y>=m&&v.y<=x&&v!==s&&v!==n&&pr(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0||(v=v.prevZ,b.x>=d&&b.x<=_&&b.y>=m&&b.y<=x&&b!==s&&b!==n&&pr(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0))return false;b=b.nextZ;}for(;v&&v.z>=p;){if(v.x>=d&&v.x<=_&&v.y>=m&&v.y<=x&&v!==s&&v!==n&&pr(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0)return false;v=v.prevZ;}for(;b&&b.z<=y;){if(b.x>=d&&b.x<=_&&b.y>=m&&b.y<=x&&b!==s&&b!==n&&pr(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0)return false;b=b.nextZ;}return true}function Sx(i,t,e){var r=i;do{var s=r.prev,o=r.next.next;!Qs(s,o)&&Kd(s,r,r.next,o)&&pi(s,o)&&pi(o,s)&&(t.push(s.i/e|0),t.push(r.i/e|0),t.push(o.i/e|0),mi(r),mi(r.next),r=i=o),r=r.next;}while(r!==i);return Ne(r)}function Tx(i,t,e,r,s,o){var n=i;do{for(var a=n.next.next;a!==n.prev;){if(n.i!==a.i&&Bx(n,a)){var l=qd(n,a);n=Ne(n,n.next),l=Ne(l,l.next),fi(n,t,e,r,s,o,0),fi(l,t,e,r,s,o,0);return}a=a.next;}n=n.next;}while(n!==i)}function wx(i,t,e,r){var s=[],o,n,a,l,h;for(o=0,n=t.length;o<n;o++)a=t[o]*r,l=o<n-1?t[o+1]*r:i.length,h=jd(i,a,l,r,false),h===h.next&&(h.steiner=true),s.push(Ix(h));for(s.sort(Cx),o=0;o<s.length;o++)e=Px(s[o],e);return e}function Cx(i,t){return i.x-t.x}function Px(i,t){var e=Mx(i,t);if(!e)return t;var r=qd(e,i);return Ne(r,r.next),Ne(e,e.next)}function Mx(i,t){var e=t,r=i.x,s=i.y,o=-1/0,n;do{if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){var a=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(a<=r&&a>o&&(o=a,n=e.x<e.next.x?e:e.next,a===r))return n}e=e.next;}while(e!==t);if(!n)return null;var l=n,h=n.x,u=n.y,c=1/0,f;e=n;do r>=e.x&&e.x>=h&&r!==e.x&&pr(s<u?r:o,s,h,u,s<u?o:r,s,e.x,e.y)&&(f=Math.abs(s-e.y)/(r-e.x),pi(e,i)&&(f<c||f===c&&(e.x>n.x||e.x===n.x&&Ex(n,e)))&&(n=e,c=f)),e=e.next;while(e!==l);return n}function Ex(i,t){return at(i.prev,i,t.prev)<0&&at(t.next,i,i.next)<0}function Ax(i,t,e,r){var s=i;do s.z===0&&(s.z=ya(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,Rx(s);}function Rx(i){var t,e,r,s,o,n,a,l,h=1;do{for(e=i,i=null,o=null,n=0;e;){for(n++,r=e,a=0,t=0;t<h&&(a++,r=r.nextZ,!!r);t++);for(l=h;a>0||l>0&&r;)a!==0&&(l===0||!r||e.z<=r.z)?(s=e,e=e.nextZ,a--):(s=r,r=r.nextZ,l--),o?o.nextZ=s:i=s,s.prevZ=o,o=s;e=r;}o.nextZ=null,h*=2;}while(n>1);return i}function ya(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 Ix(i){var 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 pr(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 Bx(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!Lx(i,t)&&(pi(i,t)&&pi(t,i)&&Fx(i,t)&&(at(i.prev,i,t.prev)||at(i,t.prev,t))||Qs(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 Qs(i,t){return i.x===t.x&&i.y===t.y}function Kd(i,t,e,r){var 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&&Ks(i,e,t)||o===0&&Ks(i,r,t)||n===0&&Ks(e,i,r)||a===0&&Ks(e,t,r))}function Ks(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 Lx(i,t){var e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&Kd(e,e.next,i,t))return true;e=e.next;}while(e!==i);return false}function pi(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 Fx(i,t){var 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 qd(i,t){var e=new ba(i.i,i.x,i.y),r=new ba(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 Xd(i,t,e,r){var s=new ba(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 mi(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 ba(i,t,e){this.i=i,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=false;}Zs.deviation=function(i,t,e,r){var s=t&&t.length,o=s?t[0]*e:i.length,n=Math.abs(va(i,0,o,e));if(s)for(var a=0,l=t.length;a<l;a++){var h=t[a]*e,u=a<l-1?t[a+1]*e:i.length;n-=Math.abs(va(i,h,u,e));}var c=0;for(a=0;a<r.length;a+=3){var f=r[a]*e,d=r[a+1]*e,m=r[a+2]*e;c+=Math.abs((i[f]-i[m])*(i[d+1]-i[f+1])-(i[f]-i[d])*(i[m+1]-i[f+1]));}return n===0&&c===0?0:Math.abs((c-n)/n)};function va(i,t,e,r){for(var s=0,o=t,n=e-r;o<e;o+=r)s+=(i[n]-i[o])*(i[o+1]+i[n+1]),n=o;return s}Zs.flatten=function(i){for(var t=i[0][0].length,e={vertices:[],holes:[],dimensions:t},r=0,s=0;s<i.length;s++){for(var o=0;o<i[s].length;o++)for(var n=0;n<t;n++)e.vertices.push(i[s][o][n]);s>0&&(r+=i[s-1].length,e.holes.push(r));}return e};});function Js(i,t,e,r,s,o,n){let a=(0, Zd.default)(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 Zd,wa=g(()=>{Zd=Dr(Ta());});var kx,Qd,Jd=g(()=>{F();wa();kx=[],Qd={extension:{type:w.ShapeBuilder,name:"polygon"},build(i,t){for(let e=0;e<i.points.length;e++)t[e]=i.points[e];return t},triangulate(i,t,e,r,s,o){Js(i,kx,t,e,r,s,o);}};});var tf,ef=g(()=>{F();tf={extension:{type:w.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),t},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 rf,sf=g(()=>{F();rf={extension:{type:w.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,t},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 nf(i,t){for(let e=0;e<t.length;e++){let r=t[e];i.addColorStop(r.offset,r.color);}}function af(i,t){let e=nt.get().createCanvas(i,t),r=e.getContext("2d");return {canvas:e,context:r}}function Gx(i){let t=i[0]??{};return (typeof t=="number"||i[1])&&(O("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]??At.defaultLinearOptions.textureSize}),t}var of,Pa,At,mr=g(()=>{Mt();Wt();rt();Ps();xt();wt();dt();fn();of=[{offset:0,color:"white"},{offset:1,color:"black"}],Pa=class Ca{constructor(...t){this.uid=j("fillGradient"),this.type="linear",this.colorStops=[];let e=Gx(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:$.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:of,h=this._textureSize,{canvas:u,context:c}=af(h,1),f=a?c.createLinearGradient(this._textureSize,0,0,0):c.createLinearGradient(0,0,this._textureSize,0);nf(f,l),c.fillStyle=f,c.fillRect(0,0,h,1),this.texture=new k({source:new Zt({resource:u,addressMode:this._wrapMode})});let d=Math.sqrt(o*o+n*n),m=Math.atan2(n,o),_=new R;_.scale(d/h,1),_.rotate(m),_.translate(t,e),this.textureSpace==="local"&&_.scale(h,h),this.transform=_;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let t=this.colorStops.length?this.colorStops:of,e=this._textureSize,{canvas:r,context:s}=af(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,_=(n-f)*d,x=s.createRadialGradient(m,_,h*d,(a-c)*d,(l-f)*d,u*d);nf(x,t),s.fillStyle=t[t.length-1].color,s.fillRect(0,0,e,e),s.fillStyle=x,s.translate(m,_),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-m,-_),s.fillRect(0,0,e,e),this.texture=new k({source:new Zt({resource:r,addressMode:this._wrapMode})});let p=new R;p.scale(1/d,1/d),p.translate(c,f),this.textureSpace==="local"&&p.scale(e,e),this.transform=p;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null;}};Pa.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};Pa.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};At=Pa;});function lf(i,t,e,r){let s=t.matrix?i.copyFrom(t.matrix).invert():i.identity();if(t.textureSpace==="local"){let n=e.getBounds(Dx);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,_=s.c,x=s.d;s.a*=h,s.b*=h,s.c*=u,s.d*=u,s.tx=c*d+f*_+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 At)&&o.addressMode==="clamp-to-edge"&&(o.addressMode="repeat",o.update()),r&&s.append(Ox.copyFrom(r).invert()),s}var Ox,Dx,hf=g(()=>{rt();It();mr();Ox=new R,Dx=new Q;});function cf(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")zx(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&&uf(h.shapePath,l,true,r,e),h&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=h.shapePath.shapePrimitives),uf(a,l,n,r,e);}}}function zx(i,t,e){let{vertices:r,uvs:s,indices:o}=e,n=o.length,a=r.length/2,l=[],h=to.rectangle,u=Ux,c=i.image;u.x=i.dx,u.y=i.dy,u.width=i.dw,u.height=i.dh;let f=i.transform;h.build(u,l),f&&xa(l,f),h.triangulate(l,r,2,a,o,n);let d=c.uvs;s.push(d.x0,d.y0,d.x1,d.y1,d.x3,d.y3,d.x2,d.y2);let m=W.get(De);m.indexOffset=n,m.indexSize=o.length-n,m.attributeOffset=a,m.attributeSize=r.length/2-a,m.baseColor=i.style,m.alpha=i.alpha,m.texture=c,m.geometryData=e,t.push(m);}function uf(i,t,e,r,s){let{vertices:o,uvs:n,indices:a}=s;i.shapePrimitives.forEach(({shape:l,transform:h,holes:u})=>{let c=a.length,f=o.length/2,d=[],m=to[l.type],_="triangle-list";if(m.build(l,d),h&&xa(d,h),e){let v=l.closePath??true,b=t;b.pixelLine?(Yd(d,v,o,a),_="line-list"):Vd(d,b,false,v,o,a);}else if(u){let v=[],b=d.slice();Hx(u).forEach(S=>{v.push(b.length/2),b.push(...S);}),Js(b,v,o,2,f,a,c);}else m.triangulate(d,o,2,f,a,c);let x=n.length/2,p=t.texture;if(p!==k.WHITE){let v=lf(Nx,t,l,h);Ld(o,2,f,n,x,2,o.length/2-f,v);}else Fd(n,x,2,o.length/2-f);let y=W.get(De);y.indexOffset=c,y.indexSize=a.length-c,y.attributeOffset=f,y.attributeSize=o.length/2-f,y.baseColor=t.color,y.alpha=t.alpha,y.texture=p,y.geometryData=s,y.topology=_,r.push(y);});}function Hx(i){let t=[];for(let e=0;e<i.length;e++){let r=i[e].shape,s=[];to[r.type].build(r,s),t.push(s);}return t}var to,Ux,Nx,df=g(()=>{F();rt();It();kd();Gd();xt();Ot();_a();Ud();Wd();$d();Jd();ef();sf();hf();wa();to={};G.handleByMap(w.ShapeBuilder,to);G.add(tf,Qd,rf,fr,Od,Dd);Ux=new Q,Nx=new R;});var Ma,Ea,Ra,gr,eo=g(()=>{F();fc();Bd();cn();dt();Ot();df();Ma=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},Ea=class{constructor(){this.batcher=new Id,this.instructions=new Ke;}init(){this.instructions.reset();}get geometry(){return O(ch,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},Ra=class Aa{constructor(t){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),t.renderableGC.addManagedHash(this,"_gpuContextHash"),t.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(t){Aa.defaultOptions.bezierSmoothness=t?.bezierSmoothness??Aa.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),cf(t,e);let r=t.batchMode;t.customShader||r==="no-batch"?e.isBatchable=false:r==="auto"&&(e.isBatchable=e.geometryData.vertices.length<400),t.dirty=false;}return e}getGpuContext(t){return this._gpuContextHash[t.uid]||this._initContext(t)}_initContextRenderData(t){let e=W.get(Ea),{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=dc(c.textures.textures,c.textures.count);}return this._graphicsDataContextHash[t.uid]=e,e}_initContext(t){let e=new Ma;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]&&(W.return(this.getContextRenderData(t)),this._graphicsDataContextHash[t.uid]=null),e.batches&&e.batches.forEach(r=>{W.return(r);});}destroy(){for(let t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context);}};Ra.extension={type:[w.WebGLSystem,w.WebGPUSystem,w.CanvasSystem],name:"graphicsContext"};Ra.defaultOptions={bezierSmoothness:.5};gr=Ra;});var Vx,Ia,Ba,La,Fa,ka,Ga,Oa,ze,ro=g(()=>{Vx={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},Ia=0,Ba=1,La=2,Fa=3,ka=4,Ga=5,Oa=class ff{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<Ia)}set blend(t){!!(this.data&1<<Ia)!==t&&(this.data^=1<<Ia);}get offsets(){return !!(this.data&1<<Ba)}set offsets(t){!!(this.data&1<<Ba)!==t&&(this.data^=1<<Ba);}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<<La)}set culling(t){!!(this.data&1<<La)!==t&&(this.data^=1<<La);}get depthTest(){return !!(this.data&1<<Fa)}set depthTest(t){!!(this.data&1<<Fa)!==t&&(this.data^=1<<Fa);}get depthMask(){return !!(this.data&1<<Ga)}set depthMask(t){!!(this.data&1<<Ga)!==t&&(this.data^=1<<Ga);}get clockwiseFrontFace(){return !!(this.data&1<<ka)}set clockwiseFrontFace(t){!!(this.data&1<<ka)!==t&&(this.data^=1<<ka);}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=Vx[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 ff;return t.depthTest=false,t.blend=true,t}};Oa.default2d=Oa.for2d();ze=Oa;});function ve(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 gi=g(()=>{});var xi,pf=g(()=>{F();ro();Ot();gi();_a();xi=class{constructor(t,e){this.state=ze.for2d(),this._graphicsBatchesHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.renderer=t,this._adaptor=e,this._adaptor.init(),this.renderer.renderableGC.addManagedHash(this,"_graphicsBatchesHash");}validateRenderable(t){let e=t.context,r=!!this._graphicsBatchesHash[t.uid],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 e=this._graphicsBatchesHash[t.uid];if(e)for(let r=0;r<e.length;r++){let s=e[r];s._batcher.updateElement(s);}}destroyRenderable(t){this._graphicsBatchesHash[t.uid]&&this._removeBatchForRenderable(t.uid),t.off("destroyed",this._destroyRenderableBound);}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,ve(t.groupColorAlpha,n.uColor,0),this._adaptor.execute(this,t);}_rebuild(t){let e=!!this._graphicsBatchesHash[t.uid],r=this.renderer.graphicsContext.updateGpuContext(t.context);e&&this._removeBatchForRenderable(t.uid),r.isBatchable&&this._initBatchesForRenderable(t),t.batched=r.isBatchable;}_addToBatcher(t,e){let r=this.renderer.renderPipes.batch,s=this._getBatchesForRenderable(t);for(let o=0;o<s.length;o++){let n=s[o];r.addToBatch(n,e);}}_getBatchesForRenderable(t){return this._graphicsBatchesHash[t.uid]||this._initBatchesForRenderable(t)}_initBatchesForRenderable(t){let e=t.context,r=this.renderer.graphicsContext.getGpuContext(e),s=this.renderer._roundPixels|t._roundPixels,o=r.batches.map(n=>{let a=W.get(De);return n.copyTo(a),a.renderable=t,a.roundPixels=s,a});return this._graphicsBatchesHash[t.uid]===void 0&&t.on("destroyed",this._destroyRenderableBound),this._graphicsBatchesHash[t.uid]=o,o}_removeBatchForRenderable(t){this._graphicsBatchesHash[t].forEach(e=>{W.return(e);}),this._graphicsBatchesHash[t]=null;}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;for(let t in this._graphicsBatchesHash)this._removeBatchForRenderable(t);this._graphicsBatchesHash=null;}};xi.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"graphics"};});var Da=g(()=>{F();eo();pf();G.add(xi);G.add(gr);});var Se,io=g(()=>{Se=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 _i,mf=g(()=>{F();rt();ai();be();li();Ot();gi();io();_i=class{constructor(t,e){this.localUniforms=new Pt({uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new Dt({0:this.localUniforms}),this._meshDataHash=Object.create(null),this._gpuBatchableMeshHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.renderer=t,this._adaptor=e,this._adaptor.init(),t.renderableGC.addManagedHash(this,"_gpuBatchableMeshHash"),t.renderableGC.addManagedHash(this,"_meshDataHash");}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._gpuBatchableMeshHash[t.uid];e.setTexture(t._texture),e.geometry=t._geometry,e._batcher.updateElement(e);}}destroyRenderable(t){this._meshDataHash[t.uid]=null;let e=this._gpuBatchableMeshHash[t.uid];e&&(W.return(e),this._gpuBatchableMeshHash[t.uid]=null),t.off("destroyed",this._destroyRenderableBound);}execute(t){if(!t.isRenderable)return;t.state.blendMode=ue(t.groupBlendMode,t.texture._source);let e=this.localUniforms;e.uniforms.uTransformMatrix=t.groupTransform,e.uniforms.uRound=this.renderer._roundPixels|t._roundPixels,e.update(),ve(t.groupColorAlpha,e.uniforms.uColor,0),this._adaptor.execute(this,t);}_getMeshData(t){return this._meshDataHash[t.uid]||this._initMeshData(t)}_initMeshData(t){return this._meshDataHash[t.uid]={batched:t.batched,indexSize:t._geometry.indices?.length,vertexSize:t._geometry.positions?.length},t.on("destroyed",this._destroyRenderableBound),this._meshDataHash[t.uid]}_getBatchableMesh(t){return this._gpuBatchableMeshHash[t.uid]||this._initBatchableMesh(t)}_initBatchableMesh(t){let e=W.get(Se);return e.renderable=t,e.setTexture(t._texture),e.transform=t.groupTransform,e.roundPixels=this.renderer._roundPixels|t._roundPixels,this._gpuBatchableMeshHash[t.uid]=e,e}destroy(){for(let t in this._gpuBatchableMeshHash)this._gpuBatchableMeshHash[t]&&W.return(this._gpuBatchableMeshHash[t]);this._gpuBatchableMeshHash=null,this._meshDataHash=null,this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};_i.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"mesh"};});var Ua=g(()=>{F();mf();G.add(_i);});var so,gf=g(()=>{so=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 Na(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 xf=g(()=>{});function yf(i){return {dynamicUpdate:_f(i,true),staticUpdate:_f(i,false)}}function _f(i,t){let e=[];e.push(`
|
|
253
|
+
`}};});var ma,bd,vd=g(()=>{ma=["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>"],bd=ma.reduce((i,t)=>(i[t]=true,i),{});});function Sd(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 Td=g(()=>{});var wd,Pt,be=g(()=>{wt();Gs();vd();Td();wd=class Cd{constructor(t,e){this._touched=0,this.uid=j("uniform"),this._resourceType="uniformGroup",this._resourceId=j("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,e={...Cd.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,!bd[o.type])throw new Error(`Uniform type ${o.type} is not supported. Supported uniform types are: ${ma.join(", ")}`);o.value??(o.value=Sd(o.type,o.size)),r[s]=o.value;}this.uniforms=r,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=nr(Object.keys(r).map(s=>`${s}-${t[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};wd.defaultOptions={ubo:false,isStatic:false};Pt=wd;});function Xs(i){let t=Pd[i];if(t)return t;let e=new Int32Array(i);for(let r=0;r<i;r++)e[r]=r;return t=Pd[i]=new Pt({uTextures:{value:e,type:"i32",size:i}},{isStatic:true}),t}var Pd,ga=g(()=>{be();Pd={};});var te,ci=g(()=>{te=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(te||{});});var ee,di=g(()=>{Rt();wt();Os();ai();Ns();ci();be();ee=class i extends K{constructor(t){super(),this.uid=j("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|=te.WEBGPU),r&&(n|=te.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 Dt,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 Pt(f));let d=l[c];d&&(s[d.group]||(s[d.group]=new Dt,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 Dt,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=_e.from(e)),r&&(n=ar.from(r)),new i({gpuProgram:o,glProgram:n,...s})}};});var js,Md=g(()=>{zs();ca();pa();$s();ga();di();js=class extends ee{constructor(t){let e=ur({name:"batch",bits:[Vs,Ys(t),dr]}),r=hr({name:"batch",bits:[Hs,Ws(t),cr]});super({glProgram:e,gpuProgram:r,resources:{batchSamplers:Xs(t)}});}};});var Ed,Ad,Id,Bd=g(()=>{F();Tc();Mc();Md();Ed=null,Ad=class Rd extends Sc{constructor(){super(...arguments),this.geometry=new Fs,this.shader=Ed||(Ed=new js(this.maxTextures)),this.name=Rd.extension.name,this.vertexSize=6;}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:_}=t,x=t.color,p=t.attributeOffset,y=p+t.attributeSize;for(let v=p;v<y;v++){let b=v*2,C=m[b],S=m[b+1];e[s++]=l*C+u*S+f,e[s++]=c*S+h*C+d,e[s++]=_[b],e[s++]=_[b+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,_=m.maxX,x=m.minX,p=m.maxY,y=m.minY,v=n.uvs,b=t.color,C=o<<16|t.roundPixels&65535;e[s+0]=l*x+u*y+f,e[s+1]=c*y+h*x+d,e[s+2]=v.x0,e[s+3]=v.y0,r[s+4]=b,r[s+5]=C,e[s+6]=l*_+u*y+f,e[s+7]=c*y+h*_+d,e[s+8]=v.x1,e[s+9]=v.y1,r[s+10]=b,r[s+11]=C,e[s+12]=l*_+u*p+f,e[s+13]=c*p+h*_+d,e[s+14]=v.x2,e[s+15]=v.y2,r[s+16]=b,r[s+17]=C,e[s+18]=l*x+u*p+f,e[s+19]=c*p+h*x+d,e[s+20]=v.x3,e[s+21]=v.y3,r[s+22]=b,r[s+23]=C;}};Ad.extension={type:[w.Batcher],name:"default"};Id=Ad;});function Ld(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 _=i[e],x=i[e+1];r[s]=h*_+c*x+d,r[s+1]=u*_+f*x+m,s+=o,e+=t,l++;}}function Fd(i,t,e,r){let s=0;for(t*=e;s<r;)i[t]=0,i[t+1]=0,t+=e,s++;}var Gd=g(()=>{});function xa(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 kd=g(()=>{});var xx,De,_a=g(()=>{rt();nn();xx=new R,De=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.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||xx}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 fr,Od,Dd,Ud=g(()=>{F();fr={extension:{type:w.ShapeBuilder,name:"circle"},build(i,t){let e,r,s,o,n,a;if(i.type==="circle"){let b=i;e=b.x,r=b.y,n=a=b.radius,s=o=0;}else if(i.type==="ellipse"){let b=i;e=b.x,r=b.y,n=b.halfWidth,a=b.halfHeight,s=o=0;}else {let b=i,C=b.width/2,S=b.height/2;e=b.x+C,r=b.y+S,n=a=Math.max(0,Math.min(b.radius,Math.min(C,S))),s=C-n,o=S-a;}if(!(n>=0&&a>=0&&s>=0&&o>=0))return t;let l=Math.ceil(2.3*Math.sqrt(n+a)),h=l*8+(s?4:0)+(o?4:0);if(h===0)return t;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,t;let u=0,c=l*4+(s?2:0)+2,f=c,d=h,m=s+n,_=o,x=e+m,p=e-m,y=r+_;if(t[u++]=x,t[u++]=y,t[--c]=y,t[--c]=p,o){let b=r-_;t[f++]=p,t[f++]=b,t[--d]=b,t[--d]=x;}for(let b=1;b<l;b++){let C=Math.PI/2*(b/l),S=s+Math.cos(C)*n,T=o+Math.sin(C)*a,P=e+S,I=e-S,E=r+T,A=r-T;t[u++]=P,t[u++]=E,t[--c]=E,t[--c]=I,t[f++]=I,t[f++]=A,t[--d]=A,t[--d]=P;}m=s,_=o+a,x=e+m,p=e-m,y=r+_;let v=r-_;return t[u++]=x,t[u++]=y,t[--d]=v,t[--d]=x,s&&(t[u++]=p,t[u++]=y,t[--d]=v,t[--d]=p),t},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;}},Od={...fr,extension:{...fr.extension,name:"ellipse"}},Dd={...fr,extension:{...fr.extension,name:"roundedRectangle"}};});function Nd(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 zd=g(()=>{});function Hd(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,_=h+d,x=u+f,p=c+d;return a.push(m,_),a.push(x,p),2}function Ue(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),_=Math.sqrt(l*l+h*h),x=(15*m*Math.sqrt(_)/Math.PI>>0)+1,p=d/x;if(f+=p,a){n.push(i,t),n.push(e,r);for(let y=1,v=f;y<x;y++,v+=p)n.push(i,t),n.push(i+Math.sin(v)*_,t+Math.cos(v)*_);n.push(i,t),n.push(s,o);}else {n.push(e,r),n.push(i,t);for(let y=1,v=f;y<x;y++,v+=p)n.push(i+Math.sin(v)*_,t+Math.cos(v)*_),n.push(i,t);n.push(s,o),n.push(i,t);}return x*2}function Vd(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 et=Nd(i);l=(l-.5)*et+.5;}let h=new X(i[0],i[1]),u=new X(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 et=(h.x+u.x)*.5,fe=(u.y+h.y)*.5;i.unshift(et,fe),i.push(et,fe);}let d=s,m=i.length/2,_=i.length,x=d.length/2,p=a.width/2,y=p*p,v=a.miterLimit*a.miterLimit,b=i[0],C=i[1],S=i[2],T=i[3],P=0,I=0,E=-(C-T),A=b-S,N=0,J=0,mt=Math.sqrt(E*E+A*A);E/=mt,A/=mt,E*=p,A*=p;let Br=l,U=(1-Br)*2,H=Br*2;c||(a.cap==="round"?_+=Ue(b-E*(U-H)*.5,C-A*(U-H)*.5,b-E*U,C-A*U,b+E*H,C+A*H,d,true)+2:a.cap==="square"&&(_+=Hd(b,C,E,A,U,H,true,d))),d.push(b-E*U,C-A*U),d.push(b+E*H,C+A*H);for(let et=1;et<m-1;++et){b=i[(et-1)*2],C=i[(et-1)*2+1],S=i[et*2],T=i[et*2+1],P=i[(et+1)*2],I=i[(et+1)*2+1],E=-(C-T),A=b-S,mt=Math.sqrt(E*E+A*A),E/=mt,A/=mt,E*=p,A*=p,N=-(T-I),J=S-P,mt=Math.sqrt(N*N+J*J),N/=mt,J/=mt,N*=p,J*=p;let fe=S-b,Lr=C-T,Fr=S-P,Gr=I-T,kl=fe*Fr+Lr*Gr,Wi=Lr*Fr-Gr*fe,kr=Wi<0;if(Math.abs(Wi)<.001*Math.abs(kl)){d.push(S-E*U,T-A*U),d.push(S+E*H,T+A*H),kl>=0&&(a.join==="round"?_+=Ue(S,T,S-E*U,T-A*U,S-N*U,T-J*U,d,false)+4:_+=2,d.push(S-N*H,T-J*H),d.push(S+N*U,T+J*U));continue}let Ol=(-E+b)*(-A+T)-(-E+S)*(-A+C),Dl=(-N+P)*(-J+T)-(-N+S)*(-J+I),Yi=(fe*Dl-Fr*Ol)/Wi,$i=(Gr*Ol-Lr*Dl)/Wi,zo=(Yi-S)*(Yi-S)+($i-T)*($i-T),Pe=S+(Yi-S)*U,Me=T+($i-T)*U,Ee=S-(Yi-S)*H,Ae=T-($i-T)*H,hg=Math.min(fe*fe+Lr*Lr,Fr*Fr+Gr*Gr),Ul=kr?U:H,ug=hg+Ul*Ul*y;zo<=ug?a.join==="bevel"||zo/y>v?(kr?(d.push(Pe,Me),d.push(S+E*H,T+A*H),d.push(Pe,Me),d.push(S+N*H,T+J*H)):(d.push(S-E*U,T-A*U),d.push(Ee,Ae),d.push(S-N*U,T-J*U),d.push(Ee,Ae)),_+=2):a.join==="round"?kr?(d.push(Pe,Me),d.push(S+E*H,T+A*H),_+=Ue(S,T,S+E*H,T+A*H,S+N*H,T+J*H,d,true)+4,d.push(Pe,Me),d.push(S+N*H,T+J*H)):(d.push(S-E*U,T-A*U),d.push(Ee,Ae),_+=Ue(S,T,S-E*U,T-A*U,S-N*U,T-J*U,d,false)+4,d.push(S-N*U,T-J*U),d.push(Ee,Ae)):(d.push(Pe,Me),d.push(Ee,Ae)):(d.push(S-E*U,T-A*U),d.push(S+E*H,T+A*H),a.join==="round"?kr?_+=Ue(S,T,S+E*H,T+A*H,S+N*H,T+J*H,d,true)+2:_+=Ue(S,T,S-E*U,T-A*U,S-N*U,T-J*U,d,false)+2:a.join==="miter"&&zo/y<=v&&(kr?(d.push(Ee,Ae),d.push(Ee,Ae)):(d.push(Pe,Me),d.push(Pe,Me)),_+=2),d.push(S-N*U,T-J*U),d.push(S+N*H,T+J*H),_+=2);}b=i[(m-2)*2],C=i[(m-2)*2+1],S=i[(m-1)*2],T=i[(m-1)*2+1],E=-(C-T),A=b-S,mt=Math.sqrt(E*E+A*A),E/=mt,A/=mt,E*=p,A*=p,d.push(S-E*U,T-A*U),d.push(S+E*H,T+A*H),c||(a.cap==="round"?_+=Ue(S-E*(U-H)*.5,T-A*(U-H)*.5,S-E*U,T-A*U,S+E*H,T+A*H,d,false)+2:a.cap==="square"&&(_+=Hd(S,T,E,A,U,H,false,d)));let lg=1e-4*1e-4;for(let et=x;et<_+x-2;++et)b=d[et*2],C=d[et*2+1],S=d[(et+1)*2],T=d[(et+1)*2+1],P=d[(et+2)*2],I=d[(et+2)*2+1],!(Math.abs(b*(T-I)+S*(I-C)+P*(C-T))<lg)&&o.push(et,et+1,et+2);}var Wd=g(()=>{zt();zd();});function Yd(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 $d=g(()=>{});var Ta=Or((AP,Sa)=>{Sa.exports=Zs;Sa.exports.default=Zs;function Zs(i,t,e){e=e||2;var r=t&&t.length,s=r?t[0]*e:i.length,o=jd(i,0,s,e,true),n=[];if(!o||o.next===o.prev)return n;var a,l,h,u,c,f,d;if(r&&(o=wx(i,t,o,e)),i.length>80*e){a=h=i[0],l=u=i[1];for(var m=e;m<s;m+=e)c=i[m],f=i[m+1],c<a&&(a=c),f<l&&(l=f),c>h&&(h=c),f>u&&(u=f);d=Math.max(h-a,u-l),d=d!==0?32767/d:0;}return fi(o,n,e,a,l,d,0),n}function jd(i,t,e,r,s){var o,n;if(s===va(i,t,e,r)>0)for(o=t;o<e;o+=r)n=Xd(o,i[o],i[o+1],n);else for(o=e-r;o>=t;o-=r)n=Xd(o,i[o],i[o+1],n);return n&&Qs(n,n.next)&&(mi(n),n=n.next),n}function Ne(i,t){if(!i)return i;t||(t=i);var e=i,r;do if(r=false,!e.steiner&&(Qs(e,e.next)||at(e.prev,e,e.next)===0)){if(mi(e),e=t=e.prev,e===e.next)break;r=true;}else e=e.next;while(r||e!==t);return t}function fi(i,t,e,r,s,o,n){if(i){!n&&o&&Ax(i,r,s,o);for(var a=i,l,h;i.prev!==i.next;){if(l=i.prev,h=i.next,o?vx(i,r,s,o):bx(i)){t.push(l.i/e|0),t.push(i.i/e|0),t.push(h.i/e|0),mi(i),i=h.next,a=h.next;continue}if(i=h,i===a){n?n===1?(i=Sx(Ne(i),t,e),fi(i,t,e,r,s,o,2)):n===2&&Tx(i,t,e,r,s,o):fi(Ne(i),t,e,r,s,o,1);break}}}}function bx(i){var t=i.prev,e=i,r=i.next;if(at(t,e,r)>=0)return false;for(var s=t.x,o=e.x,n=r.x,a=t.y,l=e.y,h=r.y,u=s<o?s<n?s:n:o<n?o:n,c=a<l?a<h?a:h:l<h?l:h,f=s>o?s>n?s:n:o>n?o:n,d=a>l?a>h?a:h:l>h?l:h,m=r.next;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=c&&m.y<=d&&pr(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 vx(i,t,e,r){var s=i.prev,o=i,n=i.next;if(at(s,o,n)>=0)return false;for(var a=s.x,l=o.x,h=n.x,u=s.y,c=o.y,f=n.y,d=a<l?a<h?a:h:l<h?l:h,m=u<c?u<f?u:f:c<f?c:f,_=a>l?a>h?a:h:l>h?l:h,x=u>c?u>f?u:f:c>f?c:f,p=ya(d,m,t,e,r),y=ya(_,x,t,e,r),v=i.prevZ,b=i.nextZ;v&&v.z>=p&&b&&b.z<=y;){if(v.x>=d&&v.x<=_&&v.y>=m&&v.y<=x&&v!==s&&v!==n&&pr(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0||(v=v.prevZ,b.x>=d&&b.x<=_&&b.y>=m&&b.y<=x&&b!==s&&b!==n&&pr(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0))return false;b=b.nextZ;}for(;v&&v.z>=p;){if(v.x>=d&&v.x<=_&&v.y>=m&&v.y<=x&&v!==s&&v!==n&&pr(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0)return false;v=v.prevZ;}for(;b&&b.z<=y;){if(b.x>=d&&b.x<=_&&b.y>=m&&b.y<=x&&b!==s&&b!==n&&pr(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0)return false;b=b.nextZ;}return true}function Sx(i,t,e){var r=i;do{var s=r.prev,o=r.next.next;!Qs(s,o)&&Kd(s,r,r.next,o)&&pi(s,o)&&pi(o,s)&&(t.push(s.i/e|0),t.push(r.i/e|0),t.push(o.i/e|0),mi(r),mi(r.next),r=i=o),r=r.next;}while(r!==i);return Ne(r)}function Tx(i,t,e,r,s,o){var n=i;do{for(var a=n.next.next;a!==n.prev;){if(n.i!==a.i&&Bx(n,a)){var l=qd(n,a);n=Ne(n,n.next),l=Ne(l,l.next),fi(n,t,e,r,s,o,0),fi(l,t,e,r,s,o,0);return}a=a.next;}n=n.next;}while(n!==i)}function wx(i,t,e,r){var s=[],o,n,a,l,h;for(o=0,n=t.length;o<n;o++)a=t[o]*r,l=o<n-1?t[o+1]*r:i.length,h=jd(i,a,l,r,false),h===h.next&&(h.steiner=true),s.push(Ix(h));for(s.sort(Cx),o=0;o<s.length;o++)e=Px(s[o],e);return e}function Cx(i,t){return i.x-t.x}function Px(i,t){var e=Mx(i,t);if(!e)return t;var r=qd(e,i);return Ne(r,r.next),Ne(e,e.next)}function Mx(i,t){var e=t,r=i.x,s=i.y,o=-1/0,n;do{if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){var a=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(a<=r&&a>o&&(o=a,n=e.x<e.next.x?e:e.next,a===r))return n}e=e.next;}while(e!==t);if(!n)return null;var l=n,h=n.x,u=n.y,c=1/0,f;e=n;do r>=e.x&&e.x>=h&&r!==e.x&&pr(s<u?r:o,s,h,u,s<u?o:r,s,e.x,e.y)&&(f=Math.abs(s-e.y)/(r-e.x),pi(e,i)&&(f<c||f===c&&(e.x>n.x||e.x===n.x&&Ex(n,e)))&&(n=e,c=f)),e=e.next;while(e!==l);return n}function Ex(i,t){return at(i.prev,i,t.prev)<0&&at(t.next,i,i.next)<0}function Ax(i,t,e,r){var s=i;do s.z===0&&(s.z=ya(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,Rx(s);}function Rx(i){var t,e,r,s,o,n,a,l,h=1;do{for(e=i,i=null,o=null,n=0;e;){for(n++,r=e,a=0,t=0;t<h&&(a++,r=r.nextZ,!!r);t++);for(l=h;a>0||l>0&&r;)a!==0&&(l===0||!r||e.z<=r.z)?(s=e,e=e.nextZ,a--):(s=r,r=r.nextZ,l--),o?o.nextZ=s:i=s,s.prevZ=o,o=s;e=r;}o.nextZ=null,h*=2;}while(n>1);return i}function ya(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 Ix(i){var 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 pr(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 Bx(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!Lx(i,t)&&(pi(i,t)&&pi(t,i)&&Fx(i,t)&&(at(i.prev,i,t.prev)||at(i,t.prev,t))||Qs(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 Qs(i,t){return i.x===t.x&&i.y===t.y}function Kd(i,t,e,r){var 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&&Ks(i,e,t)||o===0&&Ks(i,r,t)||n===0&&Ks(e,i,r)||a===0&&Ks(e,t,r))}function Ks(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 Lx(i,t){var e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&Kd(e,e.next,i,t))return true;e=e.next;}while(e!==i);return false}function pi(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 Fx(i,t){var 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 qd(i,t){var e=new ba(i.i,i.x,i.y),r=new ba(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 Xd(i,t,e,r){var s=new ba(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 mi(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 ba(i,t,e){this.i=i,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=false;}Zs.deviation=function(i,t,e,r){var s=t&&t.length,o=s?t[0]*e:i.length,n=Math.abs(va(i,0,o,e));if(s)for(var a=0,l=t.length;a<l;a++){var h=t[a]*e,u=a<l-1?t[a+1]*e:i.length;n-=Math.abs(va(i,h,u,e));}var c=0;for(a=0;a<r.length;a+=3){var f=r[a]*e,d=r[a+1]*e,m=r[a+2]*e;c+=Math.abs((i[f]-i[m])*(i[d+1]-i[f+1])-(i[f]-i[d])*(i[m+1]-i[f+1]));}return n===0&&c===0?0:Math.abs((c-n)/n)};function va(i,t,e,r){for(var s=0,o=t,n=e-r;o<e;o+=r)s+=(i[n]-i[o])*(i[o+1]+i[n+1]),n=o;return s}Zs.flatten=function(i){for(var t=i[0][0].length,e={vertices:[],holes:[],dimensions:t},r=0,s=0;s<i.length;s++){for(var o=0;o<i[s].length;o++)for(var n=0;n<t;n++)e.vertices.push(i[s][o][n]);s>0&&(r+=i[s-1].length,e.holes.push(r));}return e};});function Js(i,t,e,r,s,o,n){let a=(0, Zd.default)(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 Zd,wa=g(()=>{Zd=Dr(Ta());});var Gx,Qd,Jd=g(()=>{F();wa();Gx=[],Qd={extension:{type:w.ShapeBuilder,name:"polygon"},build(i,t){for(let e=0;e<i.points.length;e++)t[e]=i.points[e];return t},triangulate(i,t,e,r,s,o){Js(i,Gx,t,e,r,s,o);}};});var tf,ef=g(()=>{F();tf={extension:{type:w.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),t},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 rf,sf=g(()=>{F();rf={extension:{type:w.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,t},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 nf(i,t){for(let e=0;e<t.length;e++){let r=t[e];i.addColorStop(r.offset,r.color);}}function af(i,t){let e=nt.get().createCanvas(i,t),r=e.getContext("2d");return {canvas:e,context:r}}function kx(i){let t=i[0]??{};return (typeof t=="number"||i[1])&&(D("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]??At.defaultLinearOptions.textureSize}),t}var of,Pa,At,mr=g(()=>{Mt();Wt();rt();Ps();xt();wt();dt();fn();of=[{offset:0,color:"white"},{offset:1,color:"black"}],Pa=class Ca{constructor(...t){this.uid=j("fillGradient"),this.type="linear",this.colorStops=[];let e=kx(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:$.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:of,h=this._textureSize,{canvas:u,context:c}=af(h,1),f=a?c.createLinearGradient(this._textureSize,0,0,0):c.createLinearGradient(0,0,this._textureSize,0);nf(f,l),c.fillStyle=f,c.fillRect(0,0,h,1),this.texture=new G({source:new Zt({resource:u,addressMode:this._wrapMode})});let d=Math.sqrt(o*o+n*n),m=Math.atan2(n,o),_=new R;_.scale(d/h,1),_.rotate(m),_.translate(t,e),this.textureSpace==="local"&&_.scale(h,h),this.transform=_;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let t=this.colorStops.length?this.colorStops:of,e=this._textureSize,{canvas:r,context:s}=af(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,_=(n-f)*d,x=s.createRadialGradient(m,_,h*d,(a-c)*d,(l-f)*d,u*d);nf(x,t),s.fillStyle=t[t.length-1].color,s.fillRect(0,0,e,e),s.fillStyle=x,s.translate(m,_),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-m,-_),s.fillRect(0,0,e,e),this.texture=new G({source:new Zt({resource:r,addressMode:this._wrapMode})});let p=new R;p.scale(1/d,1/d),p.translate(c,f),this.textureSpace==="local"&&p.scale(e,e),this.transform=p;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null;}};Pa.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};Pa.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};At=Pa;});function lf(i,t,e,r){let s=t.matrix?i.copyFrom(t.matrix).invert():i.identity();if(t.textureSpace==="local"){let n=e.getBounds(Dx);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,_=s.c,x=s.d;s.a*=h,s.b*=h,s.c*=u,s.d*=u,s.tx=c*d+f*_+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 At)&&o.addressMode==="clamp-to-edge"&&(o.addressMode="repeat",o.update()),r&&s.append(Ox.copyFrom(r).invert()),s}var Ox,Dx,hf=g(()=>{rt();It();mr();Ox=new R,Dx=new Q;});function cf(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")zx(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&&uf(h.shapePath,l,true,r,e),h&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=h.shapePath.shapePrimitives),uf(a,l,n,r,e);}}}function zx(i,t,e){let{vertices:r,uvs:s,indices:o}=e,n=o.length,a=r.length/2,l=[],h=to.rectangle,u=Ux,c=i.image;u.x=i.dx,u.y=i.dy,u.width=i.dw,u.height=i.dh;let f=i.transform;h.build(u,l),f&&xa(l,f),h.triangulate(l,r,2,a,o,n);let d=c.uvs;s.push(d.x0,d.y0,d.x1,d.y1,d.x3,d.y3,d.x2,d.y2);let m=Y.get(De);m.indexOffset=n,m.indexSize=o.length-n,m.attributeOffset=a,m.attributeSize=r.length/2-a,m.baseColor=i.style,m.alpha=i.alpha,m.texture=c,m.geometryData=e,t.push(m);}function uf(i,t,e,r,s){let{vertices:o,uvs:n,indices:a}=s;i.shapePrimitives.forEach(({shape:l,transform:h,holes:u})=>{let c=a.length,f=o.length/2,d=[],m=to[l.type],_="triangle-list";if(m.build(l,d),h&&xa(d,h),e){let v=l.closePath??true,b=t;b.pixelLine?(Yd(d,v,o,a),_="line-list"):Vd(d,b,false,v,o,a);}else if(u){let v=[],b=d.slice();Hx(u).forEach(S=>{v.push(b.length/2),b.push(...S);}),Js(b,v,o,2,f,a,c);}else m.triangulate(d,o,2,f,a,c);let x=n.length/2,p=t.texture;if(p!==G.WHITE){let v=lf(Nx,t,l,h);Ld(o,2,f,n,x,2,o.length/2-f,v);}else Fd(n,x,2,o.length/2-f);let y=Y.get(De);y.indexOffset=c,y.indexSize=a.length-c,y.attributeOffset=f,y.attributeSize=o.length/2-f,y.baseColor=t.color,y.alpha=t.alpha,y.texture=p,y.geometryData=s,y.topology=_,r.push(y);});}function Hx(i){let t=[];for(let e=0;e<i.length;e++){let r=i[e].shape,s=[];to[r.type].build(r,s),t.push(s);}return t}var to,Ux,Nx,df=g(()=>{F();rt();It();Gd();kd();xt();Ot();_a();Ud();Wd();$d();Jd();ef();sf();hf();wa();to={};k.handleByMap(w.ShapeBuilder,to);k.add(tf,Qd,rf,fr,Od,Dd);Ux=new Q,Nx=new R;});var Ma,Ea,Ra,gr,eo=g(()=>{F();fc();Bd();cn();dt();Ot();df();Ma=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},Ea=class{constructor(){this.batcher=new Id,this.instructions=new Ke;}init(){this.instructions.reset();}get geometry(){return D(ch,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},Ra=class Aa{constructor(t){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),t.renderableGC.addManagedHash(this,"_gpuContextHash"),t.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(t){Aa.defaultOptions.bezierSmoothness=t?.bezierSmoothness??Aa.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),cf(t,e);let r=t.batchMode;t.customShader||r==="no-batch"?e.isBatchable=false:r==="auto"&&(e.isBatchable=e.geometryData.vertices.length<400),t.dirty=false;}return e}getGpuContext(t){return this._gpuContextHash[t.uid]||this._initContext(t)}_initContextRenderData(t){let e=Y.get(Ea),{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=dc(c.textures.textures,c.textures.count);}return this._graphicsDataContextHash[t.uid]=e,e}_initContext(t){let e=new Ma;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]&&(Y.return(this.getContextRenderData(t)),this._graphicsDataContextHash[t.uid]=null),e.batches&&e.batches.forEach(r=>{Y.return(r);});}destroy(){for(let t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context);}};Ra.extension={type:[w.WebGLSystem,w.WebGPUSystem,w.CanvasSystem],name:"graphicsContext"};Ra.defaultOptions={bezierSmoothness:.5};gr=Ra;});var Vx,Ia,Ba,La,Fa,Ga,ka,Oa,ze,ro=g(()=>{Vx={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},Ia=0,Ba=1,La=2,Fa=3,Ga=4,ka=5,Oa=class ff{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<Ia)}set blend(t){!!(this.data&1<<Ia)!==t&&(this.data^=1<<Ia);}get offsets(){return !!(this.data&1<<Ba)}set offsets(t){!!(this.data&1<<Ba)!==t&&(this.data^=1<<Ba);}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<<La)}set culling(t){!!(this.data&1<<La)!==t&&(this.data^=1<<La);}get depthTest(){return !!(this.data&1<<Fa)}set depthTest(t){!!(this.data&1<<Fa)!==t&&(this.data^=1<<Fa);}get depthMask(){return !!(this.data&1<<ka)}set depthMask(t){!!(this.data&1<<ka)!==t&&(this.data^=1<<ka);}get clockwiseFrontFace(){return !!(this.data&1<<Ga)}set clockwiseFrontFace(t){!!(this.data&1<<Ga)!==t&&(this.data^=1<<Ga);}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=Vx[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 ff;return t.depthTest=false,t.blend=true,t}};Oa.default2d=Oa.for2d();ze=Oa;});function ve(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 gi=g(()=>{});var xi,pf=g(()=>{F();ro();Ot();gi();_a();xi=class{constructor(t,e){this.state=ze.for2d(),this._graphicsBatchesHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.renderer=t,this._adaptor=e,this._adaptor.init(),this.renderer.renderableGC.addManagedHash(this,"_graphicsBatchesHash");}validateRenderable(t){let e=t.context,r=!!this._graphicsBatchesHash[t.uid],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 e=this._graphicsBatchesHash[t.uid];if(e)for(let r=0;r<e.length;r++){let s=e[r];s._batcher.updateElement(s);}}destroyRenderable(t){this._graphicsBatchesHash[t.uid]&&this._removeBatchForRenderable(t.uid),t.off("destroyed",this._destroyRenderableBound);}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,ve(t.groupColorAlpha,n.uColor,0),this._adaptor.execute(this,t);}_rebuild(t){let e=!!this._graphicsBatchesHash[t.uid],r=this.renderer.graphicsContext.updateGpuContext(t.context);e&&this._removeBatchForRenderable(t.uid),r.isBatchable&&this._initBatchesForRenderable(t),t.batched=r.isBatchable;}_addToBatcher(t,e){let r=this.renderer.renderPipes.batch,s=this._getBatchesForRenderable(t);for(let o=0;o<s.length;o++){let n=s[o];r.addToBatch(n,e);}}_getBatchesForRenderable(t){return this._graphicsBatchesHash[t.uid]||this._initBatchesForRenderable(t)}_initBatchesForRenderable(t){let e=t.context,r=this.renderer.graphicsContext.getGpuContext(e),s=this.renderer._roundPixels|t._roundPixels,o=r.batches.map(n=>{let a=Y.get(De);return n.copyTo(a),a.renderable=t,a.roundPixels=s,a});return this._graphicsBatchesHash[t.uid]===void 0&&t.on("destroyed",this._destroyRenderableBound),this._graphicsBatchesHash[t.uid]=o,o}_removeBatchForRenderable(t){this._graphicsBatchesHash[t].forEach(e=>{Y.return(e);}),this._graphicsBatchesHash[t]=null;}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;for(let t in this._graphicsBatchesHash)this._removeBatchForRenderable(t);this._graphicsBatchesHash=null;}};xi.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"graphics"};});var Da=g(()=>{F();eo();pf();k.add(xi);k.add(gr);});var Se,io=g(()=>{Se=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 _i,mf=g(()=>{F();rt();ai();be();li();Ot();gi();io();_i=class{constructor(t,e){this.localUniforms=new Pt({uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new Dt({0:this.localUniforms}),this._meshDataHash=Object.create(null),this._gpuBatchableMeshHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.renderer=t,this._adaptor=e,this._adaptor.init(),t.renderableGC.addManagedHash(this,"_gpuBatchableMeshHash"),t.renderableGC.addManagedHash(this,"_meshDataHash");}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._gpuBatchableMeshHash[t.uid];e.setTexture(t._texture),e.geometry=t._geometry,e._batcher.updateElement(e);}}destroyRenderable(t){this._meshDataHash[t.uid]=null;let e=this._gpuBatchableMeshHash[t.uid];e&&(Y.return(e),this._gpuBatchableMeshHash[t.uid]=null),t.off("destroyed",this._destroyRenderableBound);}execute(t){if(!t.isRenderable)return;t.state.blendMode=ue(t.groupBlendMode,t.texture._source);let e=this.localUniforms;e.uniforms.uTransformMatrix=t.groupTransform,e.uniforms.uRound=this.renderer._roundPixels|t._roundPixels,e.update(),ve(t.groupColorAlpha,e.uniforms.uColor,0),this._adaptor.execute(this,t);}_getMeshData(t){return this._meshDataHash[t.uid]||this._initMeshData(t)}_initMeshData(t){return this._meshDataHash[t.uid]={batched:t.batched,indexSize:t._geometry.indices?.length,vertexSize:t._geometry.positions?.length},t.on("destroyed",this._destroyRenderableBound),this._meshDataHash[t.uid]}_getBatchableMesh(t){return this._gpuBatchableMeshHash[t.uid]||this._initBatchableMesh(t)}_initBatchableMesh(t){let e=Y.get(Se);return e.renderable=t,e.setTexture(t._texture),e.transform=t.groupTransform,e.roundPixels=this.renderer._roundPixels|t._roundPixels,this._gpuBatchableMeshHash[t.uid]=e,e}destroy(){for(let t in this._gpuBatchableMeshHash)this._gpuBatchableMeshHash[t]&&Y.return(this._gpuBatchableMeshHash[t]);this._gpuBatchableMeshHash=null,this._meshDataHash=null,this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};_i.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"mesh"};});var Ua=g(()=>{F();mf();k.add(_i);});var so,gf=g(()=>{so=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 Na(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 xf=g(()=>{});function yf(i){return {dynamicUpdate:_f(i,true),staticUpdate:_f(i,false)}}function _f(i,t){let e=[];e.push(`
|
|
254
254
|
|
|
255
255
|
var index = 0;
|
|
256
256
|
|
|
@@ -364,8 +364,8 @@ fn mainFragment(
|
|
|
364
364
|
var sample = textureSample(uTexture, uSampler, uv) * color;
|
|
365
365
|
|
|
366
366
|
return sample;
|
|
367
|
-
}`;});var no,Mf=g(()=>{Mt();rt();Os();Ns();di();xt();pn();Tf();Cf();Pf();no=class extends ee{constructor(){let t=ar.from({vertex:wf,fragment:Sf}),e=_e.from({fragment:{source:za,entryPoint:"mainFragment"},vertex:{source:za,entryPoint:"mainVertex"}});super({glProgram:t,gpuProgram:e,resources:{uTexture:k.WHITE.source,uSampler:new us({}),uniforms:{uTranslationMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new $(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}});}};});var xr,Ha=g(()=>{rt();be();li();ro();gi();vf();Mf();xr=class{constructor(t,e){this.state=ze.for2d(),this._gpuBufferHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.localUniforms=new Pt({uTranslationMatrix:{value:new R,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 no,this.state=ze.for2d();}validateRenderable(t){return false}addRenderable(t,e){this.renderer.renderPipes.batch.break(e),e.add(t);}getBuffers(t){return this._gpuBufferHash[t.uid]||this._initBuffer(t)}_initBuffer(t){return this._gpuBufferHash[t.uid]=new oo({size:t.particleChildren.length,properties:t._properties}),t.on("destroyed",this._destroyRenderableBound),this._gpuBufferHash[t.uid]}updateRenderable(t){}destroyRenderable(t){this._gpuBufferHash[t.uid].destroy(),this._gpuBufferHash[t.uid]=null,t.off("destroyed",this._destroyRenderableBound);}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=ue(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,ve(t.groupColorAlpha,n.uColor,0),this.adaptor.execute(this,t);}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null);}};});var yi,Ef=g(()=>{F();gf();Ha();yi=class extends xr{constructor(t){super(t,new so);}};yi.extension={type:[w.WebGLPipes],name:"particle"};});var ao,Af=g(()=>{ao=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 bi,Rf=g(()=>{F();Af();Ha();bi=class extends xr{constructor(t){super(t,new ao);}};bi.extension={type:[w.WebGPUPipes],name:"particle"};});var Va=g(()=>{F();Ef();Rf();G.add(yi);G.add(bi);});var _r,Wa=g(()=>{_r=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;}};});function vi(i,t){let{texture:e,bounds:r}=i;Ts(r,t._anchor,e);let s=t._style.padding;r.minX-=s,r.minY-=s,r.maxX-=s,r.maxY-=s;}var Ya=g(()=>{zn();});var Si,If=g(()=>{F();Ot();Wa();Ya();Si=class{constructor(t){this._gpuText=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.runners.resolutionChange.add(this),this._renderer.renderableGC.addManagedHash(this,"_gpuText");}resolutionChange(){for(let t in this._gpuText){let e=this._gpuText[t];if(!e)continue;let r=e.batchableSprite.renderable;r._autoResolution&&(r._resolution=this._renderer.resolution,r.onViewUpdate());}}validateRenderable(t){let e=this._getGpuText(t),r=t._getKey();return e.currentKey!==r}addRenderable(t,e){let s=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),this._renderer.renderPipes.batch.addToBatch(s,e);}updateRenderable(t){let r=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),r._batcher.updateElement(r);}destroyRenderable(t){t.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(t.uid);}_destroyRenderableById(t){let e=this._gpuText[t];this._renderer.canvasText.decreaseReferenceCount(e.currentKey),W.return(e.batchableSprite),this._gpuText[t]=null;}_updateText(t){let e=t._getKey(),r=this._getGpuText(t),s=r.batchableSprite;r.currentKey!==e&&this._updateGpuText(t),t._didTextUpdate=false,vi(s,t);}_updateGpuText(t){let e=this._getGpuText(t),r=e.batchableSprite;e.texture&&this._renderer.canvasText.decreaseReferenceCount(e.currentKey),e.texture=r.texture=this._renderer.canvasText.getManagedTexture(t),e.currentKey=t._getKey(),r.texture=e.texture;}_getGpuText(t){return this._gpuText[t.uid]||this.initGpuText(t)}initGpuText(t){let e={texture:null,currentKey:"--",batchableSprite:W.get(_r)};return e.batchableSprite.renderable=t,e.batchableSprite.transform=t.groupTransform,e.batchableSprite.bounds={minX:0,maxX:1,minY:0,maxY:0},e.batchableSprite.roundPixels=this._renderer._roundPixels|t._roundPixels,this._gpuText[t.uid]=e,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,this._updateText(t),t.on("destroyed",this._destroyRenderableBound),e}destroy(){for(let t in this._gpuText)this._destroyRenderableById(t);this._gpuText=null,this._renderer=null;}};Si.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"text"};});var $a,$t,Ti=g(()=>{Wt();Yr();$a=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=ae(t),e=ae(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={};}},$t=new $a;});function Bf(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 Lf(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 Ff(i,t=1){let{width:e,height:r}=i,s=i.getContext("2d",{willReadFrequently:true});if(s===null)throw new TypeError("Failed to get canvas 2D context");let n=s.getImageData(0,0,e,r).data,a=0,l=0,h=e-1,u=r-1;for(;l<r&&Bf(n,e,l);)++l;if(l===r)return Q.EMPTY;for(;Bf(n,e,u);)--u;for(;Lf(n,e,a,l,u);)++a;for(;Lf(n,e,h,l,u);)--h;return ++h,++u,new Q(a/t,l/t,(h-a)/t,(u-l)/t)}var kf=g(()=>{It();});var Gf,ce,lo=g(()=>{rt();wt();Gf={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"}},ce=class{constructor(t,e){this.uid=j("fillPattern"),this.transform=new R,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=Gf[e].addressModeU,t.source.style.addressModeV=Gf[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 Df=Or((JE,Of)=>{Of.exports=$x;var Xa={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Yx=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function $x(i){var t=[];return i.replace(Yx,function(e,r,s){var o=r.toLowerCase();for(s=jx(s),o=="m"&&s.length>2&&(t.push([r].concat(s.splice(0,2))),o="l",r=r=="m"?"l":"L");;){if(s.length==Xa[o])return s.unshift(r),t.push(s);if(s.length<Xa[o])throw new Error("malformed path data");t.push([r].concat(s.splice(0,Xa[o])));}}),t}var Xx=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function jx(i){var t=i.match(Xx);return t?t.map(Number):[]}});function Nf(i,t){let e=(0, Uf.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 Uf,zf=g(()=>{Uf=Dr(Df());bt();});var ho,Hf=g(()=>{It();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 Q),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,Vf=g(()=>{It();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,m=e-this.y,_=d*d/(h*h)+m*m/(u*u),x=d*d/(c*c)+m*m/(f*f);return _>1&&x<=1}getBounds(t){return t||(t=new Q),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 Wf(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 _=i-d,x=t-m;return _*_+x*x}var Yf=g(()=>{});var Kx,qx,yr,$f=g(()=>{Yf();It();yr=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(Kx),r=t.getBounds(qx);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],_=Wf(t,e,c,f,d,m),x=Math.sign((d-c)*(e-f)-(m-f)*(t-c));if(_<=(x<0?a:n))return true}return false}getBounds(t){t||(t=new Q);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 co,fo,Xf=g(()=>{It();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 Q),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,_=l-h*2,x=o+a,p=n+l;return (t>=o-u&&t<=o+c||t>=x-c&&t<=x+u)&&e>=d&&e<=d+_||(e>=n-u&&e<=n+c||e>=p-c&&e<=p+u)&&t>=f&&t<=f+m?true:t<f&&e<d&&co(t,e,f,d,h,c,u)||t>x-h&&e<d&&co(t,e,x-h,d,h,c,u)||t>x-h&&e>p-h&&co(t,e,x-h,p-h,h,c,u)||t<f&&e>p-h&&co(t,e,f,p-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??gr.defaultOptions.bezierSmoothness)),f=(Qx-c)/1;return f*=f,Jx(t,e,r,s,o,n,a,l,i,f),i}function Jx(i,t,e,r,s,o,n,a,l,h){Ka(i,t,e,r,s,o,n,a,l,h,0),l.push(n,a);}function Ka(i,t,e,r,s,o,n,a,l,h,u){if(u>Zx)return;let c=Math.PI,f=(i+e)/2,d=(t+r)/2,m=(e+s)/2,_=(r+o)/2,x=(s+n)/2,p=(o+a)/2,y=(f+m)/2,v=(d+_)/2,b=(m+x)/2,C=(_+p)/2,S=(y+b)/2,T=(v+C)/2;if(u>0){let P=n-i,I=a-t,E=Math.abs((e-n)*I-(r-a)*P),A=Math.abs((s-n)*I-(o-a)*P),N,J;if(E>po&&A>po){if((E+A)*(E+A)<=h*(P*P+I*I)){if(br<ja){l.push(S,T);return}let mt=Math.atan2(o-r,s-e);if(N=Math.abs(mt-Math.atan2(r-t,e-i)),J=Math.abs(Math.atan2(a-o,n-s)-mt),N>=c&&(N=2*c-N),J>=c&&(J=2*c-J),N+J<br){l.push(S,T);return}if(He!==0){if(N>He){l.push(e,r);return}if(J>He){l.push(s,o);return}}}}else if(E>po){if(E*E<=h*(P*P+I*I)){if(br<ja){l.push(S,T);return}if(N=Math.abs(Math.atan2(o-r,s-e)-Math.atan2(r-t,e-i)),N>=c&&(N=2*c-N),N<br){l.push(e,r),l.push(s,o);return}if(He!==0&&N>He){l.push(e,r);return}}}else if(A>po){if(A*A<=h*(P*P+I*I)){if(br<ja){l.push(S,T);return}if(N=Math.abs(Math.atan2(a-o,n-s)-Math.atan2(o-r,s-e)),N>=c&&(N=2*c-N),N<br){l.push(e,r),l.push(s,o);return}if(He!==0&&N>He){l.push(s,o);return}}}else if(P=S-(i+n)/2,I=T-(t+a)/2,P*P+I*I<=h){l.push(S,T);return}}Ka(i,t,f,d,y,v,S,T,l,h,u+1),Ka(S,T,b,C,x,p,n,a,l,h,u+1);}var Zx,po,Qx,ja,br,He,qa=g(()=>{eo();Zx=8,po=11920929e-14,Qx=1,ja=.01,br=0,He=0;});function Kf(i,t,e,r,s,o,n,a){let h=Math.min(.99,Math.max(0,a??gr.defaultOptions.bezierSmoothness)),u=(r_-h)/1;return u*=u,s_(t,e,r,s,o,n,i,u),i}function s_(i,t,e,r,s,o,n,a){Za(n,i,t,e,r,s,o,a,0),n.push(s,o);}function Za(i,t,e,r,s,o,n,a,l){if(l>t_)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,_=(c+d)/2,x=o-t,p=n-e,y=Math.abs((r-o)*p-(s-n)*x);if(y>e_){if(y*y<=a*(x*x+p*p)){if(jf<i_){i.push(m,_);return}let v=Math.abs(Math.atan2(n-s,o-r)-Math.atan2(s-e,r-t));if(v>=h&&(v=2*h-v),v<jf){i.push(m,_);return}}}else if(x=m-(t+o)/2,p=_-(e+n)/2,x*x+p*p<=a){i.push(m,_);return}Za(i,t,e,u,c,m,_,a,l+1),Za(i,m,_,f,d,o,n,a,l+1);}var t_,e_,r_,i_,jf,qf=g(()=>{eo();t_=8,e_=11920929e-14,r_=1,i_=.01,jf=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),m=t+f*r,_=e+d*r;i.push(m,_),u+=h;}}var Qa=g(()=>{});function Zf(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,_=l*u+h*c,x=o*Math.sqrt(d)/f,p=o*Math.sqrt(m)/f,y=x*_/d,v=p*_/m,b=x*c+p*h,C=x*u+p*l,S=h*(p+y),T=l*(p+y),P=c*(x+v),I=u*(x+v),E=Math.atan2(T-C,S-b),A=Math.atan2(I-C,P-b);go(i,b+t,C+e,o,E,A,h*u>c*l);}var Qf=g(()=>{Qa();});function o_(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 tp(i,t,e,r,s,o,n,a=0,l=0,h=0){if(o===0||n===0)return;let u=Math.sin(a*wi/360),c=Math.cos(a*wi/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)),n_(t,e,r,s,o,n,l,h,u,c,f,d,Ja);let{ang1:_,ang2:x}=Ja,{centerX:p,centerY:y}=Ja,v=Math.abs(x)/(wi/4);Math.abs(1-v)<1e-7&&(v=1);let b=Math.max(Math.ceil(v),1);x/=b;let C=i[i.length-2],S=i[i.length-1],T={x:0,y:0};for(let P=0;P<b;P++){let I=o_(_,x),{x:E,y:A}=tl(I[0],o,n,c,u,p,y,T),{x:N,y:J}=tl(I[1],o,n,c,u,p,y,T),{x:mt,y:Br}=tl(I[2],o,n,c,u,p,y,T);mo(i,C,S,E,A,N,J,mt,Br),C=mt,S=Br,_+=x;}}var wi,Ja,tl,Jf,n_,ep=g(()=>{qa();wi=Math.PI*2,Ja={centerX:0,centerY:0,ang1:0,ang2:0},tl=({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};Jf=(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)},n_=(i,t,e,r,s,o,n,a,l,h,u,c,f)=>{let d=Math.pow(s,2),m=Math.pow(o,2),_=Math.pow(u,2),x=Math.pow(c,2),p=d*m-d*x-m*_;p<0&&(p=0),p/=d*x+m*_,p=Math.sqrt(p)*(n===a?-1:1);let y=p*s/o*c,v=p*-o/s*u,b=h*y-l*v+(i+e)/2,C=l*y+h*v+(t+r)/2,S=(u-y)/s,T=(c-v)/o,P=(-u-y)/s,I=(-c-v)/o,E=Jf(1,0,S,T),A=Jf(S,T,P,I);a===0&&A>0&&(A-=wi),a===1&&A<0&&(A+=wi),f.centerX=b,f.centerY=C,f.ang1=E,f.ang2=A;};});function rp(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 _=f/2,x,p=Math.abs(Math.cos(_)*l/Math.sin(_));p>Math.min(u.len/2,c.len/2)?(p=Math.min(u.len/2,c.len/2),x=Math.abs(p*Math.sin(_)/Math.cos(_))):x=l;let y=a.x+c.nx*p+-c.ny*x*d,v=a.y+c.ny*p+c.nx*x*d,b=Math.atan2(u.ny,u.nx)+Math.PI/2*d,C=Math.atan2(c.ny,c.nx)-Math.PI/2*d;n===0&&i.moveTo(y+Math.cos(b)*x,v+Math.sin(b)*x),i.arc(y,v,x,b,C,m),o=a;}}function ip(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),_;if(m<1e-4)_=l;else {let x=Math.min(m/2,h);_=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,_.x,_.y,r);}}var sp=g(()=>{});var a_,xo,op=g(()=>{Hf();Vf();$f();It();Xf();Ht();qa();qf();Qa();Qf();ep();sp();a_=new Q,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 Zf(n,t,e,r,s,o),this}arcToSvg(t,e,r,s,o,n,a){let l=this._currentPoly.points;return tp(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 Kf(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 Q(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 yr(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),_=e+r*Math.sin(d),x=d+Math.PI+c,p=d-Math.PI-c,y=m+o*Math.cos(x),v=_+o*Math.sin(x),b=m+o*Math.cos(p),C=_+o*Math.sin(p);f===0?this.moveTo(y,v):this.lineTo(y,v),this.quadraticCurveTo(m,_,b,C,a);}return this.closePath()}roundShape(t,e,r=false,s){return t.length<3?this:(r?ip(this,t,e,s):rp(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 yr,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 yr,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(a_);s.transform?t.addRect(o,s.transform):t.addRect(o);}return t}};});function Ci(i,t){return i?i.prepend(t):t.clone()}var Te,el=g(()=>{zt();wt();bt();zf();op();Te=class i{constructor(t,e=false){this.instructions=[],this.uid=j("graphicsPath"),this._dirty=true,this.checkForHoles=e,typeof t=="string"?Nf(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(X.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(X.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,_=0;for(let x=0;x<this.instructions.length;x++){let p=this.instructions[x],y=p.data;switch(p.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],_=y[1],y[0]=e*m+s*_,y[1]=r*m+o*_,y[5]=e*l+s*h+n,y[6]=r*l+o*h+a;break;case "circle":y[4]=Ci(y[3],t);break;case "rect":y[4]=Ci(y[4],t);break;case "ellipse":y[8]=Ci(y[8],t);break;case "roundRect":y[5]=Ci(y[5],t);break;case "addPath":y[0].transform(t);break;case "poly":y[2]=Ci(y[2],t);break;default:z("unknown transform action",p.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 rl=g(()=>{});function np(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]=l_(n);break;case "radialgradient":t.defs[n.id]=h_();break;}}}}function l_(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 At(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=$.shared.setValue(l.getAttribute("stop-color")).toNumber();n.addColorStop(h,u);}return n}function h_(i){return z("[SVG Parser] Radial gradients are not yet supported"),new At(0,0,1,0)}var ap=g(()=>{Mt();bt();mr();rl();});function il(i){let t=i.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return t?t[1]:""}var lp=g(()=>{});function sl(i,t){let e=i.getAttribute("style"),r={},s={},o={strokeStyle:r,fillStyle:s,useFill:false,useStroke:false};for(let n in hp){let a=i.getAttribute(n);a&&up(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(":");hp[h]&&up(t,o,h,u.trim());}}return {strokeStyle:o.useStroke?r:null,fillStyle:o.useFill?s:null,useFill:o.useFill,useStroke:o.useStroke}}function up(i,t,e,r){switch(e){case "stroke":if(r!=="none"){if(r.startsWith("url(")){let s=il(r);t.strokeStyle.fill=i.defs[s];}else t.strokeStyle.color=$.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=il(r);t.fillStyle.fill=i.defs[s];}else t.fillStyle.color=$.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 hp,cp=g(()=>{Mt();lp();hp={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 dp(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 Te};np(i,e);let r=i.children,{fillStyle:s,strokeStyle:o}=sl(i,e);for(let n=0;n<r.length;n++){let a=r[n];a.nodeName.toLowerCase()!=="defs"&&fp(a,e,s,o);}return t}function fp(i,t,e,r){let s=i.children,{fillStyle:o,strokeStyle:n}=sl(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,_,x,p,y,v,b,C,S,T,P;switch(i.nodeName.toLowerCase()){case "path":C=i.getAttribute("d"),i.getAttribute("fill-rule")==="evenodd"&&z("SVG Evenodd fill rule not supported, your svg may render incorrectly"),S=new Te(C,true),t.context.path(S),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "circle":m=st(i,"cx",0),_=st(i,"cy",0),x=st(i,"r",0),t.context.ellipse(m,_,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),T=st(i,"width",0),P=st(i,"height",0),p=st(i,"rx",0),y=st(i,"ry",0),p||y?t.context.roundRect(l,h,T,P,p||y):t.context.rect(l,h,T,P),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "ellipse":m=st(i,"cx",0),_=st(i,"cy",0),p=st(i,"rx",0),y=st(i,"ry",0),t.context.beginPath(),t.context.ellipse(m,_,p,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":b=i.getAttribute("points"),v=b.match(/\d+/g).map(I=>parseInt(I,10)),t.context.poly(v,true),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "polyline":b=i.getAttribute("points"),v=b.match(/\d+/g).map(I=>parseInt(I,10)),t.context.poly(v,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 I=0;I<s.length;I++)fp(s[I],t,e,r);}var pp=g(()=>{bt();el();ap();rl();cp();});function u_(i){return $.isColorLike(i)}function mp(i){return i instanceof ce}function gp(i){return i instanceof At}function c_(i){return i instanceof k}function d_(i,t,e){let r=$.shared.setValue(t??0);return i.color=r.toNumber(),i.alpha=r.alpha===1?e.alpha:r.alpha,i.texture=k.WHITE,{...e,...i}}function f_(i,t,e){return i.texture=t,{...e,...i}}function xp(i,t,e){return i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,{...e,...i}}function _p(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 p_(i,t){let e={...t,...i},r=$.shared.setValue(e.color);return e.alpha*=r.alpha,e.color=r.toNumber(),e}function de(i,t){if(i==null)return null;let e={},r=i;return u_(i)?d_(e,i,t):c_(i)?f_(e,i,t):mp(i)?xp(e,i,t):gp(i)?_p(e,i,t):r.fill&&mp(r.fill)?xp(r,r.fill,t):r.fill&&gp(r.fill)?_p(r,r.fill,t):p_(r,t)}function vr(i,t){let{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...l}=t,h=de(i,l);return h?{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...h}:null}var ol=g(()=>{Mt();xt();mr();lo();});var m_,yp,nl,Ft,al=g(()=>{Rt();Mt();rt();zt();xt();wt();dt();Ht();el();pp();ol();m_=new X,yp=new R,nl=class re extends K{constructor(){super(...arguments),this.uid=j("graphicsContext"),this.dirty=true,this.batchMode="auto",this.instructions=[],this._activePath=new Te,this._transform=new R,this._fillStyle={...re.defaultFillStyle},this._strokeStyle={...re.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new ot,this._boundsDirty=true;}clone(){let t=new re;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=de(t,re.defaultFillStyle);}get strokeStyle(){return this._strokeStyle}set strokeStyle(t){this._strokeStyle=vr(t,re.defaultStrokeStyle);}setFillStyle(t){return this._fillStyle=de(t,re.defaultFillStyle),this}setStrokeStyle(t){return this._strokeStyle=de(t,re.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?$.shared.setValue(e).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new Te,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"&&(O(V,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),t={color:t,alpha:e}),this._fillStyle=de(t,re.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(X.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=vr(t,re.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++,dp(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 R?(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 R?(this._transform.append(t),this):(yp.set(t,e,r,s,o,n),this._transform.append(yp),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,m_):t;if(o.action==="fill")r=c.contains(d.x,d.y);else {let _=l;r=c.strokeContains(d.x,d.y,_.width,_.alignment);}let m=n.hole;if(m){let _=m.shapePath?.shapePrimitives;if(_)for(let x=0;x<_.length;x++)_[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;}};nl.defaultFillStyle={color:16777215,alpha:1,texture:k.WHITE,matrix:null,fill:null,textureSpace:"local"};nl.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:k.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:false};Ft=nl;});function _o(i){let t=[],e=0;for(let r=0;r<bp.length;r++){let s=`_${bp[r]}`;t[e++]=i[s];}return e=vp(i._fill,t,e),e=g_(i._stroke,t,e),e=x_(i.dropShadow,t,e),t.join("-")}function vp(i,t,e){return i&&(t[e++]=i.color,t[e++]=i.alpha,t[e++]=i.fill?.styleKey),e}function g_(i,t,e){return i&&(e=vp(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 x_(i,t,e){return i&&(t[e++]=i.alpha,t[e++]=i.angle,t[e++]=i.blur,t[e++]=i.distance,t[e++]=$.shared.setValue(i.color).toNumber()),e}var bp,ll=g(()=>{Mt();bp=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"];});function __(i){let t=i;if(typeof t.dropShadow=="boolean"&&t.dropShadow){let e=Ut.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){O(V,"strokeThickness is now a part of stroke");let e=t.stroke,r={};if($.isColorLike(e))r.color=e;else if(e instanceof At||e instanceof ce)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)){O(V,"gradient fill is now a fill pattern: `new FillGradient(...)`");let e;i.fontSize==null?i.fontSize=Ut.defaultTextStyle.fontSize:typeof i.fontSize=="string"?e=parseInt(i.fontSize,10):e=i.fontSize;let r=new At({start:{x:0,y:0},end:{x:0,y:(e||0)*1.7}}),s=t.fillGradientStops.map(o=>$.shared.setValue(o).toNumber());s.forEach((o,n)=>{let a=n/(s.length-1);r.addColorStop(a,o);}),i.fill={fill:r};}}var hl,Ut,Pi=g(()=>{Rt();Mt();dt();mr();lo();al();ol();ll();hl=class Sr extends K{constructor(t={}){super(),__(t);let e={...Sr.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({...Sr.defaultDropShadow,...t}):this._dropShadow=t?this._createProxy({...Sr.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 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({...Ft.defaultFillStyle,...t},()=>{this._fill=de({...this._originalFill},Ft.defaultFillStyle);})),this._fill=de(t===0?"black":t,Ft.defaultFillStyle),this.update());}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...Ft.defaultStrokeStyle,...t},()=>{this._stroke=vr({...this._originalStroke},Ft.defaultStrokeStyle);})),this._stroke=vr(t,Ft.defaultStrokeStyle),this.update());}_generateKey(){return this._styleKey=_o(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this);}reset(){let t=Sr.defaultTextStyle;for(let e in t)this[e]=t[e];}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new Sr({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})}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&&!($.isColorLike(t)||t instanceof At||t instanceof ce)}};hl.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};hl.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};Ut=hl;});function yo(i,t,e,r){let s=y_;s.minX=0,s.minY=0,s.maxX=i.width/r|0,s.maxY=i.height/r|0;let o=vt.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 y_,ul=g(()=>{qe();Ht();y_=new ot;});function Ve(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)&&!b_.includes(s)&&(s=`"${s}"`),e[r]=s;}return `${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${t} ${e.join(",")}`}var b_,bo=g(()=>{b_=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];});var cl,Xt,ie,dl=g(()=>{Wt();bo();cl={willReadFrequently:true},Xt=class L{static get experimentalLetterSpacingSupported(){let t=L._experimentalLetterSpacingSupported;if(t!==void 0){let e=nt.get().getCanvasRenderingContext2D().prototype;t=L._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=L._canvas,s=e.wordWrap){let o=`${t}:${e.styleKey}`;if(L._measurementCache[o])return L._measurementCache[o];let n=Ve(e),a=L.measureFont(n);a.fontSize===0&&(a.fontSize=e.fontSize,a.ascent=e.fontSize);let l=L.__context;l.font=n;let u=(s?L._wordWrap(t,e,r):t).split(/(?:\r\n|\r|\n)/),c=new Array(u.length),f=0;for(let y=0;y<u.length;y++){let v=L._measureText(u[y],e.letterSpacing,l);c[y]=v,f=Math.max(f,v);}let d=e._stroke?.width||0,m=f+d;e.dropShadow&&(m+=e.dropShadow.distance);let _=e.lineHeight||a.fontSize,x=Math.max(_,a.fontSize+d)+(u.length-1)*(_+e.leading);return e.dropShadow&&(x+=e.dropShadow.distance),new L(t,e,m,x,u,c,_+e.leading,f,a)}static _measureText(t,e,r){let s=false;L.experimentalLetterSpacingSupported&&(L.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=(L.graphemeSegmenter(t).length-1)*e;n+=u,h+=u;}return Math.max(n,h)}static _wordWrap(t,e,r=L._canvas){let s=r.getContext("2d",cl),o=0,n="",a="",l=Object.create(null),{letterSpacing:h,whiteSpace:u}=e,c=L._collapseSpaces(u),f=L._collapseNewlines(u),d=!c,m=e.wordWrapWidth+h,_=L._tokenize(t);for(let x=0;x<_.length;x++){let p=_[x];if(L._isNewline(p)){if(!f){a+=L._addLine(n),d=!c,n="",o=0;continue}p=" ";}if(c){let v=L.isBreakingSpace(p),b=L.isBreakingSpace(n[n.length-1]);if(v&&b)continue}let y=L._getFromCache(p,h,l,s);if(y>m)if(n!==""&&(a+=L._addLine(n),n="",o=0),L.canBreakWords(p,e.breakWords)){let v=L.wordWrapSplit(p);for(let b=0;b<v.length;b++){let C=v[b],S=C,T=1;for(;v[b+T];){let I=v[b+T];if(!L.canBreakChars(S,I,p,b,e.breakWords))C+=I;else break;S=I,T++;}b+=T-1;let P=L._getFromCache(C,h,l,s);P+o>m&&(a+=L._addLine(n),d=false,n="",o=0),n+=C,o+=P;}}else {n.length>0&&(a+=L._addLine(n),n="",o=0);let v=x===_.length-1;a+=L._addLine(p,!v),d=false,n="",o=0;}else y+o>m&&(d=false,a+=L._addLine(n),n="",o=0),(n.length>0||!L.isBreakingSpace(p)||d)&&(n+=p,o+=y);}return a+=L._addLine(n,false),a}static _addLine(t,e=true){return t=L._trimRight(t),t=e?`${t}
|
|
368
|
-
`:t,t}static _getFromCache(t,e,r,s){let o=r[t];return typeof o!="number"&&(o=L._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(!L.isBreakingSpace(r))break;t=t.slice(0,-1);}return t}static _isNewline(t){return typeof t!="string"?false:L._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?false:L._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(L.isBreakingSpace(o,n)||L._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 L.graphemeSegmenter(t)}static measureFont(t){if(L._fonts[t])return L._fonts[t];let e=L._context;e.font=t;let r=e.measureText(L.METRICS_STRING+L.BASELINE_SYMBOL),s={ascent:r.actualBoundingBoxAscent,descent:r.actualBoundingBoxDescent,fontSize:r.actualBoundingBoxAscent+r.actualBoundingBoxDescent};return L._fonts[t]=s,s}static clearMetrics(t=""){t?delete L._fonts[t]:L._fonts={};}static get _canvas(){if(!L.__canvas){let t;try{let e=new OffscreenCanvas(0,0);if(e.getContext("2d",cl)?.measureText)return L.__canvas=e,e;t=nt.get().createCanvas();}catch{t=nt.get().createCanvas();}t.width=t.height=10,L.__canvas=t;}return L.__canvas}static get _context(){return L.__context||(L.__context=L._canvas.getContext("2d",cl)),L.__context}};Xt.METRICS_STRING="|\xC9q\xC5";Xt.BASELINE_SYMBOL="M";Xt.BASELINE_MULTIPLIER=1.4;Xt.HEIGHT_MULTIPLIER=2;Xt.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let i=new Intl.Segmenter;return t=>[...i.segment(t)].map(e=>e.segment)}return i=>[...i]})();Xt.experimentalLetterSpacing=false;Xt._fonts={};Xt._newlines=[10,13];Xt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];Xt._measurementCache={};ie=Xt;});function Tr(i,t,e,r=0){if(i.texture===k.WHITE&&!i.fill)return $.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof ce){let s=i.fill,o=t.createPattern(s.texture.source.resource,"repeat"),n=s.transform.copyTo(R.shared);return n.scale(s.texture.frame.width,s.texture.frame.height),o.setTransform(n),o}else if(i.fill instanceof At){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 _=d+m.offset*c;h.addColorStop(Math.floor(_*Sp)/Sp,$.shared.setValue(m.color).toHex());});}}else s.colorStops.forEach(c=>{h.addColorStop(c.offset,$.shared.setValue(c.color).toHex());});return h}}else {let s=t.createPattern(i.texture.source.resource,"repeat"),o=i.matrix.copyTo(R.shared);return o.scale(i.texture.frame.width,i.texture.frame.height),s.setTransform(o),s}return z("FillStyle not recognised",i),"red"}var Sp,fl=g(()=>{Mt();rt();xt();bt();mr();lo();Sp=1e5;});var Mi,Tp=g(()=>{Mt();F();Yr();Ti();qe();kf();dt();Pi();ul();dl();bo();fl();Mi=class{constructor(t){this._activeTextures={},this._renderer=t;}getTextureSize(t,e,r){let s=ie.measureText(t||" ",r),o=Math.ceil(Math.ceil(Math.max(1,s.width)+r.padding*2)*e),n=Math.ceil(Math.ceil(Math.max(1,s.height)+r.padding*2)*e);return o=Math.ceil(o-1e-6),n=Math.ceil(n-1e-6),o=ae(o),n=ae(n),{width:o,height:n}}getTexture(t,e,r,s){typeof t=="string"&&(O("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),t={text:t,style:r,resolution:e}),t.style instanceof Ut||(t.style=new Ut(t.style));let{texture:o,canvasAndContext:n}=this.createTextureAndCanvas(t);return this._renderer.texture.initSource(o._source),$t.returnCanvasAndContext(n),o}createTextureAndCanvas(t){let{text:e,style:r}=t,s=t.resolution??this._renderer.resolution,o=ie.measureText(e||" ",r),n=Math.ceil(Math.ceil(Math.max(1,o.width)+r.padding*2)*s),a=Math.ceil(Math.ceil(Math.max(1,o.height)+r.padding*2)*s),l=$t.getOptimalCanvasAndContext(n,a),{canvas:h}=l;this.renderTextToCanvas(e,r,s,l);let u=yo(h,n,a,s);if(r.trim){let c=Ff(h,s);u.frame.copyFrom(c),u.updateUvs();}return {texture:u,canvasAndContext:l}}getManagedTexture(t){t._resolution=t._autoResolution?this._renderer.resolution:t.resolution;let e=t._getKey();if(this._activeTextures[e])return this._increaseReferenceCount(e),this._activeTextures[e].texture;let{texture:r,canvasAndContext:s}=this.createTextureAndCanvas(t);return this._activeTextures[e]={canvasAndContext:s,texture:r,usageCount:1},r}_increaseReferenceCount(t){this._activeTextures[t].usageCount++;}returnTexture(t){let e=t.source;e.resource=null,e.uploadMethodId="unknown",e.alphaMode="no-premultiply-alpha",vt.returnTexture(t);}decreaseReferenceCount(t){let e=this._activeTextures[t];e.usageCount--,e.usageCount===0&&($t.returnCanvasAndContext(e.canvasAndContext),this.returnTexture(e.texture),this._activeTextures[t]=null);}getReferenceCount(t){return this._activeTextures[t].usageCount}renderTextToCanvas(t,e,r,s){let{canvas:o,context:n}=s,a=Ve(e),l=ie.measureText(t||" ",e),h=l.lines,u=l.lineHeight,c=l.lineWidths,f=l.maxLineWidth,d=l.fontProperties,m=o.height;if(n.resetTransform(),n.scale(r,r),n.textBaseline=e.textBaseline,e._stroke?.width){let y=e._stroke;n.lineWidth=y.width,n.miterLimit=y.miterLimit,n.lineJoin=y.join,n.lineCap=y.cap;}n.font=a;let _,x,p=e.dropShadow?2:1;for(let y=0;y<p;++y){let v=e.dropShadow&&y===0,b=v?Math.ceil(Math.max(1,m)+e.padding*2):0,C=b*r;if(v){n.fillStyle="black",n.strokeStyle="black";let P=e.dropShadow,I=P.color,E=P.alpha;n.shadowColor=$.shared.setValue(I).setAlpha(E).toRgbaString();let A=P.blur*r,N=P.distance*r;n.shadowBlur=A,n.shadowOffsetX=Math.cos(P.angle)*N,n.shadowOffsetY=Math.sin(P.angle)*N+C;}else {if(n.fillStyle=e._fill?Tr(e._fill,n,l):null,e._stroke?.width){let P=e._stroke.width*e._stroke.alignment;n.strokeStyle=Tr(e._stroke,n,l,P);}n.shadowColor="black";}let S=(u-d.fontSize)/2;u-d.fontSize<0&&(S=0);let T=e._stroke?.width??0;for(let P=0;P<h.length;P++)_=T/2,x=T/2+P*u+d.ascent+S,e.align==="right"?_+=f-c[P]:e.align==="center"&&(_+=(f-c[P])/2),e._stroke?.width&&this._drawLetterSpacing(h[P],e,s,_+e.padding,x+e.padding-b,true),e._fill!==void 0&&this._drawLetterSpacing(h[P],e,s,_+e.padding,x+e.padding-b);}}_drawLetterSpacing(t,e,r,s,o,n=false){let{context:a}=r,l=e.letterSpacing,h=false;if(ie.experimentalLetterSpacingSupported&&(ie.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=ie.graphemeSegmenter(t),f=a.measureText(t).width,d=0;for(let m=0;m<c.length;++m){let _=c[m];n?a.strokeText(_,u,o):a.fillText(_,u,o);let x="";for(let p=m+1;p<c.length;++p)x+=c[p];d=a.measureText(x).width,u+=f-d+l,f=d;}}destroy(){this._activeTextures=null;}};Mi.extension={type:[w.WebGLSystem,w.WebGPUSystem,w.CanvasSystem],name:"canvasText"};});var pl=g(()=>{F();If();Tp();G.add(Mi);G.add(Si);});var vo,wp=g(()=>{dt();kn();al();vo=class i extends Je{constructor(t){t instanceof Ft&&(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 Ft,this._context.on("update",this.onViewUpdate,this),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){O(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){O(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(){O(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!==Ft.defaultStrokeStyle.width||t.color!==Ft.defaultStrokeStyle.color||t.alpha!==Ft.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return O(V,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return O(V,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return O(V,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return O(V,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return O(V,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return O(V,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}};});var Cp,Pp,Mp=g(()=>{Cp={name:"local-uniform-msdf-bit",vertex:{header:`
|
|
367
|
+
}`;});var no,Mf=g(()=>{Mt();rt();Os();Ns();di();xt();pn();Tf();Cf();Pf();no=class extends ee{constructor(){let t=ar.from({vertex:wf,fragment:Sf}),e=_e.from({fragment:{source:za,entryPoint:"mainFragment"},vertex:{source:za,entryPoint:"mainVertex"}});super({glProgram:t,gpuProgram:e,resources:{uTexture:G.WHITE.source,uSampler:new us({}),uniforms:{uTranslationMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new $(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}});}};});var xr,Ha=g(()=>{rt();be();li();ro();gi();vf();Mf();xr=class{constructor(t,e){this.state=ze.for2d(),this._gpuBufferHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.localUniforms=new Pt({uTranslationMatrix:{value:new R,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 no,this.state=ze.for2d();}validateRenderable(t){return false}addRenderable(t,e){this.renderer.renderPipes.batch.break(e),e.add(t);}getBuffers(t){return this._gpuBufferHash[t.uid]||this._initBuffer(t)}_initBuffer(t){return this._gpuBufferHash[t.uid]=new oo({size:t.particleChildren.length,properties:t._properties}),t.on("destroyed",this._destroyRenderableBound),this._gpuBufferHash[t.uid]}updateRenderable(t){}destroyRenderable(t){this._gpuBufferHash[t.uid].destroy(),this._gpuBufferHash[t.uid]=null,t.off("destroyed",this._destroyRenderableBound);}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=ue(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,ve(t.groupColorAlpha,n.uColor,0),this.adaptor.execute(this,t);}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null);}};});var yi,Ef=g(()=>{F();gf();Ha();yi=class extends xr{constructor(t){super(t,new so);}};yi.extension={type:[w.WebGLPipes],name:"particle"};});var ao,Af=g(()=>{ao=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 bi,Rf=g(()=>{F();Af();Ha();bi=class extends xr{constructor(t){super(t,new ao);}};bi.extension={type:[w.WebGPUPipes],name:"particle"};});var Va=g(()=>{F();Ef();Rf();k.add(yi);k.add(bi);});var _r,Wa=g(()=>{_r=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;}};});function vi(i,t){let{texture:e,bounds:r}=i;Ts(r,t._anchor,e);let s=t._style.padding;r.minX-=s,r.minY-=s,r.maxX-=s,r.maxY-=s;}var Ya=g(()=>{zn();});var Si,If=g(()=>{F();Ot();Wa();Ya();Si=class{constructor(t){this._gpuText=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.runners.resolutionChange.add(this),this._renderer.renderableGC.addManagedHash(this,"_gpuText");}resolutionChange(){for(let t in this._gpuText){let e=this._gpuText[t];if(!e)continue;let r=e.batchableSprite.renderable;r._autoResolution&&(r._resolution=this._renderer.resolution,r.onViewUpdate());}}validateRenderable(t){let e=this._getGpuText(t),r=t._getKey();return e.currentKey!==r}addRenderable(t,e){let s=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),this._renderer.renderPipes.batch.addToBatch(s,e);}updateRenderable(t){let r=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),r._batcher.updateElement(r);}destroyRenderable(t){t.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(t.uid);}_destroyRenderableById(t){let e=this._gpuText[t];this._renderer.canvasText.decreaseReferenceCount(e.currentKey),Y.return(e.batchableSprite),this._gpuText[t]=null;}_updateText(t){let e=t._getKey(),r=this._getGpuText(t),s=r.batchableSprite;r.currentKey!==e&&this._updateGpuText(t),t._didTextUpdate=false,vi(s,t);}_updateGpuText(t){let e=this._getGpuText(t),r=e.batchableSprite;e.texture&&this._renderer.canvasText.decreaseReferenceCount(e.currentKey),e.texture=r.texture=this._renderer.canvasText.getManagedTexture(t),e.currentKey=t._getKey(),r.texture=e.texture;}_getGpuText(t){return this._gpuText[t.uid]||this.initGpuText(t)}initGpuText(t){let e={texture:null,currentKey:"--",batchableSprite:Y.get(_r)};return e.batchableSprite.renderable=t,e.batchableSprite.transform=t.groupTransform,e.batchableSprite.bounds={minX:0,maxX:1,minY:0,maxY:0},e.batchableSprite.roundPixels=this._renderer._roundPixels|t._roundPixels,this._gpuText[t.uid]=e,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,this._updateText(t),t.on("destroyed",this._destroyRenderableBound),e}destroy(){for(let t in this._gpuText)this._destroyRenderableById(t);this._gpuText=null,this._renderer=null;}};Si.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"text"};});var $a,$t,Ti=g(()=>{Wt();Yr();$a=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=ae(t),e=ae(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={};}},$t=new $a;});function Bf(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 Lf(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 Ff(i,t=1){let{width:e,height:r}=i,s=i.getContext("2d",{willReadFrequently:true});if(s===null)throw new TypeError("Failed to get canvas 2D context");let n=s.getImageData(0,0,e,r).data,a=0,l=0,h=e-1,u=r-1;for(;l<r&&Bf(n,e,l);)++l;if(l===r)return Q.EMPTY;for(;Bf(n,e,u);)--u;for(;Lf(n,e,a,l,u);)++a;for(;Lf(n,e,h,l,u);)--h;return ++h,++u,new Q(a/t,l/t,(h-a)/t,(u-l)/t)}var Gf=g(()=>{It();});var kf,ce,lo=g(()=>{rt();wt();kf={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"}},ce=class{constructor(t,e){this.uid=j("fillPattern"),this.transform=new R,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=kf[e].addressModeU,t.source.style.addressModeV=kf[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 Df=Or((JE,Of)=>{Of.exports=$x;var Xa={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Yx=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function $x(i){var t=[];return i.replace(Yx,function(e,r,s){var o=r.toLowerCase();for(s=jx(s),o=="m"&&s.length>2&&(t.push([r].concat(s.splice(0,2))),o="l",r=r=="m"?"l":"L");;){if(s.length==Xa[o])return s.unshift(r),t.push(s);if(s.length<Xa[o])throw new Error("malformed path data");t.push([r].concat(s.splice(0,Xa[o])));}}),t}var Xx=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function jx(i){var t=i.match(Xx);return t?t.map(Number):[]}});function Nf(i,t){let e=(0, Uf.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 Uf,zf=g(()=>{Uf=Dr(Df());bt();});var ho,Hf=g(()=>{It();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 Q),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,Vf=g(()=>{It();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,m=e-this.y,_=d*d/(h*h)+m*m/(u*u),x=d*d/(c*c)+m*m/(f*f);return _>1&&x<=1}getBounds(t){return t||(t=new Q),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 Wf(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 _=i-d,x=t-m;return _*_+x*x}var Yf=g(()=>{});var Kx,qx,yr,$f=g(()=>{Yf();It();yr=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(Kx),r=t.getBounds(qx);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],_=Wf(t,e,c,f,d,m),x=Math.sign((d-c)*(e-f)-(m-f)*(t-c));if(_<=(x<0?a:n))return true}return false}getBounds(t){t||(t=new Q);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 co,fo,Xf=g(()=>{It();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 Q),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,_=l-h*2,x=o+a,p=n+l;return (t>=o-u&&t<=o+c||t>=x-c&&t<=x+u)&&e>=d&&e<=d+_||(e>=n-u&&e<=n+c||e>=p-c&&e<=p+u)&&t>=f&&t<=f+m?true:t<f&&e<d&&co(t,e,f,d,h,c,u)||t>x-h&&e<d&&co(t,e,x-h,d,h,c,u)||t>x-h&&e>p-h&&co(t,e,x-h,p-h,h,c,u)||t<f&&e>p-h&&co(t,e,f,p-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??gr.defaultOptions.bezierSmoothness)),f=(Qx-c)/1;return f*=f,Jx(t,e,r,s,o,n,a,l,i,f),i}function Jx(i,t,e,r,s,o,n,a,l,h){Ka(i,t,e,r,s,o,n,a,l,h,0),l.push(n,a);}function Ka(i,t,e,r,s,o,n,a,l,h,u){if(u>Zx)return;let c=Math.PI,f=(i+e)/2,d=(t+r)/2,m=(e+s)/2,_=(r+o)/2,x=(s+n)/2,p=(o+a)/2,y=(f+m)/2,v=(d+_)/2,b=(m+x)/2,C=(_+p)/2,S=(y+b)/2,T=(v+C)/2;if(u>0){let P=n-i,I=a-t,E=Math.abs((e-n)*I-(r-a)*P),A=Math.abs((s-n)*I-(o-a)*P),N,J;if(E>po&&A>po){if((E+A)*(E+A)<=h*(P*P+I*I)){if(br<ja){l.push(S,T);return}let mt=Math.atan2(o-r,s-e);if(N=Math.abs(mt-Math.atan2(r-t,e-i)),J=Math.abs(Math.atan2(a-o,n-s)-mt),N>=c&&(N=2*c-N),J>=c&&(J=2*c-J),N+J<br){l.push(S,T);return}if(He!==0){if(N>He){l.push(e,r);return}if(J>He){l.push(s,o);return}}}}else if(E>po){if(E*E<=h*(P*P+I*I)){if(br<ja){l.push(S,T);return}if(N=Math.abs(Math.atan2(o-r,s-e)-Math.atan2(r-t,e-i)),N>=c&&(N=2*c-N),N<br){l.push(e,r),l.push(s,o);return}if(He!==0&&N>He){l.push(e,r);return}}}else if(A>po){if(A*A<=h*(P*P+I*I)){if(br<ja){l.push(S,T);return}if(N=Math.abs(Math.atan2(a-o,n-s)-Math.atan2(o-r,s-e)),N>=c&&(N=2*c-N),N<br){l.push(e,r),l.push(s,o);return}if(He!==0&&N>He){l.push(s,o);return}}}else if(P=S-(i+n)/2,I=T-(t+a)/2,P*P+I*I<=h){l.push(S,T);return}}Ka(i,t,f,d,y,v,S,T,l,h,u+1),Ka(S,T,b,C,x,p,n,a,l,h,u+1);}var Zx,po,Qx,ja,br,He,qa=g(()=>{eo();Zx=8,po=11920929e-14,Qx=1,ja=.01,br=0,He=0;});function Kf(i,t,e,r,s,o,n,a){let h=Math.min(.99,Math.max(0,a??gr.defaultOptions.bezierSmoothness)),u=(r_-h)/1;return u*=u,s_(t,e,r,s,o,n,i,u),i}function s_(i,t,e,r,s,o,n,a){Za(n,i,t,e,r,s,o,a,0),n.push(s,o);}function Za(i,t,e,r,s,o,n,a,l){if(l>t_)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,_=(c+d)/2,x=o-t,p=n-e,y=Math.abs((r-o)*p-(s-n)*x);if(y>e_){if(y*y<=a*(x*x+p*p)){if(jf<i_){i.push(m,_);return}let v=Math.abs(Math.atan2(n-s,o-r)-Math.atan2(s-e,r-t));if(v>=h&&(v=2*h-v),v<jf){i.push(m,_);return}}}else if(x=m-(t+o)/2,p=_-(e+n)/2,x*x+p*p<=a){i.push(m,_);return}Za(i,t,e,u,c,m,_,a,l+1),Za(i,m,_,f,d,o,n,a,l+1);}var t_,e_,r_,i_,jf,qf=g(()=>{eo();t_=8,e_=11920929e-14,r_=1,i_=.01,jf=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),m=t+f*r,_=e+d*r;i.push(m,_),u+=h;}}var Qa=g(()=>{});function Zf(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,_=l*u+h*c,x=o*Math.sqrt(d)/f,p=o*Math.sqrt(m)/f,y=x*_/d,v=p*_/m,b=x*c+p*h,C=x*u+p*l,S=h*(p+y),T=l*(p+y),P=c*(x+v),I=u*(x+v),E=Math.atan2(T-C,S-b),A=Math.atan2(I-C,P-b);go(i,b+t,C+e,o,E,A,h*u>c*l);}var Qf=g(()=>{Qa();});function o_(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 tp(i,t,e,r,s,o,n,a=0,l=0,h=0){if(o===0||n===0)return;let u=Math.sin(a*wi/360),c=Math.cos(a*wi/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)),n_(t,e,r,s,o,n,l,h,u,c,f,d,Ja);let{ang1:_,ang2:x}=Ja,{centerX:p,centerY:y}=Ja,v=Math.abs(x)/(wi/4);Math.abs(1-v)<1e-7&&(v=1);let b=Math.max(Math.ceil(v),1);x/=b;let C=i[i.length-2],S=i[i.length-1],T={x:0,y:0};for(let P=0;P<b;P++){let I=o_(_,x),{x:E,y:A}=tl(I[0],o,n,c,u,p,y,T),{x:N,y:J}=tl(I[1],o,n,c,u,p,y,T),{x:mt,y:Br}=tl(I[2],o,n,c,u,p,y,T);mo(i,C,S,E,A,N,J,mt,Br),C=mt,S=Br,_+=x;}}var wi,Ja,tl,Jf,n_,ep=g(()=>{qa();wi=Math.PI*2,Ja={centerX:0,centerY:0,ang1:0,ang2:0},tl=({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};Jf=(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)},n_=(i,t,e,r,s,o,n,a,l,h,u,c,f)=>{let d=Math.pow(s,2),m=Math.pow(o,2),_=Math.pow(u,2),x=Math.pow(c,2),p=d*m-d*x-m*_;p<0&&(p=0),p/=d*x+m*_,p=Math.sqrt(p)*(n===a?-1:1);let y=p*s/o*c,v=p*-o/s*u,b=h*y-l*v+(i+e)/2,C=l*y+h*v+(t+r)/2,S=(u-y)/s,T=(c-v)/o,P=(-u-y)/s,I=(-c-v)/o,E=Jf(1,0,S,T),A=Jf(S,T,P,I);a===0&&A>0&&(A-=wi),a===1&&A<0&&(A+=wi),f.centerX=b,f.centerY=C,f.ang1=E,f.ang2=A;};});function rp(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 _=f/2,x,p=Math.abs(Math.cos(_)*l/Math.sin(_));p>Math.min(u.len/2,c.len/2)?(p=Math.min(u.len/2,c.len/2),x=Math.abs(p*Math.sin(_)/Math.cos(_))):x=l;let y=a.x+c.nx*p+-c.ny*x*d,v=a.y+c.ny*p+c.nx*x*d,b=Math.atan2(u.ny,u.nx)+Math.PI/2*d,C=Math.atan2(c.ny,c.nx)-Math.PI/2*d;n===0&&i.moveTo(y+Math.cos(b)*x,v+Math.sin(b)*x),i.arc(y,v,x,b,C,m),o=a;}}function ip(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),_;if(m<1e-4)_=l;else {let x=Math.min(m/2,h);_=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,_.x,_.y,r);}}var sp=g(()=>{});var a_,xo,op=g(()=>{Hf();Vf();$f();It();Xf();Ht();qa();qf();Qa();Qf();ep();sp();a_=new Q,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 Zf(n,t,e,r,s,o),this}arcToSvg(t,e,r,s,o,n,a){let l=this._currentPoly.points;return tp(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 Kf(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 Q(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 yr(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),_=e+r*Math.sin(d),x=d+Math.PI+c,p=d-Math.PI-c,y=m+o*Math.cos(x),v=_+o*Math.sin(x),b=m+o*Math.cos(p),C=_+o*Math.sin(p);f===0?this.moveTo(y,v):this.lineTo(y,v),this.quadraticCurveTo(m,_,b,C,a);}return this.closePath()}roundShape(t,e,r=false,s){return t.length<3?this:(r?ip(this,t,e,s):rp(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 yr,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 yr,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(a_);s.transform?t.addRect(o,s.transform):t.addRect(o);}return t}};});function Ci(i,t){return i?i.prepend(t):t.clone()}var Te,el=g(()=>{zt();wt();bt();zf();op();Te=class i{constructor(t,e=false){this.instructions=[],this.uid=j("graphicsPath"),this._dirty=true,this.checkForHoles=e,typeof t=="string"?Nf(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(X.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(X.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,_=0;for(let x=0;x<this.instructions.length;x++){let p=this.instructions[x],y=p.data;switch(p.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],_=y[1],y[0]=e*m+s*_,y[1]=r*m+o*_,y[5]=e*l+s*h+n,y[6]=r*l+o*h+a;break;case "circle":y[4]=Ci(y[3],t);break;case "rect":y[4]=Ci(y[4],t);break;case "ellipse":y[8]=Ci(y[8],t);break;case "roundRect":y[5]=Ci(y[5],t);break;case "addPath":y[0].transform(t);break;case "poly":y[2]=Ci(y[2],t);break;default:z("unknown transform action",p.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 rl=g(()=>{});function np(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]=l_(n);break;case "radialgradient":t.defs[n.id]=h_();break;}}}}function l_(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 At(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=$.shared.setValue(l.getAttribute("stop-color")).toNumber();n.addColorStop(h,u);}return n}function h_(i){return z("[SVG Parser] Radial gradients are not yet supported"),new At(0,0,1,0)}var ap=g(()=>{Mt();bt();mr();rl();});function il(i){let t=i.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return t?t[1]:""}var lp=g(()=>{});function sl(i,t){let e=i.getAttribute("style"),r={},s={},o={strokeStyle:r,fillStyle:s,useFill:false,useStroke:false};for(let n in hp){let a=i.getAttribute(n);a&&up(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(":");hp[h]&&up(t,o,h,u.trim());}}return {strokeStyle:o.useStroke?r:null,fillStyle:o.useFill?s:null,useFill:o.useFill,useStroke:o.useStroke}}function up(i,t,e,r){switch(e){case "stroke":if(r!=="none"){if(r.startsWith("url(")){let s=il(r);t.strokeStyle.fill=i.defs[s];}else t.strokeStyle.color=$.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=il(r);t.fillStyle.fill=i.defs[s];}else t.fillStyle.color=$.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 hp,cp=g(()=>{Mt();lp();hp={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 dp(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 Te};np(i,e);let r=i.children,{fillStyle:s,strokeStyle:o}=sl(i,e);for(let n=0;n<r.length;n++){let a=r[n];a.nodeName.toLowerCase()!=="defs"&&fp(a,e,s,o);}return t}function fp(i,t,e,r){let s=i.children,{fillStyle:o,strokeStyle:n}=sl(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,_,x,p,y,v,b,C,S,T,P;switch(i.nodeName.toLowerCase()){case "path":C=i.getAttribute("d"),i.getAttribute("fill-rule")==="evenodd"&&z("SVG Evenodd fill rule not supported, your svg may render incorrectly"),S=new Te(C,true),t.context.path(S),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "circle":m=st(i,"cx",0),_=st(i,"cy",0),x=st(i,"r",0),t.context.ellipse(m,_,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),T=st(i,"width",0),P=st(i,"height",0),p=st(i,"rx",0),y=st(i,"ry",0),p||y?t.context.roundRect(l,h,T,P,p||y):t.context.rect(l,h,T,P),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "ellipse":m=st(i,"cx",0),_=st(i,"cy",0),p=st(i,"rx",0),y=st(i,"ry",0),t.context.beginPath(),t.context.ellipse(m,_,p,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":b=i.getAttribute("points"),v=b.match(/\d+/g).map(I=>parseInt(I,10)),t.context.poly(v,true),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "polyline":b=i.getAttribute("points"),v=b.match(/\d+/g).map(I=>parseInt(I,10)),t.context.poly(v,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 I=0;I<s.length;I++)fp(s[I],t,e,r);}var pp=g(()=>{bt();el();ap();rl();cp();});function u_(i){return $.isColorLike(i)}function mp(i){return i instanceof ce}function gp(i){return i instanceof At}function c_(i){return i instanceof G}function d_(i,t,e){let r=$.shared.setValue(t??0);return i.color=r.toNumber(),i.alpha=r.alpha===1?e.alpha:r.alpha,i.texture=G.WHITE,{...e,...i}}function f_(i,t,e){return i.texture=t,{...e,...i}}function xp(i,t,e){return i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,{...e,...i}}function _p(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 p_(i,t){let e={...t,...i},r=$.shared.setValue(e.color);return e.alpha*=r.alpha,e.color=r.toNumber(),e}function de(i,t){if(i==null)return null;let e={},r=i;return u_(i)?d_(e,i,t):c_(i)?f_(e,i,t):mp(i)?xp(e,i,t):gp(i)?_p(e,i,t):r.fill&&mp(r.fill)?xp(r,r.fill,t):r.fill&&gp(r.fill)?_p(r,r.fill,t):p_(r,t)}function vr(i,t){let{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...l}=t,h=de(i,l);return h?{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...h}:null}var ol=g(()=>{Mt();xt();mr();lo();});var m_,yp,nl,Ft,al=g(()=>{Rt();Mt();rt();zt();xt();wt();dt();Ht();el();pp();ol();m_=new X,yp=new R,nl=class re extends K{constructor(){super(...arguments),this.uid=j("graphicsContext"),this.dirty=true,this.batchMode="auto",this.instructions=[],this._activePath=new Te,this._transform=new R,this._fillStyle={...re.defaultFillStyle},this._strokeStyle={...re.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new ot,this._boundsDirty=true;}clone(){let t=new re;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=de(t,re.defaultFillStyle);}get strokeStyle(){return this._strokeStyle}set strokeStyle(t){this._strokeStyle=vr(t,re.defaultStrokeStyle);}setFillStyle(t){return this._fillStyle=de(t,re.defaultFillStyle),this}setStrokeStyle(t){return this._strokeStyle=de(t,re.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?$.shared.setValue(e).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new Te,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"&&(D(V,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),t={color:t,alpha:e}),this._fillStyle=de(t,re.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(X.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=vr(t,re.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++,dp(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 R?(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 R?(this._transform.append(t),this):(yp.set(t,e,r,s,o,n),this._transform.append(yp),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,m_):t;if(o.action==="fill")r=c.contains(d.x,d.y);else {let _=l;r=c.strokeContains(d.x,d.y,_.width,_.alignment);}let m=n.hole;if(m){let _=m.shapePath?.shapePrimitives;if(_)for(let x=0;x<_.length;x++)_[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;}};nl.defaultFillStyle={color:16777215,alpha:1,texture:G.WHITE,matrix:null,fill:null,textureSpace:"local"};nl.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:G.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:false};Ft=nl;});function _o(i){let t=[],e=0;for(let r=0;r<bp.length;r++){let s=`_${bp[r]}`;t[e++]=i[s];}return e=vp(i._fill,t,e),e=g_(i._stroke,t,e),e=x_(i.dropShadow,t,e),t.join("-")}function vp(i,t,e){return i&&(t[e++]=i.color,t[e++]=i.alpha,t[e++]=i.fill?.styleKey),e}function g_(i,t,e){return i&&(e=vp(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 x_(i,t,e){return i&&(t[e++]=i.alpha,t[e++]=i.angle,t[e++]=i.blur,t[e++]=i.distance,t[e++]=$.shared.setValue(i.color).toNumber()),e}var bp,ll=g(()=>{Mt();bp=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"];});function __(i){let t=i;if(typeof t.dropShadow=="boolean"&&t.dropShadow){let e=Ut.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){D(V,"strokeThickness is now a part of stroke");let e=t.stroke,r={};if($.isColorLike(e))r.color=e;else if(e instanceof At||e instanceof ce)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)){D(V,"gradient fill is now a fill pattern: `new FillGradient(...)`");let e;i.fontSize==null?i.fontSize=Ut.defaultTextStyle.fontSize:typeof i.fontSize=="string"?e=parseInt(i.fontSize,10):e=i.fontSize;let r=new At({start:{x:0,y:0},end:{x:0,y:(e||0)*1.7}}),s=t.fillGradientStops.map(o=>$.shared.setValue(o).toNumber());s.forEach((o,n)=>{let a=n/(s.length-1);r.addColorStop(a,o);}),i.fill={fill:r};}}var hl,Ut,Pi=g(()=>{Rt();Mt();dt();mr();lo();al();ol();ll();hl=class Sr extends K{constructor(t={}){super(),__(t);let e={...Sr.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({...Sr.defaultDropShadow,...t}):this._dropShadow=t?this._createProxy({...Sr.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 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({...Ft.defaultFillStyle,...t},()=>{this._fill=de({...this._originalFill},Ft.defaultFillStyle);})),this._fill=de(t===0?"black":t,Ft.defaultFillStyle),this.update());}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...Ft.defaultStrokeStyle,...t},()=>{this._stroke=vr({...this._originalStroke},Ft.defaultStrokeStyle);})),this._stroke=vr(t,Ft.defaultStrokeStyle),this.update());}_generateKey(){return this._styleKey=_o(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this);}reset(){let t=Sr.defaultTextStyle;for(let e in t)this[e]=t[e];}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new Sr({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})}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&&!($.isColorLike(t)||t instanceof At||t instanceof ce)}};hl.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};hl.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};Ut=hl;});function yo(i,t,e,r){let s=y_;s.minX=0,s.minY=0,s.maxX=i.width/r|0,s.maxY=i.height/r|0;let o=vt.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 y_,ul=g(()=>{qe();Ht();y_=new ot;});function Ve(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)&&!b_.includes(s)&&(s=`"${s}"`),e[r]=s;}return `${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${t} ${e.join(",")}`}var b_,bo=g(()=>{b_=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];});var cl,Xt,ie,dl=g(()=>{Wt();bo();cl={willReadFrequently:true},Xt=class L{static get experimentalLetterSpacingSupported(){let t=L._experimentalLetterSpacingSupported;if(t!==void 0){let e=nt.get().getCanvasRenderingContext2D().prototype;t=L._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=L._canvas,s=e.wordWrap){let o=`${t}:${e.styleKey}`;if(L._measurementCache[o])return L._measurementCache[o];let n=Ve(e),a=L.measureFont(n);a.fontSize===0&&(a.fontSize=e.fontSize,a.ascent=e.fontSize);let l=L.__context;l.font=n;let u=(s?L._wordWrap(t,e,r):t).split(/(?:\r\n|\r|\n)/),c=new Array(u.length),f=0;for(let y=0;y<u.length;y++){let v=L._measureText(u[y],e.letterSpacing,l);c[y]=v,f=Math.max(f,v);}let d=e._stroke?.width||0,m=f+d;e.dropShadow&&(m+=e.dropShadow.distance);let _=e.lineHeight||a.fontSize,x=Math.max(_,a.fontSize+d)+(u.length-1)*(_+e.leading);return e.dropShadow&&(x+=e.dropShadow.distance),new L(t,e,m,x,u,c,_+e.leading,f,a)}static _measureText(t,e,r){let s=false;L.experimentalLetterSpacingSupported&&(L.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=(L.graphemeSegmenter(t).length-1)*e;n+=u,h+=u;}return Math.max(n,h)}static _wordWrap(t,e,r=L._canvas){let s=r.getContext("2d",cl),o=0,n="",a="",l=Object.create(null),{letterSpacing:h,whiteSpace:u}=e,c=L._collapseSpaces(u),f=L._collapseNewlines(u),d=!c,m=e.wordWrapWidth+h,_=L._tokenize(t);for(let x=0;x<_.length;x++){let p=_[x];if(L._isNewline(p)){if(!f){a+=L._addLine(n),d=!c,n="",o=0;continue}p=" ";}if(c){let v=L.isBreakingSpace(p),b=L.isBreakingSpace(n[n.length-1]);if(v&&b)continue}let y=L._getFromCache(p,h,l,s);if(y>m)if(n!==""&&(a+=L._addLine(n),n="",o=0),L.canBreakWords(p,e.breakWords)){let v=L.wordWrapSplit(p);for(let b=0;b<v.length;b++){let C=v[b],S=C,T=1;for(;v[b+T];){let I=v[b+T];if(!L.canBreakChars(S,I,p,b,e.breakWords))C+=I;else break;S=I,T++;}b+=T-1;let P=L._getFromCache(C,h,l,s);P+o>m&&(a+=L._addLine(n),d=false,n="",o=0),n+=C,o+=P;}}else {n.length>0&&(a+=L._addLine(n),n="",o=0);let v=x===_.length-1;a+=L._addLine(p,!v),d=false,n="",o=0;}else y+o>m&&(d=false,a+=L._addLine(n),n="",o=0),(n.length>0||!L.isBreakingSpace(p)||d)&&(n+=p,o+=y);}return a+=L._addLine(n,false),a}static _addLine(t,e=true){return t=L._trimRight(t),t=e?`${t}
|
|
368
|
+
`:t,t}static _getFromCache(t,e,r,s){let o=r[t];return typeof o!="number"&&(o=L._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(!L.isBreakingSpace(r))break;t=t.slice(0,-1);}return t}static _isNewline(t){return typeof t!="string"?false:L._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?false:L._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(L.isBreakingSpace(o,n)||L._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 L.graphemeSegmenter(t)}static measureFont(t){if(L._fonts[t])return L._fonts[t];let e=L._context;e.font=t;let r=e.measureText(L.METRICS_STRING+L.BASELINE_SYMBOL),s={ascent:r.actualBoundingBoxAscent,descent:r.actualBoundingBoxDescent,fontSize:r.actualBoundingBoxAscent+r.actualBoundingBoxDescent};return L._fonts[t]=s,s}static clearMetrics(t=""){t?delete L._fonts[t]:L._fonts={};}static get _canvas(){if(!L.__canvas){let t;try{let e=new OffscreenCanvas(0,0);if(e.getContext("2d",cl)?.measureText)return L.__canvas=e,e;t=nt.get().createCanvas();}catch{t=nt.get().createCanvas();}t.width=t.height=10,L.__canvas=t;}return L.__canvas}static get _context(){return L.__context||(L.__context=L._canvas.getContext("2d",cl)),L.__context}};Xt.METRICS_STRING="|\xC9q\xC5";Xt.BASELINE_SYMBOL="M";Xt.BASELINE_MULTIPLIER=1.4;Xt.HEIGHT_MULTIPLIER=2;Xt.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let i=new Intl.Segmenter;return t=>[...i.segment(t)].map(e=>e.segment)}return i=>[...i]})();Xt.experimentalLetterSpacing=false;Xt._fonts={};Xt._newlines=[10,13];Xt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];Xt._measurementCache={};ie=Xt;});function Tr(i,t,e,r=0){if(i.texture===G.WHITE&&!i.fill)return $.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof ce){let s=i.fill,o=t.createPattern(s.texture.source.resource,"repeat"),n=s.transform.copyTo(R.shared);return n.scale(s.texture.frame.width,s.texture.frame.height),o.setTransform(n),o}else if(i.fill instanceof At){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 _=d+m.offset*c;h.addColorStop(Math.floor(_*Sp)/Sp,$.shared.setValue(m.color).toHex());});}}else s.colorStops.forEach(c=>{h.addColorStop(c.offset,$.shared.setValue(c.color).toHex());});return h}}else {let s=t.createPattern(i.texture.source.resource,"repeat"),o=i.matrix.copyTo(R.shared);return o.scale(i.texture.frame.width,i.texture.frame.height),s.setTransform(o),s}return z("FillStyle not recognised",i),"red"}var Sp,fl=g(()=>{Mt();rt();xt();bt();mr();lo();Sp=1e5;});var Mi,Tp=g(()=>{Mt();F();Yr();Ti();qe();Gf();dt();Pi();ul();dl();bo();fl();Mi=class{constructor(t){this._activeTextures={},this._renderer=t;}getTextureSize(t,e,r){let s=ie.measureText(t||" ",r),o=Math.ceil(Math.ceil(Math.max(1,s.width)+r.padding*2)*e),n=Math.ceil(Math.ceil(Math.max(1,s.height)+r.padding*2)*e);return o=Math.ceil(o-1e-6),n=Math.ceil(n-1e-6),o=ae(o),n=ae(n),{width:o,height:n}}getTexture(t,e,r,s){typeof t=="string"&&(D("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),t={text:t,style:r,resolution:e}),t.style instanceof Ut||(t.style=new Ut(t.style));let{texture:o,canvasAndContext:n}=this.createTextureAndCanvas(t);return this._renderer.texture.initSource(o._source),$t.returnCanvasAndContext(n),o}createTextureAndCanvas(t){let{text:e,style:r}=t,s=t.resolution??this._renderer.resolution,o=ie.measureText(e||" ",r),n=Math.ceil(Math.ceil(Math.max(1,o.width)+r.padding*2)*s),a=Math.ceil(Math.ceil(Math.max(1,o.height)+r.padding*2)*s),l=$t.getOptimalCanvasAndContext(n,a),{canvas:h}=l;this.renderTextToCanvas(e,r,s,l);let u=yo(h,n,a,s);if(r.trim){let c=Ff(h,s);u.frame.copyFrom(c),u.updateUvs();}return {texture:u,canvasAndContext:l}}getManagedTexture(t){t._resolution=t._autoResolution?this._renderer.resolution:t.resolution;let e=t._getKey();if(this._activeTextures[e])return this._increaseReferenceCount(e),this._activeTextures[e].texture;let{texture:r,canvasAndContext:s}=this.createTextureAndCanvas(t);return this._activeTextures[e]={canvasAndContext:s,texture:r,usageCount:1},r}_increaseReferenceCount(t){this._activeTextures[t].usageCount++;}returnTexture(t){let e=t.source;e.resource=null,e.uploadMethodId="unknown",e.alphaMode="no-premultiply-alpha",vt.returnTexture(t);}decreaseReferenceCount(t){let e=this._activeTextures[t];e.usageCount--,e.usageCount===0&&($t.returnCanvasAndContext(e.canvasAndContext),this.returnTexture(e.texture),this._activeTextures[t]=null);}getReferenceCount(t){return this._activeTextures[t].usageCount}renderTextToCanvas(t,e,r,s){let{canvas:o,context:n}=s,a=Ve(e),l=ie.measureText(t||" ",e),h=l.lines,u=l.lineHeight,c=l.lineWidths,f=l.maxLineWidth,d=l.fontProperties,m=o.height;if(n.resetTransform(),n.scale(r,r),n.textBaseline=e.textBaseline,e._stroke?.width){let y=e._stroke;n.lineWidth=y.width,n.miterLimit=y.miterLimit,n.lineJoin=y.join,n.lineCap=y.cap;}n.font=a;let _,x,p=e.dropShadow?2:1;for(let y=0;y<p;++y){let v=e.dropShadow&&y===0,b=v?Math.ceil(Math.max(1,m)+e.padding*2):0,C=b*r;if(v){n.fillStyle="black",n.strokeStyle="black";let P=e.dropShadow,I=P.color,E=P.alpha;n.shadowColor=$.shared.setValue(I).setAlpha(E).toRgbaString();let A=P.blur*r,N=P.distance*r;n.shadowBlur=A,n.shadowOffsetX=Math.cos(P.angle)*N,n.shadowOffsetY=Math.sin(P.angle)*N+C;}else {if(n.fillStyle=e._fill?Tr(e._fill,n,l):null,e._stroke?.width){let P=e._stroke.width*e._stroke.alignment;n.strokeStyle=Tr(e._stroke,n,l,P);}n.shadowColor="black";}let S=(u-d.fontSize)/2;u-d.fontSize<0&&(S=0);let T=e._stroke?.width??0;for(let P=0;P<h.length;P++)_=T/2,x=T/2+P*u+d.ascent+S,e.align==="right"?_+=f-c[P]:e.align==="center"&&(_+=(f-c[P])/2),e._stroke?.width&&this._drawLetterSpacing(h[P],e,s,_+e.padding,x+e.padding-b,true),e._fill!==void 0&&this._drawLetterSpacing(h[P],e,s,_+e.padding,x+e.padding-b);}}_drawLetterSpacing(t,e,r,s,o,n=false){let{context:a}=r,l=e.letterSpacing,h=false;if(ie.experimentalLetterSpacingSupported&&(ie.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=ie.graphemeSegmenter(t),f=a.measureText(t).width,d=0;for(let m=0;m<c.length;++m){let _=c[m];n?a.strokeText(_,u,o):a.fillText(_,u,o);let x="";for(let p=m+1;p<c.length;++p)x+=c[p];d=a.measureText(x).width,u+=f-d+l,f=d;}}destroy(){this._activeTextures=null;}};Mi.extension={type:[w.WebGLSystem,w.WebGPUSystem,w.CanvasSystem],name:"canvasText"};});var pl=g(()=>{F();If();Tp();k.add(Mi);k.add(Si);});var vo,wp=g(()=>{dt();Gn();al();vo=class i extends Je{constructor(t){t instanceof Ft&&(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 Ft,this._context.on("update",this.onViewUpdate,this),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){D(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){D(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(){D(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!==Ft.defaultStrokeStyle.width||t.color!==Ft.defaultStrokeStyle.color||t.alpha!==Ft.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return D(V,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return D(V,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return D(V,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return D(V,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return D(V,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return D(V,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}};});var Cp,Pp,Mp=g(()=>{Cp={name:"local-uniform-msdf-bit",vertex:{header:`
|
|
369
369
|
struct LocalUniforms {
|
|
370
370
|
uColor:vec4<f32>,
|
|
371
371
|
uTransformMatrix:mat3x3<f32>,
|
|
@@ -462,16 +462,16 @@ fn mainFragment(
|
|
|
462
462
|
|
|
463
463
|
return coverage;
|
|
464
464
|
}
|
|
465
|
-
`}};});var ml,gl,So,Ip=g(()=>{rt();Is();zs();ca();pa();$s();ga();di();be();Mp();Rp();So=class extends ee{constructor(){let t=new Pt({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}}),e=ir();ml??(ml=hr({name:"sdf-shader",bits:[Hs,Ws(e),Cp,Ep,cr]})),gl??(gl=ur({name:"sdf-shader",bits:[Vs,Ys(e),Pp,Ap,dr]})),super({glProgram:gl,gpuProgram:ml,resources:{localUniforms:t,batchSamplers:Xs(e)}});}};});var To,Bp=g(()=>{Rt();dt();To=class extends K{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
|
|
466
|
-
`&&p!=="\r"&&p!==" "&&p!==" "&&(d=true,f=Math.ceil(Math.max(T,f))),l+S>m&&(h+=f,f=T,l=0,h+f>_)){n.update();let I=this._nextPage();s=I.canvasAndContext.canvas,o=I.canvasAndContext.context,n=I.texture.source,h=0;}let P=v/u-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[p]={id:p.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:P,kerning:{}},d){this._drawGlyph(o,y,l+c,h+c,u,a);let I=n.width*u,E=n.height*u,A=new Q(l/I*n.width,h/E*n.height,S/I*n.width,T/E*n.height);this.chars[p].texture=new
|
|
465
|
+
`}};});var ml,gl,So,Ip=g(()=>{rt();Is();zs();ca();pa();$s();ga();di();be();Mp();Rp();So=class extends ee{constructor(){let t=new Pt({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}}),e=ir();ml??(ml=hr({name:"sdf-shader",bits:[Hs,Ws(e),Cp,Ep,cr]})),gl??(gl=ur({name:"sdf-shader",bits:[Vs,Ys(e),Pp,Ap,dr]})),super({glProgram:gl,gpuProgram:ml,resources:{localUniforms:t,batchSamplers:Xs(e)}});}};});var To,Bp=g(()=>{Rt();dt();To=class extends K{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 D(V,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return D(V,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return D(V,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return D(V,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return D(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);}};});function wo(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 xl=g(()=>{});var Lp,_l,Gp=g(()=>{Mt();It();Ti();Ps();xt();dt();dl();bo();fl();Pi();Bp();xl();Lp=class Fp 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._currentPageIndex=-1,this._skipKerning=false;let e={...Fp.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=G.WHITE,r._fill.fill=null),this.applyFillAsTint=e.overrideFill;let s=r.fontSize;r.fontSize=this.baseMeasurementFontSize;let o=Ve(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,this.fontMetrics=ie.measureFont(o),this.lineHeight=r.lineHeight||this.fontMetrics.fontSize||r.fontSize;}ensureCharacters(t){let e=wo(t).filter(x=>!this._currentChars.includes(x)).filter((x,p,y)=>y.indexOf(x)===p);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.baseRenderedFontSize/this.baseMeasurementFontSize,c=this._padding*u,f=0,d=false,m=s.width/this.resolution,_=s.height/this.resolution;for(let x=0;x<e.length;x++){let p=e[x],y=ie.measureText(p,a,s,false);y.lineHeight=y.height;let v=y.width*u,b=Math.ceil((a.fontStyle==="italic"?2:1)*v),C=y.height*u,S=b+c*2,T=C+c*2;if(d=false,p!==`
|
|
466
|
+
`&&p!=="\r"&&p!==" "&&p!==" "&&(d=true,f=Math.ceil(Math.max(T,f))),l+S>m&&(h+=f,f=T,l=0,h+f>_)){n.update();let I=this._nextPage();s=I.canvasAndContext.canvas,o=I.canvasAndContext.context,n=I.texture.source,h=0;}let P=v/u-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[p]={id:p.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:P,kerning:{}},d){this._drawGlyph(o,y,l+c,h+c,u,a);let I=n.width*u,E=n.height*u,A=new Q(l/I*n.width,h/E*n.height,S/I*n.width,T/E*n.height);this.chars[p].texture=new G({source:n,frame:A}),l+=Math.ceil(S);}}n.update(),this._currentX=l,this._currentY=h,this._skipKerning&&this._applyKerning(e,o);}get pageTextures(){return D(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=$t.getOptimalCanvasAndContext(this._textureSize,this._textureSize,t);this._setupContext(e.context,this._style,t);let r=t*(this.baseRenderedFontSize/this.baseMeasurementFontSize),s=new G({source:new Zt({resource:e.canvas,resolution:r,alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:this._mipmap})}),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=Ve(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=Tr(s,t)),e._fill&&(t.fillStyle=Tr(e._fill,t)),e.dropShadow){let n=e.dropShadow,a=$.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];$t.returnCanvasAndContext(e),r.destroy(true);}this.pages=null;}};Lp.defaultOptions={textureSize:512,style:new Ut,mipmap:true};_l=Lp;});function Co(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 x=0;x<l.index;x++){let p=m.positions[x];o.chars.push(m.chars[x]),o.charPositions.push(p+_);}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;for(let m=0;m<i.length+1;m++){let _,x=m===i.length;x||(_=i[m]);let p=e.chars[_]||e.chars[" "];if(/(?:\s)/.test(_)||_==="\r"||_===`
|
|
467
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)),_==="\r"||_===`
|
|
468
|
-
`)o.width!==0&&u();else if(!x){let C=p.xAdvance+(p.kerning[n]||0)+f;o.width+=C,o.spaceWidth=C,o.spacesIndex.push(o.charPositions.length),o.chars.push(_);}}else {let b=p.kerning[n]||0,C=p.xAdvance+b+f;l.positions[l.index++]=l.width+b,l.chars.push(_),l.width+=C;}n=_;}return u(),t.align==="center"?v_(s):t.align==="right"?S_(s):t.align==="justify"&&T_(s),s}function v_(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 S_(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 T_(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 yl=g(()=>{});var Po,bl,Gp,Op=g(()=>{ni();dt();bt();Pi();kp();yl();xl();Po=0,bl=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};}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(!ut.has(r)){let n=new _l({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--,ut.remove(r);}),ut.set(r,n);}let o=ut.get(r);return o.ensureCharacters?.(t),o}getLayout(t,e,r=true){let s=this.getFont(t,e);return Co([...t],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},O(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 Ut?s:new Ut(s),n=o._fill.fill!==null&&o._fill.fill!==void 0,a=new _l({style:o,overrideFill:n,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:false}),l=wo(e.chars);return a.ensureCharacters(l.join("")),ut.set(`${r}-bitmap`,a),a.once("destroy",()=>ut.remove(`${r}-bitmap`)),a}uninstall(t){let e=`${t}-bitmap`,r=ut.get(e);r&&r.destroy();}},Gp=new bl;});function Dp(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 Ei,Up=g(()=>{ni();F();Ot();wp();Ip();Op();yl();Ei=class{constructor(t){this._gpuBitmapText={},this._destroyRenderableBound=this.destroyRenderable.bind(this),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);Dp(t,r),t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,r)),this._renderer.renderPipes.graphics.addRenderable(r,e),r.context.customShader&&this._updateDistanceField(t);}destroyRenderable(t){t.off("destroyed",this._destroyRenderableBound),this._destroyRenderableByUid(t.uid);}_destroyRenderableByUid(t){let e=this._gpuBitmapText[t].context;e.customShader&&(W.return(e.customShader),e.customShader=null),W.return(this._gpuBitmapText[t]),this._gpuBitmapText[t]=null;}updateRenderable(t){let e=this._getGpuBitmapText(t);Dp(t,e),this._renderer.renderPipes.graphics.updateRenderable(e),e.context.customShader&&this._updateDistanceField(t);}_updateContext(t,e){let{context:r}=e,s=Gp.getFont(t.text,t._style);r.clear(),s.distanceField.type!=="none"&&(r.customShader||(r.customShader=W.get(So)));let o=Array.from(t.text),n=t._style,a=s.baseLineOffset,l=Co(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 _=0;_<l.lines.length;_++){let x=l.lines[_];for(let p=0;p<x.charPositions.length;p++){let y=o[h++],v=s.chars[y];v?.texture&&r.texture(v.texture,m||"black",Math.round(x.charPositions[p]+v.xOffset),Math.round(a+v.yOffset));}a+=s.lineHeight;}}_getGpuBitmapText(t){return this._gpuBitmapText[t.uid]||this.initGpuText(t)}initGpuText(t){let e=W.get(vo);return this._gpuBitmapText[t.uid]=e,this._updateContext(t,e),t.on("destroyed",this._destroyRenderableBound),this._gpuBitmapText[t.uid]}_updateDistanceField(t){let e=this._getGpuBitmapText(t).context,r=t._style.fontFamily,s=ut.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(){for(let t in this._gpuBitmapText)this._destroyRenderableByUid(t);this._gpuBitmapText=null,this._renderer=null;}};Ei.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"bitmapText"};});var vl=g(()=>{F();Up();G.add(Ei);});var Ai,Np=g(()=>{F();xt();Ot();Wa();Ya();Ai=class{constructor(t){this._gpuText=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.runners.resolutionChange.add(this),this._renderer.renderableGC.addManagedHash(this,"_gpuText");}resolutionChange(){for(let t in this._gpuText){let e=this._gpuText[t];if(!e)continue;let r=e.batchableSprite.renderable;r._autoResolution&&(r._resolution=this._renderer.resolution,r.onViewUpdate());}}validateRenderable(t){let e=this._getGpuText(t),r=t._getKey();return e.textureNeedsUploading?(e.textureNeedsUploading=false,true):e.currentKey!==r}addRenderable(t,e){let s=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),this._renderer.renderPipes.batch.addToBatch(s,e);}updateRenderable(t){let r=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),r._batcher.updateElement(r);}destroyRenderable(t){t.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(t.uid);}_destroyRenderableById(t){let e=this._gpuText[t];this._renderer.htmlText.decreaseReferenceCount(e.currentKey),W.return(e.batchableSprite),this._gpuText[t]=null;}_updateText(t){let e=t._getKey(),r=this._getGpuText(t),s=r.batchableSprite;r.currentKey!==e&&this._updateGpuText(t).catch(o=>{console.error(o);}),t._didTextUpdate=false,vi(s,t);}async _updateGpuText(t){t._didTextUpdate=false;let e=this._getGpuText(t);if(e.generatingTexture)return;let r=t._getKey();this._renderer.htmlText.decreaseReferenceCount(e.currentKey),e.generatingTexture=true,e.currentKey=r;let s=t.resolution??this._renderer.resolution,o=await this._renderer.htmlText.getManagedTexture(t.text,s,t._style,t._getKey()),n=e.batchableSprite;n.texture=e.texture=o,e.generatingTexture=false,e.textureNeedsUploading=true,t.onViewUpdate(),vi(n,t);}_getGpuText(t){return this._gpuText[t.uid]||this.initGpuText(t)}initGpuText(t){let e={texture:k.EMPTY,currentKey:"--",batchableSprite:W.get(_r),textureNeedsUploading:false,generatingTexture:false},r=e.batchableSprite;return r.renderable=t,r.transform=t.groupTransform,r.texture=k.EMPTY,r.bounds={minX:0,maxX:1,minY:0,maxY:0},r.roundPixels=this._renderer._roundPixels|t._roundPixels,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,this._gpuText[t.uid]=e,t.on("destroyed",this._destroyRenderableBound),e}destroy(){for(let t in this._gpuText)this._destroyRenderableById(t);this._gpuText=null,this._renderer=null;}};Ai.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"htmlText"};});function zp(){let{userAgent:i}=nt.get().getNavigator();return /^((?!chrome|android).)*safari/i.test(i)}var Hp=g(()=>{Wt();});var Vp,Wp,wr,Sl=g(()=>{Vp="http://www.w3.org/2000/svg",Wp="http://www.w3.org/1999/xhtml",wr=class{constructor(){this.svgRoot=document.createElementNS(Vp,"svg"),this.foreignObject=document.createElementNS(Vp,"foreignObject"),this.domElement=document.createElementNS(Wp,"div"),this.styleElement=document.createElementNS(Wp,"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 Xp(i){let t=i._stroke,e=i._fill,s=[`div { ${[`color: ${$.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?[jp(i.dropShadow)]:[],...i.cssOverrides].join(";")} }`];return w_(i.tagStyles,s),s.join(" ")}function jp(i){let t=$.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: ${$.shared.setValue(i.color).toHex()}`,`text-stroke-width: ${i.width}px`,`text-stroke-color: ${$.shared.setValue(i.color).toHex()}`,"paint-order: stroke"].join(";")}function w_(i,t){for(let e in i){let r=i[e],s=[];for(let o in r)$p[o]?s.push($p[o](r[o])):Yp[o]&&s.push(Yp[o].replace("{{VALUE}}",r[o]));t.push(`${e} { ${s.join(";")} }`);}}var Yp,$p,qp=g(()=>{Mt();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"},$p={fill:i=>`color: ${$.shared.setValue(i).toHex()}`,breakWords:i=>`word-wrap: ${i?"break-all":"break-word"}`,stroke:Kp,dropShadow:jp};});var Mo,Zp=g(()=>{bt();Pi();ll();qp();Mo=class i extends Ut{constructor(t={}){super(t),this._cssOverrides=[],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}_generateKey(){return this._styleKey=_o(this)+this._cssOverrides.join("-"),this._styleKey}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})}get cssStyle(){return this._cssStyle||(this._cssStyle=Xp(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 Qp(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 Jp=g(()=>{});async function tm(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 em=g(()=>{Wt();});async function Tl(i,t){let e=await tm(t);return `@font-face {
|
|
468
|
+
`)o.width!==0&&u();else if(!x){let C=p.xAdvance+(p.kerning[n]||0)+f;o.width+=C,o.spaceWidth=C,o.spacesIndex.push(o.charPositions.length),o.chars.push(_);}}else {let b=p.kerning[n]||0,C=p.xAdvance+b+f;l.positions[l.index++]=l.width+b,l.chars.push(_),l.width+=C;}n=_;}return u(),t.align==="center"?v_(s):t.align==="right"?S_(s):t.align==="justify"&&T_(s),s}function v_(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 S_(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 T_(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 yl=g(()=>{});var Po,bl,kp,Op=g(()=>{ni();dt();bt();Pi();Gp();yl();xl();Po=0,bl=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};}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(!ut.has(r)){let n=new _l({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--,ut.remove(r);}),ut.set(r,n);}let o=ut.get(r);return o.ensureCharacters?.(t),o}getLayout(t,e,r=true){let s=this.getFont(t,e);return Co([...t],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},D(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 Ut?s:new Ut(s),n=o._fill.fill!==null&&o._fill.fill!==void 0,a=new _l({style:o,overrideFill:n,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:false}),l=wo(e.chars);return a.ensureCharacters(l.join("")),ut.set(`${r}-bitmap`,a),a.once("destroy",()=>ut.remove(`${r}-bitmap`)),a}uninstall(t){let e=`${t}-bitmap`,r=ut.get(e);r&&r.destroy();}},kp=new bl;});function Dp(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 Ei,Up=g(()=>{ni();F();Ot();wp();Ip();Op();yl();Ei=class{constructor(t){this._gpuBitmapText={},this._destroyRenderableBound=this.destroyRenderable.bind(this),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);Dp(t,r),t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,r)),this._renderer.renderPipes.graphics.addRenderable(r,e),r.context.customShader&&this._updateDistanceField(t);}destroyRenderable(t){t.off("destroyed",this._destroyRenderableBound),this._destroyRenderableByUid(t.uid);}_destroyRenderableByUid(t){let e=this._gpuBitmapText[t].context;e.customShader&&(Y.return(e.customShader),e.customShader=null),Y.return(this._gpuBitmapText[t]),this._gpuBitmapText[t]=null;}updateRenderable(t){let e=this._getGpuBitmapText(t);Dp(t,e),this._renderer.renderPipes.graphics.updateRenderable(e),e.context.customShader&&this._updateDistanceField(t);}_updateContext(t,e){let{context:r}=e,s=kp.getFont(t.text,t._style);r.clear(),s.distanceField.type!=="none"&&(r.customShader||(r.customShader=Y.get(So)));let o=Array.from(t.text),n=t._style,a=s.baseLineOffset,l=Co(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 _=0;_<l.lines.length;_++){let x=l.lines[_];for(let p=0;p<x.charPositions.length;p++){let y=o[h++],v=s.chars[y];v?.texture&&r.texture(v.texture,m||"black",Math.round(x.charPositions[p]+v.xOffset),Math.round(a+v.yOffset));}a+=s.lineHeight;}}_getGpuBitmapText(t){return this._gpuBitmapText[t.uid]||this.initGpuText(t)}initGpuText(t){let e=Y.get(vo);return this._gpuBitmapText[t.uid]=e,this._updateContext(t,e),t.on("destroyed",this._destroyRenderableBound),this._gpuBitmapText[t.uid]}_updateDistanceField(t){let e=this._getGpuBitmapText(t).context,r=t._style.fontFamily,s=ut.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(){for(let t in this._gpuBitmapText)this._destroyRenderableByUid(t);this._gpuBitmapText=null,this._renderer=null;}};Ei.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"bitmapText"};});var vl=g(()=>{F();Up();k.add(Ei);});var Ai,Np=g(()=>{F();xt();Ot();Wa();Ya();Ai=class{constructor(t){this._gpuText=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.runners.resolutionChange.add(this),this._renderer.renderableGC.addManagedHash(this,"_gpuText");}resolutionChange(){for(let t in this._gpuText){let e=this._gpuText[t];if(!e)continue;let r=e.batchableSprite.renderable;r._autoResolution&&(r._resolution=this._renderer.resolution,r.onViewUpdate());}}validateRenderable(t){let e=this._getGpuText(t),r=t._getKey();return e.textureNeedsUploading?(e.textureNeedsUploading=false,true):e.currentKey!==r}addRenderable(t,e){let s=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),this._renderer.renderPipes.batch.addToBatch(s,e);}updateRenderable(t){let r=this._getGpuText(t).batchableSprite;t._didTextUpdate&&this._updateText(t),r._batcher.updateElement(r);}destroyRenderable(t){t.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(t.uid);}_destroyRenderableById(t){let e=this._gpuText[t];this._renderer.htmlText.decreaseReferenceCount(e.currentKey),Y.return(e.batchableSprite),this._gpuText[t]=null;}_updateText(t){let e=t._getKey(),r=this._getGpuText(t),s=r.batchableSprite;r.currentKey!==e&&this._updateGpuText(t).catch(o=>{console.error(o);}),t._didTextUpdate=false,vi(s,t);}async _updateGpuText(t){t._didTextUpdate=false;let e=this._getGpuText(t);if(e.generatingTexture)return;let r=t._getKey();this._renderer.htmlText.decreaseReferenceCount(e.currentKey),e.generatingTexture=true,e.currentKey=r;let s=t.resolution??this._renderer.resolution,o=await this._renderer.htmlText.getManagedTexture(t.text,s,t._style,t._getKey()),n=e.batchableSprite;n.texture=e.texture=o,e.generatingTexture=false,e.textureNeedsUploading=true,t.onViewUpdate(),vi(n,t);}_getGpuText(t){return this._gpuText[t.uid]||this.initGpuText(t)}initGpuText(t){let e={texture:G.EMPTY,currentKey:"--",batchableSprite:Y.get(_r),textureNeedsUploading:false,generatingTexture:false},r=e.batchableSprite;return r.renderable=t,r.transform=t.groupTransform,r.texture=G.EMPTY,r.bounds={minX:0,maxX:1,minY:0,maxY:0},r.roundPixels=this._renderer._roundPixels|t._roundPixels,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,this._gpuText[t.uid]=e,t.on("destroyed",this._destroyRenderableBound),e}destroy(){for(let t in this._gpuText)this._destroyRenderableById(t);this._gpuText=null,this._renderer=null;}};Ai.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"htmlText"};});function zp(){let{userAgent:i}=nt.get().getNavigator();return /^((?!chrome|android).)*safari/i.test(i)}var Hp=g(()=>{Wt();});var Vp,Wp,wr,Sl=g(()=>{Vp="http://www.w3.org/2000/svg",Wp="http://www.w3.org/1999/xhtml",wr=class{constructor(){this.svgRoot=document.createElementNS(Vp,"svg"),this.foreignObject=document.createElementNS(Vp,"foreignObject"),this.domElement=document.createElementNS(Wp,"div"),this.styleElement=document.createElementNS(Wp,"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 Xp(i){let t=i._stroke,e=i._fill,s=[`div { ${[`color: ${$.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?[jp(i.dropShadow)]:[],...i.cssOverrides].join(";")} }`];return w_(i.tagStyles,s),s.join(" ")}function jp(i){let t=$.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: ${$.shared.setValue(i.color).toHex()}`,`text-stroke-width: ${i.width}px`,`text-stroke-color: ${$.shared.setValue(i.color).toHex()}`,"paint-order: stroke"].join(";")}function w_(i,t){for(let e in i){let r=i[e],s=[];for(let o in r)$p[o]?s.push($p[o](r[o])):Yp[o]&&s.push(Yp[o].replace("{{VALUE}}",r[o]));t.push(`${e} { ${s.join(";")} }`);}}var Yp,$p,qp=g(()=>{Mt();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"},$p={fill:i=>`color: ${$.shared.setValue(i).toHex()}`,breakWords:i=>`word-wrap: ${i?"break-all":"break-word"}`,stroke:Kp,dropShadow:jp};});var Mo,Zp=g(()=>{bt();Pi();ll();qp();Mo=class i extends Ut{constructor(t={}){super(t),this._cssOverrides=[],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}_generateKey(){return this._styleKey=_o(this)+this._cssOverrides.join("-"),this._styleKey}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})}get cssStyle(){return this._cssStyle||(this._cssStyle=Xp(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 Qp(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 Jp=g(()=>{});async function tm(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 em=g(()=>{Wt();});async function Tl(i,t){let e=await tm(t);return `@font-face {
|
|
469
469
|
font-family: "${i.fontFamily}";
|
|
470
470
|
src: url('${e}');
|
|
471
471
|
font-weight: ${i.fontWeight};
|
|
472
472
|
font-style: ${i.fontStyle};
|
|
473
473
|
}`}var rm=g(()=>{em();});async function im(i,t,e){let r=i.filter(s=>ut.has(`${s}-and-url`)).map((s,o)=>{if(!Eo.has(s)){let{url:n}=ut.get(`${s}-and-url`);o===0?Eo.set(s,Tl({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:s},n)):Eo.set(s,Tl({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:s},n));}return Eo.get(s)});return (await Promise.all(r)).join(`
|
|
474
|
-
`)}var Eo,sm=g(()=>{ni();rm();Eo=new Map;});function om(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 nm=g(()=>{});function am(i,t){let e=$t.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 lm=g(()=>{Ti();});function hm(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 um=g(()=>{});function dm(i,t,e,r){r||(r=cm||(cm=new wr));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 cm,fm=g(()=>{Sl();});var Cr,pm=g(()=>{F();Ti();qe();ci();Hp();bt();Ot();ul();Sl();Zp();Jp();sm();nm();lm();um();fm();Cr=class{constructor(t){this._activeTextures={},this._renderer=t,this._createCanvas=t.type===te.WEBGPU;}getTexture(t){return this._buildTexturePromise(t.text,t.resolution,t.style)}getManagedTexture(t,e,r,s){if(this._activeTextures[s])return this._increaseReferenceCount(s),this._activeTextures[s].promise;let o=this._buildTexturePromise(t,e,r).then(n=>(this._activeTextures[s].texture=n,n));return this._activeTextures[s]={texture:null,promise:o,usageCount:1},o}async _buildTexturePromise(t,e,r){let s=
|
|
474
|
+
`)}var Eo,sm=g(()=>{ni();rm();Eo=new Map;});function om(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 nm=g(()=>{});function am(i,t){let e=$t.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 lm=g(()=>{Ti();});function hm(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 um=g(()=>{});function dm(i,t,e,r){r||(r=cm||(cm=new wr));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 cm,fm=g(()=>{Sl();});var Cr,pm=g(()=>{F();Ti();qe();ci();Hp();bt();Ot();ul();Sl();Zp();Jp();sm();nm();lm();um();fm();Cr=class{constructor(t){this._activeTextures={},this._renderer=t,this._createCanvas=t.type===te.WEBGPU;}getTexture(t){return this._buildTexturePromise(t.text,t.resolution,t.style)}getManagedTexture(t,e,r,s){if(this._activeTextures[s])return this._increaseReferenceCount(s),this._activeTextures[s].promise;let o=this._buildTexturePromise(t,e,r).then(n=>(this._activeTextures[s].texture=n,n));return this._activeTextures[s]={texture:null,promise:o,usageCount:1},o}async _buildTexturePromise(t,e,r){let s=Y.get(wr),o=Qp(t,r),n=await im(o,r,Mo.defaultTextStyle),a=dm(t,r,n,s),l=Math.ceil(Math.ceil(Math.max(1,a.width)+r.padding*2)*e),h=Math.ceil(Math.ceil(Math.max(1,a.height)+r.padding*2)*e),u=s.image,c=2;u.width=(l|0)+c,u.height=(h|0)+c;let f=om(t,r,e,n,s);await hm(u,f,zp()&&o.length>0);let d=u,m;this._createCanvas&&(m=am(u,e));let _=yo(m?m.canvas:d,u.width-c,u.height-c,e);return this._createCanvas&&(this._renderer.texture.initSource(_.source),$t.returnCanvasAndContext(m)),Y.return(s),_}_increaseReferenceCount(t){this._activeTextures[t].usageCount++;}decreaseReferenceCount(t){let e=this._activeTextures[t];e&&(e.usageCount--,e.usageCount===0&&(e.texture?this._cleanUp(e):e.promise.then(r=>{e.texture=r,this._cleanUp(e);}).catch(()=>{z("HTMLTextSystem: Failed to clean texture");}),this._activeTextures[t]=null));}_cleanUp(t){vt.returnTexture(t.texture),t.texture.source.resource=null,t.texture.source.uploadMethodId="unknown";}getReferenceCount(t){return this._activeTextures[t].usageCount}destroy(){this._activeTextures=null;}};Cr.extension={type:[w.WebGLSystem,w.WebGPUSystem,w.CanvasSystem],name:"htmlText"};Cr.defaultFontOptions={fontFamily:"Arial",fontStyle:"normal",fontWeight:"normal"};});var wl=g(()=>{F();Np();pm();k.add(Cr);k.add(Ai);});var mm,Pr,Ao=g(()=>{or();sr();ui();dt();mm=class gm extends Jt{constructor(...t){let e=t[0]??{};e instanceof Float32Array&&(D(V,"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 _t({data:r,label:"attribute-mesh-positions",shrinkToFit:n,usage:tt.VERTEX|tt.COPY_DST}),l=new _t({data:s,label:"attribute-mesh-uvs",shrinkToFit:n,usage:tt.VERTEX|tt.COPY_DST}),h=new _t({data:o,label:"index-mesh-buffer",shrinkToFit:n,usage:tt.INDEX|tt.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;}};mm.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:false};Pr=mm;});var Ri,xm,_m=g(()=>{Ri={name:"local-uniform-bit",vertex:{header:`
|
|
475
475
|
|
|
476
476
|
struct LocalUniforms {
|
|
477
477
|
uTransformMatrix:mat3x3<f32>,
|
|
@@ -566,5 +566,5 @@ fn mainFragment(
|
|
|
566
566
|
|
|
567
567
|
outColor = texture(uTexture, coord, unclamped == coord ? 0.0 : -32.0);// lod-bias very negative to force lod 0
|
|
568
568
|
|
|
569
|
-
`}};});var Cl,Pl,Ro,Sm=g(()=>{rt();zs();_m();$s();di();be();xt();vm();Ro=class extends ee{constructor(){Cl??(Cl=hr({name:"tiling-sprite-shader",bits:[Ri,ym,cr]})),Pl??(Pl=ur({name:"tiling-sprite-shader",bits:[xm,bm,dr]}));let t=new Pt({uMapCoord:{value:new R,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 R,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:Pl,gpuProgram:Cl,resources:{localUniforms:new Pt({uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:t,uTexture:k.EMPTY.source,uSampler:k.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 Io,Tm=g(()=>{Ao();Io=class extends Pr{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 wm(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 Cm=g(()=>{});function Pm(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 Mm=g(()=>{});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=R.shared;a.copyFrom(i._tileTransform.matrix),a.tx/=i.width,a.ty/=i.height,a.invert(),a.scale(i.width/r,i.height/s),Pm(t,2,0,a);}var Am=g(()=>{rt();Mm();});var Bo,Ii,Rm=g(()=>{F();li();ro();ci();gi();io();Ao();Sm();Tm();Cm();Am();Bo=new Io,Ii=class{constructor(t){this._state=ze.default2d,this._tilingSpriteDataHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_tilingSpriteDataHash");}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 Se);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 Ro),this.updateRenderable(t),e.add(t);}execute(t){let{shader:e}=this._tilingSpriteDataHash[t.uid];e.groups[0]=this._renderer.globalUniforms.bindGroup;let r=e.resources.localUniforms.uniforms;r.uTransformMatrix=t.groupTransform,r.uRound=this._renderer._roundPixels|t._roundPixels,ve(t.groupColorAlpha,r.uColor,0),this._state.blendMode=ue(t.groupBlendMode,t.texture._source),this._renderer.encoder.draw({geometry:Bo,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);}}destroyRenderable(t){let e=this._getTilingSpriteData(t);e.batchableMesh=null,e.shader?.destroy(),this._tilingSpriteDataHash[t.uid]=null,t.off("destroyed",this._destroyRenderableBound);}_getTilingSpriteData(t){return this._tilingSpriteDataHash[t.uid]||this._initTilingSpriteData(t)}_initTilingSpriteData(t){let e=new Pr({indices:Bo.indices,positions:Bo.positions.slice(),uvs:Bo.uvs.slice()});return this._tilingSpriteDataHash[t.uid]={canBatch:true,renderable:t,geometry:e},t.on("destroyed",this._destroyRenderableBound),this._tilingSpriteDataHash[t.uid]}_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),wm(t,r.positions);}destroy(){for(let t in this._tilingSpriteDataHash)this.destroyRenderable(this._tilingSpriteDataHash[t].renderable);this._tilingSpriteDataHash=null,this._renderer=null;}_updateCanBatch(t){let e=this._getTilingSpriteData(t),r=t.texture,s=true;return this._renderer.type===te.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),e.canBatch=r.textureMatrix.isSimple&&(s||r.source.isPowerOfTwo),e.canBatch}};Ii.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"tilingSprite"};});var Ml=g(()=>{F();Rm();G.add(Ii);});var Im,Lm,Fm=g(()=>{dt();Ao();Im=class Bm extends Pr{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(O(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={...Bm.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,_=d*this.verticesX+f+1,x=(d+1)*this.verticesX+f,p=(d+1)*this.verticesX+f+1;o.push(m,_,x,_,p,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();}};Im.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Lm=Im;});var km,Om,Dm=g(()=>{Fm();km=class Gm extends Lm{constructor(t={}){t={...Gm.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),_=l*e,x=h*r;t[0]=t[8]=t[16]=t[24]=-_,t[2]=t[10]=t[18]=t[26]=s*m-_,t[4]=t[12]=t[20]=t[28]=e-o*m-_,t[6]=t[14]=t[22]=t[30]=e-_,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();}};km.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Om=km;});var Bi,Um=g(()=>{F();Ot();io();Dm();Bi=class{constructor(t){this._gpuSpriteHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_gpuSpriteHash");}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._gpuSpriteHash[t.uid];t.didViewUpdate&&this._updateBatchableSprite(t,e),e._batcher.updateElement(e);}validateRenderable(t){let e=this._getGpuSprite(t);return !e._batcher.checkAndUpdateTexture(e,t._texture)}destroyRenderable(t){let e=this._gpuSpriteHash[t.uid];W.return(e.geometry),W.return(e),this._gpuSpriteHash[t.uid]=null,t.off("destroyed",this._destroyRenderableBound);}_updateBatchableSprite(t,e){e.geometry.update(t),e.setTexture(t._texture);}_getGpuSprite(t){return this._gpuSpriteHash[t.uid]||this._initGPUSprite(t)}_initGPUSprite(t){let e=W.get(Se);return e.geometry=W.get(Om),e.renderable=t,e.transform=t.groupTransform,e.texture=t._texture,e.roundPixels=this._renderer._roundPixels|t._roundPixels,this._gpuSpriteHash[t.uid]=e,t.didViewUpdate||this._updateBatchableSprite(t,e),t.on("destroyed",this._destroyRenderableBound),e}destroy(){for(let t in this._gpuSpriteHash)this._gpuSpriteHash[t].geometry.destroy();this._gpuSpriteHash=null,this._renderer=null;}};Bi.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"nineSliceSprite"};});var El=g(()=>{F();Um();G.add(Bi);});var Li,Nm=g(()=>{F();Li=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;}};Li.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"filter"};});function zm(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=g(()=>{});var C_,Fi,Vm=g(()=>{F();rt();zt();ai();ui();be();xt();qe();ci();Ht();Hm();bt();C_=new Jt({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])}),Fi=class{constructor(t){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new Pt({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 Dt({}),this.renderer=t;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(t){let e=this.renderer,r=t.filterEffect.filters;this._filterStack[this._filterStackIndex]||(this._filterStack[this._filterStackIndex]=this._getFilterData());let s=this._filterStack[this._filterStackIndex];if(this._filterStackIndex++,r.length===0){s.skip=true;return}let o=s.bounds;if(t.renderables?zm(t.renderables,o):t.filterEffect.filterArea?(o.clear(),o.addRect(t.filterEffect.filterArea),o.applyMatrix(t.container.worldTransform)):t.container.getFastGlobalBounds(true,o),t.container){let m=(t.container.renderGroup||t.container.parentRenderGroup).cacheToLocalTransform;m&&o.applyMatrix(m);}let n=e.renderTarget.renderTarget.colorTexture.source,a=1/0,l=0,h=true,u=false,c=false,f=true;for(let d=0;d<r.length;d++){let m=r[d];if(a=Math.min(a,m.resolution==="inherit"?n._resolution:m.resolution),l+=m.padding,m.antialias==="off"?h=false:m.antialias==="inherit"&&h&&(h=n.antialias),m.clipToViewport||(f=false),!!!(m.compatibleRenderers&e.type)){c=false;break}if(m.blendRequired&&!(e.backBuffer?.useBackBuffer??true)){z("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),c=false;break}c=m.enabled||c,u||(u=m.blendRequired);}if(!c){s.skip=true;return}if(f){let d=e.renderTarget.rootViewPort,m=e.renderTarget.renderTarget.resolution;o.fitBounds(0,d.width/m,0,d.height/m);}if(o.scale(a).ceil().scale(1/a).pad(l|0),!o.isPositive){s.skip=true;return}s.skip=false,s.bounds=o,s.blendRequired=u,s.container=t.container,s.filterEffect=t.filterEffect,s.previousRenderSurface=e.renderTarget.renderSurface,s.inputTexture=vt.getOptimalTexture(o.width,o.height,a,h),e.renderTarget.bind(s.inputTexture,true),e.globalUniforms.push({offset:o});}pop(){let t=this.renderer;this._filterStackIndex--;let e=this._filterStack[this._filterStackIndex];if(e.skip)return;this._activeFilterData=e;let r=e.inputTexture,s=e.bounds,o=k.EMPTY;if(t.renderTarget.finishRenderPass(),e.blendRequired){let a=this._filterStackIndex>0?this._filterStack[this._filterStackIndex-1].bounds:null,l=t.renderTarget.getRenderTarget(e.previousRenderSurface);o=this.getBackTexture(l,s,a);}e.backTexture=o;let n=e.filterEffect.filters;if(this._globalFilterBindGroup.setResource(r.source.style,2),this._globalFilterBindGroup.setResource(o.source,3),t.globalUniforms.pop(),n.length===1)n[0].apply(this,r,e.previousRenderSurface,false),vt.returnTexture(r);else {let a=e.inputTexture,l=vt.getOptimalTexture(s.width,s.height,a.source._resolution,false),h=0;for(h=0;h<n.length-1;++h){n[h].apply(this,a,l,true);let c=a;a=l,l=c;}n[h].apply(this,a,e.previousRenderSurface,false),vt.returnTexture(a),vt.returnTexture(l);}e.blendRequired&&vt.returnTexture(o);}getBackTexture(t,e,r){let s=t.colorTexture.source._resolution,o=vt.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._filterStack[this._filterStackIndex],a=n.bounds,l=X.shared,u=n.previousRenderSurface===r,c=this.renderer.renderTarget.rootRenderTarget.colorTexture.source._resolution,f=this._filterStackIndex-1;for(;f>0&&this._filterStack[f].skip;)--f;f>0&&(c=this._filterStack[f].inputTexture.source._resolution);let d=this._filterGlobalUniforms,m=d.uniforms,_=m.uOutputFrame,x=m.uInputSize,p=m.uInputPixel,y=m.uInputClamp,v=m.uGlobalFrame,b=m.uOutputTexture;if(u){let T=this._filterStackIndex;for(;T>0;){T--;let P=this._filterStack[this._filterStackIndex-1];if(!P.skip){l.x=P.bounds.minX,l.y=P.bounds.minY;break}}_[0]=a.minX-l.x,_[1]=a.minY-l.y;}else _[0]=0,_[1]=0;_[2]=e.frame.width,_[3]=e.frame.height,x[0]=e.source.width,x[1]=e.source.height,x[2]=1/x[0],x[3]=1/x[1],p[0]=e.source.pixelWidth,p[1]=e.source.pixelHeight,p[2]=1/p[0],p[3]=1/p[1],y[0]=.5*p[2],y[1]=.5*p[3],y[2]=e.frame.width*x[2]-.5*p[2],y[3]=e.frame.height*x[3]-.5*p[3];let C=this.renderer.renderTarget.rootRenderTarget.colorTexture;v[0]=l.x*c,v[1]=l.y*c,v[2]=C.source.width*c,v[3]=C.source.height*c;let S=this.renderer.renderTarget.getRenderTarget(r);if(o.renderTarget.bind(r,!!s),r instanceof k?(b[0]=r.frame.width,b[1]=r.frame.height):(b[0]=S.width,b[1]=S.height),b[2]=S.isRoot?-1:1,d.update(),o.renderPipes.uniformBatch){let T=o.renderPipes.uniformBatch.getUboResource(d);this._globalFilterBindGroup.setResource(T,0);}else this._globalFilterBindGroup.setResource(d,0);this._globalFilterBindGroup.setResource(e.source,1),this._globalFilterBindGroup.setResource(e.source.style,2),t.groups[0]=this._globalFilterBindGroup,o.encoder.draw({geometry:C_,shader:t,state:t._state,topology:"triangle-list"}),o.type===te.WEBGL&&o.renderTarget.finishRenderPass();}_getFilterData(){return {skip:false,inputTexture:null,bounds:new ot,container:null,filterEffect:null,blendRequired:false,previousRenderSurface:null}}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(R.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}};Fi.extension={type:[w.WebGLSystem,w.WebGPUSystem],name:"filter"};});var Al=g(()=>{F();Nm();Vm();G.add(Fi);G.add(Li);});var P_={};var Wm=g(()=>{wu();Mn();Bu();Fu();Ss();Es();Da();Ua();Va();pl();vl();wl();Ml();El();Al();});var M_={};var $m=g(()=>{Mn();Ss();Es();Da();Ua();Va();pl();vl();wl();Ml();El();Al();});var sg=Or((Do,ig)=>{(function(i,t){typeof Do=="object"?ig.exports=Do=t():typeof define=="function"&&define.amd?define([],t):i.CryptoJS=t();})(Do,function(){var i=i||function(t,e){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof global<"u"&&global.crypto&&(r=global.crypto),!r&&typeof Vo=="function")try{r=Vo("crypto");}catch{}var s=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function p(){}return function(y){var v;return p.prototype=y,v=new p,p.prototype=null,v}}(),n={},a=n.lib={},l=a.Base=function(){return {extend:function(p){var y=o(this);return p&&y.mixIn(p),(!y.hasOwnProperty("init")||this.init===y.init)&&(y.init=function(){y.$super.init.apply(this,arguments);}),y.init.prototype=y,y.$super=this,y},create:function(){var p=this.extend();return p.init.apply(p,arguments),p},init:function(){},mixIn:function(p){for(var y in p)p.hasOwnProperty(y)&&(this[y]=p[y]);p.hasOwnProperty("toString")&&(this.toString=p.toString);},clone:function(){return this.init.prototype.extend(this)}}}(),h=a.WordArray=l.extend({init:function(p,y){p=this.words=p||[],y!=e?this.sigBytes=y:this.sigBytes=p.length*4;},toString:function(p){return (p||c).stringify(this)},concat:function(p){var y=this.words,v=p.words,b=this.sigBytes,C=p.sigBytes;if(this.clamp(),b%4)for(var S=0;S<C;S++){var T=v[S>>>2]>>>24-S%4*8&255;y[b+S>>>2]|=T<<24-(b+S)%4*8;}else for(var P=0;P<C;P+=4)y[b+P>>>2]=v[P>>>2];return this.sigBytes+=C,this},clamp:function(){var p=this.words,y=this.sigBytes;p[y>>>2]&=4294967295<<32-y%4*8,p.length=t.ceil(y/4);},clone:function(){var p=l.clone.call(this);return p.words=this.words.slice(0),p},random:function(p){for(var y=[],v=0;v<p;v+=4)y.push(s());return new h.init(y,p)}}),u=n.enc={},c=u.Hex={stringify:function(p){for(var y=p.words,v=p.sigBytes,b=[],C=0;C<v;C++){var S=y[C>>>2]>>>24-C%4*8&255;b.push((S>>>4).toString(16)),b.push((S&15).toString(16));}return b.join("")},parse:function(p){for(var y=p.length,v=[],b=0;b<y;b+=2)v[b>>>3]|=parseInt(p.substr(b,2),16)<<24-b%8*4;return new h.init(v,y/2)}},f=u.Latin1={stringify:function(p){for(var y=p.words,v=p.sigBytes,b=[],C=0;C<v;C++){var S=y[C>>>2]>>>24-C%4*8&255;b.push(String.fromCharCode(S));}return b.join("")},parse:function(p){for(var y=p.length,v=[],b=0;b<y;b++)v[b>>>2]|=(p.charCodeAt(b)&255)<<24-b%4*8;return new h.init(v,y)}},d=u.Utf8={stringify:function(p){try{return decodeURIComponent(escape(f.stringify(p)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(p){return f.parse(unescape(encodeURIComponent(p)))}},m=a.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new h.init,this._nDataBytes=0;},_append:function(p){typeof p=="string"&&(p=d.parse(p)),this._data.concat(p),this._nDataBytes+=p.sigBytes;},_process:function(p){var y,v=this._data,b=v.words,C=v.sigBytes,S=this.blockSize,T=S*4,P=C/T;p?P=t.ceil(P):P=t.max((P|0)-this._minBufferSize,0);var I=P*S,E=t.min(I*4,C);if(I){for(var A=0;A<I;A+=S)this._doProcessBlock(b,A);y=b.splice(0,I),v.sigBytes-=E;}return new h.init(y,E)},clone:function(){var p=l.clone.call(this);return p._data=this._data.clone(),p},_minBufferSize:0});a.Hasher=m.extend({cfg:l.extend(),init:function(p){this.cfg=this.cfg.extend(p),this.reset();},reset:function(){m.reset.call(this),this._doReset();},update:function(p){return this._append(p),this._process(),this},finalize:function(p){p&&this._append(p);var y=this._doFinalize();return y},blockSize:512/32,_createHelper:function(p){return function(y,v){return new p.init(v).finalize(y)}},_createHmacHelper:function(p){return function(y,v){return new x.HMAC.init(p,v).finalize(y)}}});var x=n.algo={};return n}(Math);return i});});var ng=Or((Uo,og)=>{(function(i,t){typeof Uo=="object"?og.exports=Uo=t(sg()):typeof define=="function"&&define.amd?define(["./core"],t):t(i.CryptoJS);})(Uo,function(i){return function(){var t=i,e=t.lib,r=e.WordArray,s=e.Hasher,o=t.algo,n=[],a=o.SHA1=s.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(l,h){for(var u=this._hash.words,c=u[0],f=u[1],d=u[2],m=u[3],_=u[4],x=0;x<80;x++){if(x<16)n[x]=l[h+x]|0;else {var p=n[x-3]^n[x-8]^n[x-14]^n[x-16];n[x]=p<<1|p>>>31;}var y=(c<<5|c>>>27)+_+n[x];x<20?y+=(f&d|~f&m)+1518500249:x<40?y+=(f^d^m)+1859775393:x<60?y+=(f&d|f&m|d&m)-1894007588:y+=(f^d^m)-899497514,_=m,m=d,d=f<<30|f>>>2,f=c,c=y;}u[0]=u[0]+c|0,u[1]=u[1]+f|0,u[2]=u[2]+d|0,u[3]=u[3]+m|0,u[4]=u[4]+_|0;},_doFinalize:function(){var l=this._data,h=l.words,u=this._nDataBytes*8,c=l.sigBytes*8;return h[c>>>5]|=128<<24-c%32,h[(c+64>>>9<<4)+14]=Math.floor(u/4294967296),h[(c+64>>>9<<4)+15]=u,l.sigBytes=h.length*4,this._process(),this._hash},clone:function(){var l=s.clone.call(this);return l._hash=this._hash.clone(),l}});t.SHA1=s._createHelper(a),t.HmacSHA1=s._createHmacHelper(a);}(),i.SHA1});});var jt={};gg(jt,{DistortionFilter:()=>Xi,EqualizerFilter:()=>kt,Filter:()=>ct,MonoFilter:()=>ji,ReverbFilter:()=>Ki,StereoFilter:()=>qi,StreamFilter:()=>Zi,TelephoneFilter:()=>Qi});var Nl;function zl(i){return Nl=i,i}function q(){return Nl}var ct=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 ct{constructor(t=0){let e;if(!q().useLegacy){let{audioContext:r}=q().context;e=r.createWaveShaper();}super(e),this._distortion=e,this.amount=t;}set amount(t){if(this._amount=t,q().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=q().context;t.setValueAtTime(e,r.audioContext.currentTime);}else t.value=e;return e}};var Z=class extends ct{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}];q().useLegacy||(u=c.map(f=>{let d=q().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;}},kt=Z;kt.F32=32;kt.F64=64;kt.F125=125;kt.F250=250;kt.F500=500;kt.F1K=1e3;kt.F2K=2e3;kt.F4K=4e3;kt.F8K=8e3;kt.F16K=16e3;var ji=class extends ct{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().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 Ki=class extends ct{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(q().useLegacy)return;let{audioContext:t}=q().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 qi=class extends ct{constructor(t=0){let e,r,s;if(!q().useLegacy){let{audioContext:o}=q().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 ct{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().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 ct{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().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);}};F();var Ym={extension:{type:w.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(Wm(),P_));}};F();var Xm={extension:{type:w.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>($m(),M_));}};F();F();Es();Ss();Gn();Wt();Xn();Kr();Rt();vs();Dr(Ta());G.add(Ym,Xm);var ki=class extends K{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 A_=0,Rl=class extends K{constructor(i){super(),this.id=A_++,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-Rl.PADDING),this._end=Math.min(this._end+Rl.PADDING,this._duration),this._source.onloadedmetadata=()=>{this._source&&(this._source.currentTime=t,this._source.onloadedmetadata=null,this.emit("progress",t/this._duration,this._duration),ft.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(){ft.shared.remove(this._onUpdate,this),this._internalStop(),this.emit("progress",1,this._duration),this.emit("end",this);}destroy(){ft.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}]`}},Lo=Rl;Lo.PADDING=.1;var Gi=class extends K{init(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url);}create(){return new Lo(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 Oi=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 We=["ogg","oga","opus","m4a","mp3","mpeg","wav","aiff","wma","mid","caf"],Il=["audio/mpeg","audio/ogg"],Ye={};function jm(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$/;We.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(Ye,r);}jm();var I_=0,Di=class extends K{constructor(t){super(),this.id=I_++,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){ft.shared.remove(this._updateListener,this),t&&ft.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 $e=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 $e{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}},Fo=Km;Fo.BUFFER_SIZE=0;var Xe=class{init(t){this.parent=t,this._nodes=new Fo(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 Di(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 Mr=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=q().useLegacy?new Gi:new Xe;return new Mr(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:Et.extname(e).slice(1)})).filter(({ext:e})=>Ye[e]).sort((e,r)=>We.indexOf(e.ext)-We.indexOf(r.ext));if(!t)throw new Error("No supported file type found");return t.url}get context(){return q().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 Oi(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(Mr._pool.length>0){let i=Mr._pool.pop();return i.init(this.media),i}return this.media.create()}_poolInstance(i){i.destroy(),Mr._pool.indexOf(i)<0&&Mr._pool.push(i);}},we=Mr;we._pool=[];var Er=class i extends $e{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 K,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 ko=class{constructor(){this.init();}init(){return this.supported&&(this._webAudioContext=new Er),this._htmlAudioContext=new ki,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 Er.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 we)return this._sounds[t]=e,e;let r=this._getOptions(e),s=we.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=Et.basename(t,Et.extname(t))),e},Zm={extension:w.Asset,detection:{test:async()=>true,add:async i=>[...i,...We.filter(t=>Ye[t])],remove:async i=>i.filter(t=>i.includes(t))},loader:{name:"sound",extension:{type:[w.LoadParser],priority:tr.High},test(i){let t=Et.extname(i).slice(1);return !!Ye[t]||Il.some(e=>i.startsWith(`data:${e}`))},async load(i,t){let e=await new Promise((r,s)=>we.from({...t.data,url:i,preload:true,loaded(o,n){o?s(o):r(n),t.data?.loaded?.(o,n);}}));return q().add(qm(t),e),e},async unload(i,t){q().remove(qm(t));}}};G.add(Zm);zl(new ko);({DistortionFilter:jt.DistortionFilter,EqualizerFilter:jt.EqualizerFilter,MonoFilter:jt.MonoFilter,ReverbFilter:jt.ReverbFilter,StereoFilter:jt.StereoFilter,StreamFilter:jt.StreamFilter,TelephoneFilter:jt.TelephoneFilter});var Y={CURRENT_DIALOGUE_MEMORY_KEY:"___current_dialogue_memory___",LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY:"___last_dialogue_added_in_step_memory___",CURRENT_MENU_OPTIONS_MEMORY_KEY:"___current_menu_options_memory___",LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY:"___last_menu_options_added_in_step_memory___",CURRENT_INPUT_VALUE_MEMORY_KEY:"_input_value_",LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY:"___last_input_added_in_step_memory___",CURRENT_INPUT_INFO_MEMORY_KEY:"___current_input_info_memory___",CHARACTER_CATEGORY_KEY:"___character___",ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY:"___glue___",OPENED_LABELS_COUNTER_KEY:"___opened_labels_counter___",ALL_CHOICES_MADE_KEY:"___all_choices_made___",CURRENT_STEP_TIMES_COUNTER_KEY:"___current_step_times_counter___"};var B;(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)))(B||={});var D=class i{static init(t){i._getStepCounter=t.getStepCounter,i._setStepCounter=t.setStepCounter,i._getCurrentGameStepState=t.getCurrentGameStepState,i._restoreGameStepState=t.restoreGameStepState,i._getOpenedLabels=t.getOpenedLabels,t.onGoNextEnd&&(i._onGoNextEnd=t.onGoNextEnd),i._getVariable=t.getVariable,i._setVariable=t.setVariable,i._removeVariable=t.removeVariable,i._getFlag=t.getFlag,i._setFlag=t.setFlag,t.onLabelClosing&&(i._onLabelClosing=t.onLabelClosing),i._addHistoryItem=t.addHistoryItem,i._getCurrentStepsRunningNumber=t.getCurrentStepsRunningNumber,i._getCharacter=t.getCharacter;}static _getStepCounter=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static _setStepCounter=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get stepCounter(){return i._getStepCounter()}static set stepCounter(t){i._setStepCounter(t);}static _getCurrentGameStepState=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get currentGameStepState(){return i._getCurrentGameStepState()}static _restoreGameStepState=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get restoreGameStepState(){return i._restoreGameStepState}static _getOpenedLabels=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get openedLabels(){return i._getOpenedLabels()}static _onGoNextEnd=async()=>{};static get onGoNextEnd(){return i._onGoNextEnd}static _getVariable=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get getVariable(){return i._getVariable}static _setVariable=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get setVariable(){return i._setVariable}static _removeVariable=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get removeVariable(){return i._removeVariable}static _getFlag=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get getFlag(){return i._getFlag}static _setFlag=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get setFlag(){return i._setFlag}static _onLabelClosing=()=>{};static get onLabelClosing(){return i._onLabelClosing}static _addHistoryItem=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get addHistoryItem(){return i._addHistoryItem}static _getCurrentStepsRunningNumber=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get currentStepsRunningNumber(){return i._getCurrentStepsRunningNumber()}static _getCharacter=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented.")};static get getCharacter(){return i._getCharacter}static onEnd;static onError};function se(i){try{if(typeof i>"u")return i;let t=JSON.stringify(i);return JSON.parse(t)}catch(t){throw B.error("Error creating exportable element",i,t),new Error("[Pixi\u2019VN] Error creating exportable element")}}var Ar=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Jm=new Set,Bl=typeof process=="object"&&process?process:{},tg=(i,t,e,r)=>{typeof Bl.emitWarning=="function"?Bl.emitWarning(i,t,e,r):console.error(`[${e}] ${t}: ${i}`);},Go=globalThis.AbortController,Qm=globalThis.AbortSignal;if(typeof Go>"u"){Qm=class{onabort;_onabort=[];reason;aborted=false;addEventListener(r,s){this._onabort.push(s);}},Go=class{constructor(){t();}signal=new Qm;abort(r){if(!this.signal.aborted){this.signal.reason=r,this.signal.aborted=true;for(let s of this.signal._onabort)s(r);this.signal.onabort?.(r);}}};let i=Bl.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{i&&(i=false,tg("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t));};}var F_=i=>!Jm.has(i),Ce=i=>i&&i===Math.floor(i)&&i>0&&isFinite(i),eg=i=>Ce(i)?i<=Math.pow(2,8)?Uint8Array:i<=Math.pow(2,16)?Uint16Array:i<=Math.pow(2,32)?Uint32Array:i<=Number.MAX_SAFE_INTEGER?Rr:null:null,Rr=class extends Array{constructor(t){super(t),this.fill(0);}},Ll=class i{heap;length;static#l=false;static create(t){let e=eg(t);if(!e)return [];i.#l=true;let r=new i(t,e);return i.#l=false,r}constructor(t,e){if(!i.#l)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new e(t),this.length=0;}push(t){this.heap[this.length++]=t;}pop(){return this.heap[--this.length]}},Oo=class i{#l;#c;#m;#M;#g;#I;#B;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#s;#x;#i;#r;#t;#h;#d;#a;#o;#_;#n;#y;#b;#f;#v;#P;#u;#L;static unsafeExposeInternals(t){return {starts:t.#b,ttls:t.#f,sizes:t.#y,keyMap:t.#i,keyList:t.#r,valList:t.#t,next:t.#h,prev:t.#d,get head(){return t.#a},get tail(){return t.#o},free:t.#_,isBackgroundFetch:e=>t.#e(e),backgroundFetch:(e,r,s,o)=>t.#G(e,r,s,o),moveToTail:e=>t.#R(e),indexes:e=>t.#S(e),rindexes:e=>t.#T(e),isStale:e=>t.#p(e)}}get max(){return this.#l}get maxSize(){return this.#c}get calculatedSize(){return this.#x}get size(){return this.#s}get fetchMethod(){return this.#I}get memoMethod(){return this.#B}get dispose(){return this.#m}get onInsert(){return this.#M}get disposeAfter(){return this.#g}constructor(t){let{max:e=0,ttl:r,ttlResolution:s=1,ttlAutopurge:o,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:l,dispose:h,onInsert:u,disposeAfter:c,noDisposeOnSet:f,noUpdateTTL:d,maxSize:m=0,maxEntrySize:_=0,sizeCalculation:x,fetchMethod:p,memoMethod:y,noDeleteOnFetchRejection:v,noDeleteOnStaleGet:b,allowStaleOnFetchRejection:C,allowStaleOnFetchAbort:S,ignoreFetchAbort:T}=t;if(e!==0&&!Ce(e))throw new TypeError("max option must be a nonnegative integer");let P=e?eg(e):Array;if(!P)throw new Error("invalid max value: "+e);if(this.#l=e,this.#c=m,this.maxEntrySize=_||this.#c,this.sizeCalculation=x,this.sizeCalculation){if(!this.#c&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(y!==void 0&&typeof y!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#B=y,p!==void 0&&typeof p!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#I=p,this.#P=!!p,this.#i=new Map,this.#r=new Array(e).fill(void 0),this.#t=new Array(e).fill(void 0),this.#h=new P(e),this.#d=new P(e),this.#a=0,this.#o=0,this.#_=Ll.create(e),this.#s=0,this.#x=0,typeof h=="function"&&(this.#m=h),typeof u=="function"&&(this.#M=u),typeof c=="function"?(this.#g=c,this.#n=[]):(this.#g=void 0,this.#n=void 0),this.#v=!!this.#m,this.#L=!!this.#M,this.#u=!!this.#g,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!d,this.noDeleteOnFetchRejection=!!v,this.allowStaleOnFetchRejection=!!C,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!T,this.maxEntrySize!==0){if(this.#c!==0&&!Ce(this.#c))throw new TypeError("maxSize must be a positive integer if specified");if(!Ce(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#V();}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!b,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=Ce(s)||s===0?s:1,this.ttlAutopurge=!!o,this.ttl=r||0,this.ttl){if(!Ce(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#O();}if(this.#l===0&&this.ttl===0&&this.#c===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#l&&!this.#c){let I="LRU_CACHE_UNBOUNDED";F_(I)&&(Jm.add(I),tg("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",I,i));}}getRemainingTTL(t){return this.#i.has(t)?1/0:0}#O(){let t=new Rr(this.#l),e=new Rr(this.#l);this.#f=t,this.#b=e,this.#D=(o,n,a=Ar.now())=>{if(e[o]=n!==0?a:0,t[o]=n,n!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.#p(o)&&this.#w(this.#r[o],"expire");},n+1);l.unref&&l.unref();}},this.#E=o=>{e[o]=t[o]!==0?Ar.now():0;},this.#C=(o,n)=>{if(t[n]){let a=t[n],l=e[n];if(!a||!l)return;o.ttl=a,o.start=l,o.now=r||s();let h=o.now-l;o.remainingTTL=a-h;}};let r=0,s=()=>{let o=Ar.now();if(this.ttlResolution>0){r=o;let n=setTimeout(()=>r=0,this.ttlResolution);n.unref&&n.unref();}return o};this.getRemainingTTL=o=>{let n=this.#i.get(o);if(n===void 0)return 0;let a=t[n],l=e[n];if(!a||!l)return 1/0;let h=(r||s())-l;return a-h},this.#p=o=>{let n=e[o],a=t[o];return !!a&&!!n&&(r||s())-n>a};}#E=()=>{};#C=()=>{};#D=()=>{};#p=()=>false;#V(){let t=new Rr(this.#l);this.#x=0,this.#y=t,this.#A=e=>{this.#x-=t[e],t[e]=0;},this.#U=(e,r,s,o)=>{if(this.#e(r))return 0;if(!Ce(s))if(o){if(typeof o!="function")throw new TypeError("sizeCalculation must be a function");if(s=o(r,e),!Ce(s))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return s},this.#F=(e,r,s)=>{if(t[e]=r,this.#c){let o=this.#c-t[e];for(;this.#x>o;)this.#k(true);}this.#x+=t[e],s&&(s.entrySize=r,s.totalCalculatedSize=this.#x);};}#A=t=>{};#F=(t,e,r)=>{};#U=(t,e,r,s)=>{if(r||s)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#S({allowStale:t=this.allowStale}={}){if(this.#s)for(let e=this.#o;!(!this.#N(e)||((t||!this.#p(e))&&(yield e),e===this.#a));)e=this.#d[e];}*#T({allowStale:t=this.allowStale}={}){if(this.#s)for(let e=this.#a;!(!this.#N(e)||((t||!this.#p(e))&&(yield e),e===this.#o));)e=this.#h[e];}#N(t){return t!==void 0&&this.#i.get(this.#r[t])===t}*entries(){for(let t of this.#S())this.#t[t]!==void 0&&this.#r[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#r[t],this.#t[t]]);}*rentries(){for(let t of this.#T())this.#t[t]!==void 0&&this.#r[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#r[t],this.#t[t]]);}*keys(){for(let t of this.#S()){let e=this.#r[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*rkeys(){for(let t of this.#T()){let e=this.#r[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*values(){for(let t of this.#S())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}*rvalues(){for(let t of this.#T())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,e={}){for(let r of this.#S()){let s=this.#t[r],o=this.#e(s)?s.__staleWhileFetching:s;if(o!==void 0&&t(o,this.#r[r],this))return this.get(this.#r[r],e)}}forEach(t,e=this){for(let r of this.#S()){let s=this.#t[r],o=this.#e(s)?s.__staleWhileFetching:s;o!==void 0&&t.call(e,o,this.#r[r],this);}}rforEach(t,e=this){for(let r of this.#T()){let s=this.#t[r],o=this.#e(s)?s.__staleWhileFetching:s;o!==void 0&&t.call(e,o,this.#r[r],this);}}purgeStale(){let t=false;for(let e of this.#T({allowStale:true}))this.#p(e)&&(this.#w(this.#r[e],"expire"),t=true);return t}info(t){let e=this.#i.get(t);if(e===void 0)return;let r=this.#t[e],s=this.#e(r)?r.__staleWhileFetching:r;if(s===void 0)return;let o={value:s};if(this.#f&&this.#b){let n=this.#f[e],a=this.#b[e];if(n&&a){let l=n-(Ar.now()-a);o.ttl=l,o.start=Date.now();}}return this.#y&&(o.size=this.#y[e]),o}dump(){let t=[];for(let e of this.#S({allowStale:true})){let r=this.#r[e],s=this.#t[e],o=this.#e(s)?s.__staleWhileFetching:s;if(o===void 0||r===void 0)continue;let n={value:o};if(this.#f&&this.#b){n.ttl=this.#f[e];let a=Ar.now()-this.#b[e];n.start=Math.floor(Date.now()-a);}this.#y&&(n.size=this.#y[e]),t.unshift([r,n]);}return t}load(t){this.clear();for(let[e,r]of t){if(r.start){let s=Date.now()-r.start;r.start=Ar.now()-s;}this.set(e,r.value,r);}}set(t,e,r={}){if(e===void 0)return this.delete(t),this;let{ttl:s=this.ttl,start:o,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:l}=r,{noUpdateTTL:h=this.noUpdateTTL}=r,u=this.#U(t,e,r.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=true),this.#w(t,"set"),this;let c=this.#s===0?void 0:this.#i.get(t);if(c===void 0)c=this.#s===0?this.#o:this.#_.length!==0?this.#_.pop():this.#s===this.#l?this.#k(false):this.#s,this.#r[c]=t,this.#t[c]=e,this.#i.set(t,c),this.#h[this.#o]=c,this.#d[c]=this.#o,this.#o=c,this.#s++,this.#F(c,u,l),l&&(l.set="add"),h=false,this.#L&&this.#M?.(e,t,"add");else {this.#R(c);let f=this.#t[c];if(e!==f){if(this.#P&&this.#e(f)){f.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:d}=f;d!==void 0&&!n&&(this.#v&&this.#m?.(d,t,"set"),this.#u&&this.#n?.push([d,t,"set"]));}else n||(this.#v&&this.#m?.(f,t,"set"),this.#u&&this.#n?.push([f,t,"set"]));if(this.#A(c),this.#F(c,u,l),this.#t[c]=e,l){l.set="replace";let d=f&&this.#e(f)?f.__staleWhileFetching:f;d!==void 0&&(l.oldValue=d);}}else l&&(l.set="update");this.#L&&this.onInsert?.(e,t,e===f?"update":"replace");}if(s!==0&&!this.#f&&this.#O(),this.#f&&(h||this.#D(c,s,o),l&&this.#C(l,c)),!n&&this.#u&&this.#n){let f=this.#n,d;for(;d=f?.shift();)this.#g?.(...d);}return this}pop(){try{for(;this.#s;){let t=this.#t[this.#a];if(this.#k(!0),this.#e(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#u&&this.#n){let t=this.#n,e;for(;e=t?.shift();)this.#g?.(...e);}}}#k(t){let e=this.#a,r=this.#r[e],s=this.#t[e];return this.#P&&this.#e(s)?s.__abortController.abort(new Error("evicted")):(this.#v||this.#u)&&(this.#v&&this.#m?.(s,r,"evict"),this.#u&&this.#n?.push([s,r,"evict"])),this.#A(e),t&&(this.#r[e]=void 0,this.#t[e]=void 0,this.#_.push(e)),this.#s===1?(this.#a=this.#o=0,this.#_.length=0):this.#a=this.#h[e],this.#i.delete(r),this.#s--,e}has(t,e={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:s}=e,o=this.#i.get(t);if(o!==void 0){let n=this.#t[o];if(this.#e(n)&&n.__staleWhileFetching===void 0)return false;if(this.#p(o))s&&(s.has="stale",this.#C(s,o));else return r&&this.#E(o),s&&(s.has="hit",this.#C(s,o)),true}else s&&(s.has="miss");return false}peek(t,e={}){let{allowStale:r=this.allowStale}=e,s=this.#i.get(t);if(s===void 0||!r&&this.#p(s))return;let o=this.#t[s];return this.#e(o)?o.__staleWhileFetching:o}#G(t,e,r,s){let o=e===void 0?void 0:this.#t[e];if(this.#e(o))return o;let n=new Go,{signal:a}=r;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let l={signal:n.signal,options:r,context:s},h=(_,x=false)=>{let{aborted:p}=n.signal,y=r.ignoreFetchAbort&&_!==void 0;if(r.status&&(p&&!x?(r.status.fetchAborted=true,r.status.fetchError=n.signal.reason,y&&(r.status.fetchAbortIgnored=true)):r.status.fetchResolved=true),p&&!y&&!x)return c(n.signal.reason);let v=d;return this.#t[e]===d&&(_===void 0?v.__staleWhileFetching?this.#t[e]=v.__staleWhileFetching:this.#w(t,"fetch"):(r.status&&(r.status.fetchUpdated=true),this.set(t,_,l.options))),_},u=_=>(r.status&&(r.status.fetchRejected=true,r.status.fetchError=_),c(_)),c=_=>{let{aborted:x}=n.signal,p=x&&r.allowStaleOnFetchAbort,y=p||r.allowStaleOnFetchRejection,v=y||r.noDeleteOnFetchRejection,b=d;if(this.#t[e]===d&&(!v||b.__staleWhileFetching===void 0?this.#w(t,"fetch"):p||(this.#t[e]=b.__staleWhileFetching)),y)return r.status&&b.__staleWhileFetching!==void 0&&(r.status.returnedStale=true),b.__staleWhileFetching;if(b.__returned===b)throw _},f=(_,x)=>{let p=this.#I?.(t,o,l);p&&p instanceof Promise&&p.then(y=>_(y===void 0?void 0:y),x),n.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(_(void 0),r.allowStaleOnFetchAbort&&(_=y=>h(y,true)));});};r.status&&(r.status.fetchDispatched=true);let d=new Promise(f).then(h,u),m=Object.assign(d,{__abortController:n,__staleWhileFetching:o,__returned:void 0});return e===void 0?(this.set(t,m,{...l.options,status:void 0}),e=this.#i.get(t)):this.#t[e]=m,m}#e(t){if(!this.#P)return false;let e=t;return !!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof Go}async fetch(t,e={}){let{allowStale:r=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:h=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:d=this.ignoreFetchAbort,allowStaleOnFetchAbort:m=this.allowStaleOnFetchAbort,context:_,forceRefresh:x=false,status:p,signal:y}=e;if(!this.#P)return p&&(p.fetch="get"),this.get(t,{allowStale:r,updateAgeOnGet:s,noDeleteOnStaleGet:o,status:p});let v={allowStale:r,updateAgeOnGet:s,noDeleteOnStaleGet:o,ttl:n,noDisposeOnSet:a,size:l,sizeCalculation:h,noUpdateTTL:u,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:m,ignoreFetchAbort:d,status:p,signal:y},b=this.#i.get(t);if(b===void 0){p&&(p.fetch="miss");let C=this.#G(t,b,v,_);return C.__returned=C}else {let C=this.#t[b];if(this.#e(C)){let E=r&&C.__staleWhileFetching!==void 0;return p&&(p.fetch="inflight",E&&(p.returnedStale=true)),E?C.__staleWhileFetching:C.__returned=C}let S=this.#p(b);if(!x&&!S)return p&&(p.fetch="hit"),this.#R(b),s&&this.#E(b),p&&this.#C(p,b),C;let T=this.#G(t,b,v,_),I=T.__staleWhileFetching!==void 0&&r;return p&&(p.fetch=S?"stale":"refresh",I&&S&&(p.returnedStale=true)),I?T.__staleWhileFetching:T.__returned=T}}async forceFetch(t,e={}){let r=await this.fetch(t,e);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(t,e={}){let r=this.#B;if(!r)throw new Error("no memoMethod provided to constructor");let{context:s,forceRefresh:o,...n}=e,a=this.get(t,n);if(!o&&a!==void 0)return a;let l=r(t,a,{options:n,context:s});return this.set(t,l,n),l}get(t,e={}){let{allowStale:r=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,status:n}=e,a=this.#i.get(t);if(a!==void 0){let l=this.#t[a],h=this.#e(l);return n&&this.#C(n,a),this.#p(a)?(n&&(n.get="stale"),h?(n&&r&&l.__staleWhileFetching!==void 0&&(n.returnedStale=true),r?l.__staleWhileFetching:void 0):(o||this.#w(t,"expire"),n&&r&&(n.returnedStale=true),r?l:void 0)):(n&&(n.get="hit"),h?l.__staleWhileFetching:(this.#R(a),s&&this.#E(a),l))}else n&&(n.get="miss");}#z(t,e){this.#d[e]=t,this.#h[t]=e;}#R(t){t!==this.#o&&(t===this.#a?this.#a=this.#h[t]:this.#z(this.#d[t],this.#h[t]),this.#z(this.#o,t),this.#o=t);}delete(t){return this.#w(t,"delete")}#w(t,e){let r=false;if(this.#s!==0){let s=this.#i.get(t);if(s!==void 0)if(r=true,this.#s===1)this.#H(e);else {this.#A(s);let o=this.#t[s];if(this.#e(o)?o.__abortController.abort(new Error("deleted")):(this.#v||this.#u)&&(this.#v&&this.#m?.(o,t,e),this.#u&&this.#n?.push([o,t,e])),this.#i.delete(t),this.#r[s]=void 0,this.#t[s]=void 0,s===this.#o)this.#o=this.#d[s];else if(s===this.#a)this.#a=this.#h[s];else {let n=this.#d[s];this.#h[n]=this.#h[s];let a=this.#h[s];this.#d[a]=this.#d[s];}this.#s--,this.#_.push(s);}}if(this.#u&&this.#n?.length){let s=this.#n,o;for(;o=s?.shift();)this.#g?.(...o);}return r}clear(){return this.#H("delete")}#H(t){for(let e of this.#T({allowStale:true})){let r=this.#t[e];if(this.#e(r))r.__abortController.abort(new Error("deleted"));else {let s=this.#r[e];this.#v&&this.#m?.(r,s,t),this.#u&&this.#n?.push([r,s,t]);}}if(this.#i.clear(),this.#t.fill(void 0),this.#r.fill(void 0),this.#f&&this.#b&&(this.#f.fill(0),this.#b.fill(0)),this.#y&&this.#y.fill(0),this.#a=0,this.#o=0,this.#_.length=0,this.#x=0,this.#s=0,this.#u&&this.#n){let e=this.#n,r;for(;r=e?.shift();)this.#g?.(...r);}}};var Ir=class{cache;map=new Map;constructor(t){this.cache=new Oo({max:t.cacheSize}),this.map=new Map;}get[Symbol.iterator](){return this.map[Symbol.iterator]}get[Symbol.toStringTag](){return this.map[Symbol.toStringTag]}clear(){return this.cache.clear(),this.map.clear()}delete(t){let e=this.map.delete(t);return e&&this.cache.delete(t),e}get forEach(){return this.map.forEach}get(t){let e=this.cache.get(t);return e||this.map.get(t)}has(t){return this.map.has(t)}set(t,e){return this.map.set(t,e),this.cache.set(t,e),this}get size(){return this.map.size}get entries(){return this.map.entries}get keys(){return this.map.keys}get values(){return this.map.values}};var Ui=new Ir({cacheSize:10}),rg;(s=>{function i(o){let n=Ui.get(o);if(!n){B.error(`Label "${o}" not found`);return}return n}s.get=i;function t(o){if(Array.isArray(o)){o.forEach(n=>t(n));return}Ui.has(o.id)&&B.info(`Label "${o.id}" already exists, it will be overwritten`),Ui.set(o.id,o);}s.add=t;function e(){return Array.from(Ui.values())}s.values=e;function r(o){return Ui.has(o)}s.has=r;})(rg||={});var oe=rg;var ag=Dr(ng());var Ni=class{constructor(t,e){this._id=t,this._onStepStart=e?.onStepStart,this._onLoadingLabel=e?.onLoadingLabel,this._onStepEnd=e?.onStepEnd;}_id;get id(){return this._id}_onStepStart;get onStepStart(){return async(t,e)=>{if(this._onLoadingLabel&&t===0&&await this._onLoadingLabel(t,e),this._onStepStart)return await this._onStepStart(t,e)}}_onLoadingLabel;get onLoadingLabel(){return this._onLoadingLabel}_onStepEnd;get onStepEnd(){return this._onStepEnd}};var zi=class extends Ni{get stepCount(){return this.steps.length}getStepById(t){return this.steps[t]}constructor(t,e,r){super(t,r),this._steps=e;}_steps;get steps(){return typeof this._steps=="function"?this._steps():this._steps}getStepSha(t){if(t<0||t>=this.steps.length)return B.warn("stepSha not found, setting to ERROR"),"error";try{let e=this.steps[t];return (0,ag.default)(e.toString().toLocaleLowerCase()).toString()}catch(e){return B.warn("stepSha not found, setting to ERROR",e),"error"}}};var G_="__close-label-id__";function Fl(){return new zi(G_,[],{})}var Hi=class{text;_label;get label(){let t=this._label;if(typeof t=="string"){let e=oe.get(t);e?t=e:(B.error(`Label ${t} not found, so it will be closed`),t=Fl());}return t}type;oneTime;onlyHaveNoChoice;autoSelect;props={};devProps={};constructor(t,e,r,s){let{type:o="call",oneTime:n=false,onlyHaveNoChoice:a=false,autoSelect:l=false,...h}=s||{};this.text=t,this._label=e,this.type=o,this.oneTime=n,this.onlyHaveNoChoice=a,this.autoSelect=l,this.devProps=h,this.props=r;}};var No="close";var Vi=class{text;closeCurrentLabel;type=No;oneTime;onlyHaveNoChoice;autoSelect;props={};devProps={};constructor(t,e){let{closeCurrentLabel:r=false,oneTime:s=false,onlyHaveNoChoice:o=false,autoSelect:n=false,...a}=e||{};this.text=t,this.closeCurrentLabel=r,this.oneTime=s,this.onlyHaveNoChoice=o,this.autoSelect=n,this.devProps=a;}};var M=class i{constructor(){}static stepsRunning=0;static goNextRequests=0;static choiceMadeTemp=void 0;static lastHistoryStep=null;static get allOpenedLabels(){return D.getVariable(Y.OPENED_LABELS_COUNTER_KEY)||{}}static set allOpenedLabels(t){D.setVariable(Y.OPENED_LABELS_COUNTER_KEY,t);}static getCurrentStepTimesCounterData(t=""){let e=i.currentLabelStepIndex;if(e===null)return B.error("currentLabelStepIndex is null"),null;let r=`${e}${t}`,s=i.currentLabelId,o=i._currentLabel;if(!s||e===null||!o)return B.error("currentLabelId or currentLabelStepIndex is null or currentLabel not found"),null;let n=o.getStepSha(e)||"error",a=D.getVariable(Y.CURRENT_STEP_TIMES_COUNTER_KEY)||{};return a[s]||(a[s]={}),(!a[s][r]||a[s][r].stepSha1!=n)&&(a[s][r]={stepSha1:n}),a[s][r]}static setCurrentStepTimesCounterData(t="",e){let r=i.currentLabelStepIndex,s=r+t,o=i.currentLabelId;if(!o||r===null){B.error("currentLabelId or currentLabelStepIndex is null");return}let n=D.getVariable(Y.CURRENT_STEP_TIMES_COUNTER_KEY)||{};n[o]||(n[o]={}),n[o][s]=e,D.setVariable(Y.CURRENT_STEP_TIMES_COUNTER_KEY,n);}static getCurrentStepTimesCounter(t=""){let e=i._stepCounter,r=i.getCurrentStepTimesCounterData(t);if(!r)return B.error("getCurrentStepTimesCounter obj is null"),0;let s=r.stepCounters||r.lastStepIndexs||[];return s.find(n=>n===e)||(s.push(e),delete r.lastStepIndexs,r.stepCounters=s,i.setCurrentStepTimesCounterData(t,r)),s.length}static getRandomNumber(t,e,r={}){let s=r.nestedId||"";if(r.onceOnly||false){let n=i.getCurrentStepTimesCounterData(s);if(!n)return;let a=n.usedRandomNumbers||{},l=Array.from({length:e-t+1},(c,f)=>f+t).filter(c=>!a[`${t}-${e}`]?.includes(c));if(l.length===0)return;let h=Math.floor(Math.random()*l.length),u=l[h];return a[`${t}-${e}`]||(a[`${t}-${e}`]=[]),a[`${t}-${e}`].push(u),n.usedRandomNumbers=a,i.setCurrentStepTimesCounterData(s,n),u}return Math.floor(Math.random()*(e-t+1))+t}static resetCurrentStepTimesCounter(t=""){let e=i.currentLabelStepIndex,r=e+t,s=i.currentLabelId;if(!s||e===null){B.error("currentLabelId or currentLabelStepIndex is null");return}let o=D.getVariable(Y.CURRENT_STEP_TIMES_COUNTER_KEY)||{};o[s]||(o[s]={}),o[s][r]={stepCounters:[],stepSha1:""},D.setVariable(Y.CURRENT_STEP_TIMES_COUNTER_KEY,o);}static get allChoicesMade(){return D.getVariable(Y.ALL_CHOICES_MADE_KEY)||[]}static set allChoicesMade(t){D.setVariable(Y.ALL_CHOICES_MADE_KEY,t);}static _stepCounter=0;static increaseStepCounter(){i._stepCounter++;}static _openedLabels=[];static get openedLabels(){return se(i._openedLabels)}static set openedLabels(t){i._openedLabels=se(t);}static _originalOpenedLabels=[];static get originalOpenedLabels(){return se(i._originalOpenedLabels)}static set originalOpenedLabels(t){i._originalOpenedLabels=se(t);}static get _currentLabel(){if(i.currentLabelId)return oe.get(i.currentLabelId)}static get currentLabelId(){if(i._openedLabels.length>0)return i._openedLabels[i._openedLabels.length-1].label}static get currentLabelStepIndex(){return i._openedLabels.length>0?i._openedLabels[i._openedLabels.length-1].currentStepIndex:null}static addLabelHistory(t,e){let r=i.allOpenedLabels,s=i.allOpenedLabels[t]?.biggestStep||0,o=i.allOpenedLabels[t]?.openCount||0;(!s||s<e)&&(r[t]={biggestStep:e,openCount:o},i.allOpenedLabels=r);}static addChoicesMade(t,e,r,s){let o=i.allChoicesMade,n=o.findIndex(a=>a.labelId===t&&a.stepIndex===e&&a.choiceIndex===s&&a.stepSha1===r);n<0?o.push({labelId:t,stepIndex:e,choiceIndex:s,stepSha1:r,madeTimes:1}):o[n].madeTimes++,i.allChoicesMade=o;}static pushNewLabel(t){if(!oe.get(t))throw new Error(`[Pixi\u2019VN] Label ${t} not found`);i._openedLabels.push({label:t,currentStepIndex:0});let r=i.allOpenedLabels,s=i.allOpenedLabels[t]?.biggestStep||0,o=i.allOpenedLabels[t]?.openCount||0;r[t]={biggestStep:s,openCount:o+1},i.allOpenedLabels=r;}static increaseCurrentStepIndex(){if(i._openedLabels.length>0){let t=i._openedLabels[i._openedLabels.length-1];i._openedLabels[i._openedLabels.length-1]={...t,currentStepIndex:t.currentStepIndex+1};}}static _onStepStart;static set onStepStart(t){i._onStepStart=t;}static get onStepStart(){return async(t,e)=>{let r=[];return i.onLoadingLabel&&t===0&&r.push(i.onLoadingLabel(t,e)),i._onStepStart&&r.push(i._onStepStart(t,e)),await Promise.all(r)}}static onLoadingLabel;static onStepEnd};var kl=class{get currentStepTimesCounter(){return M.getCurrentStepTimesCounter()}set currentStepTimesCounter(t){M.resetCurrentStepTimesCounter();}getRandomNumber(t,e,r={}){return M.getRandomNumber(t,e,r)}get stepCounter(){return M._stepCounter}get openedLabels(){return M.openedLabels}get currentLabel(){return M._currentLabel}addStepHistory(t,e={}){let{choiceMade:r,ignoreSameStep:s}=e,o,n,a;D.getVariable(Y.LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY)===this.stepCounter&&(o=D.getVariable(Y.CURRENT_DIALOGUE_MEMORY_KEY)),D.getVariable(Y.LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY)===this.stepCounter&&(n=D.getVariable(Y.CURRENT_MENU_OPTIONS_MEMORY_KEY)),D.getVariable(Y.LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY)===this.stepCounter&&(a=D.getVariable(Y.CURRENT_INPUT_VALUE_MEMORY_KEY));let l={currentLabel:M.currentLabelId,dialogue:o,choices:n,stepSha1:t,index:this.stepCounter,labelStepIndex:M.currentLabelStepIndex,choiceIndexMade:r,inputValue:a,alreadyMadeChoices:this.alreadyCurrentStepMadeChoices,dialogGlue:this.dialogGlue?true:void 0};M.originalOpenedLabels=M.openedLabels,D.addHistoryItem(l,{ignoreSameStep:s}),M.lastHistoryStep=l,M.increaseStepCounter();}closeCurrentLabel(){if(!M.currentLabelId){B.warn("No label to close");return}if(!this.currentLabel){B.error("currentLabel not found");return}let t=M.openedLabels;t.pop(),M.openedLabels=t,D.onLabelClosing(this.openedLabels.length);}closeAllLabels(){for(;M.openedLabels.length>0;)this.closeCurrentLabel(),D.onLabelClosing(this.openedLabels.length);}isLabelAlreadyCompleted(t){let e;typeof t=="string"?e=t:e=t.id;let s=M.allOpenedLabels[e]?.biggestStep||0;if(s){let o=oe.get(e);if(o)return o.stepCount<=s}return false}get alreadyCurrentStepMadeChoicesObj(){let t=M.currentLabelStepIndex,e=this.currentLabel;if(t===null||!e)return;let r=e.getStepSha(t);return r||(B.warn("stepSha not found, setting to ERROR"),r="error"),M.allChoicesMade.filter(s=>s.labelId===e?.id&&s.stepIndex===t&&s.stepSha1===r)}get alreadyCurrentStepMadeChoices(){return this.alreadyCurrentStepMadeChoicesObj?.map(t=>t.choiceIndex)}get isCurrentStepAlreadyOpened(){let t=M.currentLabelId;if(t){let e=M.allOpenedLabels[t]?.openCount||0;if(M.currentLabelStepIndex&&e>=M.currentLabelStepIndex)return true}return false}getTimesLabelOpened(t){return M.allOpenedLabels[t]?.openCount||0}getTimesChoiceMade(t){return this.alreadyCurrentStepMadeChoicesObj?.find(e=>e.choiceIndex===t)?.madeTimes||0}addCurrentStepToHistory(){this.addStepHistory("dev",{ignoreSameStep:true});}getCanGoNext(t){let e=t?.showWarn||false,r=this.choiceMenuOptions;return r&&r.length>0?(e&&B.warn("The player must make a choice"),false):this.isRequiredInput?(e&&B.warn("The player must enter a value"),false):true}get canGoNext(){return M.stepsRunning!==0?false:this.getCanGoNext()}async onStepRun(t,e){let r=[];return t.onStepStart&&r.push(t.onStepStart(e,t)),M.onStepStart&&r.push(M.onStepStart(e,t)),await Promise.all(r)}async onStepEnd(t,e){let r=[];return t.onStepEnd&&r.push(t.onStepEnd(e,t)),M.onStepEnd&&r.push(M.onStepEnd(e,t)),await Promise.all(r)}async goNext(t,e={}){let{runNow:r=false}=e;if(!(!r&&!this.getCanGoNext({showWarn:true}))){if(!r&&M.stepsRunning!==0){M.goNextRequests++;return}try{this.currentLabel&&await this.onStepEnd(this.currentLabel,M.currentLabelStepIndex||0);}catch(s){B.error("Error running onStepEnd",s);}return M.stepsRunning===0&&await D.onGoNextEnd(),M.increaseCurrentStepIndex(),await this.runCurrentStep(t,e)}}async runCurrentStep(t,e={}){let{choiceMade:r}=e;if(M.currentLabelId){let s=M.currentLabelStepIndex;if(s===null){B.error("currentLabelStepIndex is null");return}let o=M._currentLabel;if(!o){B.error("currentLabel not found");return}if(o.stepCount>s){try{await this.onStepRun(o,s);}catch(l){B.error("Error running onStepStart",l),this.onStepError&&this.onStepError(l,t);return}let n=o.getStepById(s);if(!n){B.error("step not found");return}let a=o.getStepSha(s);a||(B.warn("stepSha not found, setting to ERROR"),a="error");try{M.stepsRunning++;let l=await n(t,{labelId:o.id}),h=this.choiceMenuOptions;if(h?.length===1&&h[0].autoSelect){let c=h[0];l=await this.selectChoice(c,t);}let u=M.lastHistoryStep;if(r!==void 0&&u){let c=u.stepSha1;c||(B.warn("stepSha not found, setting to ERROR"),c="error"),M.addChoicesMade(u.currentLabel||"error",typeof u.labelStepIndex=="number"?u.labelStepIndex:-1,u.stepSha1||"error",r),M.choiceMadeTemp=r;}return M.stepsRunning--,M.stepsRunning===0&&(M.addLabelHistory(o.id,s),this.addStepHistory(a,{...e,choiceMade:M.choiceMadeTemp}),M.choiceMadeTemp=void 0,M.goNextRequests>0)?(M.goNextRequests--,await this.goNext(t)):l}catch(l){M.stepsRunning>0&&M.stepsRunning--,B.error("Error running step",l),this.onStepError&&this.onStepError(l,t);return}}else {if(this.openedLabels.length>1)return this.closeCurrentLabel(),await this.goNext(t,e);if(this.openedLabels.length===1)return M.openedLabels=[],this.onGameEnd?await this.onGameEnd(t,{labelId:"end"}):void 0}}else if(this.openedLabels.length===0){if(M.openedLabels=M.originalOpenedLabels,this.onGameEnd)return await this.onGameEnd(t,{labelId:"end"});B.error("The end of the game is not managed, so the game is blocked. Read this documentation to know how to manage the end of the game: https://pixi-vn.web.app/start/other-narrative-features.html#how-manage-the-end-of-the-game");return}else B.error("currentLabelId not found");}async callLabel(t,e,r){let{choiceMade:s}=r||{},o;typeof t=="string"?o=t:o=t.id;try{let n=oe.get(o);if(!n)throw new Error(`[Pixi\u2019VN] Label ${o} not found`);try{this.currentLabel&&await this.onStepEnd(this.currentLabel,M.currentLabelStepIndex||0);}catch(a){B.error("Error running onStepEnd",a);}M.pushNewLabel(n.id);}catch(n){B.error("Error calling label",n);return}return await this.runCurrentStep(e,{choiceMade:s})}async jumpLabel(t,e,r){this.openedLabels.length>0&&this.closeCurrentLabel();let{choiceMade:s}=r||{},o;typeof t=="string"?o=t:o=t.id;try{let n=oe.get(o);if(!n)throw new Error(`[Pixi\u2019VN] Label ${o} not found`);try{this.currentLabel&&await this.onStepEnd(this.currentLabel,M.currentLabelStepIndex||0);}catch(a){B.error("Error running onStepEnd",a);}M.pushNewLabel(n.id);}catch(n){B.error("Error jumping label",n);return}return await this.runCurrentStep(e,{choiceMade:s})}async selectChoice(t,e){this.choiceMenuOptions=void 0;let r=t.type;switch(r){case "call":return await this.callLabel(t.label,{...t.props,...e},{choiceMade:t.choiceIndex});case "jump":return await this.jumpLabel(t.label,{...t.props,...e},{choiceMade:t.choiceIndex});case "close":return await this.closeChoiceMenu(t,{...t.props,...e});default:throw B.error(`Type ${r} not found`),new Error(`[Pixi\u2019VN] Type ${r} not found`)}}async closeChoiceMenu(t,e){if(t.type!=="close")throw B.error("For closeChoiceMenu, the type must be close"),new Error("[Pixi\u2019VN] For closeChoiceMenu, the type must be close");let r;return typeof t.choiceIndex=="number"&&(r=t.choiceIndex),t.closeCurrentLabel&&this.closeCurrentLabel(),this.goNext(e,{choiceMade:r})}get onGameEnd(){return D.onEnd}set onGameEnd(t){D.onEnd=t;}get onStepError(){let t=D.onError;return t?(e,r)=>t("step",e,r):void 0}set onStepError(t){D.onError=(e,r,s)=>t(r,s);}get dialogue(){let t=D.getVariable(Y.CURRENT_DIALOGUE_MEMORY_KEY);if(t)return {...t,character:t.character?D.getCharacter(t.character)||t.character:void 0}}set dialogue(t){if(!t){D.setVariable(Y.CURRENT_DIALOGUE_MEMORY_KEY,void 0);return}if((typeof t=="string"||Array.isArray(t))&&(t={text:t}),this.dialogGlue){let e=D.getVariable(Y.CURRENT_DIALOGUE_MEMORY_KEY);e&&(t.text=`${e.text}${t.text}`,t.character=t.character||e.character),this.dialogGlue=false;}try{D.setVariable(Y.CURRENT_DIALOGUE_MEMORY_KEY,se({...t,character:typeof t.character=="string"?t.character:t.character?.id})),D.setVariable(Y.LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY,this.stepCounter);}catch(e){throw B.error("DialogueInterface cannot contain functions or classes"),e}}get choiceMenuOptions(){let t=D.getVariable(Y.CURRENT_MENU_OPTIONS_MEMORY_KEY);if(t){let e=[],r=t.map((o,n)=>({...o,choiceIndex:n})),s=this.alreadyCurrentStepMadeChoices;if(r=r.filter((o,n)=>o.oneTime&&s&&s.includes(n)?false:o.onlyHaveNoChoice?(e.push(o),false):true),r.length>0)return r;if(e.length>0)return [e[0]]}}set choiceMenuOptions(t){if(!t||t.length===0){D.setVariable(Y.CURRENT_MENU_OPTIONS_MEMORY_KEY,void 0);return}let e=t.map(r=>r instanceof Vi?{...r.devProps,text:r.text,type:No,closeCurrentLabel:r.closeCurrentLabel,oneTime:r.oneTime,onlyHaveNoChoice:r.onlyHaveNoChoice,autoSelect:r.autoSelect,props:r.props}:r instanceof Hi?{...r.devProps,type:r.type,text:r.text,label:r.label.id,autoSelect:r.autoSelect,oneTime:r.oneTime,onlyHaveNoChoice:r.onlyHaveNoChoice,props:r.props}:r);try{D.setVariable(Y.CURRENT_MENU_OPTIONS_MEMORY_KEY,se(e)),D.setVariable(Y.LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY,this.stepCounter);}catch(r){throw B.error("ChoiceInterface cannot contain functions or classes"),r}}get dialogGlue(){return D.getFlag(Y.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY)}set dialogGlue(t){D.setFlag(Y.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY,t);}get inputValue(){return D.getVariable(Y.CURRENT_INPUT_VALUE_MEMORY_KEY)}set inputValue(t){this.removeInputRequest(),D.setVariable(Y.CURRENT_INPUT_VALUE_MEMORY_KEY,t),D.setVariable(Y.LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY,this.stepCounter);}get isRequiredInput(){return D.getVariable(Y.CURRENT_INPUT_INFO_MEMORY_KEY)?.isRequired||false}get inputType(){return D.getVariable(Y.CURRENT_INPUT_INFO_MEMORY_KEY)?.type}requestInput(t,e){t.isRequired=true,D.setVariable(Y.CURRENT_INPUT_INFO_MEMORY_KEY,t),e!==void 0?D.setVariable(Y.CURRENT_INPUT_VALUE_MEMORY_KEY,e):D.removeVariable(Y.CURRENT_INPUT_VALUE_MEMORY_KEY);}removeInputRequest(){D.removeVariable(Y.CURRENT_INPUT_INFO_MEMORY_KEY),D.removeVariable(Y.CURRENT_INPUT_VALUE_MEMORY_KEY);}clear(){M.openedLabels=[],M._stepCounter=0;}export(){return {openedLabels:se(M.openedLabels),stepCounter:this.stepCounter}}async onLoadingLabel(t){let e=this.openedLabels.map(async r=>{let s=[],o=oe.get(r.label);return o&&(o.onLoadingLabel&&s.push(o.onLoadingLabel(t,o)),M.onLoadingLabel&&s.push(M.onLoadingLabel(t,o))),await Promise.all(s)});return await Promise.all(e)}async restore(t,e){this.clear();try{M.lastHistoryStep=e,t.hasOwnProperty("openedLabels")?(M.openedLabels=t.openedLabels,M.originalOpenedLabels=M.openedLabels):B.warn("Could not import openedLabels data, so will be ignored"),t.hasOwnProperty("stepCounter")?M._stepCounter=t.stepCounter:t.hasOwnProperty("lastStepIndex")?M._stepCounter=t.lastStepIndex:B.warn("Could not import stepCounter data, so will be ignored");try{await this.onLoadingLabel(M.currentLabelStepIndex||0);}catch(r){B.error("Error running onLoadingLabel",r);}}catch(r){B.error("Error importing data",r);}}};
|
|
570
|
-
export{
|
|
569
|
+
`}};});var Cl,Pl,Ro,Sm=g(()=>{rt();zs();_m();$s();di();be();xt();vm();Ro=class extends ee{constructor(){Cl??(Cl=hr({name:"tiling-sprite-shader",bits:[Ri,ym,cr]})),Pl??(Pl=ur({name:"tiling-sprite-shader",bits:[xm,bm,dr]}));let t=new Pt({uMapCoord:{value:new R,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 R,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:Pl,gpuProgram:Cl,resources:{localUniforms:new Pt({uTransformMatrix:{value:new R,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:t,uTexture:G.EMPTY.source,uSampler:G.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 Io,Tm=g(()=>{Ao();Io=class extends Pr{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 wm(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 Cm=g(()=>{});function Pm(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 Mm=g(()=>{});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=R.shared;a.copyFrom(i._tileTransform.matrix),a.tx/=i.width,a.ty/=i.height,a.invert(),a.scale(i.width/r,i.height/s),Pm(t,2,0,a);}var Am=g(()=>{rt();Mm();});var Bo,Ii,Rm=g(()=>{F();li();ro();ci();gi();io();Ao();Sm();Tm();Cm();Am();Bo=new Io,Ii=class{constructor(t){this._state=ze.default2d,this._tilingSpriteDataHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_tilingSpriteDataHash");}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 Se);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 Ro),this.updateRenderable(t),e.add(t);}execute(t){let{shader:e}=this._tilingSpriteDataHash[t.uid];e.groups[0]=this._renderer.globalUniforms.bindGroup;let r=e.resources.localUniforms.uniforms;r.uTransformMatrix=t.groupTransform,r.uRound=this._renderer._roundPixels|t._roundPixels,ve(t.groupColorAlpha,r.uColor,0),this._state.blendMode=ue(t.groupBlendMode,t.texture._source),this._renderer.encoder.draw({geometry:Bo,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);}}destroyRenderable(t){let e=this._getTilingSpriteData(t);e.batchableMesh=null,e.shader?.destroy(),this._tilingSpriteDataHash[t.uid]=null,t.off("destroyed",this._destroyRenderableBound);}_getTilingSpriteData(t){return this._tilingSpriteDataHash[t.uid]||this._initTilingSpriteData(t)}_initTilingSpriteData(t){let e=new Pr({indices:Bo.indices,positions:Bo.positions.slice(),uvs:Bo.uvs.slice()});return this._tilingSpriteDataHash[t.uid]={canBatch:true,renderable:t,geometry:e},t.on("destroyed",this._destroyRenderableBound),this._tilingSpriteDataHash[t.uid]}_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),wm(t,r.positions);}destroy(){for(let t in this._tilingSpriteDataHash)this.destroyRenderable(this._tilingSpriteDataHash[t].renderable);this._tilingSpriteDataHash=null,this._renderer=null;}_updateCanBatch(t){let e=this._getTilingSpriteData(t),r=t.texture,s=true;return this._renderer.type===te.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),e.canBatch=r.textureMatrix.isSimple&&(s||r.source.isPowerOfTwo),e.canBatch}};Ii.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"tilingSprite"};});var Ml=g(()=>{F();Rm();k.add(Ii);});var Im,Lm,Fm=g(()=>{dt();Ao();Im=class Bm extends Pr{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(D(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={...Bm.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,_=d*this.verticesX+f+1,x=(d+1)*this.verticesX+f,p=(d+1)*this.verticesX+f+1;o.push(m,_,x,_,p,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();}};Im.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Lm=Im;});var Gm,Om,Dm=g(()=>{Fm();Gm=class km extends Lm{constructor(t={}){t={...km.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),_=l*e,x=h*r;t[0]=t[8]=t[16]=t[24]=-_,t[2]=t[10]=t[18]=t[26]=s*m-_,t[4]=t[12]=t[20]=t[28]=e-o*m-_,t[6]=t[14]=t[22]=t[30]=e-_,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();}};Gm.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Om=Gm;});var Bi,Um=g(()=>{F();Ot();io();Dm();Bi=class{constructor(t){this._gpuSpriteHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_gpuSpriteHash");}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._gpuSpriteHash[t.uid];t.didViewUpdate&&this._updateBatchableSprite(t,e),e._batcher.updateElement(e);}validateRenderable(t){let e=this._getGpuSprite(t);return !e._batcher.checkAndUpdateTexture(e,t._texture)}destroyRenderable(t){let e=this._gpuSpriteHash[t.uid];Y.return(e.geometry),Y.return(e),this._gpuSpriteHash[t.uid]=null,t.off("destroyed",this._destroyRenderableBound);}_updateBatchableSprite(t,e){e.geometry.update(t),e.setTexture(t._texture);}_getGpuSprite(t){return this._gpuSpriteHash[t.uid]||this._initGPUSprite(t)}_initGPUSprite(t){let e=Y.get(Se);return e.geometry=Y.get(Om),e.renderable=t,e.transform=t.groupTransform,e.texture=t._texture,e.roundPixels=this._renderer._roundPixels|t._roundPixels,this._gpuSpriteHash[t.uid]=e,t.didViewUpdate||this._updateBatchableSprite(t,e),t.on("destroyed",this._destroyRenderableBound),e}destroy(){for(let t in this._gpuSpriteHash)this._gpuSpriteHash[t].geometry.destroy();this._gpuSpriteHash=null,this._renderer=null;}};Bi.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"nineSliceSprite"};});var El=g(()=>{F();Um();k.add(Bi);});var Li,Nm=g(()=>{F();Li=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;}};Li.extension={type:[w.WebGLPipes,w.WebGPUPipes,w.CanvasPipes],name:"filter"};});function zm(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=g(()=>{});var C_,Fi,Vm=g(()=>{F();rt();zt();ai();ui();be();xt();qe();ci();Ht();Hm();bt();C_=new Jt({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])}),Fi=class{constructor(t){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new Pt({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 Dt({}),this.renderer=t;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(t){let e=this.renderer,r=t.filterEffect.filters;this._filterStack[this._filterStackIndex]||(this._filterStack[this._filterStackIndex]=this._getFilterData());let s=this._filterStack[this._filterStackIndex];if(this._filterStackIndex++,r.length===0){s.skip=true;return}let o=s.bounds;if(t.renderables?zm(t.renderables,o):t.filterEffect.filterArea?(o.clear(),o.addRect(t.filterEffect.filterArea),o.applyMatrix(t.container.worldTransform)):t.container.getFastGlobalBounds(true,o),t.container){let m=(t.container.renderGroup||t.container.parentRenderGroup).cacheToLocalTransform;m&&o.applyMatrix(m);}let n=e.renderTarget.renderTarget.colorTexture.source,a=1/0,l=0,h=true,u=false,c=false,f=true;for(let d=0;d<r.length;d++){let m=r[d];if(a=Math.min(a,m.resolution==="inherit"?n._resolution:m.resolution),l+=m.padding,m.antialias==="off"?h=false:m.antialias==="inherit"&&h&&(h=n.antialias),m.clipToViewport||(f=false),!!!(m.compatibleRenderers&e.type)){c=false;break}if(m.blendRequired&&!(e.backBuffer?.useBackBuffer??true)){z("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),c=false;break}c=m.enabled||c,u||(u=m.blendRequired);}if(!c){s.skip=true;return}if(f){let d=e.renderTarget.rootViewPort,m=e.renderTarget.renderTarget.resolution;o.fitBounds(0,d.width/m,0,d.height/m);}if(o.scale(a).ceil().scale(1/a).pad(l|0),!o.isPositive){s.skip=true;return}s.skip=false,s.bounds=o,s.blendRequired=u,s.container=t.container,s.filterEffect=t.filterEffect,s.previousRenderSurface=e.renderTarget.renderSurface,s.inputTexture=vt.getOptimalTexture(o.width,o.height,a,h),e.renderTarget.bind(s.inputTexture,true),e.globalUniforms.push({offset:o});}pop(){let t=this.renderer;this._filterStackIndex--;let e=this._filterStack[this._filterStackIndex];if(e.skip)return;this._activeFilterData=e;let r=e.inputTexture,s=e.bounds,o=G.EMPTY;if(t.renderTarget.finishRenderPass(),e.blendRequired){let a=this._filterStackIndex>0?this._filterStack[this._filterStackIndex-1].bounds:null,l=t.renderTarget.getRenderTarget(e.previousRenderSurface);o=this.getBackTexture(l,s,a);}e.backTexture=o;let n=e.filterEffect.filters;if(this._globalFilterBindGroup.setResource(r.source.style,2),this._globalFilterBindGroup.setResource(o.source,3),t.globalUniforms.pop(),n.length===1)n[0].apply(this,r,e.previousRenderSurface,false),vt.returnTexture(r);else {let a=e.inputTexture,l=vt.getOptimalTexture(s.width,s.height,a.source._resolution,false),h=0;for(h=0;h<n.length-1;++h){n[h].apply(this,a,l,true);let c=a;a=l,l=c;}n[h].apply(this,a,e.previousRenderSurface,false),vt.returnTexture(a),vt.returnTexture(l);}e.blendRequired&&vt.returnTexture(o);}getBackTexture(t,e,r){let s=t.colorTexture.source._resolution,o=vt.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._filterStack[this._filterStackIndex],a=n.bounds,l=X.shared,u=n.previousRenderSurface===r,c=this.renderer.renderTarget.rootRenderTarget.colorTexture.source._resolution,f=this._filterStackIndex-1;for(;f>0&&this._filterStack[f].skip;)--f;f>0&&(c=this._filterStack[f].inputTexture.source._resolution);let d=this._filterGlobalUniforms,m=d.uniforms,_=m.uOutputFrame,x=m.uInputSize,p=m.uInputPixel,y=m.uInputClamp,v=m.uGlobalFrame,b=m.uOutputTexture;if(u){let T=this._filterStackIndex;for(;T>0;){T--;let P=this._filterStack[this._filterStackIndex-1];if(!P.skip){l.x=P.bounds.minX,l.y=P.bounds.minY;break}}_[0]=a.minX-l.x,_[1]=a.minY-l.y;}else _[0]=0,_[1]=0;_[2]=e.frame.width,_[3]=e.frame.height,x[0]=e.source.width,x[1]=e.source.height,x[2]=1/x[0],x[3]=1/x[1],p[0]=e.source.pixelWidth,p[1]=e.source.pixelHeight,p[2]=1/p[0],p[3]=1/p[1],y[0]=.5*p[2],y[1]=.5*p[3],y[2]=e.frame.width*x[2]-.5*p[2],y[3]=e.frame.height*x[3]-.5*p[3];let C=this.renderer.renderTarget.rootRenderTarget.colorTexture;v[0]=l.x*c,v[1]=l.y*c,v[2]=C.source.width*c,v[3]=C.source.height*c;let S=this.renderer.renderTarget.getRenderTarget(r);if(o.renderTarget.bind(r,!!s),r instanceof G?(b[0]=r.frame.width,b[1]=r.frame.height):(b[0]=S.width,b[1]=S.height),b[2]=S.isRoot?-1:1,d.update(),o.renderPipes.uniformBatch){let T=o.renderPipes.uniformBatch.getUboResource(d);this._globalFilterBindGroup.setResource(T,0);}else this._globalFilterBindGroup.setResource(d,0);this._globalFilterBindGroup.setResource(e.source,1),this._globalFilterBindGroup.setResource(e.source.style,2),t.groups[0]=this._globalFilterBindGroup,o.encoder.draw({geometry:C_,shader:t,state:t._state,topology:"triangle-list"}),o.type===te.WEBGL&&o.renderTarget.finishRenderPass();}_getFilterData(){return {skip:false,inputTexture:null,bounds:new ot,container:null,filterEffect:null,blendRequired:false,previousRenderSurface:null}}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(R.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}};Fi.extension={type:[w.WebGLSystem,w.WebGPUSystem],name:"filter"};});var Al=g(()=>{F();Nm();Vm();k.add(Fi);k.add(Li);});var P_={};var Wm=g(()=>{wu();Mn();Bu();Fu();Ss();Es();Da();Ua();Va();pl();vl();wl();Ml();El();Al();});var M_={};var $m=g(()=>{Mn();Ss();Es();Da();Ua();Va();pl();vl();wl();Ml();El();Al();});var sg=Or((Do,ig)=>{(function(i,t){typeof Do=="object"?ig.exports=Do=t():typeof define=="function"&&define.amd?define([],t):i.CryptoJS=t();})(Do,function(){var i=i||function(t,e){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof global<"u"&&global.crypto&&(r=global.crypto),!r&&typeof Vo=="function")try{r=Vo("crypto");}catch{}var s=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function p(){}return function(y){var v;return p.prototype=y,v=new p,p.prototype=null,v}}(),n={},a=n.lib={},l=a.Base=function(){return {extend:function(p){var y=o(this);return p&&y.mixIn(p),(!y.hasOwnProperty("init")||this.init===y.init)&&(y.init=function(){y.$super.init.apply(this,arguments);}),y.init.prototype=y,y.$super=this,y},create:function(){var p=this.extend();return p.init.apply(p,arguments),p},init:function(){},mixIn:function(p){for(var y in p)p.hasOwnProperty(y)&&(this[y]=p[y]);p.hasOwnProperty("toString")&&(this.toString=p.toString);},clone:function(){return this.init.prototype.extend(this)}}}(),h=a.WordArray=l.extend({init:function(p,y){p=this.words=p||[],y!=e?this.sigBytes=y:this.sigBytes=p.length*4;},toString:function(p){return (p||c).stringify(this)},concat:function(p){var y=this.words,v=p.words,b=this.sigBytes,C=p.sigBytes;if(this.clamp(),b%4)for(var S=0;S<C;S++){var T=v[S>>>2]>>>24-S%4*8&255;y[b+S>>>2]|=T<<24-(b+S)%4*8;}else for(var P=0;P<C;P+=4)y[b+P>>>2]=v[P>>>2];return this.sigBytes+=C,this},clamp:function(){var p=this.words,y=this.sigBytes;p[y>>>2]&=4294967295<<32-y%4*8,p.length=t.ceil(y/4);},clone:function(){var p=l.clone.call(this);return p.words=this.words.slice(0),p},random:function(p){for(var y=[],v=0;v<p;v+=4)y.push(s());return new h.init(y,p)}}),u=n.enc={},c=u.Hex={stringify:function(p){for(var y=p.words,v=p.sigBytes,b=[],C=0;C<v;C++){var S=y[C>>>2]>>>24-C%4*8&255;b.push((S>>>4).toString(16)),b.push((S&15).toString(16));}return b.join("")},parse:function(p){for(var y=p.length,v=[],b=0;b<y;b+=2)v[b>>>3]|=parseInt(p.substr(b,2),16)<<24-b%8*4;return new h.init(v,y/2)}},f=u.Latin1={stringify:function(p){for(var y=p.words,v=p.sigBytes,b=[],C=0;C<v;C++){var S=y[C>>>2]>>>24-C%4*8&255;b.push(String.fromCharCode(S));}return b.join("")},parse:function(p){for(var y=p.length,v=[],b=0;b<y;b++)v[b>>>2]|=(p.charCodeAt(b)&255)<<24-b%4*8;return new h.init(v,y)}},d=u.Utf8={stringify:function(p){try{return decodeURIComponent(escape(f.stringify(p)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(p){return f.parse(unescape(encodeURIComponent(p)))}},m=a.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new h.init,this._nDataBytes=0;},_append:function(p){typeof p=="string"&&(p=d.parse(p)),this._data.concat(p),this._nDataBytes+=p.sigBytes;},_process:function(p){var y,v=this._data,b=v.words,C=v.sigBytes,S=this.blockSize,T=S*4,P=C/T;p?P=t.ceil(P):P=t.max((P|0)-this._minBufferSize,0);var I=P*S,E=t.min(I*4,C);if(I){for(var A=0;A<I;A+=S)this._doProcessBlock(b,A);y=b.splice(0,I),v.sigBytes-=E;}return new h.init(y,E)},clone:function(){var p=l.clone.call(this);return p._data=this._data.clone(),p},_minBufferSize:0});a.Hasher=m.extend({cfg:l.extend(),init:function(p){this.cfg=this.cfg.extend(p),this.reset();},reset:function(){m.reset.call(this),this._doReset();},update:function(p){return this._append(p),this._process(),this},finalize:function(p){p&&this._append(p);var y=this._doFinalize();return y},blockSize:512/32,_createHelper:function(p){return function(y,v){return new p.init(v).finalize(y)}},_createHmacHelper:function(p){return function(y,v){return new x.HMAC.init(p,v).finalize(y)}}});var x=n.algo={};return n}(Math);return i});});var ng=Or((Uo,og)=>{(function(i,t){typeof Uo=="object"?og.exports=Uo=t(sg()):typeof define=="function"&&define.amd?define(["./core"],t):t(i.CryptoJS);})(Uo,function(i){return function(){var t=i,e=t.lib,r=e.WordArray,s=e.Hasher,o=t.algo,n=[],a=o.SHA1=s.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(l,h){for(var u=this._hash.words,c=u[0],f=u[1],d=u[2],m=u[3],_=u[4],x=0;x<80;x++){if(x<16)n[x]=l[h+x]|0;else {var p=n[x-3]^n[x-8]^n[x-14]^n[x-16];n[x]=p<<1|p>>>31;}var y=(c<<5|c>>>27)+_+n[x];x<20?y+=(f&d|~f&m)+1518500249:x<40?y+=(f^d^m)+1859775393:x<60?y+=(f&d|f&m|d&m)-1894007588:y+=(f^d^m)-899497514,_=m,m=d,d=f<<30|f>>>2,f=c,c=y;}u[0]=u[0]+c|0,u[1]=u[1]+f|0,u[2]=u[2]+d|0,u[3]=u[3]+m|0,u[4]=u[4]+_|0;},_doFinalize:function(){var l=this._data,h=l.words,u=this._nDataBytes*8,c=l.sigBytes*8;return h[c>>>5]|=128<<24-c%32,h[(c+64>>>9<<4)+14]=Math.floor(u/4294967296),h[(c+64>>>9<<4)+15]=u,l.sigBytes=h.length*4,this._process(),this._hash},clone:function(){var l=s.clone.call(this);return l._hash=this._hash.clone(),l}});t.SHA1=s._createHelper(a),t.HmacSHA1=s._createHmacHelper(a);}(),i.SHA1});});var jt={};gg(jt,{DistortionFilter:()=>Xi,EqualizerFilter:()=>Gt,Filter:()=>ct,MonoFilter:()=>ji,ReverbFilter:()=>Ki,StereoFilter:()=>qi,StreamFilter:()=>Zi,TelephoneFilter:()=>Qi});var Nl;function zl(i){return Nl=i,i}function q(){return Nl}var ct=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 ct{constructor(t=0){let e;if(!q().useLegacy){let{audioContext:r}=q().context;e=r.createWaveShaper();}super(e),this._distortion=e,this.amount=t;}set amount(t){if(this._amount=t,q().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=q().context;t.setValueAtTime(e,r.audioContext.currentTime);}else t.value=e;return e}};var Z=class extends ct{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}];q().useLegacy||(u=c.map(f=>{let d=q().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;}},Gt=Z;Gt.F32=32;Gt.F64=64;Gt.F125=125;Gt.F250=250;Gt.F500=500;Gt.F1K=1e3;Gt.F2K=2e3;Gt.F4K=4e3;Gt.F8K=8e3;Gt.F16K=16e3;var ji=class extends ct{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().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 Ki=class extends ct{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(q().useLegacy)return;let{audioContext:t}=q().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 qi=class extends ct{constructor(t=0){let e,r,s;if(!q().useLegacy){let{audioContext:o}=q().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 ct{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().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 ct{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().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);}};F();var Ym={extension:{type:w.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(Wm(),P_));}};F();var Xm={extension:{type:w.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>($m(),M_));}};F();F();Es();Ss();kn();Wt();Xn();Kr();Rt();vs();Dr(Ta());k.add(Ym,Xm);var Gi=class extends K{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 A_=0,Rl=class extends K{constructor(i){super(),this.id=A_++,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-Rl.PADDING),this._end=Math.min(this._end+Rl.PADDING,this._duration),this._source.onloadedmetadata=()=>{this._source&&(this._source.currentTime=t,this._source.onloadedmetadata=null,this.emit("progress",t/this._duration,this._duration),ft.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(){ft.shared.remove(this._onUpdate,this),this._internalStop(),this.emit("progress",1,this._duration),this.emit("end",this);}destroy(){ft.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}]`}},Lo=Rl;Lo.PADDING=.1;var ki=class extends K{init(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url);}create(){return new Lo(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 Oi=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 We=["ogg","oga","opus","m4a","mp3","mpeg","wav","aiff","wma","mid","caf"],Il=["audio/mpeg","audio/ogg"],Ye={};function jm(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$/;We.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(Ye,r);}jm();var I_=0,Di=class extends K{constructor(t){super(),this.id=I_++,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){ft.shared.remove(this._updateListener,this),t&&ft.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 $e=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 $e{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}},Fo=Km;Fo.BUFFER_SIZE=0;var Xe=class{init(t){this.parent=t,this._nodes=new Fo(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 Di(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 Mr=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=q().useLegacy?new ki:new Xe;return new Mr(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:Et.extname(e).slice(1)})).filter(({ext:e})=>Ye[e]).sort((e,r)=>We.indexOf(e.ext)-We.indexOf(r.ext));if(!t)throw new Error("No supported file type found");return t.url}get context(){return q().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 Oi(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(Mr._pool.length>0){let i=Mr._pool.pop();return i.init(this.media),i}return this.media.create()}_poolInstance(i){i.destroy(),Mr._pool.indexOf(i)<0&&Mr._pool.push(i);}},we=Mr;we._pool=[];var Er=class i extends $e{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 K,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 Go=class{constructor(){this.init();}init(){return this.supported&&(this._webAudioContext=new Er),this._htmlAudioContext=new Gi,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 Er.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 we)return this._sounds[t]=e,e;let r=this._getOptions(e),s=we.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=Et.basename(t,Et.extname(t))),e},Zm={extension:w.Asset,detection:{test:async()=>true,add:async i=>[...i,...We.filter(t=>Ye[t])],remove:async i=>i.filter(t=>i.includes(t))},loader:{name:"sound",extension:{type:[w.LoadParser],priority:tr.High},test(i){let t=Et.extname(i).slice(1);return !!Ye[t]||Il.some(e=>i.startsWith(`data:${e}`))},async load(i,t){let e=await new Promise((r,s)=>we.from({...t.data,url:i,preload:true,loaded(o,n){o?s(o):r(n),t.data?.loaded?.(o,n);}}));return q().add(qm(t),e),e},async unload(i,t){q().remove(qm(t));}}};k.add(Zm);zl(new Go);({DistortionFilter:jt.DistortionFilter,EqualizerFilter:jt.EqualizerFilter,MonoFilter:jt.MonoFilter,ReverbFilter:jt.ReverbFilter,StereoFilter:jt.StereoFilter,StreamFilter:jt.StreamFilter,TelephoneFilter:jt.TelephoneFilter});var W={CURRENT_DIALOGUE_MEMORY_KEY:"___current_dialogue_memory___",LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY:"___last_dialogue_added_in_step_memory___",CURRENT_MENU_OPTIONS_MEMORY_KEY:"___current_menu_options_memory___",LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY:"___last_menu_options_added_in_step_memory___",CURRENT_INPUT_VALUE_MEMORY_KEY:"_input_value_",LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY:"___last_input_added_in_step_memory___",CURRENT_INPUT_INFO_MEMORY_KEY:"___current_input_info_memory___",CHARACTER_CATEGORY_KEY:"___character___",ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY:"___glue___",OPENED_LABELS_COUNTER_KEY:"___opened_labels_counter___",ALL_CHOICES_MADE_KEY:"___all_choices_made___",CURRENT_STEP_TIMES_COUNTER_KEY:"___current_step_times_counter___",LAST_STEP_GLUED:"___last_step_glued___"};var B;(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)))(B||={});var O=class i{static init(t){i._getStepCounter=t.getStepCounter,i._setStepCounter=t.setStepCounter,i._getCurrentGameStepState=t.getCurrentGameStepState,i._restoreGameStepState=t.restoreGameStepState,i._getOpenedLabels=t.getOpenedLabels,t.onGoNextEnd&&(i._onGoNextEnd=t.onGoNextEnd),i._getVariable=t.getVariable,i._setVariable=t.setVariable,i._removeVariable=t.removeVariable,i._getFlag=t.getFlag,i._setFlag=t.setFlag,t.onLabelClosing&&(i._onLabelClosing=t.onLabelClosing),i._addHistoryItem=t.addHistoryItem,i._getCurrentStepsRunningNumber=t.getCurrentStepsRunningNumber,i._getCharacter=t.getCharacter;}static _getStepCounter=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static _setStepCounter=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get stepCounter(){return i._getStepCounter()}static set stepCounter(t){i._setStepCounter(t);}static _getCurrentGameStepState=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get currentGameStepState(){return i._getCurrentGameStepState()}static _restoreGameStepState=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get restoreGameStepState(){return i._restoreGameStepState}static _getOpenedLabels=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get openedLabels(){return i._getOpenedLabels()}static _onGoNextEnd=async()=>{};static get onGoNextEnd(){return i._onGoNextEnd}static _getVariable=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get getVariable(){return i._getVariable}static _setVariable=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get setVariable(){return i._setVariable}static _removeVariable=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get removeVariable(){return i._removeVariable}static _getFlag=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get getFlag(){return i._getFlag}static _setFlag=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get setFlag(){return i._setFlag}static _onLabelClosing=()=>{};static get onLabelClosing(){return i._onLabelClosing}static _addHistoryItem=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get addHistoryItem(){return i._addHistoryItem}static _getCurrentStepsRunningNumber=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")};static get currentStepsRunningNumber(){return i._getCurrentStepsRunningNumber()}static _getCharacter=()=>{throw B.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented.")};static get getCharacter(){return i._getCharacter}static onEnd;static onError};function se(i){try{if(typeof i>"u")return i;let t=JSON.stringify(i);return JSON.parse(t)}catch(t){throw B.error("Error creating exportable element",i,t),new Error("[Pixi\u2019VN] Error creating exportable element")}}var Ar=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Jm=new Set,Bl=typeof process=="object"&&process?process:{},tg=(i,t,e,r)=>{typeof Bl.emitWarning=="function"?Bl.emitWarning(i,t,e,r):console.error(`[${e}] ${t}: ${i}`);},ko=globalThis.AbortController,Qm=globalThis.AbortSignal;if(typeof ko>"u"){Qm=class{onabort;_onabort=[];reason;aborted=false;addEventListener(r,s){this._onabort.push(s);}},ko=class{constructor(){t();}signal=new Qm;abort(r){if(!this.signal.aborted){this.signal.reason=r,this.signal.aborted=true;for(let s of this.signal._onabort)s(r);this.signal.onabort?.(r);}}};let i=Bl.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{i&&(i=false,tg("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t));};}var F_=i=>!Jm.has(i),Ce=i=>i&&i===Math.floor(i)&&i>0&&isFinite(i),eg=i=>Ce(i)?i<=Math.pow(2,8)?Uint8Array:i<=Math.pow(2,16)?Uint16Array:i<=Math.pow(2,32)?Uint32Array:i<=Number.MAX_SAFE_INTEGER?Rr:null:null,Rr=class extends Array{constructor(t){super(t),this.fill(0);}},Ll=class i{heap;length;static#l=false;static create(t){let e=eg(t);if(!e)return [];i.#l=true;let r=new i(t,e);return i.#l=false,r}constructor(t,e){if(!i.#l)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new e(t),this.length=0;}push(t){this.heap[this.length++]=t;}pop(){return this.heap[--this.length]}},Oo=class i{#l;#c;#m;#M;#g;#I;#B;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#s;#x;#i;#r;#t;#h;#d;#a;#o;#_;#n;#y;#b;#f;#v;#P;#u;#L;static unsafeExposeInternals(t){return {starts:t.#b,ttls:t.#f,sizes:t.#y,keyMap:t.#i,keyList:t.#r,valList:t.#t,next:t.#h,prev:t.#d,get head(){return t.#a},get tail(){return t.#o},free:t.#_,isBackgroundFetch:e=>t.#e(e),backgroundFetch:(e,r,s,o)=>t.#k(e,r,s,o),moveToTail:e=>t.#R(e),indexes:e=>t.#S(e),rindexes:e=>t.#T(e),isStale:e=>t.#p(e)}}get max(){return this.#l}get maxSize(){return this.#c}get calculatedSize(){return this.#x}get size(){return this.#s}get fetchMethod(){return this.#I}get memoMethod(){return this.#B}get dispose(){return this.#m}get onInsert(){return this.#M}get disposeAfter(){return this.#g}constructor(t){let{max:e=0,ttl:r,ttlResolution:s=1,ttlAutopurge:o,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:l,dispose:h,onInsert:u,disposeAfter:c,noDisposeOnSet:f,noUpdateTTL:d,maxSize:m=0,maxEntrySize:_=0,sizeCalculation:x,fetchMethod:p,memoMethod:y,noDeleteOnFetchRejection:v,noDeleteOnStaleGet:b,allowStaleOnFetchRejection:C,allowStaleOnFetchAbort:S,ignoreFetchAbort:T}=t;if(e!==0&&!Ce(e))throw new TypeError("max option must be a nonnegative integer");let P=e?eg(e):Array;if(!P)throw new Error("invalid max value: "+e);if(this.#l=e,this.#c=m,this.maxEntrySize=_||this.#c,this.sizeCalculation=x,this.sizeCalculation){if(!this.#c&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(y!==void 0&&typeof y!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#B=y,p!==void 0&&typeof p!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#I=p,this.#P=!!p,this.#i=new Map,this.#r=new Array(e).fill(void 0),this.#t=new Array(e).fill(void 0),this.#h=new P(e),this.#d=new P(e),this.#a=0,this.#o=0,this.#_=Ll.create(e),this.#s=0,this.#x=0,typeof h=="function"&&(this.#m=h),typeof u=="function"&&(this.#M=u),typeof c=="function"?(this.#g=c,this.#n=[]):(this.#g=void 0,this.#n=void 0),this.#v=!!this.#m,this.#L=!!this.#M,this.#u=!!this.#g,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!d,this.noDeleteOnFetchRejection=!!v,this.allowStaleOnFetchRejection=!!C,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!T,this.maxEntrySize!==0){if(this.#c!==0&&!Ce(this.#c))throw new TypeError("maxSize must be a positive integer if specified");if(!Ce(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#V();}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!b,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=Ce(s)||s===0?s:1,this.ttlAutopurge=!!o,this.ttl=r||0,this.ttl){if(!Ce(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#O();}if(this.#l===0&&this.ttl===0&&this.#c===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#l&&!this.#c){let I="LRU_CACHE_UNBOUNDED";F_(I)&&(Jm.add(I),tg("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",I,i));}}getRemainingTTL(t){return this.#i.has(t)?1/0:0}#O(){let t=new Rr(this.#l),e=new Rr(this.#l);this.#f=t,this.#b=e,this.#D=(o,n,a=Ar.now())=>{if(e[o]=n!==0?a:0,t[o]=n,n!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.#p(o)&&this.#w(this.#r[o],"expire");},n+1);l.unref&&l.unref();}},this.#E=o=>{e[o]=t[o]!==0?Ar.now():0;},this.#C=(o,n)=>{if(t[n]){let a=t[n],l=e[n];if(!a||!l)return;o.ttl=a,o.start=l,o.now=r||s();let h=o.now-l;o.remainingTTL=a-h;}};let r=0,s=()=>{let o=Ar.now();if(this.ttlResolution>0){r=o;let n=setTimeout(()=>r=0,this.ttlResolution);n.unref&&n.unref();}return o};this.getRemainingTTL=o=>{let n=this.#i.get(o);if(n===void 0)return 0;let a=t[n],l=e[n];if(!a||!l)return 1/0;let h=(r||s())-l;return a-h},this.#p=o=>{let n=e[o],a=t[o];return !!a&&!!n&&(r||s())-n>a};}#E=()=>{};#C=()=>{};#D=()=>{};#p=()=>false;#V(){let t=new Rr(this.#l);this.#x=0,this.#y=t,this.#A=e=>{this.#x-=t[e],t[e]=0;},this.#U=(e,r,s,o)=>{if(this.#e(r))return 0;if(!Ce(s))if(o){if(typeof o!="function")throw new TypeError("sizeCalculation must be a function");if(s=o(r,e),!Ce(s))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return s},this.#F=(e,r,s)=>{if(t[e]=r,this.#c){let o=this.#c-t[e];for(;this.#x>o;)this.#G(true);}this.#x+=t[e],s&&(s.entrySize=r,s.totalCalculatedSize=this.#x);};}#A=t=>{};#F=(t,e,r)=>{};#U=(t,e,r,s)=>{if(r||s)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#S({allowStale:t=this.allowStale}={}){if(this.#s)for(let e=this.#o;!(!this.#N(e)||((t||!this.#p(e))&&(yield e),e===this.#a));)e=this.#d[e];}*#T({allowStale:t=this.allowStale}={}){if(this.#s)for(let e=this.#a;!(!this.#N(e)||((t||!this.#p(e))&&(yield e),e===this.#o));)e=this.#h[e];}#N(t){return t!==void 0&&this.#i.get(this.#r[t])===t}*entries(){for(let t of this.#S())this.#t[t]!==void 0&&this.#r[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#r[t],this.#t[t]]);}*rentries(){for(let t of this.#T())this.#t[t]!==void 0&&this.#r[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#r[t],this.#t[t]]);}*keys(){for(let t of this.#S()){let e=this.#r[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*rkeys(){for(let t of this.#T()){let e=this.#r[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*values(){for(let t of this.#S())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}*rvalues(){for(let t of this.#T())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,e={}){for(let r of this.#S()){let s=this.#t[r],o=this.#e(s)?s.__staleWhileFetching:s;if(o!==void 0&&t(o,this.#r[r],this))return this.get(this.#r[r],e)}}forEach(t,e=this){for(let r of this.#S()){let s=this.#t[r],o=this.#e(s)?s.__staleWhileFetching:s;o!==void 0&&t.call(e,o,this.#r[r],this);}}rforEach(t,e=this){for(let r of this.#T()){let s=this.#t[r],o=this.#e(s)?s.__staleWhileFetching:s;o!==void 0&&t.call(e,o,this.#r[r],this);}}purgeStale(){let t=false;for(let e of this.#T({allowStale:true}))this.#p(e)&&(this.#w(this.#r[e],"expire"),t=true);return t}info(t){let e=this.#i.get(t);if(e===void 0)return;let r=this.#t[e],s=this.#e(r)?r.__staleWhileFetching:r;if(s===void 0)return;let o={value:s};if(this.#f&&this.#b){let n=this.#f[e],a=this.#b[e];if(n&&a){let l=n-(Ar.now()-a);o.ttl=l,o.start=Date.now();}}return this.#y&&(o.size=this.#y[e]),o}dump(){let t=[];for(let e of this.#S({allowStale:true})){let r=this.#r[e],s=this.#t[e],o=this.#e(s)?s.__staleWhileFetching:s;if(o===void 0||r===void 0)continue;let n={value:o};if(this.#f&&this.#b){n.ttl=this.#f[e];let a=Ar.now()-this.#b[e];n.start=Math.floor(Date.now()-a);}this.#y&&(n.size=this.#y[e]),t.unshift([r,n]);}return t}load(t){this.clear();for(let[e,r]of t){if(r.start){let s=Date.now()-r.start;r.start=Ar.now()-s;}this.set(e,r.value,r);}}set(t,e,r={}){if(e===void 0)return this.delete(t),this;let{ttl:s=this.ttl,start:o,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:l}=r,{noUpdateTTL:h=this.noUpdateTTL}=r,u=this.#U(t,e,r.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=true),this.#w(t,"set"),this;let c=this.#s===0?void 0:this.#i.get(t);if(c===void 0)c=this.#s===0?this.#o:this.#_.length!==0?this.#_.pop():this.#s===this.#l?this.#G(false):this.#s,this.#r[c]=t,this.#t[c]=e,this.#i.set(t,c),this.#h[this.#o]=c,this.#d[c]=this.#o,this.#o=c,this.#s++,this.#F(c,u,l),l&&(l.set="add"),h=false,this.#L&&this.#M?.(e,t,"add");else {this.#R(c);let f=this.#t[c];if(e!==f){if(this.#P&&this.#e(f)){f.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:d}=f;d!==void 0&&!n&&(this.#v&&this.#m?.(d,t,"set"),this.#u&&this.#n?.push([d,t,"set"]));}else n||(this.#v&&this.#m?.(f,t,"set"),this.#u&&this.#n?.push([f,t,"set"]));if(this.#A(c),this.#F(c,u,l),this.#t[c]=e,l){l.set="replace";let d=f&&this.#e(f)?f.__staleWhileFetching:f;d!==void 0&&(l.oldValue=d);}}else l&&(l.set="update");this.#L&&this.onInsert?.(e,t,e===f?"update":"replace");}if(s!==0&&!this.#f&&this.#O(),this.#f&&(h||this.#D(c,s,o),l&&this.#C(l,c)),!n&&this.#u&&this.#n){let f=this.#n,d;for(;d=f?.shift();)this.#g?.(...d);}return this}pop(){try{for(;this.#s;){let t=this.#t[this.#a];if(this.#G(!0),this.#e(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#u&&this.#n){let t=this.#n,e;for(;e=t?.shift();)this.#g?.(...e);}}}#G(t){let e=this.#a,r=this.#r[e],s=this.#t[e];return this.#P&&this.#e(s)?s.__abortController.abort(new Error("evicted")):(this.#v||this.#u)&&(this.#v&&this.#m?.(s,r,"evict"),this.#u&&this.#n?.push([s,r,"evict"])),this.#A(e),t&&(this.#r[e]=void 0,this.#t[e]=void 0,this.#_.push(e)),this.#s===1?(this.#a=this.#o=0,this.#_.length=0):this.#a=this.#h[e],this.#i.delete(r),this.#s--,e}has(t,e={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:s}=e,o=this.#i.get(t);if(o!==void 0){let n=this.#t[o];if(this.#e(n)&&n.__staleWhileFetching===void 0)return false;if(this.#p(o))s&&(s.has="stale",this.#C(s,o));else return r&&this.#E(o),s&&(s.has="hit",this.#C(s,o)),true}else s&&(s.has="miss");return false}peek(t,e={}){let{allowStale:r=this.allowStale}=e,s=this.#i.get(t);if(s===void 0||!r&&this.#p(s))return;let o=this.#t[s];return this.#e(o)?o.__staleWhileFetching:o}#k(t,e,r,s){let o=e===void 0?void 0:this.#t[e];if(this.#e(o))return o;let n=new ko,{signal:a}=r;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let l={signal:n.signal,options:r,context:s},h=(_,x=false)=>{let{aborted:p}=n.signal,y=r.ignoreFetchAbort&&_!==void 0;if(r.status&&(p&&!x?(r.status.fetchAborted=true,r.status.fetchError=n.signal.reason,y&&(r.status.fetchAbortIgnored=true)):r.status.fetchResolved=true),p&&!y&&!x)return c(n.signal.reason);let v=d;return this.#t[e]===d&&(_===void 0?v.__staleWhileFetching?this.#t[e]=v.__staleWhileFetching:this.#w(t,"fetch"):(r.status&&(r.status.fetchUpdated=true),this.set(t,_,l.options))),_},u=_=>(r.status&&(r.status.fetchRejected=true,r.status.fetchError=_),c(_)),c=_=>{let{aborted:x}=n.signal,p=x&&r.allowStaleOnFetchAbort,y=p||r.allowStaleOnFetchRejection,v=y||r.noDeleteOnFetchRejection,b=d;if(this.#t[e]===d&&(!v||b.__staleWhileFetching===void 0?this.#w(t,"fetch"):p||(this.#t[e]=b.__staleWhileFetching)),y)return r.status&&b.__staleWhileFetching!==void 0&&(r.status.returnedStale=true),b.__staleWhileFetching;if(b.__returned===b)throw _},f=(_,x)=>{let p=this.#I?.(t,o,l);p&&p instanceof Promise&&p.then(y=>_(y===void 0?void 0:y),x),n.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(_(void 0),r.allowStaleOnFetchAbort&&(_=y=>h(y,true)));});};r.status&&(r.status.fetchDispatched=true);let d=new Promise(f).then(h,u),m=Object.assign(d,{__abortController:n,__staleWhileFetching:o,__returned:void 0});return e===void 0?(this.set(t,m,{...l.options,status:void 0}),e=this.#i.get(t)):this.#t[e]=m,m}#e(t){if(!this.#P)return false;let e=t;return !!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof ko}async fetch(t,e={}){let{allowStale:r=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:h=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:d=this.ignoreFetchAbort,allowStaleOnFetchAbort:m=this.allowStaleOnFetchAbort,context:_,forceRefresh:x=false,status:p,signal:y}=e;if(!this.#P)return p&&(p.fetch="get"),this.get(t,{allowStale:r,updateAgeOnGet:s,noDeleteOnStaleGet:o,status:p});let v={allowStale:r,updateAgeOnGet:s,noDeleteOnStaleGet:o,ttl:n,noDisposeOnSet:a,size:l,sizeCalculation:h,noUpdateTTL:u,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:m,ignoreFetchAbort:d,status:p,signal:y},b=this.#i.get(t);if(b===void 0){p&&(p.fetch="miss");let C=this.#k(t,b,v,_);return C.__returned=C}else {let C=this.#t[b];if(this.#e(C)){let E=r&&C.__staleWhileFetching!==void 0;return p&&(p.fetch="inflight",E&&(p.returnedStale=true)),E?C.__staleWhileFetching:C.__returned=C}let S=this.#p(b);if(!x&&!S)return p&&(p.fetch="hit"),this.#R(b),s&&this.#E(b),p&&this.#C(p,b),C;let T=this.#k(t,b,v,_),I=T.__staleWhileFetching!==void 0&&r;return p&&(p.fetch=S?"stale":"refresh",I&&S&&(p.returnedStale=true)),I?T.__staleWhileFetching:T.__returned=T}}async forceFetch(t,e={}){let r=await this.fetch(t,e);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(t,e={}){let r=this.#B;if(!r)throw new Error("no memoMethod provided to constructor");let{context:s,forceRefresh:o,...n}=e,a=this.get(t,n);if(!o&&a!==void 0)return a;let l=r(t,a,{options:n,context:s});return this.set(t,l,n),l}get(t,e={}){let{allowStale:r=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,status:n}=e,a=this.#i.get(t);if(a!==void 0){let l=this.#t[a],h=this.#e(l);return n&&this.#C(n,a),this.#p(a)?(n&&(n.get="stale"),h?(n&&r&&l.__staleWhileFetching!==void 0&&(n.returnedStale=true),r?l.__staleWhileFetching:void 0):(o||this.#w(t,"expire"),n&&r&&(n.returnedStale=true),r?l:void 0)):(n&&(n.get="hit"),h?l.__staleWhileFetching:(this.#R(a),s&&this.#E(a),l))}else n&&(n.get="miss");}#z(t,e){this.#d[e]=t,this.#h[t]=e;}#R(t){t!==this.#o&&(t===this.#a?this.#a=this.#h[t]:this.#z(this.#d[t],this.#h[t]),this.#z(this.#o,t),this.#o=t);}delete(t){return this.#w(t,"delete")}#w(t,e){let r=false;if(this.#s!==0){let s=this.#i.get(t);if(s!==void 0)if(r=true,this.#s===1)this.#H(e);else {this.#A(s);let o=this.#t[s];if(this.#e(o)?o.__abortController.abort(new Error("deleted")):(this.#v||this.#u)&&(this.#v&&this.#m?.(o,t,e),this.#u&&this.#n?.push([o,t,e])),this.#i.delete(t),this.#r[s]=void 0,this.#t[s]=void 0,s===this.#o)this.#o=this.#d[s];else if(s===this.#a)this.#a=this.#h[s];else {let n=this.#d[s];this.#h[n]=this.#h[s];let a=this.#h[s];this.#d[a]=this.#d[s];}this.#s--,this.#_.push(s);}}if(this.#u&&this.#n?.length){let s=this.#n,o;for(;o=s?.shift();)this.#g?.(...o);}return r}clear(){return this.#H("delete")}#H(t){for(let e of this.#T({allowStale:true})){let r=this.#t[e];if(this.#e(r))r.__abortController.abort(new Error("deleted"));else {let s=this.#r[e];this.#v&&this.#m?.(r,s,t),this.#u&&this.#n?.push([r,s,t]);}}if(this.#i.clear(),this.#t.fill(void 0),this.#r.fill(void 0),this.#f&&this.#b&&(this.#f.fill(0),this.#b.fill(0)),this.#y&&this.#y.fill(0),this.#a=0,this.#o=0,this.#_.length=0,this.#x=0,this.#s=0,this.#u&&this.#n){let e=this.#n,r;for(;r=e?.shift();)this.#g?.(...r);}}};var Ir=class{cache;map=new Map;constructor(t){this.cache=new Oo({max:t.cacheSize}),this.map=new Map;}get[Symbol.iterator](){return this.map[Symbol.iterator]}get[Symbol.toStringTag](){return this.map[Symbol.toStringTag]}clear(){return this.cache.clear(),this.map.clear()}delete(t){let e=this.map.delete(t);return e&&this.cache.delete(t),e}get forEach(){return this.map.forEach}get(t){let e=this.cache.get(t);return e||this.map.get(t)}has(t){return this.map.has(t)}set(t,e){return this.map.set(t,e),this.cache.set(t,e),this}get size(){return this.map.size}get entries(){return this.map.entries}keys(){return this.map.keys()}get values(){return this.map.values}};var Ui=new Ir({cacheSize:10}),rg;(s=>{function i(o){let n=Ui.get(o);if(!n){B.error(`Label "${o}" not found`);return}return n}s.get=i;function t(o){if(Array.isArray(o)){o.forEach(n=>t(n));return}Ui.has(o.id)&&B.info(`Label "${o.id}" already exists, it will be overwritten`),Ui.set(o.id,o);}s.add=t;function e(){return Array.from(Ui.values())}s.values=e;function r(o){return Ui.has(o)}s.has=r;})(rg||={});var oe=rg;var ag=Dr(ng());var Ni=class{constructor(t,e){this._id=t,this._onStepStart=e?.onStepStart,this._onLoadingLabel=e?.onLoadingLabel,this._onStepEnd=e?.onStepEnd;}_id;get id(){return this._id}_onStepStart;get onStepStart(){return async(t,e)=>{if(this._onLoadingLabel&&t===0&&await this._onLoadingLabel(t,e),this._onStepStart)return await this._onStepStart(t,e)}}_onLoadingLabel;get onLoadingLabel(){return this._onLoadingLabel}_onStepEnd;get onStepEnd(){return this._onStepEnd}};var zi=class extends Ni{get stepCount(){return this.steps.length}getStepById(t){return this.steps[t]}constructor(t,e,r){super(t,r),this._steps=e;}_steps;get steps(){return typeof this._steps=="function"?this._steps():this._steps}getStepSha(t){if(t<0||t>=this.steps.length)return B.warn("stepSha not found, setting to ERROR"),"error";try{let e=this.steps[t];return (0,ag.default)(e.toString().toLocaleLowerCase()).toString()}catch(e){return B.warn("stepSha not found, setting to ERROR",e),"error"}}};var k_="__close-label-id__";function Fl(){return new zi(k_,[],{})}var Hi=class{text;_label;get label(){let t=this._label;if(typeof t=="string"){let e=oe.get(t);e?t=e:(B.error(`Label ${t} not found, so it will be closed`),t=Fl());}return t}type;oneTime;onlyHaveNoChoice;autoSelect;props={};devProps={};constructor(t,e,r,s){let{type:o="call",oneTime:n=false,onlyHaveNoChoice:a=false,autoSelect:l=false,...h}=s||{};this.text=t,this._label=e,this.type=o,this.oneTime=n,this.onlyHaveNoChoice=a,this.autoSelect=l,this.devProps=h,this.props=r;}};var No="close";var Vi=class{text;closeCurrentLabel;type=No;oneTime;onlyHaveNoChoice;autoSelect;props={};devProps={};constructor(t,e){let{closeCurrentLabel:r=false,oneTime:s=false,onlyHaveNoChoice:o=false,autoSelect:n=false,...a}=e||{};this.text=t,this.closeCurrentLabel=r,this.oneTime=s,this.onlyHaveNoChoice=o,this.autoSelect=n,this.devProps=a;}};var M=class i{constructor(){}static stepsRunning=0;static goNextRequests=0;static choiceMadeTemp=void 0;static lastHistoryStep=null;static get allOpenedLabels(){return O.getVariable(W.OPENED_LABELS_COUNTER_KEY)||{}}static set allOpenedLabels(t){O.setVariable(W.OPENED_LABELS_COUNTER_KEY,t);}static getCurrentStepTimesCounterData(t=""){let e=i.currentLabelStepIndex;if(e===null)return B.error("currentLabelStepIndex is null"),null;let r=`${e}${t}`,s=i.currentLabelId,o=i._currentLabel;if(!s||e===null||!o)return B.error("currentLabelId or currentLabelStepIndex is null or currentLabel not found"),null;let n=o.getStepSha(e)||"error",a=O.getVariable(W.CURRENT_STEP_TIMES_COUNTER_KEY)||{};return a[s]||(a[s]={}),(!a[s][r]||a[s][r].stepSha1!=n)&&(a[s][r]={stepSha1:n}),a[s][r]}static setCurrentStepTimesCounterData(t="",e){let r=i.currentLabelStepIndex,s=r+t,o=i.currentLabelId;if(!o||r===null){B.error("currentLabelId or currentLabelStepIndex is null");return}let n=O.getVariable(W.CURRENT_STEP_TIMES_COUNTER_KEY)||{};n[o]||(n[o]={}),n[o][s]=e,O.setVariable(W.CURRENT_STEP_TIMES_COUNTER_KEY,n);}static getCurrentStepTimesCounter(t=""){let e=i._stepCounter,r=i.getCurrentStepTimesCounterData(t);if(!r)return B.error("getCurrentStepTimesCounter obj is null"),0;let s=r.stepCounters||r.lastStepIndexs||[];return s.find(n=>n===e)||(s.push(e),delete r.lastStepIndexs,r.stepCounters=s,i.setCurrentStepTimesCounterData(t,r)),s.length}static getRandomNumber(t,e,r={}){let s=r.nestedId||"";if(r.onceOnly||false){let n=i.getCurrentStepTimesCounterData(s);if(!n)return;let a=n.usedRandomNumbers||{},l=Array.from({length:e-t+1},(c,f)=>f+t).filter(c=>!a[`${t}-${e}`]?.includes(c));if(l.length===0)return;let h=Math.floor(Math.random()*l.length),u=l[h];return a[`${t}-${e}`]||(a[`${t}-${e}`]=[]),a[`${t}-${e}`].push(u),n.usedRandomNumbers=a,i.setCurrentStepTimesCounterData(s,n),u}return Math.floor(Math.random()*(e-t+1))+t}static resetCurrentStepTimesCounter(t=""){let e=i.currentLabelStepIndex,r=e+t,s=i.currentLabelId;if(!s||e===null){B.error("currentLabelId or currentLabelStepIndex is null");return}let o=O.getVariable(W.CURRENT_STEP_TIMES_COUNTER_KEY)||{};o[s]||(o[s]={}),o[s][r]={stepCounters:[],stepSha1:""},O.setVariable(W.CURRENT_STEP_TIMES_COUNTER_KEY,o);}static get allChoicesMade(){return O.getVariable(W.ALL_CHOICES_MADE_KEY)||[]}static set allChoicesMade(t){O.setVariable(W.ALL_CHOICES_MADE_KEY,t);}static _stepCounter=0;static increaseStepCounter(){i._stepCounter++;}static _openedLabels=[];static get openedLabels(){return se(i._openedLabels)}static set openedLabels(t){i._openedLabels=se(t);}static _originalOpenedLabels=[];static get originalOpenedLabels(){return se(i._originalOpenedLabels)}static set originalOpenedLabels(t){i._originalOpenedLabels=se(t);}static get _currentLabel(){if(i.currentLabelId)return oe.get(i.currentLabelId)}static get currentLabelId(){if(i._openedLabels.length>0)return i._openedLabels[i._openedLabels.length-1].label}static get currentLabelStepIndex(){return i._openedLabels.length>0?i._openedLabels[i._openedLabels.length-1].currentStepIndex:null}static addLabelHistory(t,e){let r=i.allOpenedLabels,s=i.allOpenedLabels[t]?.biggestStep||0,o=i.allOpenedLabels[t]?.openCount||0;(!s||s<e)&&(r[t]={biggestStep:e,openCount:o},i.allOpenedLabels=r);}static addChoicesMade(t,e,r,s){let o=i.allChoicesMade,n=o.findIndex(a=>a.labelId===t&&a.stepIndex===e&&a.choiceIndex===s&&a.stepSha1===r);n<0?o.push({labelId:t,stepIndex:e,choiceIndex:s,stepSha1:r,madeTimes:1}):o[n].madeTimes++,i.allChoicesMade=o;}static pushNewLabel(t){if(!oe.get(t))throw new Error(`[Pixi\u2019VN] Label ${t} not found`);i._openedLabels.push({label:t,currentStepIndex:0});let r=i.allOpenedLabels,s=i.allOpenedLabels[t]?.biggestStep||0,o=i.allOpenedLabels[t]?.openCount||0;r[t]={biggestStep:s,openCount:o+1},i.allOpenedLabels=r;}static increaseCurrentStepIndex(){if(i._openedLabels.length>0){let t=i._openedLabels[i._openedLabels.length-1];i._openedLabels[i._openedLabels.length-1]={...t,currentStepIndex:t.currentStepIndex+1};}}static _onStepStart;static set onStepStart(t){i._onStepStart=t;}static get onStepStart(){return async(t,e)=>{let r=[];return i.onLoadingLabel&&t===0&&r.push(i.onLoadingLabel(t,e)),i._onStepStart&&r.push(i._onStepStart(t,e)),await Promise.all(r)}}static onLoadingLabel;static onStepEnd};var Gl=class{get currentStepTimesCounter(){return M.getCurrentStepTimesCounter()}set currentStepTimesCounter(t){M.resetCurrentStepTimesCounter();}getRandomNumber(t,e,r={}){return M.getRandomNumber(t,e,r)}get stepCounter(){return M._stepCounter}get openedLabels(){return M.openedLabels}get currentLabel(){return M._currentLabel}addStepHistory(t,e={}){let{choiceMade:r,ignoreSameStep:s}=e,o,n,a,l=O.getVariable(W.LAST_STEP_GLUED)===this.stepCounter;O.getVariable(W.LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY)===this.stepCounter&&(o=O.getVariable(W.CURRENT_DIALOGUE_MEMORY_KEY)),O.getVariable(W.LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY)===this.stepCounter&&(n=O.getVariable(W.CURRENT_MENU_OPTIONS_MEMORY_KEY)),O.getVariable(W.LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY)===this.stepCounter&&(a=O.getVariable(W.CURRENT_INPUT_VALUE_MEMORY_KEY));let h={currentLabel:M.currentLabelId,dialogue:o,choices:n,stepSha1:t,index:this.stepCounter,labelStepIndex:M.currentLabelStepIndex,choiceIndexMade:r,inputValue:a,alreadyMadeChoices:this.alreadyCurrentStepMadeChoices,isGlued:l};M.originalOpenedLabels=M.openedLabels,O.addHistoryItem(h,{ignoreSameStep:s}),M.lastHistoryStep=h,M.increaseStepCounter();}closeCurrentLabel(){if(!M.currentLabelId){B.warn("No label to close");return}if(!this.currentLabel){B.error("currentLabel not found");return}let t=M.openedLabels;t.pop(),M.openedLabels=t,O.onLabelClosing(this.openedLabels.length);}closeAllLabels(){for(;M.openedLabels.length>0;)this.closeCurrentLabel(),O.onLabelClosing(this.openedLabels.length);}isLabelAlreadyCompleted(t){let e;typeof t=="string"?e=t:e=t.id;let s=M.allOpenedLabels[e]?.biggestStep||0;if(s){let o=oe.get(e);if(o)return o.stepCount<=s}return false}get alreadyCurrentStepMadeChoicesObj(){let t=M.currentLabelStepIndex,e=this.currentLabel;if(t===null||!e)return;let r=e.getStepSha(t);return r||(B.warn("stepSha not found, setting to ERROR"),r="error"),M.allChoicesMade.filter(s=>s.labelId===e?.id&&s.stepIndex===t&&s.stepSha1===r)}get alreadyCurrentStepMadeChoices(){return this.alreadyCurrentStepMadeChoicesObj?.map(t=>t.choiceIndex)}get isCurrentStepAlreadyOpened(){let t=M.currentLabelId;if(t){let e=M.allOpenedLabels[t]?.openCount||0;if(M.currentLabelStepIndex&&e>=M.currentLabelStepIndex)return true}return false}getTimesLabelOpened(t){return M.allOpenedLabels[t]?.openCount||0}getTimesChoiceMade(t){return this.alreadyCurrentStepMadeChoicesObj?.find(e=>e.choiceIndex===t)?.madeTimes||0}addCurrentStepToHistory(){this.addStepHistory("dev",{ignoreSameStep:true});}getCanGoNext(t){let e=t?.showWarn||false,r=this.choiceMenuOptions;return r&&r.length>0?(e&&B.warn("The player must make a choice"),false):this.isRequiredInput?(e&&B.warn("The player must enter a value"),false):true}get canGoNext(){return M.stepsRunning!==0?false:this.getCanGoNext()}async onStepRun(t,e){let r=[];return t.onStepStart&&r.push(t.onStepStart(e,t)),M.onStepStart&&r.push(M.onStepStart(e,t)),await Promise.all(r)}async onStepEnd(t,e){let r=[];return t.onStepEnd&&r.push(t.onStepEnd(e,t)),M.onStepEnd&&r.push(M.onStepEnd(e,t)),await Promise.all(r)}async goNext(t,e={}){let{runNow:r=false}=e;if(!(!r&&!this.getCanGoNext({showWarn:true}))){if(!r&&M.stepsRunning!==0){M.goNextRequests++;return}try{this.currentLabel&&await this.onStepEnd(this.currentLabel,M.currentLabelStepIndex||0);}catch(s){B.error("Error running onStepEnd",s);}return M.stepsRunning===0&&await O.onGoNextEnd(),M.increaseCurrentStepIndex(),await this.runCurrentStep(t,e)}}async runCurrentStep(t,e={}){let{choiceMade:r}=e;if(M.currentLabelId){let s=M.currentLabelStepIndex;if(s===null){B.error("currentLabelStepIndex is null");return}let o=M._currentLabel;if(!o){B.error("currentLabel not found");return}if(o.stepCount>s){try{await this.onStepRun(o,s);}catch(l){B.error("Error running onStepStart",l),this.onStepError&&this.onStepError(l,t);return}let n=o.getStepById(s);if(!n){B.error("step not found");return}let a=o.getStepSha(s);a||(B.warn("stepSha not found, setting to ERROR"),a="error");try{M.stepsRunning++;let l=await n(t,{labelId:o.id}),h=this.choiceMenuOptions;if(h?.length===1&&h[0].autoSelect){let c=h[0];l=await this.selectChoice(c,t);}let u=M.lastHistoryStep;if(r!==void 0&&u){let c=u.stepSha1;c||(B.warn("stepSha not found, setting to ERROR"),c="error"),M.addChoicesMade(u.currentLabel||"error",typeof u.labelStepIndex=="number"?u.labelStepIndex:-1,u.stepSha1||"error",r),M.choiceMadeTemp=r;}return M.stepsRunning--,M.stepsRunning===0&&(M.addLabelHistory(o.id,s),this.addStepHistory(a,{...e,choiceMade:M.choiceMadeTemp}),M.choiceMadeTemp=void 0,M.goNextRequests>0)?(M.goNextRequests--,await this.goNext(t)):l}catch(l){M.stepsRunning>0&&M.stepsRunning--,B.error("Error running step",l),this.onStepError&&this.onStepError(l,t);return}}else {if(this.openedLabels.length>1)return this.closeCurrentLabel(),await this.goNext(t,e);if(this.openedLabels.length===1)return M.openedLabels=[],this.onGameEnd?await this.onGameEnd(t,{labelId:"end"}):void 0}}else if(this.openedLabels.length===0){if(M.openedLabels=M.originalOpenedLabels,this.onGameEnd)return await this.onGameEnd(t,{labelId:"end"});B.error("The end of the game is not managed, so the game is blocked. Read this documentation to know how to manage the end of the game: https://pixi-vn.web.app/start/other-narrative-features.html#how-manage-the-end-of-the-game");return}else B.error("currentLabelId not found");}async callLabel(t,e,r){let{choiceMade:s}=r||{},o;typeof t=="string"?o=t:o=t.id;try{let n=oe.get(o);if(!n)throw new Error(`[Pixi\u2019VN] Label ${o} not found`);try{this.currentLabel&&await this.onStepEnd(this.currentLabel,M.currentLabelStepIndex||0);}catch(a){B.error("Error running onStepEnd",a);}M.pushNewLabel(n.id);}catch(n){B.error("Error calling label",n);return}return await this.runCurrentStep(e,{choiceMade:s})}async jumpLabel(t,e,r){this.openedLabels.length>0&&this.closeCurrentLabel();let{choiceMade:s}=r||{},o;typeof t=="string"?o=t:o=t.id;try{let n=oe.get(o);if(!n)throw new Error(`[Pixi\u2019VN] Label ${o} not found`);try{this.currentLabel&&await this.onStepEnd(this.currentLabel,M.currentLabelStepIndex||0);}catch(a){B.error("Error running onStepEnd",a);}M.pushNewLabel(n.id);}catch(n){B.error("Error jumping label",n);return}return await this.runCurrentStep(e,{choiceMade:s})}async selectChoice(t,e){this.choiceMenuOptions=void 0;let r=t.type;switch(r){case "call":return await this.callLabel(t.label,{...t.props,...e},{choiceMade:t.choiceIndex});case "jump":return await this.jumpLabel(t.label,{...t.props,...e},{choiceMade:t.choiceIndex});case "close":return await this.closeChoiceMenu(t,{...t.props,...e});default:throw B.error(`Type ${r} not found`),new Error(`[Pixi\u2019VN] Type ${r} not found`)}}async closeChoiceMenu(t,e){if(t.type!=="close")throw B.error("For closeChoiceMenu, the type must be close"),new Error("[Pixi\u2019VN] For closeChoiceMenu, the type must be close");let r;return typeof t.choiceIndex=="number"&&(r=t.choiceIndex),t.closeCurrentLabel&&this.closeCurrentLabel(),this.goNext(e,{choiceMade:r})}get onGameEnd(){return O.onEnd}set onGameEnd(t){O.onEnd=t;}get onStepError(){let t=O.onError;return t?(e,r)=>t("step",e,r):void 0}set onStepError(t){O.onError=(e,r,s)=>t(r,s);}get dialogue(){let t=O.getVariable(W.CURRENT_DIALOGUE_MEMORY_KEY);if(t)return {...t,character:t.character?O.getCharacter(t.character)||t.character:void 0}}set dialogue(t){if(!t){O.setVariable(W.CURRENT_DIALOGUE_MEMORY_KEY,void 0);return}if((typeof t=="string"||Array.isArray(t))&&(t={text:t}),this.dialogGlue){let e=O.getVariable(W.CURRENT_DIALOGUE_MEMORY_KEY);if(e){let r=[];Array.isArray(e.text)?r=[...e.text]:r=[e.text],Array.isArray(t.text)?r=[...r,...t.text]:r=[...r,t.text],t.text=r,t.character=t.character||e.character;}O.setVariable(W.LAST_STEP_GLUED,this.stepCounter),this.dialogGlue=false;}try{O.setVariable(W.CURRENT_DIALOGUE_MEMORY_KEY,se({...t,character:typeof t.character=="string"?t.character:t.character?.id})),O.setVariable(W.LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY,this.stepCounter);}catch(e){throw B.error("DialogueInterface cannot contain functions or classes"),e}}get choiceMenuOptions(){let t=O.getVariable(W.CURRENT_MENU_OPTIONS_MEMORY_KEY);if(t){let e=[],r=t.map((o,n)=>({...o,choiceIndex:n})),s=this.alreadyCurrentStepMadeChoices;if(r=r.filter((o,n)=>o.oneTime&&s&&s.includes(n)?false:o.onlyHaveNoChoice?(e.push(o),false):true),r.length>0)return r;if(e.length>0)return [e[0]]}}set choiceMenuOptions(t){if(!t||t.length===0){O.setVariable(W.CURRENT_MENU_OPTIONS_MEMORY_KEY,void 0);return}let e=t.map(r=>r instanceof Vi?{...r.devProps,text:r.text,type:No,closeCurrentLabel:r.closeCurrentLabel,oneTime:r.oneTime,onlyHaveNoChoice:r.onlyHaveNoChoice,autoSelect:r.autoSelect,props:r.props}:r instanceof Hi?{...r.devProps,type:r.type,text:r.text,label:r.label.id,autoSelect:r.autoSelect,oneTime:r.oneTime,onlyHaveNoChoice:r.onlyHaveNoChoice,props:r.props}:r);try{O.setVariable(W.CURRENT_MENU_OPTIONS_MEMORY_KEY,se(e)),O.setVariable(W.LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY,this.stepCounter);}catch(r){throw B.error("ChoiceInterface cannot contain functions or classes"),r}}get dialogGlue(){return O.getFlag(W.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY)}set dialogGlue(t){O.setFlag(W.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY,t);}get inputValue(){return O.getVariable(W.CURRENT_INPUT_VALUE_MEMORY_KEY)}set inputValue(t){this.removeInputRequest(),O.setVariable(W.CURRENT_INPUT_VALUE_MEMORY_KEY,t),O.setVariable(W.LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY,this.stepCounter);}get isRequiredInput(){return O.getVariable(W.CURRENT_INPUT_INFO_MEMORY_KEY)?.isRequired||false}get inputType(){return O.getVariable(W.CURRENT_INPUT_INFO_MEMORY_KEY)?.type}requestInput(t,e){t.isRequired=true,O.setVariable(W.CURRENT_INPUT_INFO_MEMORY_KEY,t),e!==void 0?O.setVariable(W.CURRENT_INPUT_VALUE_MEMORY_KEY,e):O.removeVariable(W.CURRENT_INPUT_VALUE_MEMORY_KEY);}removeInputRequest(){O.removeVariable(W.CURRENT_INPUT_INFO_MEMORY_KEY),O.removeVariable(W.CURRENT_INPUT_VALUE_MEMORY_KEY);}clear(){M.openedLabels=[],M._stepCounter=0;}export(){return {openedLabels:se(M.openedLabels),stepCounter:this.stepCounter}}async onLoadingLabel(t){let e=this.openedLabels.map(async r=>{let s=[],o=oe.get(r.label);return o&&(o.onLoadingLabel&&s.push(o.onLoadingLabel(t,o)),M.onLoadingLabel&&s.push(M.onLoadingLabel(t,o))),await Promise.all(s)});return await Promise.all(e)}async restore(t,e){this.clear();try{M.lastHistoryStep=e,t.hasOwnProperty("openedLabels")?(M.openedLabels=t.openedLabels,M.originalOpenedLabels=M.openedLabels):B.warn("Could not import openedLabels data, so will be ignored"),t.hasOwnProperty("stepCounter")?M._stepCounter=t.stepCounter:t.hasOwnProperty("lastStepIndex")?M._stepCounter=t.lastStepIndex:B.warn("Could not import stepCounter data, so will be ignored");try{await this.onLoadingLabel(M.currentLabelStepIndex||0);}catch(r){B.error("Error running onLoadingLabel",r);}}catch(r){B.error("Error importing data",r);}}};
|
|
570
|
+
export{Gl as default};
|