UNPKG

@esotericsoftware/spine-canvaskit

Version:

The official Spine Runtimes for CanvasKit for NodeJS

1 lines 165 kB
"use strict";var spine=(()=>{var _e=Object.defineProperty,Hs=Object.getOwnPropertyDescriptor,$s=Object.getOwnPropertyNames,js=Object.prototype.hasOwnProperty,Js=(e,t)=>{for(var s in t)_e(e,s,{get:t[s],enumerable:!0})},Ks=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $s(t))!js.call(e,i)&&i!==s&&_e(e,i,{get:()=>t[i],enumerable:!(r=Hs(t,i))||r.enumerable});return e},Qs=e=>Ks(_e({},"__esModule",{value:!0}),e),Qt={};Js(Qt,{AlphaTimeline:()=>at,Animation:()=>ke,AnimationState:()=>as,AnimationStateAdapter:()=>ri,AnimationStateData:()=>fs,AssetCache:()=>ps,AssetManagerBase:()=>li,AtlasAttachmentLoader:()=>ws,Attachment:()=>He,AttachmentTimeline:()=>ue,BinaryInput:()=>ks,BlendMode:()=>Ut,Bone:()=>Ft,BoneData:()=>Xt,BoundingBoxAttachment:()=>kt,CURRENT:()=>ds,ClippingAttachment:()=>Ee,Color:()=>q,ConstraintData:()=>Se,CurveTimeline:()=>ie,CurveTimeline1:()=>se,CurveTimeline2:()=>Me,DebugUtils:()=>ti,DeformTimeline:()=>ht,Downloader:()=>bs,DrawOrderTimeline:()=>ge,Event:()=>Et,EventData:()=>Rt,EventQueue:()=>os,EventTimeline:()=>Ye,EventType:()=>hs,FIRST:()=>Ct,FakeTexture:()=>ni,HOLD_FIRST:()=>Fe,HOLD_MIX:()=>cs,HOLD_SUBSEQUENT:()=>It,IkConstraint:()=>ys,IkConstraintData:()=>Pt,IkConstraintTimeline:()=>ct,Inherit:()=>Ve,InheritTimeline:()=>it,IntSet:()=>Zs,Interpolation:()=>Zt,MathUtils:()=>E,MeshAttachment:()=>ve,MixBlend:()=>rs,MixDirection:()=>ns,PathAttachment:()=>Ae,PathConstraint:()=>vs,PathConstraintData:()=>Bt,PathConstraintMixTimeline:()=>mt,PathConstraintPositionTimeline:()=>ft,PathConstraintSpacingTimeline:()=>ut,Physics:()=>Cs,PhysicsConstraintDampingTimeline:()=>wt,PhysicsConstraintGravityTimeline:()=>yt,PhysicsConstraintInertiaTimeline:()=>gt,PhysicsConstraintMassTimeline:()=>pt,PhysicsConstraintMixTimeline:()=>vt,PhysicsConstraintResetTimeline:()=>At,PhysicsConstraintStrengthTimeline:()=>xt,PhysicsConstraintTimeline:()=>ce,PhysicsConstraintWindTimeline:()=>bt,PointAttachment:()=>xs,Pool:()=>be,PositionMode:()=>Vt,Pow:()=>es,PowOut:()=>ei,RGB2Timeline:()=>ot,RGBA2Timeline:()=>lt,RGBATimeline:()=>rt,RGBTimeline:()=>nt,RegionAttachment:()=>Be,RotateMode:()=>Dt,RotateTimeline:()=>ye,SETUP:()=>Tt,SUBSEQUENT:()=>Xe,ScaleTimeline:()=>Ke,ScaleXTimeline:()=>Qe,ScaleYTimeline:()=>Ze,SequenceTimeline:()=>St,ShearTimeline:()=>et,ShearXTimeline:()=>tt,ShearYTimeline:()=>st,Skeleton:()=>Le,SkeletonBinary:()=>Ts,SkeletonBounds:()=>qi,SkeletonClipping:()=>Ys,SkeletonData:()=>Ot,SkeletonDrawable:()=>Fs,SkeletonJson:()=>_t,SkeletonRenderer:()=>Hi,Skin:()=>De,SkinEntry:()=>Nt,Slot:()=>As,SlotData:()=>qt,SpacingMode:()=>Lt,StringSet:()=>Ge,Texture:()=>Mt,TextureAtlas:()=>Pe,TextureAtlasPage:()=>gs,TextureAtlasRegion:()=>Yt,TextureFilter:()=>Re,TextureRegion:()=>ms,TextureWrap:()=>us,TimeKeeper:()=>si,Timeline:()=>$,TrackEntry:()=>ls,TransformConstraint:()=>Ss,TransformConstraintData:()=>Wt,TransformConstraintTimeline:()=>dt,TranslateTimeline:()=>$e,TranslateXTimeline:()=>je,TranslateYTimeline:()=>Je,Triangulator:()=>Ms,Utils:()=>P,Vector2:()=>Te,VertexAttachment:()=>le,WindowedMean:()=>ii,loadSkeletonData:()=>Gi,loadTextureAtlas:()=>_i});var Zs=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}},Ge=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}},q=class me{constructor(t=0,s=0,r=0,i=0){this.r=t,this.g=s,this.b=r,this.a=i}static WHITE=new me(1,1,1,1);static RED=new me(1,0,0,1);static GREEN=new me(0,1,0,1);static BLUE=new me(0,0,1,1);static MAGENTA=new me(1,0,1,1);set(t,s,r,i){return this.r=t,this.g=s,this.b=r,this.a=i,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,r,i){return this.r+=t,this.g+=s,this.b+=r,this.a+=i,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 me){return s.setFromString(t)}},E=class ae{static PI=3.1415927;static PI2=ae.PI*2;static invPI2=1/ae.PI2;static radiansToDegrees=180/ae.PI;static radDeg=ae.radiansToDegrees;static degreesToRadians=ae.PI/180;static degRad=ae.degreesToRadians;static clamp(t,s,r){return t<s?s:t>r?r:t}static cosDeg(t){return Math.cos(t*ae.degRad)}static sinDeg(t){return Math.sin(t*ae.degRad)}static atan2Deg(t,s){return Math.atan2(t,s)*ae.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 ae.randomTriangularWith(t,s,(t+s)*.5)}static randomTriangularWith(t,s,r){let i=Math.random(),h=s-t;return i<=(r-t)/h?t+Math.sqrt(i*h*(r-t)):s-Math.sqrt((1-i)*h*(s-r))}static isPowerOfTwo(t){return t&&(t&t-1)===0}},Zt=class{apply(e,t,s){return e+(t-e)*this.applyInternal(s)}},es=class extends Zt{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}},ei=class extends es{constructor(e){super(e)}applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}},P=class pe{static SUPPORTS_TYPED_ARRAYS=typeof Float32Array<"u";static arrayCopy(t,s,r,i,h){for(let o=s,n=i;o<s+h;o++,n++)r[n]=t[o]}static arrayFill(t,s,r,i){for(let h=s;h<r;h++)t[h]=i}static setArraySize(t,s,r=0){let i=t.length;if(i==s)return t;if(t.length=s,i<s)for(let h=i;h<s;h++)t[h]=r;return t}static ensureArrayCapacity(t,s,r=0){return t.length>=s?t:pe.setArraySize(t,s,r)}static newArray(t,s){let r=new Array(t);for(let i=0;i<t;i++)r[i]=s;return r}static newFloatArray(t){if(pe.SUPPORTS_TYPED_ARRAYS)return new Float32Array(t);{let s=new Array(t);for(let r=0;r<s.length;r++)s[r]=0;return s}}static newShortArray(t){if(pe.SUPPORTS_TYPED_ARRAYS)return new Int16Array(t);{let s=new Array(t);for(let r=0;r<s.length;r++)s[r]=0;return s}}static toFloatArray(t){return pe.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return pe.SUPPORTS_TYPED_ARRAYS?Math.fround(t):t}static webkit602BugfixHelper(t,s){}static contains(t,s,r=!0){for(var i=0;i<t.length;i++)if(t[i]==s)return!0;return!1}static enumValue(t,s){return t[s[0].toUpperCase()+s.slice(1)]}},ti=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)}}},be=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}},Te=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}},si=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)}},ii=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}},He=class{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}},le=class Vs extends He{static nextID=0;id=Vs.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(t){super(t)}computeWorldVertices(t,s,r,i,h,o){r=h+(r>>1)*o;let n=t.bone.skeleton,a=t.deform,l=this.vertices,c=this.bones;if(!c){a.length>0&&(l=a);let u=t.bone,w=u.worldX,p=u.worldY,b=u.a,g=u.b,x=u.c,y=u.d;for(let v=s,A=h;A<r;v+=2,A+=o){let C=l[v],I=l[v+1];i[A]=C*b+I*g+w,i[A+1]=C*x+I*y+p}return}let f=0,d=0;for(let u=0;u<s;u+=2){let w=c[f];f+=w+1,d+=w}let m=n.bones;if(a.length==0)for(let u=h,w=d*3;u<r;u+=o){let p=0,b=0,g=c[f++];for(g+=f;f<g;f++,w+=3){let x=m[c[f]],y=l[w],v=l[w+1],A=l[w+2];p+=(y*x.a+v*x.b+x.worldX)*A,b+=(y*x.c+v*x.d+x.worldY)*A}i[u]=p,i[u+1]=b}else{let u=a;for(let w=h,p=d*3,b=d<<1;w<r;w+=o){let g=0,x=0,y=c[f++];for(y+=f;f<y;f++,p+=3,b+=2){let v=m[c[f]],A=l[p]+u[b],C=l[p+1]+u[b+1],I=l[p+2];g+=(A*v.a+C*v.b+v.worldX)*I,x+=(A*v.c+C*v.d+v.worldY)*I}i[w]=g,i[w+1]=x}}}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}},ts=class Ue{static _nextID=0;id=Ue.nextID();regions;start=0;digits=0;setupIndex=0;constructor(t){this.regions=new Array(t)}copy(){let t=new Ue(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 r=t.sequenceIndex;r==-1&&(r=this.setupIndex),r>=this.regions.length&&(r=this.regions.length-1);let i=this.regions[r];s.region!=i&&(s.region=i,s.updateRegion())}getPath(t,s){let r=t,i=(this.start+s).toString();for(let h=this.digits-i.length;h>0;h--)r+="0";return r+=i,r}static nextID(){return Ue._nextID++}},ss=(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))(ss||{}),is=[0,1,2,3,4,5,6],ke=class{name;timelines=[];timelineIds=new Ge;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,i,h,o,n){if(!e)throw new Error("skeleton cannot be null.");r&&this.duration!=0&&(s%=this.duration,t>0&&(t%=this.duration));let a=this.timelines;for(let l=0,c=a.length;l<c;l++)a[l].apply(e,t,s,i,h,o,n)}},rs=(e=>(e[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",e))(rs||{}),ns=(e=>(e[e.mixIn=0]="mixIn",e[e.mixOut=1]="mixOut",e))(ns||{}),D={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},$=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 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 i=s;i<r;i+=s)if(e[i]>t)return i-s;return r-s}},ie=class extends ${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,r,i,h,o,n,a,l,c){let f=this.curves,d=this.getFrameCount()+e*18;s==0&&(f[t]=2+d);let m=(r-h*2+n)*.03,u=(i-o*2+a)*.03,w=((h-n)*3-r+l)*.006,p=((o-a)*3-i+c)*.006,b=m*2+w,g=u*2+p,x=(h-r)*.3+m+w*.16666667,y=(o-i)*.3+u+p*.16666667,v=r+x,A=i+y;for(let C=d+18;d<C;d+=2)f[d]=v,f[d+1]=A,x+=b,y+=g,b+=w,g+=p,v+=x,A+=y}getBezierValue(e,t,s,r){let i=this.curves;if(i[r]>e){let a=this.frames[t],l=this.frames[t+s];return l+(e-a)/(i[r]-a)*(i[r+1]-l)}let h=r+18;for(r+=2;r<h;r+=2)if(i[r]>=e){let a=i[r-2],l=i[r-1];return l+(e-a)/(i[r]-a)*(i[r+1]-l)}t+=this.getFrameEntries();let o=i[h-2],n=i[h-1];return n+(e-o)/(this.frames[t]-o)*(this.frames[t+s]-n)}},se=class extends ie{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 i=2;i<=s;i+=2)if(t[i]>e){s=i-2;break}let r=this.curves[s>>1];switch(r){case 0:let i=t[s],h=t[s+1];return h+(e-i)/(t[s+2]-i)*(t[s+2+1]-h);case 1:return t[s+1]}return this.getBezierValue(e,s,1,r-2)}getRelativeValue(e,t,s,r,i){if(e<this.frames[0]){switch(s){case 0:return i;case 1:return r+(i-r)*t}return r}let h=this.getCurveValue(e);switch(s){case 0:return i+h*t;case 1:case 2:h+=i-r}return r+h*t}getAbsoluteValue(e,t,s,r,i){if(e<this.frames[0]){switch(s){case 0:return i;case 1:return r+(i-r)*t}return r}let h=this.getCurveValue(e);return s==0?i+(h-i)*t:r+(h-r)*t}getAbsoluteValue2(e,t,s,r,i,h){if(e<this.frames[0]){switch(s){case 0:return i;case 1:return r+(i-r)*t}return r}return s==0?i+(h-i)*t:r+(h-r)*t}getScaleValue(e,t,s,r,i,h){const o=this.frames;if(e<o[0]){switch(s){case 0:return h;case 1:return i+(h-i)*t}return i}let n=this.getCurveValue(e)*h;if(t==1)return s==3?i+n-h:n;if(r==1)switch(s){case 0:return h+(Math.abs(n)*E.signum(h)-h)*t;case 1:case 2:return i+(Math.abs(n)*E.signum(i)-i)*t}else{let a=0;switch(s){case 0:return a=Math.abs(h)*E.signum(n),a+(n-a)*t;case 1:case 2:return a=Math.abs(i)*E.signum(n),a+(n-a)*t}}return i+(n-h)*t}},Me=class extends ie{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}},ye=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.rotate+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.rotation=this.getRelativeValue(s,i,h,n.rotation,n.data.rotation))}},$e=class extends Me{boneIndex=0;constructor(e,t,s){super(e,t,D.x+"|"+s,D.y+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){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)*i,n.y+=(n.data.y-n.y)*i}return}let l=0,c=0,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];l=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);l+=(a[f+3+1]-l)*u,c+=(a[f+3+2]-c)*u;break;case 1:l=a[f+1],c=a[f+2];break;default:l=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}switch(h){case 0:n.x=n.data.x+l*i,n.y=n.data.y+c*i;break;case 1:case 2:n.x+=(n.data.x+l-n.x)*i,n.y+=(n.data.y+c-n.y)*i;break;case 3:n.x+=l*i,n.y+=c*i}}},je=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.x+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.x=this.getRelativeValue(s,i,h,n.x,n.data.x))}},Je=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.y+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.y=this.getRelativeValue(s,i,h,n.y,n.data.y))}},Ke=class extends Me{boneIndex=0;constructor(e,t,s){super(e,t,D.scaleX+"|"+s,D.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){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)*i,n.scaleY+=(n.data.scaleY-n.scaleY)*i}return}let l,c,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];l=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);l+=(a[f+3+1]-l)*u,c+=(a[f+3+2]-c)*u;break;case 1:l=a[f+1],c=a[f+2];break;default:l=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}if(l*=n.data.scaleX,c*=n.data.scaleY,i==1)h==3?(n.scaleX+=l-n.data.scaleX,n.scaleY+=c-n.data.scaleY):(n.scaleX=l,n.scaleY=c);else{let m=0,u=0;if(o==1)switch(h){case 0:m=n.data.scaleX,u=n.data.scaleY,n.scaleX=m+(Math.abs(l)*E.signum(m)-m)*i,n.scaleY=u+(Math.abs(c)*E.signum(u)-u)*i;break;case 1:case 2:m=n.scaleX,u=n.scaleY,n.scaleX=m+(Math.abs(l)*E.signum(m)-m)*i,n.scaleY=u+(Math.abs(c)*E.signum(u)-u)*i;break;case 3:n.scaleX+=(l-n.data.scaleX)*i,n.scaleY+=(c-n.data.scaleY)*i}else switch(h){case 0:m=Math.abs(n.data.scaleX)*E.signum(l),u=Math.abs(n.data.scaleY)*E.signum(c),n.scaleX=m+(l-m)*i,n.scaleY=u+(c-u)*i;break;case 1:case 2:m=Math.abs(n.scaleX)*E.signum(l),u=Math.abs(n.scaleY)*E.signum(c),n.scaleX=m+(l-m)*i,n.scaleY=u+(c-u)*i;break;case 3:n.scaleX+=(l-n.data.scaleX)*i,n.scaleY+=(c-n.data.scaleY)*i}}}},Qe=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.scaleX+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.scaleX=this.getScaleValue(s,i,h,o,n.scaleX,n.data.scaleX))}},Ze=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.scaleY=this.getScaleValue(s,i,h,o,n.scaleY,n.data.scaleY))}},et=class extends Me{boneIndex=0;constructor(e,t,s){super(e,t,D.shearX+"|"+s,D.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){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)*i,n.shearY+=(n.data.shearY-n.shearY)*i}return}let l=0,c=0,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];l=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);l+=(a[f+3+1]-l)*u,c+=(a[f+3+2]-c)*u;break;case 1:l=a[f+1],c=a[f+2];break;default:l=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}switch(h){case 0:n.shearX=n.data.shearX+l*i,n.shearY=n.data.shearY+c*i;break;case 1:case 2:n.shearX+=(n.data.shearX+l-n.shearX)*i,n.shearY+=(n.data.shearY+c-n.shearY)*i;break;case 3:n.shearX+=l*i,n.shearY+=c*i}}},tt=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.shearX+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.shearX=this.getRelativeValue(s,i,h,n.shearX,n.data.shearX))}},st=class extends se{boneIndex=0;constructor(e,t,s){super(e,t,D.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,r,i,h,o){let n=e.bones[this.boneIndex];n.active&&(n.shearY=this.getRelativeValue(s,i,h,n.shearY,n.data.shearY))}},it=class extends ${boneIndex=0;constructor(e,t){super(e,[D.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,i,h,o){let n=e.bones[this.boneIndex];if(!n.active)return;if(o==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[$.search(a,s,2)+1]}},rt=class extends ie{slotIndex=0;constructor(e,t,s){super(e,t,[D.rgb+"|"+s,D.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(e,t,s,r,i,h){e*=5,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=i,this.frames[e+4]=h}apply(e,t,s,r,i,h,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,l=n.color;if(s<a[0]){let p=n.data.color;switch(h){case 0:l.setFromColor(p);return;case 1:l.add((p.r-l.r)*i,(p.g-l.g)*i,(p.b-l.b)*i,(p.a-l.a)*i)}return}let c=0,f=0,d=0,m=0,u=$.search(a,s,5),w=this.curves[u/5];switch(w){case 0:let p=a[u];c=a[u+1],f=a[u+2],d=a[u+3],m=a[u+4];let b=(s-p)/(a[u+5]-p);c+=(a[u+5+1]-c)*b,f+=(a[u+5+2]-f)*b,d+=(a[u+5+3]-d)*b,m+=(a[u+5+4]-m)*b;break;case 1:c=a[u+1],f=a[u+2],d=a[u+3],m=a[u+4];break;default:c=this.getBezierValue(s,u,1,w-2),f=this.getBezierValue(s,u,2,w+18-2),d=this.getBezierValue(s,u,3,w+18*2-2),m=this.getBezierValue(s,u,4,w+18*3-2)}i==1?l.set(c,f,d,m):(h==0&&l.setFromColor(n.data.color),l.add((c-l.r)*i,(f-l.g)*i,(d-l.b)*i,(m-l.a)*i))}},nt=class extends ie{slotIndex=0;constructor(e,t,s){super(e,t,[D.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,r,i){e<<=2,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=i}apply(e,t,s,r,i,h,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,l=n.color;if(s<a[0]){let w=n.data.color;switch(h){case 0:l.r=w.r,l.g=w.g,l.b=w.b;return;case 1:l.r+=(w.r-l.r)*i,l.g+=(w.g-l.g)*i,l.b+=(w.b-l.b)*i}return}let c=0,f=0,d=0,m=$.search(a,s,4),u=this.curves[m>>2];switch(u){case 0:let w=a[m];c=a[m+1],f=a[m+2],d=a[m+3];let p=(s-w)/(a[m+4]-w);c+=(a[m+4+1]-c)*p,f+=(a[m+4+2]-f)*p,d+=(a[m+4+3]-d)*p;break;case 1:c=a[m+1],f=a[m+2],d=a[m+3];break;default:c=this.getBezierValue(s,m,1,u-2),f=this.getBezierValue(s,m,2,u+18-2),d=this.getBezierValue(s,m,3,u+18*2-2)}if(i==1)l.r=c,l.g=f,l.b=d;else{if(h==0){let w=n.data.color;l.r=w.r,l.g=w.g,l.b=w.b}l.r+=(c-l.r)*i,l.g+=(f-l.g)*i,l.b+=(d-l.b)*i}}},at=class extends se{slotIndex=0;constructor(e,t,s){super(e,t,D.alpha+"|"+s),this.slotIndex=s}apply(e,t,s,r,i,h,o){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)*i}return}let l=this.getCurveValue(s);i==1?a.a=l:(h==0&&(a.a=n.data.color.a),a.a+=(l-a.a)*i)}},lt=class extends ie{slotIndex=0;constructor(e,t,s){super(e,t,[D.rgb+"|"+s,D.alpha+"|"+s,D.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(e,t,s,r,i,h,o,n,a){e<<=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=i,this.frames[e+4]=h,this.frames[e+5]=o,this.frames[e+6]=n,this.frames[e+7]=a}apply(e,t,s,r,i,h,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,l=n.color,c=n.darkColor;if(s<a[0]){let y=n.data.color,v=n.data.darkColor;switch(h){case 0:l.setFromColor(y),c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:l.add((y.r-l.r)*i,(y.g-l.g)*i,(y.b-l.b)*i,(y.a-l.a)*i),c.r+=(v.r-c.r)*i,c.g+=(v.g-c.g)*i,c.b+=(v.b-c.b)*i}return}let f=0,d=0,m=0,u=0,w=0,p=0,b=0,g=$.search(a,s,8),x=this.curves[g>>3];switch(x){case 0:let y=a[g];f=a[g+1],d=a[g+2],m=a[g+3],u=a[g+4],w=a[g+5],p=a[g+6],b=a[g+7];let v=(s-y)/(a[g+8]-y);f+=(a[g+8+1]-f)*v,d+=(a[g+8+2]-d)*v,m+=(a[g+8+3]-m)*v,u+=(a[g+8+4]-u)*v,w+=(a[g+8+5]-w)*v,p+=(a[g+8+6]-p)*v,b+=(a[g+8+7]-b)*v;break;case 1:f=a[g+1],d=a[g+2],m=a[g+3],u=a[g+4],w=a[g+5],p=a[g+6],b=a[g+7];break;default:f=this.getBezierValue(s,g,1,x-2),d=this.getBezierValue(s,g,2,x+18-2),m=this.getBezierValue(s,g,3,x+18*2-2),u=this.getBezierValue(s,g,4,x+18*3-2),w=this.getBezierValue(s,g,5,x+18*4-2),p=this.getBezierValue(s,g,6,x+18*5-2),b=this.getBezierValue(s,g,7,x+18*6-2)}if(i==1)l.set(f,d,m,u),c.r=w,c.g=p,c.b=b;else{if(h==0){l.setFromColor(n.data.color);let y=n.data.darkColor;c.r=y.r,c.g=y.g,c.b=y.b}l.add((f-l.r)*i,(d-l.g)*i,(m-l.b)*i,(u-l.a)*i),c.r+=(w-c.r)*i,c.g+=(p-c.g)*i,c.b+=(b-c.b)*i}}},ot=class extends ie{slotIndex=0;constructor(e,t,s){super(e,t,[D.rgb+"|"+s,D.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,r,i,h,o,n){e*=7,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=i,this.frames[e+4]=h,this.frames[e+5]=o,this.frames[e+6]=n}apply(e,t,s,r,i,h,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,l=n.color,c=n.darkColor;if(s<a[0]){let y=n.data.color,v=n.data.darkColor;switch(h){case 0:l.r=y.r,l.g=y.g,l.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:l.r+=(y.r-l.r)*i,l.g+=(y.g-l.g)*i,l.b+=(y.b-l.b)*i,c.r+=(v.r-c.r)*i,c.g+=(v.g-c.g)*i,c.b+=(v.b-c.b)*i}return}let f=0,d=0,m=0,u=0,w=0,p=0,b=0,g=$.search(a,s,7),x=this.curves[g/7];switch(x){case 0:let y=a[g];f=a[g+1],d=a[g+2],m=a[g+3],w=a[g+4],p=a[g+5],b=a[g+6];let v=(s-y)/(a[g+7]-y);f+=(a[g+7+1]-f)*v,d+=(a[g+7+2]-d)*v,m+=(a[g+7+3]-m)*v,w+=(a[g+7+4]-w)*v,p+=(a[g+7+5]-p)*v,b+=(a[g+7+6]-b)*v;break;case 1:f=a[g+1],d=a[g+2],m=a[g+3],w=a[g+4],p=a[g+5],b=a[g+6];break;default:f=this.getBezierValue(s,g,1,x-2),d=this.getBezierValue(s,g,2,x+18-2),m=this.getBezierValue(s,g,3,x+18*2-2),w=this.getBezierValue(s,g,4,x+18*3-2),p=this.getBezierValue(s,g,5,x+18*4-2),b=this.getBezierValue(s,g,6,x+18*5-2)}if(i==1)l.r=f,l.g=d,l.b=m,c.r=w,c.g=p,c.b=b;else{if(h==0){let y=n.data.color,v=n.data.darkColor;l.r=y.r,l.g=y.g,l.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b}l.r+=(f-l.r)*i,l.g+=(d-l.g)*i,l.b+=(m-l.b)*i,c.r+=(w-c.r)*i,c.g+=(p-c.g)*i,c.b+=(b-c.b)*i}}},ue=class extends ${slotIndex=0;attachmentNames;constructor(e,t){super(e,[D.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,i,h,o){let n=e.slots[this.slotIndex];if(n.bone.active){if(o==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[$.search1(this.frames,s)])}}setAttachment(e,t,s){t.setAttachment(s?e.getAttachment(this.slotIndex,s):null)}},ht=class extends ie{slotIndex=0;attachment;vertices;constructor(e,t,s,r){super(e,t,[D.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,i,h,o,n,a,l,c){let f=this.curves,d=this.getFrameCount()+e*18;s==0&&(f[t]=2+d);let m=(r-h*2+n)*.03,u=a*.03-o*.06,w=((h-n)*3-r+l)*.006,p=(o-a+.33333333)*.018,b=m*2+w,g=u*2+p,x=(h-r)*.3+m+w*.16666667,y=o*.3+u+p*.16666667,v=r+x,A=y;for(let C=d+18;d<C;d+=2)f[d]=v,f[d+1]=A,x+=b,y+=g,b+=w,g+=p,v+=x,A+=y}getCurvePercent(e,t){let s=this.curves,r=s[t];switch(r){case 0:let n=this.frames[t];return(e-n)/(this.frames[t+this.getFrameEntries()]-n);case 1:return 0}if(r-=2,s[r]>e){let n=this.frames[t];return s[r+1]*(e-n)/(s[r]-n)}let i=r+18;for(r+=2;r<i;r+=2)if(s[r]>=e){let n=s[r-2],a=s[r-1];return a+(e-n)/(s[r]-n)*(s[r+1]-a)}let h=s[i-2],o=s[i-1];return o+(1-o)*(e-h)/(this.frames[t+this.getFrameEntries()]-h)}apply(e,t,s,r,i,h,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=n.getAttachment();if(!a||!(a instanceof le)||a.timelineAttachment!=this.attachment)return;let l=n.deform;l.length==0&&(h=0);let c=this.vertices,f=c[0].length,d=this.frames;if(s<d[0]){switch(h){case 0:l.length=0;return;case 1:if(i==1){l.length=0;return}l.length=f;let g=a;if(g.bones){i=1-i;for(var m=0;m<f;m++)l[m]*=i}else{let x=g.vertices;for(var m=0;m<f;m++)l[m]+=(x[m]-l[m])*i}}return}if(l.length=f,s>=d[d.length-1]){let g=c[d.length-1];if(i==1)if(h==3){let x=a;if(x.bones)for(let y=0;y<f;y++)l[y]+=g[y];else{let y=x.vertices;for(let v=0;v<f;v++)l[v]+=g[v]-y[v]}}else P.arrayCopy(g,0,l,0,f);else switch(h){case 0:{let y=a;if(y.bones)for(let v=0;v<f;v++)l[v]=g[v]*i;else{let v=y.vertices;for(let A=0;A<f;A++){let C=v[A];l[A]=C+(g[A]-C)*i}}break}case 1:case 2:for(let y=0;y<f;y++)l[y]+=(g[y]-l[y])*i;break;case 3:let x=a;if(x.bones)for(let y=0;y<f;y++)l[y]+=g[y]*i;else{let y=x.vertices;for(let v=0;v<f;v++)l[v]+=(g[v]-y[v])*i}}return}let u=$.search1(d,s),w=this.getCurvePercent(s,u),p=c[u],b=c[u+1];if(i==1)if(h==3){let g=a;if(g.bones)for(let x=0;x<f;x++){let y=p[x];l[x]+=y+(b[x]-y)*w}else{let x=g.vertices;for(let y=0;y<f;y++){let v=p[y];l[y]+=v+(b[y]-v)*w-x[y]}}}else for(let g=0;g<f;g++){let x=p[g];l[g]=x+(b[g]-x)*w}else switch(h){case 0:{let x=a;if(x.bones)for(let y=0;y<f;y++){let v=p[y];l[y]=(v+(b[y]-v)*w)*i}else{let y=x.vertices;for(let v=0;v<f;v++){let A=p[v],C=y[v];l[v]=C+(A+(b[v]-A)*w-C)*i}}break}case 1:case 2:for(let x=0;x<f;x++){let y=p[x];l[x]+=(y+(b[x]-y)*w-l[x])*i}break;case 3:let g=a;if(g.bones)for(let x=0;x<f;x++){let y=p[x];l[x]+=(y+(b[x]-y)*w)*i}else{let x=g.vertices;for(let y=0;y<f;y++){let v=p[y];l[y]+=(v+(b[y]-v)*w-x[y])*i}}}}},Ye=class Ls extends ${static propertyIds=[""+D.event];events;constructor(t){super(t,Ls.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,r,i,h,o,n){if(!i)return;let a=this.frames,l=this.frames.length;if(s>r)this.apply(t,s,Number.MAX_VALUE,i,h,o,n),s=-1;else if(s>=a[l-1])return;if(r<a[0])return;let c=0;if(s<a[0])c=0;else{c=$.search1(a,s)+1;let f=a[c];for(;c>0&&a[c-1]==f;)c--}for(;c<l&&r>=a[c];c++)i.push(this.events[c])}},ge=class Ds extends ${static propertyIds=[""+D.drawOrder];drawOrders;constructor(t){super(t,Ds.propertyIds),this.drawOrders=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,s,r){this.frames[t]=s,this.drawOrders[t]=r}apply(t,s,r,i,h,o,n){if(n==1){o==0&&P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}if(r<this.frames[0]){(o==0||o==1)&&P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}let a=$.search1(this.frames,r),l=this.drawOrders[a];if(!l)P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{let c=t.drawOrder,f=t.slots;for(let d=0,m=l.length;d<m;d++)c[d]=f[l[d]]}}},ct=class extends ie{constraintIndex=0;constructor(e,t,s){super(e,t,[D.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(e,t,s,r,i,h,o){e*=6,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=i,this.frames[e+4]=h?1:0,this.frames[e+5]=o?1:0}apply(e,t,s,r,i,h,o){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)*i,n.softness+=(n.data.softness-n.softness)*i,n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch}return}let l=0,c=0,f=$.search(a,s,6),d=this.curves[f/6];switch(d){case 0:let m=a[f];l=a[f+1],c=a[f+2];let u=(s-m)/(a[f+6]-m);l+=(a[f+6+1]-l)*u,c+=(a[f+6+2]-c)*u;break;case 1:l=a[f+1],c=a[f+2];break;default:l=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}h==0?(n.mix=n.data.mix+(l-n.data.mix)*i,n.softness=n.data.softness+(c-n.data.softness)*i,o==1?(n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch):(n.bendDirection=a[f+3],n.compress=a[f+4]!=0,n.stretch=a[f+5]!=0)):(n.mix+=(l-n.mix)*i,n.softness+=(c-n.softness)*i,o==0&&(n.bendDirection=a[f+3],n.compress=a[f+4]!=0,n.stretch=a[f+5]!=0))}},dt=class extends ie{constraintIndex=0;constructor(e,t,s){super(e,t,[D.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,r,i,h,o,n){let a=this.frames;e*=7,a[e]=t,a[e+1]=s,a[e+2]=r,a[e+3]=i,a[e+4]=h,a[e+5]=o,a[e+6]=n}apply(e,t,s,r,i,h,o){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)*i,n.mixX+=(b.mixX-n.mixX)*i,n.mixY+=(b.mixY-n.mixY)*i,n.mixScaleX+=(b.mixScaleX-n.mixScaleX)*i,n.mixScaleY+=(b.mixScaleY-n.mixScaleY)*i,n.mixShearY+=(b.mixShearY-n.mixShearY)*i}return}let l,c,f,d,m,u,w=$.search(a,s,7),p=this.curves[w/7];switch(p){case 0:let b=a[w];l=a[w+1],c=a[w+2],f=a[w+3],d=a[w+4],m=a[w+5],u=a[w+6];let g=(s-b)/(a[w+7]-b);l+=(a[w+7+1]-l)*g,c+=(a[w+7+2]-c)*g,f+=(a[w+7+3]-f)*g,d+=(a[w+7+4]-d)*g,m+=(a[w+7+5]-m)*g,u+=(a[w+7+6]-u)*g;break;case 1:l=a[w+1],c=a[w+2],f=a[w+3],d=a[w+4],m=a[w+5],u=a[w+6];break;default:l=this.getBezierValue(s,w,1,p-2),c=this.getBezierValue(s,w,2,p+18-2),f=this.getBezierValue(s,w,3,p+18*2-2),d=this.getBezierValue(s,w,4,p+18*3-2),m=this.getBezierValue(s,w,5,p+18*4-2),u=this.getBezierValue(s,w,6,p+18*5-2)}if(h==0){let b=n.data;n.mixRotate=b.mixRotate+(l-b.mixRotate)*i,n.mixX=b.mixX+(c-b.mixX)*i,n.mixY=b.mixY+(f-b.mixY)*i,n.mixScaleX=b.mixScaleX+(d-b.mixScaleX)*i,n.mixScaleY=b.mixScaleY+(m-b.mixScaleY)*i,n.mixShearY=b.mixShearY+(u-b.mixShearY)*i}else n.mixRotate+=(l-n.mixRotate)*i,n.mixX+=(c-n.mixX)*i,n.mixY+=(f-n.mixY)*i,n.mixScaleX+=(d-n.mixScaleX)*i,n.mixScaleY+=(m-n.mixScaleY)*i,n.mixShearY+=(u-n.mixShearY)*i}},ft=class extends se{constraintIndex=0;constructor(e,t,s){super(e,t,D.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(e,t,s,r,i,h,o){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.position=this.getAbsoluteValue(s,i,h,n.position,n.data.position))}},ut=class extends se{constraintIndex=0;constructor(e,t,s){super(e,t,D.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(e,t,s,r,i,h,o){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.spacing=this.getAbsoluteValue(s,i,h,n.spacing,n.data.spacing))}},mt=class extends ie{constraintIndex=0;constructor(e,t,s){super(e,t,[D.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,r,i){let h=this.frames;e<<=2,h[e]=t,h[e+1]=s,h[e+2]=r,h[e+3]=i}apply(e,t,s,r,i,h,o){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)*i,n.mixX+=(n.data.mixX-n.mixX)*i,n.mixY+=(n.data.mixY-n.mixY)*i}return}let l,c,f,d=$.search(a,s,4),m=this.curves[d>>2];switch(m){case 0:let u=a[d];l=a[d+1],c=a[d+2],f=a[d+3];let w=(s-u)/(a[d+4]-u);l+=(a[d+4+1]-l)*w,c+=(a[d+4+2]-c)*w,f+=(a[d+4+3]-f)*w;break;case 1:l=a[d+1],c=a[d+2],f=a[d+3];break;default:l=this.getBezierValue(s,d,1,m-2),c=this.getBezierValue(s,d,2,m+18-2),f=this.getBezierValue(s,d,3,m+18*2-2)}if(h==0){let u=n.data;n.mixRotate=u.mixRotate+(l-u.mixRotate)*i,n.mixX=u.mixX+(c-u.mixX)*i,n.mixY=u.mixY+(f-u.mixY)*i}else n.mixRotate+=(l-n.mixRotate)*i,n.mixX+=(c-n.mixX)*i,n.mixY+=(f-n.mixY)*i}},ce=class extends se{constraintIndex=0;constructor(e,t,s,r){super(e,t,r+"|"+s),this.constraintIndex=s}apply(e,t,s,r,i,h,o){let n;if(this.constraintIndex==-1){const a=s>=this.frames[0]?this.getCurveValue(s):0;for(const l of e.physicsConstraints)l.active&&this.global(l.data)&&this.set(l,this.getAbsoluteValue2(s,i,h,this.get(l),this.setup(l),a))}else n=e.physicsConstraints[this.constraintIndex],n.active&&this.set(n,this.getAbsoluteValue(s,i,h,this.get(n),this.setup(n)))}},gt=class extends ce{constructor(e,t,s){super(e,t,s,D.physicsConstraintInertia)}setup(e){return e.data.inertia}get(e){return e.inertia}set(e,t){e.inertia=t}global(e){return e.inertiaGlobal}},xt=class extends ce{constructor(e,t,s){super(e,t,s,D.physicsConstraintStrength)}setup(e){return e.data.strength}get(e){return e.strength}set(e,t){e.strength=t}global(e){return e.strengthGlobal}},wt=class extends ce{constructor(e,t,s){super(e,t,s,D.physicsConstraintDamping)}setup(e){return e.data.damping}get(e){return e.damping}set(e,t){e.damping=t}global(e){return e.dampingGlobal}},pt=class extends ce{constructor(e,t,s){super(e,t,s,D.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}},bt=class extends ce{constructor(e,t,s){super(e,t,s,D.physicsConstraintWind)}setup(e){return e.data.wind}get(e){return e.wind}set(e,t){e.wind=t}global(e){return e.windGlobal}},yt=class extends ce{constructor(e,t,s){super(e,t,s,D.physicsConstraintGravity)}setup(e){return e.data.gravity}get(e){return e.gravity}set(e,t){e.gravity=t}global(e){return e.gravityGlobal}},vt=class extends ce{constructor(e,t,s){super(e,t,s,D.physicsConstraintMix)}setup(e){return e.data.mix}get(e){return e.mix}set(e,t){e.mix=t}global(e){return e.mixGlobal}},At=class Os extends ${static propertyIds=[D.physicsConstraintReset.toString()];constraintIndex;constructor(t,s){super(t,Os.propertyIds),this.constraintIndex=s}getFrameCount(){return this.frames.length}setFrame(t,s){this.frames[t]=s}apply(t,s,r,i,h,o,n){let a;if(this.constraintIndex!=-1&&(a=t.physicsConstraints[this.constraintIndex],!a.active))return;const l=this.frames;if(s>r)this.apply(t,s,Number.MAX_VALUE,[],h,o,n),s=-1;else if(s>=l[l.length-1])return;if(!(r<l[0])&&(s<l[0]||r>=l[$.search1(l,s)+1]))if(a!=null)a.reset();else for(const c of t.physicsConstraints)c.active&&c.reset()}},St=class de extends ${static ENTRIES=3;static MODE=1;static DELAY=2;slotIndex;attachment;constructor(t,s,r){super(t,[D.sequence+"|"+s+"|"+r.sequence.id]),this.slotIndex=s,this.attachment=r}getFrameEntries(){return de.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(t,s,r,i,h){let o=this.frames;t*=de.ENTRIES,o[t]=s,o[t+de.MODE]=r|i<<4,o[t+de.DELAY]=h}apply(t,s,r,i,h,o,n){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let l=a.attachment,c=this.attachment;if(l!=c&&(!(l instanceof le)||l.timelineAttachment!=c))return;if(n==1){o==0&&(a.sequenceIndex=-1);return}let f=this.frames;if(r<f[0]){(o==0||o==1)&&(a.sequenceIndex=-1);return}let d=$.search(f,r,de.ENTRIES),m=f[d],u=f[d+de.MODE],w=f[d+de.DELAY];if(!this.attachment.sequence)return;let p=u>>4,b=this.attachment.sequence.regions.length,g=is[u&15];if(g!=0)switch(p+=(r-m)/w+1e-5|0,g){case 1:p=Math.min(b-1,p);break;case 2:p%=b;break;case 3:{let x=(b<<1)-2;p=x==0?0:p%x,p>=b&&(p=x-p);break}case 4:p=Math.max(b-1-p,0);break;case 5:p=b-1-p%b;break;case 6:{let x=(b<<1)-2;p=x==0?0:(p+b-1)%x,p>=b&&(p=x-p)}}a.sequenceIndex=p}},as=class We{static _emptyAnimation=new ke("<empty>",[],0);static emptyAnimation(){return We._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new os(this);propertyIDs=new Ge;animationsChanged=!1;trackEntryPool=new be(()=>new ls);constructor(t){this.data=t}update(t){t*=this.timeScale;let s=this.tracks;for(let r=0,i=s.length;r<i;r++){let h=s[r];if(!h)continue;h.animationLast=h.nextAnimationLast,h.trackLast=h.nextTrackLast;let o=t*h.timeScale;if(h.delay>0){if(h.delay-=o,h.delay>0)continue;o=-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+=o,this.setCurrent(r,n,!0);n.mixingFrom;)n.mixTime+=t,n=n.mixingFrom;continue}}else if(h.trackLast>=h.trackEnd&&!h.mixingFrom){s[r]=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+=o}this.queue.drain()}updateMixingFrom(t,s){let r=t.mixingFrom;if(!r)return!0;let i=this.updateMixingFrom(r,s);return r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast,t.nextTrackLast!=-1&&t.mixTime>=t.mixDuration?((r.totalAlpha==0||t.mixDuration==0)&&(t.mixingFrom=r.mixingFrom,r.mixingFrom!=null&&(r.mixingFrom.mixingTo=t),t.interruptAlpha=r.interruptAlpha,this.queue.end(r)),i):(r.trackTime+=s*r.timeScale,t.mixTime+=s,!1)}apply(t){if(!t)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let s=this.events,r=this.tracks,i=!1;for(let d=0,m=r.length;d<m;d++){let u=r[d];if(!u||u.delay>0)continue;i=!0;let w=d==0?1:u.mixBlend,p=u.alpha;u.mixingFrom?p*=this.applyMixingFrom(u,t,w):u.trackTime>=u.trackEnd&&!u.next&&(p=0);let b=p>=u.alphaAttachmentThreshold,g=u.animationLast,x=u.getAnimationTime(),y=x,v=s;u.reverse&&(y=u.animation.duration-y,v=null);let A=u.animation.timelines,C=A.length;if(d==0&&p==1||w==3){d==0&&(b=!0);for(let I=0;I<C;I++){P.webkit602BugfixHelper(p,w);var h=A[I];h instanceof ue?this.applyAttachmentTimeline(h,t,y,w,b):h.apply(t,g,y,v,p,w,0)}}else{let I=u.timelineMode,T=u.shortestRotation,M=!T&&u.timelinesRotation.length!=C<<1;M&&(u.timelinesRotation.length=C<<1);for(let Y=0;Y<C;Y++){let F=A[Y],R=I[Y]==Xe?w:0;!T&&F instanceof ye?this.applyRotateTimeline(F,t,y,p,R,u.timelinesRotation,Y<<1,M):F instanceof ue?this.applyAttachmentTimeline(F,t,y,w,b):(P.webkit602BugfixHelper(p,w),F.apply(t,g,y,v,p,R,0))}}this.queueEvents(u,x),s.length=0,u.nextAnimationLast=x,u.nextTrackLast=u.trackTime}for(var o=this.unkeyedState+Tt,n=t.slots,a=0,l=t.slots.length;a<l;a++){var c=n[a];if(c.attachmentState==o){var f=c.data.attachmentName;c.setAttachment(f?t.getAttachment(c.data.index,f):null)}}return this.unkeyedState+=2,this.queue.drain(),i}applyMixingFrom(t,s,r){let i=t.mixingFrom;i.mixingFrom&&this.applyMixingFrom(i,s,r);let h=0;t.mixDuration==0?(h=1,r==1&&(r=0)):(h=t.mixTime/t.mixDuration,h>1&&(h=1),r!=1&&(r=i.mixBlend));let o=h<i.mixAttachmentThreshold,n=h<i.mixDrawOrderThreshold,a=i.animation.timelines,l=a.length,c=i.alpha*t.interruptAlpha,f=c*(1-h),d=i.animationLast,m=i.getAnimationTime(),u=m,w=null;if(i.reverse?u=i.animation.duration-u:h<i.eventThreshold&&(w=this.events),r==3)for(let p=0;p<l;p++)a[p].apply(s,d,u,w,f,r,1);else{let p=i.timelineMode,b=i.timelineHoldMix,g=i.shortestRotation,x=!g&&i.timelinesRotation.length!=l<<1;x&&(i.timelinesRotation.length=l<<1),i.totalAlpha=0;for(let y=0;y<l;y++){let v=a[y],A=1,C,I=0;switch(p[y]){case Xe:if(!n&&v instanceof ge)continue;C=r,I=f;break;case Ct:C=0,I=f;break;case It:C=r,I=c;break;case Fe:C=0,I=c;break;default:C=0;let T=b[y];I=c*Math.max(0,1-T.mixTime/T.mixDuration);break}i.totalAlpha+=I,!g&&v instanceof ye?this.applyRotateTimeline(v,s,u,I,C,i.timelinesRotation,y<<1,x):v instanceof ue?this.applyAttachmentTimeline(v,s,u,C,o&&I>=i.alphaAttachmentThreshold):(P.webkit602BugfixHelper(I,r),n&&v instanceof ge&&C==0&&(A=0),v.apply(s,d,u,w,I,C,A))}}return t.mixDuration>0&&this.queueEvents(i,m),this.events.length=0,i.nextAnimationLast=m,i.nextTrackLast=i.trackTime,h}applyAttachmentTimeline(t,s,r,i,h){var o=s.slots[t.slotIndex];o.bone.active&&(r<t.frames[0]?(i==0||i==1)&&this.setAttachment(s,o,o.data.attachmentName,h):this.setAttachment(s,o,t.attachmentNames[$.search1(t.frames,r)],h),o.attachmentState<=this.unkeyedState&&(o.attachmentState=this.unkeyedState+Tt))}setAttachment(t,s,r,i){s.setAttachment(r?t.getAttachment(s.data.index,r):null),i&&(s.attachmentState=this.unkeyedState+ds)}applyRotateTimeline(t,s,r,i,h,o,n,a){if(a&&(o[n]=0),i==1){t.apply(s,0,r,null,1,h,0);return}let l=s.bones[t.boneIndex];if(!l.active)return;let c=t.frames,f=0,d=0;if(r<c[0])switch(h){case 0:l.rotation=l.data.rotation;default:return;case 1:f=l.rotation,d=l.data.rotation}else f=h==0?l.data.rotation:l.rotation,d=l.data.rotation+t.getCurveValue(r);let m=0,u=d-f;if(u-=Math.ceil(u/360-.5)*360,u==0)m=o[n];else{let w=0,p=0;a?(w=0,p=u):(w=o[n],p=o[n+1]);let b=w-w%360;m=u+b;let g=u>=0,x=w>=0;Math.abs(p)<=90&&E.signum(p)!=E.signum(u)&&(Math.abs(w-b)>180?(m+=360*E.signum(w),x=g):b!=0?m-=360*E.signum(w):x=g),x!=g&&(m+=360*E.signum(w)),o[n]=m}o[n+1]=u,l.rotation=f+m*i}queueEvents(t,s){let r=t.animationStart,i=t.animationEnd,h=i-r,o=t.trackLast%h,n=this.events,a=0,l=n.length;for(;a<l;a++){let f=n[a];if(f.time<o)break;f.time>i||this.queue.event(t,f)}let c=!1;if(t.loop)if(h==0)c=!0;else{const f=Math.floor(t.trackTime/h);c=f>0&&f>Math.floor(t.trackLast/h)}else c=s>=i&&t.animationLast<i;for(c&&this.queue.complete(t);a<l;a++){let f=n[a];f.time<r||this.queue.event(t,f)}}clearTracks(){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let s=0,r=this.tracks.length;s<r;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 r=s;for(;;){let i=r.mixingFrom;if(!i)break;this.queue.end(i),r.mixingFrom=null,r.mixingTo=null,r=i}this.tracks[s.trackIndex]=null,this.queue.drain()}setCurrent(t,s,r){let i=this.expandToIndex(t);this.tracks[t]=s,s.previous=null,i&&(r&&this.queue.interrupt(i),s.mixingFrom=i,i.mixingTo=s,s.mixTime=0,i.mixingFrom&&i.mixDuration>0&&(s.interruptAlpha*=Math.min(1,i.mixTime/i.mixDuration)),i.timelinesRotation.length=0),this.queue.start(s)}setAnimation(t,s,r=!1){let i=this.data.skeletonData.findAnimation(s);if(!i)throw new Error("Animation not found: "+s);return this.setAnimationWith(t,i,r)}setAnimationWith(t,s,r=!1){if(!s)throw new Error("animation cannot be null.");let i=!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,i=!1):this.clearNext(h));let o=this.trackEntry(t,s,r,h);return this.setCurrent(t,o,i),this.queue.drain(),o}addAnimation(t,s,r=!1,i=0){let h=this.data.skeletonData.findAnimation(s);if(!h)throw new Error("Animation not found: "+s);return this.addAnimationWith(t,h,r,i)}addAnimationWith(t,s,r=!1,i=0){if(!s)throw new Error("animation cannot be null.");let h=this.expandToIndex(t);if(h)for(;h.next;)h=h.next;let o=this.trackEntry(t,s,r,h);return h?(h.next=o,o.previous=h,i<=0&&(i=Math.max(i+h.getTrackComplete()-o.mixDuration,0))):(this.setCurrent(t,o,!0),this.queue.drain(),i<0&&(i=0)),o.delay=i,o}setEmptyAnimation(t,s=0){let r=this.setAnimationWith(t,We.emptyAnimation(),!1);return r.mixDuration=s,r.trackEnd=s,r}addEmptyAnimation(t,s=0,r=0){let i=this.addAnimationWith(t,We.emptyAnimation(),!1,r);return r<=0&&(i.delay=Math.max(i.delay+i.mixDuration-s,0)),i.mixDuration=s,i.trackEnd=s,i}setEmptyAnimations(t=0){let s=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let r=0,i=this.tracks.length;r<i;r++){let h=this.tracks[r];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,r,i){let h=this.trackEntryPool.obtain();return h.reset(),h.trackIndex=t,h.animation=s,h.loop=r,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=i?this.data.getMix(i.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,r=t.length;s<r;s++){let i=t[s];if(i){for(;i.mixingFrom;)i=i.mixingFrom;do(!i.mixingTo||i.mixBlend!=3)&&this.computeHold(i),i=i.mixingTo;while(i)}}}computeHold(t){let s=t.mixingTo,r=t.animation.timelines,i=t.animation.timelines.length,h=t.timelineMode;h.length=i;let o=t.timelineHoldMix;o.length=0;let n=this.propertyIDs;if(s&&s.holdPrevious){for(let a=0;a<i;a++)h[a]=n.addAll(r[a].getPropertyIds())?Fe:It;return}e:for(let a=0;a<i;a++){let l=r[a],c=l.getPropertyIds();if(!n.addAll(c))h[a]=Xe;else if(!s||l instanceof ue||l instanceof ge||l instanceof Ye||!s.animation.hasTimeline(c))h[a]=Ct;else{for(let f=s.mixingTo;f;f=f.mixingTo)if(!f.animation.hasTimeline(c)){if(t.mixDuration>0){h[a]=cs,o[a]=f;continue e}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()}},ls=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}},os=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),th