@esotericsoftware/spine-core
Version:
The official Spine Runtimes for the web.
1 lines • 162 kB
JavaScript
"use strict";var spine=(()=>{var qe=Object.defineProperty,Ls=Object.getOwnPropertyDescriptor,Ds=Object.getOwnPropertyNames,Ns=Object.prototype.hasOwnProperty,Os=(e,t)=>{for(var s in t)qe(e,s,{get:t[s],enumerable:!0})},qs=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ds(t))!Ns.call(e,i)&&i!==s&&qe(e,i,{get:()=>t[i],enumerable:!(r=Ls(t,i))||r.enumerable});return e},Us=e=>qs(qe({},"__esModule",{value:!0}),e),jt={};Os(jt,{AlphaTimeline:()=>st,Animation:()=>Te,AnimationState:()=>$s,AnimationStateAdapter:()=>js,AnimationStateData:()=>Js,AssetCache:()=>us,AssetManagerBase:()=>ei,AtlasAttachmentLoader:()=>Zs,Attachment:()=>We,AttachmentTimeline:()=>ue,BinaryInput:()=>As,BlendMode:()=>Ot,Bone:()=>Yt,BoneData:()=>Mt,BoundingBoxAttachment:()=>St,CURRENT:()=>ls,ClippingAttachment:()=>Ct,Color:()=>q,ConstraintData:()=>Ae,CurveTimeline:()=>ie,CurveTimeline1:()=>se,CurveTimeline2:()=>ke,DebugUtils:()=>_s,DeformTimeline:()=>nt,Downloader:()=>ms,DrawOrderTimeline:()=>ge,Event:()=>Xt,EventData:()=>Ft,EventQueue:()=>rs,EventTimeline:()=>Me,EventType:()=>ns,FIRST:()=>yt,FakeTexture:()=>Ks,HOLD_FIRST:()=>Xe,HOLD_MIX:()=>as,HOLD_SUBSEQUENT:()=>vt,IkConstraint:()=>gs,IkConstraintData:()=>Et,IkConstraintTimeline:()=>at,Inherit:()=>Re,InheritTimeline:()=>Ze,IntSet:()=>Ws,Interpolation:()=>Jt,MathUtils:()=>R,MeshAttachment:()=>Ee,MixBlend:()=>ts,MixDirection:()=>ss,PathAttachment:()=>ve,PathConstraint:()=>xs,PathConstraintData:()=>Rt,PathConstraintMixTimeline:()=>ct,PathConstraintPositionTimeline:()=>ot,PathConstraintSpacingTimeline:()=>ht,Physics:()=>ys,PhysicsConstraintDampingTimeline:()=>ut,PhysicsConstraintGravityTimeline:()=>xt,PhysicsConstraintInertiaTimeline:()=>dt,PhysicsConstraintMassTimeline:()=>mt,PhysicsConstraintMixTimeline:()=>wt,PhysicsConstraintResetTimeline:()=>bt,PhysicsConstraintStrengthTimeline:()=>ft,PhysicsConstraintTimeline:()=>ce,PhysicsConstraintWindTimeline:()=>gt,PointAttachment:()=>fs,Pool:()=>pe,PositionMode:()=>Pt,Pow:()=>Kt,PowOut:()=>zs,RGB2Timeline:()=>rt,RGBA2Timeline:()=>it,RGBATimeline:()=>et,RGBTimeline:()=>tt,RegionAttachment:()=>kt,RotateMode:()=>Vt,RotateTimeline:()=>ye,SETUP:()=>At,SUBSEQUENT:()=>Ye,ScaleTimeline:()=>He,ScaleXTimeline:()=>$e,ScaleYTimeline:()=>je,SequenceTimeline:()=>pt,ShearTimeline:()=>Je,ShearXTimeline:()=>Ke,ShearYTimeline:()=>Qe,Skeleton:()=>ps,SkeletonBinary:()=>si,SkeletonBounds:()=>Bi,SkeletonClipping:()=>Vi,SkeletonData:()=>Lt,SkeletonJson:()=>Li,Skin:()=>Pe,SkinEntry:()=>Dt,Slot:()=>ws,SlotData:()=>Nt,SpacingMode:()=>Bt,StringSet:()=>Ue,Texture:()=>os,TextureAtlas:()=>It,TextureAtlasPage:()=>ds,TextureAtlasRegion:()=>Tt,TextureFilter:()=>Fe,TextureRegion:()=>cs,TextureWrap:()=>hs,TimeKeeper:()=>Gs,Timeline:()=>$,TrackEntry:()=>is,TransformConstraint:()=>bs,TransformConstraintData:()=>qt,TransformConstraintTimeline:()=>lt,TranslateTimeline:()=>ze,TranslateXTimeline:()=>_e,TranslateYTimeline:()=>Ge,Triangulator:()=>Ss,Utils:()=>P,Vector2:()=>Ie,VertexAttachment:()=>le,WindowedMean:()=>Hs});var Ws=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}},Ue=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)}},R=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}},Jt=class{apply(e,t,s){return e+(t-e)*this.applyInternal(s)}},Kt=class extends Jt{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}},zs=class extends Kt{constructor(e){super(e)}applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}},P=class be{static SUPPORTS_TYPED_ARRAYS=typeof Float32Array<"u";static arrayCopy(t,s,r,i,h){for(let l=s,n=i;l<s+h;l++,n++)r[n]=t[l]}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:be.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(be.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(be.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 be.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return be.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)]}},_s=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)}}},pe=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}},Ie=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}},Gs=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)}},Hs=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}},We=class{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}},le=class Ms extends We{static nextID=0;id=Ms.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(t){super(t)}computeWorldVertices(t,s,r,i,h,l){r=h+(r>>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,w=u.worldX,b=u.worldY,p=u.a,g=u.b,x=u.c,y=u.d;for(let v=s,A=h;A<r;v+=2,A+=l){let C=o[v],I=o[v+1];i[A]=C*p+I*g+w,i[A+1]=C*x+I*y+b}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+=l){let b=0,p=0,g=c[f++];for(g+=f;f<g;f++,w+=3){let x=m[c[f]],y=o[w],v=o[w+1],A=o[w+2];b+=(y*x.a+v*x.b+x.worldX)*A,p+=(y*x.c+v*x.d+x.worldY)*A}i[u]=b,i[u+1]=p}else{let u=a;for(let w=h,b=d*3,p=d<<1;w<r;w+=l){let g=0,x=0,y=c[f++];for(y+=f;f<y;f++,b+=3,p+=2){let v=m[c[f]],A=o[b]+u[p],C=o[b+1]+u[p+1],I=o[b+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}},Qt=class De{static _nextID=0;id=De.nextID();regions;start=0;digits=0;setupIndex=0;constructor(t){this.regions=new Array(t)}copy(){let t=new De(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 De._nextID++}},Zt=(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))(Zt||{}),es=[0,1,2,3,4,5,6],Te=class{name;timelines=[];timelineIds=new Ue;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,l,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 o=0,c=a.length;o<c;o++)a[o].apply(e,t,s,i,h,l,n)}},ts=(e=>(e[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",e))(ts||{}),ss=(e=>(e[e.mixIn=0]="mixIn",e[e.mixOut=1]="mixOut",e))(ss||{}),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,l,n,a,o,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-l*2+a)*.03,w=((h-n)*3-r+o)*.006,b=((l-a)*3-i+c)*.006,p=m*2+w,g=u*2+b,x=(h-r)*.3+m+w*.16666667,y=(l-i)*.3+u+b*.16666667,v=r+x,A=i+y;for(let C=d+18;d<C;d+=2)f[d]=v,f[d+1]=A,x+=p,y+=g,p+=w,g+=b,v+=x,A+=y}getBezierValue(e,t,s,r){let i=this.curves;if(i[r]>e){let a=this.frames[t],o=this.frames[t+s];return o+(e-a)/(i[r]-a)*(i[r+1]-o)}let h=r+18;for(r+=2;r<h;r+=2)if(i[r]>=e){let a=i[r-2],o=i[r-1];return o+(e-a)/(i[r]-a)*(i[r+1]-o)}t+=this.getFrameEntries();let l=i[h-2],n=i[h-1];return n+(e-l)/(this.frames[t]-l)*(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 l=this.frames;if(e<l[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)*R.signum(h)-h)*t;case 1:case 2:return i+(Math.abs(n)*R.signum(i)-i)*t}else{let a=0;switch(s){case 0:return a=Math.abs(h)*R.signum(n),a+(n-a)*t;case 1:case 2:return a=Math.abs(i)*R.signum(n),a+(n-a)*t}}return i+(n-h)*t}},ke=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,l){let n=e.bones[this.boneIndex];n.active&&(n.rotation=this.getRelativeValue(s,i,h,n.rotation,n.data.rotation))}},ze=class extends ke{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,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)*i,n.y+=(n.data.y-n.y)*i}return}let o=0,c=0,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];o=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);o+=(a[f+3+1]-o)*u,c+=(a[f+3+2]-c)*u;break;case 1:o=a[f+1],c=a[f+2];break;default:o=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+o*i,n.y=n.data.y+c*i;break;case 1:case 2:n.x+=(n.data.x+o-n.x)*i,n.y+=(n.data.y+c-n.y)*i;break;case 3:n.x+=o*i,n.y+=c*i}}},_e=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,l){let n=e.bones[this.boneIndex];n.active&&(n.x=this.getRelativeValue(s,i,h,n.x,n.data.x))}},Ge=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,l){let n=e.bones[this.boneIndex];n.active&&(n.y=this.getRelativeValue(s,i,h,n.y,n.data.y))}},He=class extends ke{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,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)*i,n.scaleY+=(n.data.scaleY-n.scaleY)*i}return}let o,c,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];o=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);o+=(a[f+3+1]-o)*u,c+=(a[f+3+2]-c)*u;break;case 1:o=a[f+1],c=a[f+2];break;default:o=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}if(o*=n.data.scaleX,c*=n.data.scaleY,i==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)*R.signum(m)-m)*i,n.scaleY=u+(Math.abs(c)*R.signum(u)-u)*i;break;case 1:case 2:m=n.scaleX,u=n.scaleY,n.scaleX=m+(Math.abs(o)*R.signum(m)-m)*i,n.scaleY=u+(Math.abs(c)*R.signum(u)-u)*i;break;case 3:n.scaleX+=(o-n.data.scaleX)*i,n.scaleY+=(c-n.data.scaleY)*i}else switch(h){case 0:m=Math.abs(n.data.scaleX)*R.signum(o),u=Math.abs(n.data.scaleY)*R.signum(c),n.scaleX=m+(o-m)*i,n.scaleY=u+(c-u)*i;break;case 1:case 2:m=Math.abs(n.scaleX)*R.signum(o),u=Math.abs(n.scaleY)*R.signum(c),n.scaleX=m+(o-m)*i,n.scaleY=u+(c-u)*i;break;case 3:n.scaleX+=(o-n.data.scaleX)*i,n.scaleY+=(c-n.data.scaleY)*i}}}},$e=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,l){let n=e.bones[this.boneIndex];n.active&&(n.scaleX=this.getScaleValue(s,i,h,l,n.scaleX,n.data.scaleX))}},je=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,l){let n=e.bones[this.boneIndex];n.active&&(n.scaleY=this.getScaleValue(s,i,h,l,n.scaleY,n.data.scaleY))}},Je=class extends ke{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,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)*i,n.shearY+=(n.data.shearY-n.shearY)*i}return}let o=0,c=0,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];o=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);o+=(a[f+3+1]-o)*u,c+=(a[f+3+2]-c)*u;break;case 1:o=a[f+1],c=a[f+2];break;default:o=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+o*i,n.shearY=n.data.shearY+c*i;break;case 1:case 2:n.shearX+=(n.data.shearX+o-n.shearX)*i,n.shearY+=(n.data.shearY+c-n.shearY)*i;break;case 3:n.shearX+=o*i,n.shearY+=c*i}}},Ke=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,l){let n=e.bones[this.boneIndex];n.active&&(n.shearX=this.getRelativeValue(s,i,h,n.shearX,n.data.shearX))}},Qe=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,l){let n=e.bones[this.boneIndex];n.active&&(n.shearY=this.getRelativeValue(s,i,h,n.shearY,n.data.shearY))}},Ze=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,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[$.search(a,s,2)+1]}},et=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,l){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,o=n.color;if(s<a[0]){let b=n.data.color;switch(h){case 0:o.setFromColor(b);return;case 1:o.add((b.r-o.r)*i,(b.g-o.g)*i,(b.b-o.b)*i,(b.a-o.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 b=a[u];c=a[u+1],f=a[u+2],d=a[u+3],m=a[u+4];let p=(s-b)/(a[u+5]-b);c+=(a[u+5+1]-c)*p,f+=(a[u+5+2]-f)*p,d+=(a[u+5+3]-d)*p,m+=(a[u+5+4]-m)*p;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?o.set(c,f,d,m):(h==0&&o.setFromColor(n.data.color),o.add((c-o.r)*i,(f-o.g)*i,(d-o.b)*i,(m-o.a)*i))}},tt=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,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.r=w.r,o.g=w.g,o.b=w.b;return;case 1:o.r+=(w.r-o.r)*i,o.g+=(w.g-o.g)*i,o.b+=(w.b-o.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 b=(s-w)/(a[m+4]-w);c+=(a[m+4+1]-c)*b,f+=(a[m+4+2]-f)*b,d+=(a[m+4+3]-d)*b;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)o.r=c,o.g=f,o.b=d;else{if(h==0){let w=n.data.color;o.r=w.r,o.g=w.g,o.b=w.b}o.r+=(c-o.r)*i,o.g+=(f-o.g)*i,o.b+=(d-o.b)*i}}},st=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,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)*i}return}let o=this.getCurveValue(s);i==1?a.a=o:(h==0&&(a.a=n.data.color.a),a.a+=(o-a.a)*i)}},it=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,l,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]=l,this.frames[e+6]=n,this.frames[e+7]=a}apply(e,t,s,r,i,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 y=n.data.color,v=n.data.darkColor;switch(h){case 0:o.setFromColor(y),c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:o.add((y.r-o.r)*i,(y.g-o.g)*i,(y.b-o.b)*i,(y.a-o.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,b=0,p=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],b=a[g+6],p=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,b+=(a[g+8+6]-b)*v,p+=(a[g+8+7]-p)*v;break;case 1:f=a[g+1],d=a[g+2],m=a[g+3],u=a[g+4],w=a[g+5],b=a[g+6],p=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),b=this.getBezierValue(s,g,6,x+18*5-2),p=this.getBezierValue(s,g,7,x+18*6-2)}if(i==1)o.set(f,d,m,u),c.r=w,c.g=b,c.b=p;else{if(h==0){o.setFromColor(n.data.color);let y=n.data.darkColor;c.r=y.r,c.g=y.g,c.b=y.b}o.add((f-o.r)*i,(d-o.g)*i,(m-o.b)*i,(u-o.a)*i),c.r+=(w-c.r)*i,c.g+=(b-c.g)*i,c.b+=(p-c.b)*i}}},rt=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,l,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]=l,this.frames[e+6]=n}apply(e,t,s,r,i,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 y=n.data.color,v=n.data.darkColor;switch(h){case 0:o.r=y.r,o.g=y.g,o.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:o.r+=(y.r-o.r)*i,o.g+=(y.g-o.g)*i,o.b+=(y.b-o.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,b=0,p=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],b=a[g+5],p=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,b+=(a[g+7+5]-b)*v,p+=(a[g+7+6]-p)*v;break;case 1:f=a[g+1],d=a[g+2],m=a[g+3],w=a[g+4],b=a[g+5],p=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),b=this.getBezierValue(s,g,5,x+18*4-2),p=this.getBezierValue(s,g,6,x+18*5-2)}if(i==1)o.r=f,o.g=d,o.b=m,c.r=w,c.g=b,c.b=p;else{if(h==0){let y=n.data.color,v=n.data.darkColor;o.r=y.r,o.g=y.g,o.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b}o.r+=(f-o.r)*i,o.g+=(d-o.g)*i,o.b+=(m-o.b)*i,c.r+=(w-c.r)*i,c.g+=(b-c.g)*i,c.b+=(p-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,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[$.search1(this.frames,s)])}}setAttachment(e,t,s){t.setAttachment(s?e.getAttachment(this.slotIndex,s):null)}},nt=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,l,n,a,o,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-l*.06,w=((h-n)*3-r+o)*.006,b=(l-a+.33333333)*.018,p=m*2+w,g=u*2+b,x=(h-r)*.3+m+w*.16666667,y=l*.3+u+b*.16666667,v=r+x,A=y;for(let C=d+18;d<C;d+=2)f[d]=v,f[d+1]=A,x+=p,y+=g,p+=w,g+=b,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],l=s[i-1];return l+(1-l)*(e-h)/(this.frames[t+this.getFrameEntries()]-h)}apply(e,t,s,r,i,h,l){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 o=n.deform;o.length==0&&(h=0);let c=this.vertices,f=c[0].length,d=this.frames;if(s<d[0]){switch(h){case 0:o.length=0;return;case 1:if(i==1){o.length=0;return}o.length=f;let g=a;if(g.bones){i=1-i;for(var m=0;m<f;m++)o[m]*=i}else{let x=g.vertices;for(var m=0;m<f;m++)o[m]+=(x[m]-o[m])*i}}return}if(o.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++)o[y]+=g[y];else{let y=x.vertices;for(let v=0;v<f;v++)o[v]+=g[v]-y[v]}}else P.arrayCopy(g,0,o,0,f);else switch(h){case 0:{let y=a;if(y.bones)for(let v=0;v<f;v++)o[v]=g[v]*i;else{let v=y.vertices;for(let A=0;A<f;A++){let C=v[A];o[A]=C+(g[A]-C)*i}}break}case 1:case 2:for(let y=0;y<f;y++)o[y]+=(g[y]-o[y])*i;break;case 3:let x=a;if(x.bones)for(let y=0;y<f;y++)o[y]+=g[y]*i;else{let y=x.vertices;for(let v=0;v<f;v++)o[v]+=(g[v]-y[v])*i}}return}let u=$.search1(d,s),w=this.getCurvePercent(s,u),b=c[u],p=c[u+1];if(i==1)if(h==3){let g=a;if(g.bones)for(let x=0;x<f;x++){let y=b[x];o[x]+=y+(p[x]-y)*w}else{let x=g.vertices;for(let y=0;y<f;y++){let v=b[y];o[y]+=v+(p[y]-v)*w-x[y]}}}else for(let g=0;g<f;g++){let x=b[g];o[g]=x+(p[g]-x)*w}else switch(h){case 0:{let x=a;if(x.bones)for(let y=0;y<f;y++){let v=b[y];o[y]=(v+(p[y]-v)*w)*i}else{let y=x.vertices;for(let v=0;v<f;v++){let A=b[v],C=y[v];o[v]=C+(A+(p[v]-A)*w-C)*i}}break}case 1:case 2:for(let x=0;x<f;x++){let y=b[x];o[x]+=(y+(p[x]-y)*w-o[x])*i}break;case 3:let g=a;if(g.bones)for(let x=0;x<f;x++){let y=b[x];o[x]+=(y+(p[x]-y)*w)*i}else{let x=g.vertices;for(let y=0;y<f;y++){let v=b[y];o[y]+=(v+(p[y]-v)*w-x[y])*i}}}}},Me=class Ys extends ${static propertyIds=[""+D.event];events;constructor(t){super(t,Ys.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,l,n){if(!i)return;let a=this.frames,o=this.frames.length;if(s>r)this.apply(t,s,Number.MAX_VALUE,i,h,l,n),s=-1;else if(s>=a[o-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<o&&r>=a[c];c++)i.push(this.events[c])}},ge=class Xs extends ${static propertyIds=[""+D.drawOrder];drawOrders;constructor(t){super(t,Xs.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,l,n){if(n==1){l==0&&P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}if(r<this.frames[0]){(l==0||l==1)&&P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}let a=$.search1(this.frames,r),o=this.drawOrders[a];if(!o)P.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{let c=t.drawOrder,f=t.slots;for(let d=0,m=o.length;d<m;d++)c[d]=f[o[d]]}}},at=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,l){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]=l?1:0}apply(e,t,s,r,i,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)*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 o=0,c=0,f=$.search(a,s,6),d=this.curves[f/6];switch(d){case 0:let m=a[f];o=a[f+1],c=a[f+2];let u=(s-m)/(a[f+6]-m);o+=(a[f+6+1]-o)*u,c+=(a[f+6+2]-c)*u;break;case 1:o=a[f+1],c=a[f+2];break;default:o=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}h==0?(n.mix=n.data.mix+(o-n.data.mix)*i,n.softness=n.data.softness+(c-n.data.softness)*i,l==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+=(o-n.mix)*i,n.softness+=(c-n.softness)*i,l==0&&(n.bendDirection=a[f+3],n.compress=a[f+4]!=0,n.stretch=a[f+5]!=0))}},lt=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,l,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]=l,a[e+6]=n}apply(e,t,s,r,i,h,l){let n=e.transformConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){let p=n.data;switch(h){case 0:n.mixRotate=p.mixRotate,n.mixX=p.mixX,n.mixY=p.mixY,n.mixScaleX=p.mixScaleX,n.mixScaleY=p.mixScaleY,n.mixShearY=p.mixShearY;return;case 1:n.mixRotate+=(p.mixRotate-n.mixRotate)*i,n.mixX+=(p.mixX-n.mixX)*i,n.mixY+=(p.mixY-n.mixY)*i,n.mixScaleX+=(p.mixScaleX-n.mixScaleX)*i,n.mixScaleY+=(p.mixScaleY-n.mixScaleY)*i,n.mixShearY+=(p.mixShearY-n.mixShearY)*i}return}let o,c,f,d,m,u,w=$.search(a,s,7),b=this.curves[w/7];switch(b){case 0:let p=a[w];o=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-p)/(a[w+7]-p);o+=(a[w+7+1]-o)*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:o=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:o=this.getBezierValue(s,w,1,b-2),c=this.getBezierValue(s,w,2,b+18-2),f=this.getBezierValue(s,w,3,b+18*2-2),d=this.getBezierValue(s,w,4,b+18*3-2),m=this.getBezierValue(s,w,5,b+18*4-2),u=this.getBezierValue(s,w,6,b+18*5-2)}if(h==0){let p=n.data;n.mixRotate=p.mixRotate+(o-p.mixRotate)*i,n.mixX=p.mixX+(c-p.mixX)*i,n.mixY=p.mixY+(f-p.mixY)*i,n.mixScaleX=p.mixScaleX+(d-p.mixScaleX)*i,n.mixScaleY=p.mixScaleY+(m-p.mixScaleY)*i,n.mixShearY=p.mixShearY+(u-p.mixShearY)*i}else n.mixRotate+=(o-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}},ot=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,l){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.position=this.getAbsoluteValue(s,i,h,n.position,n.data.position))}},ht=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,l){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.spacing=this.getAbsoluteValue(s,i,h,n.spacing,n.data.spacing))}},ct=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,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)*i,n.mixX+=(n.data.mixX-n.mixX)*i,n.mixY+=(n.data.mixY-n.mixY)*i}return}let o,c,f,d=$.search(a,s,4),m=this.curves[d>>2];switch(m){case 0:let u=a[d];o=a[d+1],c=a[d+2],f=a[d+3];let w=(s-u)/(a[d+4]-u);o+=(a[d+4+1]-o)*w,c+=(a[d+4+2]-c)*w,f+=(a[d+4+3]-f)*w;break;case 1:o=a[d+1],c=a[d+2],f=a[d+3];break;default:o=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+(o-u.mixRotate)*i,n.mixX=u.mixX+(c-u.mixX)*i,n.mixY=u.mixY+(f-u.mixY)*i}else n.mixRotate+=(o-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,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,i,h,this.get(o),this.setup(o),a))}else n=e.physicsConstraints[this.constraintIndex],n.active&&this.set(n,this.getAbsoluteValue(s,i,h,this.get(n),this.setup(n)))}},dt=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}},ft=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}},ut=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}},mt=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}},gt=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}},xt=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}},wt=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}},bt=class Fs extends ${static propertyIds=[D.physicsConstraintReset.toString()];constraintIndex;constructor(t,s){super(t,Fs.propertyIds),this.constraintIndex=s}getFrameCount(){return this.frames.length}setFrame(t,s){this.frames[t]=s}apply(t,s,r,i,h,l,n){let a;if(this.constraintIndex!=-1&&(a=t.physicsConstraints[this.constraintIndex],!a.active))return;const o=this.frames;if(s>r)this.apply(t,s,Number.MAX_VALUE,[],h,l,n),s=-1;else if(s>=o[o.length-1])return;if(!(r<o[0])&&(s<o[0]||r>=o[$.search1(o,s)+1]))if(a!=null)a.reset();else for(const c of t.physicsConstraints)c.active&&c.reset()}},pt=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 l=this.frames;t*=de.ENTRIES,l[t]=s,l[t+de.MODE]=r|i<<4,l[t+de.DELAY]=h}apply(t,s,r,i,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 le)||o.timelineAttachment!=c))return;if(n==1){l==0&&(a.sequenceIndex=-1);return}let f=this.frames;if(r<f[0]){(l==0||l==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 b=u>>4,p=this.attachment.sequence.regions.length,g=es[u&15];if(g!=0)switch(b+=(r-m)/w+1e-5|0,g){case 1:b=Math.min(p-1,b);break;case 2:b%=p;break;case 3:{let x=(p<<1)-2;b=x==0?0:b%x,b>=p&&(b=x-b);break}case 4:b=Math.max(p-1-b,0);break;case 5:b=p-1-b%p;break;case 6:{let x=(p<<1)-2;b=x==0?0:(b+p-1)%x,b>=p&&(b=x-b)}}a.sequenceIndex=b}},$s=class Ne{static _emptyAnimation=new Te("<empty>",[],0);static emptyAnimation(){return Ne._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new rs(this);propertyIDs=new Ue;animationsChanged=!1;trackEntryPool=new pe(()=>new is);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 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(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+=l}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,b=u.alpha;u.mixingFrom?b*=this.applyMixingFrom(u,t,w):u.trackTime>=u.trackEnd&&!u.next&&(b=0);let p=b>=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&&b==1||w==3){d==0&&(p=!0);for(let I=0;I<C;I++){P.webkit602BugfixHelper(b,w);var h=A[I];h instanceof ue?this.applyAttachmentTimeline(h,t,y,w,p):h.apply(t,g,y,v,b,w,0)}}else{let I=u.timelineMode,k=u.shortestRotation,Y=!k&&u.timelinesRotation.length!=C<<1;Y&&(u.timelinesRotation.length=C<<1);for(let M=0;M<C;M++){let F=A[M],E=I[M]==Ye?w:0;!k&&F instanceof ye?this.applyRotateTimeline(F,t,y,b,E,u.timelinesRotation,M<<1,Y):F instanceof ue?this.applyAttachmentTimeline(F,t,y,w,p):(P.webkit602BugfixHelper(b,w),F.apply(t,g,y,v,b,E,0))}}this.queueEvents(u,x),s.length=0,u.nextAnimationLast=x,u.nextTrackLast=u.trackTime}for(var l=this.unkeyedState+At,n=t.slots,a=0,o=t.slots.length;a<o;a++){var c=n[a];if(c.attachmentState==l){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 l=h<i.mixAttachmentThreshold,n=h<i.mixDrawOrderThreshold,a=i.animation.timelines,o=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 b=0;b<o;b++)a[b].apply(s,d,u,w,f,r,1);else{let b=i.timelineMode,p=i.timelineHoldMix,g=i.shortestRotation,x=!g&&i.timelinesRotation.length!=o<<1;x&&(i.timelinesRotation.length=o<<1),i.totalAlpha=0;for(let y=0;y<o;y++){let v=a[y],A=1,C,I=0;switch(b[y]){case Ye:if(!n&&v instanceof ge)continue;C=r,I=f;break;case yt:C=0,I=f;break;case vt:C=r,I=c;break;case Xe:C=0,I=c;break;default:C=0;let k=p[y];I=c*Math.max(0,1-k.mixTime/k.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,l&&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 l=s.slots[t.slotIndex];l.bone.active&&(r<t.frames[0]?(i==0||i==1)&&this.setAttachment(s,l,l.data.attachmentName,h):this.setAttachment(s,l,t.attachmentNames[$.search1(t.frames,r)],h),l.attachmentState<=this.unkeyedState&&(l.attachmentState=this.unkeyedState+At))}setAttachment(t,s,r,i){s.setAttachment(r?t.getAttachment(s.data.index,r):null),i&&(s.attachmentState=this.unkeyedState+ls)}applyRotateTimeline(t,s,r,i,h,l,n,a){if(a&&(l[n]=0),i==1){t.apply(s,0,r,null,1,h,0);return}let o=s.bones[t.boneIndex];if(!o.active)return;let c=t.frames,f=0,d=0;if(r<c[0])switch(h){case 0:o.rotation=o.data.rotation;default:return;case 1:f=o.rotation,d=o.data.rotation}else f=h==0?o.data.rotation:o.rotation,d=o.data.rotation+t.getCurveValue(r);let m=0,u=d-f;if(u-=Math.ceil(u/360-.5)*360,u==0)m=l[n];else{let w=0,b=0;a?(w=0,b=u):(w=l[n],b=l[n+1]);let p=w-w%360;m=u+p;let g=u>=0,x=w>=0;Math.abs(b)<=90&&R.signum(b)!=R.signum(u)&&(Math.abs(w-p)>180?(m+=360*R.signum(w),x=g):p!=0?m-=360*R.signum(w):x=g),x!=g&&(m+=360*R.signum(w)),l[n]=m}l[n+1]=u,o.rotation=f+m*i}queueEvents(t,s){let r=t.animationStart,i=t.animationEnd,h=i-r,l=t.trackLast%h,n=this.events,a=0,o=n.length;for(;a<o;a++){let f=n[a];if(f.time<l)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<o;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 l=this.trackEntry(t,s,r,h);return this.setCurrent(t,l,i),this.queue.drain(),l}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 l=this.trackEntry(t,s,r,h);return h?(h.next=l,l.previous=h,i<=0&&(i=Math.max(i+h.getTrackComplete()-l.mixDuration,0))):(this.setCurrent(t,l,!0),this.queue.drain(),i<0&&(i=0)),l.delay=i,l}setEmptyAnimation(t,s=0){let r=this.setAnimationWith(t,Ne.emptyAnimation(),!1);return r.mixDuration=s,r.trackEnd=s,r}addEmptyAnimation(t,s=0,r=0){let i=this.addAnimationWith(t,Ne.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 l=t.timelineHoldMix;l.length=0;let n=this.propertyIDs;if(s&&s.holdPrevious){for(let a=0;a<i;a++)h[a]=n.addAll(r[a].getPropertyIds())?Xe:vt;return}e:for(let a=0;a<i;a++){let o=r[a],c=o.getPropertyIds();if(!n.addAll(c))h[a]=Ye;else if(!s||o instanceof ue||o instanceof ge||o instanceof Me||!s.animation.hasTimeline(c))h[a]=yt;else{for(let f=s.mixingTo;f;f=f.mixingTo)if(!f.animation.hasTimeline(c)){if(t.mixDuration>0){h[a]=as,l[a]=f;continue e}break}h[a]=Xe}}}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()}},is=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}},rs=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(