@esotericsoftware/spine-pixi-v8
Version:
The official Spine Runtimes for PixiJS v8.
1 lines • 189 kB
JavaScript
"use strict";var nr=Object.defineProperty,ar=(e,t,s)=>t in e?nr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,R=(e,t,s)=>(ar(e,typeof t!="symbol"?t+"":t,s),s);if(typeof window<"u"&&window.PIXI){const e=window.require;window.require=t=>{if(e)return e(t);if(t.startsWith("@pixi/")||t.startsWith("pixi.js"))return window.PIXI}}import{checkExtension as ft,copySearchParams as or,DOMAdapter as lr,extensions as hr,ExtensionType as vs,LoaderParserPriority as cr,path as ze,Resolver as dr,TextureSource as Cs}from"pixi.js";import{Texture as fr}from"pixi.js";var ur=class{array=new Array;add(e){let t=this.contains(e);return this.array[e|0]=e|0,!t}contains(e){return this.array[e|0]!=null}remove(e){this.array[e|0]=void 0}clear(){this.array.length=0}},ut=class{entries={};size=0;add(e){let t=this.entries[e];return this.entries[e]=!0,t?!1:(this.size++,!0)}addAll(e){let t=this.size;for(var s=0,r=e.length;s<r;s++)this.add(e[s]);return t!=this.size}contains(e){return this.entries[e]}clear(){this.entries={},this.size=0}},Ce=class{constructor(e=0,t=0,s=0,r=0){this.r=e,this.g=t,this.b=s,this.a=r}set(e,t,s,r){return this.r=e,this.g=t,this.b=s,this.a=r,this.clamp()}setFromColor(e){return this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this}setFromString(e){return e=e.charAt(0)=="#"?e.substr(1):e,this.r=parseInt(e.substr(0,2),16)/255,this.g=parseInt(e.substr(2,2),16)/255,this.b=parseInt(e.substr(4,2),16)/255,this.a=e.length!=8?1:parseInt(e.substr(6,2),16)/255,this}add(e,t,s,r){return this.r+=e,this.g+=t,this.b+=s,this.a+=r,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(e,t){e.r=((t&4278190080)>>>24)/255,e.g=((t&16711680)>>>16)/255,e.b=((t&65280)>>>8)/255,e.a=(t&255)/255}static rgb888ToColor(e,t){e.r=((t&16711680)>>>16)/255,e.g=((t&65280)>>>8)/255,e.b=(t&255)/255}toRgb888(){const e=t=>("0"+(t*255).toString(16)).slice(-2);return Number("0x"+e(this.r)+e(this.g)+e(this.b))}static fromString(e){return new Ce().setFromString(e)}},V=Ce;R(V,"WHITE",new Ce(1,1,1,1)),R(V,"RED",new Ce(1,0,0,1)),R(V,"GREEN",new Ce(0,1,0,1)),R(V,"BLUE",new Ce(0,0,1,1)),R(V,"MAGENTA",new Ce(1,0,1,1));var oe=class{static clamp(e,t,s){return e<t?t:e>s?s:e}static cosDeg(e){return Math.cos(e*oe.degRad)}static sinDeg(e){return Math.sin(e*oe.degRad)}static atan2Deg(e,t){return Math.atan2(e,t)*oe.degRad}static signum(e){return e>0?1:e<0?-1:0}static toInt(e){return e>0?Math.floor(e):Math.ceil(e)}static cbrt(e){let t=Math.pow(Math.abs(e),.3333333333333333);return e<0?-t:t}static randomTriangular(e,t){return oe.randomTriangularWith(e,t,(e+t)*.5)}static randomTriangularWith(e,t,s){let r=Math.random(),n=t-e;return r<=(s-e)/n?e+Math.sqrt(r*n*(s-e)):t-Math.sqrt((1-r)*n*(t-s))}static isPowerOfTwo(e){return e&&(e&e-1)===0}},P=oe;R(P,"PI",3.1415927),R(P,"PI2",oe.PI*2),R(P,"invPI2",1/oe.PI2),R(P,"radiansToDegrees",180/oe.PI),R(P,"radDeg",oe.radiansToDegrees),R(P,"degreesToRadians",oe.PI/180),R(P,"degRad",oe.degreesToRadians);var Ss=class{apply(e,t,s){return e+(t-e)*this.applyInternal(s)}},ks=class extends Ss{power=2;constructor(e){super(),this.power=e}applyInternal(e){return e<=.5?Math.pow(e*2,this.power)/2:Math.pow((e-1)*2,this.power)/(this.power%2==0?-2:2)+1}},mr=class extends ks{constructor(e){super(e)}applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}},Ie=class{static arrayCopy(e,t,s,r,n){for(let h=t,a=r;h<t+n;h++,a++)s[a]=e[h]}static arrayFill(e,t,s,r){for(let n=t;n<s;n++)e[n]=r}static setArraySize(e,t,s=0){let r=e.length;if(r==t)return e;if(e.length=t,r<t)for(let n=r;n<t;n++)e[n]=s;return e}static ensureArrayCapacity(e,t,s=0){return e.length>=t?e:Ie.setArraySize(e,t,s)}static newArray(e,t){let s=new Array(e);for(let r=0;r<e;r++)s[r]=t;return s}static newFloatArray(e){if(Ie.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);{let t=new Array(e);for(let s=0;s<t.length;s++)t[s]=0;return t}}static newShortArray(e){if(Ie.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);{let t=new Array(e);for(let s=0;s<t.length;s++)t[s]=0;return t}}static toFloatArray(e){return Ie.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e}static toSinglePrecision(e){return Ie.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e}static webkit602BugfixHelper(e,t){}static contains(e,t,s=!0){for(var r=0;r<e.length;r++)if(e[r]==t)return!0;return!1}static enumValue(e,t){return e[t[0].toUpperCase()+t.slice(1)]}},B=Ie;R(B,"SUPPORTS_TYPED_ARRAYS",typeof Float32Array<"u");var gr=class{static logBones(e){for(let t=0;t<e.bones.length;t++){let s=e.bones[t];console.log(s.data.name+", "+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.worldX+", "+s.worldY)}}},Me=class{items=new Array;instantiator;constructor(e){this.instantiator=e}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(e){e.reset&&e.reset(),this.items.push(e)}freeAll(e){for(let t=0;t<e.length;t++)this.free(e[t])}clear(){this.items.length=0}},Re=class{constructor(e=0,t=0){this.x=e,this.y=t}set(e,t){return this.x=e,this.y=t,this}length(){let e=this.x,t=this.y;return Math.sqrt(e*e+t*t)}normalize(){let e=this.length();return e!=0&&(this.x/=e,this.y/=e),this}},pr=class{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let e=Date.now()/1e3;this.delta=e-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=e,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}},xr=class{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(e=32){this.values=new Array(e)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(e){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=e,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let e=0;for(let t=0;t<this.values.length;t++)e+=this.values[t];this.mean=e/this.values.length,this.dirty=!1}return this.mean}return 0}},mt=class{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}},As=class extends mt{id=As.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(e){super(e)}computeWorldVertices(e,t,s,r,n,h){s=n+(s>>1)*h;let a=e.bone.skeleton,i=e.deform,l=this.vertices,o=this.bones;if(!o){i.length>0&&(l=i);let u=e.bone,m=u.worldX,p=u.worldY,w=u.a,b=u.b,g=u.c,x=u.d;for(let v=t,y=n;y<s;v+=2,y+=h){let C=l[v],S=l[v+1];r[y]=C*w+S*b+m,r[y+1]=C*g+S*x+p}return}let c=0,d=0;for(let u=0;u<t;u+=2){let m=o[c];c+=m+1,d+=m}let f=a.bones;if(i.length==0)for(let u=n,m=d*3;u<s;u+=h){let p=0,w=0,b=o[c++];for(b+=c;c<b;c++,m+=3){let g=f[o[c]],x=l[m],v=l[m+1],y=l[m+2];p+=(x*g.a+v*g.b+g.worldX)*y,w+=(x*g.c+v*g.d+g.worldY)*y}r[u]=p,r[u+1]=w}else{let u=i;for(let m=n,p=d*3,w=d<<1;m<s;m+=h){let b=0,g=0,x=o[c++];for(x+=c;c<x;c++,p+=3,w+=2){let v=f[o[c]],y=l[p]+u[w],C=l[p+1]+u[w+1],S=l[p+2];b+=(y*v.a+C*v.b+v.worldX)*S,g+=(y*v.c+C*v.d+v.worldY)*S}r[m]=b,r[m+1]=g}}}copyTo(e){this.bones?(e.bones=new Array(this.bones.length),B.arrayCopy(this.bones,0,e.bones,0,this.bones.length)):e.bones=null,this.vertices&&(e.vertices=B.newFloatArray(this.vertices.length),B.arrayCopy(this.vertices,0,e.vertices,0,this.vertices.length)),e.worldVerticesLength=this.worldVerticesLength,e.timelineAttachment=this.timelineAttachment}},le=As;R(le,"nextID",0);var Ge=class{id=Ge.nextID();regions;start=0;digits=0;setupIndex=0;constructor(e){this.regions=new Array(e)}copy(){let e=new Ge(this.regions.length);return B.arrayCopy(this.regions,0,e.regions,0,this.regions.length),e.start=this.start,e.digits=this.digits,e.setupIndex=this.setupIndex,e}apply(e,t){let s=e.sequenceIndex;s==-1&&(s=this.setupIndex),s>=this.regions.length&&(s=this.regions.length-1);let r=this.regions[s];t.region!=r&&(t.region=r,t.updateRegion())}getPath(e,t){let s=e,r=(this.start+t).toString();for(let n=this.digits-r.length;n>0;n--)s+="0";return s+=r,s}static nextID(){return Ge._nextID++}},gt=Ge;R(gt,"_nextID",0);var Ts=(e=>(e[e.hold=0]="hold",e[e.once=1]="once",e[e.loop=2]="loop",e[e.pingpong=3]="pingpong",e[e.onceReverse=4]="onceReverse",e[e.loopReverse=5]="loopReverse",e[e.pingpongReverse=6]="pingpongReverse",e))(Ts||{}),Is=[0,1,2,3,4,5,6],He=class{name;timelines=[];timelineIds=new ut;duration;constructor(e,t,s){if(!e)throw new Error("name cannot be null.");this.name=e,this.setTimelines(t),this.duration=s}setTimelines(e){if(!e)throw new Error("timelines cannot be null.");this.timelines=e,this.timelineIds.clear();for(var t=0;t<e.length;t++)this.timelineIds.addAll(e[t].getPropertyIds())}hasTimeline(e){for(let t=0;t<e.length;t++)if(this.timelineIds.contains(e[t]))return!0;return!1}apply(e,t,s,r,n,h,a,i){if(!e)throw new Error("skeleton cannot be null.");r&&this.duration!=0&&(s%=this.duration,t>0&&(t%=this.duration));let l=this.timelines;for(let o=0,c=l.length;o<c;o++)l[o].apply(e,t,s,n,h,a,i)}},Ms=(e=>(e[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",e))(Ms||{}),Ys=(e=>(e[e.mixIn=0]="mixIn",e[e.mixOut=1]="mixOut",e))(Ys||{}),O={rotate:0,x:1,y:2,scaleX:3,scaleY:4,shearX:5,shearY:6,inherit:7,rgb:8,alpha:9,rgb2:10,attachment:11,deform:12,event:13,drawOrder:14,ikConstraint:15,transformConstraint:16,pathConstraintPosition:17,pathConstraintSpacing:18,pathConstraintMix:19,physicsConstraintInertia:20,physicsConstraintStrength:21,physicsConstraintDamping:22,physicsConstraintMass:23,physicsConstraintWind:24,physicsConstraintGravity:25,physicsConstraintMix:26,physicsConstraintReset:27,sequence:28},J=class{propertyIds;frames;constructor(e,t){this.propertyIds=t,this.frames=B.newFloatArray(e*this.getFrameEntries())}getPropertyIds(){return this.propertyIds}getFrameEntries(){return 1}getFrameCount(){return this.frames.length/this.getFrameEntries()}getDuration(){return this.frames[this.frames.length-this.getFrameEntries()]}static search1(e,t){let s=e.length;for(let r=1;r<s;r++)if(e[r]>t)return r-1;return s-1}static search(e,t,s){let r=e.length;for(let n=s;n<r;n+=s)if(e[n]>t)return n-s;return r-s}},he=class extends J{curves;constructor(e,t,s){super(e,s),this.curves=B.newFloatArray(e+t*18),this.curves[e-1]=1}setLinear(e){this.curves[e]=0}setStepped(e){this.curves[e]=1}shrink(e){let t=this.getFrameCount()+e*18;if(this.curves.length>t){let s=B.newFloatArray(t);B.arrayCopy(this.curves,0,s,0,t),this.curves=s}}setBezier(e,t,s,r,n,h,a,i,l,o,c){let d=this.curves,f=this.getFrameCount()+e*18;s==0&&(d[t]=2+f);let u=(r-h*2+i)*.03,m=(n-a*2+l)*.03,p=((h-i)*3-r+o)*.006,w=((a-l)*3-n+c)*.006,b=u*2+p,g=m*2+w,x=(h-r)*.3+u+p*.16666667,v=(a-n)*.3+m+w*.16666667,y=r+x,C=n+v;for(let S=f+18;f<S;f+=2)d[f]=y,d[f+1]=C,x+=b,v+=g,b+=p,g+=w,y+=x,C+=v}getBezierValue(e,t,s,r){let n=this.curves;if(n[r]>e){let l=this.frames[t],o=this.frames[t+s];return o+(e-l)/(n[r]-l)*(n[r+1]-o)}let h=r+18;for(r+=2;r<h;r+=2)if(n[r]>=e){let l=n[r-2],o=n[r-1];return o+(e-l)/(n[r]-l)*(n[r+1]-o)}t+=this.getFrameEntries();let a=n[h-2],i=n[h-1];return i+(e-a)/(this.frames[t]-a)*(this.frames[t+s]-i)}},ne=class extends he{constructor(e,t,s){super(e,t,[s])}getFrameEntries(){return 2}setFrame(e,t,s){e<<=1,this.frames[e]=t,this.frames[e+1]=s}getCurveValue(e){let t=this.frames,s=t.length-2;for(let n=2;n<=s;n+=2)if(t[n]>e){s=n-2;break}let r=this.curves[s>>1];switch(r){case 0:let n=t[s],h=t[s+1];return h+(e-n)/(t[s+2]-n)*(t[s+2+1]-h);case 1:return t[s+1]}return this.getBezierValue(e,s,1,r-2)}getRelativeValue(e,t,s,r,n){if(e<this.frames[0]){switch(s){case 0:return n;case 1:return r+(n-r)*t}return r}let h=this.getCurveValue(e);switch(s){case 0:return n+h*t;case 1:case 2:h+=n-r}return r+h*t}getAbsoluteValue(e,t,s,r,n){if(e<this.frames[0]){switch(s){case 0:return n;case 1:return r+(n-r)*t}return r}let h=this.getCurveValue(e);return s==0?n+(h-n)*t:r+(h-r)*t}getAbsoluteValue2(e,t,s,r,n,h){if(e<this.frames[0]){switch(s){case 0:return n;case 1:return r+(n-r)*t}return r}return s==0?n+(h-n)*t:r+(h-r)*t}getScaleValue(e,t,s,r,n,h){const a=this.frames;if(e<a[0]){switch(s){case 0:return h;case 1:return n+(h-n)*t}return n}let i=this.getCurveValue(e)*h;if(t==1)return s==3?n+i-h:i;if(r==1)switch(s){case 0:return h+(Math.abs(i)*P.signum(h)-h)*t;case 1:case 2:return n+(Math.abs(i)*P.signum(n)-n)*t}else{let l=0;switch(s){case 0:return l=Math.abs(h)*P.signum(i),l+(i-l)*t;case 1:case 2:return l=Math.abs(n)*P.signum(i),l+(i-l)*t}}return n+(i-h)*t}},$e=class extends he{constructor(e,t,s,r){super(e,t,[s,r])}getFrameEntries(){return 3}setFrame(e,t,s,r){e*=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r}},De=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.rotate+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.rotation=this.getRelativeValue(s,n,h,i.rotation,i.data.rotation))}},pt=class extends $e{boneIndex=0;constructor(e,t,s){super(e,t,O.x+"|"+s,O.y+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.x=i.data.x,i.y=i.data.y;return;case 1:i.x+=(i.data.x-i.x)*n,i.y+=(i.data.y-i.y)*n}return}let o=0,c=0,d=J.search(l,s,3),f=this.curves[d/3];switch(f){case 0:let u=l[d];o=l[d+1],c=l[d+2];let m=(s-u)/(l[d+3]-u);o+=(l[d+3+1]-o)*m,c+=(l[d+3+2]-c)*m;break;case 1:o=l[d+1],c=l[d+2];break;default:o=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2)}switch(h){case 0:i.x=i.data.x+o*n,i.y=i.data.y+c*n;break;case 1:case 2:i.x+=(i.data.x+o-i.x)*n,i.y+=(i.data.y+c-i.y)*n;break;case 3:i.x+=o*n,i.y+=c*n}}},xt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.x+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.x=this.getRelativeValue(s,n,h,i.x,i.data.x))}},bt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.y+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.y=this.getRelativeValue(s,n,h,i.y,i.data.y))}},wt=class extends $e{boneIndex=0;constructor(e,t,s){super(e,t,O.scaleX+"|"+s,O.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.scaleX=i.data.scaleX,i.scaleY=i.data.scaleY;return;case 1:i.scaleX+=(i.data.scaleX-i.scaleX)*n,i.scaleY+=(i.data.scaleY-i.scaleY)*n}return}let o,c,d=J.search(l,s,3),f=this.curves[d/3];switch(f){case 0:let u=l[d];o=l[d+1],c=l[d+2];let m=(s-u)/(l[d+3]-u);o+=(l[d+3+1]-o)*m,c+=(l[d+3+2]-c)*m;break;case 1:o=l[d+1],c=l[d+2];break;default:o=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2)}if(o*=i.data.scaleX,c*=i.data.scaleY,n==1)h==3?(i.scaleX+=o-i.data.scaleX,i.scaleY+=c-i.data.scaleY):(i.scaleX=o,i.scaleY=c);else{let u=0,m=0;if(a==1)switch(h){case 0:u=i.data.scaleX,m=i.data.scaleY,i.scaleX=u+(Math.abs(o)*P.signum(u)-u)*n,i.scaleY=m+(Math.abs(c)*P.signum(m)-m)*n;break;case 1:case 2:u=i.scaleX,m=i.scaleY,i.scaleX=u+(Math.abs(o)*P.signum(u)-u)*n,i.scaleY=m+(Math.abs(c)*P.signum(m)-m)*n;break;case 3:i.scaleX+=(o-i.data.scaleX)*n,i.scaleY+=(c-i.data.scaleY)*n}else switch(h){case 0:u=Math.abs(i.data.scaleX)*P.signum(o),m=Math.abs(i.data.scaleY)*P.signum(c),i.scaleX=u+(o-u)*n,i.scaleY=m+(c-m)*n;break;case 1:case 2:u=Math.abs(i.scaleX)*P.signum(o),m=Math.abs(i.scaleY)*P.signum(c),i.scaleX=u+(o-u)*n,i.scaleY=m+(c-m)*n;break;case 3:i.scaleX+=(o-i.data.scaleX)*n,i.scaleY+=(c-i.data.scaleY)*n}}}},yt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.scaleX+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.scaleX=this.getScaleValue(s,n,h,a,i.scaleX,i.data.scaleX))}},vt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.scaleY=this.getScaleValue(s,n,h,a,i.scaleY,i.data.scaleY))}},Ct=class extends $e{boneIndex=0;constructor(e,t,s){super(e,t,O.shearX+"|"+s,O.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.shearX=i.data.shearX,i.shearY=i.data.shearY;return;case 1:i.shearX+=(i.data.shearX-i.shearX)*n,i.shearY+=(i.data.shearY-i.shearY)*n}return}let o=0,c=0,d=J.search(l,s,3),f=this.curves[d/3];switch(f){case 0:let u=l[d];o=l[d+1],c=l[d+2];let m=(s-u)/(l[d+3]-u);o+=(l[d+3+1]-o)*m,c+=(l[d+3+2]-c)*m;break;case 1:o=l[d+1],c=l[d+2];break;default:o=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2)}switch(h){case 0:i.shearX=i.data.shearX+o*n,i.shearY=i.data.shearY+c*n;break;case 1:case 2:i.shearX+=(i.data.shearX+o-i.shearX)*n,i.shearY+=(i.data.shearY+c-i.shearY)*n;break;case 3:i.shearX+=o*n,i.shearY+=c*n}}},St=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.shearX+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.shearX=this.getRelativeValue(s,n,h,i.shearX,i.data.shearX))}},kt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];i.active&&(i.shearY=this.getRelativeValue(s,n,h,i.shearY,i.data.shearY))}},At=class extends J{boneIndex=0;constructor(e,t){super(e,[O.inherit+"|"+t]),this.boneIndex=t}getFrameEntries(){return 2}setFrame(e,t,s){e*=2,this.frames[e]=t,this.frames[e+1]=s}apply(e,t,s,r,n,h,a){let i=e.bones[this.boneIndex];if(!i.active)return;if(a==1){h==0&&(i.inherit=i.data.inherit);return}let l=this.frames;if(s<l[0]){(h==0||h==1)&&(i.inherit=i.data.inherit);return}i.inherit=this.frames[J.search(l,s,2)+1]}},Tt=class extends he{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s,O.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(e,t,s,r,n,h){e*=5,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,o=i.color;if(s<l[0]){let w=i.data.color;switch(h){case 0:o.setFromColor(w);return;case 1:o.add((w.r-o.r)*n,(w.g-o.g)*n,(w.b-o.b)*n,(w.a-o.a)*n)}return}let c=0,d=0,f=0,u=0,m=J.search(l,s,5),p=this.curves[m/5];switch(p){case 0:let w=l[m];c=l[m+1],d=l[m+2],f=l[m+3],u=l[m+4];let b=(s-w)/(l[m+5]-w);c+=(l[m+5+1]-c)*b,d+=(l[m+5+2]-d)*b,f+=(l[m+5+3]-f)*b,u+=(l[m+5+4]-u)*b;break;case 1:c=l[m+1],d=l[m+2],f=l[m+3],u=l[m+4];break;default:c=this.getBezierValue(s,m,1,p-2),d=this.getBezierValue(s,m,2,p+18-2),f=this.getBezierValue(s,m,3,p+18*2-2),u=this.getBezierValue(s,m,4,p+18*3-2)}n==1?o.set(c,d,f,u):(h==0&&o.setFromColor(i.data.color),o.add((c-o.r)*n,(d-o.g)*n,(f-o.b)*n,(u-o.a)*n))}},It=class extends he{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,r,n){e<<=2,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,o=i.color;if(s<l[0]){let p=i.data.color;switch(h){case 0:o.r=p.r,o.g=p.g,o.b=p.b;return;case 1:o.r+=(p.r-o.r)*n,o.g+=(p.g-o.g)*n,o.b+=(p.b-o.b)*n}return}let c=0,d=0,f=0,u=J.search(l,s,4),m=this.curves[u>>2];switch(m){case 0:let p=l[u];c=l[u+1],d=l[u+2],f=l[u+3];let w=(s-p)/(l[u+4]-p);c+=(l[u+4+1]-c)*w,d+=(l[u+4+2]-d)*w,f+=(l[u+4+3]-f)*w;break;case 1:c=l[u+1],d=l[u+2],f=l[u+3];break;default:c=this.getBezierValue(s,u,1,m-2),d=this.getBezierValue(s,u,2,m+18-2),f=this.getBezierValue(s,u,3,m+18*2-2)}if(n==1)o.r=c,o.g=d,o.b=f;else{if(h==0){let p=i.data.color;o.r=p.r,o.g=p.g,o.b=p.b}o.r+=(c-o.r)*n,o.g+=(d-o.g)*n,o.b+=(f-o.b)*n}}},Mt=class extends ne{slotIndex=0;constructor(e,t,s){super(e,t,O.alpha+"|"+s),this.slotIndex=s}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=i.color;if(s<this.frames[0]){let c=i.data.color;switch(h){case 0:l.a=c.a;return;case 1:l.a+=(c.a-l.a)*n}return}let o=this.getCurveValue(s);n==1?l.a=o:(h==0&&(l.a=i.data.color.a),l.a+=(o-l.a)*n)}},Yt=class extends he{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s,O.alpha+"|"+s,O.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(e,t,s,r,n,h,a,i,l){e<<=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h,this.frames[e+5]=a,this.frames[e+6]=i,this.frames[e+7]=l}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,o=i.color,c=i.darkColor;if(s<l[0]){let v=i.data.color,y=i.data.darkColor;switch(h){case 0:o.setFromColor(v),c.r=y.r,c.g=y.g,c.b=y.b;return;case 1:o.add((v.r-o.r)*n,(v.g-o.g)*n,(v.b-o.b)*n,(v.a-o.a)*n),c.r+=(y.r-c.r)*n,c.g+=(y.g-c.g)*n,c.b+=(y.b-c.b)*n}return}let d=0,f=0,u=0,m=0,p=0,w=0,b=0,g=J.search(l,s,8),x=this.curves[g>>3];switch(x){case 0:let v=l[g];d=l[g+1],f=l[g+2],u=l[g+3],m=l[g+4],p=l[g+5],w=l[g+6],b=l[g+7];let y=(s-v)/(l[g+8]-v);d+=(l[g+8+1]-d)*y,f+=(l[g+8+2]-f)*y,u+=(l[g+8+3]-u)*y,m+=(l[g+8+4]-m)*y,p+=(l[g+8+5]-p)*y,w+=(l[g+8+6]-w)*y,b+=(l[g+8+7]-b)*y;break;case 1:d=l[g+1],f=l[g+2],u=l[g+3],m=l[g+4],p=l[g+5],w=l[g+6],b=l[g+7];break;default:d=this.getBezierValue(s,g,1,x-2),f=this.getBezierValue(s,g,2,x+18-2),u=this.getBezierValue(s,g,3,x+18*2-2),m=this.getBezierValue(s,g,4,x+18*3-2),p=this.getBezierValue(s,g,5,x+18*4-2),w=this.getBezierValue(s,g,6,x+18*5-2),b=this.getBezierValue(s,g,7,x+18*6-2)}if(n==1)o.set(d,f,u,m),c.r=p,c.g=w,c.b=b;else{if(h==0){o.setFromColor(i.data.color);let v=i.data.darkColor;c.r=v.r,c.g=v.g,c.b=v.b}o.add((d-o.r)*n,(f-o.g)*n,(u-o.b)*n,(m-o.a)*n),c.r+=(p-c.r)*n,c.g+=(w-c.g)*n,c.b+=(b-c.b)*n}}},Ft=class extends he{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s,O.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,r,n,h,a,i){e*=7,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h,this.frames[e+5]=a,this.frames[e+6]=i}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,o=i.color,c=i.darkColor;if(s<l[0]){let v=i.data.color,y=i.data.darkColor;switch(h){case 0:o.r=v.r,o.g=v.g,o.b=v.b,c.r=y.r,c.g=y.g,c.b=y.b;return;case 1:o.r+=(v.r-o.r)*n,o.g+=(v.g-o.g)*n,o.b+=(v.b-o.b)*n,c.r+=(y.r-c.r)*n,c.g+=(y.g-c.g)*n,c.b+=(y.b-c.b)*n}return}let d=0,f=0,u=0,m=0,p=0,w=0,b=0,g=J.search(l,s,7),x=this.curves[g/7];switch(x){case 0:let v=l[g];d=l[g+1],f=l[g+2],u=l[g+3],p=l[g+4],w=l[g+5],b=l[g+6];let y=(s-v)/(l[g+7]-v);d+=(l[g+7+1]-d)*y,f+=(l[g+7+2]-f)*y,u+=(l[g+7+3]-u)*y,p+=(l[g+7+4]-p)*y,w+=(l[g+7+5]-w)*y,b+=(l[g+7+6]-b)*y;break;case 1:d=l[g+1],f=l[g+2],u=l[g+3],p=l[g+4],w=l[g+5],b=l[g+6];break;default:d=this.getBezierValue(s,g,1,x-2),f=this.getBezierValue(s,g,2,x+18-2),u=this.getBezierValue(s,g,3,x+18*2-2),p=this.getBezierValue(s,g,4,x+18*3-2),w=this.getBezierValue(s,g,5,x+18*4-2),b=this.getBezierValue(s,g,6,x+18*5-2)}if(n==1)o.r=d,o.g=f,o.b=u,c.r=p,c.g=w,c.b=b;else{if(h==0){let v=i.data.color,y=i.data.darkColor;o.r=v.r,o.g=v.g,o.b=v.b,c.r=y.r,c.g=y.g,c.b=y.b}o.r+=(d-o.r)*n,o.g+=(f-o.g)*n,o.b+=(u-o.b)*n,c.r+=(p-c.r)*n,c.g+=(w-c.g)*n,c.b+=(b-c.b)*n}}},Se=class extends J{slotIndex=0;attachmentNames;constructor(e,t){super(e,[O.attachment+"|"+t]),this.slotIndex=t,this.attachmentNames=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.attachmentNames[e]=s}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(i.bone.active){if(a==1){h==0&&this.setAttachment(e,i,i.data.attachmentName);return}if(s<this.frames[0]){(h==0||h==1)&&this.setAttachment(e,i,i.data.attachmentName);return}this.setAttachment(e,i,this.attachmentNames[J.search1(this.frames,s)])}}setAttachment(e,t,s){t.setAttachment(s?e.getAttachment(this.slotIndex,s):null)}},Xt=class extends he{slotIndex=0;attachment;vertices;constructor(e,t,s,r){super(e,t,[O.deform+"|"+s+"|"+r.id]),this.slotIndex=s,this.attachment=r,this.vertices=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.vertices[e]=s}setBezier(e,t,s,r,n,h,a,i,l,o,c){let d=this.curves,f=this.getFrameCount()+e*18;s==0&&(d[t]=2+f);let u=(r-h*2+i)*.03,m=l*.03-a*.06,p=((h-i)*3-r+o)*.006,w=(a-l+.33333333)*.018,b=u*2+p,g=m*2+w,x=(h-r)*.3+u+p*.16666667,v=a*.3+m+w*.16666667,y=r+x,C=v;for(let S=f+18;f<S;f+=2)d[f]=y,d[f+1]=C,x+=b,v+=g,b+=p,g+=w,y+=x,C+=v}getCurvePercent(e,t){let s=this.curves,r=s[t];switch(r){case 0:let i=this.frames[t];return(e-i)/(this.frames[t+this.getFrameEntries()]-i);case 1:return 0}if(r-=2,s[r]>e){let i=this.frames[t];return s[r+1]*(e-i)/(s[r]-i)}let n=r+18;for(r+=2;r<n;r+=2)if(s[r]>=e){let i=s[r-2],l=s[r-1];return l+(e-i)/(s[r]-i)*(s[r+1]-l)}let h=s[n-2],a=s[n-1];return a+(1-a)*(e-h)/(this.frames[t+this.getFrameEntries()]-h)}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=i.getAttachment();if(!l||!(l instanceof le)||l.timelineAttachment!=this.attachment)return;let o=i.deform;o.length==0&&(h=0);let c=this.vertices,d=c[0].length,f=this.frames;if(s<f[0]){switch(h){case 0:o.length=0;return;case 1:if(n==1){o.length=0;return}o.length=d;let g=l;if(g.bones){n=1-n;for(var u=0;u<d;u++)o[u]*=n}else{let x=g.vertices;for(var u=0;u<d;u++)o[u]+=(x[u]-o[u])*n}}return}if(o.length=d,s>=f[f.length-1]){let g=c[f.length-1];if(n==1)if(h==3){let x=l;if(x.bones)for(let v=0;v<d;v++)o[v]+=g[v];else{let v=x.vertices;for(let y=0;y<d;y++)o[y]+=g[y]-v[y]}}else B.arrayCopy(g,0,o,0,d);else switch(h){case 0:{let v=l;if(v.bones)for(let y=0;y<d;y++)o[y]=g[y]*n;else{let y=v.vertices;for(let C=0;C<d;C++){let S=y[C];o[C]=S+(g[C]-S)*n}}break}case 1:case 2:for(let v=0;v<d;v++)o[v]+=(g[v]-o[v])*n;break;case 3:let x=l;if(x.bones)for(let v=0;v<d;v++)o[v]+=g[v]*n;else{let v=x.vertices;for(let y=0;y<d;y++)o[y]+=(g[y]-v[y])*n}}return}let m=J.search1(f,s),p=this.getCurvePercent(s,m),w=c[m],b=c[m+1];if(n==1)if(h==3){let g=l;if(g.bones)for(let x=0;x<d;x++){let v=w[x];o[x]+=v+(b[x]-v)*p}else{let x=g.vertices;for(let v=0;v<d;v++){let y=w[v];o[v]+=y+(b[v]-y)*p-x[v]}}}else for(let g=0;g<d;g++){let x=w[g];o[g]=x+(b[g]-x)*p}else switch(h){case 0:{let x=l;if(x.bones)for(let v=0;v<d;v++){let y=w[v];o[v]=(y+(b[v]-y)*p)*n}else{let v=x.vertices;for(let y=0;y<d;y++){let C=w[y],S=v[y];o[y]=S+(C+(b[y]-C)*p-S)*n}}break}case 1:case 2:for(let x=0;x<d;x++){let v=w[x];o[x]+=(v+(b[x]-v)*p-o[x])*n}break;case 3:let g=l;if(g.bones)for(let x=0;x<d;x++){let v=w[x];o[x]+=(v+(b[x]-v)*p)*n}else{let x=g.vertices;for(let v=0;v<d;v++){let y=w[v];o[v]+=(y+(b[v]-y)*p-x[v])*n}}}}},Fs=class extends J{events;constructor(e){super(e,Fs.propertyIds),this.events=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t){this.frames[e]=t.time,this.events[e]=t}apply(e,t,s,r,n,h,a){if(!r)return;let i=this.frames,l=this.frames.length;if(t>s)this.apply(e,t,Number.MAX_VALUE,r,n,h,a),t=-1;else if(t>=i[l-1])return;if(s<i[0])return;let o=0;if(t<i[0])o=0;else{o=J.search1(i,t)+1;let c=i[o];for(;o>0&&i[o-1]==c;)o--}for(;o<l&&s>=i[o];o++)r.push(this.events[o])}},Le=Fs;R(Le,"propertyIds",[""+O.event]);var Xs=class extends J{drawOrders;constructor(e){super(e,Xs.propertyIds),this.drawOrders=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.drawOrders[e]=s}apply(e,t,s,r,n,h,a){if(a==1){h==0&&B.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}if(s<this.frames[0]){(h==0||h==1)&&B.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}let i=J.search1(this.frames,s),l=this.drawOrders[i];if(!l)B.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);else{let o=e.drawOrder,c=e.slots;for(let d=0,f=l.length;d<f;d++)o[d]=c[l[d]]}}},ke=Xs;R(ke,"propertyIds",[""+O.drawOrder]);var Pt=class extends he{constraintIndex=0;constructor(e,t,s){super(e,t,[O.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(e,t,s,r,n,h,a){e*=6,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h?1:0,this.frames[e+5]=a?1:0}apply(e,t,s,r,n,h,a){let i=e.ikConstraints[this.constraintIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.mix=i.data.mix,i.softness=i.data.softness,i.bendDirection=i.data.bendDirection,i.compress=i.data.compress,i.stretch=i.data.stretch;return;case 1:i.mix+=(i.data.mix-i.mix)*n,i.softness+=(i.data.softness-i.softness)*n,i.bendDirection=i.data.bendDirection,i.compress=i.data.compress,i.stretch=i.data.stretch}return}let o=0,c=0,d=J.search(l,s,6),f=this.curves[d/6];switch(f){case 0:let u=l[d];o=l[d+1],c=l[d+2];let m=(s-u)/(l[d+6]-u);o+=(l[d+6+1]-o)*m,c+=(l[d+6+2]-c)*m;break;case 1:o=l[d+1],c=l[d+2];break;default:o=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2)}h==0?(i.mix=i.data.mix+(o-i.data.mix)*n,i.softness=i.data.softness+(c-i.data.softness)*n,a==1?(i.bendDirection=i.data.bendDirection,i.compress=i.data.compress,i.stretch=i.data.stretch):(i.bendDirection=l[d+3],i.compress=l[d+4]!=0,i.stretch=l[d+5]!=0)):(i.mix+=(o-i.mix)*n,i.softness+=(c-i.softness)*n,a==0&&(i.bendDirection=l[d+3],i.compress=l[d+4]!=0,i.stretch=l[d+5]!=0))}},Bt=class extends he{constraintIndex=0;constructor(e,t,s){super(e,t,[O.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,r,n,h,a,i){let l=this.frames;e*=7,l[e]=t,l[e+1]=s,l[e+2]=r,l[e+3]=n,l[e+4]=h,l[e+5]=a,l[e+6]=i}apply(e,t,s,r,n,h,a){let i=e.transformConstraints[this.constraintIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){let b=i.data;switch(h){case 0:i.mixRotate=b.mixRotate,i.mixX=b.mixX,i.mixY=b.mixY,i.mixScaleX=b.mixScaleX,i.mixScaleY=b.mixScaleY,i.mixShearY=b.mixShearY;return;case 1:i.mixRotate+=(b.mixRotate-i.mixRotate)*n,i.mixX+=(b.mixX-i.mixX)*n,i.mixY+=(b.mixY-i.mixY)*n,i.mixScaleX+=(b.mixScaleX-i.mixScaleX)*n,i.mixScaleY+=(b.mixScaleY-i.mixScaleY)*n,i.mixShearY+=(b.mixShearY-i.mixShearY)*n}return}let o,c,d,f,u,m,p=J.search(l,s,7),w=this.curves[p/7];switch(w){case 0:let b=l[p];o=l[p+1],c=l[p+2],d=l[p+3],f=l[p+4],u=l[p+5],m=l[p+6];let g=(s-b)/(l[p+7]-b);o+=(l[p+7+1]-o)*g,c+=(l[p+7+2]-c)*g,d+=(l[p+7+3]-d)*g,f+=(l[p+7+4]-f)*g,u+=(l[p+7+5]-u)*g,m+=(l[p+7+6]-m)*g;break;case 1:o=l[p+1],c=l[p+2],d=l[p+3],f=l[p+4],u=l[p+5],m=l[p+6];break;default:o=this.getBezierValue(s,p,1,w-2),c=this.getBezierValue(s,p,2,w+18-2),d=this.getBezierValue(s,p,3,w+18*2-2),f=this.getBezierValue(s,p,4,w+18*3-2),u=this.getBezierValue(s,p,5,w+18*4-2),m=this.getBezierValue(s,p,6,w+18*5-2)}if(h==0){let b=i.data;i.mixRotate=b.mixRotate+(o-b.mixRotate)*n,i.mixX=b.mixX+(c-b.mixX)*n,i.mixY=b.mixY+(d-b.mixY)*n,i.mixScaleX=b.mixScaleX+(f-b.mixScaleX)*n,i.mixScaleY=b.mixScaleY+(u-b.mixScaleY)*n,i.mixShearY=b.mixShearY+(m-b.mixShearY)*n}else i.mixRotate+=(o-i.mixRotate)*n,i.mixX+=(c-i.mixX)*n,i.mixY+=(d-i.mixY)*n,i.mixScaleX+=(f-i.mixScaleX)*n,i.mixScaleY+=(u-i.mixScaleY)*n,i.mixShearY+=(m-i.mixShearY)*n}},Et=class extends ne{constraintIndex=0;constructor(e,t,s){super(e,t,O.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(e,t,s,r,n,h,a){let i=e.pathConstraints[this.constraintIndex];i.active&&(i.position=this.getAbsoluteValue(s,n,h,i.position,i.data.position))}},Rt=class extends ne{constraintIndex=0;constructor(e,t,s){super(e,t,O.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(e,t,s,r,n,h,a){let i=e.pathConstraints[this.constraintIndex];i.active&&(i.spacing=this.getAbsoluteValue(s,n,h,i.spacing,i.data.spacing))}},Dt=class extends he{constraintIndex=0;constructor(e,t,s){super(e,t,[O.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,r,n){let h=this.frames;e<<=2,h[e]=t,h[e+1]=s,h[e+2]=r,h[e+3]=n}apply(e,t,s,r,n,h,a){let i=e.pathConstraints[this.constraintIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.mixRotate=i.data.mixRotate,i.mixX=i.data.mixX,i.mixY=i.data.mixY;return;case 1:i.mixRotate+=(i.data.mixRotate-i.mixRotate)*n,i.mixX+=(i.data.mixX-i.mixX)*n,i.mixY+=(i.data.mixY-i.mixY)*n}return}let o,c,d,f=J.search(l,s,4),u=this.curves[f>>2];switch(u){case 0:let m=l[f];o=l[f+1],c=l[f+2],d=l[f+3];let p=(s-m)/(l[f+4]-m);o+=(l[f+4+1]-o)*p,c+=(l[f+4+2]-c)*p,d+=(l[f+4+3]-d)*p;break;case 1:o=l[f+1],c=l[f+2],d=l[f+3];break;default:o=this.getBezierValue(s,f,1,u-2),c=this.getBezierValue(s,f,2,u+18-2),d=this.getBezierValue(s,f,3,u+18*2-2)}if(h==0){let m=i.data;i.mixRotate=m.mixRotate+(o-m.mixRotate)*n,i.mixX=m.mixX+(c-m.mixX)*n,i.mixY=m.mixY+(d-m.mixY)*n}else i.mixRotate+=(o-i.mixRotate)*n,i.mixX+=(c-i.mixX)*n,i.mixY+=(d-i.mixY)*n}},pe=class extends ne{constraintIndex=0;constructor(e,t,s,r){super(e,t,r+"|"+s),this.constraintIndex=s}apply(e,t,s,r,n,h,a){let i;if(this.constraintIndex==-1){const l=s>=this.frames[0]?this.getCurveValue(s):0;for(const o of e.physicsConstraints)o.active&&this.global(o.data)&&this.set(o,this.getAbsoluteValue2(s,n,h,this.get(o),this.setup(o),l))}else i=e.physicsConstraints[this.constraintIndex],i.active&&this.set(i,this.getAbsoluteValue(s,n,h,this.get(i),this.setup(i)))}},Lt=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintInertia)}setup(e){return e.data.inertia}get(e){return e.inertia}set(e,t){e.inertia=t}global(e){return e.inertiaGlobal}},Vt=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintStrength)}setup(e){return e.data.strength}get(e){return e.strength}set(e,t){e.strength=t}global(e){return e.strengthGlobal}},_t=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintDamping)}setup(e){return e.data.damping}get(e){return e.damping}set(e,t){e.damping=t}global(e){return e.dampingGlobal}},Nt=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintMass)}setup(e){return 1/e.data.massInverse}get(e){return 1/e.massInverse}set(e,t){e.massInverse=1/t}global(e){return e.massGlobal}},Ot=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintWind)}setup(e){return e.data.wind}get(e){return e.wind}set(e,t){e.wind=t}global(e){return e.windGlobal}},Ut=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintGravity)}setup(e){return e.data.gravity}get(e){return e.gravity}set(e,t){e.gravity=t}global(e){return e.gravityGlobal}},qt=class extends pe{constructor(e,t,s){super(e,t,s,O.physicsConstraintMix)}setup(e){return e.data.mix}get(e){return e.mix}set(e,t){e.mix=t}global(e){return e.mixGlobal}},Ps=class extends J{constraintIndex;constructor(e,t){super(e,Ps.propertyIds),this.constraintIndex=t}getFrameCount(){return this.frames.length}setFrame(e,t){this.frames[e]=t}apply(e,t,s,r,n,h,a){let i;if(this.constraintIndex!=-1&&(i=e.physicsConstraints[this.constraintIndex],!i.active))return;const l=this.frames;if(t>s)this.apply(e,t,Number.MAX_VALUE,[],n,h,a),t=-1;else if(t>=l[l.length-1])return;if(!(s<l[0])&&(t<l[0]||s>=l[J.search1(l,t)+1]))if(i!=null)i.reset();else for(const o of e.physicsConstraints)o.active&&o.reset()}},je=Ps;R(je,"propertyIds",[O.physicsConstraintReset.toString()]);var xe=class extends J{slotIndex;attachment;constructor(e,t,s){super(e,[O.sequence+"|"+t+"|"+s.sequence.id]),this.slotIndex=t,this.attachment=s}getFrameEntries(){return xe.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(e,t,s,r,n){let h=this.frames;e*=xe.ENTRIES,h[e]=t,h[e+xe.MODE]=s|r<<4,h[e+xe.DELAY]=n}apply(e,t,s,r,n,h,a){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=i.attachment,o=this.attachment;if(l!=o&&(!(l instanceof le)||l.timelineAttachment!=o))return;if(a==1){h==0&&(i.sequenceIndex=-1);return}let c=this.frames;if(s<c[0]){(h==0||h==1)&&(i.sequenceIndex=-1);return}let d=J.search(c,s,xe.ENTRIES),f=c[d],u=c[d+xe.MODE],m=c[d+xe.DELAY];if(!this.attachment.sequence)return;let p=u>>4,w=this.attachment.sequence.regions.length,b=Is[u&15];if(b!=0)switch(p+=(s-f)/m+1e-5|0,b){case 1:p=Math.min(w-1,p);break;case 2:p%=w;break;case 3:{let g=(w<<1)-2;p=g==0?0:p%g,p>=w&&(p=g-p);break}case 4:p=Math.max(w-1-p,0);break;case 5:p=w-1-p%w;break;case 6:{let g=(w<<1)-2;p=g==0?0:(p+w-1)%g,p>=w&&(p=g-p)}}i.sequenceIndex=p}},Ye=xe;R(Ye,"ENTRIES",3),R(Ye,"MODE",1),R(Ye,"DELAY",2);var Je=class{static emptyAnimation(){return Je._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new Es(this);propertyIDs=new ut;animationsChanged=!1;trackEntryPool=new Me(()=>new Bs);constructor(e){this.data=e}update(e){e*=this.timeScale;let t=this.tracks;for(let s=0,r=t.length;s<r;s++){let n=t[s];if(!n)continue;n.animationLast=n.nextAnimationLast,n.trackLast=n.nextTrackLast;let h=e*n.timeScale;if(n.delay>0){if(n.delay-=h,n.delay>0)continue;h=-n.delay,n.delay=0}let a=n.next;if(a){let i=n.trackLast-a.delay;if(i>=0){for(a.delay=0,a.trackTime+=n.timeScale==0?0:(i/n.timeScale+e)*a.timeScale,n.trackTime+=h,this.setCurrent(s,a,!0);a.mixingFrom;)a.mixTime+=e,a=a.mixingFrom;continue}}else if(n.trackLast>=n.trackEnd&&!n.mixingFrom){t[s]=null,this.queue.end(n),this.clearNext(n);continue}if(n.mixingFrom&&this.updateMixingFrom(n,e)){let i=n.mixingFrom;for(n.mixingFrom=null,i&&(i.mixingTo=null);i;)this.queue.end(i),i=i.mixingFrom}n.trackTime+=h}this.queue.drain()}updateMixingFrom(e,t){let s=e.mixingFrom;if(!s)return!0;let r=this.updateMixingFrom(s,t);return s.animationLast=s.nextAnimationLast,s.trackLast=s.nextTrackLast,e.nextTrackLast!=-1&&e.mixTime>=e.mixDuration?((s.totalAlpha==0||e.mixDuration==0)&&(e.mixingFrom=s.mixingFrom,s.mixingFrom!=null&&(s.mixingFrom.mixingTo=e),e.interruptAlpha=s.interruptAlpha,this.queue.end(s)),r):(s.trackTime+=t*s.timeScale,e.mixTime+=t,!1)}apply(e){if(!e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let t=this.events,s=this.tracks,r=!1;for(let d=0,f=s.length;d<f;d++){let u=s[d];if(!u||u.delay>0)continue;r=!0;let m=d==0?1:u.mixBlend,p=u.alpha;u.mixingFrom?p*=this.applyMixingFrom(u,e,m):u.trackTime>=u.trackEnd&&!u.next&&(p=0);let w=p>=u.alphaAttachmentThreshold,b=u.animationLast,g=u.getAnimationTime(),x=g,v=t;u.reverse&&(x=u.animation.duration-x,v=null);let y=u.animation.timelines,C=y.length;if(d==0&&p==1||m==3){d==0&&(w=!0);for(let S=0;S<C;S++){B.webkit602BugfixHelper(p,m);var n=y[S];n instanceof Se?this.applyAttachmentTimeline(n,e,x,m,w):n.apply(e,b,x,v,p,m,0)}}else{let S=u.timelineMode,A=u.shortestRotation,M=!A&&u.timelinesRotation.length!=C<<1;M&&(u.timelinesRotation.length=C<<1);for(let T=0;T<C;T++){let X=y[T],F=S[T]==Qe?m:0;!A&&X instanceof De?this.applyRotateTimeline(X,e,x,p,F,u.timelinesRotation,T<<1,M):X instanceof Se?this.applyAttachmentTimeline(X,e,x,m,w):(B.webkit602BugfixHelper(p,m),X.apply(e,b,x,v,p,F,0))}}this.queueEvents(u,g),t.length=0,u.nextAnimationLast=g,u.nextTrackLast=u.trackTime}for(var h=this.unkeyedState+Gt,a=e.slots,i=0,l=e.slots.length;i<l;i++){var o=a[i];if(o.attachmentState==h){var c=o.data.attachmentName;o.setAttachment(c?e.getAttachment(o.data.index,c):null)}}return this.unkeyedState+=2,this.queue.drain(),r}applyMixingFrom(e,t,s){let r=e.mixingFrom;r.mixingFrom&&this.applyMixingFrom(r,t,s);let n=0;e.mixDuration==0?(n=1,s==1&&(s=0)):(n=e.mixTime/e.mixDuration,n>1&&(n=1),s!=1&&(s=r.mixBlend));let h=n<r.mixAttachmentThreshold,a=n<r.mixDrawOrderThreshold,i=r.animation.timelines,l=i.length,o=r.alpha*e.interruptAlpha,c=o*(1-n),d=r.animationLast,f=r.getAnimationTime(),u=f,m=null;if(r.reverse?u=r.animation.duration-u:n<r.eventThreshold&&(m=this.events),s==3)for(let p=0;p<l;p++)i[p].apply(t,d,u,m,c,s,1);else{let p=r.timelineMode,w=r.timelineHoldMix,b=r.shortestRotation,g=!b&&r.timelinesRotation.length!=l<<1;g&&(r.timelinesRotation.length=l<<1),r.totalAlpha=0;for(let x=0;x<l;x++){let v=i[x],y=1,C,S=0;switch(p[x]){case Qe:if(!a&&v instanceof ke)continue;C=s,S=c;break;case Wt:C=0,S=c;break;case zt:C=s,S=o;break;case Ze:C=0,S=o;break;default:C=0;let A=w[x];S=o*Math.max(0,1-A.mixTime/A.mixDuration);break}r.totalAlpha+=S,!b&&v instanceof De?this.applyRotateTimeline(v,t,u,S,C,r.timelinesRotation,x<<1,g):v instanceof Se?this.applyAttachmentTimeline(v,t,u,C,h&&S>=r.alphaAttachmentThreshold):(B.webkit602BugfixHelper(S,s),a&&v instanceof ke&&C==0&&(y=0),v.apply(t,d,u,m,S,C,y))}}return e.mixDuration>0&&this.queueEvents(r,f),this.events.length=0,r.nextAnimationLast=f,r.nextTrackLast=r.trackTime,n}applyAttachmentTimeline(e,t,s,r,n){var h=t.slots[e.slotIndex];h.bone.active&&(s<e.frames[0]?(r==0||r==1)&&this.setAttachment(t,h,h.data.attachmentName,n):this.setAttachment(t,h,e.attachmentNames[J.search1(e.frames,s)],n),h.attachmentState<=this.unkeyedState&&(h.attachmentState=this.unkeyedState+Gt))}setAttachment(e,t,s,r){t.setAttachment(s?e.getAttachment(t.data.index,s):null),r&&(t.attachmentState=this.unkeyedState+Ds)}applyRotateTimeline(e,t,s,r,n,h,a,i){if(i&&(h[a]=0),r==1){e.apply(t,0,s,null,1,n,0);return}let l=t.bones[e.boneIndex];if(!l.active)return;let o=e.frames,c=0,d=0;if(s<o[0])switch(n){case 0:l.rotation=l.data.rotation;default:return;case 1:c=l.rotation,d=l.data.rotation}else c=n==0?l.data.rotation:l.rotation,d=l.data.rotation+e.getCurveValue(s);let f=0,u=d-c;if(u-=Math.ceil(u/360-.5)*360,u==0)f=h[a];else{let m=0,p=0;i?(m=0,p=u):(m=h[a],p=h[a+1]);let w=m-m%360;f=u+w;let b=u>=0,g=m>=0;Math.abs(p)<=90&&P.signum(p)!=P.signum(u)&&(Math.abs(m-w)>180?(f+=360*P.signum(m),g=b):w!=0?f-=360*P.signum(m):g=b),g!=b&&(f+=360*P.signum(m)),h[a]=f}h[a+1]=u,l.rotation=c+f*r}queueEvents(e,t){let s=e.animationStart,r=e.animationEnd,n=r-s,h=e.trackLast%n,a=this.events,i=0,l=a.length;for(;i<l;i++){let c=a[i];if(c.time<h)break;c.time>r||this.queue.event(e,c)}let o=!1;if(e.loop)if(n==0)o=!0;else{const c=Math.floor(e.trackTime/n);o=c>0&&c>Math.floor(e.trackLast/n)}else o=t>=r&&e.animationLast<r;for(o&&this.queue.complete(e);i<l;i++){let c=a[i];c.time<s||this.queue.event(e,c)}}clearTracks(){let e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let t=0,s=this.tracks.length;t<s;t++)this.clearTrack(t);this.tracks.length=0,this.queue.drainDisabled=e,this.queue.drain()}clearTrack(e){if(e>=this.tracks.length)return;let t=this.tracks[e];if(!t)return;this.queue.end(t),this.clearNext(t);let s=t;for(;;){let r=s.mixingFrom;if(!r)break;this.queue.end(r),s.mixingFrom=null,s.mixingTo=null,s=r}this.tracks[t.trackIndex]=null,this.queue.drain()}setCurrent(e,t,s){let r=this.expandToIndex(e);this.tracks[e]=t,t.previous=null,r&&(s&&this.queue.interrupt(r),t.mixingFrom=r,r.mixingTo=t,t.mixTime=0,r.mixingFrom&&r.mixDuration>0&&(t.interruptAlpha*=Math.min(1,r.mixTime/r.mixDuration)),r.timelinesRotation.length=0),this.queue.start(t)}setAnimation(e,t,s=!1){let r=this.data.skeletonData.findAnimation(t);if(!r)throw new Error("Animation not found: "+t);return this.setAnimationWith(e,r,s)}setAnimationWith(e,t,s=!1){if(!t)throw new Error("animation cannot be null.");let r=!0,n=this.expandToIndex(e);n&&(n.nextTrackLast==-1?(this.tracks[e]=n.mixingFrom,this.queue.interrupt(n),this.queue.end(n),this.clearNext(n),n=n.mixingFrom,r=!1):this.clearNext(n));let h=this.trackEntry(e,t,s,n);return this.setCurrent(e,h,r),this.queue.drain(),h}addAnimation(e,t,s=!1,r=0){let n=this.data.skeletonData.findAnimation(t);if(!n)throw new Error("Animation not found: "+t);return this.addAnimationWith(e,n,s,r)}addAnimationWith(e,t,s=!1,r=0){if(!t)throw new Error("animation cannot be null.");let n=this.expandToIndex(e);if(n)for(;n.next;)n=n.next;let h=this.trackEntry(e,t,s,n);return n?(n.next=h,h.previous=n,r<=0&&(r+=n.getTrackComplete()-h.mixDuration)):(this.setCurrent(e,h,!0),this.queue.drain()),h.delay=r,h}setEmptyAnimation(e,t=0){let s=this.setAnimationWith(e,Je.emptyAnimation(),!1);return s.mixDuration=t,s.trackEnd=t,s}addEmptyAnimation(e,t=0,s=0){let r=this.addAnimationWith(e,Je.emptyAnimation(),!1,s);return s<=0&&(r.delay+=r.mixDuration-t),r.mixDuration=t,r.trackEnd=t,r}setEmptyAnimations(e=0){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let s=0,r=this.tracks.length;s<r;s++){let n=this.tracks[s];n&&this.setEmptyAnimation(n.trackIndex,e)}this.queue.drainDisabled=t,this.queue.drain()}expandToIndex(e){return e<this.tracks.length?this.tracks[e]:(B.ensureArrayCapacity(this.tracks,e+1,null),this.tracks.length=e+1,null)}trackEntry(e,t,s,r){let n=this.trackEntryPool.obtain();return n.reset(),n.trackIndex=e,n.animation=t,n.loop=s,n.holdPrevious=!1,n.reverse=!1,n.shortestRotation=!1,n.eventThreshold=0,n.alphaAttachmentThreshold=0,n.mixAttachmentThreshold=0,n.mixDrawOrderThreshold=0,n.animationStart=0,n.animationEnd=t.duration,n.animationLast=-1,n.nextAnimationLast=-1,n.delay=0,n.trackTime=0,n.trackLast=-1,n.nextTrackLast=-1,n.trackEnd=Number.MAX_VALUE,n.timeScale=1,n.alpha=1,n.mixTime=0,n.mixDuration=r?this.data.getMix(r.animation,t):0,n.interruptAlpha=1,n.totalAlpha=0,n.mixBlend=2,n}clearNext(e){let t=e.next;for(;t;)this.queue.dispose(t),t=t.next;e.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let e=this.tracks;for(let t=0,s=e.length;t<s;t++){let r=e[t];if(r){for(;r.mixingFrom;)r=r.mixingFrom;do(!r.mixingTo||r.mixBlend!=3)&&this.computeHold(r),r=r.mixingTo;while(r)}}}computeHold(e){let t=e.mixingTo,s=e.animation.timelines,r=e.animation.timelines.length,n=e.timelineMode;n.length=r;let h=e.timelineHoldMix;h.length=0;let a=this.propertyIDs;if(t&&t.holdPrevious){for(let i=0;i<r;i++)n[i]=a.addAll(s[i].getPropertyIds())?Ze:zt;return}e:for(let i=0;i<r;i++){let l=s[i],o=l.getPropertyIds();if(!a.addAll(o))n[i]=Qe;else if(!t||l instanceof Se||l instanceof ke||l instanceof Le||!t.animation.hasTimeline(o))n[i]=Wt;else{for(let c=t.mixingTo;c;c=c.mixingTo)if(!c.animation.hasTimeline(o)){if(e.mixDuration>0){n[i]=Rs,h[i]=c;continue e}break}n[i]=Ze}}}getCurrent(e){return e>=this.tracks.length?null:this.tracks[e]}addListener(e){if(!e)throw new Error("listener cannot be null.");this.listeners.push(e)}removeListener(e){let t=this.listeners.indexOf(e);t>=0&&this.listeners.splice(t,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},Ke=Je;R(Ke,"_emptyAnimation",new He("<empty>",[],0));var Bs=class{animation=null;previous=null;next=null;mixingFrom=null;mixingTo=null;listener=null;trackIndex=0;loop=!1;holdPrevious=!1;reverse=!1;shortestRotation=!1;eventThreshold=0;mixAttachmentThreshold=0;alphaAttachmentThreshold=0;mixDrawOrderThreshold=0;animationStart=0;animationEnd=0;animationLast=0;nextAnimationLast=0;delay=0;trackTime=0;trackLast=0;nextTrackLast=0;trackEnd=0;timeScale=0;alpha=0;mixTime=0;_mixDuration=0;interruptAlpha=0;totalAlpha=0;get mixDuration(){return this._mixDuration}set mixDuration(e){this._mixDuration=e}setMixDurationWithDelay(e,t){this._mixDuration=e,this.previous!=null&&t<=0&&(t+=this.previous.getTrackComplete()-e),this.delay=t}mixBlend=2;timelineMode=new Array;timelineHoldMix=new Array;timelinesRotation=new Array;reset(){this.next=null,this.previous=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}getAnimationTime(){if(this.loop){let e=this.animationEnd-this.animationStart;return e==0?this.animationStart:this.trackTime%e+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(e){this.animationLast=e,this.nextAnimationLast=e}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let e=this.animationEnd-this.animationStart;if(e!=0){if(this.loop)return e*(1+(this.trackTime/e|0));if(this.trackTime<e)return e}return this.trackTime}wasApplied(){return this.nextTrackLast!=-1}isNextReady(){return this.next!=null&&this.nextTrackLast-this.next.delay>=0}},Es=class{objects=[];drainDisabled=!1;animState;constructor(e){this.animState=e}start(e){this.objects.push(se.start),this.objects.push(e),this.animState.animationsChanged=!0}interrupt(e){this.objects.push(se.interrupt),this.objects.push(e)}end(e){this.objects.push(se.end),this.objects.push(e),this.animState.animationsChanged=!0}dispose(e){this.objects.push(se.dispose),this.objects.push(e)}complete(e){this.objects.push(se.complete),this.objects.push(e)}event(e,t){this.objects.push(se.event),this.objects.push(e),this.objects.push(t)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let e=this.objects,t=this.animState.listeners;for(let s=0;s<e.length;s+=2){let r=e[s],n=e[s+1];switch(r){case se.start:n.listener&&n.listener.start&&n.listener.start(n);for(let a=0;a<t.length;a++){let i=t[a];i.start&&i.start(n)}break;case se.interrupt:n.listener&&n.listener.interrupt&&n.listener.interrupt(n);for(let a=0;a<t.length;a++){let i=t[a];i.interrupt&&i.interrupt(n)}break;case se.end:n.listener&&n.listener.end&&n.listener.end(n);for(let a=0;a<t.length;a++){let i=t[a];i.end&&i.end(n)}case se.dispose:n.listener&&n.listener.dispose&&n.listener.dispose(n);for(let a=0;a<t.length;a++){let i=t[a];i.dispose&&i.dispose(n)}this.animState.trackEntryPool.free(n);break;case se.complete:n.listener&&n.listener.complete&&n.listener.complete(n);for(let a=0;a<t.length;a++){let i=t[a];i.complete&&i.complete(n)}break;case se.event:let h=e[s+++2];n.listener&&n.listener.event&&n.listener.event(n,h);for(let a=0;a<t.length;a++){let i=t[a];i.event&&i.event(n,h)}break}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}},se=(e=>(e[e.start=0]="start",e[e.interrupt=1]="interrupt",e[e.end=2]="end",e[e.dispose=3]="dispose",e[e.complete=4]="complete",e[e.event=5]="event",e))(se||{}),br=class{start(e){}interrupt(e){}end(e){}dispose(e){}complete(e){}event(e,t){}},Qe=0,Wt=1,zt=2,Ze=3,Rs=4,Gt=1,Ds=2,Ls=class{skeletonData;animationToMixTime={};defaultMix=0;constructor(e){if(!e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}setMix(e,t,s){let r=this.skeletonData.findAnimation(e);if(!r)throw new Error("Animation not found: "+e);let n=this.skeletonData.findAnimation(t);if(!n)throw new Error("Animation not found: "+t);this.setMixWith(r,n,s)}setMixWith(e,t,s){if(!e)throw new Error("from cannot be null.");if(!t)throw new Error("to cannot be null.");let r=e.name+"."+t.name;this.animationToMixTime[r]=s}getMix(e,t){let s=e.name+"."+t.name,r=this.animationToMixTime[s];return r===void 0?this.defaultMix:r}},et=class extends le{color=new V(1,1,1,1);constructor(e){super(e)}copy(){let e=new et(this.name);return this.copyTo(e),e.color.setFromColor(this.color),e}},be=class extends le{endSlot=null;color=new V(.2275,.2275,.8078,1);constructor(e){super(e)}copy(){le