diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index c73dee00..867518de 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: os: [windows-latest, macos-latest, ubuntu-latest] - node-version: [20.x, 22.x] + node-version: [22.x, 24.x] env: CI: true diff --git a/docs/Player/index.html b/docs/Player/index.html index e7f0b41c..5e80f001 100644 --- a/docs/Player/index.html +++ b/docs/Player/index.html @@ -6,7 +6,7 @@ - + diff --git a/docs/Player/ss6player-pixi.min.js b/docs/Player/ss6player-pixi.min.js index f55008b2..e6ecd5eb 100644 --- a/docs/Player/ss6player-pixi.min.js +++ b/docs/Player/ss6player-pixi.min.js @@ -1,10 +1,10 @@ /** * ----------------------------------------------------------- - * SS6Player For pixi.js v2.3.2 + * SS6Player For pixi.js v2.4.0 * * Copyright(C) CRI Middleware Co., Ltd. * https://www.webtech.co.jp/ * ----------------------------------------------------------- */ -var ss6PlayerPixi=function(dt,L){"use strict";class Ot{}const ht=4,ct=4,C=4,Q=new Int32Array(2),Ft=new Float32Array(Q.buffer),gt=new Float64Array(Q.buffer),ft=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var ut;(function(c){c[c.UTF8_BYTES=1]="UTF8_BYTES",c[c.UTF16_STRING=2]="UTF16_STRING"})(ut||(ut={}));class It{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new It(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8}writeInt32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeUint32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeInt64(t,s){this.writeInt32(t,Number(BigInt.asIntN(32,s))),this.writeInt32(t+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(t,s){this.writeUint32(t,Number(BigInt.asUintN(32,s))),this.writeUint32(t+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(t,s){Ft[0]=s,this.writeInt32(t,Q[0])}writeFloat64(t,s){gt[0]=s,this.writeInt32(t,Q[ft?0:1]),this.writeInt32(t+4,Q[ft?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;e--)t.addInt32(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static endpartState(t){return t.endObject()}static createpartState(t,s,e,i,r){return R.startpartState(t),R.addIndex(t,s),R.addFlag1(t,e),R.addFlag2(t,i),R.addData(t,r),R.endpartState(t)}}class it{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsframeDataIndex(t,s){return(s||new it).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,s){return t.setPosition(t.position()+C),(s||new it).__init(t.readInt32(t.position())+t.position(),t)}states(t,s){const e=this.bb.__offset(this.bb_pos,4);return e?(s||new R).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,s){t.addFieldOffset(0,s,0)}static createStatesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startStatesVector(t,s){t.startVector(4,s,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,s){return it.startframeDataIndex(t),it.addStates(t,s),it.endframeDataIndex(t)}}class G{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAslabelDataItem(t,s){return(s||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,s){return t.setPosition(t.position()+C),(s||new G).__init(t.readInt32(t.position())+t.position(),t)}label(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,s){t.addFieldOffset(0,s,0)}static addFrameIndex(t,s){t.addFieldInt16(1,s,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,s,e){return G.startlabelDataItem(t),G.addLabel(t,s),G.addFrameIndex(t,e),G.endlabelDataItem(t)}}class at{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataIndices(t,s){return(s||new at).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,s){return t.setPosition(t.position()+C),(s||new at).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,s){t.addFieldOffset(0,s,0)}static createIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startIndicesVector(t,s){t.startVector(4,s,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,s){return at.startmeshDataIndices(t),at.addIndices(t,s),at.endmeshDataIndices(t)}}class nt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataUV(t,s){return(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,s){return t.setPosition(t.position()+C),(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,s){t.addFieldOffset(0,s,0)}static createUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startUvVector(t,s){t.startVector(4,s,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,s){return nt.startmeshDataUV(t),nt.addUv(t,s),nt.endmeshDataUV(t)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataItem(t,s){return(s||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,s){return t.setPosition(t.position()+C),(s||new A).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,s){t.addFieldInt16(0,s,0)}static addArrayIndex(t,s){t.addFieldInt16(1,s,0)}static addDataType(t,s){t.addFieldOffset(2,s,0)}static createDataTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startDataTypeVector(t,s){t.startVector(1,s,1)}static addData(t,s){t.addFieldOffset(3,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,s,e,i,r){return A.startuserDataItem(t),A.addFlags(t,s),A.addArrayIndex(t,e),A.addDataType(t,i),A.addData(t,r),A.enduserDataItem(t)}}class tt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataPerFrame(t,s){return(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,s){return t.setPosition(t.position()+C),(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new A).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,s){t.addFieldInt16(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,s,e){return tt.startuserDataPerFrame(t),tt.addFrameIndex(t,s),tt.addData(t,e),tt.enduserDataPerFrame(t)}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimationData(t,s){return(s||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,s){return t.setPosition(t.position()+C),(s||new y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}defaultData(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new l).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new it).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?(s||new tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,s){t.addFieldOffset(0,s,0)}static addDefaultData(t,s){t.addFieldOffset(1,s,0)}static createDefaultDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDefaultDataVector(t,s){t.startVector(4,s,4)}static addFrameData(t,s){t.addFieldOffset(2,s,0)}static createFrameDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startFrameDataVector(t,s){t.startVector(4,s,4)}static addUserData(t,s){t.addFieldOffset(3,s,0)}static createUserDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startUserDataVector(t,s){t.startVector(4,s,4)}static addLabelData(t,s){t.addFieldOffset(4,s,0)}static createLabelDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startLabelDataVector(t,s){t.startVector(4,s,4)}static addMeshsDataUv(t,s){t.addFieldOffset(5,s,0)}static createMeshsDataUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataUvVector(t,s){t.startVector(4,s,4)}static addMeshsDataIndices(t,s){t.addFieldOffset(6,s,0)}static createMeshsDataIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataIndicesVector(t,s){t.startVector(4,s,4)}static addStartFrames(t,s){t.addFieldInt16(7,s,0)}static addEndFrames(t,s){t.addFieldInt16(8,s,0)}static addTotalFrames(t,s){t.addFieldInt16(9,s,0)}static addFps(t,s){t.addFieldInt16(10,s,0)}static addLabelNum(t,s){t.addFieldInt16(11,s,0)}static addCanvasSizeW(t,s){t.addFieldInt16(12,s,0)}static addCanvasSizeH(t,s){t.addFieldInt16(13,s,0)}static addCanvasPvotX(t,s){t.addFieldFloat32(14,s,0)}static addCanvasPvotY(t,s){t.addFieldFloat32(15,s,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,s,e,i,r,a,o,h,f,n,d,_,m,F,b,v,u){return y.startAnimationData(t),y.addName(t,s),y.addDefaultData(t,e),y.addFrameData(t,i),y.addUserData(t,r),y.addLabelData(t,a),y.addMeshsDataUv(t,o),y.addMeshsDataIndices(t,h),y.addStartFrames(t,f),y.addEndFrames(t,n),y.addTotalFrames(t,d),y.addFps(t,_),y.addLabelNum(t,m),y.addCanvasSizeW(t,F),y.addCanvasSizeH(t,b),y.addCanvasPvotX(t,v),y.addCanvasPvotY(t,u),y.endAnimationData(t)}}var O=(c=>(c[c.Invalid=-1]="Invalid",c[c.Nulltype=0]="Nulltype",c[c.Normal=1]="Normal",c[c.Text=2]="Text",c[c.Instance=3]="Instance",c[c.Armature=4]="Armature",c[c.Effect=5]="Effect",c[c.Mesh=6]="Mesh",c[c.Movenode=7]="Movenode",c[c.Constraint=8]="Constraint",c[c.Mask=9]="Mask",c[c.Joint=10]="Joint",c[c.Bonepoint=11]="Bonepoint",c))(O||{});class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsPartData(t,s){return(s||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,s){return t.setPosition(t.position()+C),(s||new S).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):O.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__string(this.bb_pos+s,t):null}effectfilename(t){const s=this.bb.__offset(this.bb_pos,18);return s?this.bb.__string(this.bb_pos+s,t):null}colorLabel(t){const s=this.bb.__offset(this.bb_pos,20);return s?this.bb.__string(this.bb_pos+s,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,s){t.addFieldOffset(0,s,0)}static addIndex(t,s){t.addFieldInt16(1,s,0)}static addParentIndex(t,s){t.addFieldInt16(2,s,0)}static addType(t,s){t.addFieldInt8(3,s,O.Nulltype)}static addBoundsType(t,s){t.addFieldInt16(4,s,0)}static addAlphaBlendType(t,s){t.addFieldInt16(5,s,0)}static addRefname(t,s){t.addFieldOffset(6,s,0)}static addEffectfilename(t,s){t.addFieldOffset(7,s,0)}static addColorLabel(t,s){t.addFieldOffset(8,s,0)}static addMaskInfluence(t,s){t.addFieldInt16(9,s,0)}static endPartData(t){return t.endObject()}static createPartData(t,s,e,i,r,a,o,h,f,n,d){return S.startPartData(t),S.addName(t,s),S.addIndex(t,e),S.addParentIndex(t,i),S.addType(t,r),S.addBoundsType(t,a),S.addAlphaBlendType(t,o),S.addRefname(t,h),S.addEffectfilename(t,f),S.addColorLabel(t,n),S.addMaskInfluence(t,d),S.endPartData(t)}}class Z{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimePackData(t,s){return(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,s){return t.setPosition(t.position()+C),(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}parts(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new S).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,s){t.addFieldOffset(0,s,0)}static addParts(t,s){t.addFieldOffset(1,s,0)}static createPartsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startPartsVector(t,s){t.startVector(4,s,4)}static addAnimations(t,s){t.addFieldOffset(2,s,0)}static createAnimationsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimationsVector(t,s){t.startVector(4,s,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,s,e,i){return Z.startAnimePackData(t),Z.addName(t,s),Z.addParts(t,e),Z.addAnimations(t,i),Z.endAnimePackData(t)}}class X{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCellMap(t,s){return(s||new X).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,s){return t.setPosition(t.position()+C),(s||new X).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}imagePath(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,s){t.addFieldOffset(0,s,0)}static addImagePath(t,s){t.addFieldOffset(1,s,0)}static addIndex(t,s){t.addFieldInt16(2,s,0)}static addWrapmode(t,s){t.addFieldInt16(3,s,0)}static addFiltermode(t,s){t.addFieldInt16(4,s,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,s,e,i,r,a){return X.startCellMap(t),X.addName(t,s),X.addImagePath(t,e),X.addIndex(t,i),X.addWrapmode(t,r),X.addFiltermode(t,a),X.endCellMap(t)}}class lt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCell(t,s){return(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,s){return t.setPosition(t.position()+C),(s||new lt).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}cellMap(t){const s=this.bb.__offset(this.bb_pos,6);return s?(t||new X).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,s){t.addFieldOffset(0,s,0)}static addCellMap(t,s){t.addFieldOffset(1,s,0)}static addIndexInCellMap(t,s){t.addFieldInt16(2,s,0)}static addX(t,s){t.addFieldInt16(3,s,0)}static addY(t,s){t.addFieldInt16(4,s,0)}static addWidth(t,s){t.addFieldInt16(5,s,0)}static addHeight(t,s){t.addFieldInt16(6,s,0)}static addPivotX(t,s){t.addFieldFloat32(7,s,0)}static addPivotY(t,s){t.addFieldFloat32(8,s,0)}static addU1(t,s){t.addFieldFloat32(9,s,0)}static addV1(t,s){t.addFieldFloat32(10,s,0)}static addU2(t,s){t.addFieldFloat32(11,s,0)}static addV2(t,s){t.addFieldFloat32(12,s,0)}static endCell(t){return t.endObject()}}class P{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectNode(t,s){return(s||new P).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,s){return t.setPosition(t.position()+C),(s||new P).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,s){t.addFieldInt16(0,s,0)}static addParentIndex(t,s){t.addFieldInt16(1,s,0)}static addType(t,s){t.addFieldInt16(2,s,0)}static addCellIndex(t,s){t.addFieldInt16(3,s,0)}static addBlendType(t,s){t.addFieldInt16(4,s,0)}static addNumBehavior(t,s){t.addFieldInt16(5,s,0)}static addBehaviorType(t,s){t.addFieldOffset(6,s,0)}static createBehaviorTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startBehaviorTypeVector(t,s){t.startVector(1,s,1)}static addBehavior(t,s){t.addFieldOffset(7,s,0)}static createBehaviorVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startBehaviorVector(t,s){t.startVector(4,s,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,s,e,i,r,a,o,h,f){return P.startEffectNode(t),P.addArrayIndex(t,s),P.addParentIndex(t,e),P.addType(t,i),P.addCellIndex(t,r),P.addBlendType(t,a),P.addNumBehavior(t,o),P.addBehaviorType(t,h),P.addBehavior(t,f),P.endEffectNode(t)}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectFile(t,s){return(s||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,s){return t.setPosition(t.position()+C),(s||new w).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?(s||new P).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,s){t.addFieldOffset(0,s,0)}static addFps(t,s){t.addFieldInt16(1,s,0)}static addIsLockRandSeed(t,s){t.addFieldInt16(2,s,0)}static addLockRandSeed(t,s){t.addFieldInt16(3,s,0)}static addLayoutScaleX(t,s){t.addFieldInt16(4,s,0)}static addLayoutScaleY(t,s){t.addFieldInt16(5,s,0)}static addNumNodeList(t,s){t.addFieldInt16(6,s,0)}static addEffectNode(t,s){t.addFieldOffset(7,s,0)}static createEffectNodeVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectNodeVector(t,s){t.startVector(4,s,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,s,e,i,r,a,o,h,f){return w.startEffectFile(t),w.addName(t,s),w.addFps(t,e),w.addIsLockRandSeed(t,i),w.addLockRandSeed(t,r),w.addLayoutScaleX(t,a),w.addLayoutScaleY(t,o),w.addNumNodeList(t,h),w.addEffectNode(t,f),w.endEffectFile(t)}}var p=(c=>(c[c.INVISIBLE=1]="INVISIBLE",c[c.FLIP_H=2]="FLIP_H",c[c.FLIP_V=4]="FLIP_V",c[c.CELL_INDEX=8]="CELL_INDEX",c[c.POSITION_X=16]="POSITION_X",c[c.POSITION_Y=32]="POSITION_Y",c[c.POSITION_Z=64]="POSITION_Z",c[c.PIVOT_X=128]="PIVOT_X",c[c.PIVOT_Y=256]="PIVOT_Y",c[c.ROTATIONX=512]="ROTATIONX",c[c.ROTATIONY=1024]="ROTATIONY",c[c.ROTATIONZ=2048]="ROTATIONZ",c[c.SCALE_X=4096]="SCALE_X",c[c.SCALE_Y=8192]="SCALE_Y",c[c.LOCALSCALE_X=16384]="LOCALSCALE_X",c[c.LOCALSCALE_Y=32768]="LOCALSCALE_Y",c[c.OPACITY=65536]="OPACITY",c[c.LOCALOPACITY=131072]="LOCALOPACITY",c[c.PARTS_COLOR=262144]="PARTS_COLOR",c[c.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",c[c.SIZE_X=1048576]="SIZE_X",c[c.SIZE_Y=2097152]="SIZE_Y",c[c.U_MOVE=4194304]="U_MOVE",c[c.V_MOVE=8388608]="V_MOVE",c[c.UV_ROTATION=16777216]="UV_ROTATION",c[c.U_SCALE=33554432]="U_SCALE",c[c.V_SCALE=67108864]="V_SCALE",c[c.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",c[c.MASK=268435456]="MASK",c[c.PRIORITY=536870912]="PRIORITY",c[c.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",c[c.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",c))(p||{}),yt=(c=>(c[c.MESHDATA=1]="MESHDATA",c))(yt||{});class D{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsProjectData(t,s){return(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,s){return t.setPosition(t.position()+C),(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}cells(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new lt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new Z).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new w).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,s){t.addFieldInt32(0,s,0)}static addVersion(t,s){t.addFieldInt32(1,s,0)}static addFlags(t,s){t.addFieldInt32(2,s,0)}static addImageBaseDir(t,s){t.addFieldOffset(3,s,0)}static addCells(t,s){t.addFieldOffset(4,s,0)}static createCellsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startCellsVector(t,s){t.startVector(4,s,4)}static addAnimePacks(t,s){t.addFieldOffset(5,s,0)}static createAnimePacksVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimePacksVector(t,s){t.startVector(4,s,4)}static addEffectFileList(t,s){t.addFieldOffset(6,s,0)}static createEffectFileListVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectFileListVector(t,s){t.startVector(4,s,4)}static addNumCells(t,s){t.addFieldInt16(7,s,0)}static addNumAnimePacks(t,s){t.addFieldInt16(8,s,0)}static addNumEffectFileList(t,s){t.addFieldInt16(9,s,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,s){t.finish(s,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,s){t.finish(s,"SSFB",!0)}static createProjectData(t,s,e,i,r,a,o,h,f,n,d){return D.startProjectData(t),D.addDataId(t,s),D.addVersion(t,e),D.addFlags(t,i),D.addImageBaseDir(t,r),D.addCells(t,a),D.addAnimePacks(t,o),D.addEffectFileList(t,h),D.addNumCells(t,f),D.addNumAnimePacks(t,n),D.addNumEffectFileList(t,d),D.endProjectData(t)}}class Ct{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,s){return t.prep(4,4),t.writeInt32(s),t.offset()}}class vt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,s,e){return t.prep(4,8),t.writeInt32(e),t.writeInt32(s),t.offset()}}class bt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,s,e,i,r){return t.prep(4,16),t.writeInt32(r),t.writeInt32(i),t.writeInt32(e),t.writeInt32(s),t.offset()}}class H{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataString(t,s){return(s||new H).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,s){return t.setPosition(t.position()+C),(s||new H).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,s){t.addFieldInt32(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,s,e){return H.startuserDataString(t),H.addLength(t,s),H.addData(t,e),H.enduserDataString(t)}}let xt=class{static getProjectData(t){const s=new It(t);return D.getRootAsProjectData(s)}};class mt{static getProjectData(t){return xt.getProjectData(t)}}class ot{constructor(t,s=null,e=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),Object.prototype.hasOwnProperty.call(t,"bb")?this._fbObj=t:this._fbObj=mt.getProjectData(t),s!==null&&e!==null&&this.Setup(s,e)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,s){this.clearCaches();const e=this._fbObj.animePacksLength();let i=!1;for(let r=0;r>>0,n.colorBlendType===1&&(n.tint=n.colorArgb32&16777215)}}if(f&yt.MESHDATA){const _=this.curAnimation.meshsDataUv(o);n.meshIsBind=_.uv(0),n.meshNum=_.uv(1);let m=new Float32Array(n.meshNum*3);for(let F=0;F=0&&(t=this.InheritOpacity(t,this._parentIndex[s],e)),t}TransformVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformMeshVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPositionLocal(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r),h=t[0]*i.scaleX*i.localscaleX,f=t[1]*i.scaleY*i.localscaleY;return t[2]*=i.scaleX*i.localscaleX,t[3]*=i.scaleY*i.localscaleY,t[0]=a*h-o*f+i.positionX,t[1]=o*h+a*f-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static CoordinateGetDiagonalIntersection(t,s,e,i,r,a,o,h,f,n,d){const _=(h-a)*(o-e)-(o-r)*(h-i),m=(f-e)*(h-i)-(n-i)*(o-e),F=(f-e)*(h-a)-(n-i)*(o-r);if(F<=0&&F>=0)return d;const b=_/F,v=m/F;return 0<=b&&1>=b&&0<=v&&1>=v&&(t=e+b*(f-e),s=i+b*(n-i)),d[0]=t,d[1]=s,d}TransformVerts(t,s,e){const i=this.GetFrameData(e)[s],r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPosition(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const r=-i.rotationZ*Math.PI/180,a=Math.cos(r),o=Math.sin(r),h=t[0]*i.scaleX,f=t[1]*i.scaleY;return t[2]*=i.scaleX,t[3]*=i.scaleY,t[0]=a*h-o*f+i.positionX,t[1]=o*h+a*f-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static GetVerts(t,s,e){const i=s.size_X/2,r=s.size_Y/2,a=s.size_X*-(s.pivotX+t.pivotX()),o=s.size_Y*(s.pivotY+t.pivotY());return e.set([a,o,a-i,o-r,a+i,o-r,a-i,o+r,a+i,o+r]),e}static GetMeshVerts(t,s,e){for(let i=0;i{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}unload(t,s,e){L.Assets.unloadBundle(t).then(()=>{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}texture(t){return L.Assets.get(t)}}class Dt{constructor(){this.loader=new St}load(t,s,e){return this.loader.load(t,s,e)}unload(t,s,e=null){return this.loader.unload(t,s,e)}texture(t){return this.loader.texture(t)}}class Lt{constructor(t,s,e,i){if(this.sspjMap={},this.resourceLoader=new Dt,typeof t=="string"&&e===void 0){let r=t;this.ssfbPath=r;const a=r.lastIndexOf("/");this.rootPath=r.substring(0,a)+"/",this.ssfbFile=r.substring(a+1),this.onComplete=s===void 0?null:s,this.status=0,this.LoadFlatBuffersProject()}else if(typeof s=="object"&&s.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let r=s,a=e;this.onComplete=i===void 0?null:i,this.load(r,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,s=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(s=>s.ok?Promise.resolve(s.arrayBuffer()):Promise.reject(new Error(s.statusText))).then(s=>{t.fbObj=mt.getProjectData(new Uint8Array(s)),t.LoadCellResources()}).catch(s=>{this.onComplete!==null&&this.onComplete(null,s)})}LoadCellResources(){let t=[];this.sspjMap={};for(let e=0;e{e===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,e)})}load(t,s){this.fbObj=mt.getProjectData(t);let e={};for(let r in s){const a=s[r];let o="";const h=a.byteLength;for(let f=0;f{r===null?(i.status=1,i.onComplete!==null&&i.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,r)})}}class Vt{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class _t extends L.Container{constructor(t,s=null,e=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new L.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new ot(t.fbObj,s,e),this.parentAlpha=1,s!==null&&e!==null&&this.Setup(s,e),this.on("added",(...i)=>{L.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...i)=>{L.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,s){this.playerLib.Setup(t,s),this.clearCaches();const e=this.playerLib.animePackData,i=e.partsLength();this.prevCellID=new Array(i),this.prevPartObject=new Array(i),this.changeCellID=new Array(i),this.substituteOverWrite=new Array(i),this.substituteKeyParam=new Array(i);for(let r=0;r=this.updateInterval){let r=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let o=this.skipEnabled?a*this.playDirection:this.playDirection,h=this._currentFrame+o,f=Math.floor(h),n=h-f,d=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let _=f-d;_;_--){let m=d+1;if(m>this._endFrame)if(this._loops===-1)m=this._startFrame;else if(this._loops--,r=!0,this._loops===0){this._isPlaying=!1,m=s?this._startFrame:this._endFrame;break}else m=this._startFrame;d=m,this._isPlaying&&this.playerLib.HaveUserData(d)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(d))}if(this.playDirection<=-1)for(let _=d-f;_;_--){let m=d-1;if(m0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=s)}SetAnimationSection(t=-1,s=-1,e=-1){t>=0&&t=0&&s0?this._loops=e:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let s=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(s=t),this._currentFrame=s,this.resetLiveFrame();const e=Math.floor(this._currentFrame);this.SetFrameAnimation(e),this.playerLib.HaveUserData(e)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(e))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),s=this.endFrame;t!==s&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}getCellIndex(t,s){let e=-1;if(t!==""&&s!==""){const i=this.playerLib.fbObj,r=this.playerLib.fbObj.numCells();for(let a=0;a>>24)/255,o=((e&16711680)>>>16)/255,h=((e&65280)>>>8)/255,f=(e&255)/255;if(t===0){const n=1-s;r.matrix=[n,0,0,0,o*s,0,n,0,0,h*s,0,0,n,0,f*s,0,0,0,1,0]}else t===1?r.matrix=[o,0,0,0,0,0,h,0,0,0,0,0,f,0,0,0,0,0,a,0]:t===2?r.matrix=[1,0,0,0,o,0,1,0,0,h,0,0,1,0,f,0,0,0,a,0]:t===3&&(r.matrix=[1,0,0,0,-o,0,1,0,0,-h,0,0,1,0,-f,0,0,0,a,0]);return this.colorMatrixFilterCache[i]=r,r}SetFrameAnimation(t,s=0){const e=this.playerLib.GetFrameData(t);this.removeChildren();const i=e.length;for(let r=0;r=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeCellMesh(f),n.label=d.name());break;case O.Mesh:f>=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeMeshCellMesh(a,f,h),n.label=d.name());break;case O.Nulltype:case O.Joint:this.prevCellID[a]!==f&&(n?.destroy(),n=new L.Container,n.label=d.name());break;default:f>=0&&this.prevCellID[a]!==f&&(n?.destroy(),n=this.MakeCellMesh(f),n.label=d.name());break}if(n!=null)switch(this.prevCellID[a]=f,this.prevPartObject[a]=n,_){case O.Instance:{const b=n;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,o.index,t),b.rotation=this._instancePos[4]*Math.PI/180,b.position.set(this._instancePos[0],this._instancePos[1]),b.scale.set(this._instancePos[2],this._instancePos[3]);let v=o.opacity/255;o.localopacity<255&&(v=o.localopacity/255),b.SetAlpha(v*this.parentAlpha),b.visible=!o.f_hide;let u=o.instanceValue_curKeyframe,x=o.instanceValue_startFrame,I=o.instanceValue_endFrame,z=o.instanceValue_speed,W=o.instanceValue_loopNum,st=!1,k=!1,V=!1,B=!1;const J=1,$=2,M=4,E=8,N=o.instanceValue_loopflag;N&J&&(st=!0),N&$&&(k=!0),N&M&&(V=!0),N&E&&(B=!0),m&&(x=F.refStartframe,I=F.refEndframe,z=F.refSpeed,W=F.refloopNum,st=F.infinity,k=F.reverse,V=F.pingpong,B=F.independent),(b._startFrame!==x||b._endFrame!==I)&&b.SetAnimationSection(x,I);let Y=t;B===!0&&(this.liveFrame[r]+=s,Y=Math.floor(this.liveFrame[r]));const et=u;let g=Math.floor((Y-et)*z);if(g<0||et>Y)continue;const j=I-x+1;if(j<=0)continue;let U=Math.floor(g/j),T=W;V&&(T=T*2),st||U>=T&&(g=j-1,U=T-1);const q=Math.floor(g%j);let K=0;V&&U%2===1&&(k?k=!1:k=!0),this.playDirection<=-1&&(k=!k),k?K=I-q:K=q+x,b.SetFrame(Math.floor(K)),this.addChild(b);break}case O.Normal:case O.Mesh:case O.Joint:case O.Mask:{const b=n,v=b.geometry.attributes.aPosition.buffer;let u=v.data;const x=this.playerLib.fbObj.cells(f);let I;if(_===O.Mesh?o.meshIsBind===0?I=this.playerLib.TransformMeshVertsLocal(ot.GetMeshVerts(x,o,u),o.index,t):I=ot.GetMeshVerts(x,o,u):(I=_===O.Joint?new Float32Array(10):u,I=this.playerLib.TransformVertsLocal(ot.GetVerts(x,o,I),o.index,t)),o.flag1&p.VERTEX_TRANSFORM){const V=I[6],B=I[3*2+1],J=I[1*2+0],$=I[1*2+1],M=I[4*2+0],E=I[4*2+1],N=I[2*2+0],Y=I[2*2+1],et=(V+M)*.5,g=(B+E)*.5,j=(V+J)*.5,U=(B+$)*.5,T=(J+N)*.5,q=($+Y)*.5,K=(M+N)*.5,rt=(E+Y)*.5,pt=ot.CoordinateGetDiagonalIntersection(I[0],I[1],et,g,K,rt,j,U,T,q,this._CoordinateGetDiagonalIntersectionVec2);I[0]=pt[0],I[1]=pt[1]}const z=I[0],W=I[1];for(let V=0;V>>24)/255;b.alpha=b.alpha*V}const k=this.alphaBlendType[a];(k==="multiply"||k==="screen")&&(b.alpha=1),_!==O.Mask&&this.addChild(b);break}case O.Nulltype:{const b=n,v=this.playerLib.InheritOpacity(1,o.index,t);b.alpha=v*o.localopacity/255;const u=this.playerLib.TransformVerts(ot.GetDummyVerts(),o.index,t),x=u[0],I=u[1];b.position.set(x,I);const z=Math.atan2(u[5]-u[3],u[4]-u[2]),W=Math.atan2(u[7]-u[3],u[6]-u[2]);b.rotation=z,b.skew.x=W-z-Math.PI/2;break}}}}ChangeInstanceAnime(t,s,e,i,r=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let o=this.playerLib.animePackData,h=o.partsLength();for(let f=0;f0){const a=this.playerLib.fbObj.cells(s),o=this.playerLib.fbObj.cells(e),h=s===e?0:(a.u1()+a.u2())/2-(o.u1()+o.u2())/2,f=s===e?0:(a.v1()+a.v2())/2-(o.v1()+o.v2())/2,n=new Float32Array(r-2),d=i.uv(1);for(let u=2;u>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8}writeInt32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeUint32(t,s){this.bytes_[t]=s,this.bytes_[t+1]=s>>8,this.bytes_[t+2]=s>>16,this.bytes_[t+3]=s>>24}writeInt64(t,s){this.writeInt32(t,Number(BigInt.asIntN(32,s))),this.writeInt32(t+4,Number(BigInt.asIntN(32,s>>BigInt(32))))}writeUint64(t,s){this.writeUint32(t,Number(BigInt.asUintN(32,s))),this.writeUint32(t+4,Number(BigInt.asUintN(32,s>>BigInt(32))))}writeFloat32(t,s){Ft[0]=s,this.writeInt32(t,Q[0])}writeFloat64(t,s){gt[0]=s,this.writeInt32(t,Q[lt?0:1]),this.writeInt32(t+4,Q[lt?1:0])}getBufferIdentifier(){if(this.bytes_.length=0;e--)t.addInt32(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static endpartState(t){return t.endObject()}static createpartState(t,s,e,i,o){return R.startpartState(t),R.addIndex(t,s),R.addFlag1(t,e),R.addFlag2(t,i),R.addData(t,o),R.endpartState(t)}}class it{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsframeDataIndex(t,s){return(s||new it).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsframeDataIndex(t,s){return t.setPosition(t.position()+C),(s||new it).__init(t.readInt32(t.position())+t.position(),t)}states(t,s){const e=this.bb.__offset(this.bb_pos,4);return e?(s||new R).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}statesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startframeDataIndex(t){t.startObject(1)}static addStates(t,s){t.addFieldOffset(0,s,0)}static createStatesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startStatesVector(t,s){t.startVector(4,s,4)}static endframeDataIndex(t){return t.endObject()}static createframeDataIndex(t,s){return it.startframeDataIndex(t),it.addStates(t,s),it.endframeDataIndex(t)}}class G{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAslabelDataItem(t,s){return(s||new G).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAslabelDataItem(t,s){return t.setPosition(t.position()+C),(s||new G).__init(t.readInt32(t.position())+t.position(),t)}label(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}frameIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}static startlabelDataItem(t){t.startObject(2)}static addLabel(t,s){t.addFieldOffset(0,s,0)}static addFrameIndex(t,s){t.addFieldInt16(1,s,0)}static endlabelDataItem(t){return t.endObject()}static createlabelDataItem(t,s,e){return G.startlabelDataItem(t),G.addLabel(t,s),G.addFrameIndex(t,e),G.endlabelDataItem(t)}}class at{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataIndices(t,s){return(s||new at).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataIndices(t,s){return t.setPosition(t.position()+C),(s||new at).__init(t.readInt32(t.position())+t.position(),t)}indices(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}indicesLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}indicesArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataIndices(t){t.startObject(1)}static addIndices(t,s){t.addFieldOffset(0,s,0)}static createIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startIndicesVector(t,s){t.startVector(4,s,4)}static endmeshDataIndices(t){return t.endObject()}static createmeshDataIndices(t,s){return at.startmeshDataIndices(t),at.addIndices(t,s),at.endmeshDataIndices(t)}}class nt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsmeshDataUV(t,s){return(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsmeshDataUV(t,s){return t.setPosition(t.position()+C),(s||new nt).__init(t.readInt32(t.position())+t.position(),t)}uv(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readFloat32(this.bb.__vector(this.bb_pos+s)+t*4):0}uvLength(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}uvArray(){const t=this.bb.__offset(this.bb_pos,4);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startmeshDataUV(t){t.startObject(1)}static addUv(t,s){t.addFieldOffset(0,s,0)}static createUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addFloat32(s[e]);return t.endVector()}static startUvVector(t,s){t.startVector(4,s,4)}static endmeshDataUV(t){return t.endObject()}static createmeshDataUV(t,s){return nt.startmeshDataUV(t),nt.addUv(t,s),nt.endmeshDataUV(t)}}class A{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataItem(t,s){return(s||new A).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataItem(t,s){return t.setPosition(t.position()+C),(s||new A).__init(t.readInt32(t.position())+t.position(),t)}flags(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}arrayIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}dataType(t){const s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}dataTypeLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataTypeArray(){const t=this.bb.__offset(this.bb_pos,8);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}data(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}dataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataItem(t){t.startObject(4)}static addFlags(t,s){t.addFieldInt16(0,s,0)}static addArrayIndex(t,s){t.addFieldInt16(1,s,0)}static addDataType(t,s){t.addFieldOffset(2,s,0)}static createDataTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startDataTypeVector(t,s){t.startVector(1,s,1)}static addData(t,s){t.addFieldOffset(3,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataItem(t){return t.endObject()}static createuserDataItem(t,s,e,i,o){return A.startuserDataItem(t),A.addFlags(t,s),A.addArrayIndex(t,e),A.addDataType(t,i),A.addData(t,o),A.enduserDataItem(t)}}class tt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataPerFrame(t,s){return(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataPerFrame(t,s){return t.setPosition(t.position()+C),(s||new tt).__init(t.readInt32(t.position())+t.position(),t)}frameIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}data(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new A).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}dataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startuserDataPerFrame(t){t.startObject(2)}static addFrameIndex(t,s){t.addFieldInt16(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static createDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDataVector(t,s){t.startVector(4,s,4)}static enduserDataPerFrame(t){return t.endObject()}static createuserDataPerFrame(t,s,e){return tt.startuserDataPerFrame(t),tt.addFrameIndex(t,s),tt.addData(t,e),tt.enduserDataPerFrame(t)}}class y{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimationData(t,s){return(s||new y).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimationData(t,s){return t.setPosition(t.position()+C),(s||new y).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}defaultData(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new b).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}defaultDataLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}frameData(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new it).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}frameDataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}userData(t,s){const e=this.bb.__offset(this.bb_pos,10);return e?(s||new tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}userDataLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}labelData(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new G).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}labelDataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataUv(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataUvLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}meshsDataIndices(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new at).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}meshsDataIndicesLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}startFrames(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}endFrames(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}totalFrames(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}fps(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readInt16(this.bb_pos+t):0}labelNum(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeW(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readInt16(this.bb_pos+t):0}canvasSizeH(){const t=this.bb.__offset(this.bb_pos,30);return t?this.bb.readInt16(this.bb_pos+t):0}canvasPvotX(){const t=this.bb.__offset(this.bb_pos,32);return t?this.bb.readFloat32(this.bb_pos+t):0}canvasPvotY(){const t=this.bb.__offset(this.bb_pos,34);return t?this.bb.readFloat32(this.bb_pos+t):0}static startAnimationData(t){t.startObject(16)}static addName(t,s){t.addFieldOffset(0,s,0)}static addDefaultData(t,s){t.addFieldOffset(1,s,0)}static createDefaultDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startDefaultDataVector(t,s){t.startVector(4,s,4)}static addFrameData(t,s){t.addFieldOffset(2,s,0)}static createFrameDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startFrameDataVector(t,s){t.startVector(4,s,4)}static addUserData(t,s){t.addFieldOffset(3,s,0)}static createUserDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startUserDataVector(t,s){t.startVector(4,s,4)}static addLabelData(t,s){t.addFieldOffset(4,s,0)}static createLabelDataVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startLabelDataVector(t,s){t.startVector(4,s,4)}static addMeshsDataUv(t,s){t.addFieldOffset(5,s,0)}static createMeshsDataUvVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataUvVector(t,s){t.startVector(4,s,4)}static addMeshsDataIndices(t,s){t.addFieldOffset(6,s,0)}static createMeshsDataIndicesVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startMeshsDataIndicesVector(t,s){t.startVector(4,s,4)}static addStartFrames(t,s){t.addFieldInt16(7,s,0)}static addEndFrames(t,s){t.addFieldInt16(8,s,0)}static addTotalFrames(t,s){t.addFieldInt16(9,s,0)}static addFps(t,s){t.addFieldInt16(10,s,0)}static addLabelNum(t,s){t.addFieldInt16(11,s,0)}static addCanvasSizeW(t,s){t.addFieldInt16(12,s,0)}static addCanvasSizeH(t,s){t.addFieldInt16(13,s,0)}static addCanvasPvotX(t,s){t.addFieldFloat32(14,s,0)}static addCanvasPvotY(t,s){t.addFieldFloat32(15,s,0)}static endAnimationData(t){return t.endObject()}static createAnimationData(t,s,e,i,o,a,r,h,l,n,d,_,m,F,f,V,u){return y.startAnimationData(t),y.addName(t,s),y.addDefaultData(t,e),y.addFrameData(t,i),y.addUserData(t,o),y.addLabelData(t,a),y.addMeshsDataUv(t,r),y.addMeshsDataIndices(t,h),y.addStartFrames(t,l),y.addEndFrames(t,n),y.addTotalFrames(t,d),y.addFps(t,_),y.addLabelNum(t,m),y.addCanvasSizeW(t,F),y.addCanvasSizeH(t,f),y.addCanvasPvotX(t,V),y.addCanvasPvotY(t,u),y.endAnimationData(t)}}var O=(c=>(c[c.Invalid=-1]="Invalid",c[c.Nulltype=0]="Nulltype",c[c.Normal=1]="Normal",c[c.Text=2]="Text",c[c.Instance=3]="Instance",c[c.Armature=4]="Armature",c[c.Effect=5]="Effect",c[c.Mesh=6]="Mesh",c[c.Movenode=7]="Movenode",c[c.Constraint=8]="Constraint",c[c.Mask=9]="Mask",c[c.Joint=10]="Joint",c[c.Bonepoint=11]="Bonepoint",c))(O||{});class S{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsPartData(t,s){return(s||new S).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsPartData(t,s){return t.setPosition(t.position()+C),(s||new S).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt8(this.bb_pos+t):O.Nulltype}boundsType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}alphaBlendType(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}refname(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__string(this.bb_pos+s,t):null}effectfilename(t){const s=this.bb.__offset(this.bb_pos,18);return s?this.bb.__string(this.bb_pos+s,t):null}colorLabel(t){const s=this.bb.__offset(this.bb_pos,20);return s?this.bb.__string(this.bb_pos+s,t):null}maskInfluence(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startPartData(t){t.startObject(10)}static addName(t,s){t.addFieldOffset(0,s,0)}static addIndex(t,s){t.addFieldInt16(1,s,0)}static addParentIndex(t,s){t.addFieldInt16(2,s,0)}static addType(t,s){t.addFieldInt8(3,s,O.Nulltype)}static addBoundsType(t,s){t.addFieldInt16(4,s,0)}static addAlphaBlendType(t,s){t.addFieldInt16(5,s,0)}static addRefname(t,s){t.addFieldOffset(6,s,0)}static addEffectfilename(t,s){t.addFieldOffset(7,s,0)}static addColorLabel(t,s){t.addFieldOffset(8,s,0)}static addMaskInfluence(t,s){t.addFieldInt16(9,s,0)}static endPartData(t){return t.endObject()}static createPartData(t,s,e,i,o,a,r,h,l,n,d){return S.startPartData(t),S.addName(t,s),S.addIndex(t,e),S.addParentIndex(t,i),S.addType(t,o),S.addBoundsType(t,a),S.addAlphaBlendType(t,r),S.addRefname(t,h),S.addEffectfilename(t,l),S.addColorLabel(t,n),S.addMaskInfluence(t,d),S.endPartData(t)}}class Z{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsAnimePackData(t,s){return(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAnimePackData(t,s){return t.setPosition(t.position()+C),(s||new Z).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}parts(t,s){const e=this.bb.__offset(this.bb_pos,6);return e?(s||new S).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}partsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}animations(t,s){const e=this.bb.__offset(this.bb_pos,8);return e?(s||new y).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animationsLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAnimePackData(t){t.startObject(3)}static addName(t,s){t.addFieldOffset(0,s,0)}static addParts(t,s){t.addFieldOffset(1,s,0)}static createPartsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startPartsVector(t,s){t.startVector(4,s,4)}static addAnimations(t,s){t.addFieldOffset(2,s,0)}static createAnimationsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimationsVector(t,s){t.startVector(4,s,4)}static endAnimePackData(t){return t.endObject()}static createAnimePackData(t,s,e,i){return Z.startAnimePackData(t),Z.addName(t,s),Z.addParts(t,e),Z.addAnimations(t,i),Z.endAnimePackData(t)}}class X{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCellMap(t,s){return(s||new X).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCellMap(t,s){return t.setPosition(t.position()+C),(s||new X).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}imagePath(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}index(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}wrapmode(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}filtermode(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}static startCellMap(t){t.startObject(5)}static addName(t,s){t.addFieldOffset(0,s,0)}static addImagePath(t,s){t.addFieldOffset(1,s,0)}static addIndex(t,s){t.addFieldInt16(2,s,0)}static addWrapmode(t,s){t.addFieldInt16(3,s,0)}static addFiltermode(t,s){t.addFieldInt16(4,s,0)}static endCellMap(t){return t.endObject()}static createCellMap(t,s,e,i,o,a){return X.startCellMap(t),X.addName(t,s),X.addImagePath(t,e),X.addIndex(t,i),X.addWrapmode(t,o),X.addFiltermode(t,a),X.endCellMap(t)}}class ft{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsCell(t,s){return(s||new ft).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsCell(t,s){return t.setPosition(t.position()+C),(s||new ft).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}cellMap(t){const s=this.bb.__offset(this.bb_pos,6);return s?(t||new X).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}indexInCellMap(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}x(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}y(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}width(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}height(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}pivotX(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readFloat32(this.bb_pos+t):0}pivotY(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readFloat32(this.bb_pos+t):0}u1(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readFloat32(this.bb_pos+t):0}v1(){const t=this.bb.__offset(this.bb_pos,24);return t?this.bb.readFloat32(this.bb_pos+t):0}u2(){const t=this.bb.__offset(this.bb_pos,26);return t?this.bb.readFloat32(this.bb_pos+t):0}v2(){const t=this.bb.__offset(this.bb_pos,28);return t?this.bb.readFloat32(this.bb_pos+t):0}static startCell(t){t.startObject(13)}static addName(t,s){t.addFieldOffset(0,s,0)}static addCellMap(t,s){t.addFieldOffset(1,s,0)}static addIndexInCellMap(t,s){t.addFieldInt16(2,s,0)}static addX(t,s){t.addFieldInt16(3,s,0)}static addY(t,s){t.addFieldInt16(4,s,0)}static addWidth(t,s){t.addFieldInt16(5,s,0)}static addHeight(t,s){t.addFieldInt16(6,s,0)}static addPivotX(t,s){t.addFieldFloat32(7,s,0)}static addPivotY(t,s){t.addFieldFloat32(8,s,0)}static addU1(t,s){t.addFieldFloat32(9,s,0)}static addV1(t,s){t.addFieldFloat32(10,s,0)}static addU2(t,s){t.addFieldFloat32(11,s,0)}static addV2(t,s){t.addFieldFloat32(12,s,0)}static endCell(t){return t.endObject()}}class L{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectNode(t,s){return(s||new L).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectNode(t,s){return t.setPosition(t.position()+C),(s||new L).__init(t.readInt32(t.position())+t.position(),t)}arrayIndex(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):0}parentIndex(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}type(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}cellIndex(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}blendType(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}numBehavior(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}behaviorType(t){const s=this.bb.__offset(this.bb_pos,16);return s?this.bb.readUint8(this.bb.__vector(this.bb_pos+s)+t):0}behaviorTypeLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}behaviorTypeArray(){const t=this.bb.__offset(this.bb_pos,16);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}behavior(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__union(s,this.bb.__vector(this.bb_pos+e)+t*4):null}behaviorLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectNode(t){t.startObject(8)}static addArrayIndex(t,s){t.addFieldInt16(0,s,0)}static addParentIndex(t,s){t.addFieldInt16(1,s,0)}static addType(t,s){t.addFieldInt16(2,s,0)}static addCellIndex(t,s){t.addFieldInt16(3,s,0)}static addBlendType(t,s){t.addFieldInt16(4,s,0)}static addNumBehavior(t,s){t.addFieldInt16(5,s,0)}static addBehaviorType(t,s){t.addFieldOffset(6,s,0)}static createBehaviorTypeVector(t,s){t.startVector(1,s.length,1);for(let e=s.length-1;e>=0;e--)t.addInt8(s[e]);return t.endVector()}static startBehaviorTypeVector(t,s){t.startVector(1,s,1)}static addBehavior(t,s){t.addFieldOffset(7,s,0)}static createBehaviorVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startBehaviorVector(t,s){t.startVector(4,s,4)}static endEffectNode(t){return t.endObject()}static createEffectNode(t,s,e,i,o,a,r,h,l){return L.startEffectNode(t),L.addArrayIndex(t,s),L.addParentIndex(t,e),L.addType(t,i),L.addCellIndex(t,o),L.addBlendType(t,a),L.addNumBehavior(t,r),L.addBehaviorType(t,h),L.addBehavior(t,l),L.endEffectNode(t)}}class w{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsEffectFile(t,s){return(s||new w).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsEffectFile(t,s){return t.setPosition(t.position()+C),(s||new w).__init(t.readInt32(t.position())+t.position(),t)}name(t){const s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}fps(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt16(this.bb_pos+t):0}isLockRandSeed(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt16(this.bb_pos+t):0}lockRandSeed(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleX(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt16(this.bb_pos+t):0}layoutScaleY(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt16(this.bb_pos+t):0}numNodeList(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt16(this.bb_pos+t):0}effectNode(t,s){const e=this.bb.__offset(this.bb_pos,18);return e?(s||new L).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectNodeLength(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startEffectFile(t){t.startObject(8)}static addName(t,s){t.addFieldOffset(0,s,0)}static addFps(t,s){t.addFieldInt16(1,s,0)}static addIsLockRandSeed(t,s){t.addFieldInt16(2,s,0)}static addLockRandSeed(t,s){t.addFieldInt16(3,s,0)}static addLayoutScaleX(t,s){t.addFieldInt16(4,s,0)}static addLayoutScaleY(t,s){t.addFieldInt16(5,s,0)}static addNumNodeList(t,s){t.addFieldInt16(6,s,0)}static addEffectNode(t,s){t.addFieldOffset(7,s,0)}static createEffectNodeVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectNodeVector(t,s){t.startVector(4,s,4)}static endEffectFile(t){return t.endObject()}static createEffectFile(t,s,e,i,o,a,r,h,l){return w.startEffectFile(t),w.addName(t,s),w.addFps(t,e),w.addIsLockRandSeed(t,i),w.addLockRandSeed(t,o),w.addLayoutScaleX(t,a),w.addLayoutScaleY(t,r),w.addNumNodeList(t,h),w.addEffectNode(t,l),w.endEffectFile(t)}}var p=(c=>(c[c.INVISIBLE=1]="INVISIBLE",c[c.FLIP_H=2]="FLIP_H",c[c.FLIP_V=4]="FLIP_V",c[c.CELL_INDEX=8]="CELL_INDEX",c[c.POSITION_X=16]="POSITION_X",c[c.POSITION_Y=32]="POSITION_Y",c[c.POSITION_Z=64]="POSITION_Z",c[c.PIVOT_X=128]="PIVOT_X",c[c.PIVOT_Y=256]="PIVOT_Y",c[c.ROTATIONX=512]="ROTATIONX",c[c.ROTATIONY=1024]="ROTATIONY",c[c.ROTATIONZ=2048]="ROTATIONZ",c[c.SCALE_X=4096]="SCALE_X",c[c.SCALE_Y=8192]="SCALE_Y",c[c.LOCALSCALE_X=16384]="LOCALSCALE_X",c[c.LOCALSCALE_Y=32768]="LOCALSCALE_Y",c[c.OPACITY=65536]="OPACITY",c[c.LOCALOPACITY=131072]="LOCALOPACITY",c[c.PARTS_COLOR=262144]="PARTS_COLOR",c[c.VERTEX_TRANSFORM=524288]="VERTEX_TRANSFORM",c[c.SIZE_X=1048576]="SIZE_X",c[c.SIZE_Y=2097152]="SIZE_Y",c[c.U_MOVE=4194304]="U_MOVE",c[c.V_MOVE=8388608]="V_MOVE",c[c.UV_ROTATION=16777216]="UV_ROTATION",c[c.U_SCALE=33554432]="U_SCALE",c[c.V_SCALE=67108864]="V_SCALE",c[c.BOUNDINGRADIUS=134217728]="BOUNDINGRADIUS",c[c.MASK=268435456]="MASK",c[c.PRIORITY=536870912]="PRIORITY",c[c.INSTANCE_KEYFRAME=1073741824]="INSTANCE_KEYFRAME",c[c.EFFECT_KEYFRAME=2147483648]="EFFECT_KEYFRAME",c))(p||{}),yt=(c=>(c[c.MESHDATA=1]="MESHDATA",c))(yt||{});class D{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsProjectData(t,s){return(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsProjectData(t,s){return t.setPosition(t.position()+C),(s||new D).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("SSFB")}dataId(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}version(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint32(this.bb_pos+t):0}flags(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint32(this.bb_pos+t):0}imageBaseDir(t){const s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}cells(t,s){const e=this.bb.__offset(this.bb_pos,12);return e?(s||new ft).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}cellsLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}animePacks(t,s){const e=this.bb.__offset(this.bb_pos,14);return e?(s||new Z).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}animePacksLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}effectFileList(t,s){const e=this.bb.__offset(this.bb_pos,16);return e?(s||new w).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+e)+t*4),this.bb):null}effectFileListLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}numCells(){const t=this.bb.__offset(this.bb_pos,18);return t?this.bb.readInt16(this.bb_pos+t):0}numAnimePacks(){const t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readInt16(this.bb_pos+t):0}numEffectFileList(){const t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readInt16(this.bb_pos+t):0}static startProjectData(t){t.startObject(10)}static addDataId(t,s){t.addFieldInt32(0,s,0)}static addVersion(t,s){t.addFieldInt32(1,s,0)}static addFlags(t,s){t.addFieldInt32(2,s,0)}static addImageBaseDir(t,s){t.addFieldOffset(3,s,0)}static addCells(t,s){t.addFieldOffset(4,s,0)}static createCellsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startCellsVector(t,s){t.startVector(4,s,4)}static addAnimePacks(t,s){t.addFieldOffset(5,s,0)}static createAnimePacksVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startAnimePacksVector(t,s){t.startVector(4,s,4)}static addEffectFileList(t,s){t.addFieldOffset(6,s,0)}static createEffectFileListVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startEffectFileListVector(t,s){t.startVector(4,s,4)}static addNumCells(t,s){t.addFieldInt16(7,s,0)}static addNumAnimePacks(t,s){t.addFieldInt16(8,s,0)}static addNumEffectFileList(t,s){t.addFieldInt16(9,s,0)}static endProjectData(t){return t.endObject()}static finishProjectDataBuffer(t,s){t.finish(s,"SSFB")}static finishSizePrefixedProjectDataBuffer(t,s){t.finish(s,"SSFB",!0)}static createProjectData(t,s,e,i,o,a,r,h,l,n,d){return D.startProjectData(t),D.addDataId(t,s),D.addVersion(t,e),D.addFlags(t,i),D.addImageBaseDir(t,o),D.addCells(t,a),D.addAnimePacks(t,r),D.addEffectFileList(t,h),D.addNumCells(t,l),D.addNumAnimePacks(t,n),D.addNumEffectFileList(t,d),D.endProjectData(t)}}class Ct{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}integer(){return this.bb.readInt32(this.bb_pos)}static sizeOf(){return 4}static createuserDataInteger(t,s){return t.prep(4,4),t.writeInt32(s),t.offset()}}class Vt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}static sizeOf(){return 8}static createuserDataPoint(t,s,e){return t.prep(4,8),t.writeInt32(e),t.writeInt32(s),t.offset()}}class bt{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}x(){return this.bb.readInt32(this.bb_pos)}y(){return this.bb.readInt32(this.bb_pos+4)}w(){return this.bb.readInt32(this.bb_pos+8)}h(){return this.bb.readInt32(this.bb_pos+12)}static sizeOf(){return 16}static createuserDataRect(t,s,e,i,o){return t.prep(4,16),t.writeInt32(o),t.writeInt32(i),t.writeInt32(e),t.writeInt32(s),t.offset()}}class H{constructor(){this.bb=null,this.bb_pos=0}__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsuserDataString(t,s){return(s||new H).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsuserDataString(t,s){return t.setPosition(t.position()+C),(s||new H).__init(t.readInt32(t.position())+t.position(),t)}length(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}data(t){const s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__string(this.bb_pos+s,t):null}static startuserDataString(t){t.startObject(2)}static addLength(t,s){t.addFieldInt32(0,s,0)}static addData(t,s){t.addFieldOffset(1,s,0)}static enduserDataString(t){return t.endObject()}static createuserDataString(t,s,e){return H.startuserDataString(t),H.addLength(t,s),H.addData(t,e),H.enduserDataString(t)}}let xt=class{static getProjectData(t){const s=new It(t);return D.getRootAsProjectData(s)}};class mt{static getProjectData(t){return xt.getProjectData(t)}}class ot{constructor(t,s=null,e=null){this.curAnimePackName=null,this.curAnimeName=null,this.curAnimation=null,this.curAnimePackData=null,this._animePackIdx=-1,this._parentIndex=[],this._prio2index=[],this.userData=[],this.frameDataCache=null,this.currentCachedFrameNumber=-1,this.defaultFrameMap=[],this._uint32=new Uint32Array(1),this._float32=new Float32Array(this._uint32.buffer),Object.prototype.hasOwnProperty.call(t,"bb")?this._fbObj=t:this._fbObj=mt.getProjectData(t),s!==null&&e!==null&&this.Setup(s,e)}get fbObj(){return this._fbObj}get animePackName(){return this.curAnimePackName}get animeName(){return this.curAnimeName}get animePackIdx(){return this._animePackIdx}get animePackData(){return this.curAnimePackData}get animationData(){return this.curAnimation}get parentIndex(){return this._parentIndex}get prio2index(){return this._prio2index}Setup(t,s){this.clearCaches();const e=this._fbObj.animePacksLength();let i=!1;for(let o=0;o>>0,n.colorBlendType===1&&(n.tint=n.colorArgb32&16777215)}}if(l&yt.MESHDATA){const _=this.curAnimation.meshsDataUv(r);n.meshIsBind=_.uv(0),n.meshNum=_.uv(1);let m=new Float32Array(n.meshNum*3);for(let F=0;F=0&&(t=this.InheritOpacity(t,this._parentIndex[s],e)),t}TransformVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],o=-i.rotationZ*Math.PI/180,a=Math.cos(o),r=Math.sin(o);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformMeshVertsLocal(t,s,e){const i=this.GetFrameData(e)[s],o=-i.rotationZ*Math.PI/180,a=Math.cos(o),r=Math.sin(o);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPositionLocal(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const o=-i.rotationZ*Math.PI/180,a=Math.cos(o),r=Math.sin(o),h=t[0]*i.scaleX*i.localscaleX,l=t[1]*i.scaleY*i.localscaleY;return t[2]*=i.scaleX*i.localscaleX,t[3]*=i.scaleY*i.localscaleY,t[0]=a*h-r*l+i.positionX,t[1]=r*h+a*l-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static CoordinateGetDiagonalIntersection(t,s,e,i,o,a,r,h,l,n,d){const _=(h-a)*(r-e)-(r-o)*(h-i),m=(l-e)*(h-i)-(n-i)*(r-e),F=(l-e)*(h-a)-(n-i)*(r-o);if(F<=0&&F>=0)return d;const f=_/F,V=m/F;return 0<=f&&1>=f&&0<=V&&1>=V&&(t=e+f*(l-e),s=i+f*(n-i)),d[0]=t,d[1]=s,d}TransformVerts(t,s,e){const i=this.GetFrameData(e)[s],o=-i.rotationZ*Math.PI/180,a=Math.cos(o),r=Math.sin(o);for(let h=0;h=0&&(t=this.TransformVerts(t,this._parentIndex[s],e)),t}TransformPosition(t,s,e){const i=this.GetFrameData(e)[s];t[4]+=-i.rotationZ;const o=-i.rotationZ*Math.PI/180,a=Math.cos(o),r=Math.sin(o),h=t[0]*i.scaleX,l=t[1]*i.scaleY;return t[2]*=i.scaleX,t[3]*=i.scaleY,t[0]=a*h-r*l+i.positionX,t[1]=r*h+a*l-i.positionY,this._parentIndex[s]>=0&&(t=this.TransformPosition(t,this._parentIndex[s],e)),t}static GetVerts(t,s,e){const i=s.size_X/2,o=s.size_Y/2,a=s.size_X*-(s.pivotX+t.pivotX()),r=s.size_Y*(s.pivotY+t.pivotY());return e.set([a,r,a-i,r-o,a+i,r-o,a-i,r+o,a+i,r+o]),e}static GetMeshVerts(t,s,e){for(let i=0;i{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}unload(t,s,e){P.Assets.unloadBundle(t).then(()=>{e!==null&&e(null)}).catch(i=>{e!==null&&e(i)})}texture(t){return P.Assets.get(t)}}class Dt{constructor(){this.loader=new St}load(t,s,e){return this.loader.load(t,s,e)}unload(t,s,e=null){return this.loader.unload(t,s,e)}texture(t){return this.loader.texture(t)}}class Pt{constructor(t,s,e,i){if(this.sspjMap={},this.resourceLoader=new Dt,typeof t=="string"&&e===void 0){let o=t;this.ssfbPath=o;const a=o.lastIndexOf("/");this.rootPath=o.substring(0,a)+"/",this.ssfbFile=o.substring(a+1),this.onComplete=s===void 0?null:s,this.status=0,this.LoadFlatBuffersProject()}else if(typeof s=="object"&&s.constructor===Uint8Array){this.ssfbPath=null,this.rootPath=null,this.ssfbFile=t;let o=s,a=e;this.onComplete=i===void 0?null:i,this.load(o,a)}}getBundle(){return this.ssfbFile}getTexture(t){return this.resourceLoader.texture(t)}dispose(t=null){this.resourceLoader.unload(this.getBundle(),this.sspjMap,s=>{t!==null&&t()})}LoadFlatBuffersProject(){const t=this;fetch(this.ssfbPath,{method:"get"}).then(s=>s.ok?Promise.resolve(s.arrayBuffer()):Promise.reject(new Error(s.statusText))).then(s=>{t.fbObj=mt.getProjectData(new Uint8Array(s)),t.LoadCellResources()}).catch(s=>{this.onComplete!==null&&this.onComplete(null,s)})}LoadCellResources(){let t=[];this.sspjMap={};for(let e=0;e{e===null?(s.status=1,s.onComplete!==null&&s.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,e)})}load(t,s){this.fbObj=mt.getProjectData(t);let e={};for(let o in s){const a=s[o];let r="";const h=a.byteLength;for(let l=0;l{o===null?(i.status=1,i.onComplete!==null&&i.onComplete(this,null)):this.onComplete!==null&&this.onComplete(null,o)})}}class vt{constructor(){this.refStartframe=0,this.refEndframe=0,this.refSpeed=1,this.refloopNum=0,this.infinity=!1,this.reverse=!1,this.pingpong=!1,this.independent=!1}}class _t extends P.Container{constructor(t,s=null,e=null){super(),this.liveFrame=[],this.colorMatrixFilterCache=[],this.parentAlpha=1,this.prevCellID=[],this.prevPartObject=[],this.changeCellID=[],this.changeVisible=[],this.changeTint=[],this.substituteOverWrite=[],this.substituteKeyParam=[],this.alphaBlendType=[],this.defaultColorFilter=new P.ColorMatrixFilter,this._instancePos=new Float32Array(5),this._CoordinateGetDiagonalIntersectionVec2=new Float32Array(2),this.isRenderGroup=!0,this.ss6project=t,this.playerLib=new ot(t.fbObj,s,e),this.parentAlpha=1,s!==null&&e!==null&&this.Setup(s,e),this.on("added",(...i)=>{P.Ticker.shared.add(this.Update,this)},this),this.on("removed",(...i)=>{P.Ticker.shared.remove(this.Update,this)},this)}get startFrame(){return this._startFrame}get endFrame(){return this._endFrame}get totalFrame(){return this.playerLib.animationData.totalFrames()}get fps(){return this.playerLib.animationData.fps()}get frameNo(){return Math.floor(this._currentFrame)}set loop(t){this._loops=t}get loop(){return this._loops}get isPlaying(){return this._isPlaying}get isPausing(){return this._isPausing}get animePackName(){return this.playerLib.animePackName}get animeName(){return this.playerLib.animeName}Setup(t,s){this.playerLib.Setup(t,s),this.clearCaches();const e=this.playerLib.animePackData,i=e.partsLength();this.prevCellID=new Array(i),this.prevPartObject=new Array(i),this.changeCellID=new Array(i),this.changeVisible=new Array(i),this.changeTint=new Array(i),this.substituteOverWrite=new Array(i),this.substituteKeyParam=new Array(i);for(let o=0;o=this.updateInterval){let o=!1;const a=this.nextFrameTime/this.updateInterval;this.nextFrameTime-=this.updateInterval*a;let r=this.skipEnabled?a*this.playDirection:this.playDirection,h=this._currentFrame+r,l=Math.floor(h),n=h-l,d=Math.floor(this._currentFrame);if(this.playDirection>=1)for(let _=l-d;_;_--){let m=d+1;if(m>this._endFrame)if(this._loops===-1)m=this._startFrame;else if(this._loops--,o=!0,this._loops===0){this._isPlaying=!1,m=s?this._startFrame:this._endFrame;break}else m=this._startFrame;d=m,this._isPlaying&&this.playerLib.HaveUserData(d)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(d))}if(this.playDirection<=-1)for(let _=d-l;_;_--){let m=d-1;if(m0?1:-1,this.updateInterval=1e3/(this.playerLib.animationData.fps()*t*this.playDirection),this.skipEnabled=s)}SetAnimationSection(t=-1,s=-1,e=-1){t>=0&&t=0&&s0?this._loops=e:this._loops=-1,this._currentFrame=this.playDirection>0?this._startFrame:this._endFrame}Play(t){this._isPlaying=!0,this._isPausing=!1;let s=this.playDirection>0?this._startFrame:this._endFrame;t&&typeof t=="number"&&(s=t),this._currentFrame=s,this.resetLiveFrame();const e=Math.floor(this._currentFrame);this.SetFrameAnimation(e),this.playerLib.HaveUserData(e)&&this.onUserDataCallback!==null&&this.onUserDataCallback(this.playerLib.GetUserData(e))}Pause(){this._isPausing=!0}Resume(){this._isPausing=!1}Stop(){this._isPlaying=!1}SetFrame(t){this._currentFrame=t}NextFrame(){const t=Math.floor(this._currentFrame),s=this.endFrame;t!==s&&this.SetFrame(t+1)}PrevFrame(){const t=Math.floor(this._currentFrame);t!==0&&this.SetFrame(t-1)}SetAlpha(t){this.parentAlpha=t}ThrowError(t){}SetUserDataCalback(t){this.onUserDataCallback=t}SetPlayEndCallback(t){this.playEndCallback=t}getCellIndex(t,s){let e=-1;if(t!==""&&s!==""){const i=this.playerLib.fbObj,o=this.playerLib.fbObj.numCells();for(let a=0;a>>24)/255,r=((e&16711680)>>>16)/255,h=((e&65280)>>>8)/255,l=(e&255)/255;if(t===0){const n=1-s;o.matrix=[n,0,0,0,r*s,0,n,0,0,h*s,0,0,n,0,l*s,0,0,0,1,0]}else t===1?o.matrix=[r,0,0,0,0,0,h,0,0,0,0,0,l,0,0,0,0,0,a,0]:t===2?o.matrix=[1,0,0,0,r,0,1,0,0,h,0,0,1,0,l,0,0,0,a,0]:t===3&&(o.matrix=[1,0,0,0,-r,0,1,0,0,-h,0,0,1,0,-l,0,0,0,a,0]);return this.colorMatrixFilterCache[i]=o,o}SetFrameAnimation(t,s=0){const e=this.playerLib.GetFrameData(t);this.removeChildren();const i=e.length;for(let o=0;o=0&&this.prevCellID[a]!==l&&(n?.destroy(),n=this.MakeCellMesh(l),n.label=d.name());break;case O.Mesh:l>=0&&this.prevCellID[a]!==l&&(n?.destroy(),n=this.MakeMeshCellMesh(a,l,h),n.label=d.name());break;case O.Nulltype:case O.Joint:this.prevCellID[a]!==l&&(n?.destroy(),n=new P.Container,n.label=d.name());break;default:l>=0&&this.prevCellID[a]!==l&&(n?.destroy(),n=this.MakeCellMesh(l),n.label=d.name());break}if(n!=null)switch(this.prevCellID[a]=l,this.prevPartObject[a]=n,_){case O.Instance:{const f=n;this._instancePos[0]=0,this._instancePos[1]=0,this._instancePos[2]=1,this._instancePos[3]=1,this._instancePos[4]=0,this._instancePos=this.playerLib.TransformPositionLocal(this._instancePos,r.index,t),f.rotation=this._instancePos[4]*Math.PI/180,f.position.set(this._instancePos[0],this._instancePos[1]),f.scale.set(this._instancePos[2],this._instancePos[3]);let V=r.opacity/255;r.localopacity<255&&(V=r.localopacity/255),f.SetAlpha(V*this.parentAlpha),f.visible=!r.f_hide;let u=r.instanceValue_curKeyframe,x=r.instanceValue_startFrame,I=r.instanceValue_endFrame,z=r.instanceValue_speed,W=r.instanceValue_loopNum,st=!1,k=!1,v=!1,B=!1;const J=1,$=2,M=4,E=8,N=r.instanceValue_loopflag;N&J&&(st=!0),N&$&&(k=!0),N&M&&(v=!0),N&E&&(B=!0),m&&(x=F.refStartframe,I=F.refEndframe,z=F.refSpeed,W=F.refloopNum,st=F.infinity,k=F.reverse,v=F.pingpong,B=F.independent),(f._startFrame!==x||f._endFrame!==I)&&f.SetAnimationSection(x,I);let Y=t;B===!0&&(this.liveFrame[o]+=s,Y=Math.floor(this.liveFrame[o]));const et=u;let g=Math.floor((Y-et)*z);if(g<0||et>Y)continue;const T=I-x+1;if(T<=0)continue;let U=Math.floor(g/T),j=W;v&&(j=j*2),st||U>=j&&(g=T-1,U=j-1);const q=Math.floor(g%T);let K=0;v&&U%2===1&&(k?k=!1:k=!0),this.playDirection<=-1&&(k=!k),k?K=I-q:K=q+x,f.SetFrame(Math.floor(K)),this.addChild(f);break}case O.Normal:case O.Mesh:case O.Joint:case O.Mask:{const f=n,V=f.geometry.attributes.aPosition.buffer;let u=V.data;const x=this.playerLib.fbObj.cells(l);let I;if(_===O.Mesh?r.meshIsBind===0?I=this.playerLib.TransformMeshVertsLocal(ot.GetMeshVerts(x,r,u),r.index,t):I=ot.GetMeshVerts(x,r,u):(I=_===O.Joint?new Float32Array(10):u,I=this.playerLib.TransformVertsLocal(ot.GetVerts(x,r,I),r.index,t)),r.flag1&p.VERTEX_TRANSFORM){const v=I[6],B=I[7],J=I[2],$=I[3],M=I[8],E=I[9],N=I[4],Y=I[5],et=(v+M)*.5,g=(B+E)*.5,T=(v+J)*.5,U=(B+$)*.5,j=(J+N)*.5,q=($+Y)*.5,K=(M+N)*.5,rt=(E+Y)*.5,pt=ot.CoordinateGetDiagonalIntersection(I[0],I[1],et,g,K,rt,T,U,j,q,this._CoordinateGetDiagonalIntersectionVec2);I[0]=pt[0],I[1]=pt[1]}const z=I[0],W=I[1];for(let v=0;v>>24)/255;f.alpha=f.alpha*v}const k=this.alphaBlendType[a];(k==="multiply"||k==="screen")&&(f.alpha=1),_!==O.Mask&&this.addChild(f);break}case O.Nulltype:{const f=n,V=this.playerLib.InheritOpacity(1,r.index,t);f.alpha=V*r.localopacity/255;const u=this.playerLib.TransformVerts(ot.GetDummyVerts(),r.index,t),x=u[0],I=u[1];f.position.set(x,I);const z=Math.atan2(u[5]-u[3],u[4]-u[2]),W=Math.atan2(u[7]-u[3],u[6]-u[2]);f.rotation=z,f.skew.x=W-z-Math.PI/2;break}}}}ChangeInstanceAnime(t,s,e,i,o=null){let a=!1;if(this.animePackName!==null&&this.animeName!==null){let r=this.playerLib.animePackData,h=r.partsLength();for(let l=0;l0){const a=this.playerLib.fbObj.cells(s),r=this.playerLib.fbObj.cells(e),h=s===e?0:(a.u1()+a.u2())/2-(r.u1()+r.u2())/2,l=s===e?0:(a.v1()+a.v2())/2-(r.v1()+r.v2())/2,n=new Float32Array(o-2),d=i.uv(1);for(let u=2;u