@galacean/engine-spine 0.0.0-experimental-engine-spine-caifu.1 → 0.0.0-experimental-engine-spine-4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +64 -42
  2. package/dist/browser.js +1 -29
  3. package/dist/main.js +11747 -29
  4. package/dist/main.js.map +1 -1
  5. package/dist/miniprogram.js +11748 -29
  6. package/dist/module.js +11634 -29
  7. package/dist/module.js.map +1 -1
  8. package/package.json +20 -6
  9. package/types/index.d.ts +2 -5
  10. package/types/loader/LoaderUtils.d.ts +11 -17
  11. package/types/loader/SpineAtlasLoader.d.ts +7 -0
  12. package/types/loader/SpineLoader.d.ts +11 -25
  13. package/types/loader/SpineResource.d.ts +5 -4
  14. package/types/loader/SpineTexture.d.ts +13 -0
  15. package/types/loader/index.d.ts +4 -0
  16. package/types/{SpineAnimationRenderer.d.ts → renderer/SpineAnimationRenderer.d.ts} +45 -81
  17. package/types/{SpineGenerator.d.ts → renderer/SpineGenerator.d.ts} +12 -15
  18. package/types/renderer/index.d.ts +2 -0
  19. package/types/util/BlendMode.d.ts +1 -1
  20. package/types/loader/EditorSpineAtlasLoader.d.ts +0 -6
  21. package/types/loader/SkeletonDataResource.d.ts +0 -12
  22. package/types/spine-core/Animation.d.ts +0 -378
  23. package/types/spine-core/AnimationState.d.ts +0 -365
  24. package/types/spine-core/AnimationStateData.d.ts +0 -23
  25. package/types/spine-core/AssetManager.d.ts +0 -36
  26. package/types/spine-core/AtlasAttachmentLoader.d.ts +0 -23
  27. package/types/spine-core/BlendMode.d.ts +0 -7
  28. package/types/spine-core/Bone.d.ts +0 -110
  29. package/types/spine-core/BoneData.d.ts +0 -44
  30. package/types/spine-core/ConstraintData.d.ts +0 -7
  31. package/types/spine-core/Event.d.ts +0 -16
  32. package/types/spine-core/EventData.d.ts +0 -13
  33. package/types/spine-core/IkConstraint.d.ts +0 -38
  34. package/types/spine-core/IkConstraintData.d.ts +0 -26
  35. package/types/spine-core/PathConstraint.d.ts +0 -46
  36. package/types/spine-core/PathConstraintData.d.ts +0 -52
  37. package/types/spine-core/SharedAssetManager.d.ts +0 -19
  38. package/types/spine-core/Skeleton.d.ts +0 -134
  39. package/types/spine-core/SkeletonBinary.d.ts +0 -49
  40. package/types/spine-core/SkeletonBounds.d.ts +0 -48
  41. package/types/spine-core/SkeletonClipping.d.ts +0 -22
  42. package/types/spine-core/SkeletonData.d.ts +0 -89
  43. package/types/spine-core/SkeletonJson.d.ts +0 -34
  44. package/types/spine-core/Skin.d.ts +0 -43
  45. package/types/spine-core/Slot.d.ts +0 -42
  46. package/types/spine-core/SlotData.d.ts +0 -23
  47. package/types/spine-core/Texture.d.ts +0 -43
  48. package/types/spine-core/TextureAtlas.d.ts +0 -30
  49. package/types/spine-core/TransformConstraint.d.ts +0 -36
  50. package/types/spine-core/TransformConstraintData.d.ts +0 -34
  51. package/types/spine-core/Triangulator.d.ts +0 -14
  52. package/types/spine-core/Updatable.d.ts +0 -9
  53. package/types/spine-core/Utils.d.ts +0 -124
  54. package/types/spine-core/VertexEffect.d.ts +0 -7
  55. package/types/spine-core/attachments/Attachment.d.ts +0 -43
  56. package/types/spine-core/attachments/AttachmentLoader.d.ts +0 -25
  57. package/types/spine-core/attachments/AttachmentType.d.ts +0 -9
  58. package/types/spine-core/attachments/BoundingBoxAttachment.d.ts +0 -12
  59. package/types/spine-core/attachments/ClippingAttachment.d.ts +0 -14
  60. package/types/spine-core/attachments/MeshAttachment.d.ts +0 -46
  61. package/types/spine-core/attachments/PathAttachment.d.ts +0 -19
  62. package/types/spine-core/attachments/PointAttachment.d.ts +0 -20
  63. package/types/spine-core/attachments/RegionAttachment.d.ts +0 -88
  64. package/types/spine-core/index.d.ts +0 -45
  65. package/types/spine-core/polyfills.d.ts +0 -1
  66. package/types/spine-core/vertexeffects/JitterEffect.d.ts +0 -11
  67. package/types/spine-core/vertexeffects/SwirlEffect.d.ts +0 -16
  68. package/types/util/AttachmentTools.d.ts +0 -22
  69. package/types/util/BufferReader.d.ts +0 -10
  70. /package/types/{SpineMaterial.d.ts → renderer/SpineMaterial.d.ts} +0 -0
package/dist/browser.js CHANGED
@@ -1,29 +1 @@
1
- var t,e;t=this,e=function(t,e){"use strict";var s,i,a,r,n,l,o,h,d,c,u,f,m,g,p;function x(t,e,s,i){var a,r=arguments.length,n=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,i);else for(var l=t.length-1;l>=0;l--)(a=t[l])&&(n=(r<3?a(n):r>3?a(e,s,n):a(e,s))||n);return r>3&&n&&Object.defineProperty(e,s,n),n}"function"==typeof SuppressedError&&SuppressedError;class b{entries={};size=0;add(t){let e=this.entries[t];return this.entries[t]=!0,!e&&(this.size++,!0)}addAll(t){let e=this.size;for(var s=0,i=t.length;s<i;s++)this.add(t[s]);return e!=this.size}contains(t){return this.entries[t]}clear(){this.entries={},this.size=0}}class y{r;g;b;a;static WHITE=new y(1,1,1,1);static RED=new y(1,0,0,1);static GREEN=new y(0,1,0,1);static BLUE=new y(0,0,1,1);static MAGENTA=new y(1,0,1,1);constructor(t=0,e=0,s=0,i=0){this.r=t,this.g=e,this.b=s,this.a=i}set(t,e,s,i){return this.r=t,this.g=e,this.b=s,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=8!=t.length?1:parseInt(t.substr(6,2),16)/255,this}add(t,e,s,i){return this.r+=t,this.g+=e,this.b+=s,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,e){t.r=((0xff000000&e)>>>24)/255,t.g=((0xff0000&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255}static rgb888ToColor(t,e){t.r=((0xff0000&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255}toRgb888(){let t=t=>("0"+(255*t).toString(16)).slice(-2);return Number("0x"+t(this.r)+t(this.g)+t(this.b))}static fromString(t){return new y().setFromString(t)}}class w{static PI=3.1415927;static PI2=2*w.PI;static invPI2=1/w.PI2;static radiansToDegrees=180/w.PI;static radDeg=w.radiansToDegrees;static degreesToRadians=w.PI/180;static degRad=w.degreesToRadians;static clamp(t,e,s){return t<e?e:t>s?s:t}static cosDeg(t){return Math.cos(t*w.degRad)}static sinDeg(t){return Math.sin(t*w.degRad)}static atan2Deg(t,e){return Math.atan2(t,e)*w.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 e=Math.pow(Math.abs(t),1/3);return t<0?-e:e}static randomTriangular(t,e){return w.randomTriangularWith(t,e,(t+e)*.5)}static randomTriangularWith(t,e,s){let i=Math.random(),a=e-t;return i<=(s-t)/a?t+Math.sqrt(i*a*(s-t)):e-Math.sqrt((1-i)*a*(e-s))}static isPowerOfTwo(t){return t&&(t&t-1)==0}}class M{apply(t,e,s){return t+(e-t)*this.applyInternal(s)}}class S extends M{power=2;constructor(t){super(),this.power=t}applyInternal(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow((t-1)*2,this.power)/(this.power%2==0?-2:2)+1}}class k{static SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;static arrayCopy(t,e,s,i,a){for(let r=e,n=i;r<e+a;r++,n++)s[n]=t[r]}static arrayFill(t,e,s,i){for(let a=e;a<s;a++)t[a]=i}static setArraySize(t,e,s=0){let i=t.length;if(i==e)return t;if(t.length=e,i<e)for(let a=i;a<e;a++)t[a]=s;return t}static ensureArrayCapacity(t,e,s=0){return t.length>=e?t:k.setArraySize(t,e,s)}static newArray(t,e){let s=Array(t);for(let i=0;i<t;i++)s[i]=e;return s}static newFloatArray(t){if(k.SUPPORTS_TYPED_ARRAYS)return new Float32Array(t);{let e=Array(t);for(let t=0;t<e.length;t++)e[t]=0;return e}}static newShortArray(t){if(k.SUPPORTS_TYPED_ARRAYS)return new Int16Array(t);{let e=Array(t);for(let t=0;t<e.length;t++)e[t]=0;return e}}static toFloatArray(t){return k.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return k.SUPPORTS_TYPED_ARRAYS?Math.fround(t):t}static webkit602BugfixHelper(t,e){}static contains(t,e,s=!0){for(var i=0;i<t.length;i++)if(t[i]==e)return!0;return!1}static enumValue(t,e){return t[e[0].toUpperCase()+e.slice(1)]}}class I{items=[];instantiator;constructor(t){this.instantiator=t}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(t){t.reset&&t.reset(),this.items.push(t)}freeAll(t){for(let e=0;e<t.length;e++)this.free(t[e])}clear(){this.items.length=0}}class v{x;y;constructor(t=0,e=0){this.x=t,this.y=e}set(t,e){return this.x=t,this.y=e,this}length(){let t=this.x,e=this.y;return Math.sqrt(t*t+e*e)}normalize(){let t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this}}class T{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}}class B{name;constructor(t){if(!t)throw Error("name cannot be null.");this.name=t}}class A extends B{static nextID=0;id=A.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(t){super(t)}computeWorldVertices(t,e,s,i,a,r){s=a+(s>>1)*r;let n=t.bone.skeleton,l=t.deform,o=this.vertices,h=this.bones;if(!h){l.length>0&&(o=l);let n=t.bone,h=n.worldX,d=n.worldY,c=n.a,u=n.b,f=n.c,m=n.d;for(let t=e,n=a;n<s;t+=2,n+=r){let e=o[t],s=o[t+1];i[n]=e*c+s*u+h,i[n+1]=e*f+s*m+d}return}let d=0,c=0;for(let t=0;t<e;t+=2){let t=h[d];d+=t+1,c+=t}let u=n.bones;if(0==l.length)for(let t=a,e=3*c;t<s;t+=r){let s=0,a=0,r=h[d++];for(r+=d;d<r;d++,e+=3){let t=u[h[d]],i=o[e],r=o[e+1],n=o[e+2];s+=(i*t.a+r*t.b+t.worldX)*n,a+=(i*t.c+r*t.d+t.worldY)*n}i[t]=s,i[t+1]=a}else for(let t=a,e=3*c,n=c<<1;t<s;t+=r){let s=0,a=0,r=h[d++];for(r+=d;d<r;d++,e+=3,n+=2){let t=u[h[d]],i=o[e]+l[n],r=o[e+1]+l[n+1],c=o[e+2];s+=(i*t.a+r*t.b+t.worldX)*c,a+=(i*t.c+r*t.d+t.worldY)*c}i[t]=s,i[t+1]=a}}copyTo(t){this.bones?(t.bones=Array(this.bones.length),k.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,this.vertices&&(t.vertices=k.newFloatArray(this.vertices.length),k.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)),t.worldVerticesLength=this.worldVerticesLength,t.timelineAttachment=this.timelineAttachment}}class F{static _nextID=0;id=F.nextID();regions;start=0;digits=0;setupIndex=0;constructor(t){this.regions=Array(t)}copy(){let t=new F(this.regions.length);return k.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,e){let s=t.sequenceIndex;-1==s&&(s=this.setupIndex),s>=this.regions.length&&(s=this.regions.length-1);let i=this.regions[s];e.region!=i&&(e.region=i,e.updateRegion())}getPath(t,e){let s=t,i=(this.start+e).toString();for(let t=this.digits-i.length;t>0;t--)s+="0";return s+i}static nextID(){return F._nextID++}}(a=s||(s={}))[a.hold=0]="hold",a[a.once=1]="once",a[a.loop=2]="loop",a[a.pingpong=3]="pingpong",a[a.onceReverse=4]="onceReverse",a[a.loopReverse=5]="loopReverse",a[a.pingpongReverse=6]="pingpongReverse";let C=[s.hold,s.once,s.loop,s.pingpong,s.onceReverse,s.loopReverse,s.pingpongReverse];class E{name;timelines=[];timelineIds=new b;duration;constructor(t,e,s){if(!t)throw Error("name cannot be null.");this.name=t,this.setTimelines(e),this.duration=s}setTimelines(t){if(!t)throw Error("timelines cannot be null.");this.timelines=t,this.timelineIds.clear();for(var e=0;e<t.length;e++)this.timelineIds.addAll(t[e].getPropertyIds())}hasTimeline(t){for(let e=0;e<t.length;e++)if(this.timelineIds.contains(t[e]))return!0;return!1}apply(t,e,s,i,a,r,n,l){if(!t)throw Error("skeleton cannot be null.");i&&0!=this.duration&&(s%=this.duration,e>0&&(e%=this.duration));let o=this.timelines;for(let i=0,h=o.length;i<h;i++)o[i].apply(t,e,s,a,r,n,l)}}t.MixBlend=void 0,(r=t.MixBlend||(t.MixBlend={}))[r.setup=0]="setup",r[r.first=1]="first",r[r.replace=2]="replace",r[r.add=3]="add",t.MixDirection=void 0,(n=t.MixDirection||(t.MixDirection={}))[n.mixIn=0]="mixIn",n[n.mixOut=1]="mixOut";class R{propertyIds;frames;constructor(t,e){this.propertyIds=e,this.frames=k.newFloatArray(t*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(t,e){let s=t.length;for(let i=1;i<s;i++)if(t[i]>e)return i-1;return s-1}static search(t,e,s){let i=t.length;for(let a=s;a<i;a+=s)if(t[a]>e)return a-s;return i-s}}class Y extends R{curves;constructor(t,e,s){super(t,s),this.curves=k.newFloatArray(t+18*e),this.curves[t-1]=1}setLinear(t){this.curves[t]=0}setStepped(t){this.curves[t]=1}shrink(t){let e=this.getFrameCount()+18*t;if(this.curves.length>e){let t=k.newFloatArray(e);k.arrayCopy(this.curves,0,t,0,e),this.curves=t}}setBezier(t,e,s,i,a,r,n,l,o,h,d){let c=this.curves,u=this.getFrameCount()+18*t;0==s&&(c[e]=2+u);let f=(i-2*r+l)*.03,m=(a-2*n+o)*.03,g=((r-l)*3-i+h)*.006,p=((n-o)*3-a+d)*.006,x=2*f+g,b=2*m+p,y=(r-i)*.3+f+.16666667*g,w=(n-a)*.3+m+.16666667*p,M=i+y,S=a+w;for(let t=u+18;u<t;u+=2)c[u]=M,c[u+1]=S,y+=x,w+=b,x+=g,b+=p,M+=y,S+=w}getBezierValue(t,e,s,i){let a=this.curves;if(a[i]>t){let r=this.frames[e],n=this.frames[e+s];return n+(t-r)/(a[i]-r)*(a[i+1]-n)}let r=i+18;for(i+=2;i<r;i+=2)if(a[i]>=t){let e=a[i-2],s=a[i-1];return s+(t-e)/(a[i]-e)*(a[i+1]-s)}e+=this.getFrameEntries();let n=a[r-2],l=a[r-1];return l+(t-n)/(this.frames[e]-n)*(this.frames[e+s]-l)}}class P extends Y{constructor(t,e,s){super(t,e,[s])}getFrameEntries(){return 2}setFrame(t,e,s){t<<=1,this.frames[t]=e,this.frames[t+1]=s}getCurveValue(t){let e=this.frames,s=e.length-2;for(let i=2;i<=s;i+=2)if(e[i]>t){s=i-2;break}let i=this.curves[s>>1];switch(i){case 0:let a=e[s],r=e[s+1];return r+(t-a)/(e[s+2]-a)*(e[s+2+1]-r);case 1:return e[s+1]}return this.getBezierValue(t,s,1,i-2)}getRelativeValue(e,s,i,a,r){if(e<this.frames[0]){switch(i){case t.MixBlend.setup:return r;case t.MixBlend.first:return a+(r-a)*s}return a}let n=this.getCurveValue(e);switch(i){case t.MixBlend.setup:return r+n*s;case t.MixBlend.first:case t.MixBlend.replace:n+=r-a}return a+n*s}getAbsoluteValue(e,s,i,a,r){if(e<this.frames[0]){switch(i){case t.MixBlend.setup:return r;case t.MixBlend.first:return a+(r-a)*s}return a}let n=this.getCurveValue(e);return i==t.MixBlend.setup?r+(n-r)*s:a+(n-a)*s}getAbsoluteValue2(e,s,i,a,r,n){if(e<this.frames[0]){switch(i){case t.MixBlend.setup:return r;case t.MixBlend.first:return a+(r-a)*s}return a}return i==t.MixBlend.setup?r+(n-r)*s:a+(n-a)*s}getScaleValue(e,s,i,a,r,n){if(e<this.frames[0]){switch(i){case t.MixBlend.setup:return n;case t.MixBlend.first:return r+(n-r)*s}return r}let l=this.getCurveValue(e)*n;if(1==s)return i==t.MixBlend.add?r+l-n:l;if(a==t.MixDirection.mixOut)switch(i){case t.MixBlend.setup:return n+(Math.abs(l)*w.signum(n)-n)*s;case t.MixBlend.first:case t.MixBlend.replace:return r+(Math.abs(l)*w.signum(r)-r)*s}else{let e=0;switch(i){case t.MixBlend.setup:return(e=Math.abs(n)*w.signum(l))+(l-e)*s;case t.MixBlend.first:case t.MixBlend.replace:return(e=Math.abs(r)*w.signum(l))+(l-e)*s}}return r+(l-n)*s}}class X extends Y{constructor(t,e,s,i){super(t,e,[s,i])}getFrameEntries(){return 3}setFrame(t,e,s,i){t*=3,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=i}}class _ extends P{boneIndex=0;constructor(t,e,s){super(t,e,"0|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.rotation=this.getRelativeValue(s,a,r,l.rotation,l.data.rotation))}}class V extends X{boneIndex=0;constructor(t,e,s){super(t,e,"1|"+s,"2|"+s),this.boneIndex=s}apply(e,s,i,a,r,n,l){let o=e.bones[this.boneIndex];if(!o.active)return;let h=this.frames;if(i<h[0]){switch(n){case t.MixBlend.setup:o.x=o.data.x,o.y=o.data.y;break;case t.MixBlend.first:o.x+=(o.data.x-o.x)*r,o.y+=(o.data.y-o.y)*r}return}let d=0,c=0,u=R.search(h,i,3),f=this.curves[u/3];switch(f){case 0:let m=h[u];d=h[u+1],c=h[u+2];let g=(i-m)/(h[u+3]-m);d+=(h[u+3+1]-d)*g,c+=(h[u+3+2]-c)*g;break;case 1:d=h[u+1],c=h[u+2];break;default:d=this.getBezierValue(i,u,1,f-2),c=this.getBezierValue(i,u,2,f+18-2)}switch(n){case t.MixBlend.setup:o.x=o.data.x+d*r,o.y=o.data.y+c*r;break;case t.MixBlend.first:case t.MixBlend.replace:o.x+=(o.data.x+d-o.x)*r,o.y+=(o.data.y+c-o.y)*r;break;case t.MixBlend.add:o.x+=d*r,o.y+=c*r}}}class D extends P{boneIndex=0;constructor(t,e,s){super(t,e,"1|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.x=this.getRelativeValue(s,a,r,l.x,l.data.x))}}class O extends P{boneIndex=0;constructor(t,e,s){super(t,e,"2|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.y=this.getRelativeValue(s,a,r,l.y,l.data.y))}}class N extends X{boneIndex=0;constructor(t,e,s){super(t,e,"3|"+s,"4|"+s),this.boneIndex=s}apply(e,s,i,a,r,n,l){let o,h,d=e.bones[this.boneIndex];if(!d.active)return;let c=this.frames;if(i<c[0]){switch(n){case t.MixBlend.setup:d.scaleX=d.data.scaleX,d.scaleY=d.data.scaleY;break;case t.MixBlend.first:d.scaleX+=(d.data.scaleX-d.scaleX)*r,d.scaleY+=(d.data.scaleY-d.scaleY)*r}return}let u=R.search(c,i,3),f=this.curves[u/3];switch(f){case 0:let m=c[u];o=c[u+1],h=c[u+2];let g=(i-m)/(c[u+3]-m);o+=(c[u+3+1]-o)*g,h+=(c[u+3+2]-h)*g;break;case 1:o=c[u+1],h=c[u+2];break;default:o=this.getBezierValue(i,u,1,f-2),h=this.getBezierValue(i,u,2,f+18-2)}if(o*=d.data.scaleX,h*=d.data.scaleY,1==r)n==t.MixBlend.add?(d.scaleX+=o-d.data.scaleX,d.scaleY+=h-d.data.scaleY):(d.scaleX=o,d.scaleY=h);else{let e=0,s=0;if(l==t.MixDirection.mixOut)switch(n){case t.MixBlend.setup:e=d.data.scaleX,s=d.data.scaleY,d.scaleX=e+(Math.abs(o)*w.signum(e)-e)*r,d.scaleY=s+(Math.abs(h)*w.signum(s)-s)*r;break;case t.MixBlend.first:case t.MixBlend.replace:e=d.scaleX,s=d.scaleY,d.scaleX=e+(Math.abs(o)*w.signum(e)-e)*r,d.scaleY=s+(Math.abs(h)*w.signum(s)-s)*r;break;case t.MixBlend.add:d.scaleX+=(o-d.data.scaleX)*r,d.scaleY+=(h-d.data.scaleY)*r}else switch(n){case t.MixBlend.setup:e=Math.abs(d.data.scaleX)*w.signum(o),s=Math.abs(d.data.scaleY)*w.signum(h),d.scaleX=e+(o-e)*r,d.scaleY=s+(h-s)*r;break;case t.MixBlend.first:case t.MixBlend.replace:e=Math.abs(d.scaleX)*w.signum(o),s=Math.abs(d.scaleY)*w.signum(h),d.scaleX=e+(o-e)*r,d.scaleY=s+(h-s)*r;break;case t.MixBlend.add:d.scaleX+=(o-d.data.scaleX)*r,d.scaleY+=(h-d.data.scaleY)*r}}}}class L extends P{boneIndex=0;constructor(t,e,s){super(t,e,"3|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.scaleX=this.getScaleValue(s,a,r,n,l.scaleX,l.data.scaleX))}}class q extends P{boneIndex=0;constructor(t,e,s){super(t,e,"4|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.scaleY=this.getScaleValue(s,a,r,n,l.scaleY,l.data.scaleY))}}class U extends X{boneIndex=0;constructor(t,e,s){super(t,e,"5|"+s,"6|"+s),this.boneIndex=s}apply(e,s,i,a,r,n,l){let o=e.bones[this.boneIndex];if(!o.active)return;let h=this.frames;if(i<h[0]){switch(n){case t.MixBlend.setup:o.shearX=o.data.shearX,o.shearY=o.data.shearY;break;case t.MixBlend.first:o.shearX+=(o.data.shearX-o.shearX)*r,o.shearY+=(o.data.shearY-o.shearY)*r}return}let d=0,c=0,u=R.search(h,i,3),f=this.curves[u/3];switch(f){case 0:let m=h[u];d=h[u+1],c=h[u+2];let g=(i-m)/(h[u+3]-m);d+=(h[u+3+1]-d)*g,c+=(h[u+3+2]-c)*g;break;case 1:d=h[u+1],c=h[u+2];break;default:d=this.getBezierValue(i,u,1,f-2),c=this.getBezierValue(i,u,2,f+18-2)}switch(n){case t.MixBlend.setup:o.shearX=o.data.shearX+d*r,o.shearY=o.data.shearY+c*r;break;case t.MixBlend.first:case t.MixBlend.replace:o.shearX+=(o.data.shearX+d-o.shearX)*r,o.shearY+=(o.data.shearY+c-o.shearY)*r;break;case t.MixBlend.add:o.shearX+=d*r,o.shearY+=c*r}}}class W extends P{boneIndex=0;constructor(t,e,s){super(t,e,"5|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.shearX=this.getRelativeValue(s,a,r,l.shearX,l.data.shearX))}}class z extends P{boneIndex=0;constructor(t,e,s){super(t,e,"6|"+s),this.boneIndex=s}apply(t,e,s,i,a,r,n){let l=t.bones[this.boneIndex];l.active&&(l.shearY=this.getRelativeValue(s,a,r,l.shearY,l.data.shearY))}}class G extends R{boneIndex=0;constructor(t,e){super(t,["7|"+e]),this.boneIndex=e}getFrameEntries(){return 2}setFrame(t,e,s){t*=2,this.frames[t]=e,this.frames[t+1]=s}apply(e,s,i,a,r,n,l){let o=e.bones[this.boneIndex];if(!o.active)return;if(l==t.MixDirection.mixOut){n==t.MixBlend.setup&&(o.inherit=o.data.inherit);return}let h=this.frames;if(i<h[0]){(n==t.MixBlend.setup||n==t.MixBlend.first)&&(o.inherit=o.data.inherit);return}o.inherit=this.frames[R.search(h,i,2)+1]}}class $ extends Y{slotIndex=0;constructor(t,e,s){super(t,e,["8|"+s,"9|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(t,e,s,i,a,r){t*=5,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=i,this.frames[t+3]=a,this.frames[t+4]=r}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(!o.bone.active)return;let h=this.frames,d=o.color;if(i<h[0]){let e=o.data.color;switch(n){case t.MixBlend.setup:d.setFromColor(e);break;case t.MixBlend.first:d.add((e.r-d.r)*r,(e.g-d.g)*r,(e.b-d.b)*r,(e.a-d.a)*r)}return}let c=0,u=0,f=0,m=0,g=R.search(h,i,5),p=this.curves[g/5];switch(p){case 0:let x=h[g];c=h[g+1],u=h[g+2],f=h[g+3],m=h[g+4];let b=(i-x)/(h[g+5]-x);c+=(h[g+5+1]-c)*b,u+=(h[g+5+2]-u)*b,f+=(h[g+5+3]-f)*b,m+=(h[g+5+4]-m)*b;break;case 1:c=h[g+1],u=h[g+2],f=h[g+3],m=h[g+4];break;default:c=this.getBezierValue(i,g,1,p-2),u=this.getBezierValue(i,g,2,p+18-2),f=this.getBezierValue(i,g,3,p+36-2),m=this.getBezierValue(i,g,4,p+54-2)}1==r?d.set(c,u,f,m):(n==t.MixBlend.setup&&d.setFromColor(o.data.color),d.add((c-d.r)*r,(u-d.g)*r,(f-d.b)*r,(m-d.a)*r))}}class j extends Y{slotIndex=0;constructor(t,e,s){super(t,e,["8|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(t,e,s,i,a){t<<=2,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=i,this.frames[t+3]=a}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(!o.bone.active)return;let h=this.frames,d=o.color;if(i<h[0]){let e=o.data.color;switch(n){case t.MixBlend.setup:d.r=e.r,d.g=e.g,d.b=e.b;break;case t.MixBlend.first:d.r+=(e.r-d.r)*r,d.g+=(e.g-d.g)*r,d.b+=(e.b-d.b)*r}return}let c=0,u=0,f=0,m=R.search(h,i,4),g=this.curves[m>>2];switch(g){case 0:let p=h[m];c=h[m+1],u=h[m+2],f=h[m+3];let x=(i-p)/(h[m+4]-p);c+=(h[m+4+1]-c)*x,u+=(h[m+4+2]-u)*x,f+=(h[m+4+3]-f)*x;break;case 1:c=h[m+1],u=h[m+2],f=h[m+3];break;default:c=this.getBezierValue(i,m,1,g-2),u=this.getBezierValue(i,m,2,g+18-2),f=this.getBezierValue(i,m,3,g+36-2)}if(1==r)d.r=c,d.g=u,d.b=f;else{if(n==t.MixBlend.setup){let t=o.data.color;d.r=t.r,d.g=t.g,d.b=t.b}d.r+=(c-d.r)*r,d.g+=(u-d.g)*r,d.b+=(f-d.b)*r}}}class H extends P{slotIndex=0;constructor(t,e,s){super(t,e,"9|"+s),this.slotIndex=s}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(!o.bone.active)return;let h=o.color;if(i<this.frames[0]){let e=o.data.color;switch(n){case t.MixBlend.setup:h.a=e.a;break;case t.MixBlend.first:h.a+=(e.a-h.a)*r}return}let d=this.getCurveValue(i);1==r?h.a=d:(n==t.MixBlend.setup&&(h.a=o.data.color.a),h.a+=(d-h.a)*r)}}class J extends Y{slotIndex=0;constructor(t,e,s){super(t,e,["8|"+s,"9|"+s,"10|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(t,e,s,i,a,r,n,l,o){t<<=3,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=i,this.frames[t+3]=a,this.frames[t+4]=r,this.frames[t+5]=n,this.frames[t+6]=l,this.frames[t+7]=o}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(!o.bone.active)return;let h=this.frames,d=o.color,c=o.darkColor;if(i<h[0]){let e=o.data.color,s=o.data.darkColor;switch(n){case t.MixBlend.setup:d.setFromColor(e),c.r=s.r,c.g=s.g,c.b=s.b;break;case t.MixBlend.first:d.add((e.r-d.r)*r,(e.g-d.g)*r,(e.b-d.b)*r,(e.a-d.a)*r),c.r+=(s.r-c.r)*r,c.g+=(s.g-c.g)*r,c.b+=(s.b-c.b)*r}return}let u=0,f=0,m=0,g=0,p=0,x=0,b=0,y=R.search(h,i,8),w=this.curves[y>>3];switch(w){case 0:let M=h[y];u=h[y+1],f=h[y+2],m=h[y+3],g=h[y+4],p=h[y+5],x=h[y+6],b=h[y+7];let S=(i-M)/(h[y+8]-M);u+=(h[y+8+1]-u)*S,f+=(h[y+8+2]-f)*S,m+=(h[y+8+3]-m)*S,g+=(h[y+8+4]-g)*S,p+=(h[y+8+5]-p)*S,x+=(h[y+8+6]-x)*S,b+=(h[y+8+7]-b)*S;break;case 1:u=h[y+1],f=h[y+2],m=h[y+3],g=h[y+4],p=h[y+5],x=h[y+6],b=h[y+7];break;default:u=this.getBezierValue(i,y,1,w-2),f=this.getBezierValue(i,y,2,w+18-2),m=this.getBezierValue(i,y,3,w+36-2),g=this.getBezierValue(i,y,4,w+54-2),p=this.getBezierValue(i,y,5,w+72-2),x=this.getBezierValue(i,y,6,w+90-2),b=this.getBezierValue(i,y,7,w+108-2)}if(1==r)d.set(u,f,m,g),c.r=p,c.g=x,c.b=b;else{if(n==t.MixBlend.setup){d.setFromColor(o.data.color);let t=o.data.darkColor;c.r=t.r,c.g=t.g,c.b=t.b}d.add((u-d.r)*r,(f-d.g)*r,(m-d.b)*r,(g-d.a)*r),c.r+=(p-c.r)*r,c.g+=(x-c.g)*r,c.b+=(b-c.b)*r}}}class K extends Y{slotIndex=0;constructor(t,e,s){super(t,e,["8|"+s,"10|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(t,e,s,i,a,r,n,l){t*=7,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=i,this.frames[t+3]=a,this.frames[t+4]=r,this.frames[t+5]=n,this.frames[t+6]=l}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(!o.bone.active)return;let h=this.frames,d=o.color,c=o.darkColor;if(i<h[0]){let e=o.data.color,s=o.data.darkColor;switch(n){case t.MixBlend.setup:d.r=e.r,d.g=e.g,d.b=e.b,c.r=s.r,c.g=s.g,c.b=s.b;break;case t.MixBlend.first:d.r+=(e.r-d.r)*r,d.g+=(e.g-d.g)*r,d.b+=(e.b-d.b)*r,c.r+=(s.r-c.r)*r,c.g+=(s.g-c.g)*r,c.b+=(s.b-c.b)*r}return}let u=0,f=0,m=0,g=0,p=0,x=0,b=R.search(h,i,7),y=this.curves[b/7];switch(y){case 0:let w=h[b];u=h[b+1],f=h[b+2],m=h[b+3],g=h[b+4],p=h[b+5],x=h[b+6];let M=(i-w)/(h[b+7]-w);u+=(h[b+7+1]-u)*M,f+=(h[b+7+2]-f)*M,m+=(h[b+7+3]-m)*M,g+=(h[b+7+4]-g)*M,p+=(h[b+7+5]-p)*M,x+=(h[b+7+6]-x)*M;break;case 1:u=h[b+1],f=h[b+2],m=h[b+3],g=h[b+4],p=h[b+5],x=h[b+6];break;default:u=this.getBezierValue(i,b,1,y-2),f=this.getBezierValue(i,b,2,y+18-2),m=this.getBezierValue(i,b,3,y+36-2),g=this.getBezierValue(i,b,4,y+54-2),p=this.getBezierValue(i,b,5,y+72-2),x=this.getBezierValue(i,b,6,y+90-2)}if(1==r)d.r=u,d.g=f,d.b=m,c.r=g,c.g=p,c.b=x;else{if(n==t.MixBlend.setup){let t=o.data.color,e=o.data.darkColor;d.r=t.r,d.g=t.g,d.b=t.b,c.r=e.r,c.g=e.g,c.b=e.b}d.r+=(u-d.r)*r,d.g+=(f-d.g)*r,d.b+=(m-d.b)*r,c.r+=(g-c.r)*r,c.g+=(p-c.g)*r,c.b+=(x-c.b)*r}}}class Q extends R{slotIndex=0;attachmentNames;constructor(t,e){super(t,["11|"+e]),this.slotIndex=e,this.attachmentNames=Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.attachmentNames[t]=s}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(o.bone.active){if(l==t.MixDirection.mixOut){n==t.MixBlend.setup&&this.setAttachment(e,o,o.data.attachmentName);return}if(i<this.frames[0]){(n==t.MixBlend.setup||n==t.MixBlend.first)&&this.setAttachment(e,o,o.data.attachmentName);return}this.setAttachment(e,o,this.attachmentNames[R.search1(this.frames,i)])}}setAttachment(t,e,s){e.setAttachment(s?t.getAttachment(this.slotIndex,s):null)}}class Z extends Y{slotIndex=0;attachment;vertices;constructor(t,e,s,i){super(t,e,["12|"+s+"|"+i.id]),this.slotIndex=s,this.attachment=i,this.vertices=Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.vertices[t]=s}setBezier(t,e,s,i,a,r,n,l,o,h,d){let c=this.curves,u=this.getFrameCount()+18*t;0==s&&(c[e]=2+u);let f=(i-2*r+l)*.03,m=.03*o-.06*n,g=((r-l)*3-i+h)*.006,p=(n-o+.33333333)*.018,x=2*f+g,b=2*m+p,y=(r-i)*.3+f+.16666667*g,w=.3*n+m+.16666667*p,M=i+y,S=w;for(let t=u+18;u<t;u+=2)c[u]=M,c[u+1]=S,y+=x,w+=b,x+=g,b+=p,M+=y,S+=w}getCurvePercent(t,e){let s=this.curves,i=s[e];switch(i){case 0:let a=this.frames[e];return(t-a)/(this.frames[e+this.getFrameEntries()]-a);case 1:return 0}if(s[i-=2]>t){let a=this.frames[e];return s[i+1]*(t-a)/(s[i]-a)}let r=i+18;for(i+=2;i<r;i+=2)if(s[i]>=t){let e=s[i-2],a=s[i-1];return a+(t-e)/(s[i]-e)*(s[i+1]-a)}let n=s[r-2],l=s[r-1];return l+(1-l)*(t-n)/(this.frames[e+this.getFrameEntries()]-n)}apply(e,s,i,a,r,n,l){let o=e.slots[this.slotIndex];if(!o.bone.active)return;let h=o.getAttachment();if(!h||!(h instanceof A)||h.timelineAttachment!=this.attachment)return;let d=o.deform;0==d.length&&(n=t.MixBlend.setup);let c=this.vertices,u=c[0].length,f=this.frames;if(i<f[0]){switch(n){case t.MixBlend.setup:d.length=0;break;case t.MixBlend.first:if(1==r){d.length=0;break}if(d.length=u,h.bones){r=1-r;for(var m=0;m<u;m++)d[m]*=r}else{let t=h.vertices;for(var m=0;m<u;m++)d[m]+=(t[m]-d[m])*r}}return}if(d.length=u,i>=f[f.length-1]){let e=c[f.length-1];if(1==r){if(n==t.MixBlend.add){if(h.bones)for(let t=0;t<u;t++)d[t]+=e[t];else{let t=h.vertices;for(let s=0;s<u;s++)d[s]+=e[s]-t[s]}}else k.arrayCopy(e,0,d,0,u)}else switch(n){case t.MixBlend.setup:if(h.bones)for(let t=0;t<u;t++)d[t]=e[t]*r;else{let t=h.vertices;for(let s=0;s<u;s++){let i=t[s];d[s]=i+(e[s]-i)*r}}break;case t.MixBlend.first:case t.MixBlend.replace:for(let t=0;t<u;t++)d[t]+=(e[t]-d[t])*r;break;case t.MixBlend.add:if(h.bones)for(let t=0;t<u;t++)d[t]+=e[t]*r;else{let t=h.vertices;for(let s=0;s<u;s++)d[s]+=(e[s]-t[s])*r}}return}let g=R.search1(f,i),p=this.getCurvePercent(i,g),x=c[g],b=c[g+1];if(1==r){if(n==t.MixBlend.add){if(h.bones)for(let t=0;t<u;t++){let e=x[t];d[t]+=e+(b[t]-e)*p}else{let t=h.vertices;for(let e=0;e<u;e++){let s=x[e];d[e]+=s+(b[e]-s)*p-t[e]}}}else for(let t=0;t<u;t++){let e=x[t];d[t]=e+(b[t]-e)*p}}else switch(n){case t.MixBlend.setup:if(h.bones)for(let t=0;t<u;t++){let e=x[t];d[t]=(e+(b[t]-e)*p)*r}else{let t=h.vertices;for(let e=0;e<u;e++){let s=x[e],i=t[e];d[e]=i+(s+(b[e]-s)*p-i)*r}}break;case t.MixBlend.first:case t.MixBlend.replace:for(let t=0;t<u;t++){let e=x[t];d[t]+=(e+(b[t]-e)*p-d[t])*r}break;case t.MixBlend.add:if(h.bones)for(let t=0;t<u;t++){let e=x[t];d[t]+=(e+(b[t]-e)*p)*r}else{let t=h.vertices;for(let e=0;e<u;e++){let s=x[e];d[e]+=(s+(b[e]-s)*p-t[e])*r}}}}}class tt extends R{static propertyIds=["13"];events;constructor(t){super(t,tt.propertyIds),this.events=Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e){this.frames[t]=e.time,this.events[t]=e}apply(t,e,s,i,a,r,n){if(!i)return;let l=this.frames,o=this.frames.length;if(e>s)this.apply(t,e,Number.MAX_VALUE,i,a,r,n),e=-1;else if(e>=l[o-1])return;if(s<l[0])return;let h=0;if(e<l[0])h=0;else{h=R.search1(l,e)+1;let t=l[h];for(;h>0&&l[h-1]==t;)h--}for(;h<o&&s>=l[h];h++)i.push(this.events[h])}}class te extends R{static propertyIds=["14"];drawOrders;constructor(t){super(t,te.propertyIds),this.drawOrders=Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.drawOrders[t]=s}apply(e,s,i,a,r,n,l){if(l==t.MixDirection.mixOut){n==t.MixBlend.setup&&k.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}if(i<this.frames[0]){(n==t.MixBlend.setup||n==t.MixBlend.first)&&k.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}let o=R.search1(this.frames,i),h=this.drawOrders[o];if(h){let t=e.drawOrder,s=e.slots;for(let e=0,i=h.length;e<i;e++)t[e]=s[h[e]]}else k.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length)}}class ts extends Y{constraintIndex=0;constructor(t,e,s){super(t,e,["15|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(t,e,s,i,a,r,n){t*=6,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=i,this.frames[t+3]=a,this.frames[t+4]=r?1:0,this.frames[t+5]=n?1:0}apply(e,s,i,a,r,n,l){let o=e.ikConstraints[this.constraintIndex];if(!o.active)return;let h=this.frames;if(i<h[0]){switch(n){case t.MixBlend.setup:o.mix=o.data.mix,o.softness=o.data.softness,o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,o.stretch=o.data.stretch;break;case t.MixBlend.first:o.mix+=(o.data.mix-o.mix)*r,o.softness+=(o.data.softness-o.softness)*r,o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,o.stretch=o.data.stretch}return}let d=0,c=0,u=R.search(h,i,6),f=this.curves[u/6];switch(f){case 0:let m=h[u];d=h[u+1],c=h[u+2];let g=(i-m)/(h[u+6]-m);d+=(h[u+6+1]-d)*g,c+=(h[u+6+2]-c)*g;break;case 1:d=h[u+1],c=h[u+2];break;default:d=this.getBezierValue(i,u,1,f-2),c=this.getBezierValue(i,u,2,f+18-2)}n==t.MixBlend.setup?(o.mix=o.data.mix+(d-o.data.mix)*r,o.softness=o.data.softness+(c-o.data.softness)*r,l==t.MixDirection.mixOut?(o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,o.stretch=o.data.stretch):(o.bendDirection=h[u+3],o.compress=0!=h[u+4],o.stretch=0!=h[u+5])):(o.mix+=(d-o.mix)*r,o.softness+=(c-o.softness)*r,l==t.MixDirection.mixIn&&(o.bendDirection=h[u+3],o.compress=0!=h[u+4],o.stretch=0!=h[u+5]))}}class ti extends Y{constraintIndex=0;constructor(t,e,s){super(t,e,["16|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(t,e,s,i,a,r,n,l){let o=this.frames;o[t*=7]=e,o[t+1]=s,o[t+2]=i,o[t+3]=a,o[t+4]=r,o[t+5]=n,o[t+6]=l}apply(e,s,i,a,r,n,l){let o,h,d,c,u,f,m=e.transformConstraints[this.constraintIndex];if(!m.active)return;let g=this.frames;if(i<g[0]){let e=m.data;switch(n){case t.MixBlend.setup:m.mixRotate=e.mixRotate,m.mixX=e.mixX,m.mixY=e.mixY,m.mixScaleX=e.mixScaleX,m.mixScaleY=e.mixScaleY,m.mixShearY=e.mixShearY;break;case t.MixBlend.first:m.mixRotate+=(e.mixRotate-m.mixRotate)*r,m.mixX+=(e.mixX-m.mixX)*r,m.mixY+=(e.mixY-m.mixY)*r,m.mixScaleX+=(e.mixScaleX-m.mixScaleX)*r,m.mixScaleY+=(e.mixScaleY-m.mixScaleY)*r,m.mixShearY+=(e.mixShearY-m.mixShearY)*r}return}let p=R.search(g,i,7),x=this.curves[p/7];switch(x){case 0:let b=g[p];o=g[p+1],h=g[p+2],d=g[p+3],c=g[p+4],u=g[p+5],f=g[p+6];let y=(i-b)/(g[p+7]-b);o+=(g[p+7+1]-o)*y,h+=(g[p+7+2]-h)*y,d+=(g[p+7+3]-d)*y,c+=(g[p+7+4]-c)*y,u+=(g[p+7+5]-u)*y,f+=(g[p+7+6]-f)*y;break;case 1:o=g[p+1],h=g[p+2],d=g[p+3],c=g[p+4],u=g[p+5],f=g[p+6];break;default:o=this.getBezierValue(i,p,1,x-2),h=this.getBezierValue(i,p,2,x+18-2),d=this.getBezierValue(i,p,3,x+36-2),c=this.getBezierValue(i,p,4,x+54-2),u=this.getBezierValue(i,p,5,x+72-2),f=this.getBezierValue(i,p,6,x+90-2)}if(n==t.MixBlend.setup){let t=m.data;m.mixRotate=t.mixRotate+(o-t.mixRotate)*r,m.mixX=t.mixX+(h-t.mixX)*r,m.mixY=t.mixY+(d-t.mixY)*r,m.mixScaleX=t.mixScaleX+(c-t.mixScaleX)*r,m.mixScaleY=t.mixScaleY+(u-t.mixScaleY)*r,m.mixShearY=t.mixShearY+(f-t.mixShearY)*r}else m.mixRotate+=(o-m.mixRotate)*r,m.mixX+=(h-m.mixX)*r,m.mixY+=(d-m.mixY)*r,m.mixScaleX+=(c-m.mixScaleX)*r,m.mixScaleY+=(u-m.mixScaleY)*r,m.mixShearY+=(f-m.mixShearY)*r}}class ta extends P{constraintIndex=0;constructor(t,e,s){super(t,e,"17|"+s),this.constraintIndex=s}apply(t,e,s,i,a,r,n){let l=t.pathConstraints[this.constraintIndex];l.active&&(l.position=this.getAbsoluteValue(s,a,r,l.position,l.data.position))}}class tr extends P{constraintIndex=0;constructor(t,e,s){super(t,e,"18|"+s),this.constraintIndex=s}apply(t,e,s,i,a,r,n){let l=t.pathConstraints[this.constraintIndex];l.active&&(l.spacing=this.getAbsoluteValue(s,a,r,l.spacing,l.data.spacing))}}class tn extends Y{constraintIndex=0;constructor(t,e,s){super(t,e,["19|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(t,e,s,i,a){let r=this.frames;r[t<<=2]=e,r[t+1]=s,r[t+2]=i,r[t+3]=a}apply(e,s,i,a,r,n,l){let o,h,d,c=e.pathConstraints[this.constraintIndex];if(!c.active)return;let u=this.frames;if(i<u[0]){switch(n){case t.MixBlend.setup:c.mixRotate=c.data.mixRotate,c.mixX=c.data.mixX,c.mixY=c.data.mixY;break;case t.MixBlend.first:c.mixRotate+=(c.data.mixRotate-c.mixRotate)*r,c.mixX+=(c.data.mixX-c.mixX)*r,c.mixY+=(c.data.mixY-c.mixY)*r}return}let f=R.search(u,i,4),m=this.curves[f>>2];switch(m){case 0:let g=u[f];o=u[f+1],h=u[f+2],d=u[f+3];let p=(i-g)/(u[f+4]-g);o+=(u[f+4+1]-o)*p,h+=(u[f+4+2]-h)*p,d+=(u[f+4+3]-d)*p;break;case 1:o=u[f+1],h=u[f+2],d=u[f+3];break;default:o=this.getBezierValue(i,f,1,m-2),h=this.getBezierValue(i,f,2,m+18-2),d=this.getBezierValue(i,f,3,m+36-2)}if(n==t.MixBlend.setup){let t=c.data;c.mixRotate=t.mixRotate+(o-t.mixRotate)*r,c.mixX=t.mixX+(h-t.mixX)*r,c.mixY=t.mixY+(d-t.mixY)*r}else c.mixRotate+=(o-c.mixRotate)*r,c.mixX+=(h-c.mixX)*r,c.mixY+=(d-c.mixY)*r}}class tl extends P{constraintIndex=0;constructor(t,e,s,i){super(t,e,i+"|"+s),this.constraintIndex=s}apply(t,e,s,i,a,r,n){let l;if(-1==this.constraintIndex){let e=s>=this.frames[0]?this.getCurveValue(s):0;for(let i of t.physicsConstraints)i.active&&this.global(i.data)&&this.set(i,this.getAbsoluteValue2(s,a,r,this.get(i),this.setup(i),e))}else(l=t.physicsConstraints[this.constraintIndex]).active&&this.set(l,this.getAbsoluteValue(s,a,r,this.get(l),this.setup(l)))}}class to extends tl{constructor(t,e,s){super(t,e,s,20)}setup(t){return t.data.inertia}get(t){return t.inertia}set(t,e){t.inertia=e}global(t){return t.inertiaGlobal}}class th extends tl{constructor(t,e,s){super(t,e,s,21)}setup(t){return t.data.strength}get(t){return t.strength}set(t,e){t.strength=e}global(t){return t.strengthGlobal}}class td extends tl{constructor(t,e,s){super(t,e,s,22)}setup(t){return t.data.damping}get(t){return t.damping}set(t,e){t.damping=e}global(t){return t.dampingGlobal}}class tc extends tl{constructor(t,e,s){super(t,e,s,23)}setup(t){return 1/t.data.massInverse}get(t){return 1/t.massInverse}set(t,e){t.massInverse=1/e}global(t){return t.massGlobal}}class tu extends tl{constructor(t,e,s){super(t,e,s,24)}setup(t){return t.data.wind}get(t){return t.wind}set(t,e){t.wind=e}global(t){return t.windGlobal}}class tf extends tl{constructor(t,e,s){super(t,e,s,25)}setup(t){return t.data.gravity}get(t){return t.gravity}set(t,e){t.gravity=e}global(t){return t.gravityGlobal}}class tm extends tl{constructor(t,e,s){super(t,e,s,26)}setup(t){return t.data.mix}get(t){return t.mix}set(t,e){t.mix=e}global(t){return t.mixGlobal}}class tg extends R{static propertyIds=["27"];constraintIndex;constructor(t,e){super(t,tg.propertyIds),this.constraintIndex=e}getFrameCount(){return this.frames.length}setFrame(t,e){this.frames[t]=e}apply(t,e,s,i,a,r,n){let l;if(-1!=this.constraintIndex&&!(l=t.physicsConstraints[this.constraintIndex]).active)return;let o=this.frames;if(e>s)this.apply(t,e,Number.MAX_VALUE,[],a,r,n),e=-1;else if(e>=o[o.length-1])return;if(!(s<o[0])&&(e<o[0]||s>=o[R.search1(o,e)+1])){if(null!=l)l.reset();else for(let e of t.physicsConstraints)e.active&&e.reset()}}}class tp extends R{static ENTRIES=3;static MODE=1;static DELAY=2;slotIndex;attachment;constructor(t,e,s){super(t,["28|"+e+"|"+s.sequence.id]),this.slotIndex=e,this.attachment=s}getFrameEntries(){return tp.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(t,e,s,i,a){let r=this.frames;r[t*=tp.ENTRIES]=e,r[t+tp.MODE]=s|i<<4,r[t+tp.DELAY]=a}apply(e,i,a,r,n,l,o){let h=e.slots[this.slotIndex];if(!h.bone.active)return;let d=h.attachment,c=this.attachment;if(d!=c&&(!(d instanceof A)||d.timelineAttachment!=c))return;if(o==t.MixDirection.mixOut){l==t.MixBlend.setup&&(h.sequenceIndex=-1);return}let u=this.frames;if(a<u[0]){(l==t.MixBlend.setup||l==t.MixBlend.first)&&(h.sequenceIndex=-1);return}let f=R.search(u,a,tp.ENTRIES),m=u[f],g=u[f+tp.MODE],p=u[f+tp.DELAY];if(!this.attachment.sequence)return;let x=g>>4,b=this.attachment.sequence.regions.length,y=C[15&g];if(y!=s.hold)switch(x+=(a-m)/p+1e-5|0,y){case s.once:x=Math.min(b-1,x);break;case s.loop:x%=b;break;case s.pingpong:{let t=(b<<1)-2;(x=0==t?0:x%t)>=b&&(x=t-x);break}case s.onceReverse:x=Math.max(b-1-x,0);break;case s.loopReverse:x=b-1-x%b;break;case s.pingpongReverse:{let t=(b<<1)-2;(x=0==t?0:(x+b-1)%t)>=b&&(x=t-x)}}h.sequenceIndex=x}}class tx{static _emptyAnimation=new E("<empty>",[],0);static emptyAnimation(){return tx._emptyAnimation}data;tracks=[];timeScale=1;unkeyedState=0;events=[];listeners=[];queue=new ty(this);propertyIDs=new b;animationsChanged=!1;trackEntryPool=new I(()=>new tb);constructor(t){this.data=t}update(t){t*=this.timeScale;let e=this.tracks;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(!i)continue;i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast;let a=t*i.timeScale;if(i.delay>0){if(i.delay-=a,i.delay>0)continue;a=-i.delay,i.delay=0}let r=i.next;if(r){let e=i.trackLast-r.delay;if(e>=0){for(r.delay=0,r.trackTime+=0==i.timeScale?0:(e/i.timeScale+t)*r.timeScale,i.trackTime+=a,this.setCurrent(s,r,!0);r.mixingFrom;)r.mixTime+=t,r=r.mixingFrom;continue}}else if(i.trackLast>=i.trackEnd&&!i.mixingFrom){e[s]=null,this.queue.end(i),this.clearNext(i);continue}if(i.mixingFrom&&this.updateMixingFrom(i,t)){let t=i.mixingFrom;for(i.mixingFrom=null,t&&(t.mixingTo=null);t;)this.queue.end(t),t=t.mixingFrom}i.trackTime+=a}this.queue.drain()}updateMixingFrom(t,e){let s=t.mixingFrom;if(!s)return!0;let i=this.updateMixingFrom(s,e);return(s.animationLast=s.nextAnimationLast,s.trackLast=s.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration)?((0==s.totalAlpha||0==t.mixDuration)&&(t.mixingFrom=s.mixingFrom,s.mixingFrom&&(s.mixingFrom.mixingTo=t),t.interruptAlpha=s.interruptAlpha,this.queue.end(s)),i):(s.trackTime+=e*s.timeScale,t.mixTime+=e,!1)}apply(e){if(!e)throw Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let s=this.events,i=this.tracks,a=!1;for(let n=0,l=i.length;n<l;n++){let l=i[n];if(!l||l.delay>0)continue;a=!0;let o=0==n?t.MixBlend.first:l.mixBlend,h=l.alpha;l.mixingFrom?h*=this.applyMixingFrom(l,e,o):l.trackTime>=l.trackEnd&&!l.next&&(h=0);let d=h>=l.alphaAttachmentThreshold,c=l.animationLast,u=l.getAnimationTime(),f=u,m=s;l.reverse&&(f=l.animation.duration-f,m=null);let g=l.animation.timelines,p=g.length;if(0==n&&1==h||o==t.MixBlend.add){0==n&&(d=!0);for(let s=0;s<p;s++){k.webkit602BugfixHelper(h,o);var r=g[s];r instanceof Q?this.applyAttachmentTimeline(r,e,f,o,d):r.apply(e,c,f,m,h,o,t.MixDirection.mixIn)}}else{let s=l.timelineMode,i=l.shortestRotation,a=!i&&l.timelinesRotation.length!=p<<1;a&&(l.timelinesRotation.length=p<<1);for(let r=0;r<p;r++){let n=g[r],u=s[r]==tw?o:t.MixBlend.setup;!i&&n instanceof _?this.applyRotateTimeline(n,e,f,h,u,l.timelinesRotation,r<<1,a):n instanceof Q?this.applyAttachmentTimeline(n,e,f,o,d):(k.webkit602BugfixHelper(h,o),n.apply(e,c,f,m,h,u,t.MixDirection.mixIn))}}this.queueEvents(l,u),s.length=0,l.nextAnimationLast=u,l.nextTrackLast=l.trackTime}for(var n=this.unkeyedState+tv,l=e.slots,o=0,h=e.slots.length;o<h;o++){var d=l[o];if(d.attachmentState==n){var c=d.data.attachmentName;d.setAttachment(c?e.getAttachment(d.data.index,c):null)}}return this.unkeyedState+=2,this.queue.drain(),a}applyMixingFrom(e,s,i){let a=e.mixingFrom;a.mixingFrom&&this.applyMixingFrom(a,s,i);let r=0;0==e.mixDuration?(r=1,i==t.MixBlend.first&&(i=t.MixBlend.setup)):((r=e.mixTime/e.mixDuration)>1&&(r=1),i!=t.MixBlend.first&&(i=a.mixBlend));let n=r<a.mixAttachmentThreshold,l=r<a.mixDrawOrderThreshold,o=a.animation.timelines,h=o.length,d=a.alpha*e.interruptAlpha,c=d*(1-r),u=a.animationLast,f=a.getAnimationTime(),m=f,g=null;if(a.reverse?m=a.animation.duration-m:r<a.eventThreshold&&(g=this.events),i==t.MixBlend.add)for(let e=0;e<h;e++)o[e].apply(s,u,m,g,c,i,t.MixDirection.mixOut);else{let e=a.timelineMode,r=a.timelineHoldMix,f=a.shortestRotation,p=!f&&a.timelinesRotation.length!=h<<1;p&&(a.timelinesRotation.length=h<<1),a.totalAlpha=0;for(let x=0;x<h;x++){let h,b=o[x],y=t.MixDirection.mixOut,w=0;switch(e[x]){case tw:if(!l&&b instanceof te)continue;h=i,w=c;break;case tM:h=t.MixBlend.setup,w=c;break;case tS:h=i,w=d;break;case tk:h=t.MixBlend.setup,w=d;break;default:h=t.MixBlend.setup;let M=r[x];w=d*Math.max(0,1-M.mixTime/M.mixDuration)}a.totalAlpha+=w,!f&&b instanceof _?this.applyRotateTimeline(b,s,m,w,h,a.timelinesRotation,x<<1,p):b instanceof Q?this.applyAttachmentTimeline(b,s,m,h,n&&w>=a.alphaAttachmentThreshold):(k.webkit602BugfixHelper(w,i),l&&b instanceof te&&h==t.MixBlend.setup&&(y=t.MixDirection.mixIn),b.apply(s,u,m,g,w,h,y))}}return e.mixDuration>0&&this.queueEvents(a,f),this.events.length=0,a.nextAnimationLast=f,a.nextTrackLast=a.trackTime,r}applyAttachmentTimeline(e,s,i,a,r){var n=s.slots[e.slotIndex];n.bone.active&&(i<e.frames[0]?(a==t.MixBlend.setup||a==t.MixBlend.first)&&this.setAttachment(s,n,n.data.attachmentName,r):this.setAttachment(s,n,e.attachmentNames[R.search1(e.frames,i)],r),n.attachmentState<=this.unkeyedState&&(n.attachmentState=this.unkeyedState+tv))}setAttachment(t,e,s,i){e.setAttachment(s?t.getAttachment(e.data.index,s):null),i&&(e.attachmentState=this.unkeyedState+tT)}applyRotateTimeline(e,s,i,a,r,n,l,o){if(o&&(n[l]=0),1==a){e.apply(s,0,i,null,1,r,t.MixDirection.mixIn);return}let h=s.bones[e.boneIndex];if(!h.active)return;let d=e.frames,c=0,u=0;if(i<d[0])switch(r){case t.MixBlend.setup:h.rotation=h.data.rotation;default:return;case t.MixBlend.first:c=h.rotation,u=h.data.rotation}else c=r==t.MixBlend.setup?h.data.rotation:h.rotation,u=h.data.rotation+e.getCurveValue(i);let f=0,m=u-c;if(0==(m-=360*Math.ceil(m/360-.5)))f=n[l];else{let t=0,e=0;o?(t=0,e=m):(t=n[l],e=n[l+1]);let s=t-t%360;f=m+s;let i=m>=0,a=t>=0;90>=Math.abs(e)&&w.signum(e)!=w.signum(m)&&(Math.abs(t-s)>180?(f+=360*w.signum(t),a=i):0!=s?f-=360*w.signum(t):a=i),a!=i&&(f+=360*w.signum(t)),n[l]=f}n[l+1]=m,h.rotation=c+f*a}queueEvents(t,e){let s=t.animationStart,i=t.animationEnd,a=i-s,r=t.trackLast%a,n=this.events,l=0,o=n.length;for(;l<o;l++){let e=n[l];if(e.time<r)break;e.time>i||this.queue.event(t,e)}let h=!1;if(t.loop){if(0==a)h=!0;else{let e=Math.floor(t.trackTime/a);h=e>0&&e>Math.floor(t.trackLast/a)}}else h=e>=i&&t.animationLast<i;for(h&&this.queue.complete(t);l<o;l++){let e=n[l];e.time<s||this.queue.event(t,e)}}clearTracks(){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let t=0,e=this.tracks.length;t<e;t++)this.clearTrack(t);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}clearTrack(t){if(t>=this.tracks.length)return;let e=this.tracks[t];if(!e)return;this.queue.end(e),this.clearNext(e);let s=e;for(;;){let t=s.mixingFrom;if(!t)break;this.queue.end(t),s.mixingFrom=null,s.mixingTo=null,s=t}this.tracks[e.trackIndex]=null,this.queue.drain()}setCurrent(t,e,s){let i=this.expandToIndex(t);this.tracks[t]=e,e.previous=null,i&&(s&&this.queue.interrupt(i),e.mixingFrom=i,i.mixingTo=e,e.mixTime=0,i.mixingFrom&&i.mixDuration>0&&(e.interruptAlpha*=Math.min(1,i.mixTime/i.mixDuration)),i.timelinesRotation.length=0),this.queue.start(e)}setAnimation(t,e,s=!1){let i=this.data.skeletonData.findAnimation(e);if(!i)throw Error("Animation not found: "+e);return this.setAnimationWith(t,i,s)}setAnimationWith(t,e,s=!1){if(!e)throw Error("animation cannot be null.");let i=!0,a=this.expandToIndex(t);a&&(-1==a.nextTrackLast?(this.tracks[t]=a.mixingFrom,this.queue.interrupt(a),this.queue.end(a),this.clearNext(a),a=a.mixingFrom,i=!1):this.clearNext(a));let r=this.trackEntry(t,e,s,a);return this.setCurrent(t,r,i),this.queue.drain(),r}addAnimation(t,e,s=!1,i=0){let a=this.data.skeletonData.findAnimation(e);if(!a)throw Error("Animation not found: "+e);return this.addAnimationWith(t,a,s,i)}addAnimationWith(t,e,s=!1,i=0){if(!e)throw Error("animation cannot be null.");let a=this.expandToIndex(t);if(a)for(;a.next;)a=a.next;let r=this.trackEntry(t,e,s,a);return a?(a.next=r,r.previous=a,i<=0&&(i+=a.getTrackComplete()-r.mixDuration)):(this.setCurrent(t,r,!0),this.queue.drain()),r.delay=i,r}setEmptyAnimation(t,e=0){let s=this.setAnimationWith(t,tx.emptyAnimation(),!1);return s.mixDuration=e,s.trackEnd=e,s}addEmptyAnimation(t,e=0,s=0){let i=this.addAnimationWith(t,tx.emptyAnimation(),!1,s);return s<=0&&(i.delay+=i.mixDuration-e),i.mixDuration=e,i.trackEnd=e,i}setEmptyAnimations(t=0){let e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let e=0,s=this.tracks.length;e<s;e++){let s=this.tracks[e];s&&this.setEmptyAnimation(s.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()}expandToIndex(t){return t<this.tracks.length?this.tracks[t]:(k.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}trackEntry(e,s,i,a){let r=this.trackEntryPool.obtain();return r.reset(),r.trackIndex=e,r.animation=s,r.loop=i,r.holdPrevious=!1,r.reverse=!1,r.shortestRotation=!1,r.eventThreshold=0,r.alphaAttachmentThreshold=0,r.mixAttachmentThreshold=0,r.mixDrawOrderThreshold=0,r.animationStart=0,r.animationEnd=s.duration,r.animationLast=-1,r.nextAnimationLast=-1,r.delay=0,r.trackTime=0,r.trackLast=-1,r.nextTrackLast=-1,r.trackEnd=Number.MAX_VALUE,r.timeScale=1,r.alpha=1,r.mixTime=0,r.mixDuration=a?this.data.getMix(a.animation,s):0,r.interruptAlpha=1,r.totalAlpha=0,r.mixBlend=t.MixBlend.replace,r}clearNext(t){let e=t.next;for(;e;)this.queue.dispose(e),e=e.next;t.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let e=this.tracks;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i){for(;i.mixingFrom;)i=i.mixingFrom;do i.mixingTo&&i.mixBlend==t.MixBlend.add||this.computeHold(i),i=i.mixingTo;while(i)}}}computeHold(t){let e=t.mixingTo,s=t.animation.timelines,i=t.animation.timelines.length,a=t.timelineMode;a.length=i;let r=t.timelineHoldMix;r.length=0;let n=this.propertyIDs;if(e&&e.holdPrevious){for(let t=0;t<i;t++)a[t]=n.addAll(s[t].getPropertyIds())?tk:tS;return}t:for(let l=0;l<i;l++){let i=s[l],o=i.getPropertyIds();if(n.addAll(o)){if(!e||i instanceof Q||i instanceof te||i instanceof tt||!e.animation.hasTimeline(o))a[l]=tM;else{for(let s=e.mixingTo;s;s=s.mixingTo)if(!s.animation.hasTimeline(o)){if(t.mixDuration>0){a[l]=tI,r[l]=s;continue t}break}a[l]=tk}}else a[l]=tw}}getCurrent(t){return t>=this.tracks.length?null:this.tracks[t]}addListener(t){if(!t)throw Error("listener cannot be null.");this.listeners.push(t)}removeListener(t){let e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}}class tb{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(t){this._mixDuration=t}setMixDurationWithDelay(t,e){this._mixDuration=t,null!=this.previous&&e<=0&&(e+=this.previous.getTrackComplete()-t),this.delay=e}mixBlend=t.MixBlend.replace;timelineMode=[];timelineHoldMix=[];timelinesRotation=[];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 t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(t){this.animationLast=t,this.nextAnimationLast=t}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let t=this.animationEnd-this.animationStart;if(0!=t){if(this.loop)return t*(1+(this.trackTime/t|0));if(this.trackTime<t)return t}return this.trackTime}wasApplied(){return -1!=this.nextTrackLast}isNextReady(){return null!=this.next&&this.nextTrackLast-this.next.delay>=0}}class ty{objects=[];drainDisabled=!1;animState;constructor(t){this.animState=t}start(e){this.objects.push(t.EventType.start),this.objects.push(e),this.animState.animationsChanged=!0}interrupt(e){this.objects.push(t.EventType.interrupt),this.objects.push(e)}end(e){this.objects.push(t.EventType.end),this.objects.push(e),this.animState.animationsChanged=!0}dispose(e){this.objects.push(t.EventType.dispose),this.objects.push(e)}complete(e){this.objects.push(t.EventType.complete),this.objects.push(e)}event(e,s){this.objects.push(t.EventType.event),this.objects.push(e),this.objects.push(s)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let e=this.objects,s=this.animState.listeners;for(let i=0;i<e.length;i+=2){let a=e[i],r=e[i+1];switch(a){case t.EventType.start:r.listener&&r.listener.start&&r.listener.start(r);for(let t=0;t<s.length;t++){let e=s[t];e.start&&e.start(r)}break;case t.EventType.interrupt:r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(let t=0;t<s.length;t++){let e=s[t];e.interrupt&&e.interrupt(r)}break;case t.EventType.end:r.listener&&r.listener.end&&r.listener.end(r);for(let t=0;t<s.length;t++){let e=s[t];e.end&&e.end(r)}case t.EventType.dispose:r.listener&&r.listener.dispose&&r.listener.dispose(r);for(let t=0;t<s.length;t++){let e=s[t];e.dispose&&e.dispose(r)}this.animState.trackEntryPool.free(r);break;case t.EventType.complete:r.listener&&r.listener.complete&&r.listener.complete(r);for(let t=0;t<s.length;t++){let e=s[t];e.complete&&e.complete(r)}break;case t.EventType.event:let n=e[i+++2];r.listener&&r.listener.event&&r.listener.event(r,n);for(let t=0;t<s.length;t++){let e=s[t];e.event&&e.event(r,n)}}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}}t.EventType=void 0,(l=t.EventType||(t.EventType={}))[l.start=0]="start",l[l.interrupt=1]="interrupt",l[l.end=2]="end",l[l.dispose=3]="dispose",l[l.complete=4]="complete",l[l.event=5]="event";let tw=0,tM=1,tS=2,tk=3,tI=4,tv=1,tT=2;class tB{skeletonData;animationToMixTime={};defaultMix=0;constructor(t){if(!t)throw Error("skeletonData cannot be null.");this.skeletonData=t}setMix(t,e,s){let i=this.skeletonData.findAnimation(t);if(!i)throw Error("Animation not found: "+t);let a=this.skeletonData.findAnimation(e);if(!a)throw Error("Animation not found: "+e);this.setMixWith(i,a,s)}setMixWith(t,e,s){if(!t)throw Error("from cannot be null.");if(!e)throw Error("to cannot be null.");let i=t.name+"."+e.name;this.animationToMixTime[i]=s}getMix(t,e){let s=t.name+"."+e.name,i=this.animationToMixTime[s];return void 0===i?this.defaultMix:i}}class tA extends A{color=new y(1,1,1,1);constructor(t){super(t)}copy(){let t=new tA(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}}class tF extends A{endSlot=null;color=new y(.2275,.2275,.8078,1);constructor(t){super(t)}copy(){let t=new tF(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}}class tC{_image;constructor(t){this._image=t}getImage(){return this._image}}t.TextureFilter=void 0,(o=t.TextureFilter||(t.TextureFilter={}))[o.Nearest=9728]="Nearest",o[o.Linear=9729]="Linear",o[o.MipMap=9987]="MipMap",o[o.MipMapNearestNearest=9984]="MipMapNearestNearest",o[o.MipMapLinearNearest=9985]="MipMapLinearNearest",o[o.MipMapNearestLinear=9986]="MipMapNearestLinear",o[o.MipMapLinearLinear=9987]="MipMapLinearLinear",t.TextureWrap=void 0,(h=t.TextureWrap||(t.TextureWrap={}))[h.MirroredRepeat=33648]="MirroredRepeat",h[h.ClampToEdge=33071]="ClampToEdge",h[h.Repeat=10497]="Repeat";class tE{texture;u=0;v=0;u2=0;v2=0;width=0;height=0;degrees=0;offsetX=0;offsetY=0;originalWidth=0;originalHeight=0}class tR{pages=[];regions=[];constructor(e){let s=new tY(e),i=[,,,,],a={};a.size=t=>{t.width=parseInt(i[1]),t.height=parseInt(i[2])},a.format=()=>{},a.filter=e=>{e.minFilter=k.enumValue(t.TextureFilter,i[1]),e.magFilter=k.enumValue(t.TextureFilter,i[2])},a.repeat=e=>{-1!=i[1].indexOf("x")&&(e.uWrap=t.TextureWrap.Repeat),-1!=i[1].indexOf("y")&&(e.vWrap=t.TextureWrap.Repeat)},a.pma=t=>{t.pma="true"==i[1]};var r={};r.xy=t=>{t.x=parseInt(i[1]),t.y=parseInt(i[2])},r.size=t=>{t.width=parseInt(i[1]),t.height=parseInt(i[2])},r.bounds=t=>{t.x=parseInt(i[1]),t.y=parseInt(i[2]),t.width=parseInt(i[3]),t.height=parseInt(i[4])},r.offset=t=>{t.offsetX=parseInt(i[1]),t.offsetY=parseInt(i[2])},r.orig=t=>{t.originalWidth=parseInt(i[1]),t.originalHeight=parseInt(i[2])},r.offsets=t=>{t.offsetX=parseInt(i[1]),t.offsetY=parseInt(i[2]),t.originalWidth=parseInt(i[3]),t.originalHeight=parseInt(i[4])},r.rotate=t=>{let e=i[1];"true"==e?t.degrees=90:"false"!=e&&(t.degrees=parseInt(e))},r.index=t=>{t.index=parseInt(i[1])};let n=s.readLine();for(;n&&0==n.trim().length;)n=s.readLine();for(;n&&0!=n.trim().length&&0!=s.readEntry(i,n);)n=s.readLine();let l=null,o=null,h=null;for(;null!==n;)if(0==n.trim().length)l=null,n=s.readLine();else if(l){let t=new tX(l,n);for(;;){let e=s.readEntry(i,n=s.readLine());if(0==e)break;let a=r[i[0]];if(a)a(t);else{o||(o=[]),h||(h=[]),o.push(i[0]);let t=[];for(let s=0;s<e;s++)t.push(parseInt(i[s+1]));h.push(t)}}0==t.originalWidth&&0==t.originalHeight&&(t.originalWidth=t.width,t.originalHeight=t.height),o&&o.length>0&&h&&h.length>0&&(t.names=o,t.values=h,o=null,h=null),t.u=t.x/l.width,t.v=t.y/l.height,90==t.degrees?(t.u2=(t.x+t.height)/l.width,t.v2=(t.y+t.width)/l.height):(t.u2=(t.x+t.width)/l.width,t.v2=(t.y+t.height)/l.height),this.regions.push(t)}else{for(l=new tP(n.trim());0!=s.readEntry(i,n=s.readLine());){let t=a[i[0]];t&&t(l)}this.pages.push(l)}}findRegion(t){for(let e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null}setTextures(t,e=""){for(let s of this.pages)s.setTexture(t.get(e+s.name))}dispose(){for(let t=0;t<this.pages.length;t++)this.pages[t].texture?.dispose()}}class tY{lines;index=0;constructor(t){this.lines=t.split(/\r\n|\r|\n/)}readLine(){return this.index>=this.lines.length?null:this.lines[this.index++]}readEntry(t,e){if(!e||0==(e=e.trim()).length)return 0;let s=e.indexOf(":");if(-1==s)return 0;t[0]=e.substr(0,s).trim();for(let i=1,a=s+1;;i++){let s=e.indexOf(",",a);if(-1==s)return t[i]=e.substr(a).trim(),i;if(t[i]=e.substr(a,s-a).trim(),a=s+1,4==i)return 4}}}class tP{name;minFilter=t.TextureFilter.Nearest;magFilter=t.TextureFilter.Nearest;uWrap=t.TextureWrap.ClampToEdge;vWrap=t.TextureWrap.ClampToEdge;texture=null;width=0;height=0;pma=!1;regions=[];constructor(t){this.name=t}setTexture(t){for(let e of(this.texture=t,t.setFilters(this.minFilter,this.magFilter),t.setWraps(this.uWrap,this.vWrap),this.regions))e.texture=t}}class tX extends tE{page;name;x=0;y=0;offsetX=0;offsetY=0;originalWidth=0;originalHeight=0;index=0;degrees=0;names=null;values=null;constructor(t,e){super(),this.page=t,this.name=e,t.regions.push(this)}}class t_ extends A{region=null;path;regionUVs=[];uvs=[];triangles=[];color=new y(1,1,1,1);width=0;height=0;hullLength=0;edges=[];parentMesh=null;sequence=null;tempColor=new y(0,0,0,0);constructor(t,e){super(t),this.path=e}updateRegion(){if(!this.region)throw Error("Region not set.");let t=this.regionUVs;this.uvs&&this.uvs.length==t.length||(this.uvs=k.newFloatArray(t.length));let e=this.uvs,s=this.uvs.length,i=this.region.u,a=this.region.v,r=0,n=0;if(this.region instanceof tX){let l=this.region,o=l.page,h=o.width,d=o.height;switch(l.degrees){case 90:i-=(l.originalHeight-l.offsetY-l.height)/h,a-=(l.originalWidth-l.offsetX-l.width)/d,r=l.originalHeight/h,n=l.originalWidth/d;for(let l=0;l<s;l+=2)e[l]=i+t[l+1]*r,e[l+1]=a+(1-t[l])*n;return;case 180:i-=(l.originalWidth-l.offsetX-l.width)/h,a-=l.offsetY/d,r=l.originalWidth/h,n=l.originalHeight/d;for(let l=0;l<s;l+=2)e[l]=i+(1-t[l])*r,e[l+1]=a+(1-t[l+1])*n;return;case 270:i-=l.offsetY/h,a-=l.offsetX/d,r=l.originalHeight/h,n=l.originalWidth/d;for(let l=0;l<s;l+=2)e[l]=i+(1-t[l+1])*r,e[l+1]=a+t[l]*n;return}i-=l.offsetX/h,a-=(l.originalHeight-l.offsetY-l.height)/d,r=l.originalWidth/h,n=l.originalHeight/d}else this.region?(r=this.region.u2-i,n=this.region.v2-a):(i=a=0,r=n=1);for(let l=0;l<s;l+=2)e[l]=i+t[l]*r,e[l+1]=a+t[l+1]*n}getParentMesh(){return this.parentMesh}setParentMesh(t){this.parentMesh=t,t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)}copy(){if(this.parentMesh)return this.newLinkedMesh();let t=new t_(this.name,this.path);return t.region=this.region,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=Array(this.regionUVs.length),k.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=Array(this.uvs.length),k.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=Array(this.triangles.length),k.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,t.sequence=null!=this.sequence?this.sequence.copy():null,this.edges&&(t.edges=Array(this.edges.length),k.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t}computeWorldVertices(t,e,s,i,a,r){null!=this.sequence&&this.sequence.apply(t,this),super.computeWorldVertices(t,e,s,i,a,r)}newLinkedMesh(){let t=new t_(this.name,this.path);return t.region=this.region,t.color.setFromColor(this.color),t.timelineAttachment=this.timelineAttachment,t.setParentMesh(this.parentMesh?this.parentMesh:this),null!=t.region&&t.updateRegion(),t}}class tV extends A{lengths=[];closed=!1;constantSpeed=!1;color=new y(1,1,1,1);constructor(t){super(t)}copy(){let t=new tV(this.name);return this.copyTo(t),t.lengths=Array(this.lengths.length),k.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t}}class tD extends A{x=0;y=0;rotation=0;color=new y(.38,.94,0,1);constructor(t){super(t)}computeWorldPosition(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e}computeWorldRotation(t){let e=this.rotation*w.degRad,s=Math.cos(e),i=Math.sin(e),a=s*t.a+i*t.b,r=s*t.c+i*t.d;return w.atan2Deg(r,a)}copy(){let t=new tD(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t}}class tO extends B{x=0;y=0;scaleX=1;scaleY=1;rotation=0;width=0;height=0;color=new y(1,1,1,1);path;region=null;sequence=null;offset=k.newFloatArray(8);uvs=k.newFloatArray(8);tempColor=new y(1,1,1,1);constructor(t,e){super(t),this.path=e}updateRegion(){if(!this.region)throw Error("Region not set.");let t=this.region,e=this.uvs;if(null==t){e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=1,e[5]=1,e[6]=1,e[7]=0;return}let s=this.width/this.region.originalWidth*this.scaleX,i=this.height/this.region.originalHeight*this.scaleY,a=-this.width/2*this.scaleX+this.region.offsetX*s,r=-this.height/2*this.scaleY+this.region.offsetY*i,n=a+this.region.width*s,l=r+this.region.height*i,o=this.rotation*w.degRad,h=Math.cos(o),d=Math.sin(o),c=this.x,u=this.y,f=a*h+c,m=a*d,g=r*h+u,p=r*d,x=n*h+c,b=n*d,y=l*h+u,M=l*d,S=this.offset;S[0]=f-p,S[1]=g+m,S[2]=f-M,S[3]=y+m,S[4]=x-M,S[5]=y+b,S[6]=x-p,S[7]=g+b,90==t.degrees?(e[0]=t.u2,e[1]=t.v2,e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)}computeWorldVertices(t,e,s,i){null!=this.sequence&&this.sequence.apply(t,this);let a=t.bone,r=this.offset,n=a.worldX,l=a.worldY,o=a.a,h=a.b,d=a.c,c=a.d,u=0,f=0;u=r[0],f=r[1],e[s]=u*o+f*h+n,e[s+1]=u*d+f*c+l,s+=i,u=r[2],f=r[3],e[s]=u*o+f*h+n,e[s+1]=u*d+f*c+l,s+=i,u=r[4],f=r[5],e[s]=u*o+f*h+n,e[s+1]=u*d+f*c+l,s+=i,u=r[6],f=r[7],e[s]=u*o+f*h+n,e[s+1]=u*d+f*c+l}copy(){let t=new tO(this.name,this.path);return t.region=this.region,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,k.arrayCopy(this.uvs,0,t.uvs,0,8),k.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t.sequence=null!=this.sequence?this.sequence.copy():null,t}static X1=0;static Y1=1;static C1R=2;static C1G=3;static C1B=4;static C1A=5;static U1=6;static V1=7;static X2=8;static Y2=9;static C2R=10;static C2G=11;static C2B=12;static C2A=13;static U2=14;static V2=15;static X3=16;static Y3=17;static C3R=18;static C3G=19;static C3B=20;static C3A=21;static U3=22;static V3=23;static X4=24;static Y4=25;static C4R=26;static C4G=27;static C4B=28;static C4A=29;static U4=30;static V4=31}class tN{atlas;constructor(t){this.atlas=t}loadSequence(t,e,s){let i=s.regions;for(let a=0,r=i.length;a<r;a++){let r=s.getPath(e,a),n=this.atlas.findRegion(r);if(null==n)throw Error("Region not found in atlas: "+r+" (sequence: "+t+")");i[a]=n}}newRegionAttachment(t,e,s,i){let a=new tO(e,s);if(null!=i)this.loadSequence(e,s,i);else{let t=this.atlas.findRegion(s);if(!t)throw Error("Region not found in atlas: "+s+" (region attachment: "+e+")");a.region=t}return a}newMeshAttachment(t,e,s,i){let a=new t_(e,s);if(null!=i)this.loadSequence(e,s,i);else{let t=this.atlas.findRegion(s);if(!t)throw Error("Region not found in atlas: "+s+" (mesh attachment: "+e+")");a.region=t}return a}newBoundingBoxAttachment(t,e){return new tA(e)}newPathAttachment(t,e){return new tV(e)}newPointAttachment(t,e){return new tD(e)}newClippingAttachment(t,e){return new tF(e)}}class tL{index=0;name;parent=null;length=0;x=0;y=0;rotation=0;scaleX=1;scaleY=1;shearX=0;shearY=0;inherit=t.Inherit.Normal;skinRequired=!1;color=new y;icon;visible=!1;constructor(t,e,s){if(t<0)throw Error("index must be >= 0.");if(!e)throw Error("name cannot be null.");this.index=t,this.name=e,this.parent=s}}t.Inherit=void 0,(d=t.Inherit||(t.Inherit={}))[d.Normal=0]="Normal",d[d.OnlyTranslation=1]="OnlyTranslation",d[d.NoRotationOrReflection=2]="NoRotationOrReflection",d[d.NoScale=3]="NoScale",d[d.NoScaleOrReflection=4]="NoScaleOrReflection";class tq{data;skeleton;parent=null;children=[];x=0;y=0;rotation=0;scaleX=0;scaleY=0;shearX=0;shearY=0;ax=0;ay=0;arotation=0;ascaleX=0;ascaleY=0;ashearX=0;ashearY=0;a=0;b=0;c=0;d=0;worldY=0;worldX=0;inherit=t.Inherit.Normal;sorted=!1;active=!1;constructor(t,e,s){if(!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.skeleton=e,this.parent=s,this.setToSetupPose()}isActive(){return this.active}update(t){this.updateWorldTransformWith(this.ax,this.ay,this.arotation,this.ascaleX,this.ascaleY,this.ashearX,this.ashearY)}updateWorldTransform(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}updateWorldTransformWith(e,s,i,a,r,n,l){this.ax=e,this.ay=s,this.arotation=i,this.ascaleX=a,this.ascaleY=r,this.ashearX=n,this.ashearY=l;let o=this.parent;if(!o){let t=this.skeleton,o=t.scaleX,h=t.scaleY,d=(i+n)*w.degRad,c=(i+90+l)*w.degRad;this.a=Math.cos(d)*a*o,this.b=Math.cos(c)*r*o,this.c=Math.sin(d)*a*h,this.d=Math.sin(c)*r*h,this.worldX=e*o+t.x,this.worldY=s*h+t.y;return}let h=o.a,d=o.b,c=o.c,u=o.d;switch(this.worldX=h*e+d*s+o.worldX,this.worldY=c*e+u*s+o.worldY,this.inherit){case t.Inherit.Normal:{let t=(i+n)*w.degRad,e=(i+90+l)*w.degRad,s=Math.cos(t)*a,o=Math.cos(e)*r,f=Math.sin(t)*a,m=Math.sin(e)*r;this.a=h*s+d*f,this.b=h*o+d*m,this.c=c*s+u*f,this.d=c*o+u*m;return}case t.Inherit.OnlyTranslation:{let t=(i+n)*w.degRad,e=(i+90+l)*w.degRad;this.a=Math.cos(t)*a,this.b=Math.cos(e)*r,this.c=Math.sin(t)*a,this.d=Math.sin(e)*r;break}case t.Inherit.NoRotationOrReflection:{let t=1/this.skeleton.scaleX,e=1/this.skeleton.scaleY,s=(h*=t)*h+(c*=e)*c,o=0;s>1e-4?(s=Math.abs(h*u*e-d*t*c)/s,d=c*s,u=h*s,o=Math.atan2(c,h)*w.radDeg):(h=0,c=0,o=90-Math.atan2(u,d)*w.radDeg);let f=(i+n-o)*w.degRad,m=(i+l-o+90)*w.degRad,g=Math.cos(f)*a,p=Math.cos(m)*r,x=Math.sin(f)*a,b=Math.sin(m)*r;this.a=h*g-d*x,this.b=h*p-d*b,this.c=c*g+u*x,this.d=c*p+u*b;break}case t.Inherit.NoScale:case t.Inherit.NoScaleOrReflection:{let e=Math.cos(i*=w.degRad),s=Math.sin(i),o=(h*e+d*s)/this.skeleton.scaleX,f=(c*e+u*s)/this.skeleton.scaleY,m=Math.sqrt(o*o+f*f);m>1e-5&&(m=1/m),o*=m,f*=m,m=Math.sqrt(o*o+f*f),this.inherit==t.Inherit.NoScale&&h*u-d*c<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(m=-m);let g=Math.cos(i=Math.PI/2+Math.atan2(f,o))*m,p=Math.sin(i)*m;n*=w.degRad,l=(90+l)*w.degRad;let x=Math.cos(n)*a,b=Math.cos(l)*r,y=Math.sin(n)*a,M=Math.sin(l)*r;this.a=o*x+g*y,this.b=o*b+g*M,this.c=f*x+p*y,this.d=f*b+p*M}}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY}setToSetupPose(){let t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY,this.inherit=t.inherit}updateAppliedTransform(){let e,s,i,a,r=this.parent;if(!r){this.ax=this.worldX-this.skeleton.x,this.ay=this.worldY-this.skeleton.y,this.arotation=Math.atan2(this.c,this.a)*w.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*w.radDeg;return}let n=r.a,l=r.b,o=r.c,h=r.d,d=1/(n*h-l*o),c=h*d,u=l*d,f=o*d,m=n*d,g=this.worldX-r.worldX,p=this.worldY-r.worldY;if(this.ax=g*c-p*u,this.ay=p*m-g*f,this.inherit==t.Inherit.OnlyTranslation)e=this.a,s=this.b,i=this.c,a=this.d;else{switch(this.inherit){case t.Inherit.NoRotationOrReflection:{let t=Math.abs(n*h-l*o)/(n*n+o*o);l=-o*this.skeleton.scaleX*t/this.skeleton.scaleY,h=n*this.skeleton.scaleY*t/this.skeleton.scaleX,d=1/(n*h-l*o),c=h*d,u=l*d;break}case t.Inherit.NoScale:case t.Inherit.NoScaleOrReflection:let r=w.cosDeg(this.rotation),g=w.sinDeg(this.rotation),p=Math.sqrt((n=(n*r+l*g)/this.skeleton.scaleX)*n+(o=(o*r+h*g)/this.skeleton.scaleY)*o);p>1e-5&&(p=1/p),n*=p,o*=p,p=Math.sqrt(n*n+o*o),this.inherit==t.Inherit.NoScale&&d<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(p=-p);let x=w.PI/2+Math.atan2(o,n);l=Math.cos(x)*p,d=1/(n*(h=Math.sin(x)*p)-l*o),c=h*d,u=l*d,f=o*d,m=n*d}e=c*this.a-u*this.c,s=c*this.b-u*this.d,i=m*this.c-f*this.a,a=m*this.d-f*this.b}if(this.ashearX=0,this.ascaleX=Math.sqrt(e*e+i*i),this.ascaleX>1e-4){let t=e*a-s*i;this.ascaleY=t/this.ascaleX,this.ashearY=-Math.atan2(e*s+i*a,t)*w.radDeg,this.arotation=Math.atan2(i,e)*w.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(s*s+a*a),this.ashearY=0,this.arotation=90-Math.atan2(a,s)*w.radDeg}getWorldRotationX(){return Math.atan2(this.c,this.a)*w.radDeg}getWorldRotationY(){return Math.atan2(this.d,this.b)*w.radDeg}getWorldScaleX(){return Math.sqrt(this.a*this.a+this.c*this.c)}getWorldScaleY(){return Math.sqrt(this.b*this.b+this.d*this.d)}worldToLocal(t){let e=1/(this.a*this.d-this.b*this.c),s=t.x-this.worldX,i=t.y-this.worldY;return t.x=s*this.d*e-i*this.b*e,t.y=i*this.a*e-s*this.c*e,t}localToWorld(t){let e=t.x,s=t.y;return t.x=e*this.a+s*this.b+this.worldX,t.y=e*this.c+s*this.d+this.worldY,t}worldToParent(t){if(null==t)throw Error("world cannot be null.");return null==this.parent?t:this.parent.worldToLocal(t)}parentToWorld(t){if(null==t)throw Error("world cannot be null.");return null==this.parent?t:this.parent.localToWorld(t)}worldToLocalRotation(t){let e=w.sinDeg(t),s=w.cosDeg(t);return Math.atan2(this.a*e-this.c*s,this.d*s-this.b*e)*w.radDeg+this.rotation-this.shearX}localToWorldRotation(t){t-=this.rotation-this.shearX;let e=w.sinDeg(t),s=w.cosDeg(t);return Math.atan2(s*this.c+e*this.d,s*this.a+e*this.b)*w.radDeg}rotateWorld(t){let e=Math.sin(t*=w.degRad),s=Math.cos(t),i=this.a,a=this.b;this.a=s*i-e*this.c,this.b=s*a-e*this.d,this.c=e*i+s*this.c,this.d=e*a+s*this.d}}class tU{name;order;skinRequired;constructor(t,e,s){this.name=t,this.order=e,this.skinRequired=s}}class tW{callbacks={};rawDataUris={};dataUriToString(t){if(!t.startsWith("data:"))throw Error("Not a data URI.");let e=t.indexOf("base64,");return -1!=e?(e+=7,atob(t.substr(e))):t.substr(t.indexOf(",")+1)}base64ToUint8Array(t){for(var e=window.atob(t),s=e.length,i=new Uint8Array(s),a=0;a<s;a++)i[a]=e.charCodeAt(a);return i}dataUriToUint8Array(t){if(!t.startsWith("data:"))throw Error("Not a data URI.");let e=t.indexOf("base64,");if(-1==e)throw Error("Not a binary data URI.");return e+=7,this.base64ToUint8Array(t.substr(e))}downloadText(t,e,s){if(this.start(t,e,s))return;if(this.rawDataUris[t]){try{let e=this.rawDataUris[t];this.finish(t,200,this.dataUriToString(e))}catch(e){this.finish(t,400,JSON.stringify(e))}return}let i=new XMLHttpRequest;i.overrideMimeType("text/html"),i.open("GET",t,!0);let a=()=>{this.finish(t,i.status,i.responseText)};i.onload=a,i.onerror=a,i.send()}downloadJson(t,e,s){this.downloadText(t,t=>{e(JSON.parse(t))},s)}downloadBinary(t,e,s){if(this.start(t,e,s))return;if(this.rawDataUris[t]){try{let e=this.rawDataUris[t];this.finish(t,200,this.dataUriToUint8Array(e))}catch(e){this.finish(t,400,JSON.stringify(e))}return}let i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer";let a=()=>{this.finish(t,i.status,i.response)};i.onload=()=>{200==i.status||0==i.status?this.finish(t,200,new Uint8Array(i.response)):a()},i.onerror=a,i.send()}start(t,e,s){let i=this.callbacks[t];try{if(i)return!0;this.callbacks[t]=i=[]}finally{i.push(e,s)}}finish(t,e,s){let i=this.callbacks[t];delete this.callbacks[t];let a=200==e||0==e?[s]:[e,s];for(let t=a.length-1,e=i.length;t<e;t+=2)i[t].apply(null,a)}}class tz{data;intValue=0;floatValue=0;stringValue=null;time=0;volume=0;balance=0;constructor(t,e){if(!e)throw Error("data cannot be null.");this.time=t,this.data=e}}class tG{name;intValue=0;floatValue=0;stringValue=null;audioPath=null;volume=0;balance=0;constructor(t){this.name=t}}class t${data;bones;target;bendDirection=0;compress=!1;stretch=!1;mix=1;softness=0;active=!1;constructor(t,e){if(!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.bones=[];for(let s=0;s<t.bones.length;s++){let i=e.findBone(t.bones[s].name);if(!i)throw Error(`Couldn't find bone ${t.bones[s].name}`);this.bones.push(i)}let s=e.findBone(t.target.name);if(!s)throw Error(`Couldn't find bone ${t.target.name}`);this.target=s,this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}isActive(){return this.active}setToSetupPose(){let t=this.data;this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}update(t){if(0==this.mix)return;let e=this.target,s=this.bones;switch(s.length){case 1:this.apply1(s[0],e.worldX,e.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(s[0],s[1],e.worldX,e.worldY,this.bendDirection,this.stretch,this.data.uniform,this.softness,this.mix)}}apply1(e,s,i,a,r,n,l){let o=e.parent;if(!o)throw Error("IK bone must have parent.");let h=o.a,d=o.b,c=o.c,u=o.d,f=-e.ashearX-e.arotation,m=0,g=0;switch(e.inherit){case t.Inherit.OnlyTranslation:m=(s-e.worldX)*w.signum(e.skeleton.scaleX),g=(i-e.worldY)*w.signum(e.skeleton.scaleY);break;case t.Inherit.NoRotationOrReflection:let p=Math.abs(h*u-d*c)/Math.max(1e-4,h*h+c*c),x=h/e.skeleton.scaleX,b=c/e.skeleton.scaleY;d=-b*p*e.skeleton.scaleX,u=x*p*e.skeleton.scaleY,f+=Math.atan2(b,x)*w.radDeg;default:let y=s-o.worldX,M=i-o.worldY,S=h*u-d*c;1e-4>=Math.abs(S)?(m=0,g=0):(m=(y*u-M*d)/S-e.ax,g=(M*h-y*c)/S-e.ay)}f+=Math.atan2(g,m)*w.radDeg,e.ascaleX<0&&(f+=180),f>180?f-=360:f<-180&&(f+=360);let k=e.ascaleX,I=e.ascaleY;if(a||r){switch(e.inherit){case t.Inherit.NoScale:case t.Inherit.NoScaleOrReflection:m=s-e.worldX,g=i-e.worldY}let o=e.data.length*k;if(o>1e-4){let t=m*m+g*g;if(a&&t<o*o||r&&t>o*o){let e=(Math.sqrt(t)/o-1)*l+1;k*=e,n&&(I*=e)}}}e.updateWorldTransformWith(e.ax,e.ay,e.arotation+f*l,k,I,e.ashearX,e.ashearY)}apply2(e,s,i,a,r,n,l,o,h){if(e.inherit!=t.Inherit.Normal||s.inherit!=t.Inherit.Normal)return;let d=e.ax,c=e.ay,u=e.ascaleX,f=e.ascaleY,m=u,g=f,p=s.ascaleX,x=0,b=0,y=0;u<0?(u=-u,x=180,y=-1):(x=0,y=1),f<0&&(f=-f,y=-y),p<0?(p=-p,b=180):b=0;let M=s.ax,S=0,k=0,I=0,v=e.a,T=e.b,B=e.c,A=e.d,F=1e-4>=Math.abs(u-f);!F||n?(S=0,k=v*M+e.worldX,I=B*M+e.worldY):(k=v*M+T*(S=s.ay)+e.worldX,I=B*M+A*S+e.worldY);let C=e.parent;if(!C)throw Error("IK parent must itself have a parent.");v=C.a,T=C.b,B=C.c;let E=v*(A=C.d)-T*B,R=k-C.worldX,Y=I-C.worldY,P=(R*A-Y*T)*(E=1e-4>=Math.abs(E)?0:1/E)-d,X=(Y*v-R*B)*E-c,_=Math.sqrt(P*P+X*X),V=s.data.length*p,D,O;if(_<1e-4){this.apply1(e,i,a,!1,n,!1,h),s.updateWorldTransformWith(M,S,0,s.ascaleX,s.ascaleY,s.ashearX,s.ashearY);return}let N=((R=i-C.worldX)*A-(Y=a-C.worldY)*T)*E-d,L=(Y*v-R*B)*E-c,q=N*N+L*L;if(0!=o){o*=u*(p+1)*.5;let t=Math.sqrt(q),e=t-_-V*u+o;if(e>0){let s=Math.min(1,e/(2*o))-1;s=(e-o*(1-s*s))/t,N-=s*N,L-=s*L,q=N*N+L*L}}t:if(F){let t=(q-_*_-(V*=u)*V)/(2*_*V);t<-1?(t=-1,O=Math.PI*r):t>1?(t=1,O=0,n&&(m*=v=(Math.sqrt(q)/(_+V)-1)*h+1,l&&(g*=v))):O=Math.acos(t)*r,D=Math.atan2(L*(v=_+V*t)-N*(T=V*Math.sin(O)),N*v+L*T)}else{let t=(v=u*V)*v,e=(T=f*V)*T,s=Math.atan2(L,N);B=e*_*_+t*q-t*e;let i=-2*e*_,a=e-t;if((A=i*i-4*a*B)>=0){let t=Math.sqrt(A);i<0&&(t=-t);let e=(t=-(.5*(i+t)))/a,n=B/t,l=Math.abs(e)<Math.abs(n)?e:n;if((e=q-l*l)>=0){D=s-Math.atan2(Y=Math.sqrt(e)*r,l),O=Math.atan2(Y/f,(l-_)/u);break t}}let n=w.PI,l=_-v,o=l*l,h=0,d=0,c=_+v,m=c*c,g=0;(B=-v*_/(t-e))>=-1&&B<=1&&((A=(R=v*Math.cos(B=Math.acos(B))+_)*R+(Y=T*Math.sin(B))*Y)<o&&(n=B,o=A,l=R,h=Y),A>m&&(d=B,m=A,c=R,g=Y)),q<=(o+m)*.5?(D=s-Math.atan2(h*r,l),O=n*r):(D=s-Math.atan2(g*r,c),O=d*r)}let U=Math.atan2(S,M)*y,W=e.arotation;(D=(D-U)*w.radDeg+x-W)>180?D-=360:D<-180&&(D+=360),e.updateWorldTransformWith(d,c,W+D*h,m,g,0,0),W=s.arotation,(O=((O+U)*w.radDeg-s.ashearX)*y+b-W)>180?O-=360:O<-180&&(O+=360),s.updateWorldTransformWith(M,S,W+O*h,s.ascaleX,s.ascaleY,s.ashearX,s.ashearY)}}class tj extends tU{bones=[];_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw Error("BoneData not set.")}bendDirection=0;compress=!1;stretch=!1;uniform=!1;mix=0;softness=0;constructor(t){super(t,0,!1)}}class tH extends tU{bones=[];_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw Error("SlotData not set.")}positionMode=t.PositionMode.Fixed;spacingMode=t.SpacingMode.Fixed;rotateMode=t.RotateMode.Chain;offsetRotation=0;position=0;spacing=0;mixRotate=0;mixX=0;mixY=0;constructor(t){super(t,0,!1)}}t.PositionMode=void 0,(c=t.PositionMode||(t.PositionMode={}))[c.Fixed=0]="Fixed",c[c.Percent=1]="Percent",t.SpacingMode=void 0,(u=t.SpacingMode||(t.SpacingMode={}))[u.Length=0]="Length",u[u.Fixed=1]="Fixed",u[u.Percent=2]="Percent",u[u.Proportional=3]="Proportional",t.RotateMode=void 0,(f=t.RotateMode||(t.RotateMode={}))[f.Tangent=0]="Tangent",f[f.Chain=1]="Chain",f[f.ChainScale=2]="ChainScale";class tJ{static NONE=-1;static BEFORE=-2;static AFTER=-3;static epsilon=1e-5;data;bones;target;position=0;spacing=0;mixRotate=0;mixX=0;mixY=0;spaces=[];positions=[];world=[];curves=[];lengths=[];segments=[];active=!1;constructor(t,e){if(!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.bones=[];for(let s=0,i=t.bones.length;s<i;s++){let i=e.findBone(t.bones[s].name);if(!i)throw Error(`Couldn't find bone ${t.bones[s].name}.`);this.bones.push(i)}let s=e.findSlot(t.target.name);if(!s)throw Error(`Couldn't find target bone ${t.target.name}`);this.target=s,this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}isActive(){return this.active}setToSetupPose(){let t=this.data;this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}update(e){let s=this.target.getAttachment();if(!(s instanceof tV))return;let i=this.mixRotate,a=this.mixX,r=this.mixY;if(0==i&&0==a&&0==r)return;let n=this.data,l=n.rotateMode==t.RotateMode.Tangent,o=n.rotateMode==t.RotateMode.ChainScale,h=this.bones,d=h.length,c=l?d:d+1,u=k.setArraySize(this.spaces,c),f=o?this.lengths=k.setArraySize(this.lengths,d):[],m=this.spacing;switch(n.spacingMode){case t.SpacingMode.Percent:if(o)for(let t=0,e=c-1;t<e;t++){let e=h[t],s=e.data.length,i=s*e.a,a=s*e.c;f[t]=Math.sqrt(i*i+a*a)}k.arrayFill(u,1,c,m);break;case t.SpacingMode.Proportional:let g=0;for(let t=0,e=c-1;t<e;){let e=h[t],s=e.data.length;if(s<tJ.epsilon)o&&(f[t]=0),u[++t]=m;else{let i=s*e.a,a=s*e.c,r=Math.sqrt(i*i+a*a);o&&(f[t]=r),u[++t]=r,g+=r}}if(g>0){g=c/g*m;for(let t=1;t<c;t++)u[t]*=g}break;default:let p=n.spacingMode==t.SpacingMode.Length;for(let t=0,e=c-1;t<e;){let e=h[t],s=e.data.length;if(s<tJ.epsilon)o&&(f[t]=0),u[++t]=m;else{let i=s*e.a,a=s*e.c,r=Math.sqrt(i*i+a*a);o&&(f[t]=r),u[++t]=(p?s+m:m)*r/s}}}let x=this.computeWorldPositions(s,c,l),b=x[0],y=x[1],M=n.offsetRotation,S=!1;if(0==M)S=n.rotateMode==t.RotateMode.Chain;else{S=!1;let t=this.target.bone;M*=t.a*t.d-t.b*t.c>0?w.degRad:-w.degRad}for(let t=0,e=3;t<d;t++,e+=3){let s=h[t];s.worldX+=(b-s.worldX)*a,s.worldY+=(y-s.worldY)*r;let n=x[e],d=x[e+1],c=n-b,m=d-y;if(o){let e=f[t];if(0!=e){let t=(Math.sqrt(c*c+m*m)/e-1)*i+1;s.a*=t,s.c*=t}}if(b=n,y=d,i>0){let a=s.a,r=s.b,n=s.c,o=s.d,h=0,d=0,f=0;if(h=(l?x[e-1]:0==u[t+1]?x[e+2]:Math.atan2(m,c))-Math.atan2(n,a),S){d=Math.cos(h),f=Math.sin(h);let t=s.data.length;b+=(t*(d*a-f*n)-c)*i,y+=(t*(f*a+d*n)-m)*i}else h+=M;h>w.PI?h-=w.PI2:h<-w.PI&&(h+=w.PI2),h*=i,d=Math.cos(h),f=Math.sin(h),s.a=d*a-f*n,s.b=d*r-f*o,s.c=f*a+d*n,s.d=f*r+d*o}s.updateAppliedTransform()}}computeWorldPositions(e,s,i){let a,r=this.target,n=this.position,l=this.spaces,o=k.setArraySize(this.positions,3*s+2),h=this.world,d=e.closed,c=e.worldVerticesLength,u=c/6,f=tJ.NONE;if(!e.constantSpeed){let a,m=e.lengths,g=m[u-=d?1:2];switch(this.data.positionMode==t.PositionMode.Percent&&(n*=g),this.data.spacingMode){case t.SpacingMode.Percent:a=g;break;case t.SpacingMode.Proportional:a=g/s;break;default:a=1}h=k.setArraySize(this.world,8);for(let t=0,p=0,x=0;t<s;t++,p+=3){let s=l[t]*a,b=n+=s;if(d)(b%=g)<0&&(b+=g),x=0;else if(b<0){f!=tJ.BEFORE&&(f=tJ.BEFORE,e.computeWorldVertices(r,2,4,h,0,2)),this.addBeforePosition(b,h,0,o,p);continue}else if(b>g){f!=tJ.AFTER&&(f=tJ.AFTER,e.computeWorldVertices(r,c-6,4,h,0,2)),this.addAfterPosition(b-g,h,0,o,p);continue}for(;;x++){let t=m[x];if(!(b>t)){if(0==x)b/=t;else{let e=m[x-1];b=(b-e)/(t-e)}break}}x!=f&&(f=x,d&&x==u?(e.computeWorldVertices(r,c-4,4,h,0,2),e.computeWorldVertices(r,0,4,h,4,2)):e.computeWorldVertices(r,6*x+2,8,h,0,2)),this.addCurvePosition(b,h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],o,p,i||t>0&&0==s)}return o}d?(c+=2,h=k.setArraySize(this.world,c),e.computeWorldVertices(r,2,c-4,h,0,2),e.computeWorldVertices(r,0,2,h,c-4,2),h[c-2]=h[0],h[c-1]=h[1]):(u--,c-=4,h=k.setArraySize(this.world,c),e.computeWorldVertices(r,2,c,h,0,2));let m=k.setArraySize(this.curves,u),g=0,p=h[0],x=h[1],b=0,y=0,w=0,M=0,S=0,I=0,v=0,T=0,B=0,A=0,F=0,C=0,E=0,R=0;for(let t=0,e=2;t<u;t++,e+=6)b=h[e],y=h[e+1],w=h[e+2],M=h[e+3],S=h[e+4],I=h[e+5],v=(p-2*b+w)*.1875,T=(x-2*y+M)*.1875,B=((b-w)*3-p+S)*.09375,A=((y-M)*3-x+I)*.09375,F=2*v+B,C=2*T+A,g+=Math.sqrt((E=(b-p)*.75+v+.16666667*B)*E+(R=(y-x)*.75+T+.16666667*A)*R),E+=F,R+=C,F+=B,C+=A,g+=Math.sqrt(E*E+R*R),E+=F,R+=C,g+=Math.sqrt(E*E+R*R),E+=F+B,R+=C+A,g+=Math.sqrt(E*E+R*R),m[t]=g,p=S,x=I;switch(this.data.positionMode==t.PositionMode.Percent&&(n*=g),this.data.spacingMode){case t.SpacingMode.Percent:a=g;break;case t.SpacingMode.Proportional:a=g/s;break;default:a=1}let Y=this.segments,P=0;for(let t=0,e=0,r=0,u=0;t<s;t++,e+=3){let s=l[t]*a,k=n+=s;if(d)(k%=g)<0&&(k+=g),r=0;else if(k<0){this.addBeforePosition(k,h,0,o,e);continue}else if(k>g){this.addAfterPosition(k-g,h,c-4,o,e);continue}for(;;r++){let t=m[r];if(!(k>t)){if(0==r)k/=t;else{let e=m[r-1];k=(k-e)/(t-e)}break}}if(r!=f){f=r;let t=6*r;for(p=h[t],x=h[t+1],b=h[t+2],y=h[t+3],w=h[t+4],M=h[t+5],S=h[t+6],I=h[t+7],v=(p-2*b+w)*.03,T=(x-2*y+M)*.03,B=((b-w)*3-p+S)*.006,A=((y-M)*3-x+I)*.006,F=2*v+B,C=2*T+A,P=Math.sqrt((E=(b-p)*.3+v+.16666667*B)*E+(R=(y-x)*.3+T+.16666667*A)*R),Y[0]=P,t=1;t<8;t++)E+=F,R+=C,F+=B,C+=A,P+=Math.sqrt(E*E+R*R),Y[t]=P;E+=F,R+=C,P+=Math.sqrt(E*E+R*R),Y[8]=P,E+=F+B,R+=C+A,P+=Math.sqrt(E*E+R*R),Y[9]=P,u=0}for(k*=P;;u++){let t=Y[u];if(!(k>t)){if(0==u)k/=t;else{let e=Y[u-1];k=u+(k-e)/(t-e)}break}}this.addCurvePosition(.1*k,p,x,b,y,w,M,S,I,o,e,i||t>0&&0==s)}return o}addBeforePosition(t,e,s,i,a){let r=e[s],n=e[s+1],l=e[s+2]-r,o=Math.atan2(e[s+3]-n,l);i[a]=r+t*Math.cos(o),i[a+1]=n+t*Math.sin(o),i[a+2]=o}addAfterPosition(t,e,s,i,a){let r=e[s+2],n=e[s+3],l=r-e[s],o=Math.atan2(n-e[s+1],l);i[a]=r+t*Math.cos(o),i[a+1]=n+t*Math.sin(o),i[a+2]=o}addCurvePosition(t,e,s,i,a,r,n,l,o,h,d,c){if(0==t||isNaN(t)){h[d]=e,h[d+1]=s,h[d+2]=Math.atan2(a-s,i-e);return}let u=t*t,f=u*t,m=1-t,g=m*m,p=g*m,x=m*t,b=3*x,y=m*b,w=b*t,M=e*p+i*y+r*w+l*f,S=s*p+a*y+n*w+o*f;h[d]=M,h[d+1]=S,c&&(t<.001?h[d+2]=Math.atan2(a-s,i-e):h[d+2]=Math.atan2(S-(s*g+a*x*2+n*u),M-(e*g+i*x*2+r*u)))}}class tK{data;_bone=null;set bone(t){this._bone=t}get bone(){if(this._bone)return this._bone;throw Error("Bone not set.")}inertia=0;strength=0;damping=0;massInverse=0;wind=0;gravity=0;mix=0;_reset=!0;ux=0;uy=0;cx=0;cy=0;tx=0;ty=0;xOffset=0;xVelocity=0;yOffset=0;yVelocity=0;rotateOffset=0;rotateVelocity=0;scaleOffset=0;scaleVelocity=0;active=!1;skeleton;remaining=0;lastTime=0;constructor(t,e){this.data=t,this.skeleton=e,this.bone=e.bones[t.bone.index],this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}reset(){this.remaining=0,this.lastTime=this.skeleton.time,this._reset=!0,this.xOffset=0,this.xVelocity=0,this.yOffset=0,this.yVelocity=0,this.rotateOffset=0,this.rotateVelocity=0,this.scaleOffset=0,this.scaleVelocity=0}setToSetupPose(){let t=this.data;this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}isActive(){return this.active}update(e){let s=this.mix;if(0==s)return;let i=this.data.x>0,a=this.data.y>0,r=this.data.rotate>0||this.data.shearX>0,n=this.data.scaleX>0,l=this.bone,o=l.data.length;switch(e){case t.Physics.none:return;case t.Physics.reset:this.reset();case t.Physics.update:let h=this.skeleton,d=Math.max(this.skeleton.time-this.lastTime,0);this.remaining+=d,this.lastTime=h.time;let c=l.worldX,u=l.worldY;if(this._reset)this._reset=!1,this.ux=c,this.uy=u;else{let t=this.remaining,e=this.inertia,f=this.data.step,m=this.skeleton.data.referenceScale,g=-1,p=this.data.limit*d,x=p*Math.abs(h.scaleY);if(p*=Math.abs(h.scaleX),i||a){if(i){let t=(this.ux-c)*e;this.xOffset+=t>p?p:t<-p?-p:t,this.ux=c}if(a){let t=(this.uy-u)*e;this.yOffset+=t>x?x:t<-x?-x:t,this.uy=u}if(t>=f){g=Math.pow(this.damping,60*f);let e=this.massInverse*f,s=this.strength,r=this.wind*m,n=(t0.yDown?-this.gravity:this.gravity)*m;do i&&(this.xVelocity+=(r-this.xOffset*s)*e,this.xOffset+=this.xVelocity*f,this.xVelocity*=g),a&&(this.yVelocity-=(n+this.yOffset*s)*e,this.yOffset+=this.yVelocity*f,this.yVelocity*=g),t-=f;while(t>=f)}i&&(l.worldX+=this.xOffset*s*this.data.x),a&&(l.worldY+=this.yOffset*s*this.data.y)}if(r||n){let i=Math.atan2(l.c,l.a),a=0,h=0,d=0,c=this.cx-l.worldX,u=this.cy-l.worldY;if(c>p?c=p:c<-p&&(c=-p),u>x?u=x:u<-x&&(u=-x),r){d=(this.data.rotate+this.data.shearX)*s;let t=Math.atan2(u+this.ty,c+this.tx)-i-this.rotateOffset*d;this.rotateOffset+=(t-Math.ceil(t*w.invPI2-.5)*w.PI2)*e,a=Math.cos(t=this.rotateOffset*d+i),h=Math.sin(t),n&&(t=o*l.getWorldScaleX())>0&&(this.scaleOffset+=(c*a+u*h)*e/t)}else{a=Math.cos(i),h=Math.sin(i);let t=o*l.getWorldScaleX();t>0&&(this.scaleOffset+=(c*a+u*h)*e/t)}if((t=this.remaining)>=f){-1==g&&(g=Math.pow(this.damping,60*f));let e=this.massInverse*f,s=this.strength,l=this.wind,c=t0.yDown?-this.gravity:this.gravity,u=o/m;for(;;)if(t-=f,n&&(this.scaleVelocity+=(l*a-c*h-this.scaleOffset*s)*e,this.scaleOffset+=this.scaleVelocity*f,this.scaleVelocity*=g),r){if(this.rotateVelocity-=((l*h+c*a)*u+this.rotateOffset*s)*e,this.rotateOffset+=this.rotateVelocity*f,this.rotateVelocity*=g,t<f)break;let r=this.rotateOffset*d+i;a=Math.cos(r),h=Math.sin(r)}else if(t<f)break}}this.remaining=t}this.cx=l.worldX,this.cy=l.worldY;break;case t.Physics.pose:i&&(l.worldX+=this.xOffset*s*this.data.x),a&&(l.worldY+=this.yOffset*s*this.data.y)}if(r){let t=this.rotateOffset*s,e=0,i=0,a=0;if(this.data.shearX>0){let s=0;this.data.rotate>0&&(e=Math.sin(s=t*this.data.rotate),i=Math.cos(s),a=l.b,l.b=i*a-e*l.d,l.d=e*a+i*l.d),s+=t*this.data.shearX,e=Math.sin(s),i=Math.cos(s),a=l.a,l.a=i*a-e*l.c,l.c=e*a+i*l.c}else t*=this.data.rotate,e=Math.sin(t),i=Math.cos(t),a=l.a,l.a=i*a-e*l.c,l.c=e*a+i*l.c,a=l.b,l.b=i*a-e*l.d,l.d=e*a+i*l.d}if(n){let t=1+this.scaleOffset*s*this.data.scaleX;l.a*=t,l.c*=t}e!=t.Physics.pose&&(this.tx=o*l.a,this.ty=o*l.c),l.updateAppliedTransform()}translate(t,e){this.ux-=t,this.uy-=e,this.cx-=t,this.cy-=e}rotate(t,e,s){let i=s*w.degRad,a=Math.cos(i),r=Math.sin(i),n=this.cx-t,l=this.cy-e;this.translate(n*a-l*r-n,n*r+l*a-l)}}class tQ{data;bone;color;darkColor=null;attachment=null;attachmentState=0;sequenceIndex=-1;deform=[];constructor(t,e){if(!t)throw Error("data cannot be null.");if(!e)throw Error("bone cannot be null.");this.data=t,this.bone=e,this.color=new y,this.darkColor=t.darkColor?new y:null,this.setToSetupPose()}getSkeleton(){return this.bone.skeleton}getAttachment(){return this.attachment}setAttachment(t){this.attachment!=t&&(t instanceof A&&this.attachment instanceof A&&t.timelineAttachment==this.attachment.timelineAttachment||(this.deform.length=0),this.attachment=t,this.sequenceIndex=-1)}setToSetupPose(){this.color.setFromColor(this.data.color),this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),this.data.attachmentName?(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName))):this.attachment=null}}class tZ{data;bones;target;mixRotate=0;mixX=0;mixY=0;mixScaleX=0;mixScaleY=0;mixShearY=0;temp=new v;active=!1;constructor(t,e){if(!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.bones=[];for(let s=0;s<t.bones.length;s++){let i=e.findBone(t.bones[s].name);if(!i)throw Error(`Couldn't find bone ${t.bones[s].name}.`);this.bones.push(i)}let s=e.findBone(t.target.name);if(!s)throw Error(`Couldn't find target bone ${t.target.name}.`);this.target=s,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}isActive(){return this.active}setToSetupPose(){let t=this.data;this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}update(t){(0!=this.mixRotate||0!=this.mixX||0!=this.mixY||0!=this.mixScaleX||0!=this.mixScaleY||0!=this.mixShearY)&&(this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld())}applyAbsoluteWorld(){let t=this.mixRotate,e=this.mixX,s=this.mixY,i=this.mixScaleX,a=this.mixScaleY,r=this.mixShearY,n=0!=e||0!=s,l=this.target,o=l.a,h=l.b,d=l.c,c=l.d,u=o*c-h*d>0?w.degRad:-w.degRad,f=this.data.offsetRotation*u,m=this.data.offsetShearY*u,g=this.bones;for(let u=0,p=g.length;u<p;u++){let p=g[u];if(0!=t){let e=p.a,s=p.b,i=p.c,a=p.d,r=Math.atan2(d,o)-Math.atan2(i,e)+f;r>w.PI?r-=w.PI2:r<-w.PI&&(r+=w.PI2);let n=Math.cos(r*=t),l=Math.sin(r);p.a=n*e-l*i,p.b=n*s-l*a,p.c=l*e+n*i,p.d=l*s+n*a}if(n){let t=this.temp;l.localToWorld(t.set(this.data.offsetX,this.data.offsetY)),p.worldX+=(t.x-p.worldX)*e,p.worldY+=(t.y-p.worldY)*s}if(0!=i){let t=Math.sqrt(p.a*p.a+p.c*p.c);0!=t&&(t=(t+(Math.sqrt(o*o+d*d)-t+this.data.offsetScaleX)*i)/t),p.a*=t,p.c*=t}if(0!=a){let t=Math.sqrt(p.b*p.b+p.d*p.d);0!=t&&(t=(t+(Math.sqrt(h*h+c*c)-t+this.data.offsetScaleY)*a)/t),p.b*=t,p.d*=t}if(r>0){let t=p.b,e=p.d,s=Math.atan2(e,t),i=Math.atan2(c,h)-Math.atan2(d,o)-(s-Math.atan2(p.c,p.a));i>w.PI?i-=w.PI2:i<-w.PI&&(i+=w.PI2),i=s+(i+m)*r;let a=Math.sqrt(t*t+e*e);p.b=Math.cos(i)*a,p.d=Math.sin(i)*a}p.updateAppliedTransform()}}applyRelativeWorld(){let t=this.mixRotate,e=this.mixX,s=this.mixY,i=this.mixScaleX,a=this.mixScaleY,r=this.mixShearY,n=0!=e||0!=s,l=this.target,o=l.a,h=l.b,d=l.c,c=l.d,u=o*c-h*d>0?w.degRad:-w.degRad,f=this.data.offsetRotation*u,m=this.data.offsetShearY*u,g=this.bones;for(let u=0,p=g.length;u<p;u++){let p=g[u];if(0!=t){let e=p.a,s=p.b,i=p.c,a=p.d,r=Math.atan2(d,o)+f;r>w.PI?r-=w.PI2:r<-w.PI&&(r+=w.PI2);let n=Math.cos(r*=t),l=Math.sin(r);p.a=n*e-l*i,p.b=n*s-l*a,p.c=l*e+n*i,p.d=l*s+n*a}if(n){let t=this.temp;l.localToWorld(t.set(this.data.offsetX,this.data.offsetY)),p.worldX+=t.x*e,p.worldY+=t.y*s}if(0!=i){let t=(Math.sqrt(o*o+d*d)-1+this.data.offsetScaleX)*i+1;p.a*=t,p.c*=t}if(0!=a){let t=(Math.sqrt(h*h+c*c)-1+this.data.offsetScaleY)*a+1;p.b*=t,p.d*=t}if(r>0){let t=Math.atan2(c,h)-Math.atan2(d,o);t>w.PI?t-=w.PI2:t<-w.PI&&(t+=w.PI2);let e=p.b,s=p.d;t=Math.atan2(s,e)+(t-w.PI/2+m)*r;let i=Math.sqrt(e*e+s*s);p.b=Math.cos(t)*i,p.d=Math.sin(t)*i}p.updateAppliedTransform()}}applyAbsoluteLocal(){let t=this.mixRotate,e=this.mixX,s=this.mixY,i=this.mixScaleX,a=this.mixScaleY,r=this.mixShearY,n=this.target,l=this.bones;for(let o=0,h=l.length;o<h;o++){let h=l[o],d=h.arotation;0!=t&&(d+=(n.arotation-d+this.data.offsetRotation)*t);let c=h.ax,u=h.ay;c+=(n.ax-c+this.data.offsetX)*e,u+=(n.ay-u+this.data.offsetY)*s;let f=h.ascaleX,m=h.ascaleY;0!=i&&0!=f&&(f=(f+(n.ascaleX-f+this.data.offsetScaleX)*i)/f),0!=a&&0!=m&&(m=(m+(n.ascaleY-m+this.data.offsetScaleY)*a)/m);let g=h.ashearY;0!=r&&(g+=(n.ashearY-g+this.data.offsetShearY)*r),h.updateWorldTransformWith(c,u,d,f,m,h.ashearX,g)}}applyRelativeLocal(){let t=this.mixRotate,e=this.mixX,s=this.mixY,i=this.mixScaleX,a=this.mixScaleY,r=this.mixShearY,n=this.target,l=this.bones;for(let o=0,h=l.length;o<h;o++){let h=l[o],d=h.arotation+(n.arotation+this.data.offsetRotation)*t,c=h.ax+(n.ax+this.data.offsetX)*e,u=h.ay+(n.ay+this.data.offsetY)*s,f=h.ascaleX*((n.ascaleX-1+this.data.offsetScaleX)*i+1),m=h.ascaleY*((n.ascaleY-1+this.data.offsetScaleY)*a+1),g=h.ashearY+(n.ashearY+this.data.offsetShearY)*r;h.updateWorldTransformWith(c,u,d,f,m,h.ashearX,g)}}}class t0{static quadTriangles=[0,1,2,2,3,0];static yDown=!1;data;bones;slots;drawOrder;ikConstraints;transformConstraints;pathConstraints;physicsConstraints;_updateCache=[];skin=null;color;scaleX=1;_scaleY=1;get scaleY(){return t0.yDown?-this._scaleY:this._scaleY}set scaleY(t){this._scaleY=t}x=0;y=0;time=0;constructor(t){if(!t)throw Error("data cannot be null.");this.data=t,this.bones=[];for(let e=0;e<t.bones.length;e++){let s,i=t.bones[e];if(i.parent){let t=this.bones[i.parent.index];s=new tq(i,this,t),t.children.push(s)}else s=new tq(i,this,null);this.bones.push(s)}this.slots=[],this.drawOrder=[];for(let e=0;e<t.slots.length;e++){let s=t.slots[e],i=this.bones[s.boneData.index],a=new tQ(s,i);this.slots.push(a),this.drawOrder.push(a)}this.ikConstraints=[];for(let e=0;e<t.ikConstraints.length;e++){let s=t.ikConstraints[e];this.ikConstraints.push(new t$(s,this))}this.transformConstraints=[];for(let e=0;e<t.transformConstraints.length;e++){let s=t.transformConstraints[e];this.transformConstraints.push(new tZ(s,this))}this.pathConstraints=[];for(let e=0;e<t.pathConstraints.length;e++){let s=t.pathConstraints[e];this.pathConstraints.push(new tJ(s,this))}this.physicsConstraints=[];for(let e=0;e<t.physicsConstraints.length;e++){let s=t.physicsConstraints[e];this.physicsConstraints.push(new tK(s,this))}this.color=new y(1,1,1,1),this.updateCache()}updateCache(){this._updateCache.length=0;let t=this.bones;for(let e=0,s=t.length;e<s;e++){let s=t[e];s.sorted=s.data.skinRequired,s.active=!s.sorted}if(this.skin){let t=this.skin.bones;for(let e=0,s=this.skin.bones.length;e<s;e++){let s=this.bones[t[e].index];do s.sorted=!1,s.active=!0,s=s.parent;while(s)}}let e=this.ikConstraints,s=this.transformConstraints,i=this.pathConstraints,a=this.physicsConstraints,r=e.length,n=s.length,l=i.length,o=this.physicsConstraints.length,h=r+n+l+o;t:for(let t=0;t<h;t++){for(let s=0;s<r;s++){let i=e[s];if(i.data.order==t){this.sortIkConstraint(i);continue t}}for(let e=0;e<n;e++){let i=s[e];if(i.data.order==t){this.sortTransformConstraint(i);continue t}}for(let e=0;e<l;e++){let s=i[e];if(s.data.order==t){this.sortPathConstraint(s);continue t}}for(let e=0;e<o;e++){let s=a[e];if(s.data.order==t){this.sortPhysicsConstraint(s);continue t}}}for(let e=0,s=t.length;e<s;e++)this.sortBone(t[e])}sortIkConstraint(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||this.skin&&k.contains(this.skin.constraints,t.data,!0)),!t.active)return;let e=t.target;this.sortBone(e);let s=t.bones,i=s[0];if(this.sortBone(i),1==s.length)this._updateCache.push(t),this.sortReset(i.children);else{let e=s[s.length-1];this.sortBone(e),this._updateCache.push(t),this.sortReset(i.children),e.sorted=!0}}sortPathConstraint(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||this.skin&&k.contains(this.skin.constraints,t.data,!0)),!t.active)return;let e=t.target,s=e.data.index,i=e.bone;this.skin&&this.sortPathConstraintAttachment(this.skin,s,i),this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,s,i);for(let t=0,e=this.data.skins.length;t<e;t++)this.sortPathConstraintAttachment(this.data.skins[t],s,i);let a=e.getAttachment();a instanceof tV&&this.sortPathConstraintAttachmentWith(a,i);let r=t.bones,n=r.length;for(let t=0;t<n;t++)this.sortBone(r[t]);this._updateCache.push(t);for(let t=0;t<n;t++)this.sortReset(r[t].children);for(let t=0;t<n;t++)r[t].sorted=!0}sortTransformConstraint(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||this.skin&&k.contains(this.skin.constraints,t.data,!0)),!t.active)return;this.sortBone(t.target);let e=t.bones,s=e.length;if(t.data.local)for(let t=0;t<s;t++){let s=e[t];this.sortBone(s.parent),this.sortBone(s)}else for(let t=0;t<s;t++)this.sortBone(e[t]);this._updateCache.push(t);for(let t=0;t<s;t++)this.sortReset(e[t].children);for(let t=0;t<s;t++)e[t].sorted=!0}sortPathConstraintAttachment(t,e,s){let i=t.attachments[e];if(i)for(let t in i)this.sortPathConstraintAttachmentWith(i[t],s)}sortPathConstraintAttachmentWith(t,e){if(!(t instanceof tV))return;let s=t.bones;if(s){let t=this.bones;for(let e=0,i=s.length;e<i;){let i=s[e++];for(i+=e;e<i;)this.sortBone(t[s[e++]])}}else this.sortBone(e)}sortPhysicsConstraint(t){let e=t.bone;t.active=e.active&&(!t.data.skinRequired||null!=this.skin&&k.contains(this.skin.constraints,t.data,!0)),t.active&&(this.sortBone(e),this._updateCache.push(t),this.sortReset(e.children),e.sorted=!0)}sortBone(t){if(!t||t.sorted)return;let e=t.parent;e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}sortReset(t){for(let e=0,s=t.length;e<s;e++){let s=t[e];s.active&&(s.sorted&&this.sortReset(s.children),s.sorted=!1)}}updateWorldTransform(t){if(null==t)throw Error("physics is undefined");let e=this.bones;for(let t=0,s=e.length;t<s;t++){let s=e[t];s.ax=s.x,s.ay=s.y,s.arotation=s.rotation,s.ascaleX=s.scaleX,s.ascaleY=s.scaleY,s.ashearX=s.shearX,s.ashearY=s.shearY}let s=this._updateCache;for(let e=0,i=s.length;e<i;e++)s[e].update(t)}updateWorldTransformWith(t,e){let s=this.getRootBone();if(!s)throw Error("Root bone must not be null.");let i=e.a,a=e.b,r=e.c,n=e.d;s.worldX=i*this.x+a*this.y+e.worldX,s.worldY=r*this.x+n*this.y+e.worldY;let l=(s.rotation+s.shearX)*w.degRad,o=(s.rotation+90+s.shearY)*w.degRad,h=Math.cos(l)*s.scaleX,d=Math.cos(o)*s.scaleY,c=Math.sin(l)*s.scaleX,u=Math.sin(o)*s.scaleY;s.a=(i*h+a*c)*this.scaleX,s.b=(i*d+a*u)*this.scaleX,s.c=(r*h+n*c)*this.scaleY,s.d=(r*d+n*u)*this.scaleY;let f=this._updateCache;for(let e=0,i=f.length;e<i;e++){let i=f[e];i!=s&&i.update(t)}}setToSetupPose(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()}setBonesToSetupPose(){for(let t of this.bones)t.setToSetupPose();for(let t of this.ikConstraints)t.setToSetupPose();for(let t of this.transformConstraints)t.setToSetupPose();for(let t of this.pathConstraints)t.setToSetupPose();for(let t of this.physicsConstraints)t.setToSetupPose()}setSlotsToSetupPose(){let t=this.slots;k.arrayCopy(t,0,this.drawOrder,0,t.length);for(let e=0,s=t.length;e<s;e++)t[e].setToSetupPose()}getRootBone(){return 0==this.bones.length?null:this.bones[0]}findBone(t){if(!t)throw Error("boneName cannot be null.");let e=this.bones;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.data.name==t)return i}return null}findSlot(t){if(!t)throw Error("slotName cannot be null.");let e=this.slots;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.data.name==t)return i}return null}setSkinByName(t){let e=this.data.findSkin(t);if(!e)throw Error("Skin not found: "+t);this.setSkin(e)}setSkin(t){if(t!=this.skin){if(t){if(this.skin)t.attachAll(this,this.skin);else{let e=this.slots;for(let s=0,i=e.length;s<i;s++){let i=e[s],a=i.data.attachmentName;if(a){let e=t.getAttachment(s,a);e&&i.setAttachment(e)}}}}this.skin=t,this.updateCache()}}getAttachmentByName(t,e){let s=this.data.findSlot(t);if(!s)throw Error(`Can't find slot with name ${t}`);return this.getAttachment(s.index,e)}getAttachment(t,e){if(!e)throw Error("attachmentName cannot be null.");if(this.skin){let s=this.skin.getAttachment(t,e);if(s)return s}return this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null}setAttachment(t,e){if(!t)throw Error("slotName cannot be null.");let s=this.slots;for(let i=0,a=s.length;i<a;i++){let a=s[i];if(a.data.name==t){let s=null;if(e&&!(s=this.getAttachment(i,e)))throw Error("Attachment not found: "+e+", for slot: "+t);a.setAttachment(s);return}}throw Error("Slot not found: "+t)}findIkConstraint(t){if(!t)throw Error("constraintName cannot be null.");return this.ikConstraints.find(e=>e.data.name==t)??null}findTransformConstraint(t){if(!t)throw Error("constraintName cannot be null.");return this.transformConstraints.find(e=>e.data.name==t)??null}findPathConstraint(t){if(!t)throw Error("constraintName cannot be null.");return this.pathConstraints.find(e=>e.data.name==t)??null}findPhysicsConstraint(t){if(null==t)throw Error("constraintName cannot be null.");return this.physicsConstraints.find(e=>e.data.name==t)??null}getBoundsRect(){let t=new v,e=new v;return this.getBounds(t,e),{x:t.x,y:t.y,width:e.x,height:e.y}}getBounds(t,e,s=[,,],i=null){if(!t)throw Error("offset cannot be null.");if(!e)throw Error("size cannot be null.");let a=this.drawOrder,r=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let t=0,e=a.length;t<e;t++){let e=a[t];if(!e.bone.active)continue;let h=0,d=null,c=null,u=e.getAttachment();if(u instanceof tO)h=8,d=k.setArraySize(s,h,0),u.computeWorldVertices(e,d,0,2),c=t0.quadTriangles;else if(u instanceof t_)h=u.worldVerticesLength,d=k.setArraySize(s,h,0),u.computeWorldVertices(e,0,h,d,0,2),c=u.triangles;else if(u instanceof tF&&null!=i){i.clipStart(e,u);continue}if(d&&c){null!=i&&i.isClipping()&&(i.clipTriangles(d,c,c.length),d=i.clippedVertices,h=i.clippedVertices.length);for(let t=0,e=d.length;t<e;t+=2){let e=d[t],s=d[t+1];r=Math.min(r,e),n=Math.min(n,s),l=Math.max(l,e),o=Math.max(o,s)}}null!=i&&i.clipEndWithSlot(e)}null!=i&&i.clipEnd(),t.set(r,n),e.set(l-r,o-n)}update(t){this.time+=t}physicsTranslate(t,e){let s=this.physicsConstraints;for(let i=0,a=s.length;i<a;i++)s[i].translate(t,e)}physicsRotate(t,e,s){let i=this.physicsConstraints;for(let a=0,r=i.length;a<r;a++)i[a].rotate(t,e,s)}}t.Physics=void 0,(m=t.Physics||(t.Physics={}))[m.none=0]="none",m[m.reset=1]="reset",m[m.update=2]="update",m[m.pose=3]="pose";class t1 extends tU{_bone=null;set bone(t){this._bone=t}get bone(){if(this._bone)return this._bone;throw Error("BoneData not set.")}x=0;y=0;rotate=0;scaleX=0;shearX=0;limit=0;step=0;inertia=0;strength=0;damping=0;massInverse=0;wind=0;gravity=0;mix=0;inertiaGlobal=!1;strengthGlobal=!1;dampingGlobal=!1;massGlobal=!1;windGlobal=!1;gravityGlobal=!1;mixGlobal=!1;constructor(t){super(t,0,!1)}}class t2{name=null;bones=[];slots=[];skins=[];defaultSkin=null;events=[];animations=[];ikConstraints=[];transformConstraints=[];pathConstraints=[];physicsConstraints=[];x=0;y=0;width=0;height=0;referenceScale=100;version=null;hash=null;fps=0;imagesPath=null;audioPath=null;findBone(t){if(!t)throw Error("boneName cannot be null.");let e=this.bones;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findSlot(t){if(!t)throw Error("slotName cannot be null.");let e=this.slots;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findSkin(t){if(!t)throw Error("skinName cannot be null.");let e=this.skins;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findEvent(t){if(!t)throw Error("eventDataName cannot be null.");let e=this.events;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findAnimation(t){if(!t)throw Error("animationName cannot be null.");let e=this.animations;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findIkConstraint(t){if(!t)throw Error("constraintName cannot be null.");let e=this.ikConstraints;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findTransformConstraint(t){if(!t)throw Error("constraintName cannot be null.");let e=this.transformConstraints;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findPathConstraint(t){if(!t)throw Error("constraintName cannot be null.");let e=this.pathConstraints;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}findPhysicsConstraint(t){if(!t)throw Error("constraintName cannot be null.");let e=this.physicsConstraints;for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.name==t)return i}return null}}class t3{slotIndex;name;attachment;constructor(t=0,e,s){this.slotIndex=t,this.name=e,this.attachment=s}}class t5{name;attachments=[];bones=[];constraints=[];color=new y(.99607843,.61960787,.30980393,1);constructor(t){if(!t)throw Error("name cannot be null.");this.name=t}setAttachment(t,e,s){if(!s)throw Error("attachment cannot be null.");let i=this.attachments;t>=i.length&&(i.length=t+1),i[t]||(i[t]={}),i[t][e]=s}addSkin(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e],i=!1;for(let t=0;t<this.bones.length;t++)if(this.bones[t]==s){i=!0;break}i||this.bones.push(s)}for(let e=0;e<t.constraints.length;e++){let s=t.constraints[e],i=!1;for(let t=0;t<this.constraints.length;t++)if(this.constraints[t]==s){i=!0;break}i||this.constraints.push(s)}let e=t.getAttachments();for(let t=0;t<e.length;t++){var s=e[t];this.setAttachment(s.slotIndex,s.name,s.attachment)}}copySkin(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e],i=!1;for(let t=0;t<this.bones.length;t++)if(this.bones[t]==s){i=!0;break}i||this.bones.push(s)}for(let e=0;e<t.constraints.length;e++){let s=t.constraints[e],i=!1;for(let t=0;t<this.constraints.length;t++)if(this.constraints[t]==s){i=!0;break}i||this.constraints.push(s)}let e=t.getAttachments();for(let t=0;t<e.length;t++){var s=e[t];s.attachment&&(s.attachment instanceof t_?s.attachment=s.attachment.newLinkedMesh():s.attachment=s.attachment.copy(),this.setAttachment(s.slotIndex,s.name,s.attachment))}}getAttachment(t,e){let s=this.attachments[t];return s?s[e]:null}removeAttachment(t,e){let s=this.attachments[t];s&&delete s[e]}getAttachments(){let t=[];for(var e=0;e<this.attachments.length;e++){let s=this.attachments[e];if(s)for(let i in s){let a=s[i];a&&t.push(new t3(e,i,a))}}return t}getAttachmentsForSlot(t,e){let s=this.attachments[t];if(s)for(let i in s){let a=s[i];a&&e.push(new t3(t,i,a))}}clear(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0}attachAll(t,e){let s=0;for(let i=0;i<t.slots.length;i++){let a=t.slots[i],r=a.getAttachment();if(r&&s<e.attachments.length){let t=e.attachments[s];for(let e in t)if(r==t[e]){let t=this.getAttachment(s,e);t&&a.setAttachment(t);break}}s++}}}class t6{index=0;name;boneData;color=new y(1,1,1,1);darkColor=null;attachmentName=null;blendMode=t.BlendMode.Normal;visible=!0;constructor(t,e,s){if(t<0)throw Error("index must be >= 0.");if(!e)throw Error("name cannot be null.");if(!s)throw Error("boneData cannot be null.");this.index=t,this.name=e,this.boneData=s}}t.BlendMode=void 0,(g=t.BlendMode||(t.BlendMode={}))[g.Normal=0]="Normal",g[g.Additive=1]="Additive",g[g.Multiply=2]="Multiply",g[g.Screen=3]="Screen";class t8 extends tU{bones=[];_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw Error("BoneData not set.")}mixRotate=0;mixX=0;mixY=0;mixScaleX=0;mixScaleY=0;mixShearY=0;offsetRotation=0;offsetX=0;offsetY=0;offsetScaleX=0;offsetScaleY=0;offsetShearY=0;relative=!1;local=!1;constructor(t){super(t,0,!1)}}class t4{scale=1;attachmentLoader;linkedMeshes=[];constructor(t){this.attachmentLoader=t}readSkeletonData(e){let s=this.scale,i=new t2;i.name="";let a=new t7(e),r=a.readInt32(),n=a.readInt32();i.hash=0==n&&0==r?null:n.toString(16)+r.toString(16),i.version=a.readString(),i.x=a.readFloat(),i.y=a.readFloat(),i.width=a.readFloat(),i.height=a.readFloat(),i.referenceScale=a.readFloat()*s;let l=a.readBoolean();l&&(i.fps=a.readFloat(),i.imagesPath=a.readString(),i.audioPath=a.readString());let o=0;o=a.readInt(!0);for(let t=0;t<o;t++){let t=a.readString();if(!t)throw Error("String in string table must not be null.");a.strings.push(t)}o=a.readInt(!0);for(let t=0;t<o;t++){let e=a.readString();if(!e)throw Error("Bone name must not be null.");let r=0==t?null:i.bones[a.readInt(!0)],n=new tL(t,e,r);n.rotation=a.readFloat(),n.x=a.readFloat()*s,n.y=a.readFloat()*s,n.scaleX=a.readFloat(),n.scaleY=a.readFloat(),n.shearX=a.readFloat(),n.shearY=a.readFloat(),n.length=a.readFloat()*s,n.inherit=a.readByte(),n.skinRequired=a.readBoolean(),l&&(y.rgba8888ToColor(n.color,a.readInt32()),n.icon=a.readString()??void 0,n.visible=a.readBoolean()),i.bones.push(n)}o=a.readInt(!0);for(let t=0;t<o;t++){let e=a.readString();if(!e)throw Error("Slot name must not be null.");let s=new t6(t,e,i.bones[a.readInt(!0)]);y.rgba8888ToColor(s.color,a.readInt32());let r=a.readInt32();-1!=r&&y.rgb888ToColor(s.darkColor=new y,r),s.attachmentName=a.readStringRef(),s.blendMode=a.readInt(!0),l&&(s.visible=a.readBoolean()),i.slots.push(s)}o=a.readInt(!0);for(let t=0,e;t<o;t++){let t=a.readString();if(!t)throw Error("IK constraint data name must not be null.");let r=new tj(t);r.order=a.readInt(!0),e=a.readInt(!0);for(let t=0;t<e;t++)r.bones.push(i.bones[a.readInt(!0)]);r.target=i.bones[a.readInt(!0)];let n=a.readByte();r.skinRequired=(1&n)!=0,r.bendDirection=(2&n)!=0?1:-1,r.compress=(4&n)!=0,r.stretch=(8&n)!=0,r.uniform=(16&n)!=0,(32&n)!=0&&(r.mix=(64&n)!=0?a.readFloat():1),(128&n)!=0&&(r.softness=a.readFloat()*s),i.ikConstraints.push(r)}o=a.readInt(!0);for(let t=0,e;t<o;t++){let t=a.readString();if(!t)throw Error("Transform constraint data name must not be null.");let r=new t8(t);r.order=a.readInt(!0),e=a.readInt(!0);for(let t=0;t<e;t++)r.bones.push(i.bones[a.readInt(!0)]);r.target=i.bones[a.readInt(!0)];let n=a.readByte();r.skinRequired=(1&n)!=0,r.local=(2&n)!=0,r.relative=(4&n)!=0,(8&n)!=0&&(r.offsetRotation=a.readFloat()),(16&n)!=0&&(r.offsetX=a.readFloat()*s),(32&n)!=0&&(r.offsetY=a.readFloat()*s),(64&n)!=0&&(r.offsetScaleX=a.readFloat()),(128&n)!=0&&(r.offsetScaleY=a.readFloat()),(1&(n=a.readByte()))!=0&&(r.offsetShearY=a.readFloat()),(2&n)!=0&&(r.mixRotate=a.readFloat()),(4&n)!=0&&(r.mixX=a.readFloat()),(8&n)!=0&&(r.mixY=a.readFloat()),(16&n)!=0&&(r.mixScaleX=a.readFloat()),(32&n)!=0&&(r.mixScaleY=a.readFloat()),(64&n)!=0&&(r.mixShearY=a.readFloat()),i.transformConstraints.push(r)}o=a.readInt(!0);for(let e=0,r;e<o;e++){let e=a.readString();if(!e)throw Error("Path constraint data name must not be null.");let n=new tH(e);n.order=a.readInt(!0),n.skinRequired=a.readBoolean(),r=a.readInt(!0);for(let t=0;t<r;t++)n.bones.push(i.bones[a.readInt(!0)]);n.target=i.slots[a.readInt(!0)];let l=a.readByte();n.positionMode=1&l,n.spacingMode=l>>1&3,n.rotateMode=l>>3&3,(128&l)!=0&&(n.offsetRotation=a.readFloat()),n.position=a.readFloat(),n.positionMode==t.PositionMode.Fixed&&(n.position*=s),n.spacing=a.readFloat(),(n.spacingMode==t.SpacingMode.Length||n.spacingMode==t.SpacingMode.Fixed)&&(n.spacing*=s),n.mixRotate=a.readFloat(),n.mixX=a.readFloat(),n.mixY=a.readFloat(),i.pathConstraints.push(n)}o=a.readInt(!0);for(let t=0;t<o;t++){let t=a.readString();if(!t)throw Error("Physics constraint data name must not be null.");let e=new t1(t);e.order=a.readInt(!0),e.bone=i.bones[a.readInt(!0)];let r=a.readByte();e.skinRequired=(1&r)!=0,(2&r)!=0&&(e.x=a.readFloat()),(4&r)!=0&&(e.y=a.readFloat()),(8&r)!=0&&(e.rotate=a.readFloat()),(16&r)!=0&&(e.scaleX=a.readFloat()),(32&r)!=0&&(e.shearX=a.readFloat()),e.limit=((64&r)!=0?a.readFloat():5e3)*s,e.step=1/a.readUnsignedByte(),e.inertia=a.readFloat(),e.strength=a.readFloat(),e.damping=a.readFloat(),e.massInverse=(128&r)!=0?a.readFloat():1,e.wind=a.readFloat(),e.gravity=a.readFloat(),(1&(r=a.readByte()))!=0&&(e.inertiaGlobal=!0),(2&r)!=0&&(e.strengthGlobal=!0),(4&r)!=0&&(e.dampingGlobal=!0),(8&r)!=0&&(e.massGlobal=!0),(16&r)!=0&&(e.windGlobal=!0),(32&r)!=0&&(e.gravityGlobal=!0),(64&r)!=0&&(e.mixGlobal=!0),e.mix=(128&r)!=0?a.readFloat():1,i.physicsConstraints.push(e)}let h=this.readSkin(a,i,!0,l);h&&(i.defaultSkin=h,i.skins.push(h));{let t=i.skins.length;for(k.setArraySize(i.skins,o=t+a.readInt(!0));t<o;t++){let e=this.readSkin(a,i,!1,l);if(!e)throw Error("readSkin() should not have returned null.");i.skins[t]=e}}o=this.linkedMeshes.length;for(let t=0;t<o;t++){let e=this.linkedMeshes[t],s=i.skins[e.skinIndex];if(!e.parent)throw Error("Linked mesh parent must not be null");let a=s.getAttachment(e.slotIndex,e.parent);if(!a)throw Error(`Parent mesh not found: ${e.parent}`);e.mesh.timelineAttachment=e.inheritTimeline?a:e.mesh,e.mesh.setParentMesh(a),null!=e.mesh.region&&e.mesh.updateRegion()}this.linkedMeshes.length=0,o=a.readInt(!0);for(let t=0;t<o;t++){let t=a.readString();if(!t)throw Error("Event data name must not be null");let e=new tG(t);e.intValue=a.readInt(!1),e.floatValue=a.readFloat(),e.stringValue=a.readString(),e.audioPath=a.readString(),e.audioPath&&(e.volume=a.readFloat(),e.balance=a.readFloat()),i.events.push(e)}o=a.readInt(!0);for(let t=0;t<o;t++){let t=a.readString();if(!t)throw Error("Animatio name must not be null.");i.animations.push(this.readAnimation(a,t,i))}return i}readSkin(t,e,s,i){let a=null,r=0;if(s){if(0==(r=t.readInt(!0)))return null;a=new t5("default")}else{let s=t.readString();if(!s)throw Error("Skin name must not be null.");a=new t5(s),i&&y.rgba8888ToColor(a.color,t.readInt32()),a.bones.length=t.readInt(!0);for(let s=0,i=a.bones.length;s<i;s++)a.bones[s]=e.bones[t.readInt(!0)];for(let s=0,i=t.readInt(!0);s<i;s++)a.constraints.push(e.ikConstraints[t.readInt(!0)]);for(let s=0,i=t.readInt(!0);s<i;s++)a.constraints.push(e.transformConstraints[t.readInt(!0)]);for(let s=0,i=t.readInt(!0);s<i;s++)a.constraints.push(e.pathConstraints[t.readInt(!0)]);for(let s=0,i=t.readInt(!0);s<i;s++)a.constraints.push(e.physicsConstraints[t.readInt(!0)]);r=t.readInt(!0)}for(let s=0;s<r;s++){let s=t.readInt(!0);for(let r=0,n=t.readInt(!0);r<n;r++){let r=t.readStringRef();if(!r)throw Error("Attachment name must not be null");let n=this.readAttachment(t,e,a,s,r,i);n&&a.setAttachment(s,r,n)}}return a}readAttachment(t,e,s,a,r,n){let l=this.scale,o=t.readByte(),h=(8&o)!=0?t.readStringRef():r;if(!h)throw Error("Attachment name must not be null");switch(7&o){case i.Region:{let e=(16&o)!=0?t.readStringRef():null,i=(32&o)!=0?t.readInt32():0xffffffff,a=(64&o)!=0?this.readSequence(t):null,r=(128&o)!=0?t.readFloat():0,n=t.readFloat(),d=t.readFloat(),c=t.readFloat(),u=t.readFloat(),f=t.readFloat(),m=t.readFloat();e||(e=h);let g=this.attachmentLoader.newRegionAttachment(s,h,e,a);if(!g)return null;return g.path=e,g.x=n*l,g.y=d*l,g.scaleX=c,g.scaleY=u,g.rotation=r,g.width=f*l,g.height=m*l,y.rgba8888ToColor(g.color,i),g.sequence=a,null==a&&g.updateRegion(),g}case i.BoundingBox:{let e=this.readVertices(t,(16&o)!=0),i=n?t.readInt32():0,a=this.attachmentLoader.newBoundingBoxAttachment(s,h);if(!a)return null;return a.worldVerticesLength=e.length,a.vertices=e.vertices,a.bones=e.bones,n&&y.rgba8888ToColor(a.color,i),a}case i.Mesh:{let e=(16&o)!=0?t.readStringRef():h,i=(32&o)!=0?t.readInt32():0xffffffff,a=(64&o)!=0?this.readSequence(t):null,r=t.readInt(!0),d=this.readVertices(t,(128&o)!=0),c=this.readFloatArray(t,d.length,1),u=this.readShortArray(t,(d.length-r-2)*3),f=[],m=0,g=0;n&&(f=this.readShortArray(t,t.readInt(!0)),m=t.readFloat(),g=t.readFloat()),e||(e=h);let p=this.attachmentLoader.newMeshAttachment(s,h,e,a);if(!p)return null;return p.path=e,y.rgba8888ToColor(p.color,i),p.bones=d.bones,p.vertices=d.vertices,p.worldVerticesLength=d.length,p.triangles=u,p.regionUVs=c,null==a&&p.updateRegion(),p.hullLength=r<<1,p.sequence=a,n&&(p.edges=f,p.width=m*l,p.height=g*l),p}case i.LinkedMesh:{let e=(16&o)!=0?t.readStringRef():h;if(null==e)throw Error("Path of linked mesh must not be null");let i=(32&o)!=0?t.readInt32():0xffffffff,r=(64&o)!=0?this.readSequence(t):null,d=t.readInt(!0),c=t.readStringRef(),u=0,f=0;n&&(u=t.readFloat(),f=t.readFloat());let m=this.attachmentLoader.newMeshAttachment(s,h,e,r);if(!m)return null;return m.path=e,y.rgba8888ToColor(m.color,i),m.sequence=r,n&&(m.width=u*l,m.height=f*l),this.linkedMeshes.push(new t9(m,d,a,c,(128&o)!=0)),m}case i.Path:{let e=this.readVertices(t,(64&o)!=0),i=k.newArray(e.length/6,0);for(let e=0,s=i.length;e<s;e++)i[e]=t.readFloat()*l;let a=n?t.readInt32():0,r=this.attachmentLoader.newPathAttachment(s,h);if(!r)return null;return r.closed=(16&o)!=0,r.constantSpeed=(32&o)!=0,r.worldVerticesLength=e.length,r.vertices=e.vertices,r.bones=e.bones,r.lengths=i,n&&y.rgba8888ToColor(r.color,a),r}case i.Point:{let e=t.readFloat(),i=t.readFloat(),a=t.readFloat(),r=n?t.readInt32():0,o=this.attachmentLoader.newPointAttachment(s,h);if(!o)return null;return o.x=i*l,o.y=a*l,o.rotation=e,n&&y.rgba8888ToColor(o.color,r),o}case i.Clipping:{let i=t.readInt(!0),a=this.readVertices(t,(16&o)!=0),r=n?t.readInt32():0,l=this.attachmentLoader.newClippingAttachment(s,h);if(!l)return null;return l.endSlot=e.slots[i],l.worldVerticesLength=a.length,l.vertices=a.vertices,l.bones=a.bones,n&&y.rgba8888ToColor(l.color,r),l}}return null}readSequence(t){let e=new F(t.readInt(!0));return e.start=t.readInt(!0),e.digits=t.readInt(!0),e.setupIndex=t.readInt(!0),e}readVertices(t,e){let s=this.scale,i=t.readInt(!0),a=new et;if(a.length=i<<1,!e)return a.vertices=this.readFloatArray(t,a.length,s),a;let r=[],n=[];for(let e=0;e<i;e++){let e=t.readInt(!0);n.push(e);for(let i=0;i<e;i++)n.push(t.readInt(!0)),r.push(t.readFloat()*s),r.push(t.readFloat()*s),r.push(t.readFloat())}return a.vertices=k.toFloatArray(r),a.bones=n,a}readFloatArray(t,e,s){let i=Array(e);if(1==s)for(let s=0;s<e;s++)i[s]=t.readFloat();else for(let a=0;a<e;a++)i[a]=t.readFloat()*s;return i}readShortArray(t,e){let s=Array(e);for(let i=0;i<e;i++)s[i]=t.readInt(!0);return s}readAnimation(e,s,i){e.readInt(!0);let a=[],r=this.scale;for(let t=0,s=e.readInt(!0);t<s;t++){let t=e.readInt(!0);for(let s=0,i=e.readInt(!0);s<i;s++){let s=e.readByte(),i=e.readInt(!0),r=i-1;switch(s){case eg:{let s=new Q(i,t);for(let t=0;t<i;t++)s.setFrame(t,e.readFloat(),e.readStringRef());a.push(s);break}case ep:{let s=new $(i,e.readInt(!0),t),n=e.readFloat(),l=e.readUnsignedByte()/255,o=e.readUnsignedByte()/255,h=e.readUnsignedByte()/255,d=e.readUnsignedByte()/255;for(let t=0,i=0;s.setFrame(t,n,l,o,h,d),t!=r;t++){let a=e.readFloat(),r=e.readUnsignedByte()/255,c=e.readUnsignedByte()/255,u=e.readUnsignedByte()/255,f=e.readUnsignedByte()/255;switch(e.readByte()){case eP:s.setStepped(t);break;case eX:ei(e,s,i++,t,0,n,a,l,r,1),ei(e,s,i++,t,1,n,a,o,c,1),ei(e,s,i++,t,2,n,a,h,u,1),ei(e,s,i++,t,3,n,a,d,f,1)}n=a,l=r,o=c,h=u,d=f}a.push(s);break}case ex:{let s=new j(i,e.readInt(!0),t),n=e.readFloat(),l=e.readUnsignedByte()/255,o=e.readUnsignedByte()/255,h=e.readUnsignedByte()/255;for(let t=0,i=0;s.setFrame(t,n,l,o,h),t!=r;t++){let a=e.readFloat(),r=e.readUnsignedByte()/255,d=e.readUnsignedByte()/255,c=e.readUnsignedByte()/255;switch(e.readByte()){case eP:s.setStepped(t);break;case eX:ei(e,s,i++,t,0,n,a,l,r,1),ei(e,s,i++,t,1,n,a,o,d,1),ei(e,s,i++,t,2,n,a,h,c,1)}n=a,l=r,o=d,h=c}a.push(s);break}case eb:{let s=new J(i,e.readInt(!0),t),n=e.readFloat(),l=e.readUnsignedByte()/255,o=e.readUnsignedByte()/255,h=e.readUnsignedByte()/255,d=e.readUnsignedByte()/255,c=e.readUnsignedByte()/255,u=e.readUnsignedByte()/255,f=e.readUnsignedByte()/255;for(let t=0,i=0;s.setFrame(t,n,l,o,h,d,c,u,f),t!=r;t++){let a=e.readFloat(),r=e.readUnsignedByte()/255,m=e.readUnsignedByte()/255,g=e.readUnsignedByte()/255,p=e.readUnsignedByte()/255,x=e.readUnsignedByte()/255,b=e.readUnsignedByte()/255,y=e.readUnsignedByte()/255;switch(e.readByte()){case eP:s.setStepped(t);break;case eX:ei(e,s,i++,t,0,n,a,l,r,1),ei(e,s,i++,t,1,n,a,o,m,1),ei(e,s,i++,t,2,n,a,h,g,1),ei(e,s,i++,t,3,n,a,d,p,1),ei(e,s,i++,t,4,n,a,c,x,1),ei(e,s,i++,t,5,n,a,u,b,1),ei(e,s,i++,t,6,n,a,f,y,1)}n=a,l=r,o=m,h=g,d=p,c=x,u=b,f=y}a.push(s);break}case ey:{let s=new K(i,e.readInt(!0),t),n=e.readFloat(),l=e.readUnsignedByte()/255,o=e.readUnsignedByte()/255,h=e.readUnsignedByte()/255,d=e.readUnsignedByte()/255,c=e.readUnsignedByte()/255,u=e.readUnsignedByte()/255;for(let t=0,i=0;s.setFrame(t,n,l,o,h,d,c,u),t!=r;t++){let a=e.readFloat(),r=e.readUnsignedByte()/255,f=e.readUnsignedByte()/255,m=e.readUnsignedByte()/255,g=e.readUnsignedByte()/255,p=e.readUnsignedByte()/255,x=e.readUnsignedByte()/255;switch(e.readByte()){case eP:s.setStepped(t);break;case eX:ei(e,s,i++,t,0,n,a,l,r,1),ei(e,s,i++,t,1,n,a,o,f,1),ei(e,s,i++,t,2,n,a,h,m,1),ei(e,s,i++,t,3,n,a,d,g,1),ei(e,s,i++,t,4,n,a,c,p,1),ei(e,s,i++,t,5,n,a,u,x,1)}n=a,l=r,o=f,h=m,d=g,c=p,u=x}a.push(s);break}case ew:{let s=new H(i,e.readInt(!0),t),n=e.readFloat(),l=e.readUnsignedByte()/255;for(let t=0,i=0;s.setFrame(t,n,l),t!=r;t++){let a=e.readFloat(),r=e.readUnsignedByte()/255;switch(e.readByte()){case eP:s.setStepped(t);break;case eX:ei(e,s,i++,t,0,n,a,l,r,1)}n=a,l=r}a.push(s)}}}}for(let t=0,s=e.readInt(!0);t<s;t++){let t=e.readInt(!0);for(let s=0,i=e.readInt(!0);s<i;s++){let s=e.readByte(),i=e.readInt(!0);if(s==em){let s=new G(i,t);for(let t=0;t<i;t++)s.setFrame(t,e.readFloat(),e.readByte());a.push(s);continue}let n=e.readInt(!0);switch(s){case ea:a.push(ee(e,new _(i,n,t),1));break;case er:a.push(es(e,new V(i,n,t),r));break;case en:a.push(ee(e,new D(i,n,t),r));break;case el:a.push(ee(e,new O(i,n,t),r));break;case eo:a.push(es(e,new N(i,n,t),1));break;case eh:a.push(ee(e,new L(i,n,t),1));break;case ed:a.push(ee(e,new q(i,n,t),1));break;case ec:a.push(es(e,new U(i,n,t),1));break;case eu:a.push(ee(e,new W(i,n,t),1));break;case ef:a.push(ee(e,new z(i,n,t),1))}}}for(let t=0,s=e.readInt(!0);t<s;t++){let t=e.readInt(!0),s=e.readInt(!0),i=s-1,n=new ts(s,e.readInt(!0),t),l=e.readByte(),o=e.readFloat(),h=(1&l)!=0?(2&l)!=0?e.readFloat():1:0,d=(4&l)!=0?e.readFloat()*r:0;for(let t=0,s=0;n.setFrame(t,o,h,d,(8&l)!=0?1:-1,(16&l)!=0,(32&l)!=0),t!=i;t++){l=e.readByte();let i=e.readFloat(),a=(1&l)!=0?(2&l)!=0?e.readFloat():1:0,c=(4&l)!=0?e.readFloat()*r:0;(64&l)!=0?n.setStepped(t):(128&l)!=0&&(ei(e,n,s++,t,0,o,i,h,a,1),ei(e,n,s++,t,1,o,i,d,c,r)),o=i,h=a,d=c}a.push(n)}for(let t=0,s=e.readInt(!0);t<s;t++){let t=e.readInt(!0),s=e.readInt(!0),i=s-1,r=new ti(s,e.readInt(!0),t),n=e.readFloat(),l=e.readFloat(),o=e.readFloat(),h=e.readFloat(),d=e.readFloat(),c=e.readFloat(),u=e.readFloat();for(let t=0,s=0;r.setFrame(t,n,l,o,h,d,c,u),t!=i;t++){let i=e.readFloat(),a=e.readFloat(),f=e.readFloat(),m=e.readFloat(),g=e.readFloat(),p=e.readFloat(),x=e.readFloat();switch(e.readByte()){case eP:r.setStepped(t);break;case eX:ei(e,r,s++,t,0,n,i,l,a,1),ei(e,r,s++,t,1,n,i,o,f,1),ei(e,r,s++,t,2,n,i,h,m,1),ei(e,r,s++,t,3,n,i,d,g,1),ei(e,r,s++,t,4,n,i,c,p,1),ei(e,r,s++,t,5,n,i,u,x,1)}n=i,l=a,o=f,h=m,d=g,c=p,u=x}a.push(r)}for(let s=0,n=e.readInt(!0);s<n;s++){let s=e.readInt(!0),n=i.pathConstraints[s];for(let i=0,l=e.readInt(!0);i<l;i++){let i=e.readByte(),l=e.readInt(!0),o=e.readInt(!0);switch(i){case ek:a.push(ee(e,new ta(l,o,s),n.positionMode==t.PositionMode.Fixed?r:1));break;case eI:a.push(ee(e,new tr(l,o,s),n.spacingMode==t.SpacingMode.Length||n.spacingMode==t.SpacingMode.Fixed?r:1));break;case ev:let h=new tn(l,o,s),d=e.readFloat(),c=e.readFloat(),u=e.readFloat(),f=e.readFloat();for(let t=0,s=0,i=h.getFrameCount()-1;h.setFrame(t,d,c,u,f),t!=i;t++){let i=e.readFloat(),a=e.readFloat(),r=e.readFloat(),n=e.readFloat();switch(e.readByte()){case eP:h.setStepped(t);break;case eX:ei(e,h,s++,t,0,d,i,c,a,1),ei(e,h,s++,t,1,d,i,u,r,1),ei(e,h,s++,t,2,d,i,f,n,1)}d=i,c=a,u=r,f=n}a.push(h)}}}for(let t=0,s=e.readInt(!0);t<s;t++){let t=e.readInt(!0)-1;for(let s=0,i=e.readInt(!0);s<i;s++){let s=e.readByte(),i=e.readInt(!0);if(s==eY){let s=new tg(i,t);for(let t=0;t<i;t++)s.setFrame(t,e.readFloat());a.push(s);continue}let r=e.readInt(!0);switch(s){case eT:a.push(ee(e,new to(i,r,t),1));break;case eB:a.push(ee(e,new th(i,r,t),1));break;case eA:a.push(ee(e,new td(i,r,t),1));break;case eF:a.push(ee(e,new tc(i,r,t),1));break;case eC:a.push(ee(e,new tu(i,r,t),1));break;case eE:a.push(ee(e,new tf(i,r,t),1));break;case eR:a.push(ee(e,new tm(i,r,t),1))}}}for(let t=0,s=e.readInt(!0);t<s;t++){let t=i.skins[e.readInt(!0)];for(let s=0,i=e.readInt(!0);s<i;s++){let s=e.readInt(!0);for(let i=0,n=e.readInt(!0);i<n;i++){let i=e.readStringRef();if(!i)throw Error("attachmentName must not be null.");let n=t.getAttachment(s,i),l=e.readByte(),o=e.readInt(!0),h=o-1;switch(l){case eM:{let t=n.bones,i=n.vertices,l=t?i.length/3*2:i.length,d=new Z(o,e.readInt(!0),s,n),c=e.readFloat();for(let s=0,a=0;;s++){let n;let o=e.readInt(!0);if(0==o)n=t?k.newFloatArray(l):i;else{n=k.newFloatArray(l);let s=e.readInt(!0);if(o+=s,1==r)for(let t=s;t<o;t++)n[t]=e.readFloat();else for(let t=s;t<o;t++)n[t]=e.readFloat()*r;if(!t)for(let t=0,e=n.length;t<e;t++)n[t]+=i[t]}if(d.setFrame(s,c,n),s==h)break;let u=e.readFloat();switch(e.readByte()){case eP:d.setStepped(s);break;case eX:ei(e,d,a++,s,0,c,u,0,1,1)}c=u}a.push(d);break}case eS:{let t=new tp(o,s,n);for(let s=0;s<o;s++){let i=e.readFloat(),a=e.readInt32();t.setFrame(s,i,C[15&a],a>>4,e.readFloat())}a.push(t)}}}}}let n=e.readInt(!0);if(n>0){let t=new te(n),s=i.slots.length;for(let i=0;i<n;i++){let a=e.readFloat(),r=e.readInt(!0),n=k.newArray(s,0);for(let t=s-1;t>=0;t--)n[t]=-1;let l=k.newArray(s-r,0),o=0,h=0;for(let t=0;t<r;t++){let t=e.readInt(!0);for(;o!=t;)l[h++]=o++;n[o+e.readInt(!0)]=o++}for(;o<s;)l[h++]=o++;for(let t=s-1;t>=0;t--)-1==n[t]&&(n[t]=l[--h]);t.setFrame(i,a,n)}a.push(t)}let l=e.readInt(!0);if(l>0){let t=new tt(l);for(let s=0;s<l;s++){let a=e.readFloat(),r=i.events[e.readInt(!0)],n=new tz(a,r);n.intValue=e.readInt(!1),n.floatValue=e.readFloat(),n.stringValue=e.readString(),null==n.stringValue&&(n.stringValue=r.stringValue),n.data.audioPath&&(n.volume=e.readFloat(),n.balance=e.readFloat()),t.setFrame(s,n)}a.push(t)}let o=0;for(let t=0,e=a.length;t<e;t++)o=Math.max(o,a[t].getDuration());return new E(s,a,o)}}class t7{strings;index;buffer;constructor(t,e=[],s=0,i=new DataView(t instanceof ArrayBuffer?t:t.buffer)){this.strings=e,this.index=s,this.buffer=i}readByte(){return this.buffer.getInt8(this.index++)}readUnsignedByte(){return this.buffer.getUint8(this.index++)}readShort(){let t=this.buffer.getInt16(this.index);return this.index+=2,t}readInt32(){let t=this.buffer.getInt32(this.index);return this.index+=4,t}readInt(t){let e=this.readByte(),s=127&e;return(128&e)!=0&&(s|=(127&(e=this.readByte()))<<7,(128&e)!=0&&(s|=(127&(e=this.readByte()))<<14,(128&e)!=0&&(s|=(127&(e=this.readByte()))<<21,(128&e)!=0&&(s|=(127&(e=this.readByte()))<<28)))),t?s:s>>>1^-(1&s)}readStringRef(){let t=this.readInt(!0);return 0==t?null:this.strings[t-1]}readString(){let t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;let e="";for(let s=0;s<t;){let t=this.readUnsignedByte();switch(t>>4){case 12:case 13:e+=String.fromCharCode((31&t)<<6|63&this.readByte()),s+=2;break;case 14:e+=String.fromCharCode((15&t)<<12|(63&this.readByte())<<6|63&this.readByte()),s+=3;break;default:e+=String.fromCharCode(t),s++}}return e}readFloat(){let t=this.buffer.getFloat32(this.index);return this.index+=4,t}readBoolean(){return 0!=this.readByte()}}class t9{parent;skinIndex;slotIndex;mesh;inheritTimeline;constructor(t,e,s,i,a){this.mesh=t,this.skinIndex=e,this.slotIndex=s,this.parent=i,this.inheritTimeline=a}}class et{bones;vertices;length;constructor(t=null,e=null,s=0){this.bones=t,this.vertices=e,this.length=s}}function ee(t,e,s){let i=t.readFloat(),a=t.readFloat()*s;for(let r=0,n=0,l=e.getFrameCount()-1;e.setFrame(r,i,a),r!=l;r++){let l=t.readFloat(),o=t.readFloat()*s;switch(t.readByte()){case eP:e.setStepped(r);break;case eX:ei(t,e,n++,r,0,i,l,a,o,s)}i=l,a=o}return e}function es(t,e,s){let i=t.readFloat(),a=t.readFloat()*s,r=t.readFloat()*s;for(let n=0,l=0,o=e.getFrameCount()-1;e.setFrame(n,i,a,r),n!=o;n++){let o=t.readFloat(),h=t.readFloat()*s,d=t.readFloat()*s;switch(t.readByte()){case eP:e.setStepped(n);break;case eX:ei(t,e,l++,n,0,i,o,a,h,s),ei(t,e,l++,n,1,i,o,r,d,s)}i=o,a=h,r=d}return e}function ei(t,e,s,i,a,r,n,l,o,h){e.setBezier(s,i,a,r,l,t.readFloat(),t.readFloat()*h,t.readFloat(),t.readFloat()*h,n,o)}(p=i||(i={}))[p.Region=0]="Region",p[p.BoundingBox=1]="BoundingBox",p[p.Mesh=2]="Mesh",p[p.LinkedMesh=3]="LinkedMesh",p[p.Path=4]="Path",p[p.Point=5]="Point",p[p.Clipping=6]="Clipping";let ea=0,er=1,en=2,el=3,eo=4,eh=5,ed=6,ec=7,eu=8,ef=9,em=10,eg=0,ep=1,ex=2,eb=3,ey=4,ew=5,eM=0,eS=1,ek=0,eI=1,ev=2,eT=0,eB=1,eA=2,eF=4,eC=5,eE=6,eR=7,eY=8,eP=1,eX=2;class e_{minX=0;minY=0;maxX=0;maxY=0;boundingBoxes=[];polygons=[];polygonPool=new I(()=>k.newFloatArray(16));update(t,e){if(!t)throw Error("skeleton cannot be null.");let s=this.boundingBoxes,i=this.polygons,a=this.polygonPool,r=t.slots,n=r.length;s.length=0,a.freeAll(i),i.length=0;for(let t=0;t<n;t++){let e=r[t];if(!e.bone.active)continue;let n=e.getAttachment();if(n instanceof tA){s.push(n);let t=a.obtain();t.length!=n.worldVerticesLength&&(t=k.newFloatArray(n.worldVerticesLength)),i.push(t),n.computeWorldVertices(e,0,n.worldVerticesLength,t,0,2)}}e?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)}aabbCompute(){let t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY,a=this.polygons;for(let r=0,n=a.length;r<n;r++){let n=a[r];for(let a=0,r=n.length;a<r;a+=2){let r=n[a],l=n[a+1];t=Math.min(t,r),e=Math.min(e,l),s=Math.max(s,r),i=Math.max(i,l)}}this.minX=t,this.minY=e,this.maxX=s,this.maxY=i}aabbContainsPoint(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY}aabbIntersectsSegment(t,e,s,i){let a=this.minX,r=this.minY,n=this.maxX,l=this.maxY;if(t<=a&&s<=a||e<=r&&i<=r||t>=n&&s>=n||e>=l&&i>=l)return!1;let o=(i-e)/(s-t),h=o*(a-t)+e;if(h>r&&h<l||(h=o*(n-t)+e)>r&&h<l)return!0;let d=(r-e)/o+t;return d>a&&d<n||(d=(l-e)/o+t)>a&&d<n}aabbIntersectsSkeleton(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY}containsPoint(t,e){let s=this.polygons;for(let i=0,a=s.length;i<a;i++)if(this.containsPointPolygon(s[i],t,e))return this.boundingBoxes[i];return null}containsPointPolygon(t,e,s){let i=t.length,a=i-2,r=!1;for(let n=0;n<i;n+=2){let i=t[n+1],l=t[a+1];if(i<s&&l>=s||l<s&&i>=s){let o=t[n];o+(s-i)/(l-i)*(t[a]-o)<e&&(r=!r)}a=n}return r}intersectsSegment(t,e,s,i){let a=this.polygons;for(let r=0,n=a.length;r<n;r++)if(this.intersectsSegmentPolygon(a[r],t,e,s,i))return this.boundingBoxes[r];return null}intersectsSegmentPolygon(t,e,s,i,a){let r=t.length,n=e-i,l=s-a,o=e*a-s*i,h=t[r-2],d=t[r-1];for(let c=0;c<r;c+=2){let r=t[c],u=t[c+1],f=h*u-d*r,m=h-r,g=d-u,p=n*g-l*m,x=(o*m-n*f)/p;if((x>=h&&x<=r||x>=r&&x<=h)&&(x>=e&&x<=i||x>=i&&x<=e)){let t=(o*g-l*f)/p;if((t>=d&&t<=u||t>=u&&t<=d)&&(t>=s&&t<=a||t>=a&&t<=s))return!0}h=r,d=u}return!1}getPolygon(t){if(!t)throw Error("boundingBox cannot be null.");let e=this.boundingBoxes.indexOf(t);return -1==e?null:this.polygons[e]}getWidth(){return this.maxX-this.minX}getHeight(){return this.maxY-this.minY}}class eV{convexPolygons=[];convexPolygonsIndices=[];indicesArray=[];isConcaveArray=[];triangles=[];polygonPool=new I(()=>[]);polygonIndicesPool=new I(()=>[]);triangulate(t){let e=t.length>>1,s=this.indicesArray;s.length=0;for(let t=0;t<e;t++)s[t]=t;let i=this.isConcaveArray;i.length=0;for(let a=0,r=e;a<r;++a)i[a]=eV.isConcave(a,e,t,s);let a=this.triangles;for(a.length=0;e>3;){let r=e-1,n=0,l=1;for(;;){t:if(!i[n]){let a=s[r]<<1,o=s[n]<<1,h=s[l]<<1,d=t[a],c=t[a+1],u=t[o],f=t[o+1],m=t[h],g=t[h+1];for(let a=(l+1)%e;a!=r;a=(a+1)%e){if(!i[a])continue;let e=s[a]<<1,r=t[e],n=t[e+1];if(eV.positiveArea(m,g,d,c,r,n)&&eV.positiveArea(d,c,u,f,r,n)&&eV.positiveArea(u,f,m,g,r,n))break t}break}if(0==l){do{if(!i[n])break;n--}while(n>0);break}r=n,n=l,l=(l+1)%e}a.push(s[(e+n-1)%e]),a.push(s[n]),a.push(s[(n+1)%e]),s.splice(n,1),i.splice(n,1);let o=(--e+n-1)%e,h=n==e?0:n;i[o]=eV.isConcave(o,e,t,s),i[h]=eV.isConcave(h,e,t,s)}return 3==e&&(a.push(s[2]),a.push(s[0]),a.push(s[1])),a}decompose(t,e){let s=this.convexPolygons;this.polygonPool.freeAll(s),s.length=0;let i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;let a=this.polygonIndicesPool.obtain();a.length=0;let r=this.polygonPool.obtain();r.length=0;let n=-1,l=0;for(let o=0,h=e.length;o<h;o+=3){let h=e[o]<<1,d=e[o+1]<<1,c=e[o+2]<<1,u=t[h],f=t[h+1],m=t[d],g=t[d+1],p=t[c],x=t[c+1],b=!1;if(n==h){let t=r.length-4,e=eV.winding(r[t],r[t+1],r[t+2],r[t+3],p,x),s=eV.winding(p,x,r[0],r[1],r[2],r[3]);e==l&&s==l&&(r.push(p),r.push(x),a.push(c),b=!0)}b||(r.length>0?(s.push(r),i.push(a)):(this.polygonPool.free(r),this.polygonIndicesPool.free(a)),(r=this.polygonPool.obtain()).length=0,r.push(u),r.push(f),r.push(m),r.push(g),r.push(p),r.push(x),(a=this.polygonIndicesPool.obtain()).length=0,a.push(h),a.push(d),a.push(c),l=eV.winding(u,f,m,g,p,x),n=h)}r.length>0&&(s.push(r),i.push(a));for(let t=0,e=s.length;t<e;t++){if(0==(a=i[t]).length)continue;let n=a[0],l=a[a.length-1],o=(r=s[t]).length-4,h=r[o],d=r[o+1],c=r[o+2],u=r[o+3],f=r[0],m=r[1],g=r[2],p=r[3],x=eV.winding(h,d,c,u,f,m);for(let o=0;o<e;o++){if(o==t)continue;let e=i[o];if(3!=e.length)continue;let b=e[0],y=e[1],w=e[2],M=s[o],S=M[M.length-2],k=M[M.length-1];if(b!=n||y!=l)continue;let I=eV.winding(h,d,c,u,S,k),v=eV.winding(S,k,f,m,g,p);I==x&&v==x&&(M.length=0,e.length=0,r.push(S),r.push(k),a.push(w),h=c,d=u,c=S,u=k,o=0)}}for(let t=s.length-1;t>=0;t--)0==(r=s[t]).length&&(s.splice(t,1),this.polygonPool.free(r),a=i[t],i.splice(t,1),this.polygonIndicesPool.free(a));return s}static isConcave(t,e,s,i){let a=i[(e+t-1)%e]<<1,r=i[t]<<1,n=i[(t+1)%e]<<1;return!this.positiveArea(s[a],s[a+1],s[r],s[r+1],s[n],s[n+1])}static positiveArea(t,e,s,i,a,r){return t*(r-i)+s*(e-r)+a*(i-e)>=0}static winding(t,e,s,i,a,r){let n=s-t,l=i-e;return a*l-r*n+n*e-t*l>=0?1:-1}}class eD{triangulator=new eV;clippingPolygon=[];clipOutput=[];clippedVertices=[];clippedUVs=[];clippedTriangles=[];scratch=[];clipAttachment=null;clippingPolygons=null;clipStart(t,e){if(this.clipAttachment)return 0;this.clipAttachment=e;let s=e.worldVerticesLength,i=k.setArraySize(this.clippingPolygon,s);e.computeWorldVertices(t,0,s,i,0,2);let a=this.clippingPolygon;eD.makeClockwise(a);let r=this.clippingPolygons=this.triangulator.decompose(a,this.triangulator.triangulate(a));for(let t=0,e=r.length;t<e;t++){let e=r[t];eD.makeClockwise(e),e.push(e[0]),e.push(e[1])}return r.length}clipEndWithSlot(t){this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()}clipEnd(){this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)}isClipping(){return null!=this.clipAttachment}clipTriangles(t,e,s,i,a,r,n,l){let o,h,d,c,u,f;"number"==typeof e?(o=s,h=i,d=a,c=r,u=n,f=l):(o=e,h=s,d=i,c=a,u=r,f=n),d&&c&&u&&"boolean"==typeof f?this.clipTrianglesRender(t,o,h,d,c,u,f):this.clipTrianglesNoRender(t,o,h)}clipTrianglesNoRender(t,e,s){let i=this.clipOutput,a=this.clippedVertices,r=this.clippedTriangles,n=this.clippingPolygons,l=n.length,o=0;a.length=0,r.length=0;for(let h=0;h<s;h+=3){let s=e[h]<<1,d=t[s],c=t[s+1],u=t[s=e[h+1]<<1],f=t[s+1],m=t[s=e[h+2]<<1],g=t[s+1];for(let t=0;t<l;t++){let e=a.length;if(this.clip(d,c,u,f,m,g,n[t],i)){let t=i.length;if(0==t)continue;let s=t>>1,n=this.clipOutput,l=k.setArraySize(a,e+2*s);for(let s=0;s<t;s+=2,e+=2){let t=n[s],i=n[s+1];l[e]=t,l[e+1]=i}e=r.length;let h=k.setArraySize(r,e+3*(s-2));s--;for(let t=1;t<s;t++,e+=3)h[e]=o,h[e+1]=o+t,h[e+2]=o+t+1;o+=s+1}else{let t=k.setArraySize(a,e+6);t[e]=d,t[e+1]=c,t[e+2]=u,t[e+3]=f,t[e+4]=m,t[e+5]=g,e=r.length;let s=k.setArraySize(r,e+3);s[e]=o,s[e+1]=o+1,s[e+2]=o+2,o+=3;break}}}}clipTrianglesRender(t,e,s,i,a,r,n){let l=this.clipOutput,o=this.clippedVertices,h=this.clippedTriangles,d=this.clippingPolygons,c=d.length,u=n?12:8,f=0;o.length=0,h.length=0;for(let m=0;m<s;m+=3){let s=e[m]<<1,g=t[s],p=t[s+1],x=i[s],b=i[s+1],y=t[s=e[m+1]<<1],w=t[s+1],M=i[s],S=i[s+1],I=t[s=e[m+2]<<1],v=t[s+1],T=i[s],B=i[s+1];for(let t=0;t<c;t++){let e=o.length;if(this.clip(g,p,y,w,I,v,d[t],l)){let t=l.length;if(0==t)continue;let s=w-v,i=I-y,d=g-I,c=v-p,m=1/(s*d+i*(p-v)),A=t>>1,F=this.clipOutput,C=k.setArraySize(o,e+A*u);for(let l=0;l<t;l+=2,e+=u){let t=F[l],o=F[l+1];C[e]=t,C[e+1]=o,C[e+2]=a.r,C[e+3]=a.g,C[e+4]=a.b,C[e+5]=a.a;let h=t-I,u=o-v,f=(s*h+i*u)*m,g=(c*h+d*u)*m,p=1-f-g;C[e+6]=x*f+M*g+T*p,C[e+7]=b*f+S*g+B*p,n&&(C[e+8]=r.r,C[e+9]=r.g,C[e+10]=r.b,C[e+11]=r.a)}e=h.length;let E=k.setArraySize(h,e+3*(A-2));A--;for(let t=1;t<A;t++,e+=3)E[e]=f,E[e+1]=f+t,E[e+2]=f+t+1;f+=A+1}else{let t=k.setArraySize(o,e+3*u);t[e]=g,t[e+1]=p,t[e+2]=a.r,t[e+3]=a.g,t[e+4]=a.b,t[e+5]=a.a,n?(t[e+6]=x,t[e+7]=b,t[e+8]=r.r,t[e+9]=r.g,t[e+10]=r.b,t[e+11]=r.a,t[e+12]=y,t[e+13]=w,t[e+14]=a.r,t[e+15]=a.g,t[e+16]=a.b,t[e+17]=a.a,t[e+18]=M,t[e+19]=S,t[e+20]=r.r,t[e+21]=r.g,t[e+22]=r.b,t[e+23]=r.a,t[e+24]=I,t[e+25]=v,t[e+26]=a.r,t[e+27]=a.g,t[e+28]=a.b,t[e+29]=a.a,t[e+30]=T,t[e+31]=B,t[e+32]=r.r,t[e+33]=r.g,t[e+34]=r.b,t[e+35]=r.a):(t[e+6]=x,t[e+7]=b,t[e+8]=y,t[e+9]=w,t[e+10]=a.r,t[e+11]=a.g,t[e+12]=a.b,t[e+13]=a.a,t[e+14]=M,t[e+15]=S,t[e+16]=I,t[e+17]=v,t[e+18]=a.r,t[e+19]=a.g,t[e+20]=a.b,t[e+21]=a.a,t[e+22]=T,t[e+23]=B),e=h.length;let s=k.setArraySize(h,e+3);s[e]=f,s[e+1]=f+1,s[e+2]=f+2,f+=3;break}}}}clipTrianglesUnpacked(t,e,s,i){let a=this.clipOutput,r=this.clippedVertices,n=this.clippedUVs,l=this.clippedTriangles,o=this.clippingPolygons,h=o.length,d=0;r.length=0,n.length=0,l.length=0;for(let c=0;c<s;c+=3){let s=e[c]<<1,u=t[s],f=t[s+1],m=i[s],g=i[s+1],p=t[s=e[c+1]<<1],x=t[s+1],b=i[s],y=i[s+1],w=t[s=e[c+2]<<1],M=t[s+1],S=i[s],I=i[s+1];for(let t=0;t<h;t++){let e=r.length;if(this.clip(u,f,p,x,w,M,o[t],a)){let t=a.length;if(0==t)continue;let s=x-M,i=w-p,o=u-w,h=M-f,c=1/(s*o+i*(f-M)),v=t>>1,T=this.clipOutput,B=k.setArraySize(r,e+2*v),A=k.setArraySize(n,e+2*v);for(let a=0;a<t;a+=2,e+=2){let t=T[a],r=T[a+1];B[e]=t,B[e+1]=r;let n=t-w,l=r-M,d=(s*n+i*l)*c,u=(h*n+o*l)*c,f=1-d-u;A[e]=m*d+b*u+S*f,A[e+1]=g*d+y*u+I*f}e=l.length;let F=k.setArraySize(l,e+3*(v-2));v--;for(let t=1;t<v;t++,e+=3)F[e]=d,F[e+1]=d+t,F[e+2]=d+t+1;d+=v+1}else{let t=k.setArraySize(r,e+6);t[e]=u,t[e+1]=f,t[e+2]=p,t[e+3]=x,t[e+4]=w,t[e+5]=M;let s=k.setArraySize(n,e+6);s[e]=m,s[e+1]=g,s[e+2]=b,s[e+3]=y,s[e+4]=S,s[e+5]=I,e=l.length;let i=k.setArraySize(l,e+3);i[e]=d,i[e+1]=d+1,i[e+2]=d+2,d+=3;break}}}}clip(t,e,s,i,a,r,n,l){let o,h=l,d=!1;n.length%4>=2?(o=l,l=this.scratch):o=this.scratch,o.length=0,o.push(t),o.push(e),o.push(s),o.push(i),o.push(a),o.push(r),o.push(t),o.push(e),l.length=0;let c=n.length-4;for(let t=0;;t+=2){let e=n[t],s=n[t+1],i=e-n[t+2],a=s-n[t+3],r=l.length,u=o;for(let t=0,r=o.length-2;t<r;){let r=u[t],n=u[t+1],o=u[t+=2],h=u[t+1],c=a*(e-o)>i*(s-h),f=a*(e-r)-i*(s-n);if(f>0){if(c){l.push(o),l.push(h);continue}let t=o-r,e=h-n,s=f/(t*a-e*i);if(s>=0&&s<=1)l.push(r+t*s),l.push(n+e*s);else{l.push(o),l.push(h);continue}}else if(c){let t=o-r,e=h-n,s=f/(t*a-e*i);if(s>=0&&s<=1)l.push(r+t*s),l.push(n+e*s),l.push(o),l.push(h);else{l.push(o),l.push(h);continue}}d=!0}if(r==l.length)return h.length=0,!0;if(l.push(l[0]),l.push(l[1]),t==c)break;let f=l;(l=o).length=0,o=f}if(h!=l){h.length=0;for(let t=0,e=l.length-2;t<e;t++)h[t]=l[t]}else h.length=h.length-2;return d}static makeClockwise(t){let e=t.length,s=t[e-2]*t[1]-t[0]*t[e-1],i=0,a=0,r=0;for(let n=0,l=e-3;n<l;n+=2)i=t[n],a=t[n+1],r=t[n+2],s+=i*t[n+3]-r*a;if(!(s<0))for(let s=0,i=e-2,a=e>>1;s<a;s+=2){let e=t[s],a=t[s+1],r=i-s;t[s]=t[r],t[s+1]=t[r+1],t[r]=e,t[r+1]=a}}}class eO{attachmentLoader;scale=1;linkedMeshes=[];constructor(t){this.attachmentLoader=t}readSkeletonData(e){let s=this.scale,i=new t2,a="string"==typeof e?JSON.parse(e):e,r=a.skeleton;if(r&&(i.hash=r.hash,i.version=r.spine,i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height,i.referenceScale=eW(r,"referenceScale",100)*s,i.fps=r.fps,i.imagesPath=r.images??null,i.audioPath=r.audio??null),a.bones)for(let e=0;e<a.bones.length;e++){let r=a.bones[e],n=null,l=eW(r,"parent",null);l&&(n=i.findBone(l));let o=new tL(i.bones.length,r.name,n);o.length=eW(r,"length",0)*s,o.x=eW(r,"x",0)*s,o.y=eW(r,"y",0)*s,o.rotation=eW(r,"rotation",0),o.scaleX=eW(r,"scaleX",1),o.scaleY=eW(r,"scaleY",1),o.shearX=eW(r,"shearX",0),o.shearY=eW(r,"shearY",0),o.inherit=k.enumValue(t.Inherit,eW(r,"inherit","Normal")),o.skinRequired=eW(r,"skin",!1);let h=eW(r,"color",null);h&&o.color.setFromString(h),i.bones.push(o)}if(a.slots)for(let e=0;e<a.slots.length;e++){let s=a.slots[e],r=s.name,n=i.findBone(s.bone);if(!n)throw Error(`Couldn't find bone ${s.bone} for slot ${r}`);let l=new t6(i.slots.length,r,n),o=eW(s,"color",null);o&&l.color.setFromString(o);let h=eW(s,"dark",null);h&&(l.darkColor=y.fromString(h)),l.attachmentName=eW(s,"attachment",null),l.blendMode=k.enumValue(t.BlendMode,eW(s,"blend","normal")),l.visible=eW(s,"visible",!0),i.slots.push(l)}if(a.ik)for(let t=0;t<a.ik.length;t++){let e=a.ik[t],r=new tj(e.name);r.order=eW(e,"order",0),r.skinRequired=eW(e,"skin",!1);for(let t=0;t<e.bones.length;t++){let s=i.findBone(e.bones[t]);if(!s)throw Error(`Couldn't find bone ${e.bones[t]} for IK constraint ${e.name}.`);r.bones.push(s)}let n=i.findBone(e.target);if(!n)throw Error(`Couldn't find target bone ${e.target} for IK constraint ${e.name}.`);r.target=n,r.mix=eW(e,"mix",1),r.softness=eW(e,"softness",0)*s,r.bendDirection=eW(e,"bendPositive",!0)?1:-1,r.compress=eW(e,"compress",!1),r.stretch=eW(e,"stretch",!1),r.uniform=eW(e,"uniform",!1),i.ikConstraints.push(r)}if(a.transform)for(let t=0;t<a.transform.length;t++){let e=a.transform[t],r=new t8(e.name);r.order=eW(e,"order",0),r.skinRequired=eW(e,"skin",!1);for(let t=0;t<e.bones.length;t++){let s=e.bones[t],a=i.findBone(s);if(!a)throw Error(`Couldn't find bone ${s} for transform constraint ${e.name}.`);r.bones.push(a)}let n=e.target,l=i.findBone(n);if(!l)throw Error(`Couldn't find target bone ${n} for transform constraint ${e.name}.`);r.target=l,r.local=eW(e,"local",!1),r.relative=eW(e,"relative",!1),r.offsetRotation=eW(e,"rotation",0),r.offsetX=eW(e,"x",0)*s,r.offsetY=eW(e,"y",0)*s,r.offsetScaleX=eW(e,"scaleX",0),r.offsetScaleY=eW(e,"scaleY",0),r.offsetShearY=eW(e,"shearY",0),r.mixRotate=eW(e,"mixRotate",1),r.mixX=eW(e,"mixX",1),r.mixY=eW(e,"mixY",r.mixX),r.mixScaleX=eW(e,"mixScaleX",1),r.mixScaleY=eW(e,"mixScaleY",r.mixScaleX),r.mixShearY=eW(e,"mixShearY",1),i.transformConstraints.push(r)}if(a.path)for(let e=0;e<a.path.length;e++){let r=a.path[e],n=new tH(r.name);n.order=eW(r,"order",0),n.skinRequired=eW(r,"skin",!1);for(let t=0;t<r.bones.length;t++){let e=r.bones[t],s=i.findBone(e);if(!s)throw Error(`Couldn't find bone ${e} for path constraint ${r.name}.`);n.bones.push(s)}let l=r.target,o=i.findSlot(l);if(!o)throw Error(`Couldn't find target slot ${l} for path constraint ${r.name}.`);n.target=o,n.positionMode=k.enumValue(t.PositionMode,eW(r,"positionMode","Percent")),n.spacingMode=k.enumValue(t.SpacingMode,eW(r,"spacingMode","Length")),n.rotateMode=k.enumValue(t.RotateMode,eW(r,"rotateMode","Tangent")),n.offsetRotation=eW(r,"rotation",0),n.position=eW(r,"position",0),n.positionMode==t.PositionMode.Fixed&&(n.position*=s),n.spacing=eW(r,"spacing",0),(n.spacingMode==t.SpacingMode.Length||n.spacingMode==t.SpacingMode.Fixed)&&(n.spacing*=s),n.mixRotate=eW(r,"mixRotate",1),n.mixX=eW(r,"mixX",1),n.mixY=eW(r,"mixY",n.mixX),i.pathConstraints.push(n)}if(a.physics)for(let t=0;t<a.physics.length;t++){let e=a.physics[t],r=new t1(e.name);r.order=eW(e,"order",0),r.skinRequired=eW(e,"skin",!1);let n=e.bone,l=i.findBone(n);if(null==l)throw Error("Physics bone not found: "+n);r.bone=l,r.x=eW(e,"x",0),r.y=eW(e,"y",0),r.rotate=eW(e,"rotate",0),r.scaleX=eW(e,"scaleX",0),r.shearX=eW(e,"shearX",0),r.limit=eW(e,"limit",5e3)*s,r.step=1/eW(e,"fps",60),r.inertia=eW(e,"inertia",1),r.strength=eW(e,"strength",100),r.damping=eW(e,"damping",1),r.massInverse=1/eW(e,"mass",1),r.wind=eW(e,"wind",0),r.gravity=eW(e,"gravity",0),r.mix=eW(e,"mix",1),r.inertiaGlobal=eW(e,"inertiaGlobal",!1),r.strengthGlobal=eW(e,"strengthGlobal",!1),r.dampingGlobal=eW(e,"dampingGlobal",!1),r.massGlobal=eW(e,"massGlobal",!1),r.windGlobal=eW(e,"windGlobal",!1),r.gravityGlobal=eW(e,"gravityGlobal",!1),r.mixGlobal=eW(e,"mixGlobal",!1),i.physicsConstraints.push(r)}if(a.skins)for(let t=0;t<a.skins.length;t++){let e=a.skins[t],s=new t5(e.name);if(e.bones)for(let t=0;t<e.bones.length;t++){let a=e.bones[t],r=i.findBone(a);if(!r)throw Error(`Couldn't find bone ${a} for skin ${e.name}.`);s.bones.push(r)}if(e.ik)for(let t=0;t<e.ik.length;t++){let a=e.ik[t],r=i.findIkConstraint(a);if(!r)throw Error(`Couldn't find IK constraint ${a} for skin ${e.name}.`);s.constraints.push(r)}if(e.transform)for(let t=0;t<e.transform.length;t++){let a=e.transform[t],r=i.findTransformConstraint(a);if(!r)throw Error(`Couldn't find transform constraint ${a} for skin ${e.name}.`);s.constraints.push(r)}if(e.path)for(let t=0;t<e.path.length;t++){let a=e.path[t],r=i.findPathConstraint(a);if(!r)throw Error(`Couldn't find path constraint ${a} for skin ${e.name}.`);s.constraints.push(r)}if(e.physics)for(let t=0;t<e.physics.length;t++){let a=e.physics[t],r=i.findPhysicsConstraint(a);if(!r)throw Error(`Couldn't find physics constraint ${a} for skin ${e.name}.`);s.constraints.push(r)}for(let t in e.attachments){let a=i.findSlot(t);if(!a)throw Error(`Couldn't find slot ${t} for skin ${e.name}.`);let r=e.attachments[t];for(let t in r){let e=this.readAttachment(r[t],s,a.index,t,i);e&&s.setAttachment(a.index,t,e)}}i.skins.push(s),"default"==s.name&&(i.defaultSkin=s)}for(let t=0,e=this.linkedMeshes.length;t<e;t++){let e=this.linkedMeshes[t],s=e.skin?i.findSkin(e.skin):i.defaultSkin;if(!s)throw Error(`Skin not found: ${e.skin}`);let a=s.getAttachment(e.slotIndex,e.parent);if(!a)throw Error(`Parent mesh not found: ${e.parent}`);e.mesh.timelineAttachment=e.inheritTimeline?a:e.mesh,e.mesh.setParentMesh(a),null!=e.mesh.region&&e.mesh.updateRegion()}if(this.linkedMeshes.length=0,a.events)for(let t in a.events){let e=a.events[t],s=new tG(t);s.intValue=eW(e,"int",0),s.floatValue=eW(e,"float",0),s.stringValue=eW(e,"string",""),s.audioPath=eW(e,"audio",null),s.audioPath&&(s.volume=eW(e,"volume",1),s.balance=eW(e,"balance",0)),i.events.push(s)}if(a.animations)for(let t in a.animations){let e=a.animations[t];this.readAnimation(e,t,i)}return i}readAttachment(t,e,s,i,a){let r=this.scale;switch(i=eW(t,"name",i),eW(t,"type","region")){case"region":{let s=eW(t,"path",i),a=this.readSequence(eW(t,"sequence",null)),n=this.attachmentLoader.newRegionAttachment(e,i,s,a);if(!n)return null;n.path=s,n.x=eW(t,"x",0)*r,n.y=eW(t,"y",0)*r,n.scaleX=eW(t,"scaleX",1),n.scaleY=eW(t,"scaleY",1),n.rotation=eW(t,"rotation",0),n.width=t.width*r,n.height=t.height*r,n.sequence=a;let l=eW(t,"color",null);return l&&n.color.setFromString(l),null!=n.region&&n.updateRegion(),n}case"boundingbox":{let s=this.attachmentLoader.newBoundingBoxAttachment(e,i);if(!s)return null;this.readVertices(t,s,t.vertexCount<<1);let a=eW(t,"color",null);return a&&s.color.setFromString(a),s}case"mesh":case"linkedmesh":{let a=eW(t,"path",i),n=this.readSequence(eW(t,"sequence",null)),l=this.attachmentLoader.newMeshAttachment(e,i,a,n);if(!l)return null;l.path=a;let o=eW(t,"color",null);o&&l.color.setFromString(o),l.width=eW(t,"width",0)*r,l.height=eW(t,"height",0)*r,l.sequence=n;let h=eW(t,"parent",null);if(h)return this.linkedMeshes.push(new eN(l,eW(t,"skin",null),s,h,eW(t,"timelines",!0))),l;let d=t.uvs;return this.readVertices(t,l,d.length),l.triangles=t.triangles,l.regionUVs=d,null!=l.region&&l.updateRegion(),l.edges=eW(t,"edges",null),l.hullLength=2*eW(t,"hull",0),l}case"path":{let s=this.attachmentLoader.newPathAttachment(e,i);if(!s)return null;s.closed=eW(t,"closed",!1),s.constantSpeed=eW(t,"constantSpeed",!0);let a=t.vertexCount;this.readVertices(t,s,a<<1);let n=k.newArray(a/3,0);for(let e=0;e<t.lengths.length;e++)n[e]=t.lengths[e]*r;s.lengths=n;let l=eW(t,"color",null);return l&&s.color.setFromString(l),s}case"point":{let s=this.attachmentLoader.newPointAttachment(e,i);if(!s)return null;s.x=eW(t,"x",0)*r,s.y=eW(t,"y",0)*r,s.rotation=eW(t,"rotation",0);let a=eW(t,"color",null);return a&&s.color.setFromString(a),s}case"clipping":{let s=this.attachmentLoader.newClippingAttachment(e,i);if(!s)return null;let r=eW(t,"end",null);r&&(s.endSlot=a.findSlot(r));let n=t.vertexCount;this.readVertices(t,s,n<<1);let l=eW(t,"color",null);return l&&s.color.setFromString(l),s}}return null}readSequence(t){if(null==t)return null;let e=new F(eW(t,"count",0));return e.start=eW(t,"start",1),e.digits=eW(t,"digits",0),e.setupIndex=eW(t,"setup",0),e}readVertices(t,e,s){let i=this.scale;e.worldVerticesLength=s;let a=t.vertices;if(s==a.length){let t=k.toFloatArray(a);if(1!=i)for(let e=0,s=a.length;e<s;e++)t[e]*=i;e.vertices=t;return}let r=[],n=[];for(let t=0,e=a.length;t<e;){let e=a[t++];n.push(e);for(let s=t+4*e;t<s;t+=4)n.push(a[t]),r.push(a[t+1]*i),r.push(a[t+2]*i),r.push(a[t+3])}e.bones=n,e.vertices=k.toFloatArray(r)}readAnimation(e,i,a){let r=this.scale,n=[];if(e.slots)for(let t in e.slots){let s=e.slots[t],i=a.findSlot(t);if(!i)throw Error("Slot not found: "+t);let r=i.index;for(let t in s){let e=s[t];if(!e)continue;let i=e.length;if("attachment"==t){let t=new Q(i,r);for(let s=0;s<i;s++){let i=e[s];t.setFrame(s,eW(i,"time",0),eW(i,"name",null))}n.push(t)}else if("rgba"==t){let t=new $(i,i<<2,r),s=e[0],a=eW(s,"time",0),l=y.fromString(s.color);for(let i=0,r=0;;i++){t.setFrame(i,a,l.r,l.g,l.b,l.a);let n=e[i+1];if(!n){t.shrink(r);break}let o=eW(n,"time",0),h=y.fromString(n.color),d=s.curve;d&&(r=eU(d,t,r,i,0,a,o,l.r,h.r,1),r=eU(d,t,r,i,1,a,o,l.g,h.g,1),r=eU(d,t,r,i,2,a,o,l.b,h.b,1),r=eU(d,t,r,i,3,a,o,l.a,h.a,1)),a=o,l=h,s=n}n.push(t)}else if("rgb"==t){let t=new j(i,3*i,r),s=e[0],a=eW(s,"time",0),l=y.fromString(s.color);for(let i=0,r=0;;i++){t.setFrame(i,a,l.r,l.g,l.b);let n=e[i+1];if(!n){t.shrink(r);break}let o=eW(n,"time",0),h=y.fromString(n.color),d=s.curve;d&&(r=eU(d,t,r,i,0,a,o,l.r,h.r,1),r=eU(d,t,r,i,1,a,o,l.g,h.g,1),r=eU(d,t,r,i,2,a,o,l.b,h.b,1)),a=o,l=h,s=n}n.push(t)}else if("alpha"==t)n.push(eL(e,new H(i,i,r),0,1));else if("rgba2"==t){let t=new J(i,7*i,r),s=e[0],a=eW(s,"time",0),l=y.fromString(s.light),o=y.fromString(s.dark);for(let i=0,r=0;;i++){t.setFrame(i,a,l.r,l.g,l.b,l.a,o.r,o.g,o.b);let n=e[i+1];if(!n){t.shrink(r);break}let h=eW(n,"time",0),d=y.fromString(n.light),c=y.fromString(n.dark),u=s.curve;u&&(r=eU(u,t,r,i,0,a,h,l.r,d.r,1),r=eU(u,t,r,i,1,a,h,l.g,d.g,1),r=eU(u,t,r,i,2,a,h,l.b,d.b,1),r=eU(u,t,r,i,3,a,h,l.a,d.a,1),r=eU(u,t,r,i,4,a,h,o.r,c.r,1),r=eU(u,t,r,i,5,a,h,o.g,c.g,1),r=eU(u,t,r,i,6,a,h,o.b,c.b,1)),a=h,l=d,o=c,s=n}n.push(t)}else if("rgb2"==t){let t=new K(i,6*i,r),s=e[0],a=eW(s,"time",0),l=y.fromString(s.light),o=y.fromString(s.dark);for(let i=0,r=0;;i++){t.setFrame(i,a,l.r,l.g,l.b,o.r,o.g,o.b);let n=e[i+1];if(!n){t.shrink(r);break}let h=eW(n,"time",0),d=y.fromString(n.light),c=y.fromString(n.dark),u=s.curve;u&&(r=eU(u,t,r,i,0,a,h,l.r,d.r,1),r=eU(u,t,r,i,1,a,h,l.g,d.g,1),r=eU(u,t,r,i,2,a,h,l.b,d.b,1),r=eU(u,t,r,i,3,a,h,o.r,c.r,1),r=eU(u,t,r,i,4,a,h,o.g,c.g,1),r=eU(u,t,r,i,5,a,h,o.b,c.b,1)),a=h,l=d,o=c,s=n}n.push(t)}}}if(e.bones)for(let s in e.bones){let i=e.bones[s],l=a.findBone(s);if(!l)throw Error("Bone not found: "+s);let o=l.index;for(let e in i){let s=i[e],a=s.length;if(0!=a){if("rotate"===e)n.push(eL(s,new _(a,a,o),0,1));else if("translate"===e){let t=new V(a,a<<1,o);n.push(eq(s,t,"x","y",0,r))}else if("translatex"===e){let t=new D(a,a,o);n.push(eL(s,t,0,r))}else if("translatey"===e){let t=new O(a,a,o);n.push(eL(s,t,0,r))}else if("scale"===e){let t=new N(a,a<<1,o);n.push(eq(s,t,"x","y",1,1))}else if("scalex"===e){let t=new L(a,a,o);n.push(eL(s,t,1,1))}else if("scaley"===e){let t=new q(a,a,o);n.push(eL(s,t,1,1))}else if("shear"===e){let t=new U(a,a<<1,o);n.push(eq(s,t,"x","y",0,1))}else if("shearx"===e){let t=new W(a,a,o);n.push(eL(s,t,0,1))}else if("sheary"===e){let t=new z(a,a,o);n.push(eL(s,t,0,1))}else if("inherit"===e){let e=new G(a,l.index);for(let i=0;i<s.length;i++){let a=s[i];e.setFrame(i,eW(a,"time",0),k.enumValue(t.Inherit,eW(a,"inherit","Normal")))}n.push(e)}}}}if(e.ik)for(let t in e.ik){let s=e.ik[t],i=s[0];if(!i)continue;let l=a.findIkConstraint(t);if(!l)throw Error("IK Constraint not found: "+t);let o=a.ikConstraints.indexOf(l),h=new ts(s.length,s.length<<1,o),d=eW(i,"time",0),c=eW(i,"mix",1),u=eW(i,"softness",0)*r;for(let t=0,e=0;;t++){h.setFrame(t,d,c,u,eW(i,"bendPositive",!0)?1:-1,eW(i,"compress",!1),eW(i,"stretch",!1));let a=s[t+1];if(!a){h.shrink(e);break}let n=eW(a,"time",0),l=eW(a,"mix",1),o=eW(a,"softness",0)*r,f=i.curve;f&&(e=eU(f,h,e,t,0,d,n,c,l,1),e=eU(f,h,e,t,1,d,n,u,o,r)),d=n,c=l,u=o,i=a}n.push(h)}if(e.transform)for(let t in e.transform){let s=e.transform[t],i=s[0];if(!i)continue;let r=a.findTransformConstraint(t);if(!r)throw Error("Transform constraint not found: "+t);let l=a.transformConstraints.indexOf(r),o=new ti(s.length,6*s.length,l),h=eW(i,"time",0),d=eW(i,"mixRotate",1),c=eW(i,"mixX",1),u=eW(i,"mixY",c),f=eW(i,"mixScaleX",1),m=eW(i,"mixScaleY",f),g=eW(i,"mixShearY",1);for(let t=0,e=0;;t++){o.setFrame(t,h,d,c,u,f,m,g);let a=s[t+1];if(!a){o.shrink(e);break}let r=eW(a,"time",0),n=eW(a,"mixRotate",1),l=eW(a,"mixX",1),p=eW(a,"mixY",l),x=eW(a,"mixScaleX",1),b=eW(a,"mixScaleY",x),y=eW(a,"mixShearY",1),w=i.curve;w&&(e=eU(w,o,e,t,0,h,r,d,n,1),e=eU(w,o,e,t,1,h,r,c,l,1),e=eU(w,o,e,t,2,h,r,u,p,1),e=eU(w,o,e,t,3,h,r,f,x,1),e=eU(w,o,e,t,4,h,r,m,b,1),e=eU(w,o,e,t,5,h,r,g,y,1)),h=r,d=n,c=l,u=p,f=x,m=b,f=x,i=a}n.push(o)}if(e.path)for(let s in e.path){let i=e.path[s],l=a.findPathConstraint(s);if(!l)throw Error("Path constraint not found: "+s);let o=a.pathConstraints.indexOf(l);for(let e in i){let s=i[e],a=s[0];if(!a)continue;let h=s.length;if("position"===e){let e=new ta(h,h,o);n.push(eL(s,e,0,l.positionMode==t.PositionMode.Fixed?r:1))}else if("spacing"===e){let e=new tr(h,h,o);n.push(eL(s,e,0,l.spacingMode==t.SpacingMode.Length||l.spacingMode==t.SpacingMode.Fixed?r:1))}else if("mix"===e){let t=new tn(h,3*h,o),e=eW(a,"time",0),i=eW(a,"mixRotate",1),r=eW(a,"mixX",1),l=eW(a,"mixY",r);for(let n=0,o=0;;n++){t.setFrame(n,e,i,r,l);let h=s[n+1];if(!h){t.shrink(o);break}let d=eW(h,"time",0),c=eW(h,"mixRotate",1),u=eW(h,"mixX",1),f=eW(h,"mixY",u),m=a.curve;m&&(o=eU(m,t,o,n,0,e,d,i,c,1),o=eU(m,t,o,n,1,e,d,r,u,1),o=eU(m,t,o,n,2,e,d,l,f,1)),e=d,i=c,r=u,l=f,a=h}n.push(t)}}}if(e.physics)for(let t in e.physics){let s=e.physics[t],i=-1;if(t.length>0){let e=a.findPhysicsConstraint(t);if(!e)throw Error("Physics constraint not found: "+t);i=a.physicsConstraints.indexOf(e)}for(let t in s){let e,a=s[t],r=a[0];if(!r)continue;let l=a.length;if("reset"==t){let t=new tg(l,i);for(let e=0;null!=r;r=a[e+1],e++)t.setFrame(e,eW(r,"time",0));n.push(t);continue}if("inertia"==t)e=new to(l,l,i);else if("strength"==t)e=new th(l,l,i);else if("damping"==t)e=new td(l,l,i);else if("mass"==t)e=new tc(l,l,i);else if("wind"==t)e=new tu(l,l,i);else if("gravity"==t)e=new tf(l,l,i);else{if("mix"!=t)continue;e=new tm(l,l,i)}n.push(eL(a,e,0,1))}}if(e.attachments)for(let t in e.attachments){let i=e.attachments[t],l=a.findSkin(t);if(!l)throw Error("Skin not found: "+t);for(let t in i){let e=i[t],o=a.findSlot(t);if(!o)throw Error("Slot not found: "+t);let h=o.index;for(let t in e){let i=e[t],a=l.getAttachment(h,t);for(let t in i){let e=i[t],l=e[0];if(l){if("deform"==t){let t=a.bones,s=a.vertices,i=t?s.length/3*2:s.length,o=new Z(e.length,e.length,h,a),d=eW(l,"time",0);for(let a=0,n=0;;a++){let h;let c=eW(l,"vertices",null);if(c){h=k.newFloatArray(i);let e=eW(l,"offset",0);if(k.arrayCopy(c,0,h,e,c.length),1!=r)for(let t=e,s=t+c.length;t<s;t++)h[t]*=r;if(!t)for(let t=0;t<i;t++)h[t]+=s[t]}else h=t?k.newFloatArray(i):s;o.setFrame(a,d,h);let u=e[a+1];if(!u){o.shrink(n);break}let f=eW(u,"time",0),m=l.curve;m&&(n=eU(m,o,n,a,0,d,f,0,1,1)),d=f,l=u}n.push(o)}else if("sequence"==t){let t=new tp(e.length,h,a),i=0;for(let a=0;a<e.length;a++){let r=eW(l,"delay",i),n=eW(l,"time",0),o=s[eW(l,"mode","hold")],h=eW(l,"index",0);t.setFrame(a,n,o,h,r),i=r,l=e[a+1]}n.push(t)}}}}}}if(e.drawOrder){let t=new te(e.drawOrder.length),s=a.slots.length,i=0;for(let r=0;r<e.drawOrder.length;r++,i++){let n=e.drawOrder[r],l=null,o=eW(n,"offsets",null);if(o){l=k.newArray(s,-1);let t=k.newArray(s-o.length,0),e=0,i=0;for(let s=0;s<o.length;s++){let r=o[s],n=a.findSlot(r.slot);if(!n)throw Error("Slot not found: "+n);let h=n.index;for(;e!=h;)t[i++]=e++;l[e+r.offset]=e++}for(;e<s;)t[i++]=e++;for(let e=s-1;e>=0;e--)-1==l[e]&&(l[e]=t[--i])}t.setFrame(i,eW(n,"time",0),l)}n.push(t)}if(e.events){let t=new tt(e.events.length),s=0;for(let i=0;i<e.events.length;i++,s++){let r=e.events[i],n=a.findEvent(r.name);if(!n)throw Error("Event not found: "+r.name);let l=new tz(k.toSinglePrecision(eW(r,"time",0)),n);l.intValue=eW(r,"int",n.intValue),l.floatValue=eW(r,"float",n.floatValue),l.stringValue=eW(r,"string",n.stringValue),l.data.audioPath&&(l.volume=eW(r,"volume",1),l.balance=eW(r,"balance",0)),t.setFrame(s,l)}n.push(t)}let l=0;for(let t=0,e=n.length;t<e;t++)l=Math.max(l,n[t].getDuration());a.animations.push(new E(i,n,l))}}class eN{parent;skin;slotIndex;mesh;inheritTimeline;constructor(t,e,s,i,a){this.mesh=t,this.skin=e,this.slotIndex=s,this.parent=i,this.inheritTimeline=a}}function eL(t,e,s,i){let a=t[0],r=eW(a,"time",0),n=eW(a,"value",s)*i,l=0;for(let o=0;;o++){e.setFrame(o,r,n);let h=t[o+1];if(!h)return e.shrink(l),e;let d=eW(h,"time",0),c=eW(h,"value",s)*i;a.curve&&(l=eU(a.curve,e,l,o,0,r,d,n,c,i)),r=d,n=c,a=h}}function eq(t,e,s,i,a,r){let n=t[0],l=eW(n,"time",0),o=eW(n,s,a)*r,h=eW(n,i,a)*r,d=0;for(let c=0;;c++){e.setFrame(c,l,o,h);let u=t[c+1];if(!u)return e.shrink(d),e;let f=eW(u,"time",0),m=eW(u,s,a)*r,g=eW(u,i,a)*r,p=n.curve;p&&(d=eU(p,e,d,c,0,l,f,o,m,r),d=eU(p,e,d,c,1,l,f,h,g,r)),l=f,o=m,h=g,n=u}}function eU(t,e,s,i,a,r,n,l,o,h){if("stepped"==t)return e.setStepped(i),s;let d=a<<2,c=t[d],u=t[d+1]*h,f=t[d+2],m=t[d+3]*h;return e.setBezier(s,i,a,r,l,c,u,f,m,n,o),s+1}function eW(t,e,s){return void 0!==t[e]?t[e]:s}function ez(t,e,s){let i=new tN(t);return"json"===s?new eO(i).readSkeletonData(e):new t4(i).readSkeletonData(new Uint8Array(e))}async function eG(t,s,i){let a;let r=t.map((t,a)=>{let r=s[a],n=e.AssetType.Texture2D;return"ktx"===r?n=e.AssetType.KTX:"ktx2"===r&&(n=e.AssetType.KTX2),eH(t,i,n)});try{a=await Promise.all(r)}catch(t){throw t}return a}async function e$(t,s){let i,a;let r=function(t){let e=new URL(t),s=e.origin+e.pathname;return s.endsWith("/")?s:s.substring(0,s.lastIndexOf("/")+1)}(t);try{i=await e.request(t,{type:"text"})}catch(e){throw Error(`Spine Atlas: ${t} load error: ${e}`)}let n=new tR(i),l=[];for(let t of n.pages){let e=r+t.name;l.push(eH(e,s))}try{a=await Promise.all(l)}catch(t){throw Error(`Spine Texture: load error: ${t}`)}return ej(i,a)}function ej(t,e){let s=new tR(t);return s.pages.forEach((t,s)=>{var i;let a=(i=e.find(e=>e.name===t.name)||e[s],new eJ(new Image,i));t.setTexture(a)}),s}function eH(t,s,i=e.AssetType.Texture2D){return s.resourceManager.load({url:t,type:i})}(()=>{if(void 0===Math.fround){var t;Math.fround=(t=new Float32Array(1),function(e){return t[0]=e,t[0]})}})();class eJ extends tC{constructor(t,e){super(t),this.texture=e,this.texture.generateMipmaps()}getImage(){return this.texture}setFilters(s,i){s===t.TextureFilter.Nearest?this.texture.filterMode=e.TextureFilterMode.Point:i===t.TextureFilter.MipMapLinearLinear?this.texture.filterMode=e.TextureFilterMode.Trilinear:this.texture.filterMode=e.TextureFilterMode.Bilinear}setWraps(t,e){this.texture.wrapModeU=this._convertWrapMode(t),this.texture.wrapModeV=this._convertWrapMode(e)}dispose(){}_convertWrapMode(s){switch(s){case t.TextureWrap.ClampToEdge:return e.TextureWrapMode.Clamp;case t.TextureWrap.Repeat:return e.TextureWrapMode.Repeat;case t.TextureWrap.MirroredRepeat:return e.TextureWrapMode.Mirror;default:throw Error("Unsupported texture wrap mode.")}}}class eK{constructor(t,e=1){this._type=t,this._lastElementIndex=e-1;let s=this._elements=Array(e);for(let i=0;i<e;++i)s[i]=new t}get(){return this._lastElementIndex<0?new this._type:this._elements[this._lastElementIndex--]}return(t){this._elements[++this._lastElementIndex]=t}}class eQ{constructor(t){this._usedElementCount=0,this._type=t,this._elements=[]}get(){let{_usedElementCount:t,_elements:e}=this;if(this._usedElementCount++,e.length!==t)return e[t];{let t=new this._type;return e.push(t),t}}clear(){this._usedElementCount=0}}let{SourceAlpha:eZ,One:e0,DestinationColor:e1,Zero:e2,OneMinusSourceColor:e3,OneMinusSourceAlpha:e5}=e.BlendFactor,{Add:e6}=e.BlendOperation;function e8(e,s){let i=e.renderState.blendState.targetBlendState;switch(s){case t.BlendMode.Additive:i.sourceColorBlendFactor=eZ,i.destinationColorBlendFactor=e0,i.sourceAlphaBlendFactor=e0,i.destinationAlphaBlendFactor=e0,i.colorBlendOperation=i.alphaBlendOperation=e6;break;case t.BlendMode.Multiply:i.sourceColorBlendFactor=e1,i.destinationColorBlendFactor=e5,i.sourceAlphaBlendFactor=e0,i.destinationAlphaBlendFactor=e5,i.colorBlendOperation=i.alphaBlendOperation=e6;break;case t.BlendMode.Screen:i.sourceColorBlendFactor=e0,i.destinationColorBlendFactor=e3,i.sourceAlphaBlendFactor=e0,i.destinationAlphaBlendFactor=e3,i.colorBlendOperation=i.alphaBlendOperation=e6;break;default:i.sourceColorBlendFactor=eZ,i.destinationColorBlendFactor=e5,i.sourceAlphaBlendFactor=e0,i.destinationAlphaBlendFactor=e5,i.colorBlendOperation=i.alphaBlendOperation=e6}}class e4{}let e7=1/0,e9=-1/0;class st{static{this.QUAD_TRIANGLES=[0,1,2,2,3,0]}static{this.VERTEX_SIZE=8}static{this.VERTEX_STRIDE=9}static{this.tempDark=new y}static{this.tempColor=new y}static{this.tempVerts=Array(8)}static{this.tempBlendMode=null}static{this.tempTexture=null}static{this.subPrimitivePool=new eK(e.SubPrimitive)}static{this.subRenderItemPool=new eQ(e4)}static{this.bounds=new e.BoundingBox(new e.Vector3(e7,e7,e7),new e.Vector3(e9,e9,e9))}getMaxVertexCount(t){let e=new Set,{skins:s}=t,i=s.length;for(let t=0;t<i;t++){let i=s[t];this._collectUniqueAttachments(i,e)}return this._calculateTotalVertexCount(e)}buildPrimitive(e,s){let i,a;let{useClipping:r=!0,zSpacing:n=.01}=s.setting,{_clipper:l,_separateSlots:o,_subRenderItems:h,_separateSlotTextureMap:d}=this,{bounds:c}=st;c.min.set(e7,e7,e7),c.max.set(e9,e9,e9);let u=0,f=0,m=e.drawOrder,g=m.length,{engine:p,_indices:x,_vertices:b,_subPrimitives:y}=s,{tempVerts:w,tempTexture:M,tempBlendMode:S,subRenderItemPool:k,subPrimitivePool:I}=st;h.length=0,k.clear();let v=s._vertices,T=0,B=0,A=t.BlendMode.Normal,F=null,C=0;st.tempBlendMode=null,st.tempTexture=null;for(let t=0;t<g;++t){let e=m[t];if(!e.bone.active){l.clipEndWithSlot(e);continue}let s=e.getAttachment(),c=null,g=n*t,p=0,E=l.isClipping(),R=E?2:st.VERTEX_SIZE;if(!s){r&&l.clipEndWithSlot(e);continue}switch(s.constructor){case tO:c=s.color,p=4*R,s.computeWorldVertices(e,w,0,R),i=st.QUAD_TRIANGLES,a=s.uvs,F=s.region.texture;break;case t_:c=s.color,(p=(s.worldVerticesLength>>1)*R)>v.length&&(st.tempVerts=Array(p)),s.computeWorldVertices(e,0,s.worldVerticesLength,w,0,R),i=s.triangles,a=s.uvs,F=s.region.texture;break;case tF:r&&l.clipStart(e,s);continue;default:r&&l.clipEndWithSlot(e);continue}if(null!=F){let t,s,r,n;let m=e.bone.skeleton.color,v=e.color,Y=m.a*v.a*c.a,P=st.tempColor,X=st.tempDark;if(P.set(m.r*v.r*c.r,m.g*v.g*c.g,m.b*v.b*c.b,Y),E)l.clipTriangles(w,i,i.length,a,P,X,!1),s=(t=l.clippedVertices).length,n=(r=l.clippedTriangles).length;else{let{r:e,g:l,b:o,a:h}=P;for(let t=2,s=0,i=p;t<i;t+=R,s+=2)w[t]=e,w[t+1]=l,w[t+2]=o,w[t+3]=h,w[t+4]=a[s],w[t+5]=a[s+1];t=w,s=p,r=i,n=i.length}if(0==s||0==n){l.clipEndWithSlot(e);continue}let _=u/st.VERTEX_STRIDE,V=u,D=0;for(;D<s;){let e=t[D++],s=t[D++];b[V++]=e,b[V++]=s,b[V++]=g,b[V++]=t[D++],b[V++]=t[D++],b[V++]=t[D++],b[V++]=t[D++],b[V++]=t[D++],b[V++]=t[D++],this._expandByPoint(e,s,g)}for(u=V,V=f,D=0;D<n;V++,D++)x[V]=r[D]+_;f+=n;let O=e.data,N=O.name;A=O.blendMode;let L=null!==S&&S!==O.blendMode,q=null!==M&&M!==F,U=o.get(N);if(U||L||q){if(B>0){let t=y[C];t&&C++;let e=t||I.get();e.start=T,e.count=B;let s=k.get();s.subPrimitive=e,s.texture=M,s.blendMode=S,h.push(s),T+=B,B=0}if(U){let t=d.get(N);if(t){let e=F.texture;t.filterMode=e.filterMode,t.wrapModeU=e.wrapModeU,t.wrapModeV=e.wrapModeV}let e=y[C];e&&C++;let s=e||I.get();s.start=T,s.count=n;let i=k.get();i.blendMode=A,i.subPrimitive=s,i.texture=F,i.slotName=N,h.push(i),T+=n,B=0}else B+=n}else B+=n;M=F,S=A}l.clipEndWithSlot(e)}if(B>0){let t=y[C];t&&C++;let e=t||I.get();e.start=T,e.count=B;let s=k.get();s.blendMode=A,s.subPrimitive=e,s.texture=F,h.push(s),B=0}l.clipEnd();let E=y.length,R=h.length;if(R<E)for(let t=R;t<E;t++){let e=y[t];I.return(e)}s._clearSubPrimitives();for(let t=0;t<R;++t){let e=h[t],{slotName:i,blendMode:a,texture:r}=e;s._addSubPrimitive(e.subPrimitive);let n=r.texture;d.has(i)&&(n=d.get(i));let l=`${n.instanceId}_${a}`,o=ss._materialCache.get(l);o||(o=this._createMaterialForTexture(n,p,a),ss._materialCache.set(l,o)),s.setMaterial(t,o)}s._vertexBuffer.setData(b),s._indexBuffer.setData(x)}addSeparateSlot(t){this._separateSlots.set(t,t)}addSeparateSlotTexture(t,e){this._separateSlotTextureMap.set(t,e)}_createMaterialForTexture(t,e,s){let i=ss._getDefaultMaterial(e);return i.shaderData.setTexture("material_SpineTexture",t),e8(i,s),i}_expandByPoint(t,e,s){let{bounds:{min:i,max:a}}=st,r=Math.min(i.x,t),n=Math.min(i.y,e),l=Math.min(i.z,s),o=Math.max(a.x,t),h=Math.max(a.y,e),d=Math.max(a.z,s);i.set(r,n,l),a.set(o,h,d)}_collectUniqueAttachments(t,e){let{attachments:s}=t;for(let t=0,i=s.length;t<i;t++){let i=s[t];for(let t in i){let s=i[t];s&&!e.has(s)&&e.add(s)}}}_calculateTotalVertexCount(t){let e=0,s=st.QUAD_TRIANGLES.length;return t.forEach(t=>{t instanceof tO?e+=s:t instanceof t_&&(e+=t.triangles.length)}),e}constructor(){this._clipper=new eD,this._subRenderItems=[],this._separateSlots=new Map,this._separateSlotTextureMap=new Map}}class se extends e.Material{static{this._spineVS=`
2
- uniform mat4 renderer_MVPMat;
3
-
4
- attribute vec3 POSITION;
5
- attribute vec2 TEXCOORD_0;
6
- attribute vec4 COLOR_0;
7
-
8
- varying vec2 v_uv;
9
- varying vec4 v_color;
10
-
11
- void main()
12
- {
13
- gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);
14
-
15
- v_uv = TEXCOORD_0;
16
- v_color = COLOR_0;
17
- }
18
- `}static{this._spineFS=`
19
- uniform sampler2D material_SpineTexture;
20
-
21
- varying vec2 v_uv;
22
- varying vec4 v_color;
23
-
24
- void main()
25
- {
26
- vec4 baseColor = texture2D(material_SpineTexture, v_uv);
27
- gl_FragColor = baseColor * v_color;
28
- }
29
- `}constructor(s){super(s,e.Shader.find("galacean-spine-shader")||e.Shader.create("galacean-spine-shader",se._spineVS,se._spineFS));let i=this.renderState;i.blendState.targetBlendState.enabled=!0,e8(this,t.BlendMode.Normal),i.depthState.writeEnabled=!1,i.rasterState.cullMode=e.CullMode.Off,i.renderQueueType=e.RenderQueueType.Transparent}}class ss extends e.Renderer{static{this._spineGenerator=new st}static{this._positionVertexElement=new e.VertexElement("POSITION",0,e.VertexElementFormat.Vector3,0)}static{this._colorVertexElement=new e.VertexElement("COLOR_0",12,e.VertexElementFormat.Vector4,0)}static{this._uvVertexElement=new e.VertexElement("TEXCOORD_0",28,e.VertexElementFormat.Vector2,0)}static{this._materialCache=new Map}static{this._animationDataCache=new Map}static _getDefaultMaterial(t){let e=this._defaultMaterial;if(e){if(e.engine===t)return e.clone();e.destroy(!0),e=null}return(e=new se(t)).isGCIgnored=!0,this._defaultMaterial=e,e.clone()}get resource(){return this._resource}set resource(t){if(!t){this._state=null,this._skeleton=null,this._resource=null;return}this._resource=t,this._addResourceReferCount(t,1);let{skeletonData:e}=t;this._skeleton=new t0(e);let s=ss._animationDataCache.get(e);s||(s=new tB(e),ss._animationDataCache.set(e,s)),this._state=new tx(s);let i=ss._spineGenerator.getMaxVertexCount(e);this._createBuffer(i),this._initializeDefaultState(),this._dirtyUpdateFlag|=4,this._state.addListener({start:()=>{this._onAnimationStart()},complete:t=>{this._onAnimationComplete(t)}})}get state(){return this._state}get skeleton(){return this._skeleton}constructor(t){super(t),this.setting=new si,this.defaultState=new sa,this._subPrimitives=[],this._needResizeBuffer=!1,this._vertexCount=0;let s=new e.Primitive(this._engine);this._primitive=s,s.addVertexElement(ss._positionVertexElement),s.addVertexElement(ss._colorVertexElement),s.addVertexElement(ss._uvVertexElement)}addSeparateSlot(t){this._skeleton||console.error("Skeleton not found!"),this._skeleton.findSlot(t)?ss._spineGenerator.addSeparateSlot(t):console.warn(`Slot: ${t} not find.`)}_onEnable(){this._initializeDefaultState()}update(e){let{_state:s,_skeleton:i}=this;s&&i&&(s.update(e),s.apply(i),i.update(e),i.updateWorldTransform(t.Physics.update),ss._spineGenerator.buildPrimitive(this._skeleton,this),this._isContainDirtyFlag(4)&&(this._onWorldVolumeChanged(),this._setDirtyFlagFalse(4)),this._isContainDirtyFlag(2)&&this._calculateGeneratorBounds(this.bounds))}_render(t){let{_primitive:e,_subPrimitives:s}=this,{_materials:i,_engine:a}=this,r=a._renderElementPool.get();r.set(this.priority,this._distanceForSort);let n=a._subRenderElementPool;if(s){for(let t=0,a=s.length;t<a;t++){let a=i[t];if(!a)continue;(a.destroyed||a.shader.destroyed)&&(a=this.engine._meshMagentaMaterial);let l=n.get();l.set(this,a,e,s[t]),r.addSubRenderElement(l)}t.camera._renderPipeline.pushRenderElement(t,r)}}_updateBounds(t){this._calculateGeneratorBounds(t)}_calculateGeneratorBounds(t){let{bounds:s}=st;e.BoundingBox.transform(s,this.entity.transform.worldMatrix,t)}_cloneTo(t){t.resource=this._resource}_onDestroy(){let{_primitive:t,_subPrimitives:e,_resource:s}=this;e.length=0,t&&t.destroy(),s&&this._addResourceReferCount(s,-1),this._clearMaterialCache(),this._primitive=null,this._resource=null,this._skeleton=null,this._state=null,this.setting=null,super._onDestroy()}_createBuffer(t){let{_engine:s,_primitive:i}=this;this._vertices=new Float32Array(t*st.VERTEX_STRIDE),this._indices=new Uint16Array(t);let a=4*st.VERTEX_STRIDE,r=new e.Buffer(s,e.BufferBindFlag.VertexBuffer,this._vertices,e.BufferUsage.Dynamic),n=new e.Buffer(s,e.BufferBindFlag.IndexBuffer,this._indices,e.BufferUsage.Dynamic);this._indexBuffer=n,this._vertexBuffer=r;let l=new e.VertexBufferBinding(r,a);this._primitive.setVertexBufferBinding(0,l);let o=new e.IndexBufferBinding(n,e.IndexFormat.UInt16);i.setIndexBufferBinding(o)}_addSubPrimitive(t){this._subPrimitives.push(t)}_clearSubPrimitives(){this._subPrimitives.length=0}_isContainDirtyFlag(t){return(this._dirtyUpdateFlag&t)!=0}_setDirtyFlagFalse(t){this._dirtyUpdateFlag&=~t}_onWorldVolumeChanged(){this._dirtyUpdateFlag|=1}_onAnimationStart(){this._dirtyUpdateFlag|=2}_onAnimationComplete(t){t.loop||this._setDirtyFlagFalse(2)}_clearMaterialCache(){this._materials.forEach(e=>{let s=e.shaderData.getTexture("material_SpineTexture"),i=function(e){let s=e.renderState.blendState.targetBlendState;return s.sourceColorBlendFactor===eZ&&s.destinationColorBlendFactor===e0&&s.sourceAlphaBlendFactor===e0&&s.destinationAlphaBlendFactor===e0&&s.colorBlendOperation===e6&&s.alphaBlendOperation===e6?t.BlendMode.Additive:s.sourceColorBlendFactor===e1&&s.destinationColorBlendFactor===e2&&s.sourceAlphaBlendFactor===e0&&s.destinationAlphaBlendFactor===e2&&s.colorBlendOperation===e6&&s.alphaBlendOperation===e6?t.BlendMode.Multiply:s.sourceColorBlendFactor===e0&&s.destinationColorBlendFactor===e3&&s.sourceAlphaBlendFactor===e0&&s.destinationAlphaBlendFactor===e3&&s.colorBlendOperation===e6&&s.alphaBlendOperation===e6?t.BlendMode.Screen:t.BlendMode.Normal}(e),a=`${s.instanceId}_${i}`;ss._materialCache.delete(a)})}_initializeDefaultState(){let{skeleton:t,state:e}=this;if(t&&e){let{animationName:s,skinName:i,loop:a,scale:r}=this.defaultState;t.scaleX=r,t.scaleY=r,"default"!==i&&(t.setSkinByName(i),t.setToSetupPose()),s&&e.setAnimation(0,s,a)}}}x([e.deepClone],ss.prototype,"setting",void 0),x([e.deepClone],ss.prototype,"defaultState",void 0),x([e.ignoreClone],ss.prototype,"_primitive",void 0),x([e.ignoreClone],ss.prototype,"_subPrimitives",void 0),x([e.ignoreClone],ss.prototype,"_indexBuffer",void 0),x([e.ignoreClone],ss.prototype,"_vertexBuffer",void 0),x([e.ignoreClone],ss.prototype,"_vertices",void 0),x([e.ignoreClone],ss.prototype,"_indices",void 0),x([e.ignoreClone],ss.prototype,"_needResizeBuffer",void 0),x([e.ignoreClone],ss.prototype,"_vertexCount",void 0),x([e.ignoreClone],ss.prototype,"_resource",void 0),x([e.ignoreClone],ss.prototype,"_skeleton",void 0),x([e.ignoreClone],ss.prototype,"_state",void 0);class si{constructor(t=.01,e=!0){this.zSpacing=t,this.useClipping=e}}class sa{constructor(t=1,e=!0,s=null,i="default"){this.scale=t,this.loop=e,this.animationName=s,this.skinName=i}}class sr extends e.ReferResource{get skeletonData(){return this._skeletonData}constructor(t,e){super(t),this.textures=[],this._skeletonData=e,this._associationTextureInSkeletonData(e)}_onDestroy(){super._onDestroy();let{textures:t,_skeletonData:e}=this;t&&this._disassociationSuperResource(t),this._clearAttachmentTextures(e),ss._animationDataCache.delete(e),this._skeletonData=null}_disassociationSuperResource(t){for(let e=0,s=t.length;e<s;e++)t[e]._disassociationSuperResource(this)}_associationTextureInSkeletonData(t){let{skins:e}=t;e.forEach(t=>{let{attachments:e}=t;e.forEach(t=>{let e=Object.values(t)[0],s=e?.region?.texture.texture;s&&!this.textures.find(t=>t.instanceId===s.instanceId)&&(this.textures.push(s),s._associationSuperResource(this))})})}_clearAttachmentTextures(t){let{skins:e}=t;e.forEach(t=>{let{attachments:e}=t;e.forEach(t=>{let e=Object.values(t)[0];e?.region?.texture&&(e.region.texture.texture=null)})})}}class sn{constructor(t,e=0,s){this.data=t,this._dataView=new DataView(t.buffer,t.byteOffset+e,s??t.byteLength-e),this._position=0}nextUint16(){let t=this._dataView.getUint16(this._position,!0);return this._position+=2,t}nextStr(){let t=this.nextUint16(),e=new Uint8Array(this.data.buffer,this._position+this._dataView.byteOffset,t);return this._position+=t,this.decodeText(e)}nextImageData(){return new Uint8Array(this.data.buffer,this.data.byteOffset+this._position)}decodeText(t){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(t);let e="";for(let s=0,i=t.length;s<i;s++)e+=String.fromCharCode(t[s]);return decodeURIComponent(encodeURIComponent(e))}}class sl extends e.Loader{static{this.imageExtensions=["png","jpg","webp","jpeg","ktx","ktx2"]}static{this.skeletonExtensions=["skel","json","bin"]}static parseAndAssignSpineAsset(t,e,s){let{imageExtensions:i,skeletonExtensions:a}=sl,r=sl.getUrlExtension(t,e);r&&(a.includes(r)&&(s.skeletonPath=t,s.skeletonExtension=r),"atlas"===r&&(s.atlasPath=t),i.includes(r)&&(s.imagePaths.push(t),s.imageExtensions.push(r)))}static deriveAndAssignSpineAsset(t,e,s){let i;let a=sl.getUrlExtension(t,e);if(!a)return;s.skeletonPath=t,s.skeletonExtension=a;let r=/(\.(json|bin|skel))$/;if(r.test(t)&&(i=t.replace(r,"")),i){let t=i+".atlas";s.atlasPath=t}}static verifyFileExtensions(t,e){return t?e&&!Array.isArray(t)?(console.error("Expect fileExtensions to be an array."),[]):e||"string"==typeof t?t:(console.error("Expect fileExtensions to be a string."),null):null}static getUrlExtension(t,e){if(e)return e;let s=t.match(/\/([^\/?#]+)\.([a-zA-Z0-9]+)(\?|#|$)|\?[^#]*\.([a-zA-Z0-9]+)(\?|#|$)/);return s?s[2]||s[4]:null}load(t,s){return new e.AssetPromise(async(e,i)=>{let a;try{if(t.urls)a=await this._handleOriginAsset(t,s);else{let e=await this.request(t.url,{type:"arraybuffer"}),i=new sn(new Uint8Array(e)),r=i.nextStr();a=r.startsWith("spine")?await this._handleEditorAsset(e,i,r,s):await this._handleOriginAsset(t,s,e)}}catch(t){i(t)}e(a)})}async _handleEditorAsset(t,e,s,i){let a,r,n;let l=s.startsWith("spine:skel")?"skel":"json",{engine:o}=i;if("skel"===l)r=e.nextStr(),a=e.nextImageData();else{let{data:e,atlas:s}=JSON.parse(new TextDecoder("utf-8").decode(new Uint8Array(t)));r=s.refId,a=e}try{n=await i.getResourceByRef({refId:r})}catch(t){throw t}return new sr(o,ez(n,a,l))}async _handleOriginAsset(t,e,s){let{fileExtensions:i}=t.params||{},a={skeletonPath:"",skeletonExtension:"",atlasPath:"",imagePaths:[],imageExtensions:[]},{engine:r}=e;if(s){let e;let n=sl.verifyFileExtensions(i,!1);sl.deriveAndAssignSpineAsset(t.url,n,a);let{skeletonPath:l,atlasPath:o}=a;if(!l||!o)throw Error("Failed to load spine assets. Please check the file path and ensure the file extension is included.");try{e=await e$(o,r)}catch(t){throw t}let{data:h,type:d}=this._determineSkeletonDataType(s);return new sr(r,ez(e,h,d))}{let e,s;i=sl.verifyFileExtensions(i,!0);for(let e=0;e<t.urls.length;e+=1){let s=t.urls[e],r=i&&i[e]||null;sl.parseAndAssignSpineAsset(s,r,a)}let{skeletonPath:n,atlasPath:l,imagePaths:o,skeletonExtension:h,imageExtensions:d}=a;if(!n||!l)throw Error("Failed to load spine assets. Please check the file path and ensure the file extension is included.");try{let t=["json"===h?this.request(n,{type:"text"}):this.request(n,{type:"arraybuffer"})];if(o.length>0){let i,a;t=t.concat([this.request(l,{type:"text"}),eG(o,d,r)]),[s,i,a]=await Promise.all(t),e=ej(i,a)}else t.push(e$(l,r)),[s,e]=await Promise.all(t)}catch(t){throw t}return new sr(r,ez(e,s,"json"===h?"json":"skel"))}}_determineSkeletonDataType(t){let e,s;try{let i=new TextDecoder("utf-8").decode(t);JSON.parse(i),e=i,s="json"}catch(i){e=t,s="skel"}return{data:e,type:s}}}sl=x([e.resourceLoader("spine",["json","bin","skel"])],sl);class so extends e.Loader{load(t,s){return new e.AssetPromise(async e=>{let{data:i,textures:a}=JSON.parse(await this.request(t.url,{type:"text"})),r=a.map(t=>s.getResourceByRef({refId:t.refId}));e(ej(i,await Promise.all(r)))})}}so=x([e.resourceLoader("EditorSpineAtlas",["atlas"])],so);let sh="0.0.0-experimental-engine-spine-caifu.1";e.Loader.registerClass("SpineAnimationRenderer",ss),console.log(`Galacean spine version: ${sh}`),t.AlphaTimeline=H,t.Animation=E,t.AnimationState=tx,t.AnimationStateAdapter=class{start(t){}interrupt(t){}end(t){}dispose(t){}complete(t){}event(t,e){}},t.AnimationStateData=tB,t.AssetManagerBase=class{pathPrefix="";textureLoader;downloader;assets={};errors={};toLoad=0;loaded=0;constructor(t,e="",s=new tW){this.textureLoader=t,this.pathPrefix=e,this.downloader=s}start(t){return this.toLoad++,this.pathPrefix+t}success(t,e,s){this.toLoad--,this.loaded++,this.assets[e]=s,t&&t(e,s)}error(t,e,s){this.toLoad--,this.loaded++,this.errors[e]=s,t&&t(e,s)}loadAll(){return new Promise((t,e)=>{let s=()=>{if(this.isLoadingComplete()){this.hasErrors()?e(this.errors):t(this);return}requestAnimationFrame(s)};requestAnimationFrame(s)})}setRawDataURI(t,e){this.downloader.rawDataUris[this.pathPrefix+t]=e}loadBinary(t,e=()=>{},s=()=>{}){t=this.start(t),this.downloader.downloadBinary(t,s=>{this.success(e,t,s)},(e,i)=>{this.error(s,t,`Couldn't load binary ${t}: status ${e}, ${i}`)})}loadText(t,e=()=>{},s=()=>{}){t=this.start(t),this.downloader.downloadText(t,s=>{this.success(e,t,s)},(e,i)=>{this.error(s,t,`Couldn't load text ${t}: status ${e}, ${i}`)})}loadJson(t,e=()=>{},s=()=>{}){t=this.start(t),this.downloader.downloadJson(t,s=>{this.success(e,t,s)},(e,i)=>{this.error(s,t,`Couldn't load JSON ${t}: status ${e}, ${i}`)})}loadTexture(t,e=()=>{},s=()=>{}){if(t=this.start(t),"undefined"!=typeof window&&"undefined"!=typeof navigator&&window.document){let i=new Image;i.crossOrigin="anonymous",i.onload=()=>{this.success(e,t,this.textureLoader(i))},i.onerror=()=>{this.error(s,t,`Couldn't load image: ${t}`)},this.downloader.rawDataUris[t]&&(t=this.downloader.rawDataUris[t]),i.src=t}else fetch(t,{mode:"cors"}).then(e=>e.ok?e.blob():(this.error(s,t,`Couldn't load image: ${t}`),null)).then(t=>t?createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}):null).then(s=>{s&&this.success(e,t,this.textureLoader(s))})}loadTextureAtlas(t,e=()=>{},s=()=>{},i){let a=t.lastIndexOf("/"),r=a>=0?t.substring(0,a+1):"";t=this.start(t),this.downloader.downloadText(t,a=>{try{let n=new tR(a),l=n.pages.length,o=!1;for(let a of n.pages)this.loadTexture(i?i[a.name]:r+a.name,(s,i)=>{o||(a.setTexture(i),0==--l&&this.success(e,t,n))},(e,i)=>{o||this.error(s,t,`Couldn't load texture atlas ${t} page image: ${e}`),o=!0})}catch(e){this.error(s,t,`Couldn't parse texture atlas ${t}: ${e.message}`)}},(e,i)=>{this.error(s,t,`Couldn't load texture atlas ${t}: status ${e}, ${i}`)})}get(t){return this.assets[this.pathPrefix+t]}require(t){t=this.pathPrefix+t;let e=this.assets[t];if(e)return e;let s=this.errors[t];throw Error("Asset not found: "+t+(s?"\n"+s:""))}remove(t){t=this.pathPrefix+t;let e=this.assets[t];return e.dispose&&e.dispose(),delete this.assets[t],e}removeAll(){for(let t in this.assets){let e=this.assets[t];e.dispose&&e.dispose()}this.assets={}}isLoadingComplete(){return 0==this.toLoad}getToLoad(){return this.toLoad}getLoaded(){return this.loaded}dispose(){this.removeAll()}hasErrors(){return Object.keys(this.errors).length>0}getErrors(){return this.errors}},t.AtlasAttachmentLoader=tN,t.Attachment=B,t.AttachmentTimeline=Q,t.BinaryInput=t7,t.Bone=tq,t.BoneData=tL,t.BoundingBoxAttachment=tA,t.CURRENT=tT,t.ClippingAttachment=tF,t.Color=y,t.ConstraintData=tU,t.CurveTimeline=Y,t.CurveTimeline1=P,t.CurveTimeline2=X,t.DebugUtils=class{static logBones(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e];console.log(s.data.name+", "+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.worldX+", "+s.worldY)}}},t.DeformTimeline=Z,t.Downloader=tW,t.DrawOrderTimeline=te,t.Event=tz,t.EventData=tG,t.EventQueue=ty,t.EventTimeline=tt,t.FIRST=tM,t.FakeTexture=class extends tC{setFilters(t,e){}setWraps(t,e){}dispose(){}},t.HOLD_FIRST=tk,t.HOLD_MIX=tI,t.HOLD_SUBSEQUENT=tS,t.IkConstraint=t$,t.IkConstraintData=tj,t.IkConstraintTimeline=ts,t.InheritTimeline=G,t.IntSet=class{array=[];add(t){let e=this.contains(t);return this.array[0|t]=0|t,!e}contains(t){return void 0!=this.array[0|t]}remove(t){this.array[0|t]=void 0}clear(){this.array.length=0}},t.Interpolation=M,t.MathUtils=w,t.MeshAttachment=t_,t.PathAttachment=tV,t.PathConstraint=tJ,t.PathConstraintData=tH,t.PathConstraintMixTimeline=tn,t.PathConstraintPositionTimeline=ta,t.PathConstraintSpacingTimeline=tr,t.PhysicsConstraintDampingTimeline=td,t.PhysicsConstraintGravityTimeline=tf,t.PhysicsConstraintInertiaTimeline=to,t.PhysicsConstraintMassTimeline=tc,t.PhysicsConstraintMixTimeline=tm,t.PhysicsConstraintResetTimeline=tg,t.PhysicsConstraintStrengthTimeline=th,t.PhysicsConstraintTimeline=tl,t.PhysicsConstraintWindTimeline=tu,t.PointAttachment=tD,t.Pool=I,t.Pow=S,t.PowOut=class extends S{constructor(t){super(t)}applyInternal(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1}},t.RGB2Timeline=K,t.RGBA2Timeline=J,t.RGBATimeline=$,t.RGBTimeline=j,t.RegionAttachment=tO,t.RotateTimeline=_,t.SETUP=tv,t.SUBSEQUENT=tw,t.ScaleTimeline=N,t.ScaleXTimeline=L,t.ScaleYTimeline=q,t.SequenceTimeline=tp,t.ShearTimeline=U,t.ShearXTimeline=W,t.ShearYTimeline=z,t.Skeleton=t0,t.SkeletonBinary=t4,t.SkeletonBounds=e_,t.SkeletonClipping=eD,t.SkeletonData=t2,t.SkeletonDataResource=sr,t.SkeletonJson=eO,t.Skin=t5,t.SkinEntry=t3,t.Slot=tQ,t.SlotData=t6,t.SpineAnimationRenderer=ss,t.StringSet=b,t.Texture=tC,t.TextureAtlas=tR,t.TextureAtlasPage=tP,t.TextureAtlasRegion=tX,t.TextureRegion=tE,t.TimeKeeper=T,t.Timeline=R,t.TrackEntry=tb,t.TransformConstraint=tZ,t.TransformConstraintData=t8,t.TransformConstraintTimeline=ti,t.TranslateTimeline=V,t.TranslateXTimeline=D,t.TranslateYTimeline=O,t.Triangulator=eV,t.Utils=k,t.Vector2=v,t.VertexAttachment=A,t.WindowedMean=class{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(t=32){this.values=Array(t)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let t=0;for(let e=0;e<this.values.length;e++)t+=this.values[e];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0}},t.createTextureAtlas=ej,t.version=sh,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/engine")):"function"==typeof define&&define.amd?define(["exports","@galacean/engine"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).Galacean=t.Galacean||{},t.Galacean.Spine={}),t.Galacean);
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/engine")):"function"==typeof define&&define.amd?define(["exports","@galacean/engine"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).Galacean=t.Galacean||{},t.Galacean.Spine={}),t.Galacean)}(this,function(t,e){"use strict";function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function n(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&r(t,e)}function i(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):i(t,e)}function a(t,e,r,n){var i,a,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if(("undefined"==typeof Reflect?"undefined":(i=Reflect)&&"undefined"!=typeof Symbol&&i.constructor===Symbol?"symbol":typeof i)=="object"&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,n);else for(var h=t.length-1;h>=0;h--)(a=t[h])&&(o=(s<3?a(o):s>3?a(e,r,o):a(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function o(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return s(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);if("Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}"function"==typeof SuppressedError&&SuppressedError;var h,l,c,u,d,f,m,v,p,g,x,b,y,w,M,S=function(){function t(){this.array=[]}var e=t.prototype;return e.add=function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e},e.contains=function(t){return void 0!=this.array[0|t]},e.remove=function(t){this.array[0|t]=void 0},e.clear=function(){this.array.length=0},t}(),k=function(){function t(){this.entries={},this.size=0}var e=t.prototype;return e.add=function(t){var e=this.entries[t];return this.entries[t]=!0,!e&&(this.size++,!0)},e.addAll=function(t){for(var e=this.size,r=0,n=t.length;r<n;r++)this.add(t[r]);return e!=this.size},e.contains=function(t){return this.entries[t]},e.clear=function(){this.entries={},this.size=0},t}(),I=function(){function t(t,e,r,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),this.r=t,this.g=e,this.b=r,this.a=n}var e=t.prototype;return e.set=function(t,e,r,n){return this.r=t,this.g=e,this.b=r,this.a=n,this.clamp()},e.setFromColor=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},e.setFromString=function(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=8!=t.length?1:parseInt(t.substr(6,2),16)/255,this},e.add=function(t,e,r,n){return this.r+=t,this.g+=e,this.b+=r,this.a+=n,this.clamp()},e.clamp=function(){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},e.toRgb888=function(){var t=function(t){return("0"+(255*t).toString(16)).slice(-2)};return Number("0x"+t(this.r)+t(this.g)+t(this.b))},t.rgba8888ToColor=function(t,e){t.r=((0xff000000&e)>>>24)/255,t.g=((0xff0000&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255},t.rgb888ToColor=function(t,e){t.r=((0xff0000&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255},t.fromString=function(e){return new t().setFromString(e)},t}();I.WHITE=new I(1,1,1,1),I.RED=new I(1,0,0,1),I.GREEN=new I(0,1,0,1),I.BLUE=new I(0,0,1,1),I.MAGENTA=new I(1,0,1,1);var B=function(){function t(){}return t.clamp=function(t,e,r){return t<e?e:t>r?r:t},t.cosDeg=function(e){return Math.cos(e*t.degRad)},t.sinDeg=function(e){return Math.sin(e*t.degRad)},t.atan2Deg=function(e,r){return Math.atan2(e,r)*t.degRad},t.signum=function(t){return t>0?1:t<0?-1:0},t.toInt=function(t){return t>0?Math.floor(t):Math.ceil(t)},t.cbrt=function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e},t.randomTriangular=function(e,r){return t.randomTriangularWith(e,r,(e+r)*.5)},t.randomTriangularWith=function(t,e,r){var n=Math.random(),i=e-t;return n<=(r-t)/i?t+Math.sqrt(n*i*(r-t)):e-Math.sqrt((1-n)*i*(e-r))},t.isPowerOfTwo=function(t){return t&&(t&t-1)==0},t}();B.PI=3.1415927,B.PI2=2*B.PI,B.invPI2=1/B.PI2,B.radiansToDegrees=180/B.PI,B.radDeg=B.radiansToDegrees,B.degreesToRadians=B.PI/180,B.degRad=B.degreesToRadians;var A=function(){function t(){}return t.prototype.apply=function(t,e,r){return t+(e-t)*this.applyInternal(r)},t}(),T=function(t){function e(e){var r;return(r=t.call(this)||this).power=2,r.power=e,r}return n(e,t),e.prototype.applyInternal=function(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow((t-1)*2,this.power)/(this.power%2==0?-2:2)+1},e}(A),F=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.applyInternal=function(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1},e}(T),C=function(){function t(){}return t.arrayCopy=function(t,e,r,n,i){for(var a=e,s=n;a<e+i;a++,s++)r[s]=t[a]},t.arrayFill=function(t,e,r,n){for(var i=e;i<r;i++)t[i]=n},t.setArraySize=function(t,e,r){void 0===r&&(r=0);var n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var i=n;i<e;i++)t[i]=r;return t},t.ensureArrayCapacity=function(e,r,n){return(void 0===n&&(n=0),e.length>=r)?e:t.setArraySize(e,r,n)},t.newArray=function(t,e){for(var r=Array(t),n=0;n<t;n++)r[n]=e;return r},t.newFloatArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var r=Array(e),n=0;n<r.length;n++)r[n]=0;return r},t.newShortArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var r=Array(e),n=0;n<r.length;n++)r[n]=0;return r},t.toFloatArray=function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e},t.toSinglePrecision=function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e},t.webkit602BugfixHelper=function(t,e){},t.contains=function(t,e,r){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1},t.enumValue=function(t,e){return t[e[0].toUpperCase()+e.slice(1)]},t}();C.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;var E=function(){function t(){}return t.logBones=function(t){for(var e=0;e<t.bones.length;e++){var r=t.bones[e];console.log(r.data.name+", "+r.a+", "+r.b+", "+r.c+", "+r.d+", "+r.worldX+", "+r.worldY)}},t}(),P=function(){function t(t){this.items=[],this.instantiator=t}var e=t.prototype;return e.obtain=function(){return this.items.length>0?this.items.pop():this.instantiator()},e.free=function(t){t.reset&&t.reset(),this.items.push(t)},e.freeAll=function(t){for(var e=0;e<t.length;e++)this.free(t[e])},e.clear=function(){this.items.length=0},t}(),R=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}var e=t.prototype;return e.set=function(t,e){return this.x=t,this.y=e,this},e.length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},e.normalize=function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this},t}(),Y=function(){function t(){this.maxDelta=.064,this.framesPerSecond=0,this.delta=0,this.totalTime=0,this.lastTime=Date.now()/1e3,this.frameCount=0,this.frameTime=0}return t.prototype.update=function(){var t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)},t}(),_=function(){function t(t){void 0===t&&(t=32),this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=Array(t)}var e=t.prototype;return e.hasEnoughData=function(){return this.addedValues>=this.values.length},e.addValue=function(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0},e.getMean=function(){if(this.hasEnoughData()){if(this.dirty){for(var t=0,e=0;e<this.values.length;e++)t+=this.values[e];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0},t}(),X=function(t){if(!t)throw Error("name cannot be null.");this.name=t},V=function(t){function e(r){var n;return(n=t.call(this,r)||this).id=e.nextID++,n.bones=null,n.vertices=[],n.worldVerticesLength=0,n.timelineAttachment=n,n}n(e,t);var r=e.prototype;return r.computeWorldVertices=function(t,e,r,n,i,a){r=i+(r>>1)*a;var s=t.bone.skeleton,o=t.deform,h=this.vertices,l=this.bones;if(!l){o.length>0&&(h=o);for(var c=t.bone,u=c.worldX,d=c.worldY,f=c.a,m=c.b,v=c.c,p=c.d,g=e,x=i;x<r;g+=2,x+=a){var b=h[g],y=h[g+1];n[x]=b*f+y*m+u,n[x+1]=b*v+y*p+d}return}for(var w=0,M=0,S=0;S<e;S+=2){var k=l[w];w+=k+1,M+=k}var I=s.bones;if(0==o.length)for(var B=i,A=3*M;B<r;B+=a){var T=0,F=0,C=l[w++];for(C+=w;w<C;w++,A+=3){var E=I[l[w]],P=h[A],R=h[A+1],Y=h[A+2];T+=(P*E.a+R*E.b+E.worldX)*Y,F+=(P*E.c+R*E.d+E.worldY)*Y}n[B]=T,n[B+1]=F}else for(var _=i,X=3*M,V=M<<1;_<r;_+=a){var D=0,O=0,N=l[w++];for(N+=w;w<N;w++,X+=3,V+=2){var L=I[l[w]],q=h[X]+o[V],U=h[X+1]+o[V+1],W=h[X+2];D+=(q*L.a+U*L.b+L.worldX)*W,O+=(q*L.c+U*L.d+L.worldY)*W}n[_]=D,n[_+1]=O}},r.copyTo=function(t){this.bones?(t.bones=Array(this.bones.length),C.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,this.vertices&&(t.vertices=C.newFloatArray(this.vertices.length),C.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)),t.worldVerticesLength=this.worldVerticesLength,t.timelineAttachment=this.timelineAttachment},e}(X);V.nextID=0;var D=function(){function t(e){this.id=t.nextID(),this.start=0,this.digits=0,this.setupIndex=0,this.regions=Array(e)}var e=t.prototype;return e.copy=function(){var e=new t(this.regions.length);return C.arrayCopy(this.regions,0,e.regions,0,this.regions.length),e.start=this.start,e.digits=this.digits,e.setupIndex=this.setupIndex,e},e.apply=function(t,e){var r=t.sequenceIndex;-1==r&&(r=this.setupIndex),r>=this.regions.length&&(r=this.regions.length-1);var n=this.regions[r];e.region!=n&&(e.region=n,e.updateRegion())},e.getPath=function(t,e){for(var r=t,n=(this.start+e).toString(),i=this.digits-n.length;i>0;i--)r+="0";return r+n},t.nextID=function(){return t._nextID++},t}();D._nextID=0,(h=w||(w={}))[h.hold=0]="hold",h[h.once=1]="once",h[h.loop=2]="loop",h[h.pingpong=3]="pingpong",h[h.onceReverse=4]="onceReverse",h[h.loopReverse=5]="loopReverse",h[h.pingpongReverse=6]="pingpongReverse";var O=[w.hold,w.once,w.loop,w.pingpong,w.onceReverse,w.loopReverse,w.pingpongReverse],N=function(){function t(t,e,r){if(this.timelines=[],this.timelineIds=new k,!t)throw Error("name cannot be null.");this.name=t,this.setTimelines(e),this.duration=r}var e=t.prototype;return e.setTimelines=function(t){if(!t)throw Error("timelines cannot be null.");this.timelines=t,this.timelineIds.clear();for(var e=0;e<t.length;e++)this.timelineIds.addAll(t[e].getPropertyIds())},e.hasTimeline=function(t){for(var e=0;e<t.length;e++)if(this.timelineIds.contains(t[e]))return!0;return!1},e.apply=function(t,e,r,n,i,a,s,o){if(!t)throw Error("skeleton cannot be null.");n&&0!=this.duration&&(r%=this.duration,e>0&&(e%=this.duration));for(var h=this.timelines,l=0,c=h.length;l<c;l++)h[l].apply(t,e,r,i,a,s,o)},t}();t.MixBlend=void 0,(l=t.MixBlend||(t.MixBlend={}))[l.setup=0]="setup",l[l.first=1]="first",l[l.replace=2]="replace",l[l.add=3]="add",t.MixDirection=void 0,(c=t.MixDirection||(t.MixDirection={}))[c.mixIn=0]="mixIn",c[c.mixOut=1]="mixOut";var L=function(){function t(t,e){this.propertyIds=e,this.frames=C.newFloatArray(t*this.getFrameEntries())}var e=t.prototype;return e.getPropertyIds=function(){return this.propertyIds},e.getFrameEntries=function(){return 1},e.getFrameCount=function(){return this.frames.length/this.getFrameEntries()},e.getDuration=function(){return this.frames[this.frames.length-this.getFrameEntries()]},t.search1=function(t,e){for(var r=t.length,n=1;n<r;n++)if(t[n]>e)return n-1;return r-1},t.search=function(t,e,r){for(var n=t.length,i=r;i<n;i+=r)if(t[i]>e)return i-r;return n-r},t}(),q=function(t){function e(e,r,n){var i;return(i=t.call(this,e,n)||this).curves=C.newFloatArray(e+18*r),i.curves[e-1]=1,i}n(e,t);var r=e.prototype;return r.setLinear=function(t){this.curves[t]=0},r.setStepped=function(t){this.curves[t]=1},r.shrink=function(t){var e=this.getFrameCount()+18*t;if(this.curves.length>e){var r=C.newFloatArray(e);C.arrayCopy(this.curves,0,r,0,e),this.curves=r}},r.setBezier=function(t,e,r,n,i,a,s,o,h,l,c){var u=this.curves,d=this.getFrameCount()+18*t;0==r&&(u[e]=2+d);for(var f=(n-2*a+o)*.03,m=(i-2*s+h)*.03,v=((a-o)*3-n+l)*.006,p=((s-h)*3-i+c)*.006,g=2*f+v,x=2*m+p,b=(a-n)*.3+f+.16666667*v,y=(s-i)*.3+m+.16666667*p,w=n+b,M=i+y,S=d+18;d<S;d+=2)u[d]=w,u[d+1]=M,b+=g,y+=x,g+=v,x+=p,w+=b,M+=y},r.getBezierValue=function(t,e,r,n){var i=this.curves;if(i[n]>t){var a=this.frames[e],s=this.frames[e+r];return s+(t-a)/(i[n]-a)*(i[n+1]-s)}var o=n+18;for(n+=2;n<o;n+=2)if(i[n]>=t){var h=i[n-2],l=i[n-1];return l+(t-h)/(i[n]-h)*(i[n+1]-l)}e+=this.getFrameEntries();var c=i[o-2],u=i[o-1];return u+(t-c)/(this.frames[e]-c)*(this.frames[e+r]-u)},e}(L),U=function(e){function r(t,r,n){return e.call(this,t,r,[n])||this}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 2},i.setFrame=function(t,e,r){t<<=1,this.frames[t]=e,this.frames[t+1]=r},i.getCurveValue=function(t){for(var e=this.frames,r=e.length-2,n=2;n<=r;n+=2)if(e[n]>t){r=n-2;break}var i=this.curves[r>>1];switch(i){case 0:var a=e[r],s=e[r+1];return s+(t-a)/(e[r+2]-a)*(e[r+2+1]-s);case 1:return e[r+1]}return this.getBezierValue(t,r,1,i-2)},i.getRelativeValue=function(e,r,n,i,a){if(e<this.frames[0]){switch(n){case t.MixBlend.setup:return a;case t.MixBlend.first:return i+(a-i)*r}return i}var s=this.getCurveValue(e);switch(n){case t.MixBlend.setup:return a+s*r;case t.MixBlend.first:case t.MixBlend.replace:s+=a-i}return i+s*r},i.getAbsoluteValue=function(e,r,n,i,a){if(e<this.frames[0]){switch(n){case t.MixBlend.setup:return a;case t.MixBlend.first:return i+(a-i)*r}return i}var s=this.getCurveValue(e);return n==t.MixBlend.setup?a+(s-a)*r:i+(s-i)*r},i.getAbsoluteValue2=function(e,r,n,i,a,s){if(e<this.frames[0]){switch(n){case t.MixBlend.setup:return a;case t.MixBlend.first:return i+(a-i)*r}return i}return n==t.MixBlend.setup?a+(s-a)*r:i+(s-i)*r},i.getScaleValue=function(e,r,n,i,a,s){if(e<this.frames[0]){switch(n){case t.MixBlend.setup:return s;case t.MixBlend.first:return a+(s-a)*r}return a}var o=this.getCurveValue(e)*s;if(1==r)return n==t.MixBlend.add?a+o-s:o;if(i==t.MixDirection.mixOut)switch(n){case t.MixBlend.setup:return s+(Math.abs(o)*B.signum(s)-s)*r;case t.MixBlend.first:case t.MixBlend.replace:return a+(Math.abs(o)*B.signum(a)-a)*r}else{var h=0;switch(n){case t.MixBlend.setup:return(h=Math.abs(s)*B.signum(o))+(o-h)*r;case t.MixBlend.first:case t.MixBlend.replace:return(h=Math.abs(a)*B.signum(o))+(o-h)*r}}return a+(o-s)*r},r}(q),W=function(t){function e(e,r,n,i){return t.call(this,e,r,[n,i])||this}n(e,t);var r=e.prototype;return r.getFrameEntries=function(){return 3},r.setFrame=function(t,e,r,n){t*=3,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=n},e}(q),z=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"0|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.rotation=this.getRelativeValue(r,i,a,o.rotation,o.data.rotation))},e}(U),G=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,"1|"+n,"2|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(r,e),r.prototype.apply=function(e,r,n,i,a,s,o){var h=e.bones[this.boneIndex];if(h.active){var l=this.frames;if(n<l[0]){switch(s){case t.MixBlend.setup:h.x=h.data.x,h.y=h.data.y;break;case t.MixBlend.first:h.x+=(h.data.x-h.x)*a,h.y+=(h.data.y-h.y)*a}return}var c=0,u=0,d=L.search(l,n,3),f=this.curves[d/3];switch(f){case 0:var m=l[d];c=l[d+1],u=l[d+2];var v=(n-m)/(l[d+3]-m);c+=(l[d+3+1]-c)*v,u+=(l[d+3+2]-u)*v;break;case 1:c=l[d+1],u=l[d+2];break;default:c=this.getBezierValue(n,d,1,f-2),u=this.getBezierValue(n,d,2,f+18-2)}switch(s){case t.MixBlend.setup:h.x=h.data.x+c*a,h.y=h.data.y+u*a;break;case t.MixBlend.first:case t.MixBlend.replace:h.x+=(h.data.x+c-h.x)*a,h.y+=(h.data.y+u-h.y)*a;break;case t.MixBlend.add:h.x+=c*a,h.y+=u*a}}},r}(W),j=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"1|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.x=this.getRelativeValue(r,i,a,o.x,o.data.x))},e}(U),H=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"2|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.y=this.getRelativeValue(r,i,a,o.y,o.data.y))},e}(U),K=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,"3|"+n,"4|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(r,e),r.prototype.apply=function(e,r,n,i,a,s,o){var h,l,c=e.bones[this.boneIndex];if(c.active){var u=this.frames;if(n<u[0]){switch(s){case t.MixBlend.setup:c.scaleX=c.data.scaleX,c.scaleY=c.data.scaleY;break;case t.MixBlend.first:c.scaleX+=(c.data.scaleX-c.scaleX)*a,c.scaleY+=(c.data.scaleY-c.scaleY)*a}return}var d=L.search(u,n,3),f=this.curves[d/3];switch(f){case 0:var m=u[d];h=u[d+1],l=u[d+2];var v=(n-m)/(u[d+3]-m);h+=(u[d+3+1]-h)*v,l+=(u[d+3+2]-l)*v;break;case 1:h=u[d+1],l=u[d+2];break;default:h=this.getBezierValue(n,d,1,f-2),l=this.getBezierValue(n,d,2,f+18-2)}if(h*=c.data.scaleX,l*=c.data.scaleY,1==a)s==t.MixBlend.add?(c.scaleX+=h-c.data.scaleX,c.scaleY+=l-c.data.scaleY):(c.scaleX=h,c.scaleY=l);else{var p=0,g=0;if(o==t.MixDirection.mixOut)switch(s){case t.MixBlend.setup:p=c.data.scaleX,g=c.data.scaleY,c.scaleX=p+(Math.abs(h)*B.signum(p)-p)*a,c.scaleY=g+(Math.abs(l)*B.signum(g)-g)*a;break;case t.MixBlend.first:case t.MixBlend.replace:p=c.scaleX,g=c.scaleY,c.scaleX=p+(Math.abs(h)*B.signum(p)-p)*a,c.scaleY=g+(Math.abs(l)*B.signum(g)-g)*a;break;case t.MixBlend.add:c.scaleX+=(h-c.data.scaleX)*a,c.scaleY+=(l-c.data.scaleY)*a}else switch(s){case t.MixBlend.setup:p=Math.abs(c.data.scaleX)*B.signum(h),g=Math.abs(c.data.scaleY)*B.signum(l),c.scaleX=p+(h-p)*a,c.scaleY=g+(l-g)*a;break;case t.MixBlend.first:case t.MixBlend.replace:p=Math.abs(c.scaleX)*B.signum(h),g=Math.abs(c.scaleY)*B.signum(l),c.scaleX=p+(h-p)*a,c.scaleY=g+(l-g)*a;break;case t.MixBlend.add:c.scaleX+=(h-c.data.scaleX)*a,c.scaleY+=(l-c.data.scaleY)*a}}}},r}(W),J=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"3|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.scaleX=this.getScaleValue(r,i,a,s,o.scaleX,o.data.scaleX))},e}(U),Q=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"4|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.scaleY=this.getScaleValue(r,i,a,s,o.scaleY,o.data.scaleY))},e}(U),$=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,"5|"+n,"6|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(r,e),r.prototype.apply=function(e,r,n,i,a,s,o){var h=e.bones[this.boneIndex];if(h.active){var l=this.frames;if(n<l[0]){switch(s){case t.MixBlend.setup:h.shearX=h.data.shearX,h.shearY=h.data.shearY;break;case t.MixBlend.first:h.shearX+=(h.data.shearX-h.shearX)*a,h.shearY+=(h.data.shearY-h.shearY)*a}return}var c=0,u=0,d=L.search(l,n,3),f=this.curves[d/3];switch(f){case 0:var m=l[d];c=l[d+1],u=l[d+2];var v=(n-m)/(l[d+3]-m);c+=(l[d+3+1]-c)*v,u+=(l[d+3+2]-u)*v;break;case 1:c=l[d+1],u=l[d+2];break;default:c=this.getBezierValue(n,d,1,f-2),u=this.getBezierValue(n,d,2,f+18-2)}switch(s){case t.MixBlend.setup:h.shearX=h.data.shearX+c*a,h.shearY=h.data.shearY+u*a;break;case t.MixBlend.first:case t.MixBlend.replace:h.shearX+=(h.data.shearX+c-h.shearX)*a,h.shearY+=(h.data.shearY+u-h.shearY)*a;break;case t.MixBlend.add:h.shearX+=c*a,h.shearY+=u*a}}},r}(W),Z=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"5|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.shearX=this.getRelativeValue(r,i,a,o.shearX,o.data.shearX))},e}(U),tt=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"6|"+n)||this).boneIndex=0,i.boneIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.bones[this.boneIndex];o.active&&(o.shearY=this.getRelativeValue(r,i,a,o.shearY,o.data.shearY))},e}(U),te=function(e){function r(t,r){var n;return(n=e.call(this,t,["7|"+r])||this).boneIndex=0,n.boneIndex=r,n}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 2},i.setFrame=function(t,e,r){t*=2,this.frames[t]=e,this.frames[t+1]=r},i.apply=function(e,r,n,i,a,s,o){var h=e.bones[this.boneIndex];if(h.active){if(o==t.MixDirection.mixOut){s==t.MixBlend.setup&&(h.inherit=h.data.inherit);return}var l=this.frames;if(n<l[0]){(s==t.MixBlend.setup||s==t.MixBlend.first)&&(h.inherit=h.data.inherit);return}h.inherit=this.frames[L.search(l,n,2)+1]}},r}(L),tr=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["8|"+n,"9|"+n])||this).slotIndex=0,i.slotIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 5},i.setFrame=function(t,e,r,n,i,a){t*=5,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=n,this.frames[t+3]=i,this.frames[t+4]=a},i.apply=function(e,r,n,i,a,s,o){var h=e.slots[this.slotIndex];if(h.bone.active){var l=this.frames,c=h.color;if(n<l[0]){var u=h.data.color;switch(s){case t.MixBlend.setup:c.setFromColor(u);break;case t.MixBlend.first:c.add((u.r-c.r)*a,(u.g-c.g)*a,(u.b-c.b)*a,(u.a-c.a)*a)}return}var d=0,f=0,m=0,v=0,p=L.search(l,n,5),g=this.curves[p/5];switch(g){case 0:var x=l[p];d=l[p+1],f=l[p+2],m=l[p+3],v=l[p+4];var b=(n-x)/(l[p+5]-x);d+=(l[p+5+1]-d)*b,f+=(l[p+5+2]-f)*b,m+=(l[p+5+3]-m)*b,v+=(l[p+5+4]-v)*b;break;case 1:d=l[p+1],f=l[p+2],m=l[p+3],v=l[p+4];break;default:d=this.getBezierValue(n,p,1,g-2),f=this.getBezierValue(n,p,2,g+18-2),m=this.getBezierValue(n,p,3,g+36-2),v=this.getBezierValue(n,p,4,g+54-2)}1==a?c.set(d,f,m,v):(s==t.MixBlend.setup&&c.setFromColor(h.data.color),c.add((d-c.r)*a,(f-c.g)*a,(m-c.b)*a,(v-c.a)*a))}},r}(q),tn=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["8|"+n])||this).slotIndex=0,i.slotIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 4},i.setFrame=function(t,e,r,n,i){t<<=2,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=n,this.frames[t+3]=i},i.apply=function(e,r,n,i,a,s,o){var h=e.slots[this.slotIndex];if(h.bone.active){var l=this.frames,c=h.color;if(n<l[0]){var u=h.data.color;switch(s){case t.MixBlend.setup:c.r=u.r,c.g=u.g,c.b=u.b;break;case t.MixBlend.first:c.r+=(u.r-c.r)*a,c.g+=(u.g-c.g)*a,c.b+=(u.b-c.b)*a}return}var d=0,f=0,m=0,v=L.search(l,n,4),p=this.curves[v>>2];switch(p){case 0:var g=l[v];d=l[v+1],f=l[v+2],m=l[v+3];var x=(n-g)/(l[v+4]-g);d+=(l[v+4+1]-d)*x,f+=(l[v+4+2]-f)*x,m+=(l[v+4+3]-m)*x;break;case 1:d=l[v+1],f=l[v+2],m=l[v+3];break;default:d=this.getBezierValue(n,v,1,p-2),f=this.getBezierValue(n,v,2,p+18-2),m=this.getBezierValue(n,v,3,p+36-2)}if(1==a)c.r=d,c.g=f,c.b=m;else{if(s==t.MixBlend.setup){var b=h.data.color;c.r=b.r,c.g=b.g,c.b=b.b}c.r+=(d-c.r)*a,c.g+=(f-c.g)*a,c.b+=(m-c.b)*a}}},r}(q),ti=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,"9|"+n)||this).slotIndex=0,i.slotIndex=n,i}return n(r,e),r.prototype.apply=function(e,r,n,i,a,s,o){var h=e.slots[this.slotIndex];if(h.bone.active){var l=h.color;if(n<this.frames[0]){var c=h.data.color;switch(s){case t.MixBlend.setup:l.a=c.a;break;case t.MixBlend.first:l.a+=(c.a-l.a)*a}return}var u=this.getCurveValue(n);1==a?l.a=u:(s==t.MixBlend.setup&&(l.a=h.data.color.a),l.a+=(u-l.a)*a)}},r}(U),ta=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["8|"+n,"9|"+n,"10|"+n])||this).slotIndex=0,i.slotIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 8},i.setFrame=function(t,e,r,n,i,a,s,o,h){t<<=3,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=n,this.frames[t+3]=i,this.frames[t+4]=a,this.frames[t+5]=s,this.frames[t+6]=o,this.frames[t+7]=h},i.apply=function(e,r,n,i,a,s,o){var h=e.slots[this.slotIndex];if(h.bone.active){var l=this.frames,c=h.color,u=h.darkColor;if(n<l[0]){var d=h.data.color,f=h.data.darkColor;switch(s){case t.MixBlend.setup:c.setFromColor(d),u.r=f.r,u.g=f.g,u.b=f.b;break;case t.MixBlend.first:c.add((d.r-c.r)*a,(d.g-c.g)*a,(d.b-c.b)*a,(d.a-c.a)*a),u.r+=(f.r-u.r)*a,u.g+=(f.g-u.g)*a,u.b+=(f.b-u.b)*a}return}var m=0,v=0,p=0,g=0,x=0,b=0,y=0,w=L.search(l,n,8),M=this.curves[w>>3];switch(M){case 0:var S=l[w];m=l[w+1],v=l[w+2],p=l[w+3],g=l[w+4],x=l[w+5],b=l[w+6],y=l[w+7];var k=(n-S)/(l[w+8]-S);m+=(l[w+8+1]-m)*k,v+=(l[w+8+2]-v)*k,p+=(l[w+8+3]-p)*k,g+=(l[w+8+4]-g)*k,x+=(l[w+8+5]-x)*k,b+=(l[w+8+6]-b)*k,y+=(l[w+8+7]-y)*k;break;case 1:m=l[w+1],v=l[w+2],p=l[w+3],g=l[w+4],x=l[w+5],b=l[w+6],y=l[w+7];break;default:m=this.getBezierValue(n,w,1,M-2),v=this.getBezierValue(n,w,2,M+18-2),p=this.getBezierValue(n,w,3,M+36-2),g=this.getBezierValue(n,w,4,M+54-2),x=this.getBezierValue(n,w,5,M+72-2),b=this.getBezierValue(n,w,6,M+90-2),y=this.getBezierValue(n,w,7,M+108-2)}if(1==a)c.set(m,v,p,g),u.r=x,u.g=b,u.b=y;else{if(s==t.MixBlend.setup){c.setFromColor(h.data.color);var I=h.data.darkColor;u.r=I.r,u.g=I.g,u.b=I.b}c.add((m-c.r)*a,(v-c.g)*a,(p-c.b)*a,(g-c.a)*a),u.r+=(x-u.r)*a,u.g+=(b-u.g)*a,u.b+=(y-u.b)*a}}},r}(q),ts=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["8|"+n,"10|"+n])||this).slotIndex=0,i.slotIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 7},i.setFrame=function(t,e,r,n,i,a,s,o){t*=7,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=n,this.frames[t+3]=i,this.frames[t+4]=a,this.frames[t+5]=s,this.frames[t+6]=o},i.apply=function(e,r,n,i,a,s,o){var h=e.slots[this.slotIndex];if(h.bone.active){var l=this.frames,c=h.color,u=h.darkColor;if(n<l[0]){var d=h.data.color,f=h.data.darkColor;switch(s){case t.MixBlend.setup:c.r=d.r,c.g=d.g,c.b=d.b,u.r=f.r,u.g=f.g,u.b=f.b;break;case t.MixBlend.first:c.r+=(d.r-c.r)*a,c.g+=(d.g-c.g)*a,c.b+=(d.b-c.b)*a,u.r+=(f.r-u.r)*a,u.g+=(f.g-u.g)*a,u.b+=(f.b-u.b)*a}return}var m=0,v=0,p=0,g=0,x=0,b=0,y=L.search(l,n,7),w=this.curves[y/7];switch(w){case 0:var M=l[y];m=l[y+1],v=l[y+2],p=l[y+3],g=l[y+4],x=l[y+5],b=l[y+6];var S=(n-M)/(l[y+7]-M);m+=(l[y+7+1]-m)*S,v+=(l[y+7+2]-v)*S,p+=(l[y+7+3]-p)*S,g+=(l[y+7+4]-g)*S,x+=(l[y+7+5]-x)*S,b+=(l[y+7+6]-b)*S;break;case 1:m=l[y+1],v=l[y+2],p=l[y+3],g=l[y+4],x=l[y+5],b=l[y+6];break;default:m=this.getBezierValue(n,y,1,w-2),v=this.getBezierValue(n,y,2,w+18-2),p=this.getBezierValue(n,y,3,w+36-2),g=this.getBezierValue(n,y,4,w+54-2),x=this.getBezierValue(n,y,5,w+72-2),b=this.getBezierValue(n,y,6,w+90-2)}if(1==a)c.r=m,c.g=v,c.b=p,u.r=g,u.g=x,u.b=b;else{if(s==t.MixBlend.setup){var k=h.data.color,I=h.data.darkColor;c.r=k.r,c.g=k.g,c.b=k.b,u.r=I.r,u.g=I.g,u.b=I.b}c.r+=(m-c.r)*a,c.g+=(v-c.g)*a,c.b+=(p-c.b)*a,u.r+=(g-u.r)*a,u.g+=(x-u.g)*a,u.b+=(b-u.b)*a}}},r}(q),to=function(e){function r(t,r){var n;return(n=e.call(this,t,["11|"+r])||this).slotIndex=0,n.slotIndex=r,n.attachmentNames=Array(t),n}n(r,e);var i=r.prototype;return i.getFrameCount=function(){return this.frames.length},i.setFrame=function(t,e,r){this.frames[t]=e,this.attachmentNames[t]=r},i.apply=function(e,r,n,i,a,s,o){var h=e.slots[this.slotIndex];if(h.bone.active){if(o==t.MixDirection.mixOut){s==t.MixBlend.setup&&this.setAttachment(e,h,h.data.attachmentName);return}if(n<this.frames[0]){(s==t.MixBlend.setup||s==t.MixBlend.first)&&this.setAttachment(e,h,h.data.attachmentName);return}this.setAttachment(e,h,this.attachmentNames[L.search1(this.frames,n)])}},i.setAttachment=function(t,e,r){e.setAttachment(r?t.getAttachment(this.slotIndex,r):null)},r}(L),th=function(e){function r(t,r,n,i){var a;return(a=e.call(this,t,r,["12|"+n+"|"+i.id])||this).slotIndex=0,a.slotIndex=n,a.attachment=i,a.vertices=Array(t),a}n(r,e);var a=r.prototype;return a.getFrameCount=function(){return this.frames.length},a.setFrame=function(t,e,r){this.frames[t]=e,this.vertices[t]=r},a.setBezier=function(t,e,r,n,i,a,s,o,h,l,c){var u=this.curves,d=this.getFrameCount()+18*t;0==r&&(u[e]=2+d);for(var f=(n-2*a+o)*.03,m=.03*h-.06*s,v=((a-o)*3-n+l)*.006,p=(s-h+.33333333)*.018,g=2*f+v,x=2*m+p,b=(a-n)*.3+f+.16666667*v,y=.3*s+m+.16666667*p,w=n+b,M=y,S=d+18;d<S;d+=2)u[d]=w,u[d+1]=M,b+=g,y+=x,g+=v,x+=p,w+=b,M+=y},a.getCurvePercent=function(t,e){var r=this.curves,n=r[e];switch(n){case 0:var i=this.frames[e];return(t-i)/(this.frames[e+this.getFrameEntries()]-i);case 1:return 0}if(r[n-=2]>t){var a=this.frames[e];return r[n+1]*(t-a)/(r[n]-a)}var s=n+18;for(n+=2;n<s;n+=2)if(r[n]>=t){var o=r[n-2],h=r[n-1];return h+(t-o)/(r[n]-o)*(r[n+1]-h)}var l=r[s-2],c=r[s-1];return c+(1-c)*(t-l)/(this.frames[e+this.getFrameEntries()]-l)},a.apply=function(e,r,n,a,s,o,h){var l=e.slots[this.slotIndex];if(l.bone.active){var c=l.getAttachment();if(c&&i(c,V)&&c.timelineAttachment==this.attachment){var u=l.deform;0==u.length&&(o=t.MixBlend.setup);var d=this.vertices,f=d[0].length,m=this.frames;if(n<m[0]){switch(o){case t.MixBlend.setup:u.length=0;break;case t.MixBlend.first:if(1==s){u.length=0;break}if(u.length=f,c.bones){s=1-s;for(var v=0;v<f;v++)u[v]*=s}else for(var p=c.vertices,v=0;v<f;v++)u[v]+=(p[v]-u[v])*s}return}if(u.length=f,n>=m[m.length-1]){var g=d[m.length-1];if(1==s){if(o==t.MixBlend.add){if(c.bones)for(var x=0;x<f;x++)u[x]+=g[x];else for(var b=c.vertices,y=0;y<f;y++)u[y]+=g[y]-b[y]}else C.arrayCopy(g,0,u,0,f)}else switch(o){case t.MixBlend.setup:if(c.bones)for(var w=0;w<f;w++)u[w]=g[w]*s;else for(var M=c.vertices,S=0;S<f;S++){var k=M[S];u[S]=k+(g[S]-k)*s}break;case t.MixBlend.first:case t.MixBlend.replace:for(var I=0;I<f;I++)u[I]+=(g[I]-u[I])*s;break;case t.MixBlend.add:if(c.bones)for(var B=0;B<f;B++)u[B]+=g[B]*s;else for(var A=c.vertices,T=0;T<f;T++)u[T]+=(g[T]-A[T])*s}return}var F=L.search1(m,n),E=this.getCurvePercent(n,F),P=d[F],R=d[F+1];if(1==s){if(o==t.MixBlend.add){if(c.bones)for(var Y=0;Y<f;Y++){var _=P[Y];u[Y]+=_+(R[Y]-_)*E}else for(var X=c.vertices,D=0;D<f;D++){var O=P[D];u[D]+=O+(R[D]-O)*E-X[D]}}else for(var N=0;N<f;N++){var q=P[N];u[N]=q+(R[N]-q)*E}}else switch(o){case t.MixBlend.setup:if(c.bones)for(var U=0;U<f;U++){var W=P[U];u[U]=(W+(R[U]-W)*E)*s}else for(var z=c.vertices,G=0;G<f;G++){var j=P[G],H=z[G];u[G]=H+(j+(R[G]-j)*E-H)*s}break;case t.MixBlend.first:case t.MixBlend.replace:for(var K=0;K<f;K++){var J=P[K];u[K]+=(J+(R[K]-J)*E-u[K])*s}break;case t.MixBlend.add:if(c.bones)for(var Q=0;Q<f;Q++){var $=P[Q];u[Q]+=($+(R[Q]-$)*E)*s}else for(var Z=c.vertices,tt=0;tt<f;tt++){var te=P[tt];u[tt]+=(te+(R[tt]-te)*E-Z[tt])*s}}}}},r}(q),tl=function(t){function e(r){var n;return(n=t.call(this,r,e.propertyIds)||this).events=Array(r),n}n(e,t);var r=e.prototype;return r.getFrameCount=function(){return this.frames.length},r.setFrame=function(t,e){this.frames[t]=e.time,this.events[t]=e},r.apply=function(t,e,r,n,i,a,s){if(n){var o=this.frames,h=this.frames.length;if(e>r)this.apply(t,e,Number.MAX_VALUE,n,i,a,s),e=-1;else if(e>=o[h-1])return;if(!(r<o[0])){var l=0;if(e<o[0])l=0;else{l=L.search1(o,e)+1;for(var c=o[l];l>0&&o[l-1]==c;)l--}for(;l<h&&r>=o[l];l++)n.push(this.events[l])}}},e}(L);tl.propertyIds=["13"];var tc=function(e){function r(t){var n;return(n=e.call(this,t,r.propertyIds)||this).drawOrders=Array(t),n}n(r,e);var i=r.prototype;return i.getFrameCount=function(){return this.frames.length},i.setFrame=function(t,e,r){this.frames[t]=e,this.drawOrders[t]=r},i.apply=function(e,r,n,i,a,s,o){if(o==t.MixDirection.mixOut){s==t.MixBlend.setup&&C.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}if(n<this.frames[0]){(s==t.MixBlend.setup||s==t.MixBlend.first)&&C.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}var h=L.search1(this.frames,n),l=this.drawOrders[h];if(l)for(var c=e.drawOrder,u=e.slots,d=0,f=l.length;d<f;d++)c[d]=u[l[d]];else C.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length)},r}(L);tc.propertyIds=["14"];var tu=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["15|"+n])||this).constraintIndex=0,i.constraintIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 6},i.setFrame=function(t,e,r,n,i,a,s){t*=6,this.frames[t]=e,this.frames[t+1]=r,this.frames[t+2]=n,this.frames[t+3]=i,this.frames[t+4]=a?1:0,this.frames[t+5]=s?1:0},i.apply=function(e,r,n,i,a,s,o){var h=e.ikConstraints[this.constraintIndex];if(h.active){var l=this.frames;if(n<l[0]){switch(s){case t.MixBlend.setup:h.mix=h.data.mix,h.softness=h.data.softness,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch;break;case t.MixBlend.first:h.mix+=(h.data.mix-h.mix)*a,h.softness+=(h.data.softness-h.softness)*a,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch}return}var c=0,u=0,d=L.search(l,n,6),f=this.curves[d/6];switch(f){case 0:var m=l[d];c=l[d+1],u=l[d+2];var v=(n-m)/(l[d+6]-m);c+=(l[d+6+1]-c)*v,u+=(l[d+6+2]-u)*v;break;case 1:c=l[d+1],u=l[d+2];break;default:c=this.getBezierValue(n,d,1,f-2),u=this.getBezierValue(n,d,2,f+18-2)}s==t.MixBlend.setup?(h.mix=h.data.mix+(c-h.data.mix)*a,h.softness=h.data.softness+(u-h.data.softness)*a,o==t.MixDirection.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[d+3],h.compress=0!=l[d+4],h.stretch=0!=l[d+5])):(h.mix+=(c-h.mix)*a,h.softness+=(u-h.softness)*a,o==t.MixDirection.mixIn&&(h.bendDirection=l[d+3],h.compress=0!=l[d+4],h.stretch=0!=l[d+5]))}},r}(q),td=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["16|"+n])||this).constraintIndex=0,i.constraintIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 7},i.setFrame=function(t,e,r,n,i,a,s,o){var h=this.frames;h[t*=7]=e,h[t+1]=r,h[t+2]=n,h[t+3]=i,h[t+4]=a,h[t+5]=s,h[t+6]=o},i.apply=function(e,r,n,i,a,s,o){var h,l,c,u,d,f,m=e.transformConstraints[this.constraintIndex];if(m.active){var v=this.frames;if(n<v[0]){var p=m.data;switch(s){case t.MixBlend.setup:m.mixRotate=p.mixRotate,m.mixX=p.mixX,m.mixY=p.mixY,m.mixScaleX=p.mixScaleX,m.mixScaleY=p.mixScaleY,m.mixShearY=p.mixShearY;break;case t.MixBlend.first:m.mixRotate+=(p.mixRotate-m.mixRotate)*a,m.mixX+=(p.mixX-m.mixX)*a,m.mixY+=(p.mixY-m.mixY)*a,m.mixScaleX+=(p.mixScaleX-m.mixScaleX)*a,m.mixScaleY+=(p.mixScaleY-m.mixScaleY)*a,m.mixShearY+=(p.mixShearY-m.mixShearY)*a}return}var g=L.search(v,n,7),x=this.curves[g/7];switch(x){case 0:var b=v[g];h=v[g+1],l=v[g+2],c=v[g+3],u=v[g+4],d=v[g+5],f=v[g+6];var y=(n-b)/(v[g+7]-b);h+=(v[g+7+1]-h)*y,l+=(v[g+7+2]-l)*y,c+=(v[g+7+3]-c)*y,u+=(v[g+7+4]-u)*y,d+=(v[g+7+5]-d)*y,f+=(v[g+7+6]-f)*y;break;case 1:h=v[g+1],l=v[g+2],c=v[g+3],u=v[g+4],d=v[g+5],f=v[g+6];break;default:h=this.getBezierValue(n,g,1,x-2),l=this.getBezierValue(n,g,2,x+18-2),c=this.getBezierValue(n,g,3,x+36-2),u=this.getBezierValue(n,g,4,x+54-2),d=this.getBezierValue(n,g,5,x+72-2),f=this.getBezierValue(n,g,6,x+90-2)}if(s==t.MixBlend.setup){var w=m.data;m.mixRotate=w.mixRotate+(h-w.mixRotate)*a,m.mixX=w.mixX+(l-w.mixX)*a,m.mixY=w.mixY+(c-w.mixY)*a,m.mixScaleX=w.mixScaleX+(u-w.mixScaleX)*a,m.mixScaleY=w.mixScaleY+(d-w.mixScaleY)*a,m.mixShearY=w.mixShearY+(f-w.mixShearY)*a}else m.mixRotate+=(h-m.mixRotate)*a,m.mixX+=(l-m.mixX)*a,m.mixY+=(c-m.mixY)*a,m.mixScaleX+=(u-m.mixScaleX)*a,m.mixScaleY+=(d-m.mixScaleY)*a,m.mixShearY+=(f-m.mixShearY)*a}},r}(q),tf=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"17|"+n)||this).constraintIndex=0,i.constraintIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.pathConstraints[this.constraintIndex];o.active&&(o.position=this.getAbsoluteValue(r,i,a,o.position,o.data.position))},e}(U),tm=function(t){function e(e,r,n){var i;return(i=t.call(this,e,r,"18|"+n)||this).constraintIndex=0,i.constraintIndex=n,i}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){var o=t.pathConstraints[this.constraintIndex];o.active&&(o.spacing=this.getAbsoluteValue(r,i,a,o.spacing,o.data.spacing))},e}(U),tv=function(e){function r(t,r,n){var i;return(i=e.call(this,t,r,["19|"+n])||this).constraintIndex=0,i.constraintIndex=n,i}n(r,e);var i=r.prototype;return i.getFrameEntries=function(){return 4},i.setFrame=function(t,e,r,n,i){var a=this.frames;a[t<<=2]=e,a[t+1]=r,a[t+2]=n,a[t+3]=i},i.apply=function(e,r,n,i,a,s,o){var h,l,c,u=e.pathConstraints[this.constraintIndex];if(u.active){var d=this.frames;if(n<d[0]){switch(s){case t.MixBlend.setup:u.mixRotate=u.data.mixRotate,u.mixX=u.data.mixX,u.mixY=u.data.mixY;break;case t.MixBlend.first:u.mixRotate+=(u.data.mixRotate-u.mixRotate)*a,u.mixX+=(u.data.mixX-u.mixX)*a,u.mixY+=(u.data.mixY-u.mixY)*a}return}var f=L.search(d,n,4),m=this.curves[f>>2];switch(m){case 0:var v=d[f];h=d[f+1],l=d[f+2],c=d[f+3];var p=(n-v)/(d[f+4]-v);h+=(d[f+4+1]-h)*p,l+=(d[f+4+2]-l)*p,c+=(d[f+4+3]-c)*p;break;case 1:h=d[f+1],l=d[f+2],c=d[f+3];break;default:h=this.getBezierValue(n,f,1,m-2),l=this.getBezierValue(n,f,2,m+18-2),c=this.getBezierValue(n,f,3,m+36-2)}if(s==t.MixBlend.setup){var g=u.data;u.mixRotate=g.mixRotate+(h-g.mixRotate)*a,u.mixX=g.mixX+(l-g.mixX)*a,u.mixY=g.mixY+(c-g.mixY)*a}else u.mixRotate+=(h-u.mixRotate)*a,u.mixX+=(l-u.mixX)*a,u.mixY+=(c-u.mixY)*a}},r}(q),tp=function(t){function e(e,r,n,i){var a;return(a=t.call(this,e,r,i+"|"+n)||this).constraintIndex=0,a.constraintIndex=n,a}return n(e,t),e.prototype.apply=function(t,e,r,n,i,a,s){if(-1==this.constraintIndex)for(var h,l,c=r>=this.frames[0]?this.getCurveValue(r):0,u=o(t.physicsConstraints);!(l=u()).done;){var d=l.value;d.active&&this.global(d.data)&&this.set(d,this.getAbsoluteValue2(r,i,a,this.get(d),this.setup(d),c))}else(h=t.physicsConstraints[this.constraintIndex]).active&&this.set(h,this.getAbsoluteValue(r,i,a,this.get(h),this.setup(h)))},e}(U),tg=function(t){function e(e,r,n){return t.call(this,e,r,n,20)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return t.data.inertia},r.get=function(t){return t.inertia},r.set=function(t,e){t.inertia=e},r.global=function(t){return t.inertiaGlobal},e}(tp),tx=function(t){function e(e,r,n){return t.call(this,e,r,n,21)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return t.data.strength},r.get=function(t){return t.strength},r.set=function(t,e){t.strength=e},r.global=function(t){return t.strengthGlobal},e}(tp),tb=function(t){function e(e,r,n){return t.call(this,e,r,n,22)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return t.data.damping},r.get=function(t){return t.damping},r.set=function(t,e){t.damping=e},r.global=function(t){return t.dampingGlobal},e}(tp),ty=function(t){function e(e,r,n){return t.call(this,e,r,n,23)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return 1/t.data.massInverse},r.get=function(t){return 1/t.massInverse},r.set=function(t,e){t.massInverse=1/e},r.global=function(t){return t.massGlobal},e}(tp),tw=function(t){function e(e,r,n){return t.call(this,e,r,n,24)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return t.data.wind},r.get=function(t){return t.wind},r.set=function(t,e){t.wind=e},r.global=function(t){return t.windGlobal},e}(tp),tM=function(t){function e(e,r,n){return t.call(this,e,r,n,25)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return t.data.gravity},r.get=function(t){return t.gravity},r.set=function(t,e){t.gravity=e},r.global=function(t){return t.gravityGlobal},e}(tp),tS=function(t){function e(e,r,n){return t.call(this,e,r,n,26)||this}n(e,t);var r=e.prototype;return r.setup=function(t){return t.data.mix},r.get=function(t){return t.mix},r.set=function(t,e){t.mix=e},r.global=function(t){return t.mixGlobal},e}(tp),tk=function(t){function e(r,n){var i;return(i=t.call(this,r,e.propertyIds)||this).constraintIndex=n,i}n(e,t);var r=e.prototype;return r.getFrameCount=function(){return this.frames.length},r.setFrame=function(t,e){this.frames[t]=e},r.apply=function(t,e,r,n,i,a,s){if(-1==this.constraintIndex||(l=t.physicsConstraints[this.constraintIndex]).active){var h=this.frames;if(e>r)this.apply(t,e,Number.MAX_VALUE,[],i,a,s),e=-1;else if(e>=h[h.length-1])return;if(!(r<h[0])&&(e<h[0]||r>=h[L.search1(h,e)+1])){if(null!=l)l.reset();else for(var l,c,u=o(t.physicsConstraints);!(c=u()).done;){var d=c.value;d.active&&d.reset()}}}},e}(L);tk.propertyIds=["27"];var tI=function(e){function r(t,r,n){var i;return(i=e.call(this,t,["28|"+r+"|"+n.sequence.id])||this).slotIndex=r,i.attachment=n,i}n(r,e);var a=r.prototype;return a.getFrameEntries=function(){return r.ENTRIES},a.getSlotIndex=function(){return this.slotIndex},a.getAttachment=function(){return this.attachment},a.setFrame=function(t,e,n,i,a){var s=this.frames;s[t*=r.ENTRIES]=e,s[t+r.MODE]=n|i<<4,s[t+r.DELAY]=a},a.apply=function(e,n,a,s,o,h,l){var c=e.slots[this.slotIndex];if(c.bone.active){var u=c.attachment,d=this.attachment;if(u==d||i(u,V)&&u.timelineAttachment==d){if(l==t.MixDirection.mixOut){h==t.MixBlend.setup&&(c.sequenceIndex=-1);return}var f=this.frames;if(a<f[0]){(h==t.MixBlend.setup||h==t.MixBlend.first)&&(c.sequenceIndex=-1);return}var m=L.search(f,a,r.ENTRIES),v=f[m],p=f[m+r.MODE],g=f[m+r.DELAY];if(this.attachment.sequence){var x=p>>4,b=this.attachment.sequence.regions.length,y=O[15&p];if(y!=w.hold)switch(x+=(a-v)/g+1e-5|0,y){case w.once:x=Math.min(b-1,x);break;case w.loop:x%=b;break;case w.pingpong:var M=(b<<1)-2;(x=0==M?0:x%M)>=b&&(x=M-x);break;case w.onceReverse:x=Math.max(b-1-x,0);break;case w.loopReverse:x=b-1-x%b;break;case w.pingpongReverse:var S=(b<<1)-2;(x=0==S?0:(x+b-1)%S)>=b&&(x=S-x)}c.sequenceIndex=x}}}},r}(L);function tB(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function tA(t,e,r){return e&&tB(t.prototype,e),r&&tB(t,r),t}tI.ENTRIES=3,tI.MODE=1,tI.DELAY=2;var tT=function(){function e(t){this.tracks=[],this.timeScale=1,this.unkeyedState=0,this.events=[],this.listeners=[],this.queue=new tC(this),this.propertyIDs=new k,this.animationsChanged=!1,this.trackEntryPool=new P(function(){return new tF}),this.data=t}var r=e.prototype;return r.update=function(t){t*=this.timeScale;for(var e=this.tracks,r=0,n=e.length;r<n;r++){var i=e[r];if(i){i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast;var a=t*i.timeScale;if(i.delay>0){if(i.delay-=a,i.delay>0)continue;a=-i.delay,i.delay=0}var s=i.next;if(s){var o=i.trackLast-s.delay;if(o>=0){for(s.delay=0,s.trackTime+=0==i.timeScale?0:(o/i.timeScale+t)*s.timeScale,i.trackTime+=a,this.setCurrent(r,s,!0);s.mixingFrom;)s.mixTime+=t,s=s.mixingFrom;continue}}else if(i.trackLast>=i.trackEnd&&!i.mixingFrom){e[r]=null,this.queue.end(i),this.clearNext(i);continue}if(i.mixingFrom&&this.updateMixingFrom(i,t)){var h=i.mixingFrom;for(i.mixingFrom=null,h&&(h.mixingTo=null);h;)this.queue.end(h),h=h.mixingFrom}i.trackTime+=a}}this.queue.drain()},r.updateMixingFrom=function(t,e){var r=t.mixingFrom;if(!r)return!0;var n=this.updateMixingFrom(r,e);if(r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast,-1!=t.nextTrackLast){var i=0==t.mixTime&&0==r.mixTime;if(t.mixTime>=t.mixDuration||i)return(0==r.totalAlpha||0==t.mixDuration||i)&&(t.mixingFrom=r.mixingFrom,null!=r.mixingFrom&&(r.mixingFrom.mixingTo=t),t.interruptAlpha=r.interruptAlpha,this.queue.end(r)),n}return r.trackTime+=e*r.timeScale,t.mixTime+=e,!1},r.apply=function(e){if(!e)throw Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var r=this.events,n=this.tracks,a=!1,s=0,o=n.length;s<o;s++){var h=n[s];if(h&&!(h.delay>0)){a=!0;var l=0==s?t.MixBlend.first:h.mixBlend,c=h.alpha;h.mixingFrom?c*=this.applyMixingFrom(h,e,l):h.trackTime>=h.trackEnd&&!h.next&&(c=0);var u=c>=h.alphaAttachmentThreshold,d=h.animationLast,f=h.getAnimationTime(),m=f,v=r;h.reverse&&(m=h.animation.duration-m,v=null);var p=h.animation.timelines,g=p.length;if(0==s&&1==c||l==t.MixBlend.add){0==s&&(u=!0);for(var x=0;x<g;x++){C.webkit602BugfixHelper(c,l);var b=p[x];i(b,to)?this.applyAttachmentTimeline(b,e,m,l,u):b.apply(e,d,m,v,c,l,t.MixDirection.mixIn)}}else{var y=h.timelineMode,w=h.shortestRotation,M=!w&&h.timelinesRotation.length!=g<<1;M&&(h.timelinesRotation.length=g<<1);for(var S=0;S<g;S++){var k=p[S],I=y[S]==tP?l:t.MixBlend.setup;!w&&i(k,z)?this.applyRotateTimeline(k,e,m,c,I,h.timelinesRotation,S<<1,M):i(k,to)?this.applyAttachmentTimeline(k,e,m,l,u):(C.webkit602BugfixHelper(c,l),k.apply(e,d,m,v,c,I,t.MixDirection.mixIn))}}this.queueEvents(h,f),r.length=0,h.nextAnimationLast=f,h.nextTrackLast=h.trackTime}}for(var B=this.unkeyedState+tV,A=e.slots,T=0,F=e.slots.length;T<F;T++){var E=A[T];if(E.attachmentState==B){var P=E.data.attachmentName;E.setAttachment(P?e.getAttachment(E.data.index,P):null)}}return this.unkeyedState+=2,this.queue.drain(),a},r.applyMixingFrom=function(e,r,n){var a=e.mixingFrom;a.mixingFrom&&this.applyMixingFrom(a,r,n);var s=0;0==e.mixDuration?(s=1,n==t.MixBlend.first&&(n=t.MixBlend.setup)):((s=e.mixTime/e.mixDuration)>1&&(s=1),n!=t.MixBlend.first&&(n=a.mixBlend));var o=s<a.mixAttachmentThreshold,h=s<a.mixDrawOrderThreshold,l=a.animation.timelines,c=l.length,u=a.alpha*e.interruptAlpha,d=u*(1-s),f=a.animationLast,m=a.getAnimationTime(),v=m,p=null;if(a.reverse?v=a.animation.duration-v:s<a.eventThreshold&&(p=this.events),n==t.MixBlend.add)for(var g=0;g<c;g++)l[g].apply(r,f,v,p,d,n,t.MixDirection.mixOut);else{var x=a.timelineMode,b=a.timelineHoldMix,y=a.shortestRotation,w=!y&&a.timelinesRotation.length!=c<<1;w&&(a.timelinesRotation.length=c<<1),a.totalAlpha=0;for(var M=0;M<c;M++){var S=l[M],k=t.MixDirection.mixOut,I=void 0,B=0;switch(x[M]){case tP:if(!h&&i(S,tc))continue;I=n,B=d;break;case tR:I=t.MixBlend.setup,B=d;break;case tY:I=n,B=u;break;case t_:I=t.MixBlend.setup,B=u;break;default:I=t.MixBlend.setup;var A=b[M];B=u*Math.max(0,1-A.mixTime/A.mixDuration)}a.totalAlpha+=B,!y&&i(S,z)?this.applyRotateTimeline(S,r,v,B,I,a.timelinesRotation,M<<1,w):i(S,to)?this.applyAttachmentTimeline(S,r,v,I,o&&B>=a.alphaAttachmentThreshold):(C.webkit602BugfixHelper(B,n),h&&i(S,tc)&&I==t.MixBlend.setup&&(k=t.MixDirection.mixIn),S.apply(r,f,v,p,B,I,k))}}return e.mixDuration>0&&this.queueEvents(a,m),this.events.length=0,a.nextAnimationLast=m,a.nextTrackLast=a.trackTime,s},r.applyAttachmentTimeline=function(e,r,n,i,a){var s=r.slots[e.slotIndex];s.bone.active&&(n<e.frames[0]?(i==t.MixBlend.setup||i==t.MixBlend.first)&&this.setAttachment(r,s,s.data.attachmentName,a):this.setAttachment(r,s,e.attachmentNames[L.search1(e.frames,n)],a),s.attachmentState<=this.unkeyedState&&(s.attachmentState=this.unkeyedState+tV))},r.setAttachment=function(t,e,r,n){e.setAttachment(r?t.getAttachment(e.data.index,r):null),n&&(e.attachmentState=this.unkeyedState+tD)},r.applyRotateTimeline=function(e,r,n,i,a,s,o,h){if(h&&(s[o]=0),1==i){e.apply(r,0,n,null,1,a,t.MixDirection.mixIn);return}var l=r.bones[e.boneIndex];if(l.active){var c=e.frames,u=0,d=0;if(n<c[0])switch(a){case t.MixBlend.setup:l.rotation=l.data.rotation;default:return;case t.MixBlend.first:u=l.rotation,d=l.data.rotation}else u=a==t.MixBlend.setup?l.data.rotation:l.rotation,d=l.data.rotation+e.getCurveValue(n);var f=0,m=d-u;if(0==(m-=360*Math.ceil(m/360-.5)))f=s[o];else{var v=0,p=0;h?(v=0,p=m):(v=s[o],p=s[o+1]);var g=v-v%360;f=m+g;var x=m>=0,b=v>=0;90>=Math.abs(p)&&B.signum(p)!=B.signum(m)&&(Math.abs(v-g)>180?(f+=360*B.signum(v),b=x):0!=g?f-=360*B.signum(v):b=x),b!=x&&(f+=360*B.signum(v)),s[o]=f}s[o+1]=m,l.rotation=u+f*i}},r.queueEvents=function(t,e){for(var r=t.animationStart,n=t.animationEnd,i=n-r,a=t.trackLast%i,s=this.events,o=0,h=s.length;o<h;o++){var l=s[o];if(l.time<a)break;l.time>n||this.queue.event(t,l)}var c=!1;if(t.loop){if(0==i)c=!0;else{var u=Math.floor(t.trackTime/i);c=u>0&&u>Math.floor(t.trackLast/i)}}else c=e>=n&&t.animationLast<n;for(c&&this.queue.complete(t);o<h;o++){var d=s[o];d.time<r||this.queue.event(t,d)}},r.clearTracks=function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,r=this.tracks.length;e<r;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()},r.clearTrack=function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(e){this.queue.end(e),this.clearNext(e);for(var r=e;;){var n=r.mixingFrom;if(!n)break;this.queue.end(n),r.mixingFrom=null,r.mixingTo=null,r=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}},r.setCurrent=function(t,e,r){var n=this.expandToIndex(t);this.tracks[t]=e,e.previous=null,n&&(r&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)},r.setAnimation=function(t,e,r){void 0===r&&(r=!1);var n=this.data.skeletonData.findAnimation(e);if(!n)throw Error("Animation not found: "+e);return this.setAnimationWith(t,n,r)},r.setAnimationWith=function(t,e,r){if(void 0===r&&(r=!1),!e)throw Error("animation cannot be null.");var n=!0,i=this.expandToIndex(t);i&&(-1==i.nextTrackLast?(this.tracks[t]=i.mixingFrom,this.queue.interrupt(i),this.queue.end(i),this.clearNext(i),i=i.mixingFrom,n=!1):this.clearNext(i));var a=this.trackEntry(t,e,r,i);return this.setCurrent(t,a,n),this.queue.drain(),a},r.addAnimation=function(t,e,r,n){void 0===r&&(r=!1),void 0===n&&(n=0);var i=this.data.skeletonData.findAnimation(e);if(!i)throw Error("Animation not found: "+e);return this.addAnimationWith(t,i,r,n)},r.addAnimationWith=function(t,e,r,n){if(void 0===r&&(r=!1),void 0===n&&(n=0),!e)throw Error("animation cannot be null.");var i=this.expandToIndex(t);if(i)for(;i.next;)i=i.next;var a=this.trackEntry(t,e,r,i);return i?(i.next=a,a.previous=i,n<=0&&(n+=i.getTrackComplete()-a.mixDuration)):(this.setCurrent(t,a,!0),this.queue.drain()),a.delay=n,a},r.setEmptyAnimation=function(t,r){void 0===r&&(r=0);var n=this.setAnimationWith(t,e.emptyAnimation(),!1);return n.mixDuration=r,n.trackEnd=r,n},r.addEmptyAnimation=function(t,r,n){void 0===r&&(r=0),void 0===n&&(n=0);var i=this.addAnimationWith(t,e.emptyAnimation(),!1,n);return n<=0&&(i.delay+=i.mixDuration-r),i.mixDuration=r,i.trackEnd=r,i},r.setEmptyAnimations=function(t){void 0===t&&(t=0);var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var r=0,n=this.tracks.length;r<n;r++){var i=this.tracks[r];i&&this.setEmptyAnimation(i.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()},r.expandToIndex=function(t){return t<this.tracks.length?this.tracks[t]:(C.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)},r.trackEntry=function(e,r,n,i){var a=this.trackEntryPool.obtain();return a.reset(),a.trackIndex=e,a.animation=r,a.loop=n,a.holdPrevious=!1,a.reverse=!1,a.shortestRotation=!1,a.eventThreshold=0,a.alphaAttachmentThreshold=0,a.mixAttachmentThreshold=0,a.mixDrawOrderThreshold=0,a.animationStart=0,a.animationEnd=r.duration,a.animationLast=-1,a.nextAnimationLast=-1,a.delay=0,a.trackTime=0,a.trackLast=-1,a.nextTrackLast=-1,a.trackEnd=Number.MAX_VALUE,a.timeScale=1,a.alpha=1,a.mixTime=0,a.mixDuration=i?this.data.getMix(i.animation,r):0,a.interruptAlpha=1,a.totalAlpha=0,a.mixBlend=t.MixBlend.replace,a},r.clearNext=function(t){for(var e=t.next;e;)this.queue.dispose(e),e=e.next;t.next=null},r._animationsChanged=function(){this.animationsChanged=!1,this.propertyIDs.clear();for(var e=this.tracks,r=0,n=e.length;r<n;r++){var i=e[r];if(i){for(;i.mixingFrom;)i=i.mixingFrom;do i.mixingTo&&i.mixBlend==t.MixBlend.add||this.computeHold(i),i=i.mixingTo;while(i)}}},r.computeHold=function(t){var e=t.mixingTo,r=t.animation.timelines,n=t.animation.timelines.length,a=t.timelineMode;a.length=n;var s=t.timelineHoldMix;s.length=0;var o=this.propertyIDs;if(e&&e.holdPrevious){for(var h=0;h<n;h++)a[h]=o.addAll(r[h].getPropertyIds())?t_:tY;return}t:for(var l=0;l<n;l++){var c=r[l],u=c.getPropertyIds();if(o.addAll(u)){if(!e||i(c,to)||i(c,tc)||i(c,tl)||!e.animation.hasTimeline(u))a[l]=tR;else{for(var d=e.mixingTo;d;d=d.mixingTo)if(!d.animation.hasTimeline(u)){if(t.mixDuration>0){a[l]=tX,s[l]=d;continue t}break}a[l]=t_}}else a[l]=tP}},r.getCurrent=function(t){return t>=this.tracks.length?null:this.tracks[t]},r.addListener=function(t){if(!t)throw Error("listener cannot be null.");this.listeners.push(t)},r.removeListener=function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)},r.clearListeners=function(){this.listeners.length=0},r.clearListenerNotifications=function(){this.queue.clear()},e.emptyAnimation=function(){return e._emptyAnimation},e}();tT._emptyAnimation=new N("<empty>",[],0);var tF=function(){function e(){this.animation=null,this.previous=null,this.next=null,this.mixingFrom=null,this.mixingTo=null,this.listener=null,this.trackIndex=0,this.loop=!1,this.holdPrevious=!1,this.reverse=!1,this.shortestRotation=!1,this.eventThreshold=0,this.mixAttachmentThreshold=0,this.alphaAttachmentThreshold=0,this.mixDrawOrderThreshold=0,this.animationStart=0,this.animationEnd=0,this.animationLast=0,this.nextAnimationLast=0,this.delay=0,this.trackTime=0,this.trackLast=0,this.nextTrackLast=0,this.trackEnd=0,this.timeScale=0,this.alpha=0,this.mixTime=0,this._mixDuration=0,this.interruptAlpha=0,this.totalAlpha=0,this.mixBlend=t.MixBlend.replace,this.timelineMode=[],this.timelineHoldMix=[],this.timelinesRotation=[]}var r=e.prototype;return r.setMixDurationWithDelay=function(t,e){this._mixDuration=t,null!=this.previous&&e<=0&&(e+=this.previous.getTrackComplete()-t),this.delay=e},r.reset=function(){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},r.getAnimationTime=function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)},r.setAnimationLast=function(t){this.animationLast=t,this.nextAnimationLast=t},r.isComplete=function(){return this.trackTime>=this.animationEnd-this.animationStart},r.resetRotationDirections=function(){this.timelinesRotation.length=0},r.getTrackComplete=function(){var t=this.animationEnd-this.animationStart;if(0!=t){if(this.loop)return t*(1+(this.trackTime/t|0));if(this.trackTime<t)return t}return this.trackTime},r.wasApplied=function(){return -1!=this.nextTrackLast},r.isNextReady=function(){return null!=this.next&&this.nextTrackLast-this.next.delay>=0},tA(e,[{key:"mixDuration",get:function(){return this._mixDuration},set:function(t){this._mixDuration=t}}]),e}(),tC=function(){function e(t){this.objects=[],this.drainDisabled=!1,this.animState=t}var r=e.prototype;return r.start=function(e){this.objects.push(t.EventType.start),this.objects.push(e),this.animState.animationsChanged=!0},r.interrupt=function(e){this.objects.push(t.EventType.interrupt),this.objects.push(e)},r.end=function(e){this.objects.push(t.EventType.end),this.objects.push(e),this.animState.animationsChanged=!0},r.dispose=function(e){this.objects.push(t.EventType.dispose),this.objects.push(e)},r.complete=function(e){this.objects.push(t.EventType.complete),this.objects.push(e)},r.event=function(e,r){this.objects.push(t.EventType.event),this.objects.push(e),this.objects.push(r)},r.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var e=this.objects,r=this.animState.listeners,n=0;n<e.length;n+=2){var i=e[n],a=e[n+1];switch(i){case t.EventType.start:a.listener&&a.listener.start&&a.listener.start(a);for(var s=0;s<r.length;s++){var o=r[s];o.start&&o.start(a)}break;case t.EventType.interrupt:a.listener&&a.listener.interrupt&&a.listener.interrupt(a);for(var h=0;h<r.length;h++){var l=r[h];l.interrupt&&l.interrupt(a)}break;case t.EventType.end:a.listener&&a.listener.end&&a.listener.end(a);for(var c=0;c<r.length;c++){var u=r[c];u.end&&u.end(a)}case t.EventType.dispose:a.listener&&a.listener.dispose&&a.listener.dispose(a);for(var d=0;d<r.length;d++){var f=r[d];f.dispose&&f.dispose(a)}this.animState.trackEntryPool.free(a);break;case t.EventType.complete:a.listener&&a.listener.complete&&a.listener.complete(a);for(var m=0;m<r.length;m++){var v=r[m];v.complete&&v.complete(a)}break;case t.EventType.event:var p=e[n+++2];a.listener&&a.listener.event&&a.listener.event(a,p);for(var g=0;g<r.length;g++){var x=r[g];x.event&&x.event(a,p)}}}this.clear(),this.drainDisabled=!1}},r.clear=function(){this.objects.length=0},e}();t.EventType=void 0,(u=t.EventType||(t.EventType={}))[u.start=0]="start",u[u.interrupt=1]="interrupt",u[u.end=2]="end",u[u.dispose=3]="dispose",u[u.complete=4]="complete",u[u.event=5]="event";var tE=function(){function t(){}var e=t.prototype;return e.start=function(t){},e.interrupt=function(t){},e.end=function(t){},e.dispose=function(t){},e.complete=function(t){},e.event=function(t,e){},t}(),tP=0,tR=1,tY=2,t_=3,tX=4,tV=1,tD=2,tO=function(){function t(t){if(this.animationToMixTime={},this.defaultMix=0,!t)throw Error("skeletonData cannot be null.");this.skeletonData=t}var e=t.prototype;return e.setMix=function(t,e,r){var n=this.skeletonData.findAnimation(t);if(!n)throw Error("Animation not found: "+t);var i=this.skeletonData.findAnimation(e);if(!i)throw Error("Animation not found: "+e);this.setMixWith(n,i,r)},e.setMixWith=function(t,e,r){if(!t)throw Error("from cannot be null.");if(!e)throw Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=r},e.getMix=function(t,e){var r=t.name+"."+e.name,n=this.animationToMixTime[r];return void 0===n?this.defaultMix:n},t}(),tN=function(t){function e(e){var r;return(r=t.call(this,e)||this).color=new I(1,1,1,1),r}return n(e,t),e.prototype.copy=function(){var t=new e(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t},e}(V),tL=function(t){function e(e){var r;return(r=t.call(this,e)||this).endSlot=null,r.color=new I(.2275,.2275,.8078,1),r}return n(e,t),e.prototype.copy=function(){var t=new e(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t},e}(V),tq=function(){function t(t){this._image=t}return t.prototype.getImage=function(){return this._image},t}();t.TextureFilter=void 0,(d=t.TextureFilter||(t.TextureFilter={}))[d.Nearest=9728]="Nearest",d[d.Linear=9729]="Linear",d[d.MipMap=9987]="MipMap",d[d.MipMapNearestNearest=9984]="MipMapNearestNearest",d[d.MipMapLinearNearest=9985]="MipMapLinearNearest",d[d.MipMapNearestLinear=9986]="MipMapNearestLinear",d[d.MipMapLinearLinear=9987]="MipMapLinearLinear",t.TextureWrap=void 0,(f=t.TextureWrap||(t.TextureWrap={}))[f.MirroredRepeat=33648]="MirroredRepeat",f[f.ClampToEdge=33071]="ClampToEdge",f[f.Repeat=10497]="Repeat";var tU=function(){this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.degrees=0,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0},tW=function(t){function e(){return t.apply(this,arguments)||this}n(e,t);var r=e.prototype;return r.setFilters=function(t,e){},r.setWraps=function(t,e){},r.dispose=function(){},e}(tq),tz=function(){function e(e){this.pages=[],this.regions=[];var r=new tG(e),n=[,,,,],i={};i.size=function(t){t.width=parseInt(n[1]),t.height=parseInt(n[2])},i.format=function(){},i.filter=function(e){e.minFilter=C.enumValue(t.TextureFilter,n[1]),e.magFilter=C.enumValue(t.TextureFilter,n[2])},i.repeat=function(e){-1!=n[1].indexOf("x")&&(e.uWrap=t.TextureWrap.Repeat),-1!=n[1].indexOf("y")&&(e.vWrap=t.TextureWrap.Repeat)},i.pma=function(t){t.pma="true"==n[1]};var a={};a.xy=function(t){t.x=parseInt(n[1]),t.y=parseInt(n[2])},a.size=function(t){t.width=parseInt(n[1]),t.height=parseInt(n[2])},a.bounds=function(t){t.x=parseInt(n[1]),t.y=parseInt(n[2]),t.width=parseInt(n[3]),t.height=parseInt(n[4])},a.offset=function(t){t.offsetX=parseInt(n[1]),t.offsetY=parseInt(n[2])},a.orig=function(t){t.originalWidth=parseInt(n[1]),t.originalHeight=parseInt(n[2])},a.offsets=function(t){t.offsetX=parseInt(n[1]),t.offsetY=parseInt(n[2]),t.originalWidth=parseInt(n[3]),t.originalHeight=parseInt(n[4])},a.rotate=function(t){var e=n[1];"true"==e?t.degrees=90:"false"!=e&&(t.degrees=parseInt(e))},a.index=function(t){t.index=parseInt(n[1])};for(var s=r.readLine();s&&0==s.trim().length;)s=r.readLine();for(;s&&0!=s.trim().length&&0!=r.readEntry(n,s);)s=r.readLine();for(var o=null,h=null,l=null;null!==s;)if(0==s.trim().length)o=null,s=r.readLine();else if(o){for(var c=new tH(o,s);;){var u=r.readEntry(n,s=r.readLine());if(0==u)break;var d=a[n[0]];if(d)d(c);else{h||(h=[]),l||(l=[]),h.push(n[0]);for(var f=[],m=0;m<u;m++)f.push(parseInt(n[m+1]));l.push(f)}}0==c.originalWidth&&0==c.originalHeight&&(c.originalWidth=c.width,c.originalHeight=c.height),h&&h.length>0&&l&&l.length>0&&(c.names=h,c.values=l,h=null,l=null),c.u=c.x/o.width,c.v=c.y/o.height,90==c.degrees?(c.u2=(c.x+c.height)/o.width,c.v2=(c.y+c.width)/o.height):(c.u2=(c.x+c.width)/o.width,c.v2=(c.y+c.height)/o.height),this.regions.push(c)}else{for(o=new tj(s.trim());0!=r.readEntry(n,s=r.readLine());){var v=i[n[0]];v&&v(o)}this.pages.push(o)}}var r=e.prototype;return r.findRegion=function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null},r.setTextures=function(t,e){void 0===e&&(e="");for(var r,n=o(this.pages);!(r=n()).done;){var i=r.value;i.setTexture(t.get(e+i.name))}},r.dispose=function(){for(var t,e=0;e<this.pages.length;e++)null==(t=this.pages[e].texture)||t.dispose()},e}(),tG=function(){function t(t){this.index=0,this.lines=t.split(/\r\n|\r|\n/)}var e=t.prototype;return e.readLine=function(){return this.index>=this.lines.length?null:this.lines[this.index++]},e.readEntry=function(t,e){if(!e||0==(e=e.trim()).length)return 0;var r=e.indexOf(":");if(-1==r)return 0;t[0]=e.substr(0,r).trim();for(var n=1,i=r+1;;n++){var a=e.indexOf(",",i);if(-1==a)return t[n]=e.substr(i).trim(),n;if(t[n]=e.substr(i,a-i).trim(),i=a+1,4==n)return 4}},t}(),tj=function(){function e(e){this.minFilter=t.TextureFilter.Nearest,this.magFilter=t.TextureFilter.Nearest,this.uWrap=t.TextureWrap.ClampToEdge,this.vWrap=t.TextureWrap.ClampToEdge,this.texture=null,this.width=0,this.height=0,this.pma=!1,this.regions=[],this.name=e}return e.prototype.setTexture=function(t){this.texture=t,t.setFilters(this.minFilter,this.magFilter),t.setWraps(this.uWrap,this.vWrap);for(var e,r=o(this.regions);!(e=r()).done;)e.value.texture=t},e}(),tH=function(t){function e(e,r){var n;return(n=t.call(this)||this).x=0,n.y=0,n.offsetX=0,n.offsetY=0,n.originalWidth=0,n.originalHeight=0,n.index=0,n.degrees=0,n.names=null,n.values=null,n.page=e,n.name=r,e.regions.push(n),n}return n(e,t),e}(tU),tK=function(t){function e(e,r){var n;return(n=t.call(this,e)||this).region=null,n.regionUVs=[],n.uvs=[],n.triangles=[],n.color=new I(1,1,1,1),n.width=0,n.height=0,n.hullLength=0,n.edges=[],n.parentMesh=null,n.sequence=null,n.tempColor=new I(0,0,0,0),n.path=r,n}n(e,t);var r=e.prototype;return r.updateRegion=function(){if(!this.region)throw Error("Region not set.");var t=this.regionUVs;this.uvs&&this.uvs.length==t.length||(this.uvs=C.newFloatArray(t.length));var e=this.uvs,r=this.uvs.length,n=this.region.u,a=this.region.v,s=0,o=0;if(i(this.region,tH)){var h=this.region,l=h.page,c=l.width,u=l.height;switch(h.degrees){case 90:n-=(h.originalHeight-h.offsetY-h.height)/c,a-=(h.originalWidth-h.offsetX-h.width)/u,s=h.originalHeight/c,o=h.originalWidth/u;for(var d=0;d<r;d+=2)e[d]=n+t[d+1]*s,e[d+1]=a+(1-t[d])*o;return;case 180:n-=(h.originalWidth-h.offsetX-h.width)/c,a-=h.offsetY/u,s=h.originalWidth/c,o=h.originalHeight/u;for(var f=0;f<r;f+=2)e[f]=n+(1-t[f])*s,e[f+1]=a+(1-t[f+1])*o;return;case 270:n-=h.offsetY/c,a-=h.offsetX/u,s=h.originalHeight/c,o=h.originalWidth/u;for(var m=0;m<r;m+=2)e[m]=n+(1-t[m+1])*s,e[m+1]=a+t[m]*o;return}n-=h.offsetX/c,a-=(h.originalHeight-h.offsetY-h.height)/u,s=h.originalWidth/c,o=h.originalHeight/u}else this.region?(s=this.region.u2-n,o=this.region.v2-a):(n=a=0,s=o=1);for(var v=0;v<r;v+=2)e[v]=n+t[v]*s,e[v+1]=a+t[v+1]*o},r.getParentMesh=function(){return this.parentMesh},r.setParentMesh=function(t){this.parentMesh=t,t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)},r.copy=function(){if(this.parentMesh)return this.newLinkedMesh();var t=new e(this.name,this.path);return t.region=this.region,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=Array(this.regionUVs.length),C.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=Array(this.uvs.length),C.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=Array(this.triangles.length),C.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,t.sequence=null!=this.sequence?this.sequence.copy():null,this.edges&&(t.edges=Array(this.edges.length),C.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t},r.computeWorldVertices=function(e,r,n,i,a,s){null!=this.sequence&&this.sequence.apply(e,this),t.prototype.computeWorldVertices.call(this,e,r,n,i,a,s)},r.newLinkedMesh=function(){var t=new e(this.name,this.path);return t.region=this.region,t.color.setFromColor(this.color),t.timelineAttachment=this.timelineAttachment,t.setParentMesh(this.parentMesh?this.parentMesh:this),null!=t.region&&t.updateRegion(),t},e}(V),tJ=function(t){function e(e){var r;return(r=t.call(this,e)||this).lengths=[],r.closed=!1,r.constantSpeed=!1,r.color=new I(1,1,1,1),r}return n(e,t),e.prototype.copy=function(){var t=new e(this.name);return this.copyTo(t),t.lengths=Array(this.lengths.length),C.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t},e}(V),tQ=function(t){function e(e){var r;return(r=t.call(this,e)||this).x=0,r.y=0,r.rotation=0,r.color=new I(.38,.94,0,1),r}n(e,t);var r=e.prototype;return r.computeWorldPosition=function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e},r.computeWorldRotation=function(t){var e=this.rotation*B.degRad,r=Math.cos(e),n=Math.sin(e),i=r*t.a+n*t.b,a=r*t.c+n*t.d;return B.atan2Deg(a,i)},r.copy=function(){var t=new e(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t},e}(V),t$=function(t){function e(e,r){var n;return(n=t.call(this,e)||this).x=0,n.y=0,n.scaleX=1,n.scaleY=1,n.rotation=0,n.width=0,n.height=0,n.color=new I(1,1,1,1),n.region=null,n.sequence=null,n.offset=C.newFloatArray(8),n.uvs=C.newFloatArray(8),n.tempColor=new I(1,1,1,1),n.path=r,n}n(e,t);var r=e.prototype;return r.updateRegion=function(){if(!this.region)throw Error("Region not set.");var t=this.region,e=this.uvs;if(null==t){e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=1,e[5]=1,e[6]=1,e[7]=0;return}var r=this.width/this.region.originalWidth*this.scaleX,n=this.height/this.region.originalHeight*this.scaleY,i=-this.width/2*this.scaleX+this.region.offsetX*r,a=-this.height/2*this.scaleY+this.region.offsetY*n,s=i+this.region.width*r,o=a+this.region.height*n,h=this.rotation*B.degRad,l=Math.cos(h),c=Math.sin(h),u=this.x,d=this.y,f=i*l+u,m=i*c,v=a*l+d,p=a*c,g=s*l+u,x=s*c,b=o*l+d,y=o*c,w=this.offset;w[0]=f-p,w[1]=v+m,w[2]=f-y,w[3]=b+m,w[4]=g-y,w[5]=b+x,w[6]=g-p,w[7]=v+x,90==t.degrees?(e[0]=t.u2,e[1]=t.v2,e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)},r.computeWorldVertices=function(t,e,r,n){null!=this.sequence&&this.sequence.apply(t,this);var i=t.bone,a=this.offset,s=i.worldX,o=i.worldY,h=i.a,l=i.b,c=i.c,u=i.d,d=0,f=0;d=a[0],f=a[1],e[r]=d*h+f*l+s,e[r+1]=d*c+f*u+o,r+=n,d=a[2],f=a[3],e[r]=d*h+f*l+s,e[r+1]=d*c+f*u+o,r+=n,d=a[4],f=a[5],e[r]=d*h+f*l+s,e[r+1]=d*c+f*u+o,r+=n,d=a[6],f=a[7],e[r]=d*h+f*l+s,e[r+1]=d*c+f*u+o},r.copy=function(){var t=new e(this.name,this.path);return t.region=this.region,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,C.arrayCopy(this.uvs,0,t.uvs,0,8),C.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t.sequence=null!=this.sequence?this.sequence.copy():null,t},e}(X);t$.X1=0,t$.Y1=1,t$.C1R=2,t$.C1G=3,t$.C1B=4,t$.C1A=5,t$.U1=6,t$.V1=7,t$.X2=8,t$.Y2=9,t$.C2R=10,t$.C2G=11,t$.C2B=12,t$.C2A=13,t$.U2=14,t$.V2=15,t$.X3=16,t$.Y3=17,t$.C3R=18,t$.C3G=19,t$.C3B=20,t$.C3A=21,t$.U3=22,t$.V3=23,t$.X4=24,t$.Y4=25,t$.C4R=26,t$.C4G=27,t$.C4B=28,t$.C4A=29,t$.U4=30,t$.V4=31;var tZ=function(){function t(t){this.atlas=t}var e=t.prototype;return e.loadSequence=function(t,e,r){for(var n=r.regions,i=0,a=n.length;i<a;i++){var s=r.getPath(e,i),o=this.atlas.findRegion(s);if(null==o)throw Error("Region not found in atlas: "+s+" (sequence: "+t+")");n[i]=o}},e.newRegionAttachment=function(t,e,r,n){var i=new t$(e,r);if(null!=n)this.loadSequence(e,r,n);else{var a=this.atlas.findRegion(r);if(!a)throw Error("Region not found in atlas: "+r+" (region attachment: "+e+")");i.region=a}return i},e.newMeshAttachment=function(t,e,r,n){var i=new tK(e,r);if(null!=n)this.loadSequence(e,r,n);else{var a=this.atlas.findRegion(r);if(!a)throw Error("Region not found in atlas: "+r+" (mesh attachment: "+e+")");i.region=a}return i},e.newBoundingBoxAttachment=function(t,e){return new tN(e)},e.newPathAttachment=function(t,e){return new tJ(e)},e.newPointAttachment=function(t,e){return new tQ(e)},e.newClippingAttachment=function(t,e){return new tL(e)},t}(),t0=function(e,r,n){if(this.index=0,this.parent=null,this.length=0,this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.inherit=t.Inherit.Normal,this.skinRequired=!1,this.color=new I,this.visible=!1,e<0)throw Error("index must be >= 0.");if(!r)throw Error("name cannot be null.");this.index=e,this.name=r,this.parent=n};t.Inherit=void 0,(m=t.Inherit||(t.Inherit={}))[m.Normal=0]="Normal",m[m.OnlyTranslation=1]="OnlyTranslation",m[m.NoRotationOrReflection=2]="NoRotationOrReflection",m[m.NoScale=3]="NoScale",m[m.NoScaleOrReflection=4]="NoScaleOrReflection";var t1=function(){function e(e,r,n){if(this.parent=null,this.children=[],this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.inherit=t.Inherit.Normal,this.sorted=!1,this.active=!1,!e)throw Error("data cannot be null.");if(!r)throw Error("skeleton cannot be null.");this.data=e,this.skeleton=r,this.parent=n,this.setToSetupPose()}var r=e.prototype;return r.isActive=function(){return this.active},r.update=function(t){this.updateWorldTransformWith(this.ax,this.ay,this.arotation,this.ascaleX,this.ascaleY,this.ashearX,this.ashearY)},r.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},r.updateWorldTransformWith=function(e,r,n,i,a,s,o){this.ax=e,this.ay=r,this.arotation=n,this.ascaleX=i,this.ascaleY=a,this.ashearX=s,this.ashearY=o;var h=this.parent;if(!h){var l=this.skeleton,c=l.scaleX,u=l.scaleY,d=(n+s)*B.degRad,f=(n+90+o)*B.degRad;this.a=Math.cos(d)*i*c,this.b=Math.cos(f)*a*c,this.c=Math.sin(d)*i*u,this.d=Math.sin(f)*a*u,this.worldX=e*c+l.x,this.worldY=r*u+l.y;return}var m=h.a,v=h.b,p=h.c,g=h.d;switch(this.worldX=m*e+v*r+h.worldX,this.worldY=p*e+g*r+h.worldY,this.inherit){case t.Inherit.Normal:var x=(n+s)*B.degRad,b=(n+90+o)*B.degRad,y=Math.cos(x)*i,w=Math.cos(b)*a,M=Math.sin(x)*i,S=Math.sin(b)*a;this.a=m*y+v*M,this.b=m*w+v*S,this.c=p*y+g*M,this.d=p*w+g*S;return;case t.Inherit.OnlyTranslation:var k=(n+s)*B.degRad,I=(n+90+o)*B.degRad;this.a=Math.cos(k)*i,this.b=Math.cos(I)*a,this.c=Math.sin(k)*i,this.d=Math.sin(I)*a;break;case t.Inherit.NoRotationOrReflection:var A=1/this.skeleton.scaleX,T=1/this.skeleton.scaleY,F=(m*=A)*m+(p*=T)*p,C=0;F>1e-4?(F=Math.abs(m*g*T-v*A*p)/F,v=p*F,g=m*F,C=Math.atan2(p,m)*B.radDeg):(m=0,p=0,C=90-Math.atan2(g,v)*B.radDeg);var E=(n+s-C)*B.degRad,P=(n+o-C+90)*B.degRad,R=Math.cos(E)*i,Y=Math.cos(P)*a,_=Math.sin(E)*i,X=Math.sin(P)*a;this.a=m*R-v*_,this.b=m*Y-v*X,this.c=p*R+g*_,this.d=p*Y+g*X;break;case t.Inherit.NoScale:case t.Inherit.NoScaleOrReflection:var V=Math.cos(n*=B.degRad),D=Math.sin(n),O=(m*V+v*D)/this.skeleton.scaleX,N=(p*V+g*D)/this.skeleton.scaleY,L=Math.sqrt(O*O+N*N);L>1e-5&&(L=1/L),O*=L,N*=L,L=Math.sqrt(O*O+N*N),this.inherit==t.Inherit.NoScale&&m*g-v*p<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(L=-L);var q=Math.cos(n=Math.PI/2+Math.atan2(N,O))*L,U=Math.sin(n)*L;s*=B.degRad,o=(90+o)*B.degRad;var W=Math.cos(s)*i,z=Math.cos(o)*a,G=Math.sin(s)*i,j=Math.sin(o)*a;this.a=O*W+q*G,this.b=O*z+q*j,this.c=N*W+U*G,this.d=N*z+U*j}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY},r.setToSetupPose=function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY,this.inherit=t.inherit},r.updateAppliedTransform=function(){var e,r,n,i,a=this.parent;if(!a){this.ax=this.worldX-this.skeleton.x,this.ay=this.worldY-this.skeleton.y,this.arotation=Math.atan2(this.c,this.a)*B.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*B.radDeg;return}var s=a.a,o=a.b,h=a.c,l=a.d,c=1/(s*l-o*h),u=l*c,d=o*c,f=h*c,m=s*c,v=this.worldX-a.worldX,p=this.worldY-a.worldY;if(this.ax=v*u-p*d,this.ay=p*m-v*f,this.inherit==t.Inherit.OnlyTranslation)e=this.a,r=this.b,n=this.c,i=this.d;else{switch(this.inherit){case t.Inherit.NoRotationOrReflection:var g=Math.abs(s*l-o*h)/(s*s+h*h);o=-h*this.skeleton.scaleX*g/this.skeleton.scaleY,l=s*this.skeleton.scaleY*g/this.skeleton.scaleX,c=1/(s*l-o*h),u=l*c,d=o*c;break;case t.Inherit.NoScale:case t.Inherit.NoScaleOrReflection:var x=B.cosDeg(this.rotation),b=B.sinDeg(this.rotation),y=Math.sqrt((s=(s*x+o*b)/this.skeleton.scaleX)*s+(h=(h*x+l*b)/this.skeleton.scaleY)*h);y>1e-5&&(y=1/y),s*=y,h*=y,y=Math.sqrt(s*s+h*h),this.inherit==t.Inherit.NoScale&&c<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(y=-y);var w=B.PI/2+Math.atan2(h,s);o=Math.cos(w)*y,c=1/(s*(l=Math.sin(w)*y)-o*h),u=l*c,d=o*c,f=h*c,m=s*c}e=u*this.a-d*this.c,r=u*this.b-d*this.d,n=m*this.c-f*this.a,i=m*this.d-f*this.b}if(this.ashearX=0,this.ascaleX=Math.sqrt(e*e+n*n),this.ascaleX>1e-4){var M=e*i-r*n;this.ascaleY=M/this.ascaleX,this.ashearY=-Math.atan2(e*r+n*i,M)*B.radDeg,this.arotation=Math.atan2(n,e)*B.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(r*r+i*i),this.ashearY=0,this.arotation=90-Math.atan2(i,r)*B.radDeg},r.getWorldRotationX=function(){return Math.atan2(this.c,this.a)*B.radDeg},r.getWorldRotationY=function(){return Math.atan2(this.d,this.b)*B.radDeg},r.getWorldScaleX=function(){return Math.sqrt(this.a*this.a+this.c*this.c)},r.getWorldScaleY=function(){return Math.sqrt(this.b*this.b+this.d*this.d)},r.worldToLocal=function(t){var e=1/(this.a*this.d-this.b*this.c),r=t.x-this.worldX,n=t.y-this.worldY;return t.x=r*this.d*e-n*this.b*e,t.y=n*this.a*e-r*this.c*e,t},r.localToWorld=function(t){var e=t.x,r=t.y;return t.x=e*this.a+r*this.b+this.worldX,t.y=e*this.c+r*this.d+this.worldY,t},r.worldToParent=function(t){if(null==t)throw Error("world cannot be null.");return null==this.parent?t:this.parent.worldToLocal(t)},r.parentToWorld=function(t){if(null==t)throw Error("world cannot be null.");return null==this.parent?t:this.parent.localToWorld(t)},r.worldToLocalRotation=function(t){var e=B.sinDeg(t),r=B.cosDeg(t);return Math.atan2(this.a*e-this.c*r,this.d*r-this.b*e)*B.radDeg+this.rotation-this.shearX},r.localToWorldRotation=function(t){t-=this.rotation-this.shearX;var e=B.sinDeg(t),r=B.cosDeg(t);return Math.atan2(r*this.c+e*this.d,r*this.a+e*this.b)*B.radDeg},r.rotateWorld=function(t){var e=Math.sin(t*=B.degRad),r=Math.cos(t),n=this.a,i=this.b;this.a=r*n-e*this.c,this.b=r*i-e*this.d,this.c=e*n+r*this.c,this.d=e*i+r*this.d},e}(),t2=function(t,e,r){this.name=t,this.order=e,this.skinRequired=r},t3=function(){function t(t,e,r){void 0===e&&(e=""),void 0===r&&(r=new t5),this.pathPrefix="",this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.textureLoader=t,this.pathPrefix=e,this.downloader=r}var e=t.prototype;return e.start=function(t){return this.toLoad++,this.pathPrefix+t},e.success=function(t,e,r){this.toLoad--,this.loaded++,this.assets[e]=r,t&&t(e,r)},e.error=function(t,e,r){this.toLoad--,this.loaded++,this.errors[e]=r,t&&t(e,r)},e.loadAll=function(){var t=this;return new Promise(function(e,r){var n=function(){if(t.isLoadingComplete()){t.hasErrors()?r(t.errors):e(t);return}requestAnimationFrame(n)};requestAnimationFrame(n)})},e.setRawDataURI=function(t,e){this.downloader.rawDataUris[this.pathPrefix+t]=e},e.loadBinary=function(t,e,r){var n=this;void 0===e&&(e=function(){}),void 0===r&&(r=function(){}),t=this.start(t),this.downloader.downloadBinary(t,function(r){n.success(e,t,r)},function(e,i){n.error(r,t,"Couldn't load binary "+t+": status "+e+", "+i)})},e.loadText=function(t,e,r){var n=this;void 0===e&&(e=function(){}),void 0===r&&(r=function(){}),t=this.start(t),this.downloader.downloadText(t,function(r){n.success(e,t,r)},function(e,i){n.error(r,t,"Couldn't load text "+t+": status "+e+", "+i)})},e.loadJson=function(t,e,r){var n=this;void 0===e&&(e=function(){}),void 0===r&&(r=function(){}),t=this.start(t),this.downloader.downloadJson(t,function(r){n.success(e,t,r)},function(e,i){n.error(r,t,"Couldn't load JSON "+t+": status "+e+", "+i)})},e.loadTexture=function(t,e,r){var n=this;if(void 0===e&&(e=function(){}),void 0===r&&(r=function(){}),t=this.start(t),"undefined"!=typeof window&&"undefined"!=typeof navigator&&window.document){var i=new Image;i.crossOrigin="anonymous",i.onload=function(){n.success(e,t,n.textureLoader(i))},i.onerror=function(){n.error(r,t,"Couldn't load image: "+t)},this.downloader.rawDataUris[t]&&(t=this.downloader.rawDataUris[t]),i.src=t}else fetch(t,{mode:"cors"}).then(function(e){return e.ok?e.blob():(n.error(r,t,"Couldn't load image: "+t),null)}).then(function(t){return t?createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}):null}).then(function(r){r&&n.success(e,t,n.textureLoader(r))})},e.loadTextureAtlas=function(t,e,r,n){var i=this;void 0===e&&(e=function(){}),void 0===r&&(r=function(){});var a=t.lastIndexOf("/"),s=a>=0?t.substring(0,a+1):"";t=this.start(t),this.downloader.downloadText(t,function(a){try{for(var h,l=new tz(a),c=l.pages.length,u=!1,d=o(l.pages);!(h=d()).done;)!function(){var a=h.value;i.loadTexture(n?n[a.name]:s+a.name,function(r,n){u||(a.setTexture(n),0==--c&&i.success(e,t,l))},function(e,n){u||i.error(r,t,"Couldn't load texture atlas "+t+" page image: "+e),u=!0})}()}catch(e){i.error(r,t,"Couldn't parse texture atlas "+t+": "+e.message)}},function(e,n){i.error(r,t,"Couldn't load texture atlas "+t+": status "+e+", "+n)})},e.get=function(t){return this.assets[this.pathPrefix+t]},e.require=function(t){t=this.pathPrefix+t;var e=this.assets[t];if(e)return e;var r=this.errors[t];throw Error("Asset not found: "+t+(r?"\n"+r:""))},e.remove=function(t){t=this.pathPrefix+t;var e=this.assets[t];return e.dispose&&e.dispose(),delete this.assets[t],e},e.removeAll=function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}},e.isLoadingComplete=function(){return 0==this.toLoad},e.getToLoad=function(){return this.toLoad},e.getLoaded=function(){return this.loaded},e.dispose=function(){this.removeAll()},e.hasErrors=function(){return Object.keys(this.errors).length>0},e.getErrors=function(){return this.errors},t}(),t5=function(){function t(){this.callbacks={},this.rawDataUris={}}var e=t.prototype;return e.dataUriToString=function(t){if(!t.startsWith("data:"))throw Error("Not a data URI.");var e=t.indexOf("base64,");return -1!=e?(e+=7,atob(t.substr(e))):t.substr(t.indexOf(",")+1)},e.base64ToUint8Array=function(t){for(var e=window.atob(t),r=e.length,n=new Uint8Array(r),i=0;i<r;i++)n[i]=e.charCodeAt(i);return n},e.dataUriToUint8Array=function(t){if(!t.startsWith("data:"))throw Error("Not a data URI.");var e=t.indexOf("base64,");if(-1==e)throw Error("Not a binary data URI.");return e+=7,this.base64ToUint8Array(t.substr(e))},e.downloadText=function(t,e,r){var n=this;if(!this.start(t,e,r)){if(this.rawDataUris[t]){try{var i=this.rawDataUris[t];this.finish(t,200,this.dataUriToString(i))}catch(e){this.finish(t,400,JSON.stringify(e))}return}var a=new XMLHttpRequest;a.overrideMimeType("text/html"),a.open("GET",t,!0);var s=function(){n.finish(t,a.status,a.responseText)};a.onload=s,a.onerror=s,a.send()}},e.downloadJson=function(t,e,r){this.downloadText(t,function(t){e(JSON.parse(t))},r)},e.downloadBinary=function(t,e,r){var n=this;if(!this.start(t,e,r)){if(this.rawDataUris[t]){try{var i=this.rawDataUris[t];this.finish(t,200,this.dataUriToUint8Array(i))}catch(e){this.finish(t,400,JSON.stringify(e))}return}var a=new XMLHttpRequest;a.open("GET",t,!0),a.responseType="arraybuffer";var s=function(){n.finish(t,a.status,a.response)};a.onload=function(){200==a.status||0==a.status?n.finish(t,200,new Uint8Array(a.response)):s()},a.onerror=s,a.send()}},e.start=function(t,e,r){var n=this.callbacks[t];try{if(n)return!0;this.callbacks[t]=n=[]}finally{n.push(e,r)}},e.finish=function(t,e,r){var n=this.callbacks[t];delete this.callbacks[t];for(var i=200==e||0==e?[r]:[e,r],a=i.length-1,s=n.length;a<s;a+=2)n[a].apply(null,i)},t}(),t6=function(t,e){if(this.intValue=0,this.floatValue=0,this.stringValue=null,this.time=0,this.volume=0,this.balance=0,!e)throw Error("data cannot be null.");this.time=t,this.data=e},t8=function(t){this.intValue=0,this.floatValue=0,this.stringValue=null,this.audioPath=null,this.volume=0,this.balance=0,this.name=t},t4=function(){function e(t,e){if(this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!1,!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.bones=[];for(var r=0;r<t.bones.length;r++){var n=e.findBone(t.bones[r].name);if(!n)throw Error("Couldn't find bone "+t.bones[r].name);this.bones.push(n)}var i=e.findBone(t.target.name);if(!i)throw Error("Couldn't find bone "+t.target.name);this.target=i,this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}var r=e.prototype;return r.isActive=function(){return this.active},r.setToSetupPose=function(){var t=this.data;this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch},r.update=function(t){if(0!=this.mix){var e=this.target,r=this.bones;switch(r.length){case 1:this.apply1(r[0],e.worldX,e.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(r[0],r[1],e.worldX,e.worldY,this.bendDirection,this.stretch,this.data.uniform,this.softness,this.mix)}}},r.apply1=function(e,r,n,i,a,s,o){var h=e.parent;if(!h)throw Error("IK bone must have parent.");var l=h.a,c=h.b,u=h.c,d=h.d,f=-e.ashearX-e.arotation,m=0,v=0;switch(e.inherit){case t.Inherit.OnlyTranslation:m=(r-e.worldX)*B.signum(e.skeleton.scaleX),v=(n-e.worldY)*B.signum(e.skeleton.scaleY);break;case t.Inherit.NoRotationOrReflection:var p=Math.abs(l*d-c*u)/Math.max(1e-4,l*l+u*u),g=l/e.skeleton.scaleX,x=u/e.skeleton.scaleY;c=-x*p*e.skeleton.scaleX,d=g*p*e.skeleton.scaleY,f+=Math.atan2(x,g)*B.radDeg;default:var b=r-h.worldX,y=n-h.worldY,w=l*d-c*u;1e-4>=Math.abs(w)?(m=0,v=0):(m=(b*d-y*c)/w-e.ax,v=(y*l-b*u)/w-e.ay)}f+=Math.atan2(v,m)*B.radDeg,e.ascaleX<0&&(f+=180),f>180?f-=360:f<-180&&(f+=360);var M=e.ascaleX,S=e.ascaleY;if(i||a){switch(e.inherit){case t.Inherit.NoScale:case t.Inherit.NoScaleOrReflection:m=r-e.worldX,v=n-e.worldY}var k=e.data.length*M;if(k>1e-4){var I=m*m+v*v;if(i&&I<k*k||a&&I>k*k){var A=(Math.sqrt(I)/k-1)*o+1;M*=A,s&&(S*=A)}}}e.updateWorldTransformWith(e.ax,e.ay,e.arotation+f*o,M,S,e.ashearX,e.ashearY)},r.apply2=function(e,r,n,i,a,s,o,h,l){if(e.inherit==t.Inherit.Normal&&r.inherit==t.Inherit.Normal){var c=e.ax,u=e.ay,d=e.ascaleX,f=e.ascaleY,m=d,v=f,p=r.ascaleX,g=0,x=0,b=0;d<0?(d=-d,g=180,b=-1):(g=0,b=1),f<0&&(f=-f,b=-b),p<0?(p=-p,x=180):x=0;var y=r.ax,w=0,M=0,S=0,k=e.a,I=e.b,A=e.c,T=e.d,F=1e-4>=Math.abs(d-f);!F||s?(w=0,M=k*y+e.worldX,S=A*y+e.worldY):(M=k*y+I*(w=r.ay)+e.worldX,S=A*y+T*w+e.worldY);var C=e.parent;if(!C)throw Error("IK parent must itself have a parent.");k=C.a,I=C.b,A=C.c;var E,P,R=k*(T=C.d)-I*A,Y=M-C.worldX,_=S-C.worldY,X=(Y*T-_*I)*(R=1e-4>=Math.abs(R)?0:1/R)-c,V=(_*k-Y*A)*R-u,D=Math.sqrt(X*X+V*V),O=r.data.length*p;if(D<1e-4){this.apply1(e,n,i,!1,s,!1,l),r.updateWorldTransformWith(y,w,0,r.ascaleX,r.ascaleY,r.ashearX,r.ashearY);return}var N=((Y=n-C.worldX)*T-(_=i-C.worldY)*I)*R-c,L=(_*k-Y*A)*R-u,q=N*N+L*L;if(0!=h){h*=d*(p+1)*.5;var U=Math.sqrt(q),W=U-D-O*d+h;if(W>0){var z=Math.min(1,W/(2*h))-1;z=(W-h*(1-z*z))/U,N-=z*N,L-=z*L,q=N*N+L*L}}t:if(F){var G=(q-D*D-(O*=d)*O)/(2*D*O);G<-1?(G=-1,P=Math.PI*a):G>1?(G=1,P=0,s&&(m*=k=(Math.sqrt(q)/(D+O)-1)*l+1,o&&(v*=k))):P=Math.acos(G)*a,E=Math.atan2(L*(k=D+O*G)-N*(I=O*Math.sin(P)),N*k+L*I)}else{var j=(k=d*O)*k,H=(I=f*O)*I,K=Math.atan2(L,N);A=H*D*D+j*q-j*H;var J=-2*H*D,Q=H-j;if((T=J*J-4*Q*A)>=0){var $=Math.sqrt(T);J<0&&($=-$);var Z=($=-(.5*(J+$)))/Q,tt=A/$,te=Math.abs(Z)<Math.abs(tt)?Z:tt;if((Z=q-te*te)>=0){E=K-Math.atan2(_=Math.sqrt(Z)*a,te),P=Math.atan2(_/f,(te-D)/d);break t}}var tr=B.PI,tn=D-k,ti=tn*tn,ta=0,ts=0,to=D+k,th=to*to,tl=0;(A=-k*D/(j-H))>=-1&&A<=1&&((T=(Y=k*Math.cos(A=Math.acos(A))+D)*Y+(_=I*Math.sin(A))*_)<ti&&(tr=A,ti=T,tn=Y,ta=_),T>th&&(ts=A,th=T,to=Y,tl=_)),q<=(ti+th)*.5?(E=K-Math.atan2(ta*a,tn),P=tr*a):(E=K-Math.atan2(tl*a,to),P=ts*a)}var tc=Math.atan2(w,y)*b,tu=e.arotation;(E=(E-tc)*B.radDeg+g-tu)>180?E-=360:E<-180&&(E+=360),e.updateWorldTransformWith(c,u,tu+E*l,m,v,0,0),tu=r.arotation,(P=((P+tc)*B.radDeg-r.ashearX)*b+x-tu)>180?P-=360:P<-180&&(P+=360),r.updateWorldTransformWith(y,w,tu+P*l,r.ascaleX,r.ascaleY,r.ashearX,r.ashearY)}},e}(),t7=function(t){function e(e){var r;return(r=t.call(this,e,0,!1)||this).bones=[],r._target=null,r.bendDirection=0,r.compress=!1,r.stretch=!1,r.uniform=!1,r.mix=0,r.softness=0,r}return n(e,t),tA(e,[{key:"target",get:function(){if(this._target)return this._target;throw Error("BoneData not set.")},set:function(t){this._target=t}}]),e}(t2),t9=function(e){function r(r){var n;return(n=e.call(this,r,0,!1)||this).bones=[],n._target=null,n.positionMode=t.PositionMode.Fixed,n.spacingMode=t.SpacingMode.Fixed,n.rotateMode=t.RotateMode.Chain,n.offsetRotation=0,n.position=0,n.spacing=0,n.mixRotate=0,n.mixX=0,n.mixY=0,n}return n(r,e),tA(r,[{key:"target",get:function(){if(this._target)return this._target;throw Error("SlotData not set.")},set:function(t){this._target=t}}]),r}(t2);t.PositionMode=void 0,(v=t.PositionMode||(t.PositionMode={}))[v.Fixed=0]="Fixed",v[v.Percent=1]="Percent",t.SpacingMode=void 0,(p=t.SpacingMode||(t.SpacingMode={}))[p.Length=0]="Length",p[p.Fixed=1]="Fixed",p[p.Percent=2]="Percent",p[p.Proportional=3]="Proportional",t.RotateMode=void 0,(g=t.RotateMode||(t.RotateMode={}))[g.Tangent=0]="Tangent",g[g.Chain=1]="Chain",g[g.ChainScale=2]="ChainScale";var et=function(){function e(t,e){if(this.position=0,this.spacing=0,this.mixRotate=0,this.mixX=0,this.mixY=0,this.spaces=[],this.positions=[],this.world=[],this.curves=[],this.lengths=[],this.segments=[],this.active=!1,!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.bones=[];for(var r=0,n=t.bones.length;r<n;r++){var i=e.findBone(t.bones[r].name);if(!i)throw Error("Couldn't find bone "+t.bones[r].name+".");this.bones.push(i)}var a=e.findSlot(t.target.name);if(!a)throw Error("Couldn't find target bone "+t.target.name);this.target=a,this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}var r=e.prototype;return r.isActive=function(){return this.active},r.setToSetupPose=function(){var t=this.data;this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY},r.update=function(r){var n=this.target.getAttachment();if(i(n,tJ)){var a=this.mixRotate,s=this.mixX,o=this.mixY;if(0!=a||0!=s||0!=o){var h=this.data,l=h.rotateMode==t.RotateMode.Tangent,c=h.rotateMode==t.RotateMode.ChainScale,u=this.bones,d=u.length,f=l?d:d+1,m=C.setArraySize(this.spaces,f),v=c?this.lengths=C.setArraySize(this.lengths,d):[],p=this.spacing;switch(h.spacingMode){case t.SpacingMode.Percent:if(c)for(var g=0,x=f-1;g<x;g++){var b=u[g],y=b.data.length,w=y*b.a,M=y*b.c;v[g]=Math.sqrt(w*w+M*M)}C.arrayFill(m,1,f,p);break;case t.SpacingMode.Proportional:for(var S=0,k=0,I=f-1;k<I;){var A=u[k],T=A.data.length;if(T<e.epsilon)c&&(v[k]=0),m[++k]=p;else{var F=T*A.a,E=T*A.c,P=Math.sqrt(F*F+E*E);c&&(v[k]=P),m[++k]=P,S+=P}}if(S>0){S=f/S*p;for(var R=1;R<f;R++)m[R]*=S}break;default:for(var Y=h.spacingMode==t.SpacingMode.Length,_=0,X=f-1;_<X;){var V=u[_],D=V.data.length;if(D<e.epsilon)c&&(v[_]=0),m[++_]=p;else{var O=D*V.a,N=D*V.c,L=Math.sqrt(O*O+N*N);c&&(v[_]=L),m[++_]=(Y?D+p:p)*L/D}}}var q=this.computeWorldPositions(n,f,l),U=q[0],W=q[1],z=h.offsetRotation,G=!1;if(0==z)G=h.rotateMode==t.RotateMode.Chain;else{G=!1;var j=this.target.bone;z*=j.a*j.d-j.b*j.c>0?B.degRad:-B.degRad}for(var H=0,K=3;H<d;H++,K+=3){var J=u[H];J.worldX+=(U-J.worldX)*s,J.worldY+=(W-J.worldY)*o;var Q=q[K],$=q[K+1],Z=Q-U,tt=$-W;if(c){var te=v[H];if(0!=te){var tr=(Math.sqrt(Z*Z+tt*tt)/te-1)*a+1;J.a*=tr,J.c*=tr}}if(U=Q,W=$,a>0){var tn=J.a,ti=J.b,ta=J.c,ts=J.d,to=0,th=0,tl=0;if(to=(l?q[K-1]:0==m[H+1]?q[K+2]:Math.atan2(tt,Z))-Math.atan2(ta,tn),G){th=Math.cos(to),tl=Math.sin(to);var tc=J.data.length;U+=(tc*(th*tn-tl*ta)-Z)*a,W+=(tc*(tl*tn+th*ta)-tt)*a}else to+=z;to>B.PI?to-=B.PI2:to<-B.PI&&(to+=B.PI2),to*=a,th=Math.cos(to),tl=Math.sin(to),J.a=th*tn-tl*ta,J.b=th*ti-tl*ts,J.c=tl*tn+th*ta,J.d=tl*ti+th*ts}J.updateAppliedTransform()}}}},r.computeWorldPositions=function(r,n,i){var a,s=this.target,o=this.position,h=this.spaces,l=C.setArraySize(this.positions,3*n+2),c=this.world,u=r.closed,d=r.worldVerticesLength,f=d/6,m=e.NONE;if(!r.constantSpeed){var v,p=r.lengths,g=p[f-=u?1:2];switch(this.data.positionMode==t.PositionMode.Percent&&(o*=g),this.data.spacingMode){case t.SpacingMode.Percent:v=g;break;case t.SpacingMode.Proportional:v=g/n;break;default:v=1}c=C.setArraySize(this.world,8);for(var x=0,b=0,y=0;x<n;x++,b+=3){var w=h[x]*v,M=o+=w;if(u)(M%=g)<0&&(M+=g),y=0;else if(M<0){m!=e.BEFORE&&(m=e.BEFORE,r.computeWorldVertices(s,2,4,c,0,2)),this.addBeforePosition(M,c,0,l,b);continue}else if(M>g){m!=e.AFTER&&(m=e.AFTER,r.computeWorldVertices(s,d-6,4,c,0,2)),this.addAfterPosition(M-g,c,0,l,b);continue}for(;;y++){var S=p[y];if(!(M>S)){if(0==y)M/=S;else{var k=p[y-1];M=(M-k)/(S-k)}break}}y!=m&&(m=y,u&&y==f?(r.computeWorldVertices(s,d-4,4,c,0,2),r.computeWorldVertices(s,0,4,c,4,2)):r.computeWorldVertices(s,6*y+2,8,c,0,2)),this.addCurvePosition(M,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],l,b,i||x>0&&0==w)}return l}u?(d+=2,c=C.setArraySize(this.world,d),r.computeWorldVertices(s,2,d-4,c,0,2),r.computeWorldVertices(s,0,2,c,d-4,2),c[d-2]=c[0],c[d-1]=c[1]):(f--,d-=4,c=C.setArraySize(this.world,d),r.computeWorldVertices(s,2,d,c,0,2));for(var I=C.setArraySize(this.curves,f),B=0,A=c[0],T=c[1],F=0,E=0,P=0,R=0,Y=0,_=0,X=0,V=0,D=0,O=0,N=0,L=0,q=0,U=0,W=0,z=2;W<f;W++,z+=6)F=c[z],E=c[z+1],P=c[z+2],R=c[z+3],Y=c[z+4],_=c[z+5],X=(A-2*F+P)*.1875,V=(T-2*E+R)*.1875,D=((F-P)*3-A+Y)*.09375,O=((E-R)*3-T+_)*.09375,N=2*X+D,L=2*V+O,B+=Math.sqrt((q=(F-A)*.75+X+.16666667*D)*q+(U=(E-T)*.75+V+.16666667*O)*U),q+=N,U+=L,N+=D,L+=O,B+=Math.sqrt(q*q+U*U),q+=N,U+=L,B+=Math.sqrt(q*q+U*U),q+=N+D,U+=L+O,B+=Math.sqrt(q*q+U*U),I[W]=B,A=Y,T=_;switch(this.data.positionMode==t.PositionMode.Percent&&(o*=B),this.data.spacingMode){case t.SpacingMode.Percent:a=B;break;case t.SpacingMode.Proportional:a=B/n;break;default:a=1}for(var G=this.segments,j=0,H=0,K=0,J=0,Q=0;H<n;H++,K+=3){var $=h[H]*a,Z=o+=$;if(u)(Z%=B)<0&&(Z+=B),J=0;else if(Z<0){this.addBeforePosition(Z,c,0,l,K);continue}else if(Z>B){this.addAfterPosition(Z-B,c,d-4,l,K);continue}for(;;J++){var tt=I[J];if(!(Z>tt)){if(0==J)Z/=tt;else{var te=I[J-1];Z=(Z-te)/(tt-te)}break}}if(J!=m){m=J;var tr=6*J;for(A=c[tr],T=c[tr+1],F=c[tr+2],E=c[tr+3],P=c[tr+4],R=c[tr+5],Y=c[tr+6],_=c[tr+7],X=(A-2*F+P)*.03,V=(T-2*E+R)*.03,D=((F-P)*3-A+Y)*.006,O=((E-R)*3-T+_)*.006,N=2*X+D,L=2*V+O,j=Math.sqrt((q=(F-A)*.3+X+.16666667*D)*q+(U=(E-T)*.3+V+.16666667*O)*U),G[0]=j,tr=1;tr<8;tr++)q+=N,U+=L,N+=D,L+=O,j+=Math.sqrt(q*q+U*U),G[tr]=j;q+=N,U+=L,j+=Math.sqrt(q*q+U*U),G[8]=j,q+=N+D,U+=L+O,j+=Math.sqrt(q*q+U*U),G[9]=j,Q=0}for(Z*=j;;Q++){var tn=G[Q];if(!(Z>tn)){if(0==Q)Z/=tn;else{var ti=G[Q-1];Z=Q+(Z-ti)/(tn-ti)}break}}this.addCurvePosition(.1*Z,A,T,F,E,P,R,Y,_,l,K,i||H>0&&0==$)}return l},r.addBeforePosition=function(t,e,r,n,i){var a=e[r],s=e[r+1],o=e[r+2]-a,h=Math.atan2(e[r+3]-s,o);n[i]=a+t*Math.cos(h),n[i+1]=s+t*Math.sin(h),n[i+2]=h},r.addAfterPosition=function(t,e,r,n,i){var a=e[r+2],s=e[r+3],o=a-e[r],h=Math.atan2(s-e[r+1],o);n[i]=a+t*Math.cos(h),n[i+1]=s+t*Math.sin(h),n[i+2]=h},r.addCurvePosition=function(t,e,r,n,i,a,s,o,h,l,c,u){if(0==t||isNaN(t)){l[c]=e,l[c+1]=r,l[c+2]=Math.atan2(i-r,n-e);return}var d=t*t,f=d*t,m=1-t,v=m*m,p=v*m,g=m*t,x=3*g,b=m*x,y=x*t,w=e*p+n*b+a*y+o*f,M=r*p+i*b+s*y+h*f;l[c]=w,l[c+1]=M,u&&(t<.001?l[c+2]=Math.atan2(i-r,n-e):l[c+2]=Math.atan2(M-(r*v+i*g*2+s*d),w-(e*v+n*g*2+a*d)))},e}();et.NONE=-1,et.BEFORE=-2,et.AFTER=-3,et.epsilon=1e-5;var ee=function(){function e(t,e){this._bone=null,this.inertia=0,this.strength=0,this.damping=0,this.massInverse=0,this.wind=0,this.gravity=0,this.mix=0,this._reset=!0,this.ux=0,this.uy=0,this.cx=0,this.cy=0,this.tx=0,this.ty=0,this.xOffset=0,this.xVelocity=0,this.yOffset=0,this.yVelocity=0,this.rotateOffset=0,this.rotateVelocity=0,this.scaleOffset=0,this.scaleVelocity=0,this.active=!1,this.remaining=0,this.lastTime=0,this.data=t,this.skeleton=e,this.bone=e.bones[t.bone.index],this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}var r=e.prototype;return r.reset=function(){this.remaining=0,this.lastTime=this.skeleton.time,this._reset=!0,this.xOffset=0,this.xVelocity=0,this.yOffset=0,this.yVelocity=0,this.rotateOffset=0,this.rotateVelocity=0,this.scaleOffset=0,this.scaleVelocity=0},r.setToSetupPose=function(){var t=this.data;this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix},r.isActive=function(){return this.active},r.update=function(e){var r=this.mix;if(0!=r){var n=this.data.x>0,i=this.data.y>0,a=this.data.rotate>0||this.data.shearX>0,s=this.data.scaleX>0,o=this.bone,h=o.data.length;switch(e){case t.Physics.none:return;case t.Physics.reset:this.reset();case t.Physics.update:var l=this.skeleton,c=Math.max(this.skeleton.time-this.lastTime,0);this.remaining+=c,this.lastTime=l.time;var u=o.worldX,d=o.worldY;if(this._reset)this._reset=!1,this.ux=u,this.uy=d;else{var f=this.remaining,m=this.inertia,v=this.data.step,p=this.skeleton.data.referenceScale,g=-1,x=this.data.limit*c,b=x*Math.abs(l.scaleY);if(x*=Math.abs(l.scaleX),n||i){if(n){var y=(this.ux-u)*m;this.xOffset+=y>x?x:y<-x?-x:y,this.ux=u}if(i){var w=(this.uy-d)*m;this.yOffset+=w>b?b:w<-b?-b:w,this.uy=d}if(f>=v){g=Math.pow(this.damping,60*v);var M=this.massInverse*v,S=this.strength,k=this.wind*p,I=(ei.yDown?-this.gravity:this.gravity)*p;do n&&(this.xVelocity+=(k-this.xOffset*S)*M,this.xOffset+=this.xVelocity*v,this.xVelocity*=g),i&&(this.yVelocity-=(I+this.yOffset*S)*M,this.yOffset+=this.yVelocity*v,this.yVelocity*=g),f-=v;while(f>=v)}n&&(o.worldX+=this.xOffset*r*this.data.x),i&&(o.worldY+=this.yOffset*r*this.data.y)}if(a||s){var A=Math.atan2(o.c,o.a),T=0,F=0,C=0,E=this.cx-o.worldX,P=this.cy-o.worldY;if(E>x?E=x:E<-x&&(E=-x),P>b?P=b:P<-b&&(P=-b),a){C=(this.data.rotate+this.data.shearX)*r;var R=Math.atan2(P+this.ty,E+this.tx)-A-this.rotateOffset*C;this.rotateOffset+=(R-Math.ceil(R*B.invPI2-.5)*B.PI2)*m,T=Math.cos(R=this.rotateOffset*C+A),F=Math.sin(R),s&&(R=h*o.getWorldScaleX())>0&&(this.scaleOffset+=(E*T+P*F)*m/R)}else{T=Math.cos(A),F=Math.sin(A);var Y=h*o.getWorldScaleX();Y>0&&(this.scaleOffset+=(E*T+P*F)*m/Y)}if((f=this.remaining)>=v){-1==g&&(g=Math.pow(this.damping,60*v));for(var _=this.massInverse*v,X=this.strength,V=this.wind,D=ei.yDown?-this.gravity:this.gravity,O=h/p;;)if(f-=v,s&&(this.scaleVelocity+=(V*T-D*F-this.scaleOffset*X)*_,this.scaleOffset+=this.scaleVelocity*v,this.scaleVelocity*=g),a){if(this.rotateVelocity-=((V*F+D*T)*O+this.rotateOffset*X)*_,this.rotateOffset+=this.rotateVelocity*v,this.rotateVelocity*=g,f<v)break;var N=this.rotateOffset*C+A;T=Math.cos(N),F=Math.sin(N)}else if(f<v)break}}this.remaining=f}this.cx=o.worldX,this.cy=o.worldY;break;case t.Physics.pose:n&&(o.worldX+=this.xOffset*r*this.data.x),i&&(o.worldY+=this.yOffset*r*this.data.y)}if(a){var L=this.rotateOffset*r,q=0,U=0,W=0;if(this.data.shearX>0){var z=0;this.data.rotate>0&&(q=Math.sin(z=L*this.data.rotate),U=Math.cos(z),W=o.b,o.b=U*W-q*o.d,o.d=q*W+U*o.d),z+=L*this.data.shearX,q=Math.sin(z),U=Math.cos(z),W=o.a,o.a=U*W-q*o.c,o.c=q*W+U*o.c}else L*=this.data.rotate,q=Math.sin(L),U=Math.cos(L),W=o.a,o.a=U*W-q*o.c,o.c=q*W+U*o.c,W=o.b,o.b=U*W-q*o.d,o.d=q*W+U*o.d}if(s){var G=1+this.scaleOffset*r*this.data.scaleX;o.a*=G,o.c*=G}e!=t.Physics.pose&&(this.tx=h*o.a,this.ty=h*o.c),o.updateAppliedTransform()}},r.translate=function(t,e){this.ux-=t,this.uy-=e,this.cx-=t,this.cy-=e},r.rotate=function(t,e,r){var n=r*B.degRad,i=Math.cos(n),a=Math.sin(n),s=this.cx-t,o=this.cy-e;this.translate(s*i-o*a-s,s*a+o*i-o)},tA(e,[{key:"bone",get:function(){if(this._bone)return this._bone;throw Error("Bone not set.")},set:function(t){this._bone=t}}]),e}(),er=function(){function t(t,e){if(this.darkColor=null,this.attachment=null,this.attachmentState=0,this.sequenceIndex=-1,this.deform=[],!t)throw Error("data cannot be null.");if(!e)throw Error("bone cannot be null.");this.data=t,this.bone=e,this.color=new I,this.darkColor=t.darkColor?new I:null,this.setToSetupPose()}var e=t.prototype;return e.getSkeleton=function(){return this.bone.skeleton},e.getAttachment=function(){return this.attachment},e.setAttachment=function(t){this.attachment!=t&&(i(t,V)&&i(this.attachment,V)&&t.timelineAttachment==this.attachment.timelineAttachment||(this.deform.length=0),this.attachment=t,this.sequenceIndex=-1)},e.setToSetupPose=function(){this.color.setFromColor(this.data.color),this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),this.data.attachmentName?(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName))):this.attachment=null},t}(),en=function(){function t(t,e){if(this.mixRotate=0,this.mixX=0,this.mixY=0,this.mixScaleX=0,this.mixScaleY=0,this.mixShearY=0,this.temp=new R,this.active=!1,!t)throw Error("data cannot be null.");if(!e)throw Error("skeleton cannot be null.");this.data=t,this.bones=[];for(var r=0;r<t.bones.length;r++){var n=e.findBone(t.bones[r].name);if(!n)throw Error("Couldn't find bone "+t.bones[r].name+".");this.bones.push(n)}var i=e.findBone(t.target.name);if(!i)throw Error("Couldn't find target bone "+t.target.name+".");this.target=i,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}var e=t.prototype;return e.isActive=function(){return this.active},e.setToSetupPose=function(){var t=this.data;this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY},e.update=function(t){(0!=this.mixRotate||0!=this.mixX||0!=this.mixY||0!=this.mixScaleX||0!=this.mixScaleY||0!=this.mixShearY)&&(this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld())},e.applyAbsoluteWorld=function(){for(var t=this.mixRotate,e=this.mixX,r=this.mixY,n=this.mixScaleX,i=this.mixScaleY,a=this.mixShearY,s=0!=e||0!=r,o=this.target,h=o.a,l=o.b,c=o.c,u=o.d,d=h*u-l*c>0?B.degRad:-B.degRad,f=this.data.offsetRotation*d,m=this.data.offsetShearY*d,v=this.bones,p=0,g=v.length;p<g;p++){var x=v[p];if(0!=t){var b=x.a,y=x.b,w=x.c,M=x.d,S=Math.atan2(c,h)-Math.atan2(w,b)+f;S>B.PI?S-=B.PI2:S<-B.PI&&(S+=B.PI2);var k=Math.cos(S*=t),I=Math.sin(S);x.a=k*b-I*w,x.b=k*y-I*M,x.c=I*b+k*w,x.d=I*y+k*M}if(s){var A=this.temp;o.localToWorld(A.set(this.data.offsetX,this.data.offsetY)),x.worldX+=(A.x-x.worldX)*e,x.worldY+=(A.y-x.worldY)*r}if(0!=n){var T=Math.sqrt(x.a*x.a+x.c*x.c);0!=T&&(T=(T+(Math.sqrt(h*h+c*c)-T+this.data.offsetScaleX)*n)/T),x.a*=T,x.c*=T}if(0!=i){var F=Math.sqrt(x.b*x.b+x.d*x.d);0!=F&&(F=(F+(Math.sqrt(l*l+u*u)-F+this.data.offsetScaleY)*i)/F),x.b*=F,x.d*=F}if(a>0){var C=x.b,E=x.d,P=Math.atan2(E,C),R=Math.atan2(u,l)-Math.atan2(c,h)-(P-Math.atan2(x.c,x.a));R>B.PI?R-=B.PI2:R<-B.PI&&(R+=B.PI2),R=P+(R+m)*a;var Y=Math.sqrt(C*C+E*E);x.b=Math.cos(R)*Y,x.d=Math.sin(R)*Y}x.updateAppliedTransform()}},e.applyRelativeWorld=function(){for(var t=this.mixRotate,e=this.mixX,r=this.mixY,n=this.mixScaleX,i=this.mixScaleY,a=this.mixShearY,s=0!=e||0!=r,o=this.target,h=o.a,l=o.b,c=o.c,u=o.d,d=h*u-l*c>0?B.degRad:-B.degRad,f=this.data.offsetRotation*d,m=this.data.offsetShearY*d,v=this.bones,p=0,g=v.length;p<g;p++){var x=v[p];if(0!=t){var b=x.a,y=x.b,w=x.c,M=x.d,S=Math.atan2(c,h)+f;S>B.PI?S-=B.PI2:S<-B.PI&&(S+=B.PI2);var k=Math.cos(S*=t),I=Math.sin(S);x.a=k*b-I*w,x.b=k*y-I*M,x.c=I*b+k*w,x.d=I*y+k*M}if(s){var A=this.temp;o.localToWorld(A.set(this.data.offsetX,this.data.offsetY)),x.worldX+=A.x*e,x.worldY+=A.y*r}if(0!=n){var T=(Math.sqrt(h*h+c*c)-1+this.data.offsetScaleX)*n+1;x.a*=T,x.c*=T}if(0!=i){var F=(Math.sqrt(l*l+u*u)-1+this.data.offsetScaleY)*i+1;x.b*=F,x.d*=F}if(a>0){var C=Math.atan2(u,l)-Math.atan2(c,h);C>B.PI?C-=B.PI2:C<-B.PI&&(C+=B.PI2);var E=x.b,P=x.d;C=Math.atan2(P,E)+(C-B.PI/2+m)*a;var R=Math.sqrt(E*E+P*P);x.b=Math.cos(C)*R,x.d=Math.sin(C)*R}x.updateAppliedTransform()}},e.applyAbsoluteLocal=function(){for(var t=this.mixRotate,e=this.mixX,r=this.mixY,n=this.mixScaleX,i=this.mixScaleY,a=this.mixShearY,s=this.target,o=this.bones,h=0,l=o.length;h<l;h++){var c=o[h],u=c.arotation;0!=t&&(u+=(s.arotation-u+this.data.offsetRotation)*t);var d=c.ax,f=c.ay;d+=(s.ax-d+this.data.offsetX)*e,f+=(s.ay-f+this.data.offsetY)*r;var m=c.ascaleX,v=c.ascaleY;0!=n&&0!=m&&(m=(m+(s.ascaleX-m+this.data.offsetScaleX)*n)/m),0!=i&&0!=v&&(v=(v+(s.ascaleY-v+this.data.offsetScaleY)*i)/v);var p=c.ashearY;0!=a&&(p+=(s.ashearY-p+this.data.offsetShearY)*a),c.updateWorldTransformWith(d,f,u,m,v,c.ashearX,p)}},e.applyRelativeLocal=function(){for(var t=this.mixRotate,e=this.mixX,r=this.mixY,n=this.mixScaleX,i=this.mixScaleY,a=this.mixShearY,s=this.target,o=this.bones,h=0,l=o.length;h<l;h++){var c=o[h],u=c.arotation+(s.arotation+this.data.offsetRotation)*t,d=c.ax+(s.ax+this.data.offsetX)*e,f=c.ay+(s.ay+this.data.offsetY)*r,m=c.ascaleX*((s.ascaleX-1+this.data.offsetScaleX)*n+1),v=c.ascaleY*((s.ascaleY-1+this.data.offsetScaleY)*i+1),p=c.ashearY+(s.ashearY+this.data.offsetShearY)*a;c.updateWorldTransformWith(d,f,u,m,v,c.ashearX,p)}},t}(),ei=function(){function t(t){if(this._updateCache=[],this.skin=null,this.scaleX=1,this._scaleY=1,this.x=0,this.y=0,this.time=0,!t)throw Error("data cannot be null.");this.data=t,this.bones=[];for(var e=0;e<t.bones.length;e++){var r=t.bones[e],n=void 0;if(r.parent){var i=this.bones[r.parent.index];n=new t1(r,this,i),i.children.push(n)}else n=new t1(r,this,null);this.bones.push(n)}this.slots=[],this.drawOrder=[];for(var a=0;a<t.slots.length;a++){var s=t.slots[a],o=this.bones[s.boneData.index],h=new er(s,o);this.slots.push(h),this.drawOrder.push(h)}this.ikConstraints=[];for(var l=0;l<t.ikConstraints.length;l++){var c=t.ikConstraints[l];this.ikConstraints.push(new t4(c,this))}this.transformConstraints=[];for(var u=0;u<t.transformConstraints.length;u++){var d=t.transformConstraints[u];this.transformConstraints.push(new en(d,this))}this.pathConstraints=[];for(var f=0;f<t.pathConstraints.length;f++){var m=t.pathConstraints[f];this.pathConstraints.push(new et(m,this))}this.physicsConstraints=[];for(var v=0;v<t.physicsConstraints.length;v++){var p=t.physicsConstraints[v];this.physicsConstraints.push(new ee(p,this))}this.color=new I(1,1,1,1),this.updateCache()}var e=t.prototype;return e.updateCache=function(){this._updateCache.length=0;for(var t=this.bones,e=0,r=t.length;e<r;e++){var n=t[e];n.sorted=n.data.skinRequired,n.active=!n.sorted}if(this.skin)for(var i=this.skin.bones,a=0,s=this.skin.bones.length;a<s;a++){var o=this.bones[i[a].index];do o.sorted=!1,o.active=!0,o=o.parent;while(o)}var h=this.ikConstraints,l=this.transformConstraints,c=this.pathConstraints,u=this.physicsConstraints,d=h.length,f=l.length,m=c.length,v=this.physicsConstraints.length,p=d+f+m+v;t:for(var g=0;g<p;g++){for(var x=0;x<d;x++){var b=h[x];if(b.data.order==g){this.sortIkConstraint(b);continue t}}for(var y=0;y<f;y++){var w=l[y];if(w.data.order==g){this.sortTransformConstraint(w);continue t}}for(var M=0;M<m;M++){var S=c[M];if(S.data.order==g){this.sortPathConstraint(S);continue t}}for(var k=0;k<v;k++){var I=u[k];if(I.data.order==g){this.sortPhysicsConstraint(I);continue t}}}for(var B=0,A=t.length;B<A;B++)this.sortBone(t[B])},e.sortIkConstraint=function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||this.skin&&C.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target;this.sortBone(e);var r=t.bones,n=r[0];if(this.sortBone(n),1==r.length)this._updateCache.push(t),this.sortReset(n.children);else{var i=r[r.length-1];this.sortBone(i),this._updateCache.push(t),this.sortReset(n.children),i.sorted=!0}}},e.sortPathConstraint=function(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||this.skin&&C.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target,r=e.data.index,n=e.bone;this.skin&&this.sortPathConstraintAttachment(this.skin,r,n),this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,r,n);for(var a=0,s=this.data.skins.length;a<s;a++)this.sortPathConstraintAttachment(this.data.skins[a],r,n);var o=e.getAttachment();i(o,tJ)&&this.sortPathConstraintAttachmentWith(o,n);for(var h=t.bones,l=h.length,c=0;c<l;c++)this.sortBone(h[c]);this._updateCache.push(t);for(var u=0;u<l;u++)this.sortReset(h[u].children);for(var d=0;d<l;d++)h[d].sorted=!0}},e.sortTransformConstraint=function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||this.skin&&C.contains(this.skin.constraints,t.data,!0)),t.active){this.sortBone(t.target);var e=t.bones,r=e.length;if(t.data.local)for(var n=0;n<r;n++){var i=e[n];this.sortBone(i.parent),this.sortBone(i)}else for(var a=0;a<r;a++)this.sortBone(e[a]);this._updateCache.push(t);for(var s=0;s<r;s++)this.sortReset(e[s].children);for(var o=0;o<r;o++)e[o].sorted=!0}},e.sortPathConstraintAttachment=function(t,e,r){var n=t.attachments[e];if(n)for(var i in n)this.sortPathConstraintAttachmentWith(n[i],r)},e.sortPathConstraintAttachmentWith=function(t,e){if(i(t,tJ)){var r=t.bones;if(r)for(var n=this.bones,a=0,s=r.length;a<s;){var o=r[a++];for(o+=a;a<o;)this.sortBone(n[r[a++]])}else this.sortBone(e)}},e.sortPhysicsConstraint=function(t){var e=t.bone;t.active=e.active&&(!t.data.skinRequired||null!=this.skin&&C.contains(this.skin.constraints,t.data,!0)),t.active&&(this.sortBone(e),this._updateCache.push(t),this.sortReset(e.children),e.sorted=!0)},e.sortBone=function(t){if(t&&!t.sorted){var e=t.parent;e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}},e.sortReset=function(t){for(var e=0,r=t.length;e<r;e++){var n=t[e];n.active&&(n.sorted&&this.sortReset(n.children),n.sorted=!1)}},e.updateWorldTransform=function(t){if(null==t)throw Error("physics is undefined");for(var e=this.bones,r=0,n=e.length;r<n;r++){var i=e[r];i.ax=i.x,i.ay=i.y,i.arotation=i.rotation,i.ascaleX=i.scaleX,i.ascaleY=i.scaleY,i.ashearX=i.shearX,i.ashearY=i.shearY}for(var a=this._updateCache,s=0,o=a.length;s<o;s++)a[s].update(t)},e.updateWorldTransformWith=function(t,e){if(!e)throw Error("parent cannot be null.");for(var r=this.bones,n=1,i=r.length;n<i;n++){var a=r[n];a.ax=a.x,a.ay=a.y,a.arotation=a.rotation,a.ascaleX=a.scaleX,a.ascaleY=a.scaleY,a.ashearX=a.shearX,a.ashearY=a.shearY}var s=this.getRootBone();if(!s)throw Error("Root bone must not be null.");var o=e.a,h=e.b,l=e.c,c=e.d;s.worldX=o*this.x+h*this.y+e.worldX,s.worldY=l*this.x+c*this.y+e.worldY;var u=(s.rotation+s.shearX)*B.degRad,d=(s.rotation+90+s.shearY)*B.degRad,f=Math.cos(u)*s.scaleX,m=Math.cos(d)*s.scaleY,v=Math.sin(u)*s.scaleX,p=Math.sin(d)*s.scaleY;s.a=(o*f+h*v)*this.scaleX,s.b=(o*m+h*p)*this.scaleX,s.c=(l*f+c*v)*this.scaleY,s.d=(l*m+c*p)*this.scaleY;for(var g=this._updateCache,x=0,b=g.length;x<b;x++){var y=g[x];y!=s&&y.update(t)}},e.setToSetupPose=function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},e.setBonesToSetupPose=function(){for(var t,e=o(this.bones);!(t=e()).done;)t.value.setToSetupPose();for(var r,n=o(this.ikConstraints);!(r=n()).done;)r.value.setToSetupPose();for(var i,a=o(this.transformConstraints);!(i=a()).done;)i.value.setToSetupPose();for(var s,h=o(this.pathConstraints);!(s=h()).done;)s.value.setToSetupPose();for(var l,c=o(this.physicsConstraints);!(l=c()).done;)l.value.setToSetupPose()},e.setSlotsToSetupPose=function(){var t=this.slots;C.arrayCopy(t,0,this.drawOrder,0,t.length);for(var e=0,r=t.length;e<r;e++)t[e].setToSetupPose()},e.getRootBone=function(){return 0==this.bones.length?null:this.bones[0]},e.findBone=function(t){if(!t)throw Error("boneName cannot be null.");for(var e=this.bones,r=0,n=e.length;r<n;r++){var i=e[r];if(i.data.name==t)return i}return null},e.findSlot=function(t){if(!t)throw Error("slotName cannot be null.");for(var e=this.slots,r=0,n=e.length;r<n;r++){var i=e[r];if(i.data.name==t)return i}return null},e.setSkinByName=function(t){var e=this.data.findSkin(t);if(!e)throw Error("Skin not found: "+t);this.setSkin(e)},e.setSkin=function(t){if(t!=this.skin){if(t){if(this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,r=0,n=e.length;r<n;r++){var i=e[r],a=i.data.attachmentName;if(a){var s=t.getAttachment(r,a);s&&i.setAttachment(s)}}}this.skin=t,this.updateCache()}},e.getAttachmentByName=function(t,e){var r=this.data.findSlot(t);if(!r)throw Error("Can't find slot with name "+t);return this.getAttachment(r.index,e)},e.getAttachment=function(t,e){if(!e)throw Error("attachmentName cannot be null.");if(this.skin){var r=this.skin.getAttachment(t,e);if(r)return r}return this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},e.setAttachment=function(t,e){if(!t)throw Error("slotName cannot be null.");for(var r=this.slots,n=0,i=r.length;n<i;n++){var a=r[n];if(a.data.name==t){var s=null;if(e&&!(s=this.getAttachment(n,e)))throw Error("Attachment not found: "+e+", for slot: "+t);a.setAttachment(s);return}}throw Error("Slot not found: "+t)},e.findIkConstraint=function(t){var e;if(!t)throw Error("constraintName cannot be null.");return null!=(e=this.ikConstraints.find(function(e){return e.data.name==t}))?e:null},e.findTransformConstraint=function(t){var e;if(!t)throw Error("constraintName cannot be null.");return null!=(e=this.transformConstraints.find(function(e){return e.data.name==t}))?e:null},e.findPathConstraint=function(t){var e;if(!t)throw Error("constraintName cannot be null.");return null!=(e=this.pathConstraints.find(function(e){return e.data.name==t}))?e:null},e.findPhysicsConstraint=function(t){var e;if(null==t)throw Error("constraintName cannot be null.");return null!=(e=this.physicsConstraints.find(function(e){return e.data.name==t}))?e:null},e.getBoundsRect=function(){var t=new R,e=new R;return this.getBounds(t,e),{x:t.x,y:t.y,width:e.x,height:e.y}},e.getBounds=function(e,r,n,a){if(void 0===n&&(n=[,,]),void 0===a&&(a=null),!e)throw Error("offset cannot be null.");if(!r)throw Error("size cannot be null.");for(var s=this.drawOrder,o=Number.POSITIVE_INFINITY,h=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=0,d=s.length;u<d;u++){var f=s[u];if(f.bone.active){var m=0,v=null,p=null,g=f.getAttachment();if(i(g,t$))m=8,v=C.setArraySize(n,m,0),g.computeWorldVertices(f,v,0,2),p=t.quadTriangles;else if(i(g,tK))m=g.worldVerticesLength,v=C.setArraySize(n,m,0),g.computeWorldVertices(f,0,m,v,0,2),p=g.triangles;else if(i(g,tL)&&null!=a){a.clipStart(f,g);continue}if(v&&p){null!=a&&a.isClipping()&&(a.clipTriangles(v,p,p.length),v=a.clippedVertices,m=a.clippedVertices.length);for(var x=0,b=v.length;x<b;x+=2){var y=v[x],w=v[x+1];o=Math.min(o,y),h=Math.min(h,w),l=Math.max(l,y),c=Math.max(c,w)}}null!=a&&a.clipEndWithSlot(f)}}null!=a&&a.clipEnd(),e.set(o,h),r.set(l-o,c-h)},e.update=function(t){this.time+=t},e.physicsTranslate=function(t,e){for(var r=this.physicsConstraints,n=0,i=r.length;n<i;n++)r[n].translate(t,e)},e.physicsRotate=function(t,e,r){for(var n=this.physicsConstraints,i=0,a=n.length;i<a;i++)n[i].rotate(t,e,r)},tA(t,[{key:"scaleY",get:function(){return t.yDown?-this._scaleY:this._scaleY},set:function(t){this._scaleY=t}}]),t}();ei.quadTriangles=[0,1,2,2,3,0],ei.yDown=!1,t.Physics=void 0,(x=t.Physics||(t.Physics={}))[x.none=0]="none",x[x.reset=1]="reset",x[x.update=2]="update",x[x.pose=3]="pose";var ea=function(t){function e(e){var r;return(r=t.call(this,e,0,!1)||this)._bone=null,r.x=0,r.y=0,r.rotate=0,r.scaleX=0,r.shearX=0,r.limit=0,r.step=0,r.inertia=0,r.strength=0,r.damping=0,r.massInverse=0,r.wind=0,r.gravity=0,r.mix=0,r.inertiaGlobal=!1,r.strengthGlobal=!1,r.dampingGlobal=!1,r.massGlobal=!1,r.windGlobal=!1,r.gravityGlobal=!1,r.mixGlobal=!1,r}return n(e,t),tA(e,[{key:"bone",get:function(){if(this._bone)return this._bone;throw Error("BoneData not set.")},set:function(t){this._bone=t}}]),e}(t2),es=function(){function t(){this.name=null,this.bones=[],this.slots=[],this.skins=[],this.defaultSkin=null,this.events=[],this.animations=[],this.ikConstraints=[],this.transformConstraints=[],this.pathConstraints=[],this.physicsConstraints=[],this.x=0,this.y=0,this.width=0,this.height=0,this.referenceScale=100,this.version=null,this.hash=null,this.fps=0,this.imagesPath=null,this.audioPath=null}var e=t.prototype;return e.findBone=function(t){if(!t)throw Error("boneName cannot be null.");for(var e=this.bones,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findSlot=function(t){if(!t)throw Error("slotName cannot be null.");for(var e=this.slots,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findSkin=function(t){if(!t)throw Error("skinName cannot be null.");for(var e=this.skins,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findEvent=function(t){if(!t)throw Error("eventDataName cannot be null.");for(var e=this.events,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findAnimation=function(t){if(!t)throw Error("animationName cannot be null.");for(var e=this.animations,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findIkConstraint=function(t){if(!t)throw Error("constraintName cannot be null.");for(var e=this.ikConstraints,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findTransformConstraint=function(t){if(!t)throw Error("constraintName cannot be null.");for(var e=this.transformConstraints,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findPathConstraint=function(t){if(!t)throw Error("constraintName cannot be null.");for(var e=this.pathConstraints,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},e.findPhysicsConstraint=function(t){if(!t)throw Error("constraintName cannot be null.");for(var e=this.physicsConstraints,r=0,n=e.length;r<n;r++){var i=e[r];if(i.name==t)return i}return null},t}(),eo=function(t,e,r){void 0===t&&(t=0),this.slotIndex=t,this.name=e,this.attachment=r},eh=function(){function t(t){if(this.attachments=[],this.bones=[],this.constraints=[],this.color=new I(.99607843,.61960787,.30980393,1),!t)throw Error("name cannot be null.");this.name=t}var e=t.prototype;return e.setAttachment=function(t,e,r){if(!r)throw Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=r},e.addSkin=function(t){for(var e=0;e<t.bones.length;e++){for(var r=t.bones[e],n=!1,i=0;i<this.bones.length;i++)if(this.bones[i]==r){n=!0;break}n||this.bones.push(r)}for(var a=0;a<t.constraints.length;a++){for(var s=t.constraints[a],o=!1,h=0;h<this.constraints.length;h++)if(this.constraints[h]==s){o=!0;break}o||this.constraints.push(s)}for(var l=t.getAttachments(),c=0;c<l.length;c++){var u=l[c];this.setAttachment(u.slotIndex,u.name,u.attachment)}},e.copySkin=function(t){for(var e=0;e<t.bones.length;e++){for(var r=t.bones[e],n=!1,a=0;a<this.bones.length;a++)if(this.bones[a]==r){n=!0;break}n||this.bones.push(r)}for(var s=0;s<t.constraints.length;s++){for(var o=t.constraints[s],h=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==o){h=!0;break}h||this.constraints.push(o)}for(var c=t.getAttachments(),u=0;u<c.length;u++){var d=c[u];d.attachment&&(i(d.attachment,tK)?d.attachment=d.attachment.newLinkedMesh():d.attachment=d.attachment.copy(),this.setAttachment(d.slotIndex,d.name,d.attachment))}},e.getAttachment=function(t,e){var r=this.attachments[t];return r?r[e]:null},e.removeAttachment=function(t,e){var r=this.attachments[t];r&&delete r[e]},e.getAttachments=function(){for(var t=[],e=0;e<this.attachments.length;e++){var r=this.attachments[e];if(r)for(var n in r){var i=r[n];i&&t.push(new eo(e,n,i))}}return t},e.getAttachmentsForSlot=function(t,e){var r=this.attachments[t];if(r)for(var n in r){var i=r[n];i&&e.push(new eo(t,n,i))}},e.clear=function(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0},e.attachAll=function(t,e){for(var r=0,n=0;n<t.slots.length;n++){var i=t.slots[n],a=i.getAttachment();if(a&&r<e.attachments.length){var s=e.attachments[r];for(var o in s)if(a==s[o]){var h=this.getAttachment(r,o);h&&i.setAttachment(h);break}}r++}},t}(),el=function(e,r,n){if(this.index=0,this.color=new I(1,1,1,1),this.darkColor=null,this.attachmentName=null,this.blendMode=t.BlendMode.Normal,this.visible=!0,e<0)throw Error("index must be >= 0.");if(!r)throw Error("name cannot be null.");if(!n)throw Error("boneData cannot be null.");this.index=e,this.name=r,this.boneData=n};t.BlendMode=void 0,(b=t.BlendMode||(t.BlendMode={}))[b.Normal=0]="Normal",b[b.Additive=1]="Additive",b[b.Multiply=2]="Multiply",b[b.Screen=3]="Screen";var ec=function(t){function e(e){var r;return(r=t.call(this,e,0,!1)||this).bones=[],r._target=null,r.mixRotate=0,r.mixX=0,r.mixY=0,r.mixScaleX=0,r.mixScaleY=0,r.mixShearY=0,r.offsetRotation=0,r.offsetX=0,r.offsetY=0,r.offsetScaleX=0,r.offsetScaleY=0,r.offsetShearY=0,r.relative=!1,r.local=!1,r}return n(e,t),tA(e,[{key:"target",get:function(){if(this._target)return this._target;throw Error("BoneData not set.")},set:function(t){this._target=t}}]),e}(t2),eu=function(){function e(t){this.scale=1,this.linkedMeshes=[],this.attachmentLoader=t}var r=e.prototype;return r.readSkeletonData=function(e){var r=this.scale,n=new es;n.name="";var i=new ed(e),a=i.readInt32(),s=i.readInt32();n.hash=0==s&&0==a?null:s.toString(16)+a.toString(16),n.version=i.readString(),n.x=i.readFloat(),n.y=i.readFloat(),n.width=i.readFloat(),n.height=i.readFloat(),n.referenceScale=i.readFloat()*r;var o=i.readBoolean();o&&(n.fps=i.readFloat(),n.imagesPath=i.readString(),n.audioPath=i.readString());var h=0;h=i.readInt(!0);for(var l=0;l<h;l++){var c=i.readString();if(!c)throw Error("String in string table must not be null.");i.strings.push(c)}h=i.readInt(!0);for(var u=0;u<h;u++){var d,f=i.readString();if(!f)throw Error("Bone name must not be null.");var m=0==u?null:n.bones[i.readInt(!0)],v=new t0(u,f,m);v.rotation=i.readFloat(),v.x=i.readFloat()*r,v.y=i.readFloat()*r,v.scaleX=i.readFloat(),v.scaleY=i.readFloat(),v.shearX=i.readFloat(),v.shearY=i.readFloat(),v.length=i.readFloat()*r,v.inherit=i.readByte(),v.skinRequired=i.readBoolean(),o&&(I.rgba8888ToColor(v.color,i.readInt32()),v.icon=null!=(d=i.readString())?d:void 0,v.visible=i.readBoolean()),n.bones.push(v)}h=i.readInt(!0);for(var p=0;p<h;p++){var g=i.readString();if(!g)throw Error("Slot name must not be null.");var x=new el(p,g,n.bones[i.readInt(!0)]);I.rgba8888ToColor(x.color,i.readInt32());var b=i.readInt32();-1!=b&&I.rgb888ToColor(x.darkColor=new I,b),x.attachmentName=i.readStringRef(),x.blendMode=i.readInt(!0),o&&(x.visible=i.readBoolean()),n.slots.push(x)}h=i.readInt(!0);for(var y,w=0;w<h;w++){var M=i.readString();if(!M)throw Error("IK constraint data name must not be null.");var S=new t7(M);S.order=i.readInt(!0),y=i.readInt(!0);for(var k=0;k<y;k++)S.bones.push(n.bones[i.readInt(!0)]);S.target=n.bones[i.readInt(!0)];var B=i.readByte();S.skinRequired=(1&B)!=0,S.bendDirection=(2&B)!=0?1:-1,S.compress=(4&B)!=0,S.stretch=(8&B)!=0,S.uniform=(16&B)!=0,(32&B)!=0&&(S.mix=(64&B)!=0?i.readFloat():1),(128&B)!=0&&(S.softness=i.readFloat()*r),n.ikConstraints.push(S)}h=i.readInt(!0);for(var A,T=0;T<h;T++){var F=i.readString();if(!F)throw Error("Transform constraint data name must not be null.");var E=new ec(F);E.order=i.readInt(!0),A=i.readInt(!0);for(var P=0;P<A;P++)E.bones.push(n.bones[i.readInt(!0)]);E.target=n.bones[i.readInt(!0)];var R=i.readByte();E.skinRequired=(1&R)!=0,E.local=(2&R)!=0,E.relative=(4&R)!=0,(8&R)!=0&&(E.offsetRotation=i.readFloat()),(16&R)!=0&&(E.offsetX=i.readFloat()*r),(32&R)!=0&&(E.offsetY=i.readFloat()*r),(64&R)!=0&&(E.offsetScaleX=i.readFloat()),(128&R)!=0&&(E.offsetScaleY=i.readFloat()),(1&(R=i.readByte()))!=0&&(E.offsetShearY=i.readFloat()),(2&R)!=0&&(E.mixRotate=i.readFloat()),(4&R)!=0&&(E.mixX=i.readFloat()),(8&R)!=0&&(E.mixY=i.readFloat()),(16&R)!=0&&(E.mixScaleX=i.readFloat()),(32&R)!=0&&(E.mixScaleY=i.readFloat()),(64&R)!=0&&(E.mixShearY=i.readFloat()),n.transformConstraints.push(E)}h=i.readInt(!0);for(var Y,_=0;_<h;_++){var X=i.readString();if(!X)throw Error("Path constraint data name must not be null.");var V=new t9(X);V.order=i.readInt(!0),V.skinRequired=i.readBoolean(),Y=i.readInt(!0);for(var D=0;D<Y;D++)V.bones.push(n.bones[i.readInt(!0)]);V.target=n.slots[i.readInt(!0)];var O=i.readByte();V.positionMode=1&O,V.spacingMode=O>>1&3,V.rotateMode=O>>3&3,(128&O)!=0&&(V.offsetRotation=i.readFloat()),V.position=i.readFloat(),V.positionMode==t.PositionMode.Fixed&&(V.position*=r),V.spacing=i.readFloat(),(V.spacingMode==t.SpacingMode.Length||V.spacingMode==t.SpacingMode.Fixed)&&(V.spacing*=r),V.mixRotate=i.readFloat(),V.mixX=i.readFloat(),V.mixY=i.readFloat(),n.pathConstraints.push(V)}h=i.readInt(!0);for(var N=0;N<h;N++){var L=i.readString();if(!L)throw Error("Physics constraint data name must not be null.");var q=new ea(L);q.order=i.readInt(!0),q.bone=n.bones[i.readInt(!0)];var U=i.readByte();q.skinRequired=(1&U)!=0,(2&U)!=0&&(q.x=i.readFloat()),(4&U)!=0&&(q.y=i.readFloat()),(8&U)!=0&&(q.rotate=i.readFloat()),(16&U)!=0&&(q.scaleX=i.readFloat()),(32&U)!=0&&(q.shearX=i.readFloat()),q.limit=((64&U)!=0?i.readFloat():5e3)*r,q.step=1/i.readUnsignedByte(),q.inertia=i.readFloat(),q.strength=i.readFloat(),q.damping=i.readFloat(),q.massInverse=(128&U)!=0?i.readFloat():1,q.wind=i.readFloat(),q.gravity=i.readFloat(),(1&(U=i.readByte()))!=0&&(q.inertiaGlobal=!0),(2&U)!=0&&(q.strengthGlobal=!0),(4&U)!=0&&(q.dampingGlobal=!0),(8&U)!=0&&(q.massGlobal=!0),(16&U)!=0&&(q.windGlobal=!0),(32&U)!=0&&(q.gravityGlobal=!0),(64&U)!=0&&(q.mixGlobal=!0),q.mix=(128&U)!=0?i.readFloat():1,n.physicsConstraints.push(q)}var W=this.readSkin(i,n,!0,o);W&&(n.defaultSkin=W,n.skins.push(W));var z=n.skins.length;for(C.setArraySize(n.skins,h=z+i.readInt(!0));z<h;z++){var G=this.readSkin(i,n,!1,o);if(!G)throw Error("readSkin() should not have returned null.");n.skins[z]=G}h=this.linkedMeshes.length;for(var j=0;j<h;j++){var H=this.linkedMeshes[j],K=n.skins[H.skinIndex];if(!H.parent)throw Error("Linked mesh parent must not be null");var J=K.getAttachment(H.slotIndex,H.parent);if(!J)throw Error("Parent mesh not found: "+H.parent);H.mesh.timelineAttachment=H.inheritTimeline?J:H.mesh,H.mesh.setParentMesh(J),null!=H.mesh.region&&H.mesh.updateRegion()}this.linkedMeshes.length=0,h=i.readInt(!0);for(var Q=0;Q<h;Q++){var $=i.readString();if(!$)throw Error("Event data name must not be null");var Z=new t8($);Z.intValue=i.readInt(!1),Z.floatValue=i.readFloat(),Z.stringValue=i.readString(),Z.audioPath=i.readString(),Z.audioPath&&(Z.volume=i.readFloat(),Z.balance=i.readFloat()),n.events.push(Z)}h=i.readInt(!0);for(var tt=0;tt<h;tt++){var te=i.readString();if(!te)throw Error("Animatio name must not be null.");n.animations.push(this.readAnimation(i,te,n))}return n},r.readSkin=function(t,e,r,n){var i=null,a=0;if(r){if(0==(a=t.readInt(!0)))return null;i=new eh("default")}else{var s=t.readString();if(!s)throw Error("Skin name must not be null.");i=new eh(s),n&&I.rgba8888ToColor(i.color,t.readInt32()),i.bones.length=t.readInt(!0);for(var o=0,h=i.bones.length;o<h;o++)i.bones[o]=e.bones[t.readInt(!0)];for(var l=0,c=t.readInt(!0);l<c;l++)i.constraints.push(e.ikConstraints[t.readInt(!0)]);for(var u=0,d=t.readInt(!0);u<d;u++)i.constraints.push(e.transformConstraints[t.readInt(!0)]);for(var f=0,m=t.readInt(!0);f<m;f++)i.constraints.push(e.pathConstraints[t.readInt(!0)]);for(var v=0,p=t.readInt(!0);v<p;v++)i.constraints.push(e.physicsConstraints[t.readInt(!0)]);a=t.readInt(!0)}for(var g=0;g<a;g++)for(var x=t.readInt(!0),b=0,y=t.readInt(!0);b<y;b++){var w=t.readStringRef();if(!w)throw Error("Attachment name must not be null");var M=this.readAttachment(t,e,i,x,w,n);M&&i.setAttachment(x,w,M)}return i},r.readAttachment=function(t,e,r,n,i,a){var s=this.scale,o=t.readByte(),h=(8&o)!=0?t.readStringRef():i;if(!h)throw Error("Attachment name must not be null");switch(7&o){case M.Region:var l=(16&o)!=0?t.readStringRef():null,c=(32&o)!=0?t.readInt32():0xffffffff,u=(64&o)!=0?this.readSequence(t):null,d=(128&o)!=0?t.readFloat():0,f=t.readFloat(),m=t.readFloat(),v=t.readFloat(),p=t.readFloat(),g=t.readFloat(),x=t.readFloat();l||(l=h);var b=this.attachmentLoader.newRegionAttachment(r,h,l,u);if(!b)break;return b.path=l,b.x=f*s,b.y=m*s,b.scaleX=v,b.scaleY=p,b.rotation=d,b.width=g*s,b.height=x*s,I.rgba8888ToColor(b.color,c),b.sequence=u,null==u&&b.updateRegion(),b;case M.BoundingBox:var y=this.readVertices(t,(16&o)!=0),w=a?t.readInt32():0,S=this.attachmentLoader.newBoundingBoxAttachment(r,h);if(!S)break;return S.worldVerticesLength=y.length,S.vertices=y.vertices,S.bones=y.bones,a&&I.rgba8888ToColor(S.color,w),S;case M.Mesh:var k=(16&o)!=0?t.readStringRef():h,B=(32&o)!=0?t.readInt32():0xffffffff,A=(64&o)!=0?this.readSequence(t):null,T=t.readInt(!0),F=this.readVertices(t,(128&o)!=0),E=this.readFloatArray(t,F.length,1),P=this.readShortArray(t,(F.length-T-2)*3),R=[],Y=0,_=0;a&&(R=this.readShortArray(t,t.readInt(!0)),Y=t.readFloat(),_=t.readFloat()),k||(k=h);var X=this.attachmentLoader.newMeshAttachment(r,h,k,A);if(!X)break;return X.path=k,I.rgba8888ToColor(X.color,B),X.bones=F.bones,X.vertices=F.vertices,X.worldVerticesLength=F.length,X.triangles=P,X.regionUVs=E,null==A&&X.updateRegion(),X.hullLength=T<<1,X.sequence=A,a&&(X.edges=R,X.width=Y*s,X.height=_*s),X;case M.LinkedMesh:var V=(16&o)!=0?t.readStringRef():h;if(null==V)throw Error("Path of linked mesh must not be null");var D=(32&o)!=0?t.readInt32():0xffffffff,O=(64&o)!=0?this.readSequence(t):null,N=t.readInt(!0),L=t.readStringRef(),q=0,U=0;a&&(q=t.readFloat(),U=t.readFloat());var W=this.attachmentLoader.newMeshAttachment(r,h,V,O);if(!W)break;return W.path=V,I.rgba8888ToColor(W.color,D),W.sequence=O,a&&(W.width=q*s,W.height=U*s),this.linkedMeshes.push(new ef(W,N,n,L,(128&o)!=0)),W;case M.Path:for(var z=this.readVertices(t,(64&o)!=0),G=C.newArray(z.length/6,0),j=0,H=G.length;j<H;j++)G[j]=t.readFloat()*s;var K=a?t.readInt32():0,J=this.attachmentLoader.newPathAttachment(r,h);if(!J)break;return J.closed=(16&o)!=0,J.constantSpeed=(32&o)!=0,J.worldVerticesLength=z.length,J.vertices=z.vertices,J.bones=z.bones,J.lengths=G,a&&I.rgba8888ToColor(J.color,K),J;case M.Point:var Q=t.readFloat(),$=t.readFloat(),Z=t.readFloat(),tt=a?t.readInt32():0,te=this.attachmentLoader.newPointAttachment(r,h);if(!te)break;return te.x=$*s,te.y=Z*s,te.rotation=Q,a&&I.rgba8888ToColor(te.color,tt),te;case M.Clipping:var tr=t.readInt(!0),tn=this.readVertices(t,(16&o)!=0),ti=a?t.readInt32():0,ta=this.attachmentLoader.newClippingAttachment(r,h);if(!ta)break;return ta.endSlot=e.slots[tr],ta.worldVerticesLength=tn.length,ta.vertices=tn.vertices,ta.bones=tn.bones,a&&I.rgba8888ToColor(ta.color,ti),ta}return null},r.readSequence=function(t){var e=new D(t.readInt(!0));return e.start=t.readInt(!0),e.digits=t.readInt(!0),e.setupIndex=t.readInt(!0),e},r.readVertices=function(t,e){var r=this.scale,n=t.readInt(!0),i=new em;if(i.length=n<<1,!e)return i.vertices=this.readFloatArray(t,i.length,r),i;for(var a=[],s=[],o=0;o<n;o++){var h=t.readInt(!0);s.push(h);for(var l=0;l<h;l++)s.push(t.readInt(!0)),a.push(t.readFloat()*r),a.push(t.readFloat()*r),a.push(t.readFloat())}return i.vertices=C.toFloatArray(a),i.bones=s,i},r.readFloatArray=function(t,e,r){var n=Array(e);if(1==r)for(var i=0;i<e;i++)n[i]=t.readFloat();else for(var a=0;a<e;a++)n[a]=t.readFloat()*r;return n},r.readShortArray=function(t,e){for(var r=Array(e),n=0;n<e;n++)r[n]=t.readInt(!0);return r},r.readAnimation=function(e,r,n){e.readInt(!0);for(var i=[],a=this.scale,s=0,o=e.readInt(!0);s<o;s++)for(var h=e.readInt(!0),l=0,c=e.readInt(!0);l<c;l++){var u=e.readByte(),d=e.readInt(!0),f=d-1;switch(u){case eF:for(var m=new to(d,h),v=0;v<d;v++)m.setFrame(v,e.readFloat(),e.readStringRef());i.push(m);break;case eC:for(var p=new tr(d,e.readInt(!0),h),g=e.readFloat(),x=e.readUnsignedByte()/255,b=e.readUnsignedByte()/255,y=e.readUnsignedByte()/255,w=e.readUnsignedByte()/255,M=0,S=0;p.setFrame(M,g,x,b,y,w),M!=f;M++){var k=e.readFloat(),I=e.readUnsignedByte()/255,B=e.readUnsignedByte()/255,A=e.readUnsignedByte()/255,T=e.readUnsignedByte()/255;switch(e.readByte()){case eH:p.setStepped(M);break;case eK:eg(e,p,S++,M,0,g,k,x,I,1),eg(e,p,S++,M,1,g,k,b,B,1),eg(e,p,S++,M,2,g,k,y,A,1),eg(e,p,S++,M,3,g,k,w,T,1)}g=k,x=I,b=B,y=A,w=T}i.push(p);break;case eE:for(var F=new tn(d,e.readInt(!0),h),E=e.readFloat(),P=e.readUnsignedByte()/255,R=e.readUnsignedByte()/255,Y=e.readUnsignedByte()/255,_=0,X=0;F.setFrame(_,E,P,R,Y),_!=f;_++){var V=e.readFloat(),D=e.readUnsignedByte()/255,L=e.readUnsignedByte()/255,q=e.readUnsignedByte()/255;switch(e.readByte()){case eH:F.setStepped(_);break;case eK:eg(e,F,X++,_,0,E,V,P,D,1),eg(e,F,X++,_,1,E,V,R,L,1),eg(e,F,X++,_,2,E,V,Y,q,1)}E=V,P=D,R=L,Y=q}i.push(F);break;case eP:for(var U=new ta(d,e.readInt(!0),h),W=e.readFloat(),tp=e.readUnsignedByte()/255,tB=e.readUnsignedByte()/255,tA=e.readUnsignedByte()/255,tT=e.readUnsignedByte()/255,tF=e.readUnsignedByte()/255,tC=e.readUnsignedByte()/255,tE=e.readUnsignedByte()/255,tP=0,tR=0;U.setFrame(tP,W,tp,tB,tA,tT,tF,tC,tE),tP!=f;tP++){var tY=e.readFloat(),t_=e.readUnsignedByte()/255,tX=e.readUnsignedByte()/255,tV=e.readUnsignedByte()/255,tD=e.readUnsignedByte()/255,tO=e.readUnsignedByte()/255,tN=e.readUnsignedByte()/255,tL=e.readUnsignedByte()/255;switch(e.readByte()){case eH:U.setStepped(tP);break;case eK:eg(e,U,tR++,tP,0,W,tY,tp,t_,1),eg(e,U,tR++,tP,1,W,tY,tB,tX,1),eg(e,U,tR++,tP,2,W,tY,tA,tV,1),eg(e,U,tR++,tP,3,W,tY,tT,tD,1),eg(e,U,tR++,tP,4,W,tY,tF,tO,1),eg(e,U,tR++,tP,5,W,tY,tC,tN,1),eg(e,U,tR++,tP,6,W,tY,tE,tL,1)}W=tY,tp=t_,tB=tX,tA=tV,tT=tD,tF=tO,tC=tN,tE=tL}i.push(U);break;case eR:for(var tq=new ts(d,e.readInt(!0),h),tU=e.readFloat(),tW=e.readUnsignedByte()/255,tz=e.readUnsignedByte()/255,tG=e.readUnsignedByte()/255,tj=e.readUnsignedByte()/255,tH=e.readUnsignedByte()/255,tK=e.readUnsignedByte()/255,tJ=0,tQ=0;tq.setFrame(tJ,tU,tW,tz,tG,tj,tH,tK),tJ!=f;tJ++){var t$=e.readFloat(),tZ=e.readUnsignedByte()/255,t0=e.readUnsignedByte()/255,t1=e.readUnsignedByte()/255,t2=e.readUnsignedByte()/255,t3=e.readUnsignedByte()/255,t5=e.readUnsignedByte()/255;switch(e.readByte()){case eH:tq.setStepped(tJ);break;case eK:eg(e,tq,tQ++,tJ,0,tU,t$,tW,tZ,1),eg(e,tq,tQ++,tJ,1,tU,t$,tz,t0,1),eg(e,tq,tQ++,tJ,2,tU,t$,tG,t1,1),eg(e,tq,tQ++,tJ,3,tU,t$,tj,t2,1),eg(e,tq,tQ++,tJ,4,tU,t$,tH,t3,1),eg(e,tq,tQ++,tJ,5,tU,t$,tK,t5,1)}tU=t$,tW=tZ,tz=t0,tG=t1,tj=t2,tH=t3,tK=t5}i.push(tq);break;case eY:for(var t8=new ti(d,e.readInt(!0),h),t4=e.readFloat(),t7=e.readUnsignedByte()/255,t9=0,et=0;t8.setFrame(t9,t4,t7),t9!=f;t9++){var ee=e.readFloat(),er=e.readUnsignedByte()/255;switch(e.readByte()){case eH:t8.setStepped(t9);break;case eK:eg(e,t8,et++,t9,0,t4,ee,t7,er,1)}t4=ee,t7=er}i.push(t8)}}for(var en=0,ei=e.readInt(!0);en<ei;en++)for(var ea=e.readInt(!0),es=0,eo=e.readInt(!0);es<eo;es++){var eh=e.readByte(),el=e.readInt(!0);if(eh==eT){for(var ec=new te(el,ea),eu=0;eu<el;eu++)ec.setFrame(eu,e.readFloat(),e.readByte());i.push(ec);continue}var ed=e.readInt(!0);switch(eh){case ex:i.push(ev(e,new z(el,ed,ea),1));break;case eb:i.push(ep(e,new G(el,ed,ea),a));break;case ey:i.push(ev(e,new j(el,ed,ea),a));break;case ew:i.push(ev(e,new H(el,ed,ea),a));break;case eM:i.push(ep(e,new K(el,ed,ea),1));break;case eS:i.push(ev(e,new J(el,ed,ea),1));break;case ek:i.push(ev(e,new Q(el,ed,ea),1));break;case eI:i.push(ep(e,new $(el,ed,ea),1));break;case eB:i.push(ev(e,new Z(el,ed,ea),1));break;case eA:i.push(ev(e,new tt(el,ed,ea),1))}}for(var ef=0,em=e.readInt(!0);ef<em;ef++){for(var eJ=e.readInt(!0),eQ=e.readInt(!0),e$=eQ-1,eZ=new tu(eQ,e.readInt(!0),eJ),e0=e.readByte(),e1=e.readFloat(),e2=(1&e0)!=0?(2&e0)!=0?e.readFloat():1:0,e3=(4&e0)!=0?e.readFloat()*a:0,e5=0,e6=0;eZ.setFrame(e5,e1,e2,e3,(8&e0)!=0?1:-1,(16&e0)!=0,(32&e0)!=0),e5!=e$;e5++){e0=e.readByte();var e8=e.readFloat(),e4=(1&e0)!=0?(2&e0)!=0?e.readFloat():1:0,e7=(4&e0)!=0?e.readFloat()*a:0;(64&e0)!=0?eZ.setStepped(e5):(128&e0)!=0&&(eg(e,eZ,e6++,e5,0,e1,e8,e2,e4,1),eg(e,eZ,e6++,e5,1,e1,e8,e3,e7,a)),e1=e8,e2=e4,e3=e7}i.push(eZ)}for(var e9=0,rt=e.readInt(!0);e9<rt;e9++){for(var re=e.readInt(!0),rr=e.readInt(!0),rn=rr-1,ri=new td(rr,e.readInt(!0),re),ra=e.readFloat(),rs=e.readFloat(),ro=e.readFloat(),rh=e.readFloat(),rl=e.readFloat(),rc=e.readFloat(),ru=e.readFloat(),rd=0,rf=0;ri.setFrame(rd,ra,rs,ro,rh,rl,rc,ru),rd!=rn;rd++){var rm=e.readFloat(),rv=e.readFloat(),rp=e.readFloat(),rg=e.readFloat(),rx=e.readFloat(),rb=e.readFloat(),ry=e.readFloat();switch(e.readByte()){case eH:ri.setStepped(rd);break;case eK:eg(e,ri,rf++,rd,0,ra,rm,rs,rv,1),eg(e,ri,rf++,rd,1,ra,rm,ro,rp,1),eg(e,ri,rf++,rd,2,ra,rm,rh,rg,1),eg(e,ri,rf++,rd,3,ra,rm,rl,rx,1),eg(e,ri,rf++,rd,4,ra,rm,rc,rb,1),eg(e,ri,rf++,rd,5,ra,rm,ru,ry,1)}ra=rm,rs=rv,ro=rp,rh=rg,rl=rx,rc=rb,ru=ry}i.push(ri)}for(var rw=0,rM=e.readInt(!0);rw<rM;rw++)for(var rS=e.readInt(!0),rk=n.pathConstraints[rS],rI=0,rB=e.readInt(!0);rI<rB;rI++){var rA=e.readByte(),rT=e.readInt(!0),rF=e.readInt(!0);switch(rA){case eV:i.push(ev(e,new tf(rT,rF,rS),rk.positionMode==t.PositionMode.Fixed?a:1));break;case eD:i.push(ev(e,new tm(rT,rF,rS),rk.spacingMode==t.SpacingMode.Length||rk.spacingMode==t.SpacingMode.Fixed?a:1));break;case eO:for(var rC=new tv(rT,rF,rS),rE=e.readFloat(),rP=e.readFloat(),rR=e.readFloat(),rY=e.readFloat(),r_=0,rX=0,rV=rC.getFrameCount()-1;rC.setFrame(r_,rE,rP,rR,rY),r_!=rV;r_++){var rD=e.readFloat(),rO=e.readFloat(),rN=e.readFloat(),rL=e.readFloat();switch(e.readByte()){case eH:rC.setStepped(r_);break;case eK:eg(e,rC,rX++,r_,0,rE,rD,rP,rO,1),eg(e,rC,rX++,r_,1,rE,rD,rR,rN,1),eg(e,rC,rX++,r_,2,rE,rD,rY,rL,1)}rE=rD,rP=rO,rR=rN,rY=rL}i.push(rC)}}for(var rq=0,rU=e.readInt(!0);rq<rU;rq++)for(var rW=e.readInt(!0)-1,rz=0,rG=e.readInt(!0);rz<rG;rz++){var rj=e.readByte(),rH=e.readInt(!0);if(rj==ej){for(var rK=new tk(rH,rW),rJ=0;rJ<rH;rJ++)rK.setFrame(rJ,e.readFloat());i.push(rK);continue}var rQ=e.readInt(!0);switch(rj){case eN:i.push(ev(e,new tg(rH,rQ,rW),1));break;case eL:i.push(ev(e,new tx(rH,rQ,rW),1));break;case eq:i.push(ev(e,new tb(rH,rQ,rW),1));break;case eU:i.push(ev(e,new ty(rH,rQ,rW),1));break;case eW:i.push(ev(e,new tw(rH,rQ,rW),1));break;case ez:i.push(ev(e,new tM(rH,rQ,rW),1));break;case eG:i.push(ev(e,new tS(rH,rQ,rW),1))}}for(var r$=0,rZ=e.readInt(!0);r$<rZ;r$++)for(var r0=n.skins[e.readInt(!0)],r1=0,r2=e.readInt(!0);r1<r2;r1++)for(var r3=e.readInt(!0),r5=0,r6=e.readInt(!0);r5<r6;r5++){var r8=e.readStringRef();if(!r8)throw Error("attachmentName must not be null.");var r4=r0.getAttachment(r3,r8),r7=e.readByte(),r9=e.readInt(!0),nt=r9-1;switch(r7){case e_:for(var ne=r4.bones,nr=r4.vertices,nn=ne?nr.length/3*2:nr.length,ni=new th(r9,e.readInt(!0),r3,r4),na=e.readFloat(),ns=0,no=0;;ns++){var nh=void 0,nl=e.readInt(!0);if(0==nl)nh=ne?C.newFloatArray(nn):nr;else{nh=C.newFloatArray(nn);var nc=e.readInt(!0);if(nl+=nc,1==a)for(var nu=nc;nu<nl;nu++)nh[nu]=e.readFloat();else for(var nd=nc;nd<nl;nd++)nh[nd]=e.readFloat()*a;if(!ne)for(var nf=0,nm=nh.length;nf<nm;nf++)nh[nf]+=nr[nf]}if(ni.setFrame(ns,na,nh),ns==nt)break;var nv=e.readFloat();switch(e.readByte()){case eH:ni.setStepped(ns);break;case eK:eg(e,ni,no++,ns,0,na,nv,0,1,1)}na=nv}i.push(ni);break;case eX:for(var np=new tI(r9,r3,r4),ng=0;ng<r9;ng++){var nx=e.readFloat(),nb=e.readInt32();np.setFrame(ng,nx,O[15&nb],nb>>4,e.readFloat())}i.push(np)}}var ny=e.readInt(!0);if(ny>0){for(var nw=new tc(ny),nM=n.slots.length,nS=0;nS<ny;nS++){for(var nk=e.readFloat(),nI=e.readInt(!0),nB=C.newArray(nM,0),nA=nM-1;nA>=0;nA--)nB[nA]=-1;for(var nT=C.newArray(nM-nI,0),nF=0,nC=0,nE=0;nE<nI;nE++){for(var nP=e.readInt(!0);nF!=nP;)nT[nC++]=nF++;nB[nF+e.readInt(!0)]=nF++}for(;nF<nM;)nT[nC++]=nF++;for(var nR=nM-1;nR>=0;nR--)-1==nB[nR]&&(nB[nR]=nT[--nC]);nw.setFrame(nS,nk,nB)}i.push(nw)}var nY=e.readInt(!0);if(nY>0){for(var n_=new tl(nY),nX=0;nX<nY;nX++){var nV=e.readFloat(),nD=n.events[e.readInt(!0)],nO=new t6(nV,nD);nO.intValue=e.readInt(!1),nO.floatValue=e.readFloat(),nO.stringValue=e.readString(),null==nO.stringValue&&(nO.stringValue=nD.stringValue),nO.data.audioPath&&(nO.volume=e.readFloat(),nO.balance=e.readFloat()),n_.setFrame(nX,nO)}i.push(n_)}for(var nN=0,nL=0,nq=i.length;nL<nq;nL++)nN=Math.max(nN,i[nL].getDuration());return new N(r,i,nN)},e}(),ed=function(){function t(t,e,r,n){void 0===e&&(e=[]),void 0===r&&(r=0),void 0===n&&(n=new DataView(i(t,ArrayBuffer)?t:t.buffer)),this.strings=e,this.index=r,this.buffer=n}var e=t.prototype;return e.readByte=function(){return this.buffer.getInt8(this.index++)},e.readUnsignedByte=function(){return this.buffer.getUint8(this.index++)},e.readShort=function(){var t=this.buffer.getInt16(this.index);return this.index+=2,t},e.readInt32=function(){var t=this.buffer.getInt32(this.index);return this.index+=4,t},e.readInt=function(t){var e=this.readByte(),r=127&e;return(128&e)!=0&&(r|=(127&(e=this.readByte()))<<7,(128&e)!=0&&(r|=(127&(e=this.readByte()))<<14,(128&e)!=0&&(r|=(127&(e=this.readByte()))<<21,(128&e)!=0&&(r|=(127&(e=this.readByte()))<<28)))),t?r:r>>>1^-(1&r)},e.readStringRef=function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]},e.readString=function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",r=0;r<t;){var n=this.readUnsignedByte();switch(n>>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),r+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),r+=3;break;default:e+=String.fromCharCode(n),r++}}return e},e.readFloat=function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t},e.readBoolean=function(){return 0!=this.readByte()},t}(),ef=function(t,e,r,n,i){this.mesh=t,this.skinIndex=e,this.slotIndex=r,this.parent=n,this.inheritTimeline=i},em=function(t,e,r){void 0===t&&(t=null),void 0===e&&(e=null),void 0===r&&(r=0),this.bones=t,this.vertices=e,this.length=r};function ev(t,e,r){for(var n=t.readFloat(),i=t.readFloat()*r,a=0,s=0,o=e.getFrameCount()-1;e.setFrame(a,n,i),a!=o;a++){var h=t.readFloat(),l=t.readFloat()*r;switch(t.readByte()){case eH:e.setStepped(a);break;case eK:eg(t,e,s++,a,0,n,h,i,l,r)}n=h,i=l}return e}function ep(t,e,r){for(var n=t.readFloat(),i=t.readFloat()*r,a=t.readFloat()*r,s=0,o=0,h=e.getFrameCount()-1;e.setFrame(s,n,i,a),s!=h;s++){var l=t.readFloat(),c=t.readFloat()*r,u=t.readFloat()*r;switch(t.readByte()){case eH:e.setStepped(s);break;case eK:eg(t,e,o++,s,0,n,l,i,c,r),eg(t,e,o++,s,1,n,l,a,u,r)}n=l,i=c,a=u}return e}function eg(t,e,r,n,i,a,s,o,h,l){e.setBezier(r,n,i,a,o,t.readFloat(),t.readFloat()*l,t.readFloat(),t.readFloat()*l,s,h)}(y=M||(M={}))[y.Region=0]="Region",y[y.BoundingBox=1]="BoundingBox",y[y.Mesh=2]="Mesh",y[y.LinkedMesh=3]="LinkedMesh",y[y.Path=4]="Path",y[y.Point=5]="Point",y[y.Clipping=6]="Clipping";var ex=0,eb=1,ey=2,ew=3,eM=4,eS=5,ek=6,eI=7,eB=8,eA=9,eT=10,eF=0,eC=1,eE=2,eP=3,eR=4,eY=5,e_=0,eX=1,eV=0,eD=1,eO=2,eN=0,eL=1,eq=2,eU=4,eW=5,ez=6,eG=7,ej=8,eH=1,eK=2,eJ=function(){function t(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=[],this.polygons=[],this.polygonPool=new P(function(){return C.newFloatArray(16)})}var e=t.prototype;return e.update=function(t,e){if(!t)throw Error("skeleton cannot be null.");var r=this.boundingBoxes,n=this.polygons,a=this.polygonPool,s=t.slots,o=s.length;r.length=0,a.freeAll(n),n.length=0;for(var h=0;h<o;h++){var l=s[h];if(l.bone.active){var c=l.getAttachment();if(i(c,tN)){r.push(c);var u=a.obtain();u.length!=c.worldVerticesLength&&(u=C.newFloatArray(c.worldVerticesLength)),n.push(u),c.computeWorldVertices(l,0,c.worldVerticesLength,u,0,2)}}}e?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)},e.aabbCompute=function(){for(var t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY,i=this.polygons,a=0,s=i.length;a<s;a++)for(var o=i[a],h=0,l=o.length;h<l;h+=2){var c=o[h],u=o[h+1];t=Math.min(t,c),e=Math.min(e,u),r=Math.max(r,c),n=Math.max(n,u)}this.minX=t,this.minY=e,this.maxX=r,this.maxY=n},e.aabbContainsPoint=function(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},e.aabbIntersectsSegment=function(t,e,r,n){var i=this.minX,a=this.minY,s=this.maxX,o=this.maxY;if(t<=i&&r<=i||e<=a&&n<=a||t>=s&&r>=s||e>=o&&n>=o)return!1;var h=(n-e)/(r-t),l=h*(i-t)+e;if(l>a&&l<o||(l=h*(s-t)+e)>a&&l<o)return!0;var c=(a-e)/h+t;return c>i&&c<s||(c=(o-e)/h+t)>i&&c<s},e.aabbIntersectsSkeleton=function(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY},e.containsPoint=function(t,e){for(var r=this.polygons,n=0,i=r.length;n<i;n++)if(this.containsPointPolygon(r[n],t,e))return this.boundingBoxes[n];return null},e.containsPointPolygon=function(t,e,r){for(var n=t.length,i=n-2,a=!1,s=0;s<n;s+=2){var o=t[s+1],h=t[i+1];if(o<r&&h>=r||h<r&&o>=r){var l=t[s];l+(r-o)/(h-o)*(t[i]-l)<e&&(a=!a)}i=s}return a},e.intersectsSegment=function(t,e,r,n){for(var i=this.polygons,a=0,s=i.length;a<s;a++)if(this.intersectsSegmentPolygon(i[a],t,e,r,n))return this.boundingBoxes[a];return null},e.intersectsSegmentPolygon=function(t,e,r,n,i){for(var a=t.length,s=e-n,o=r-i,h=e*i-r*n,l=t[a-2],c=t[a-1],u=0;u<a;u+=2){var d=t[u],f=t[u+1],m=l*f-c*d,v=l-d,p=c-f,g=s*p-o*v,x=(h*v-s*m)/g;if((x>=l&&x<=d||x>=d&&x<=l)&&(x>=e&&x<=n||x>=n&&x<=e)){var b=(h*p-o*m)/g;if((b>=c&&b<=f||b>=f&&b<=c)&&(b>=r&&b<=i||b>=i&&b<=r))return!0}l=d,c=f}return!1},e.getPolygon=function(t){if(!t)throw Error("boundingBox cannot be null.");var e=this.boundingBoxes.indexOf(t);return -1==e?null:this.polygons[e]},e.getWidth=function(){return this.maxX-this.minX},e.getHeight=function(){return this.maxY-this.minY},t}(),eQ=function(){function t(){this.convexPolygons=[],this.convexPolygonsIndices=[],this.indicesArray=[],this.isConcaveArray=[],this.triangles=[],this.polygonPool=new P(function(){return[]}),this.polygonIndicesPool=new P(function(){return[]})}var e=t.prototype;return e.triangulate=function(e){var r=e.length>>1,n=this.indicesArray;n.length=0;for(var i=0;i<r;i++)n[i]=i;var a=this.isConcaveArray;a.length=0;for(var s=0,o=r;s<o;++s)a[s]=t.isConcave(s,r,e,n);var h=this.triangles;for(h.length=0;r>3;){for(var l=r-1,c=0,u=1;;){t:if(!a[c]){for(var d=n[l]<<1,f=n[c]<<1,m=n[u]<<1,v=e[d],p=e[d+1],g=e[f],x=e[f+1],b=e[m],y=e[m+1],w=(u+1)%r;w!=l;w=(w+1)%r)if(a[w]){var M=n[w]<<1,S=e[M],k=e[M+1];if(t.positiveArea(b,y,v,p,S,k)&&t.positiveArea(v,p,g,x,S,k)&&t.positiveArea(g,x,b,y,S,k))break t}break}if(0==u){do{if(!a[c])break;c--}while(c>0);break}l=c,c=u,u=(u+1)%r}h.push(n[(r+c-1)%r]),h.push(n[c]),h.push(n[(c+1)%r]),n.splice(c,1),a.splice(c,1);var I=(--r+c-1)%r,B=c==r?0:c;a[I]=t.isConcave(I,r,e,n),a[B]=t.isConcave(B,r,e,n)}return 3==r&&(h.push(n[2]),h.push(n[0]),h.push(n[1])),h},e.decompose=function(e,r){var n=this.convexPolygons;this.polygonPool.freeAll(n),n.length=0;var i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;var a=this.polygonIndicesPool.obtain();a.length=0;var s=this.polygonPool.obtain();s.length=0;for(var o=-1,h=0,l=0,c=r.length;l<c;l+=3){var u=r[l]<<1,d=r[l+1]<<1,f=r[l+2]<<1,m=e[u],v=e[u+1],p=e[d],g=e[d+1],x=e[f],b=e[f+1],y=!1;if(o==u){var w=s.length-4,M=t.winding(s[w],s[w+1],s[w+2],s[w+3],x,b),S=t.winding(x,b,s[0],s[1],s[2],s[3]);M==h&&S==h&&(s.push(x),s.push(b),a.push(f),y=!0)}y||(s.length>0?(n.push(s),i.push(a)):(this.polygonPool.free(s),this.polygonIndicesPool.free(a)),(s=this.polygonPool.obtain()).length=0,s.push(m),s.push(v),s.push(p),s.push(g),s.push(x),s.push(b),(a=this.polygonIndicesPool.obtain()).length=0,a.push(u),a.push(d),a.push(f),h=t.winding(m,v,p,g,x,b),o=u)}s.length>0&&(n.push(s),i.push(a));for(var k=0,I=n.length;k<I;k++)if(0!=(a=i[k]).length){for(var B=a[0],A=a[a.length-1],T=(s=n[k]).length-4,F=s[T],C=s[T+1],E=s[T+2],P=s[T+3],R=s[0],Y=s[1],_=s[2],X=s[3],V=t.winding(F,C,E,P,R,Y),D=0;D<I;D++)if(D!=k){var O=i[D];if(3==O.length){var N=O[0],L=O[1],q=O[2],U=n[D],W=U[U.length-2],z=U[U.length-1];if(N==B&&L==A){var G=t.winding(F,C,E,P,W,z),j=t.winding(W,z,R,Y,_,X);G==V&&j==V&&(U.length=0,O.length=0,s.push(W),s.push(z),a.push(q),F=E,C=P,E=W,P=z,D=0)}}}}for(var H=n.length-1;H>=0;H--)0==(s=n[H]).length&&(n.splice(H,1),this.polygonPool.free(s),a=i[H],i.splice(H,1),this.polygonIndicesPool.free(a));return n},t.isConcave=function(t,e,r,n){var i=n[(e+t-1)%e]<<1,a=n[t]<<1,s=n[(t+1)%e]<<1;return!this.positiveArea(r[i],r[i+1],r[a],r[a+1],r[s],r[s+1])},t.positiveArea=function(t,e,r,n,i,a){return t*(a-n)+r*(e-a)+i*(n-e)>=0},t.winding=function(t,e,r,n,i,a){var s=r-t,o=n-e;return i*o-a*s+s*e-t*o>=0?1:-1},t}(),e$=function(){function t(){this.triangulator=new eQ,this.clippingPolygon=[],this.clipOutput=[],this.clippedVertices=[],this.clippedUVs=[],this.clippedTriangles=[],this.scratch=[],this.clipAttachment=null,this.clippingPolygons=null}var e=t.prototype;return e.clipStart=function(e,r){if(this.clipAttachment)return 0;this.clipAttachment=r;var n=r.worldVerticesLength,i=C.setArraySize(this.clippingPolygon,n);r.computeWorldVertices(e,0,n,i,0,2);var a=this.clippingPolygon;t.makeClockwise(a);for(var s=this.clippingPolygons=this.triangulator.decompose(a,this.triangulator.triangulate(a)),o=0,h=s.length;o<h;o++){var l=s[o];t.makeClockwise(l),l.push(l[0]),l.push(l[1])}return s.length},e.clipEndWithSlot=function(t){this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()},e.clipEnd=function(){this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)},e.isClipping=function(){return null!=this.clipAttachment},e.clipTriangles=function(t,e,r,n,i,a,s,o){var h,l,c,u,d,f;"number"==typeof e?(h=r,l=n,c=i,u=a,d=s,f=o):(h=e,l=r,c=n,u=i,d=a,f=s),c&&u&&d&&"boolean"==typeof f?this.clipTrianglesRender(t,h,l,c,u,d,f):this.clipTrianglesNoRender(t,h,l)},e.clipTrianglesNoRender=function(t,e,r){var n=this.clipOutput,i=this.clippedVertices,a=this.clippedTriangles,s=this.clippingPolygons,o=s.length,h=0;i.length=0,a.length=0;for(var l=0;l<r;l+=3)for(var c=e[l]<<1,u=t[c],d=t[c+1],f=t[c=e[l+1]<<1],m=t[c+1],v=t[c=e[l+2]<<1],p=t[c+1],g=0;g<o;g++){var x=i.length;if(this.clip(u,d,f,m,v,p,s[g],n)){var b=n.length;if(0==b)continue;for(var y=b>>1,w=this.clipOutput,M=C.setArraySize(i,x+2*y),S=0;S<b;S+=2,x+=2){var k=w[S],I=w[S+1];M[x]=k,M[x+1]=I}x=a.length;var B=C.setArraySize(a,x+3*(y-2));y--;for(var A=1;A<y;A++,x+=3)B[x]=h,B[x+1]=h+A,B[x+2]=h+A+1;h+=y+1}else{var T=C.setArraySize(i,x+6);T[x]=u,T[x+1]=d,T[x+2]=f,T[x+3]=m,T[x+4]=v,T[x+5]=p,x=a.length;var F=C.setArraySize(a,x+3);F[x]=h,F[x+1]=h+1,F[x+2]=h+2,h+=3;break}}},e.clipTrianglesRender=function(t,e,r,n,i,a,s){var o=this.clipOutput,h=this.clippedVertices,l=this.clippedTriangles,c=this.clippingPolygons,u=c.length,d=s?12:8,f=0;h.length=0,l.length=0;for(var m=0;m<r;m+=3)for(var v=e[m]<<1,p=t[v],g=t[v+1],x=n[v],b=n[v+1],y=t[v=e[m+1]<<1],w=t[v+1],M=n[v],S=n[v+1],k=t[v=e[m+2]<<1],I=t[v+1],B=n[v],A=n[v+1],T=0;T<u;T++){var F=h.length;if(this.clip(p,g,y,w,k,I,c[T],o)){var E=o.length;if(0==E)continue;for(var P=w-I,R=k-y,Y=p-k,_=I-g,X=1/(P*Y+R*(g-I)),V=E>>1,D=this.clipOutput,O=C.setArraySize(h,F+V*d),N=0;N<E;N+=2,F+=d){var L=D[N],q=D[N+1];O[F]=L,O[F+1]=q,O[F+2]=i.r,O[F+3]=i.g,O[F+4]=i.b,O[F+5]=i.a;var U=L-k,W=q-I,z=(P*U+R*W)*X,G=(_*U+Y*W)*X,j=1-z-G;O[F+6]=x*z+M*G+B*j,O[F+7]=b*z+S*G+A*j,s&&(O[F+8]=a.r,O[F+9]=a.g,O[F+10]=a.b,O[F+11]=a.a)}F=l.length;var H=C.setArraySize(l,F+3*(V-2));V--;for(var K=1;K<V;K++,F+=3)H[F]=f,H[F+1]=f+K,H[F+2]=f+K+1;f+=V+1}else{var J=C.setArraySize(h,F+3*d);J[F]=p,J[F+1]=g,J[F+2]=i.r,J[F+3]=i.g,J[F+4]=i.b,J[F+5]=i.a,s?(J[F+6]=x,J[F+7]=b,J[F+8]=a.r,J[F+9]=a.g,J[F+10]=a.b,J[F+11]=a.a,J[F+12]=y,J[F+13]=w,J[F+14]=i.r,J[F+15]=i.g,J[F+16]=i.b,J[F+17]=i.a,J[F+18]=M,J[F+19]=S,J[F+20]=a.r,J[F+21]=a.g,J[F+22]=a.b,J[F+23]=a.a,J[F+24]=k,J[F+25]=I,J[F+26]=i.r,J[F+27]=i.g,J[F+28]=i.b,J[F+29]=i.a,J[F+30]=B,J[F+31]=A,J[F+32]=a.r,J[F+33]=a.g,J[F+34]=a.b,J[F+35]=a.a):(J[F+6]=x,J[F+7]=b,J[F+8]=y,J[F+9]=w,J[F+10]=i.r,J[F+11]=i.g,J[F+12]=i.b,J[F+13]=i.a,J[F+14]=M,J[F+15]=S,J[F+16]=k,J[F+17]=I,J[F+18]=i.r,J[F+19]=i.g,J[F+20]=i.b,J[F+21]=i.a,J[F+22]=B,J[F+23]=A),F=l.length;var Q=C.setArraySize(l,F+3);Q[F]=f,Q[F+1]=f+1,Q[F+2]=f+2,f+=3;break}}},e.clipTrianglesUnpacked=function(t,e,r,n){var i=this.clipOutput,a=this.clippedVertices,s=this.clippedUVs,o=this.clippedTriangles,h=this.clippingPolygons,l=h.length,c=0;a.length=0,s.length=0,o.length=0;for(var u=0;u<r;u+=3)for(var d=e[u]<<1,f=t[d],m=t[d+1],v=n[d],p=n[d+1],g=t[d=e[u+1]<<1],x=t[d+1],b=n[d],y=n[d+1],w=t[d=e[u+2]<<1],M=t[d+1],S=n[d],k=n[d+1],I=0;I<l;I++){var B=a.length;if(this.clip(f,m,g,x,w,M,h[I],i)){var A=i.length;if(0==A)continue;for(var T=x-M,F=w-g,E=f-w,P=M-m,R=1/(T*E+F*(m-M)),Y=A>>1,_=this.clipOutput,X=C.setArraySize(a,B+2*Y),V=C.setArraySize(s,B+2*Y),D=0;D<A;D+=2,B+=2){var O=_[D],N=_[D+1];X[B]=O,X[B+1]=N;var L=O-w,q=N-M,U=(T*L+F*q)*R,W=(P*L+E*q)*R,z=1-U-W;V[B]=v*U+b*W+S*z,V[B+1]=p*U+y*W+k*z}B=o.length;var G=C.setArraySize(o,B+3*(Y-2));Y--;for(var j=1;j<Y;j++,B+=3)G[B]=c,G[B+1]=c+j,G[B+2]=c+j+1;c+=Y+1}else{var H=C.setArraySize(a,B+6);H[B]=f,H[B+1]=m,H[B+2]=g,H[B+3]=x,H[B+4]=w,H[B+5]=M;var K=C.setArraySize(s,B+6);K[B]=v,K[B+1]=p,K[B+2]=b,K[B+3]=y,K[B+4]=S,K[B+5]=k,B=o.length;var J=C.setArraySize(o,B+3);J[B]=c,J[B+1]=c+1,J[B+2]=c+2,c+=3;break}}},e.clip=function(t,e,r,n,i,a,s,o){var h,l=o,c=!1;s.length%4>=2?(h=o,o=this.scratch):h=this.scratch,h.length=0,h.push(t),h.push(e),h.push(r),h.push(n),h.push(i),h.push(a),h.push(t),h.push(e),o.length=0;for(var u=s.length-4,d=0;;d+=2){for(var f=s[d],m=s[d+1],v=f-s[d+2],p=m-s[d+3],g=o.length,x=h,b=0,y=h.length-2;b<y;){var w=x[b],M=x[b+1],S=x[b+=2],k=x[b+1],I=p*(f-S)>v*(m-k),B=p*(f-w)-v*(m-M);if(B>0){if(I){o.push(S),o.push(k);continue}var A=S-w,T=k-M,F=B/(A*p-T*v);if(F>=0&&F<=1)o.push(w+A*F),o.push(M+T*F);else{o.push(S),o.push(k);continue}}else if(I){var C=S-w,E=k-M,P=B/(C*p-E*v);if(P>=0&&P<=1)o.push(w+C*P),o.push(M+E*P),o.push(S),o.push(k);else{o.push(S),o.push(k);continue}}c=!0}if(g==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),d==u)break;var R=o;(o=h).length=0,h=R}if(l!=o){l.length=0;for(var Y=0,_=o.length-2;Y<_;Y++)l[Y]=o[Y]}else l.length=l.length-2;return c},t.makeClockwise=function(t){for(var e=t.length,r=t[e-2]*t[1]-t[0]*t[e-1],n=0,i=0,a=0,s=0,o=e-3;s<o;s+=2)n=t[s],i=t[s+1],a=t[s+2],r+=n*t[s+3]-a*i;if(!(r<0))for(var h=0,l=e-2,c=e>>1;h<c;h+=2){var u=t[h],d=t[h+1],f=l-h;t[h]=t[f],t[h+1]=t[f+1],t[f]=u,t[f+1]=d}},t}(),eZ=function(){function e(t){this.scale=1,this.linkedMeshes=[],this.attachmentLoader=t}var r=e.prototype;return r.readSkeletonData=function(e){var r,n,i=this.scale,a=new es,s="string"==typeof e?JSON.parse(e):e,o=s.skeleton;if(o&&(a.hash=o.hash,a.version=o.spine,a.x=o.x,a.y=o.y,a.width=o.width,a.height=o.height,a.referenceScale=e5(o,"referenceScale",100)*i,a.fps=o.fps,a.imagesPath=null!=(r=o.images)?r:null,a.audioPath=null!=(n=o.audio)?n:null),s.bones)for(var h=0;h<s.bones.length;h++){var l=s.bones[h],c=null,u=e5(l,"parent",null);u&&(c=a.findBone(u));var d=new t0(a.bones.length,l.name,c);d.length=e5(l,"length",0)*i,d.x=e5(l,"x",0)*i,d.y=e5(l,"y",0)*i,d.rotation=e5(l,"rotation",0),d.scaleX=e5(l,"scaleX",1),d.scaleY=e5(l,"scaleY",1),d.shearX=e5(l,"shearX",0),d.shearY=e5(l,"shearY",0),d.inherit=C.enumValue(t.Inherit,e5(l,"inherit","Normal")),d.skinRequired=e5(l,"skin",!1);var f=e5(l,"color",null);f&&d.color.setFromString(f),a.bones.push(d)}if(s.slots)for(var m=0;m<s.slots.length;m++){var v=s.slots[m],p=v.name,g=a.findBone(v.bone);if(!g)throw Error("Couldn't find bone "+v.bone+" for slot "+p);var x=new el(a.slots.length,p,g),b=e5(v,"color",null);b&&x.color.setFromString(b);var y=e5(v,"dark",null);y&&(x.darkColor=I.fromString(y)),x.attachmentName=e5(v,"attachment",null),x.blendMode=C.enumValue(t.BlendMode,e5(v,"blend","normal")),x.visible=e5(v,"visible",!0),a.slots.push(x)}if(s.ik)for(var w=0;w<s.ik.length;w++){var M=s.ik[w],S=new t7(M.name);S.order=e5(M,"order",0),S.skinRequired=e5(M,"skin",!1);for(var k=0;k<M.bones.length;k++){var B=a.findBone(M.bones[k]);if(!B)throw Error("Couldn't find bone "+M.bones[k]+" for IK constraint "+M.name+".");S.bones.push(B)}var A=a.findBone(M.target);if(!A)throw Error("Couldn't find target bone "+M.target+" for IK constraint "+M.name+".");S.target=A,S.mix=e5(M,"mix",1),S.softness=e5(M,"softness",0)*i,S.bendDirection=e5(M,"bendPositive",!0)?1:-1,S.compress=e5(M,"compress",!1),S.stretch=e5(M,"stretch",!1),S.uniform=e5(M,"uniform",!1),a.ikConstraints.push(S)}if(s.transform)for(var T=0;T<s.transform.length;T++){var F=s.transform[T],E=new ec(F.name);E.order=e5(F,"order",0),E.skinRequired=e5(F,"skin",!1);for(var P=0;P<F.bones.length;P++){var R=F.bones[P],Y=a.findBone(R);if(!Y)throw Error("Couldn't find bone "+R+" for transform constraint "+F.name+".");E.bones.push(Y)}var _=F.target,X=a.findBone(_);if(!X)throw Error("Couldn't find target bone "+_+" for transform constraint "+F.name+".");E.target=X,E.local=e5(F,"local",!1),E.relative=e5(F,"relative",!1),E.offsetRotation=e5(F,"rotation",0),E.offsetX=e5(F,"x",0)*i,E.offsetY=e5(F,"y",0)*i,E.offsetScaleX=e5(F,"scaleX",0),E.offsetScaleY=e5(F,"scaleY",0),E.offsetShearY=e5(F,"shearY",0),E.mixRotate=e5(F,"mixRotate",1),E.mixX=e5(F,"mixX",1),E.mixY=e5(F,"mixY",E.mixX),E.mixScaleX=e5(F,"mixScaleX",1),E.mixScaleY=e5(F,"mixScaleY",E.mixScaleX),E.mixShearY=e5(F,"mixShearY",1),a.transformConstraints.push(E)}if(s.path)for(var V=0;V<s.path.length;V++){var D=s.path[V],O=new t9(D.name);O.order=e5(D,"order",0),O.skinRequired=e5(D,"skin",!1);for(var N=0;N<D.bones.length;N++){var L=D.bones[N],q=a.findBone(L);if(!q)throw Error("Couldn't find bone "+L+" for path constraint "+D.name+".");O.bones.push(q)}var U=D.target,W=a.findSlot(U);if(!W)throw Error("Couldn't find target slot "+U+" for path constraint "+D.name+".");O.target=W,O.positionMode=C.enumValue(t.PositionMode,e5(D,"positionMode","Percent")),O.spacingMode=C.enumValue(t.SpacingMode,e5(D,"spacingMode","Length")),O.rotateMode=C.enumValue(t.RotateMode,e5(D,"rotateMode","Tangent")),O.offsetRotation=e5(D,"rotation",0),O.position=e5(D,"position",0),O.positionMode==t.PositionMode.Fixed&&(O.position*=i),O.spacing=e5(D,"spacing",0),(O.spacingMode==t.SpacingMode.Length||O.spacingMode==t.SpacingMode.Fixed)&&(O.spacing*=i),O.mixRotate=e5(D,"mixRotate",1),O.mixX=e5(D,"mixX",1),O.mixY=e5(D,"mixY",O.mixX),a.pathConstraints.push(O)}if(s.physics)for(var z=0;z<s.physics.length;z++){var G=s.physics[z],j=new ea(G.name);j.order=e5(G,"order",0),j.skinRequired=e5(G,"skin",!1);var H=G.bone,K=a.findBone(H);if(null==K)throw Error("Physics bone not found: "+H);j.bone=K,j.x=e5(G,"x",0),j.y=e5(G,"y",0),j.rotate=e5(G,"rotate",0),j.scaleX=e5(G,"scaleX",0),j.shearX=e5(G,"shearX",0),j.limit=e5(G,"limit",5e3)*i,j.step=1/e5(G,"fps",60),j.inertia=e5(G,"inertia",1),j.strength=e5(G,"strength",100),j.damping=e5(G,"damping",1),j.massInverse=1/e5(G,"mass",1),j.wind=e5(G,"wind",0),j.gravity=e5(G,"gravity",0),j.mix=e5(G,"mix",1),j.inertiaGlobal=e5(G,"inertiaGlobal",!1),j.strengthGlobal=e5(G,"strengthGlobal",!1),j.dampingGlobal=e5(G,"dampingGlobal",!1),j.massGlobal=e5(G,"massGlobal",!1),j.windGlobal=e5(G,"windGlobal",!1),j.gravityGlobal=e5(G,"gravityGlobal",!1),j.mixGlobal=e5(G,"mixGlobal",!1),a.physicsConstraints.push(j)}if(s.skins)for(var J=0;J<s.skins.length;J++){var Q=s.skins[J],$=new eh(Q.name);if(Q.bones)for(var Z=0;Z<Q.bones.length;Z++){var tt=Q.bones[Z],te=a.findBone(tt);if(!te)throw Error("Couldn't find bone "+tt+" for skin "+Q.name+".");$.bones.push(te)}if(Q.ik)for(var tr=0;tr<Q.ik.length;tr++){var tn=Q.ik[tr],ti=a.findIkConstraint(tn);if(!ti)throw Error("Couldn't find IK constraint "+tn+" for skin "+Q.name+".");$.constraints.push(ti)}if(Q.transform)for(var ta=0;ta<Q.transform.length;ta++){var ts=Q.transform[ta],to=a.findTransformConstraint(ts);if(!to)throw Error("Couldn't find transform constraint "+ts+" for skin "+Q.name+".");$.constraints.push(to)}if(Q.path)for(var th=0;th<Q.path.length;th++){var tl=Q.path[th],tc=a.findPathConstraint(tl);if(!tc)throw Error("Couldn't find path constraint "+tl+" for skin "+Q.name+".");$.constraints.push(tc)}if(Q.physics)for(var tu=0;tu<Q.physics.length;tu++){var td=Q.physics[tu],tf=a.findPhysicsConstraint(td);if(!tf)throw Error("Couldn't find physics constraint "+td+" for skin "+Q.name+".");$.constraints.push(tf)}for(var tm in Q.attachments){var tv=a.findSlot(tm);if(!tv)throw Error("Couldn't find slot "+tm+" for skin "+Q.name+".");var tp=Q.attachments[tm];for(var tg in tp){var tx=this.readAttachment(tp[tg],$,tv.index,tg,a);tx&&$.setAttachment(tv.index,tg,tx)}}a.skins.push($),"default"==$.name&&(a.defaultSkin=$)}for(var tb=0,ty=this.linkedMeshes.length;tb<ty;tb++){var tw=this.linkedMeshes[tb],tM=tw.skin?a.findSkin(tw.skin):a.defaultSkin;if(!tM)throw Error("Skin not found: "+tw.skin);var tS=tM.getAttachment(tw.slotIndex,tw.parent);if(!tS)throw Error("Parent mesh not found: "+tw.parent);tw.mesh.timelineAttachment=tw.inheritTimeline?tS:tw.mesh,tw.mesh.setParentMesh(tS),null!=tw.mesh.region&&tw.mesh.updateRegion()}if(this.linkedMeshes.length=0,s.events)for(var tk in s.events){var tI=s.events[tk],tB=new t8(tk);tB.intValue=e5(tI,"int",0),tB.floatValue=e5(tI,"float",0),tB.stringValue=e5(tI,"string",""),tB.audioPath=e5(tI,"audio",null),tB.audioPath&&(tB.volume=e5(tI,"volume",1),tB.balance=e5(tI,"balance",0)),a.events.push(tB)}if(s.animations)for(var tA in s.animations){var tT=s.animations[tA];this.readAnimation(tT,tA,a)}return a},r.readAttachment=function(t,e,r,n,i){var a=this.scale;switch(n=e5(t,"name",n),e5(t,"type","region")){case"region":var s=e5(t,"path",n),o=this.readSequence(e5(t,"sequence",null)),h=this.attachmentLoader.newRegionAttachment(e,n,s,o);if(!h)break;h.path=s,h.x=e5(t,"x",0)*a,h.y=e5(t,"y",0)*a,h.scaleX=e5(t,"scaleX",1),h.scaleY=e5(t,"scaleY",1),h.rotation=e5(t,"rotation",0),h.width=t.width*a,h.height=t.height*a,h.sequence=o;var l=e5(t,"color",null);return l&&h.color.setFromString(l),null!=h.region&&h.updateRegion(),h;case"boundingbox":var c=this.attachmentLoader.newBoundingBoxAttachment(e,n);if(!c)break;this.readVertices(t,c,t.vertexCount<<1);var u=e5(t,"color",null);return u&&c.color.setFromString(u),c;case"mesh":case"linkedmesh":var d=e5(t,"path",n),f=this.readSequence(e5(t,"sequence",null)),m=this.attachmentLoader.newMeshAttachment(e,n,d,f);if(!m)break;m.path=d;var v=e5(t,"color",null);v&&m.color.setFromString(v),m.width=e5(t,"width",0)*a,m.height=e5(t,"height",0)*a,m.sequence=f;var p=e5(t,"parent",null);if(p)return this.linkedMeshes.push(new e0(m,e5(t,"skin",null),r,p,e5(t,"timelines",!0))),m;var g=t.uvs;return this.readVertices(t,m,g.length),m.triangles=t.triangles,m.regionUVs=g,null!=m.region&&m.updateRegion(),m.edges=e5(t,"edges",null),m.hullLength=2*e5(t,"hull",0),m;case"path":var x=this.attachmentLoader.newPathAttachment(e,n);if(!x)break;x.closed=e5(t,"closed",!1),x.constantSpeed=e5(t,"constantSpeed",!0);var b=t.vertexCount;this.readVertices(t,x,b<<1);for(var y=C.newArray(b/3,0),w=0;w<t.lengths.length;w++)y[w]=t.lengths[w]*a;x.lengths=y;var M=e5(t,"color",null);return M&&x.color.setFromString(M),x;case"point":var S=this.attachmentLoader.newPointAttachment(e,n);if(!S)break;S.x=e5(t,"x",0)*a,S.y=e5(t,"y",0)*a,S.rotation=e5(t,"rotation",0);var k=e5(t,"color",null);return k&&S.color.setFromString(k),S;case"clipping":var I=this.attachmentLoader.newClippingAttachment(e,n);if(!I)break;var B=e5(t,"end",null);B&&(I.endSlot=i.findSlot(B));var A=t.vertexCount;this.readVertices(t,I,A<<1);var T=e5(t,"color",null);return T&&I.color.setFromString(T),I}return null},r.readSequence=function(t){if(null==t)return null;var e=new D(e5(t,"count",0));return e.start=e5(t,"start",1),e.digits=e5(t,"digits",0),e.setupIndex=e5(t,"setup",0),e},r.readVertices=function(t,e,r){var n=this.scale;e.worldVerticesLength=r;var i=t.vertices;if(r==i.length){var a=C.toFloatArray(i);if(1!=n)for(var s=0,o=i.length;s<o;s++)a[s]*=n;e.vertices=a;return}for(var h=[],l=[],c=0,u=i.length;c<u;){var d=i[c++];l.push(d);for(var f=c+4*d;c<f;c+=4)l.push(i[c]),h.push(i[c+1]*n),h.push(i[c+2]*n),h.push(i[c+3])}e.bones=l,e.vertices=C.toFloatArray(h)},r.readAnimation=function(e,r,n){var i=this.scale,a=[];if(e.slots)for(var s in e.slots){var o=e.slots[s],h=n.findSlot(s);if(!h)throw Error("Slot not found: "+s);var l=h.index;for(var c in o){var u=o[c];if(u){var d=u.length;if("attachment"==c){for(var f=new to(d,l),m=0;m<d;m++){var v=u[m];f.setFrame(m,e5(v,"time",0),e5(v,"name",null))}a.push(f)}else if("rgba"==c){for(var p=new tr(d,d<<2,l),g=u[0],x=e5(g,"time",0),b=I.fromString(g.color),y=0,M=0;;y++){p.setFrame(y,x,b.r,b.g,b.b,b.a);var S=u[y+1];if(!S){p.shrink(M);break}var k=e5(S,"time",0),B=I.fromString(S.color),A=g.curve;A&&(M=e3(A,p,M,y,0,x,k,b.r,B.r,1),M=e3(A,p,M,y,1,x,k,b.g,B.g,1),M=e3(A,p,M,y,2,x,k,b.b,B.b,1),M=e3(A,p,M,y,3,x,k,b.a,B.a,1)),x=k,b=B,g=S}a.push(p)}else if("rgb"==c){for(var T=new tn(d,3*d,l),F=u[0],E=e5(F,"time",0),P=I.fromString(F.color),R=0,Y=0;;R++){T.setFrame(R,E,P.r,P.g,P.b);var _=u[R+1];if(!_){T.shrink(Y);break}var X=e5(_,"time",0),V=I.fromString(_.color),D=F.curve;D&&(Y=e3(D,T,Y,R,0,E,X,P.r,V.r,1),Y=e3(D,T,Y,R,1,E,X,P.g,V.g,1),Y=e3(D,T,Y,R,2,E,X,P.b,V.b,1)),E=X,P=V,F=_}a.push(T)}else if("alpha"==c)a.push(e1(u,new ti(d,d,l),0,1));else if("rgba2"==c){for(var O=new ta(d,7*d,l),L=u[0],q=e5(L,"time",0),U=I.fromString(L.light),W=I.fromString(L.dark),tp=0,tB=0;;tp++){O.setFrame(tp,q,U.r,U.g,U.b,U.a,W.r,W.g,W.b);var tA=u[tp+1];if(!tA){O.shrink(tB);break}var tT=e5(tA,"time",0),tF=I.fromString(tA.light),tC=I.fromString(tA.dark),tE=L.curve;tE&&(tB=e3(tE,O,tB,tp,0,q,tT,U.r,tF.r,1),tB=e3(tE,O,tB,tp,1,q,tT,U.g,tF.g,1),tB=e3(tE,O,tB,tp,2,q,tT,U.b,tF.b,1),tB=e3(tE,O,tB,tp,3,q,tT,U.a,tF.a,1),tB=e3(tE,O,tB,tp,4,q,tT,W.r,tC.r,1),tB=e3(tE,O,tB,tp,5,q,tT,W.g,tC.g,1),tB=e3(tE,O,tB,tp,6,q,tT,W.b,tC.b,1)),q=tT,U=tF,W=tC,L=tA}a.push(O)}else if("rgb2"==c){for(var tP=new ts(d,6*d,l),tR=u[0],tY=e5(tR,"time",0),t_=I.fromString(tR.light),tX=I.fromString(tR.dark),tV=0,tD=0;;tV++){tP.setFrame(tV,tY,t_.r,t_.g,t_.b,tX.r,tX.g,tX.b);var tO=u[tV+1];if(!tO){tP.shrink(tD);break}var tN=e5(tO,"time",0),tL=I.fromString(tO.light),tq=I.fromString(tO.dark),tU=tR.curve;tU&&(tD=e3(tU,tP,tD,tV,0,tY,tN,t_.r,tL.r,1),tD=e3(tU,tP,tD,tV,1,tY,tN,t_.g,tL.g,1),tD=e3(tU,tP,tD,tV,2,tY,tN,t_.b,tL.b,1),tD=e3(tU,tP,tD,tV,3,tY,tN,tX.r,tq.r,1),tD=e3(tU,tP,tD,tV,4,tY,tN,tX.g,tq.g,1),tD=e3(tU,tP,tD,tV,5,tY,tN,tX.b,tq.b,1)),tY=tN,t_=tL,tX=tq,tR=tO}a.push(tP)}}}}if(e.bones)for(var tW in e.bones){var tz=e.bones[tW],tG=n.findBone(tW);if(!tG)throw Error("Bone not found: "+tW);var tj=tG.index;for(var tH in tz){var tK=tz[tH],tJ=tK.length;if(0!=tJ){if("rotate"===tH)a.push(e1(tK,new z(tJ,tJ,tj),0,1));else if("translate"===tH){var tQ=new G(tJ,tJ<<1,tj);a.push(e2(tK,tQ,"x","y",0,i))}else if("translatex"===tH){var t$=new j(tJ,tJ,tj);a.push(e1(tK,t$,0,i))}else if("translatey"===tH){var tZ=new H(tJ,tJ,tj);a.push(e1(tK,tZ,0,i))}else if("scale"===tH){var t0=new K(tJ,tJ<<1,tj);a.push(e2(tK,t0,"x","y",1,1))}else if("scalex"===tH){var t1=new J(tJ,tJ,tj);a.push(e1(tK,t1,1,1))}else if("scaley"===tH){var t2=new Q(tJ,tJ,tj);a.push(e1(tK,t2,1,1))}else if("shear"===tH){var t3=new $(tJ,tJ<<1,tj);a.push(e2(tK,t3,"x","y",0,1))}else if("shearx"===tH){var t5=new Z(tJ,tJ,tj);a.push(e1(tK,t5,0,1))}else if("sheary"===tH){var t8=new tt(tJ,tJ,tj);a.push(e1(tK,t8,0,1))}else if("inherit"===tH){for(var t4=new te(tJ,tG.index),t7=0;t7<tK.length;t7++){var t9=tK[t7];t4.setFrame(t7,e5(t9,"time",0),C.enumValue(t.Inherit,e5(t9,"inherit","Normal")))}a.push(t4)}}}}if(e.ik)for(var et in e.ik){var ee=e.ik[et],er=ee[0];if(er){var en=n.findIkConstraint(et);if(!en)throw Error("IK Constraint not found: "+et);for(var ei=n.ikConstraints.indexOf(en),ea=new tu(ee.length,ee.length<<1,ei),es=e5(er,"time",0),eo=e5(er,"mix",1),eh=e5(er,"softness",0)*i,el=0,ec=0;;el++){ea.setFrame(el,es,eo,eh,e5(er,"bendPositive",!0)?1:-1,e5(er,"compress",!1),e5(er,"stretch",!1));var eu=ee[el+1];if(!eu){ea.shrink(ec);break}var ed=e5(eu,"time",0),ef=e5(eu,"mix",1),em=e5(eu,"softness",0)*i,ev=er.curve;ev&&(ec=e3(ev,ea,ec,el,0,es,ed,eo,ef,1),ec=e3(ev,ea,ec,el,1,es,ed,eh,em,i)),es=ed,eo=ef,eh=em,er=eu}a.push(ea)}}if(e.transform)for(var ep in e.transform){var eg=e.transform[ep],ex=eg[0];if(ex){var eb=n.findTransformConstraint(ep);if(!eb)throw Error("Transform constraint not found: "+ep);for(var ey=n.transformConstraints.indexOf(eb),ew=new td(eg.length,6*eg.length,ey),eM=e5(ex,"time",0),eS=e5(ex,"mixRotate",1),ek=e5(ex,"mixX",1),eI=e5(ex,"mixY",ek),eB=e5(ex,"mixScaleX",1),eA=e5(ex,"mixScaleY",eB),eT=e5(ex,"mixShearY",1),eF=0,eC=0;;eF++){ew.setFrame(eF,eM,eS,ek,eI,eB,eA,eT);var eE=eg[eF+1];if(!eE){ew.shrink(eC);break}var eP=e5(eE,"time",0),eR=e5(eE,"mixRotate",1),eY=e5(eE,"mixX",1),e_=e5(eE,"mixY",eY),eX=e5(eE,"mixScaleX",1),eV=e5(eE,"mixScaleY",eX),eD=e5(eE,"mixShearY",1),eO=ex.curve;eO&&(eC=e3(eO,ew,eC,eF,0,eM,eP,eS,eR,1),eC=e3(eO,ew,eC,eF,1,eM,eP,ek,eY,1),eC=e3(eO,ew,eC,eF,2,eM,eP,eI,e_,1),eC=e3(eO,ew,eC,eF,3,eM,eP,eB,eX,1),eC=e3(eO,ew,eC,eF,4,eM,eP,eA,eV,1),eC=e3(eO,ew,eC,eF,5,eM,eP,eT,eD,1)),eM=eP,eS=eR,ek=eY,eI=e_,eB=eX,eA=eV,eB=eX,ex=eE}a.push(ew)}}if(e.path)for(var eN in e.path){var eL=e.path[eN],eq=n.findPathConstraint(eN);if(!eq)throw Error("Path constraint not found: "+eN);var eU=n.pathConstraints.indexOf(eq);for(var eW in eL){var ez=eL[eW],eG=ez[0];if(eG){var ej=ez.length;if("position"===eW){var eH=new tf(ej,ej,eU);a.push(e1(ez,eH,0,eq.positionMode==t.PositionMode.Fixed?i:1))}else if("spacing"===eW){var eK=new tm(ej,ej,eU);a.push(e1(ez,eK,0,eq.spacingMode==t.SpacingMode.Length||eq.spacingMode==t.SpacingMode.Fixed?i:1))}else if("mix"===eW){for(var eJ=new tv(ej,3*ej,eU),eQ=e5(eG,"time",0),e$=e5(eG,"mixRotate",1),eZ=e5(eG,"mixX",1),e0=e5(eG,"mixY",eZ),e6=0,e8=0;;e6++){eJ.setFrame(e6,eQ,e$,eZ,e0);var e4=ez[e6+1];if(!e4){eJ.shrink(e8);break}var e7=e5(e4,"time",0),e9=e5(e4,"mixRotate",1),rt=e5(e4,"mixX",1),re=e5(e4,"mixY",rt),rr=eG.curve;rr&&(e8=e3(rr,eJ,e8,e6,0,eQ,e7,e$,e9,1),e8=e3(rr,eJ,e8,e6,1,eQ,e7,eZ,rt,1),e8=e3(rr,eJ,e8,e6,2,eQ,e7,e0,re,1)),eQ=e7,e$=e9,eZ=rt,e0=re,eG=e4}a.push(eJ)}}}}if(e.physics)for(var rn in e.physics){var ri=e.physics[rn],ra=-1;if(rn.length>0){var rs=n.findPhysicsConstraint(rn);if(!rs)throw Error("Physics constraint not found: "+rn);ra=n.physicsConstraints.indexOf(rs)}for(var ro in ri){var rh=ri[ro],rl=rh[0];if(rl){var rc=rh.length;if("reset"==ro){for(var ru=new tk(rc,ra),rd=0;null!=rl;rl=rh[rd+1],rd++)ru.setFrame(rd,e5(rl,"time",0));a.push(ru);continue}var rf=void 0;if("inertia"==ro)rf=new tg(rc,rc,ra);else if("strength"==ro)rf=new tx(rc,rc,ra);else if("damping"==ro)rf=new tb(rc,rc,ra);else if("mass"==ro)rf=new ty(rc,rc,ra);else if("wind"==ro)rf=new tw(rc,rc,ra);else if("gravity"==ro)rf=new tM(rc,rc,ra);else{if("mix"!=ro)continue;rf=new tS(rc,rc,ra)}a.push(e1(rh,rf,0,1))}}}if(e.attachments)for(var rm in e.attachments){var rv=e.attachments[rm],rp=n.findSkin(rm);if(!rp)throw Error("Skin not found: "+rm);for(var rg in rv){var rx=rv[rg],rb=n.findSlot(rg);if(!rb)throw Error("Slot not found: "+rg);var ry=rb.index;for(var rw in rx){var rM=rx[rw],rS=rp.getAttachment(ry,rw);for(var rk in rM){var rI=rM[rk],rB=rI[0];if(rB){if("deform"==rk){for(var rA=rS.bones,rT=rS.vertices,rF=rA?rT.length/3*2:rT.length,rC=new th(rI.length,rI.length,ry,rS),rE=e5(rB,"time",0),rP=0,rR=0;;rP++){var rY=void 0,r_=e5(rB,"vertices",null);if(r_){rY=C.newFloatArray(rF);var rX=e5(rB,"offset",0);if(C.arrayCopy(r_,0,rY,rX,r_.length),1!=i)for(var rV=rX,rD=rV+r_.length;rV<rD;rV++)rY[rV]*=i;if(!rA)for(var rO=0;rO<rF;rO++)rY[rO]+=rT[rO]}else rY=rA?C.newFloatArray(rF):rT;rC.setFrame(rP,rE,rY);var rN=rI[rP+1];if(!rN){rC.shrink(rR);break}var rL=e5(rN,"time",0),rq=rB.curve;rq&&(rR=e3(rq,rC,rR,rP,0,rE,rL,0,1,1)),rE=rL,rB=rN}a.push(rC)}else if("sequence"==rk){for(var rU=new tI(rI.length,ry,rS),rW=0,rz=0;rz<rI.length;rz++){var rG=e5(rB,"delay",rW),rj=e5(rB,"time",0),rH=w[e5(rB,"mode","hold")],rK=e5(rB,"index",0);rU.setFrame(rz,rj,rH,rK,rG),rW=rG,rB=rI[rz+1]}a.push(rU)}}}}}}if(e.drawOrder){for(var rJ=new tc(e.drawOrder.length),rQ=n.slots.length,r$=0,rZ=0;rZ<e.drawOrder.length;rZ++,r$++){var r0=e.drawOrder[rZ],r1=null,r2=e5(r0,"offsets",null);if(r2){r1=C.newArray(rQ,-1);for(var r3=C.newArray(rQ-r2.length,0),r5=0,r6=0,r8=0;r8<r2.length;r8++){var r4=r2[r8],r7=n.findSlot(r4.slot);if(!r7)throw Error("Slot not found: "+r7);for(var r9=r7.index;r5!=r9;)r3[r6++]=r5++;r1[r5+r4.offset]=r5++}for(;r5<rQ;)r3[r6++]=r5++;for(var nt=rQ-1;nt>=0;nt--)-1==r1[nt]&&(r1[nt]=r3[--r6])}rJ.setFrame(r$,e5(r0,"time",0),r1)}a.push(rJ)}if(e.events){for(var ne=new tl(e.events.length),nr=0,nn=0;nn<e.events.length;nn++,nr++){var ni=e.events[nn],na=n.findEvent(ni.name);if(!na)throw Error("Event not found: "+ni.name);var ns=new t6(C.toSinglePrecision(e5(ni,"time",0)),na);ns.intValue=e5(ni,"int",na.intValue),ns.floatValue=e5(ni,"float",na.floatValue),ns.stringValue=e5(ni,"string",na.stringValue),ns.data.audioPath&&(ns.volume=e5(ni,"volume",1),ns.balance=e5(ni,"balance",0)),ne.setFrame(nr,ns)}a.push(ne)}for(var no=0,nh=0,nl=a.length;nh<nl;nh++)no=Math.max(no,a[nh].getDuration());n.animations.push(new N(r,a,no))},e}(),e0=function(t,e,r,n,i){this.mesh=t,this.skin=e,this.slotIndex=r,this.parent=n,this.inheritTimeline=i};function e1(t,e,r,n){for(var i=t[0],a=e5(i,"time",0),s=e5(i,"value",r)*n,o=0,h=0;;h++){e.setFrame(h,a,s);var l=t[h+1];if(!l)return e.shrink(o),e;var c=e5(l,"time",0),u=e5(l,"value",r)*n;i.curve&&(o=e3(i.curve,e,o,h,0,a,c,s,u,n)),a=c,s=u,i=l}}function e2(t,e,r,n,i,a){for(var s=t[0],o=e5(s,"time",0),h=e5(s,r,i)*a,l=e5(s,n,i)*a,c=0,u=0;;u++){e.setFrame(u,o,h,l);var d=t[u+1];if(!d)return e.shrink(c),e;var f=e5(d,"time",0),m=e5(d,r,i)*a,v=e5(d,n,i)*a,p=s.curve;p&&(c=e3(p,e,c,u,0,o,f,h,m,a),c=e3(p,e,c,u,1,o,f,l,v,a)),o=f,h=m,l=v,s=d}}function e3(t,e,r,n,i,a,s,o,h,l){if("stepped"==t)return e.setStepped(n),r;var c=i<<2,u=t[c],d=t[c+1]*l,f=t[c+2],m=t[c+3]*l;return e.setBezier(r,n,i,a,o,u,d,f,m,s,h),r+1}function e5(t,e,r){return void 0!==t[e]?t[e]:r}!function(){if(void 0===Math.fround){var t;Math.fround=(t=new Float32Array(1),function(e){return t[0]=e,t[0]})}}();var e6=function(r){function i(t){var e;return e=r.call(this,t)||this,t.generateMipmaps(),e}n(i,r);var a=i.prototype;return a.getImage=function(){return this._image},a.setFilters=function(r,n){r===t.TextureFilter.Nearest?this._image.filterMode=e.TextureFilterMode.Point:n===t.TextureFilter.MipMapLinearLinear?this._image.filterMode=e.TextureFilterMode.Trilinear:this._image.filterMode=e.TextureFilterMode.Bilinear},a.setWraps=function(t,e){this._image.wrapModeU=this._convertWrapMode(t),this._image.wrapModeV=this._convertWrapMode(e)},a.dispose=function(){},a._convertWrapMode=function(r){switch(r){case t.TextureWrap.ClampToEdge:return e.TextureWrapMode.Clamp;case t.TextureWrap.Repeat:return e.TextureWrapMode.Repeat;case t.TextureWrap.MirroredRepeat:return e.TextureWrapMode.Mirror;default:throw Error("Unsupported texture wrap mode.")}},i}(tq),e8=function(){function t(){}return t.createSkeletonData=function(t,e,r){var n=new tZ(e);if("string"==typeof t){var i=new eZ(n);return i.scale=r,i.readSkeletonData(t)}var a=new eu(n);return a.scale=r,a.readSkeletonData(new Uint8Array(t))},t.createTextureAtlas=function(t,e){var r=new tz(t);return r.pages.forEach(function(t,r){var n=new e6(e.find(function(e){return e.name===t.name})||e[r]);t.setTexture(n)}),r},t.loadTexturesByPaths=function(t,r,n,i){var a=n.resourceManager,s=a._virtualPathResourceMap;return Promise.all(t.map(function(t,n){var i=r[n],o=e.AssetType.Texture2D,h=s[t];return h?o=h.type:"ktx"===i?o=e.AssetType.KTX:"ktx2"===i&&(o=e.AssetType.KTX2),a.load({url:t,type:o})})).catch(function(t){return i(t),[]})},t.loadTextureAtlas=function(r,n,i){var a,s=t.getBaseUrl(r),o=n.resourceManager;return o._request(r,{type:"text"}).then(function(r){return Promise.all(new tz(a=r).pages.map(function(t){var r=s+t.name;return o.load({url:r,type:e.AssetType.Texture2D})})).then(function(e){return t.createTextureAtlas(a,e)})}).catch(function(t){return i(Error("Spine Atlas: "+r+" load error: "+t)),null})},t.getBaseUrl=function(t){if(!/^(http|https|ftp):\/\/.*/i.test(t)){var e=t.lastIndexOf("/");return -1===e?"":t.substring(0,e+1)}var r=new URL(t),n=r.origin+r.pathname;return n.endsWith("/")?n:n.substring(0,n.lastIndexOf("/")+1)},t}(),e4=e.BlendFactor.SourceAlpha,e7=e.BlendFactor.One,e9=e.BlendFactor.DestinationColor,rt=e.BlendFactor.Zero,re=e.BlendFactor.OneMinusSourceColor,rr=e.BlendFactor.OneMinusSourceAlpha,rn=e.BlendOperation.Add;function ri(e,r,n){var i=e.renderState.blendState.targetBlendState;switch(r){case t.BlendMode.Additive:i.sourceColorBlendFactor=n?e7:e4,i.destinationColorBlendFactor=e7,i.sourceAlphaBlendFactor=e7,i.destinationAlphaBlendFactor=e7,i.colorBlendOperation=i.alphaBlendOperation=rn;break;case t.BlendMode.Multiply:i.sourceColorBlendFactor=e9,i.destinationColorBlendFactor=rr,i.sourceAlphaBlendFactor=e7,i.destinationAlphaBlendFactor=rr,i.colorBlendOperation=i.alphaBlendOperation=rn;break;case t.BlendMode.Screen:i.sourceColorBlendFactor=e7,i.destinationColorBlendFactor=re,i.sourceAlphaBlendFactor=e7,i.destinationAlphaBlendFactor=re,i.colorBlendOperation=i.alphaBlendOperation=rn;break;default:i.sourceColorBlendFactor=n?e7:e4,i.destinationColorBlendFactor=rr,i.sourceAlphaBlendFactor=e7,i.destinationAlphaBlendFactor=rr,i.colorBlendOperation=i.alphaBlendOperation=rn}}var ra=function(){function t(t){this._usedElementCount=0,this._type=t,this._elements=[]}var e=t.prototype;return e.get=function(){var t=this._usedElementCount,e=this._elements;if(this._usedElementCount++,e.length!==t)return e[t];var r=new this._type;return e.push(r),r},e.clear=function(){this._usedElementCount=0},t}(),rs=function(){function t(t,e){void 0===e&&(e=1),this._type=t,this._lastElementIndex=e-1;for(var r=this._elements=Array(e),n=0;n<e;++n)r[n]=new t}var e=t.prototype;return e.get=function(){return this._lastElementIndex<0?new this._type:this._elements[this._lastElementIndex--]},e.return=function(t){this._elements[++this._lastElementIndex]=t},t}(),ro=function(){function e(){this._separateSlots=new Map,this._subRenderItems=[],this._clipper=new e$,this._separateSlotTextureMap=new Map}var r=e.prototype;return r.buildPrimitive=function(r,n){var i,a,s=n._indices,o=n._vertices,h=n._localBounds,l=n._vertexCount,c=n._subPrimitives,u=n.engine,d=n.zSpacing,f=n.premultipliedAlpha;h.min.set(1/0,1/0,1/0),h.max.set(-1/0,-1/0,-1/0);var m=this._clipper,v=this._separateSlots,p=this._subRenderItems,g=this._separateSlotTextureMap,x=e.tempVerts,b=e.subRenderItemPool,y=e.subPrimitivePool,w=e.VERTEX_SIZE;p.length=0,b.clear();for(var M=0,S=0,k=0,I=0,B=t.BlendMode.Normal,A=null,T=null,F=null,C=0,E=r.drawOrder,P=0,R=E.length;P<R;++P){var Y=E[P];if(!Y.bone.active){m.clipEndWithSlot(Y);continue}var _=Y.getAttachment();if(!_){m.clipEndWithSlot(Y);continue}var X=d*P,V=m.isClipping(),D=0,O=null,N=V?2:w;switch(_.constructor){case t$:O=_.color,D=4*N,_.computeWorldVertices(Y,x,0,N),i=e.QUAD_TRIANGLES,a=_.uvs,A=_.region.texture;break;case tK:O=_.color,(D=(_.worldVerticesLength>>1)*N)>o.length&&(e.tempVerts=Array(D)),_.computeWorldVertices(Y,0,_.worldVerticesLength,x,0,N),i=_.triangles,a=_.uvs,A=_.region.texture;break;case tL:m.clipStart(Y,_);continue;default:m.clipEndWithSlot(Y);continue}if(null!=A){var L=void 0,q=void 0,U=void 0,W=void 0,z=Y.bone.skeleton.color,G=Y.color,j=e.tempColor,H=z.a*G.a*O.a;if(j.r=z.r*G.r*O.r,j.g=z.g*G.g*O.g,j.b=z.b*G.b*O.b,j.a=H,f&&(j.r*=H,j.g*=H,j.b*=H),V)m.clipTriangles(x,i,i.length,a,j,e.tempDark,!1),q=(L=m.clippedVertices).length,W=(U=m.clippedTriangles).length;else{for(var K=j.r,J=j.g,Q=j.b,$=j.a,Z=2,tt=0,te=D;Z<te;Z+=N,tt+=2)x[Z]=K,x[Z+1]=J,x[Z+2]=Q,x[Z+3]=$,x[Z+4]=a[tt],x[Z+5]=a[tt+1];L=x,q=D,U=i,W=i.length}if(0==q||0==W){m.clipEndWithSlot(Y);continue}for(var tr=M/e.VERTEX_STRIDE,tn=M,ti=0;ti<q;){var ta=L[ti++],ts=L[ti++];o[tn++]=ta,o[tn++]=ts,o[tn++]=X,o[tn++]=L[ti++],o[tn++]=L[ti++],o[tn++]=L[ti++],o[tn++]=L[ti++],o[tn++]=L[ti++],o[tn++]=L[ti++],this._expandBounds(ta,ts,X,h)}for(M=tn,tn=S,ti=0;ti<W;tn++,ti++)s[tn]=U[ti]+tr;S+=W;var to=Y.data,th=to.name,tl=null!==F&&F!==A,tc=v.get(th);B=to.blendMode;var tu=null!==T&&T!==B;if(tc||tu||tl){if(I>0&&(C=this._createRenderItem(c,C,k,I,F,T),k+=I,I=0),tc){var td=g.get(th);if(td){var tf=A.getImage();td.filterMode=tf.filterMode,td.wrapModeU=tf.wrapModeU,td.wrapModeV=tf.wrapModeV}C=this._createRenderItem(c,C,k,W,A,B,th),k+=W,I=0}else I+=W}else I+=W;F=A,T=B}m.clipEndWithSlot(Y)}I>0&&(C=this._createRenderItem(c,C,k,I,A,B),I=0),m.clipEnd();for(var tm=c.length,tv=p.length,tp=tv;tp<tm;tp++){var tg=c[tp];y.return(tg)}n._clearSubPrimitives();for(var tx=rl._materialCache,tb=0;tb<tv;++tb){var ty=p[tb],tw=ty.slotName,tM=ty.blendMode,tS=ty.texture;n._addSubPrimitive(ty.subPrimitive);var tk=g.get(tw)||tS.getImage(),tI=tk.instanceId+"_"+tM+"_"+f,tB=tx.get(tI);tB||(tB=this._createMaterialForTexture(tk,u,tM,f),tx.set(tI,tB)),n.setMaterial(tb,tB)}if(S>l){n._createAndBindBuffer(S),this.buildPrimitive(r,n);return}n._vertexBuffer.setData(o),n._indexBuffer.setData(s)},r.addSeparateSlot=function(t){this._separateSlots.set(t,t)},r.addSeparateSlotTexture=function(t,e){this._separateSlotTextureMap.set(t,e)},r._createMaterialForTexture=function(t,e,r,n){var i=rl._getDefaultMaterial(e);return i.shaderData.setTexture("material_SpineTexture",t),ri(i,r,n),i},r._createRenderItem=function(t,r,n,i,a,s,o){var h=e.subPrimitivePool,l=e.subRenderItemPool,c=t[r];c&&r++;var u=c||h.get();u.start=n,u.count=i;var d=l.get();return d.blendMode=s,d.subPrimitive=u,d.texture=a,d.slotName=o,this._subRenderItems.push(d),r},r._expandBounds=function(t,e,r,n){var i=n.min,a=n.max;i.set(Math.min(i.x,t),Math.min(i.y,e),Math.min(i.z,r)),a.set(Math.max(a.x,t),Math.max(a.y,e),Math.max(a.z,r))},e}();ro.VERTEX_SIZE=8,ro.VERTEX_STRIDE=9,ro.tempDark=new I,ro.tempColor=new I,ro.tempVerts=Array(8),ro.QUAD_TRIANGLES=[0,1,2,2,3,0],ro.subPrimitivePool=new rs(e.SubPrimitive),ro.subRenderItemPool=new ra(function(){});var rh=function(r){function i(n){var a,s=e.Shader.find("galacean-spine-shader")||e.Shader.create("galacean-spine-shader",i._spineVS,i._spineFS),o=(a=r.call(this,n,s)||this).renderState;return o.blendState.targetBlendState.enabled=!0,ri(a,t.BlendMode.Normal,!1),o.depthState.writeEnabled=!1,o.rasterState.cullMode=e.CullMode.Off,o.renderQueueType=e.RenderQueueType.Transparent,a}return n(i,r),i}(e.Material);rh._spineVS="\n uniform mat4 renderer_MVPMat;\n\n attribute vec3 POSITION;\n attribute vec2 TEXCOORD_0;\n attribute vec4 COLOR_0;\n \n varying vec2 v_uv;\n varying vec4 v_color;\n \n void main()\n {\n gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);\n \n v_uv = TEXCOORD_0;\n v_color = COLOR_0;\n }\n ",rh._spineFS="\n uniform sampler2D material_SpineTexture;\n\n varying vec2 v_uv;\n varying vec4 v_color;\n \n void main()\n {\n vec4 baseColor = texture2D(material_SpineTexture, v_uv);\n gl_FragColor = baseColor * v_color;\n }\n ";var rl=function(r){function i(t){(n=r.call(this,t)||this).zSpacing=.01,n.premultipliedAlpha=!1,n.defaultConfig=new rc,n._subPrimitives=[],n._vertices=new Float32Array,n._indices=new Uint16Array,n._needResizeBuffer=!1,n._vertexCount=0,n._localBounds=new e.BoundingBox(new e.Vector3(1/0,1/0,1/0),new e.Vector3(-1/0,-1/0,-1/0));var n,a=new e.Primitive(n._engine);return n._primitive=a,a.addVertexElement(i._positionVertexElement),a.addVertexElement(i._colorVertexElement),a.addVertexElement(i._uvVertexElement),n}n(i,r);var a=i.prototype;return a._onEnable=function(){this._applyDefaultConfig()},a.update=function(e){var r=this._state,n=this._skeleton;r&&n&&(r.update(e),r.apply(n),n.update(e),n.updateWorldTransform(t.Physics.update),i._spineGenerator.buildPrimitive(this._skeleton,this),this._dirtyUpdateFlag|=1)},a._render=function(t){var e=this._primitive,r=this._subPrimitives,n=this._materials,i=this._engine,a=i._renderElementPool.get();a.set(this.priority,this._distanceForSort);var s=i._subRenderElementPool;if(r){for(var o=0,h=r.length;o<h;o++){var l=n[o];if(l){(l.destroyed||l.shader.destroyed)&&(l=this.engine._meshMagentaMaterial);var c=s.get();c.set(this,l,e,r[o]),a.addSubRenderElement(c)}}t.camera._renderPipeline.pushRenderElement(t,a)}},a._updateBounds=function(t){e.BoundingBox.transform(this._localBounds,this.entity.transform.worldMatrix,t)},a._setSkeleton=function(t){this._skeleton=t},a._setState=function(t){this._state=t},a._cloneTo=function(t){var e=this._skeleton.data,r=new tO(e),n=new ei(e),i=new tT(r);t._setSkeleton(n),t._setState(i)},a._onDestroy=function(){this._clearMaterialCache(),this._subPrimitives.length=0,this._primitive&&this._primitive.destroy(),this._primitive=null,this._resource=null,this._skeleton=null,this._state=null,r.prototype._onDestroy.call(this)},a._createAndBindBuffer=function(t){var r=this._engine,n=this._primitive;this._vertexCount=t,this._vertices=new Float32Array(t*ro.VERTEX_STRIDE),this._indices=new Uint16Array(t);var i=4*ro.VERTEX_STRIDE,a=new e.Buffer(r,e.BufferBindFlag.VertexBuffer,this._vertices,e.BufferUsage.Dynamic),s=new e.Buffer(r,e.BufferBindFlag.IndexBuffer,this._indices,e.BufferUsage.Dynamic);this._indexBuffer=s,this._vertexBuffer=a;var o=new e.VertexBufferBinding(a,i);this._primitive.setVertexBufferBinding(0,o);var h=new e.IndexBufferBinding(s,e.IndexFormat.UInt16);n.setIndexBufferBinding(h)},a._addSubPrimitive=function(t){this._subPrimitives.push(t)},a._clearSubPrimitives=function(){this._subPrimitives.length=0},a._clearMaterialCache=function(){for(var e=i._materialCache,r=this._materials,n=0,a=r.length;n<a;n+=1){var s=r[n],o=s.shaderData.getTexture("material_SpineTexture"),h=function(e){var r=e.renderState.blendState.targetBlendState;return r.sourceColorBlendFactor===e4&&r.destinationColorBlendFactor===e7&&r.sourceAlphaBlendFactor===e7&&r.destinationAlphaBlendFactor===e7&&r.colorBlendOperation===rn&&r.alphaBlendOperation===rn?t.BlendMode.Additive:r.sourceColorBlendFactor===e9&&r.destinationColorBlendFactor===rt&&r.sourceAlphaBlendFactor===e7&&r.destinationAlphaBlendFactor===rt&&r.colorBlendOperation===rn&&r.alphaBlendOperation===rn?t.BlendMode.Multiply:r.sourceColorBlendFactor===e7&&r.destinationColorBlendFactor===re&&r.sourceAlphaBlendFactor===e7&&r.destinationAlphaBlendFactor===re&&r.colorBlendOperation===rn&&r.alphaBlendOperation===rn?t.BlendMode.Screen:t.BlendMode.Normal}(s),l=o.instanceId+"_"+h;e.delete(l)}},a._applyDefaultConfig=function(){var t=this.skeleton,e=this.state;if(t&&e){var r=this.defaultConfig,n=r.animationName,i=r.skinName,a=r.loop;"default"!==i&&(t.setSkinByName(i),t.setToSetupPose()),n&&e.setAnimation(0,n,a)}},i._getDefaultMaterial=function(t){var e=this._defaultMaterial;if(e){if(e.engine===t)return e.clone();e.destroy(!0),e=null}return(e=new rh(t)).isGCIgnored=!0,this._defaultMaterial=e,e.clone()},tA(i,[{key:"state",get:function(){return this._state}},{key:"skeleton",get:function(){return this._skeleton}},{key:"resource",get:function(){return this._resource},set:function(t){if(!t){this._state=null,this._skeleton=null,this._resource=null;return}this._resource=t;var e=t.skeletonData,r=t.stateData,n=new ei(e),i=new tT(r);this._setSkeleton(n),this._setState(i),this._applyDefaultConfig()}}]),i}(e.Renderer);rl._spineGenerator=new ro,rl._positionVertexElement=new e.VertexElement("POSITION",0,e.VertexElementFormat.Vector3,0),rl._colorVertexElement=new e.VertexElement("COLOR_0",12,e.VertexElementFormat.Vector4,0),rl._uvVertexElement=new e.VertexElement("TEXCOORD_0",28,e.VertexElementFormat.Vector2,0),rl._materialCache=new Map,a([e.assignmentClone],rl.prototype,"zSpacing",void 0),a([e.assignmentClone],rl.prototype,"premultipliedAlpha",void 0),a([e.deepClone],rl.prototype,"defaultConfig",void 0),a([e.ignoreClone],rl.prototype,"_primitive",void 0),a([e.ignoreClone],rl.prototype,"_subPrimitives",void 0),a([e.ignoreClone],rl.prototype,"_indexBuffer",void 0),a([e.ignoreClone],rl.prototype,"_vertexBuffer",void 0),a([e.ignoreClone],rl.prototype,"_vertices",void 0),a([e.ignoreClone],rl.prototype,"_indices",void 0),a([e.ignoreClone],rl.prototype,"_needResizeBuffer",void 0),a([e.ignoreClone],rl.prototype,"_vertexCount",void 0),a([e.ignoreClone],rl.prototype,"_resource",void 0),a([e.ignoreClone],rl.prototype,"_localBounds",void 0),a([e.ignoreClone],rl.prototype,"_skeleton",void 0),a([e.ignoreClone],rl.prototype,"_state",void 0);var rc=function(t,e,r){void 0===t&&(t=!0),void 0===e&&(e=null),void 0===r&&(r="default"),this.loop=t,this.animationName=e,this.skinName=r},ru=function(t){function r(e,r,n){var i;return(i=t.call(this,e)||this)._texturesInSpineAtlas=[],i.url=n,i._skeletonData=r,i._stateData=new tO(r),i._associationTextureInSkeletonData(r),i._createTemplate(),i}n(r,t);var i=r.prototype;return i.instantiate=function(){return this._template.clone()},i._onDestroy=function(){t.prototype._onDestroy.call(this),this._disassociationSuperResource(),this._skeletonData=null,this._stateData=null},i._createTemplate=function(){var t=this._extractFileName(this.url),r=new e.Entity(this.engine,t),n=r.addComponent(rl),i=new ei(this._skeletonData),a=new tT(this._stateData);n._setSkeleton(i),n._setState(a),r._markAsTemplate(this),this._template=r},i._associationTextureInSkeletonData=function(t){for(var e=t.skins,r=t.slots,n=this._texturesInSpineAtlas,i=0,a=e.length;i<a;i++)for(var s=0,o=r.length;s<o;s++){var h,l=r[s],c=e[i].getAttachment(l.index,l.name),u=null==c?void 0:null==(h=c.region)?void 0:h.texture.texture;u&&!n.includes(u)&&(n.push(u),u._associationSuperResource(this))}},i._disassociationSuperResource=function(){for(var t=this._texturesInSpineAtlas,e=0,r=t.length;e<r;e++)t[e]._disassociationSuperResource(this)},i._extractFileName=function(t){if(!t)return"Spine Entity";var e=t.match(/\/([^\/]+?)(\.[^\/]*)?$/);return e?e[1]:"Spine Entity"},tA(r,[{key:"skeletonData",get:function(){return this._skeletonData}},{key:"stateData",get:function(){return this._stateData}}]),r}(e.ReferResource),rd=function(t){function r(){return t.apply(this,arguments)||this}n(r,t);var i=r.prototype;return i.load=function(t,n){var i=this;return new e.AssetPromise(function(e,a){var s={fileName:"",skeletonRawData:"",spineAssetPath:{atlasPath:null,skeletonPath:null,extraPaths:[]}},o=s.spineAssetPath;if(t.urls)for(var h=t.urls,l=0,c=h.length;l<c;l+=1){var u=h[l];r._groupAssetsByExtension(u,o)}else r._assignAssetPathsFromUrl(t.url,o,n);var d=o.skeletonPath,f=o.atlasPath;if(!d||!f){a(Error("Failed to load spine assets. Please check the file path and ensure the file extension is included."));return}n._request(d,{type:"arraybuffer"}).then(function(t){s.skeletonRawData=t;var e=r._decoder.decode(t);return e.startsWith("{")&&(s.skeletonRawData=e),i._loadAndCreateSpineResource(s,n)}).then(e).catch(a)})},i._loadAndCreateSpineResource=function(t,e){var r=e.engine,n=t.skeletonRawData,i=t.spineAssetPath,a=i.skeletonPath,s=i.atlasPath,o=i.extraPaths;return(0===o.length?e.load({url:s,type:"SpineAtlas"}):e.load({urls:[s].concat(o),type:"SpineAtlas"})).then(function(t){return new ru(r,e8.createSkeletonData(n,t,.01),a)})},r._groupAssetsByExtension=function(t,e){var n=r._getUrlExtension(t);n&&(["skel","json","bin"].includes(n)?e.skeletonPath=t:"atlas"===n?e.atlasPath=t:e.extraPaths.push(t))},r._assignAssetPathsFromUrl=function(t,e,n){if(r._getUrlExtension(t)){e.skeletonPath=t;var i=null==n?void 0:null==(s=n._virtualPathResourceMap)?void 0:null==(a=s[t])?void 0:a.dependentAssetMap;if(i)e.atlasPath=i.atlas;else{var a,s,o,h=/\.(json|bin|skel)$/;if(h.test(t)&&(o=t.replace(h,"")),o){var l=o+".atlas";e.atlasPath=l}}}},r._getUrlExtension=function(t){var e=t.match(/\.(\w+)(\?|$)/);return e?e[1]:null},r}(e.Loader);rd._decoder=new TextDecoder("utf-8");var rf=function(t){function e(){return t.apply(this,arguments)||this}return n(e,t),e}(rd=a([e.resourceLoader("Spine",["json","bin","skel"])],rd));rf=a([e.resourceLoader("spine",["json","bin","skel"])],rf);var rm=function(t){function r(){return t.apply(this,arguments)||this}return n(r,t),r.prototype.load=function(t,n){return new e.AssetPromise(function(e,i){var a=n.engine,s={atlasPath:"",imagePaths:[],imageExtensions:[]};if(t.urls)for(var o=t.urls,h=0,l=o.length;h<l;h+=1){var c=o[h];r._groupAssetsByExtension(c,s,n)}else r._assignAssetPathsFromUrl(t.url,s,n);if(!s.atlasPath){i(Error("Failed to load spine atlas. Please check the file path and ensure the file extension is included."));return}if(0===s.imagePaths.length){var u=t.url;e8.loadTextureAtlas(u,a,i).then(function(t){e(t)}).catch(function(t){i(t)})}else{var d=s.atlasPath,f=s.imagePaths,m=s.imageExtensions;f.length>0?Promise.all([n._request(d,{type:"text"}),e8.loadTexturesByPaths(f,m,a,i)]).then(function(t){var r=t[0],n=t[1];e(e8.createTextureAtlas(r,n))}).catch(function(t){i(t)}):e8.loadTextureAtlas(d,a,i).then(function(t){e(t)}).catch(function(t){i(t)})}})},r._groupAssetsByExtension=function(t,e,r){var n=rd._getUrlExtension(t);n&&("atlas"===n&&(e.atlasPath=t),["png","jpg","webp","jpeg","ktx","ktx2"].includes(n)&&e.imagePaths.push(t))},r._assignAssetPathsFromUrl=function(t,e,r){if("atlas"===rd._getUrlExtension(t)){e.atlasPath=t;var n,i,a=null==r?void 0:null==(i=r._virtualPathResourceMap)?void 0:null==(n=i[t])?void 0:n.dependentAssetMap;if(a)for(var s in a){var o=a[s];e.imagePaths.push(o)}}},r}(e.Loader);rm=a([e.resourceLoader("SpineAtlas",["atlas"])],rm);var rv=Object.freeze({__proto__:null,SpineResource:ru,LoaderUtils:e8}),rp=Object.freeze({__proto__:null,SpineAnimationRenderer:rl,SpineMaterial:rh});for(var rg in rp)e.Loader.registerClass(rg,rp[rg]);for(var rx in rv)e.Loader.registerClass(rx,rv[rx]);var rb="0.0.0-experimental-engine-spine-4.2.1";console.log("Galacean spine version: "+rb),t.AlphaTimeline=ti,t.Animation=N,t.AnimationState=tT,t.AnimationStateAdapter=tE,t.AnimationStateData=tO,t.AssetManagerBase=t3,t.AtlasAttachmentLoader=tZ,t.Attachment=X,t.AttachmentTimeline=to,t.BinaryInput=ed,t.Bone=t1,t.BoneData=t0,t.BoundingBoxAttachment=tN,t.CURRENT=tD,t.ClippingAttachment=tL,t.Color=I,t.ConstraintData=t2,t.CurveTimeline=q,t.CurveTimeline1=U,t.CurveTimeline2=W,t.DebugUtils=E,t.DeformTimeline=th,t.Downloader=t5,t.DrawOrderTimeline=tc,t.Event=t6,t.EventData=t8,t.EventQueue=tC,t.EventTimeline=tl,t.FIRST=tR,t.FakeTexture=tW,t.HOLD_FIRST=t_,t.HOLD_MIX=tX,t.HOLD_SUBSEQUENT=tY,t.IkConstraint=t4,t.IkConstraintData=t7,t.IkConstraintTimeline=tu,t.InheritTimeline=te,t.IntSet=S,t.Interpolation=A,t.LoaderUtils=e8,t.MathUtils=B,t.MeshAttachment=tK,t.PathAttachment=tJ,t.PathConstraint=et,t.PathConstraintData=t9,t.PathConstraintMixTimeline=tv,t.PathConstraintPositionTimeline=tf,t.PathConstraintSpacingTimeline=tm,t.PhysicsConstraintDampingTimeline=tb,t.PhysicsConstraintGravityTimeline=tM,t.PhysicsConstraintInertiaTimeline=tg,t.PhysicsConstraintMassTimeline=ty,t.PhysicsConstraintMixTimeline=tS,t.PhysicsConstraintResetTimeline=tk,t.PhysicsConstraintStrengthTimeline=tx,t.PhysicsConstraintTimeline=tp,t.PhysicsConstraintWindTimeline=tw,t.PointAttachment=tQ,t.Pool=P,t.Pow=T,t.PowOut=F,t.RGB2Timeline=ts,t.RGBA2Timeline=ta,t.RGBATimeline=tr,t.RGBTimeline=tn,t.RegionAttachment=t$,t.RotateTimeline=z,t.SETUP=tV,t.SUBSEQUENT=tP,t.ScaleTimeline=K,t.ScaleXTimeline=J,t.ScaleYTimeline=Q,t.SequenceTimeline=tI,t.ShearTimeline=$,t.ShearXTimeline=Z,t.ShearYTimeline=tt,t.Skeleton=ei,t.SkeletonBinary=eu,t.SkeletonBounds=eJ,t.SkeletonClipping=e$,t.SkeletonData=es,t.SkeletonJson=eZ,t.Skin=eh,t.SkinEntry=eo,t.Slot=er,t.SlotData=el,t.SpineAnimationRenderer=rl,t.SpineMaterial=rh,t.SpineResource=ru,t.StringSet=k,t.Texture=tq,t.TextureAtlas=tz,t.TextureAtlasPage=tj,t.TextureAtlasRegion=tH,t.TextureRegion=tU,t.TimeKeeper=Y,t.Timeline=L,t.TrackEntry=tF,t.TransformConstraint=en,t.TransformConstraintData=ec,t.TransformConstraintTimeline=td,t.TranslateTimeline=G,t.TranslateXTimeline=j,t.TranslateYTimeline=H,t.Triangulator=eQ,t.Utils=C,t.Vector2=R,t.VertexAttachment=V,t.WindowedMean=_,t.version=rb,Object.defineProperty(t,"__esModule",{value:!0})});