UNPKG

@esotericsoftware/spine-webgl

Version:
1 lines 220 kB
"use strict";var qi=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}},Ee=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,i=e.length;s<i;s++)this.add(e[s]);return t!=this.size}contains(e){return this.entries[e]}clear(){this.entries={},this.size=0}},et=class Nt{constructor(t=0,s=0,i=0,r=0){this.r=t,this.g=s,this.b=i,this.a=r}static WHITE=new Nt(1,1,1,1);static RED=new Nt(1,0,0,1);static GREEN=new Nt(0,1,0,1);static BLUE=new Nt(0,0,1,1);static MAGENTA=new Nt(1,0,1,1);set(t,s,i,r){return this.r=t,this.g=s,this.b=i,this.a=r,this.clamp()}setFromColor(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}setFromString(t){return t=t.charAt(0)=="#"?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=t.length!=8?1:parseInt(t.substr(6,2),16)/255,this}add(t,s,i,r){return this.r+=t,this.g+=s,this.b+=i,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(t,s){t.r=((s&4278190080)>>>24)/255,t.g=((s&16711680)>>>16)/255,t.b=((s&65280)>>>8)/255,t.a=(s&255)/255}static rgb888ToColor(t,s){t.r=((s&16711680)>>>16)/255,t.g=((s&65280)>>>8)/255,t.b=(s&255)/255}toRgb888(){const t=s=>("0"+(s*255).toString(16)).slice(-2);return+("0x"+t(this.r)+t(this.g)+t(this.b))}static fromString(t,s=new Nt){return s.setFromString(t)}},L=class Et{static PI=3.1415927;static PI2=Et.PI*2;static invPI2=1/Et.PI2;static radiansToDegrees=180/Et.PI;static radDeg=Et.radiansToDegrees;static degreesToRadians=Et.PI/180;static degRad=Et.degreesToRadians;static clamp(t,s,i){return t<s?s:t>i?i:t}static cosDeg(t){return Math.cos(t*Et.degRad)}static sinDeg(t){return Math.sin(t*Et.degRad)}static atan2Deg(t,s){return Math.atan2(t,s)*Et.degRad}static signum(t){return t>0?1:t<0?-1:0}static toInt(t){return t>0?Math.floor(t):Math.ceil(t)}static cbrt(t){let s=Math.pow(Math.abs(t),.3333333333333333);return t<0?-s:s}static randomTriangular(t,s){return Et.randomTriangularWith(t,s,(t+s)*.5)}static randomTriangularWith(t,s,i){let r=Math.random(),h=s-t;return r<=(i-t)/h?t+Math.sqrt(r*h*(i-t)):s-Math.sqrt((1-r)*h*(s-i))}static isPowerOfTwo(t){return t&&(t&t-1)===0}},Hs=class{apply(e,t,s){return e+(t-e)*this.applyInternal(s)}},_s=class extends Hs{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}},Gi=class extends _s{constructor(e){super(e)}applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}},P=class Kt{static SUPPORTS_TYPED_ARRAYS=typeof Float32Array<"u";static arrayCopy(t,s,i,r,h){for(let l=s,n=r;l<s+h;l++,n++)i[n]=t[l]}static arrayFill(t,s,i,r){for(let h=s;h<i;h++)t[h]=r}static setArraySize(t,s,i=0){let r=t.length;if(r==s)return t;if(t.length=s,r<s)for(let h=r;h<s;h++)t[h]=i;return t}static ensureArrayCapacity(t,s,i=0){return t.length>=s?t:Kt.setArraySize(t,s,i)}static newArray(t,s){let i=new Array(t);for(let r=0;r<t;r++)i[r]=s;return i}static newFloatArray(t){if(Kt.SUPPORTS_TYPED_ARRAYS)return new Float32Array(t);{let s=new Array(t);for(let i=0;i<s.length;i++)s[i]=0;return s}}static newShortArray(t){if(Kt.SUPPORTS_TYPED_ARRAYS)return new Int16Array(t);{let s=new Array(t);for(let i=0;i<s.length;i++)s[i]=0;return s}}static toFloatArray(t){return Kt.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return Kt.SUPPORTS_TYPED_ARRAYS?Math.fround(t):t}static webkit602BugfixHelper(t,s){}static contains(t,s,i=!0){for(var r=0;r<t.length;r++)if(t[r]==s)return!0;return!1}static enumValue(t,s){return t[s[0].toUpperCase()+s.slice(1)]}},Hi=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)}}},$t=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}},Vt=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}},Ye=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)}},_i=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}},Re=class{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}},Rt=class Li extends Re{static nextID=0;id=Li.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(t){super(t)}computeWorldVertices(t,s,i,r,h,l){i=h+(i>>1)*l;let n=t.bone.skeleton,a=t.deform,o=this.vertices,c=this.bones;if(!c){a.length>0&&(o=a);let u=t.bone,g=u.worldX,w=u.worldY,b=u.a,x=u.b,p=u.c,v=u.d;for(let y=s,A=h;A<i;y+=2,A+=l){let C=o[y],S=o[y+1];r[A]=C*b+S*x+g,r[A+1]=C*p+S*v+w}return}let d=0,f=0;for(let u=0;u<s;u+=2){let g=c[d];d+=g+1,f+=g}let m=n.bones;if(a.length==0)for(let u=h,g=f*3;u<i;u+=l){let w=0,b=0,x=c[d++];for(x+=d;d<x;d++,g+=3){let p=m[c[d]],v=o[g],y=o[g+1],A=o[g+2];w+=(v*p.a+y*p.b+p.worldX)*A,b+=(v*p.c+y*p.d+p.worldY)*A}r[u]=w,r[u+1]=b}else{let u=a;for(let g=h,w=f*3,b=f<<1;g<i;g+=l){let x=0,p=0,v=c[d++];for(v+=d;d<v;d++,w+=3,b+=2){let y=m[c[d]],A=o[w]+u[b],C=o[w+1]+u[b+1],S=o[w+2];x+=(A*y.a+C*y.b+y.worldX)*S,p+=(A*y.c+C*y.d+y.worldY)*S}r[g]=x,r[g+1]=p}}}copyTo(t){this.bones?(t.bones=new Array(this.bones.length),P.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,this.vertices&&(t.vertices=P.newFloatArray(this.vertices.length),P.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)),t.worldVerticesLength=this.worldVerticesLength,t.timelineAttachment=this.timelineAttachment}},js=class Ae{static _nextID=0;id=Ae.nextID();regions;start=0;digits=0;setupIndex=0;constructor(t){this.regions=new Array(t)}copy(){let t=new Ae(this.regions.length);return P.arrayCopy(this.regions,0,t.regions,0,this.regions.length),t.start=this.start,t.digits=this.digits,t.setupIndex=this.setupIndex,t}apply(t,s){let i=t.sequenceIndex;i==-1&&(i=this.setupIndex),i>=this.regions.length&&(i=this.regions.length-1);let r=this.regions[i];s.region!=r&&(s.region=r,s.updateRegion())}getPath(t,s){let i=t,r=(this.start+s).toString();for(let h=this.digits-r.length;h>0;h--)i+="0";return i+=r,i}static nextID(){return Ae._nextID++}},Zs=(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))(Zs||{}),Ks=[0,1,2,3,4,5,6],oe=class{name;timelines=[];timelineIds=new Ee;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,i,r,h,l,n){if(!e)throw new Error("skeleton cannot be null.");i&&this.duration!=0&&(s%=this.duration,t>0&&(t%=this.duration));let a=this.timelines;for(let o=0,c=a.length;o<c;o++)a[o].apply(e,t,s,r,h,l,n)}},Js=(e=>(e[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",e))(Js||{}),Qs=(e=>(e[e.mixIn=0]="mixIn",e[e.mixOut=1]="mixOut",e))(Qs||{}),rt={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},ft=class{propertyIds;frames;constructor(e,t){this.propertyIds=t,this.frames=P.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 i=1;i<s;i++)if(e[i]>t)return i-1;return s-1}static search(e,t,s){let i=e.length;for(let r=s;r<i;r+=s)if(e[r]>t)return r-s;return i-s}},St=class extends ft{curves;constructor(e,t,s){super(e,s),this.curves=P.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=P.newFloatArray(t);P.arrayCopy(this.curves,0,s,0,t),this.curves=s}}setBezier(e,t,s,i,r,h,l,n,a,o,c){let d=this.curves,f=this.getFrameCount()+e*18;s==0&&(d[t]=2+f);let m=(i-h*2+n)*.03,u=(r-l*2+a)*.03,g=((h-n)*3-i+o)*.006,w=((l-a)*3-r+c)*.006,b=m*2+g,x=u*2+w,p=(h-i)*.3+m+g*.16666667,v=(l-r)*.3+u+w*.16666667,y=i+p,A=r+v;for(let C=f+18;f<C;f+=2)d[f]=y,d[f+1]=A,p+=b,v+=x,b+=g,x+=w,y+=p,A+=v}getBezierValue(e,t,s,i){let r=this.curves;if(r[i]>e){let a=this.frames[t],o=this.frames[t+s];return o+(e-a)/(r[i]-a)*(r[i+1]-o)}let h=i+18;for(i+=2;i<h;i+=2)if(r[i]>=e){let a=r[i-2],o=r[i-1];return o+(e-a)/(r[i]-a)*(r[i+1]-o)}t+=this.getFrameEntries();let l=r[h-2],n=r[h-1];return n+(e-l)/(this.frames[t]-l)*(this.frames[t+s]-n)}},yt=class extends St{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 r=2;r<=s;r+=2)if(t[r]>e){s=r-2;break}let i=this.curves[s>>1];switch(i){case 0:let r=t[s],h=t[s+1];return h+(e-r)/(t[s+2]-r)*(t[s+2+1]-h);case 1:return t[s+1]}return this.getBezierValue(e,s,1,i-2)}getRelativeValue(e,t,s,i,r){if(e<this.frames[0]){switch(s){case 0:return r;case 1:return i+(r-i)*t}return i}let h=this.getCurveValue(e);switch(s){case 0:return r+h*t;case 1:case 2:h+=r-i}return i+h*t}getAbsoluteValue(e,t,s,i,r){if(e<this.frames[0]){switch(s){case 0:return r;case 1:return i+(r-i)*t}return i}let h=this.getCurveValue(e);return s==0?r+(h-r)*t:i+(h-i)*t}getAbsoluteValue2(e,t,s,i,r,h){if(e<this.frames[0]){switch(s){case 0:return r;case 1:return i+(r-i)*t}return i}return s==0?r+(h-r)*t:i+(h-i)*t}getScaleValue(e,t,s,i,r,h){const l=this.frames;if(e<l[0]){switch(s){case 0:return h;case 1:return r+(h-r)*t}return r}let n=this.getCurveValue(e)*h;if(t==1)return s==3?r+n-h:n;if(i==1)switch(s){case 0:return h+(Math.abs(n)*L.signum(h)-h)*t;case 1:case 2:return r+(Math.abs(n)*L.signum(r)-r)*t}else{let a=0;switch(s){case 0:return a=Math.abs(h)*L.signum(n),a+(n-a)*t;case 1:case 2:return a=Math.abs(r)*L.signum(n),a+(n-a)*t}}return r+(n-h)*t}},he=class extends St{constructor(e,t,s,i){super(e,t,[s,i])}getFrameEntries(){return 3}setFrame(e,t,s,i){e*=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i}},te=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.rotate+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.rotation=this.getRelativeValue(s,r,h,n.rotation,n.data.rotation))}},ke=class extends he{boneIndex=0;constructor(e,t,s){super(e,t,rt.x+"|"+s,rt.y+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(h){case 0:n.x=n.data.x,n.y=n.data.y;return;case 1:n.x+=(n.data.x-n.x)*r,n.y+=(n.data.y-n.y)*r}return}let o=0,c=0,d=ft.search(a,s,3),f=this.curves[d/3];switch(f){case 0:let m=a[d];o=a[d+1],c=a[d+2];let u=(s-m)/(a[d+3]-m);o+=(a[d+3+1]-o)*u,c+=(a[d+3+2]-c)*u;break;case 1:o=a[d+1],c=a[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:n.x=n.data.x+o*r,n.y=n.data.y+c*r;break;case 1:case 2:n.x+=(n.data.x+o-n.x)*r,n.y+=(n.data.y+c-n.y)*r;break;case 3:n.x+=o*r,n.y+=c*r}}},Fe=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.x+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.x=this.getRelativeValue(s,r,h,n.x,n.data.x))}},Xe=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.y+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.y=this.getRelativeValue(s,r,h,n.y,n.data.y))}},Le=class extends he{boneIndex=0;constructor(e,t,s){super(e,t,rt.scaleX+"|"+s,rt.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(h){case 0:n.scaleX=n.data.scaleX,n.scaleY=n.data.scaleY;return;case 1:n.scaleX+=(n.data.scaleX-n.scaleX)*r,n.scaleY+=(n.data.scaleY-n.scaleY)*r}return}let o,c,d=ft.search(a,s,3),f=this.curves[d/3];switch(f){case 0:let m=a[d];o=a[d+1],c=a[d+2];let u=(s-m)/(a[d+3]-m);o+=(a[d+3+1]-o)*u,c+=(a[d+3+2]-c)*u;break;case 1:o=a[d+1],c=a[d+2];break;default:o=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2)}if(o*=n.data.scaleX,c*=n.data.scaleY,r==1)h==3?(n.scaleX+=o-n.data.scaleX,n.scaleY+=c-n.data.scaleY):(n.scaleX=o,n.scaleY=c);else{let m=0,u=0;if(l==1)switch(h){case 0:m=n.data.scaleX,u=n.data.scaleY,n.scaleX=m+(Math.abs(o)*L.signum(m)-m)*r,n.scaleY=u+(Math.abs(c)*L.signum(u)-u)*r;break;case 1:case 2:m=n.scaleX,u=n.scaleY,n.scaleX=m+(Math.abs(o)*L.signum(m)-m)*r,n.scaleY=u+(Math.abs(c)*L.signum(u)-u)*r;break;case 3:n.scaleX+=(o-n.data.scaleX)*r,n.scaleY+=(c-n.data.scaleY)*r}else switch(h){case 0:m=Math.abs(n.data.scaleX)*L.signum(o),u=Math.abs(n.data.scaleY)*L.signum(c),n.scaleX=m+(o-m)*r,n.scaleY=u+(c-u)*r;break;case 1:case 2:m=Math.abs(n.scaleX)*L.signum(o),u=Math.abs(n.scaleY)*L.signum(c),n.scaleX=m+(o-m)*r,n.scaleY=u+(c-u)*r;break;case 3:n.scaleX+=(o-n.data.scaleX)*r,n.scaleY+=(c-n.data.scaleY)*r}}}},Pe=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.scaleX+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.scaleX=this.getScaleValue(s,r,h,l,n.scaleX,n.data.scaleX))}},Be=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.scaleY=this.getScaleValue(s,r,h,l,n.scaleY,n.data.scaleY))}},Ve=class extends he{boneIndex=0;constructor(e,t,s){super(e,t,rt.shearX+"|"+s,rt.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(h){case 0:n.shearX=n.data.shearX,n.shearY=n.data.shearY;return;case 1:n.shearX+=(n.data.shearX-n.shearX)*r,n.shearY+=(n.data.shearY-n.shearY)*r}return}let o=0,c=0,d=ft.search(a,s,3),f=this.curves[d/3];switch(f){case 0:let m=a[d];o=a[d+1],c=a[d+2];let u=(s-m)/(a[d+3]-m);o+=(a[d+3+1]-o)*u,c+=(a[d+3+2]-c)*u;break;case 1:o=a[d+1],c=a[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:n.shearX=n.data.shearX+o*r,n.shearY=n.data.shearY+c*r;break;case 1:case 2:n.shearX+=(n.data.shearX+o-n.shearX)*r,n.shearY+=(n.data.shearY+c-n.shearY)*r;break;case 3:n.shearX+=o*r,n.shearY+=c*r}}},Oe=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.shearX+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.shearX=this.getRelativeValue(s,r,h,n.shearX,n.data.shearX))}},De=class extends yt{boneIndex=0;constructor(e,t,s){super(e,t,rt.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,h,l){let n=e.bones[this.boneIndex];n.active&&(n.shearY=this.getRelativeValue(s,r,h,n.shearY,n.data.shearY))}},Ne=class extends ft{boneIndex=0;constructor(e,t){super(e,[rt.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,i,r,h,l){let n=e.bones[this.boneIndex];if(!n.active)return;if(l==1){h==0&&(n.inherit=n.data.inherit);return}let a=this.frames;if(s<a[0]){(h==0||h==1)&&(n.inherit=n.data.inherit);return}n.inherit=this.frames[ft.search(a,s,2)+1]}},Ue=class extends St{slotIndex=0;constructor(e,t,s){super(e,t,[rt.rgb+"|"+s,rt.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(e,t,s,i,r,h){e*=5,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=h}apply(e,t,s,i,r,h,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,o=n.color;if(s<a[0]){let w=n.data.color;switch(h){case 0:o.setFromColor(w);return;case 1:o.add((w.r-o.r)*r,(w.g-o.g)*r,(w.b-o.b)*r,(w.a-o.a)*r)}return}let c=0,d=0,f=0,m=0,u=ft.search(a,s,5),g=this.curves[u/5];switch(g){case 0:let w=a[u];c=a[u+1],d=a[u+2],f=a[u+3],m=a[u+4];let b=(s-w)/(a[u+5]-w);c+=(a[u+5+1]-c)*b,d+=(a[u+5+2]-d)*b,f+=(a[u+5+3]-f)*b,m+=(a[u+5+4]-m)*b;break;case 1:c=a[u+1],d=a[u+2],f=a[u+3],m=a[u+4];break;default:c=this.getBezierValue(s,u,1,g-2),d=this.getBezierValue(s,u,2,g+18-2),f=this.getBezierValue(s,u,3,g+18*2-2),m=this.getBezierValue(s,u,4,g+18*3-2)}r==1?o.set(c,d,f,m):(h==0&&o.setFromColor(n.data.color),o.add((c-o.r)*r,(d-o.g)*r,(f-o.b)*r,(m-o.a)*r))}},ze=class extends St{slotIndex=0;constructor(e,t,s){super(e,t,[rt.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,i,r){e<<=2,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r}apply(e,t,s,i,r,h,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,o=n.color;if(s<a[0]){let g=n.data.color;switch(h){case 0:o.r=g.r,o.g=g.g,o.b=g.b;return;case 1:o.r+=(g.r-o.r)*r,o.g+=(g.g-o.g)*r,o.b+=(g.b-o.b)*r}return}let c=0,d=0,f=0,m=ft.search(a,s,4),u=this.curves[m>>2];switch(u){case 0:let g=a[m];c=a[m+1],d=a[m+2],f=a[m+3];let w=(s-g)/(a[m+4]-g);c+=(a[m+4+1]-c)*w,d+=(a[m+4+2]-d)*w,f+=(a[m+4+3]-f)*w;break;case 1:c=a[m+1],d=a[m+2],f=a[m+3];break;default:c=this.getBezierValue(s,m,1,u-2),d=this.getBezierValue(s,m,2,u+18-2),f=this.getBezierValue(s,m,3,u+18*2-2)}if(r==1)o.r=c,o.g=d,o.b=f;else{if(h==0){let g=n.data.color;o.r=g.r,o.g=g.g,o.b=g.b}o.r+=(c-o.r)*r,o.g+=(d-o.g)*r,o.b+=(f-o.b)*r}}},We=class extends yt{slotIndex=0;constructor(e,t,s){super(e,t,rt.alpha+"|"+s),this.slotIndex=s}apply(e,t,s,i,r,h,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=n.color;if(s<this.frames[0]){let c=n.data.color;switch(h){case 0:a.a=c.a;return;case 1:a.a+=(c.a-a.a)*r}return}let o=this.getCurveValue(s);r==1?a.a=o:(h==0&&(a.a=n.data.color.a),a.a+=(o-a.a)*r)}},qe=class extends St{slotIndex=0;constructor(e,t,s){super(e,t,[rt.rgb+"|"+s,rt.alpha+"|"+s,rt.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(e,t,s,i,r,h,l,n,a){e<<=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=h,this.frames[e+5]=l,this.frames[e+6]=n,this.frames[e+7]=a}apply(e,t,s,i,r,h,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,o=n.color,c=n.darkColor;if(s<a[0]){let v=n.data.color,y=n.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)*r,(v.g-o.g)*r,(v.b-o.b)*r,(v.a-o.a)*r),c.r+=(y.r-c.r)*r,c.g+=(y.g-c.g)*r,c.b+=(y.b-c.b)*r}return}let d=0,f=0,m=0,u=0,g=0,w=0,b=0,x=ft.search(a,s,8),p=this.curves[x>>3];switch(p){case 0:let v=a[x];d=a[x+1],f=a[x+2],m=a[x+3],u=a[x+4],g=a[x+5],w=a[x+6],b=a[x+7];let y=(s-v)/(a[x+8]-v);d+=(a[x+8+1]-d)*y,f+=(a[x+8+2]-f)*y,m+=(a[x+8+3]-m)*y,u+=(a[x+8+4]-u)*y,g+=(a[x+8+5]-g)*y,w+=(a[x+8+6]-w)*y,b+=(a[x+8+7]-b)*y;break;case 1:d=a[x+1],f=a[x+2],m=a[x+3],u=a[x+4],g=a[x+5],w=a[x+6],b=a[x+7];break;default:d=this.getBezierValue(s,x,1,p-2),f=this.getBezierValue(s,x,2,p+18-2),m=this.getBezierValue(s,x,3,p+18*2-2),u=this.getBezierValue(s,x,4,p+18*3-2),g=this.getBezierValue(s,x,5,p+18*4-2),w=this.getBezierValue(s,x,6,p+18*5-2),b=this.getBezierValue(s,x,7,p+18*6-2)}if(r==1)o.set(d,f,m,u),c.r=g,c.g=w,c.b=b;else{if(h==0){o.setFromColor(n.data.color);let v=n.data.darkColor;c.r=v.r,c.g=v.g,c.b=v.b}o.add((d-o.r)*r,(f-o.g)*r,(m-o.b)*r,(u-o.a)*r),c.r+=(g-c.r)*r,c.g+=(w-c.g)*r,c.b+=(b-c.b)*r}}},Ge=class extends St{slotIndex=0;constructor(e,t,s){super(e,t,[rt.rgb+"|"+s,rt.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,i,r,h,l,n){e*=7,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=h,this.frames[e+5]=l,this.frames[e+6]=n}apply(e,t,s,i,r,h,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,o=n.color,c=n.darkColor;if(s<a[0]){let v=n.data.color,y=n.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)*r,o.g+=(v.g-o.g)*r,o.b+=(v.b-o.b)*r,c.r+=(y.r-c.r)*r,c.g+=(y.g-c.g)*r,c.b+=(y.b-c.b)*r}return}let d=0,f=0,m=0,u=0,g=0,w=0,b=0,x=ft.search(a,s,7),p=this.curves[x/7];switch(p){case 0:let v=a[x];d=a[x+1],f=a[x+2],m=a[x+3],g=a[x+4],w=a[x+5],b=a[x+6];let y=(s-v)/(a[x+7]-v);d+=(a[x+7+1]-d)*y,f+=(a[x+7+2]-f)*y,m+=(a[x+7+3]-m)*y,g+=(a[x+7+4]-g)*y,w+=(a[x+7+5]-w)*y,b+=(a[x+7+6]-b)*y;break;case 1:d=a[x+1],f=a[x+2],m=a[x+3],g=a[x+4],w=a[x+5],b=a[x+6];break;default:d=this.getBezierValue(s,x,1,p-2),f=this.getBezierValue(s,x,2,p+18-2),m=this.getBezierValue(s,x,3,p+18*2-2),g=this.getBezierValue(s,x,4,p+18*3-2),w=this.getBezierValue(s,x,5,p+18*4-2),b=this.getBezierValue(s,x,6,p+18*5-2)}if(r==1)o.r=d,o.g=f,o.b=m,c.r=g,c.g=w,c.b=b;else{if(h==0){let v=n.data.color,y=n.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)*r,o.g+=(f-o.g)*r,o.b+=(m-o.b)*r,c.r+=(g-c.r)*r,c.g+=(w-c.g)*r,c.b+=(b-c.b)*r}}},Ot=class extends ft{slotIndex=0;attachmentNames;constructor(e,t){super(e,[rt.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,i,r,h,l){let n=e.slots[this.slotIndex];if(n.bone.active){if(l==1){h==0&&this.setAttachment(e,n,n.data.attachmentName);return}if(s<this.frames[0]){(h==0||h==1)&&this.setAttachment(e,n,n.data.attachmentName);return}this.setAttachment(e,n,this.attachmentNames[ft.search1(this.frames,s)])}}setAttachment(e,t,s){t.setAttachment(s?e.getAttachment(this.slotIndex,s):null)}},He=class extends St{slotIndex=0;attachment;vertices;constructor(e,t,s,i){super(e,t,[rt.deform+"|"+s+"|"+i.id]),this.slotIndex=s,this.attachment=i,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,i,r,h,l,n,a,o,c){let d=this.curves,f=this.getFrameCount()+e*18;s==0&&(d[t]=2+f);let m=(i-h*2+n)*.03,u=a*.03-l*.06,g=((h-n)*3-i+o)*.006,w=(l-a+.33333333)*.018,b=m*2+g,x=u*2+w,p=(h-i)*.3+m+g*.16666667,v=l*.3+u+w*.16666667,y=i+p,A=v;for(let C=f+18;f<C;f+=2)d[f]=y,d[f+1]=A,p+=b,v+=x,b+=g,x+=w,y+=p,A+=v}getCurvePercent(e,t){let s=this.curves,i=s[t];switch(i){case 0:let n=this.frames[t];return(e-n)/(this.frames[t+this.getFrameEntries()]-n);case 1:return 0}if(i-=2,s[i]>e){let n=this.frames[t];return s[i+1]*(e-n)/(s[i]-n)}let r=i+18;for(i+=2;i<r;i+=2)if(s[i]>=e){let n=s[i-2],a=s[i-1];return a+(e-n)/(s[i]-n)*(s[i+1]-a)}let h=s[r-2],l=s[r-1];return l+(1-l)*(e-h)/(this.frames[t+this.getFrameEntries()]-h)}apply(e,t,s,i,r,h,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=n.getAttachment();if(!a||!(a instanceof Rt)||a.timelineAttachment!=this.attachment)return;let o=n.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(r==1){o.length=0;return}o.length=d;let x=a;if(x.bones){r=1-r;for(var m=0;m<d;m++)o[m]*=r}else{let p=x.vertices;for(var m=0;m<d;m++)o[m]+=(p[m]-o[m])*r}}return}if(o.length=d,s>=f[f.length-1]){let x=c[f.length-1];if(r==1)if(h==3){let p=a;if(p.bones)for(let v=0;v<d;v++)o[v]+=x[v];else{let v=p.vertices;for(let y=0;y<d;y++)o[y]+=x[y]-v[y]}}else P.arrayCopy(x,0,o,0,d);else switch(h){case 0:{let v=a;if(v.bones)for(let y=0;y<d;y++)o[y]=x[y]*r;else{let y=v.vertices;for(let A=0;A<d;A++){let C=y[A];o[A]=C+(x[A]-C)*r}}break}case 1:case 2:for(let v=0;v<d;v++)o[v]+=(x[v]-o[v])*r;break;case 3:let p=a;if(p.bones)for(let v=0;v<d;v++)o[v]+=x[v]*r;else{let v=p.vertices;for(let y=0;y<d;y++)o[y]+=(x[y]-v[y])*r}}return}let u=ft.search1(f,s),g=this.getCurvePercent(s,u),w=c[u],b=c[u+1];if(r==1)if(h==3){let x=a;if(x.bones)for(let p=0;p<d;p++){let v=w[p];o[p]+=v+(b[p]-v)*g}else{let p=x.vertices;for(let v=0;v<d;v++){let y=w[v];o[v]+=y+(b[v]-y)*g-p[v]}}}else for(let x=0;x<d;x++){let p=w[x];o[x]=p+(b[x]-p)*g}else switch(h){case 0:{let p=a;if(p.bones)for(let v=0;v<d;v++){let y=w[v];o[v]=(y+(b[v]-y)*g)*r}else{let v=p.vertices;for(let y=0;y<d;y++){let A=w[y],C=v[y];o[y]=C+(A+(b[y]-A)*g-C)*r}}break}case 1:case 2:for(let p=0;p<d;p++){let v=w[p];o[p]+=(v+(b[p]-v)*g-o[p])*r}break;case 3:let x=a;if(x.bones)for(let p=0;p<d;p++){let v=w[p];o[p]+=(v+(b[p]-v)*g)*r}else{let p=x.vertices;for(let v=0;v<d;v++){let y=w[v];o[v]+=(y+(b[v]-y)*g-p[v])*r}}}}},ce=class Pi extends ft{static propertyIds=[""+rt.event];events;constructor(t){super(t,Pi.propertyIds),this.events=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,s){this.frames[t]=s.time,this.events[t]=s}apply(t,s,i,r,h,l,n){if(!r)return;let a=this.frames,o=this.frames.length;if(s>i)this.apply(t,s,Number.MAX_VALUE,r,h,l,n),s=-1;else if(s>=a[o-1])return;if(i<a[0])return;let c=0;if(s<a[0])c=0;else{c=ft.search1(a,s)+1;let d=a[c];for(;c>0&&a[c-1]==d;)c--}for(;c<o&&i>=a[c];c++)r.push(this.events[c])}},qt=class Bi extends ft{static propertyIds=[""+rt.drawOrder];drawOrders;constructor(t){super(t,Bi.propertyIds),this.drawOrders=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,s,i){this.frames[t]=s,this.drawOrders[t]=i}apply(t,s,i,r,h,l,n){if(n==1){l==0&&P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}if(i<this.frames[0]){(l==0||l==1)&&P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}let a=ft.search1(this.frames,i),o=this.drawOrders[a];if(!o)P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{let c=t.drawOrder,d=t.slots;for(let f=0,m=o.length;f<m;f++)c[f]=d[o[f]]}}},_e=class extends St{constraintIndex=0;constructor(e,t,s){super(e,t,[rt.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(e,t,s,i,r,h,l){e*=6,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=h?1:0,this.frames[e+5]=l?1:0}apply(e,t,s,i,r,h,l){let n=e.ikConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(h){case 0:n.mix=n.data.mix,n.softness=n.data.softness,n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch;return;case 1:n.mix+=(n.data.mix-n.mix)*r,n.softness+=(n.data.softness-n.softness)*r,n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch}return}let o=0,c=0,d=ft.search(a,s,6),f=this.curves[d/6];switch(f){case 0:let m=a[d];o=a[d+1],c=a[d+2];let u=(s-m)/(a[d+6]-m);o+=(a[d+6+1]-o)*u,c+=(a[d+6+2]-c)*u;break;case 1:o=a[d+1],c=a[d+2];break;default:o=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2)}h==0?(n.mix=n.data.mix+(o-n.data.mix)*r,n.softness=n.data.softness+(c-n.data.softness)*r,l==1?(n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch):(n.bendDirection=a[d+3],n.compress=a[d+4]!=0,n.stretch=a[d+5]!=0)):(n.mix+=(o-n.mix)*r,n.softness+=(c-n.softness)*r,l==0&&(n.bendDirection=a[d+3],n.compress=a[d+4]!=0,n.stretch=a[d+5]!=0))}},je=class extends St{constraintIndex=0;constructor(e,t,s){super(e,t,[rt.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,i,r,h,l,n){let a=this.frames;e*=7,a[e]=t,a[e+1]=s,a[e+2]=i,a[e+3]=r,a[e+4]=h,a[e+5]=l,a[e+6]=n}apply(e,t,s,i,r,h,l){let n=e.transformConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){let b=n.data;switch(h){case 0:n.mixRotate=b.mixRotate,n.mixX=b.mixX,n.mixY=b.mixY,n.mixScaleX=b.mixScaleX,n.mixScaleY=b.mixScaleY,n.mixShearY=b.mixShearY;return;case 1:n.mixRotate+=(b.mixRotate-n.mixRotate)*r,n.mixX+=(b.mixX-n.mixX)*r,n.mixY+=(b.mixY-n.mixY)*r,n.mixScaleX+=(b.mixScaleX-n.mixScaleX)*r,n.mixScaleY+=(b.mixScaleY-n.mixScaleY)*r,n.mixShearY+=(b.mixShearY-n.mixShearY)*r}return}let o,c,d,f,m,u,g=ft.search(a,s,7),w=this.curves[g/7];switch(w){case 0:let b=a[g];o=a[g+1],c=a[g+2],d=a[g+3],f=a[g+4],m=a[g+5],u=a[g+6];let x=(s-b)/(a[g+7]-b);o+=(a[g+7+1]-o)*x,c+=(a[g+7+2]-c)*x,d+=(a[g+7+3]-d)*x,f+=(a[g+7+4]-f)*x,m+=(a[g+7+5]-m)*x,u+=(a[g+7+6]-u)*x;break;case 1:o=a[g+1],c=a[g+2],d=a[g+3],f=a[g+4],m=a[g+5],u=a[g+6];break;default:o=this.getBezierValue(s,g,1,w-2),c=this.getBezierValue(s,g,2,w+18-2),d=this.getBezierValue(s,g,3,w+18*2-2),f=this.getBezierValue(s,g,4,w+18*3-2),m=this.getBezierValue(s,g,5,w+18*4-2),u=this.getBezierValue(s,g,6,w+18*5-2)}if(h==0){let b=n.data;n.mixRotate=b.mixRotate+(o-b.mixRotate)*r,n.mixX=b.mixX+(c-b.mixX)*r,n.mixY=b.mixY+(d-b.mixY)*r,n.mixScaleX=b.mixScaleX+(f-b.mixScaleX)*r,n.mixScaleY=b.mixScaleY+(m-b.mixScaleY)*r,n.mixShearY=b.mixShearY+(u-b.mixShearY)*r}else n.mixRotate+=(o-n.mixRotate)*r,n.mixX+=(c-n.mixX)*r,n.mixY+=(d-n.mixY)*r,n.mixScaleX+=(f-n.mixScaleX)*r,n.mixScaleY+=(m-n.mixScaleY)*r,n.mixShearY+=(u-n.mixShearY)*r}},Ze=class extends yt{constraintIndex=0;constructor(e,t,s){super(e,t,rt.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(e,t,s,i,r,h,l){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.position=this.getAbsoluteValue(s,r,h,n.position,n.data.position))}},Ke=class extends yt{constraintIndex=0;constructor(e,t,s){super(e,t,rt.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(e,t,s,i,r,h,l){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.spacing=this.getAbsoluteValue(s,r,h,n.spacing,n.data.spacing))}},Je=class extends St{constraintIndex=0;constructor(e,t,s){super(e,t,[rt.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,i,r){let h=this.frames;e<<=2,h[e]=t,h[e+1]=s,h[e+2]=i,h[e+3]=r}apply(e,t,s,i,r,h,l){let n=e.pathConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(h){case 0:n.mixRotate=n.data.mixRotate,n.mixX=n.data.mixX,n.mixY=n.data.mixY;return;case 1:n.mixRotate+=(n.data.mixRotate-n.mixRotate)*r,n.mixX+=(n.data.mixX-n.mixX)*r,n.mixY+=(n.data.mixY-n.mixY)*r}return}let o,c,d,f=ft.search(a,s,4),m=this.curves[f>>2];switch(m){case 0:let u=a[f];o=a[f+1],c=a[f+2],d=a[f+3];let g=(s-u)/(a[f+4]-u);o+=(a[f+4+1]-o)*g,c+=(a[f+4+2]-c)*g,d+=(a[f+4+3]-d)*g;break;case 1:o=a[f+1],c=a[f+2],d=a[f+3];break;default:o=this.getBezierValue(s,f,1,m-2),c=this.getBezierValue(s,f,2,m+18-2),d=this.getBezierValue(s,f,3,m+18*2-2)}if(h==0){let u=n.data;n.mixRotate=u.mixRotate+(o-u.mixRotate)*r,n.mixX=u.mixX+(c-u.mixX)*r,n.mixY=u.mixY+(d-u.mixY)*r}else n.mixRotate+=(o-n.mixRotate)*r,n.mixX+=(c-n.mixX)*r,n.mixY+=(d-n.mixY)*r}},Lt=class extends yt{constraintIndex=0;constructor(e,t,s,i){super(e,t,i+"|"+s),this.constraintIndex=s}apply(e,t,s,i,r,h,l){let n;if(this.constraintIndex==-1){const a=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,r,h,this.get(o),this.setup(o),a))}else n=e.physicsConstraints[this.constraintIndex],n.active&&this.set(n,this.getAbsoluteValue(s,r,h,this.get(n),this.setup(n)))}},Qe=class extends Lt{constructor(e,t,s){super(e,t,s,rt.physicsConstraintInertia)}setup(e){return e.data.inertia}get(e){return e.inertia}set(e,t){e.inertia=t}global(e){return e.inertiaGlobal}},$e=class extends Lt{constructor(e,t,s){super(e,t,s,rt.physicsConstraintStrength)}setup(e){return e.data.strength}get(e){return e.strength}set(e,t){e.strength=t}global(e){return e.strengthGlobal}},ts=class extends Lt{constructor(e,t,s){super(e,t,s,rt.physicsConstraintDamping)}setup(e){return e.data.damping}get(e){return e.damping}set(e,t){e.damping=t}global(e){return e.dampingGlobal}},es=class extends Lt{constructor(e,t,s){super(e,t,s,rt.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}},ss=class extends Lt{constructor(e,t,s){super(e,t,s,rt.physicsConstraintWind)}setup(e){return e.data.wind}get(e){return e.wind}set(e,t){e.wind=t}global(e){return e.windGlobal}},is=class extends Lt{constructor(e,t,s){super(e,t,s,rt.physicsConstraintGravity)}setup(e){return e.data.gravity}get(e){return e.gravity}set(e,t){e.gravity=t}global(e){return e.gravityGlobal}},rs=class extends Lt{constructor(e,t,s){super(e,t,s,rt.physicsConstraintMix)}setup(e){return e.data.mix}get(e){return e.mix}set(e,t){e.mix=t}global(e){return e.mixGlobal}},ns=class Vi extends ft{static propertyIds=[rt.physicsConstraintReset.toString()];constraintIndex;constructor(t,s){super(t,Vi.propertyIds),this.constraintIndex=s}getFrameCount(){return this.frames.length}setFrame(t,s){this.frames[t]=s}apply(t,s,i,r,h,l,n){let a;if(this.constraintIndex!=-1&&(a=t.physicsConstraints[this.constraintIndex],!a.active))return;const o=this.frames;if(s>i)this.apply(t,s,Number.MAX_VALUE,[],h,l,n),s=-1;else if(s>=o[o.length-1])return;if(!(i<o[0])&&(s<o[0]||i>=o[ft.search1(o,s)+1]))if(a!=null)a.reset();else for(const c of t.physicsConstraints)c.active&&c.reset()}},as=class Pt extends ft{static ENTRIES=3;static MODE=1;static DELAY=2;slotIndex;attachment;constructor(t,s,i){super(t,[rt.sequence+"|"+s+"|"+i.sequence.id]),this.slotIndex=s,this.attachment=i}getFrameEntries(){return Pt.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(t,s,i,r,h){let l=this.frames;t*=Pt.ENTRIES,l[t]=s,l[t+Pt.MODE]=i|r<<4,l[t+Pt.DELAY]=h}apply(t,s,i,r,h,l,n){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let o=a.attachment,c=this.attachment;if(o!=c&&(!(o instanceof Rt)||o.timelineAttachment!=c))return;if(n==1){l==0&&(a.sequenceIndex=-1);return}let d=this.frames;if(i<d[0]){(l==0||l==1)&&(a.sequenceIndex=-1);return}let f=ft.search(d,i,Pt.ENTRIES),m=d[f],u=d[f+Pt.MODE],g=d[f+Pt.DELAY];if(!this.attachment.sequence)return;let w=u>>4,b=this.attachment.sequence.regions.length,x=Ks[u&15];if(x!=0)switch(w+=(i-m)/g+1e-5|0,x){case 1:w=Math.min(b-1,w);break;case 2:w%=b;break;case 3:{let p=(b<<1)-2;w=p==0?0:w%p,w>=b&&(w=p-w);break}case 4:w=Math.max(b-1-w,0);break;case 5:w=b-1-w%b;break;case 6:{let p=(b<<1)-2;w=p==0?0:(w+b-1)%p,w>=b&&(w=p-w)}}a.sequenceIndex=w}},ji=class Ce{static _emptyAnimation=new oe("<empty>",[],0);static emptyAnimation(){return Ce._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new ti(this);propertyIDs=new Ee;animationsChanged=!1;trackEntryPool=new $t(()=>new $s);constructor(t){this.data=t}update(t){t*=this.timeScale;let s=this.tracks;for(let i=0,r=s.length;i<r;i++){let h=s[i];if(!h)continue;h.animationLast=h.nextAnimationLast,h.trackLast=h.nextTrackLast;let l=t*h.timeScale;if(h.delay>0){if(h.delay-=l,h.delay>0)continue;l=-h.delay,h.delay=0}let n=h.next;if(n){let a=h.trackLast-n.delay;if(a>=0){for(n.delay=0,n.trackTime+=h.timeScale==0?0:(a/h.timeScale+t)*n.timeScale,h.trackTime+=l,this.setCurrent(i,n,!0);n.mixingFrom;)n.mixTime+=t,n=n.mixingFrom;continue}}else if(h.trackLast>=h.trackEnd&&!h.mixingFrom){s[i]=null,this.queue.end(h),this.clearNext(h);continue}if(h.mixingFrom&&this.updateMixingFrom(h,t)){let a=h.mixingFrom;for(h.mixingFrom=null,a&&(a.mixingTo=null);a;)this.queue.end(a),a=a.mixingFrom}h.trackTime+=l}this.queue.drain()}updateMixingFrom(t,s){let i=t.mixingFrom;if(!i)return!0;let r=this.updateMixingFrom(i,s);return i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast,t.nextTrackLast!=-1&&t.mixTime>=t.mixDuration?((i.totalAlpha==0||t.mixDuration==0)&&(t.mixingFrom=i.mixingFrom,i.mixingFrom!=null&&(i.mixingFrom.mixingTo=t),t.interruptAlpha=i.interruptAlpha,this.queue.end(i)),r):(i.trackTime+=s*i.timeScale,t.mixTime+=s,!1)}apply(t){if(!t)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let s=this.events,i=this.tracks,r=!1;for(let f=0,m=i.length;f<m;f++){let u=i[f];if(!u||u.delay>0)continue;r=!0;let g=f==0?1:u.mixBlend,w=u.alpha;u.mixingFrom?w*=this.applyMixingFrom(u,t,g):u.trackTime>=u.trackEnd&&!u.next&&(w=0);let b=w>=u.alphaAttachmentThreshold,x=u.animationLast,p=u.getAnimationTime(),v=p,y=s;u.reverse&&(v=u.animation.duration-v,y=null);let A=u.animation.timelines,C=A.length;if(f==0&&w==1||g==3){f==0&&(b=!0);for(let S=0;S<C;S++){P.webkit602BugfixHelper(w,g);var h=A[S];h instanceof Ot?this.applyAttachmentTimeline(h,t,v,g,b):h.apply(t,x,v,y,w,g,0)}}else{let S=u.timelineMode,T=u.shortestRotation,R=!T&&u.timelinesRotation.length!=C<<1;R&&(u.timelinesRotation.length=C<<1);for(let k=0;k<C;k++){let F=A[k],X=S[k]==de?g:0;!T&&F instanceof te?this.applyRotateTimeline(F,t,v,w,X,u.timelinesRotation,k<<1,R):F instanceof Ot?this.applyAttachmentTimeline(F,t,v,g,b):(P.webkit602BugfixHelper(w,g),F.apply(t,x,v,y,w,X,0))}}this.queueEvents(u,p),s.length=0,u.nextAnimationLast=p,u.nextTrackLast=u.trackTime}for(var l=this.unkeyedState+hs,n=t.slots,a=0,o=t.slots.length;a<o;a++){var c=n[a];if(c.attachmentState==l){var d=c.data.attachmentName;c.setAttachment(d?t.getAttachment(c.data.index,d):null)}}return this.unkeyedState+=2,this.queue.drain(),r}applyMixingFrom(t,s,i){let r=t.mixingFrom;r.mixingFrom&&this.applyMixingFrom(r,s,i);let h=0;t.mixDuration==0?(h=1,i==1&&(i=0)):(h=t.mixTime/t.mixDuration,h>1&&(h=1),i!=1&&(i=r.mixBlend));let l=h<r.mixAttachmentThreshold,n=h<r.mixDrawOrderThreshold,a=r.animation.timelines,o=a.length,c=r.alpha*t.interruptAlpha,d=c*(1-h),f=r.animationLast,m=r.getAnimationTime(),u=m,g=null;if(r.reverse?u=r.animation.duration-u:h<r.eventThreshold&&(g=this.events),i==3)for(let w=0;w<o;w++)a[w].apply(s,f,u,g,d,i,1);else{let w=r.timelineMode,b=r.timelineHoldMix,x=r.shortestRotation,p=!x&&r.timelinesRotation.length!=o<<1;p&&(r.timelinesRotation.length=o<<1),r.totalAlpha=0;for(let v=0;v<o;v++){let y=a[v],A=1,C,S=0;switch(w[v]){case de:if(!n&&y instanceof qt)continue;C=i,S=d;break;case ls:C=0,S=d;break;case os:C=i,S=c;break;case fe:C=0,S=c;break;default:C=0;let T=b[v];S=c*Math.max(0,1-T.mixTime/T.mixDuration);break}r.totalAlpha+=S,!x&&y instanceof te?this.applyRotateTimeline(y,s,u,S,C,r.timelinesRotation,v<<1,p):y instanceof Ot?this.applyAttachmentTimeline(y,s,u,C,l&&S>=r.alphaAttachmentThreshold):(P.webkit602BugfixHelper(S,i),n&&y instanceof qt&&C==0&&(A=0),y.apply(s,f,u,g,S,C,A))}}return t.mixDuration>0&&this.queueEvents(r,m),this.events.length=0,r.nextAnimationLast=m,r.nextTrackLast=r.trackTime,h}applyAttachmentTimeline(t,s,i,r,h){var l=s.slots[t.slotIndex];l.bone.active&&(i<t.frames[0]?(r==0||r==1)&&this.setAttachment(s,l,l.data.attachmentName,h):this.setAttachment(s,l,t.attachmentNames[ft.search1(t.frames,i)],h),l.attachmentState<=this.unkeyedState&&(l.attachmentState=this.unkeyedState+hs))}setAttachment(t,s,i,r){s.setAttachment(i?t.getAttachment(s.data.index,i):null),r&&(s.attachmentState=this.unkeyedState+ii)}applyRotateTimeline(t,s,i,r,h,l,n,a){if(a&&(l[n]=0),r==1){t.apply(s,0,i,null,1,h,0);return}let o=s.bones[t.boneIndex];if(!o.active)return;let c=t.frames,d=0,f=0;if(i<c[0])switch(h){case 0:o.rotation=o.data.rotation;default:return;case 1:d=o.rotation,f=o.data.rotation}else d=h==0?o.data.rotation:o.rotation,f=o.data.rotation+t.getCurveValue(i);let m=0,u=f-d;if(u-=Math.ceil(u/360-.5)*360,u==0)m=l[n];else{let g=0,w=0;a?(g=0,w=u):(g=l[n],w=l[n+1]);let b=g-g%360;m=u+b;let x=u>=0,p=g>=0;Math.abs(w)<=90&&L.signum(w)!=L.signum(u)&&(Math.abs(g-b)>180?(m+=360*L.signum(g),p=x):b!=0?m-=360*L.signum(g):p=x),p!=x&&(m+=360*L.signum(g)),l[n]=m}l[n+1]=u,o.rotation=d+m*r}queueEvents(t,s){let i=t.animationStart,r=t.animationEnd,h=r-i,l=t.trackLast%h,n=this.events,a=0,o=n.length;for(;a<o;a++){let d=n[a];if(d.time<l)break;d.time>r||this.queue.event(t,d)}let c=!1;if(t.loop)if(h==0)c=!0;else{const d=Math.floor(t.trackTime/h);c=d>0&&d>Math.floor(t.trackLast/h)}else c=s>=r&&t.animationLast<r;for(c&&this.queue.complete(t);a<o;a++){let d=n[a];d.time<i||this.queue.event(t,d)}}clearTracks(){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let s=0,i=this.tracks.length;s<i;s++)this.clearTrack(s);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}clearTrack(t){if(t>=this.tracks.length)return;let s=this.tracks[t];if(!s)return;this.queue.end(s),this.clearNext(s);let i=s;for(;;){let r=i.mixingFrom;if(!r)break;this.queue.end(r),i.mixingFrom=null,i.mixingTo=null,i=r}this.tracks[s.trackIndex]=null,this.queue.drain()}setCurrent(t,s,i){let r=this.expandToIndex(t);this.tracks[t]=s,s.previous=null,r&&(i&&this.queue.interrupt(r),s.mixingFrom=r,r.mixingTo=s,s.mixTime=0,r.mixingFrom&&r.mixDuration>0&&(s.interruptAlpha*=Math.min(1,r.mixTime/r.mixDuration)),r.timelinesRotation.length=0),this.queue.start(s)}setAnimation(t,s,i=!1){let r=this.data.skeletonData.findAnimation(s);if(!r)throw new Error("Animation not found: "+s);return this.setAnimationWith(t,r,i)}setAnimationWith(t,s,i=!1){if(!s)throw new Error("animation cannot be null.");let r=!0,h=this.expandToIndex(t);h&&(h.nextTrackLast==-1?(this.tracks[t]=h.mixingFrom,this.queue.interrupt(h),this.queue.end(h),this.clearNext(h),h=h.mixingFrom,r=!1):this.clearNext(h));let l=this.trackEntry(t,s,i,h);return this.setCurrent(t,l,r),this.queue.drain(),l}addAnimation(t,s,i=!1,r=0){let h=this.data.skeletonData.findAnimation(s);if(!h)throw new Error("Animation not found: "+s);return this.addAnimationWith(t,h,i,r)}addAnimationWith(t,s,i=!1,r=0){if(!s)throw new Error("animation cannot be null.");let h=this.expandToIndex(t);if(h)for(;h.next;)h=h.next;let l=this.trackEntry(t,s,i,h);return h?(h.next=l,l.previous=h,r<=0&&(r=Math.max(r+h.getTrackComplete()-l.mixDuration,0))):(this.setCurrent(t,l,!0),this.queue.drain(),r<0&&(r=0)),l.delay=r,l}setEmptyAnimation(t,s=0){let i=this.setAnimationWith(t,Ce.emptyAnimation(),!1);return i.mixDuration=s,i.trackEnd=s,i}addEmptyAnimation(t,s=0,i=0){let r=this.addAnimationWith(t,Ce.emptyAnimation(),!1,i);return i<=0&&(r.delay=Math.max(r.delay+r.mixDuration-s,0)),r.mixDuration=s,r.trackEnd=s,r}setEmptyAnimations(t=0){let s=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let i=0,r=this.tracks.length;i<r;i++){let h=this.tracks[i];h&&this.setEmptyAnimation(h.trackIndex,t)}this.queue.drainDisabled=s,this.queue.drain()}expandToIndex(t){return t<this.tracks.length?this.tracks[t]:(P.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}trackEntry(t,s,i,r){let h=this.trackEntryPool.obtain();return h.reset(),h.trackIndex=t,h.animation=s,h.loop=i,h.holdPrevious=!1,h.reverse=!1,h.shortestRotation=!1,h.eventThreshold=0,h.alphaAttachmentThreshold=0,h.mixAttachmentThreshold=0,h.mixDrawOrderThreshold=0,h.animationStart=0,h.animationEnd=s.duration,h.animationLast=-1,h.nextAnimationLast=-1,h.delay=0,h.trackTime=0,h.trackLast=-1,h.nextTrackLast=-1,h.trackEnd=Number.MAX_VALUE,h.timeScale=1,h.alpha=1,h.mixTime=0,h.mixDuration=r?this.data.getMix(r.animation,s):0,h.interruptAlpha=1,h.totalAlpha=0,h.mixBlend=2,h}clearNext(t){let s=t.next;for(;s;)this.queue.dispose(s),s=s.next;t.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let t=this.tracks;for(let s=0,i=t.length;s<i;s++){let r=t[s];if(r){for(;r.mixingFrom;)r=r.mixingFrom;do(!r.mixingTo||r.mixBlend!=3)&&this.computeHold(r),r=r.mixingTo;while(r)}}}computeHold(t){let s=t.mixingTo,i=t.animation.timelines,r=t.animation.timelines.length,h=t.timelineMode;h.length=r;let l=t.timelineHoldMix;l.length=0;let n=this.propertyIDs;if(s&&s.holdPrevious){for(let a=0;a<r;a++)h[a]=n.addAll(i[a].getPropertyIds())?fe:os;return}t:for(let a=0;a<r;a++){let o=i[a],c=o.getPropertyIds();if(!n.addAll(c))h[a]=de;else if(!s||o instanceof Ot||o instanceof qt||o instanceof ce||!s.animation.hasTimeline(c))h[a]=ls;else{for(let d=s.mixingTo;d;d=d.mixingTo)if(!d.animation.hasTimeline(c)){if(t.mixDuration>0){h[a]=si,l[a]=d;continue t}break}h[a]=fe}}}getCurrent(t){return t>=this.tracks.length?null:this.tracks[t]}addListener(t){if(!t)throw new Error("listener cannot be null.");this.listeners.push(t)}removeListener(t){let s=this.listeners.indexOf(t);s>=0&&this.listeners.splice(s,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},$s=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,t<=0&&(this.previous!=null?t=Math.max(t+this.previous.getTrackComplete()-e,0):t=0),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}},ti=class{objects=[];drainDisabled=!1;animState;constructor(e){this.animState=e}start(e){this.objects.push(0),this.objects.push(e),this.animState.animationsChanged=!0}interrupt(e){this.objects.push(1),this.objects.push(e)}end(e){this.objects.push(2),this.objects.push(e),this.animState.animationsChanged=!0}dispose(e){this.objects.push(3),this.objects.push(e)}complete(e){this.objects.push(4),this.objects.push(e)}event(e,t){this.objects.push(5),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 i=e[s],r=e[s+1];switch(i){case 0:r.listener&&r.listener.start&&r.listener.start(r);for(let l=0;l<t.length;l++){let n=t[l];n.start&&n.start(r)}break;case 1:r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(let l=0;l<t.length;l++){let n=t[l];n.interrupt&&n.interrupt(r)}break;case 2:r.listener&&r.listener.end&&r.listener.end(r);for(let l=0;l<t.length;l++){let n=t[l];n.end&&n.end(r)}case 3:r.listener&&r.listener.dispose&&r.listener.dispose(r);for(let l=0;l<t.length;l++){let n=t[l];n.dispose&&n.dispose(r)}this.animState.trackEntryPool.free(r);break;case 4:r.listener&&r.listener.complete&&r.listener.complete(r);for(let l=0;l<t.length;l++){let n=t[l];n.complete&&n.complete(r)}break;case 5:let h=e[s+++2];r.listener&&r.listener.event&&r.listener.event(r,h);for(let l=0;l<t.length;l++){let n=t[l];n.event&&n.event(r,h)}break}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}},ei=(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))(ei||{}),Zi=class{start(e){}interrupt(e){}end(e){}dispose(e){}complete(e){}event(e,t){}},de=0,ls=1,os=2,fe=3,si=4,hs=1,ii=2,Ki=class{skeletonData;animationToMixTime={};defaultMix=0;constructor(e){if(!e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}setMix(e,t,s){let i=this.skeletonData.findAnimation(e);if(!i)throw new Error("Animation not found: "+e);let r=this.skeletonData.findAnimation(t);if(!r)throw new Error("Animation not found: "+t);this.setMixWith(i,r,s)}setMixWith(e,t,s){if(!e)throw new Error("from cannot be null.");if(!t)throw new Error("to cannot be null.");let i=e.name+"."+t.name;this.animationToMixTime[i]=s}getMix(e,t){let s=e.name+"."+t.name,i=this.animationToMixTime[s];return i===void 0?this.defaultMix:i}},cs=class Oi extends Rt{color=new et(1,1,1,1);constructor(t){super(t)}copy(){let t=new Oi(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}},ee=class Di extends Rt{endSlot=null;color=new et(.2275,.2275,.8078,1);constructor(t){super(t)}copy(){let t=new Di(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}},ds=class{_image;constructor(e){this._image=e}getImage(){return this._image}},ue=(e=>(e[e.Nearest=9728]="Nearest",e[e.Linear=9729]="Linear",e[e.MipMap=9987]="MipMap",e[e.MipMapNearestNearest=9984]="MipMapNearestNearest",e[e.MipMapLinearNearest=9985]="MipMapLinearNearest",e[e.MipMapNearestLinear=9986]="MipMapNearestLinear",e[e.MipMapLinearLinear=9987]="MipMapLinearLinear",e))(ue||{}),ri=(e=>(e[e.MirroredRepeat=33648]="MirroredRepeat",e[e.ClampToEdge=33071]="ClampToEdge",e[e.Repeat=10497]="Repea