=:  java/lang/Object()Vjava/util/HashMap   7zombie/core/skinnedmodel/model/jassimp/ImportedSkeleton boneIndicesLjava/util/HashMap;java/util/ArrayList   SkeletonHierarchyLjava/util/ArrayList;  bindPose   invBindPose  skinOffsetMatrices ! "# rootBoneNodeLjassimp/AiNode; % &clips( jassimp/AiBuiltInWrapperProvider ' + ,-wrapper"Ljassimp/AiBuiltInWrapperProvider;/ org/lwjgl/util/vector/Quaternion . 2 34end"Lorg/lwjgl/util/vector/Quaternion;  7 89processAiSceneB(Lzombie/core/skinnedmodel/model/jassimp/ImportedSkeletonParams;)V ;<= >?=zombie/core/skinnedmodel/model/jassimp/ImportedSkeletonParamssceneLjassimp/AiScene; ;A BCmodeALzombie/core/skinnedmodel/model/jassimp/JAssImpImporter$LoadMode; ;E FG skinnedTo-Lzombie/core/skinnedmodel/model/SkinningData; ;I JKanimBonesScaleModifierF ;M N4animBonesRotateModifier ;P QRmeshLjassimp/AiMesh; TUV WXjassimp/AiScene getSceneRoot/(Ljassimp/AiWrapperProvider;)Ljava/lang/Object;Zjassimp/AiNode\Dummy01 ^_` ab6zombie/core/skinnedmodel/model/jassimp/JAssImpImporterFindNode4(Ljava/lang/String;Ljassimp/AiNode;)Ljassimp/AiNode;dVehicleSkeleton Yf gh getParent()Ljassimp/AiNode; ^j klCollectBoneNodes((Ljava/util/ArrayList;Ljassimp/AiNode;)VnTranslation_Data p qradd(Ljava/lang/Object;)Z tuv w+zombie/core/skinnedmodel/model/SkinningData BoneIndices y z{putAll(Ljava/util/Map;)V t} ~Ljava/util/List;  addAll(Ljava/util/Collection;)Z  size()I  get(I)Ljava/lang/Object; Y getName()Ljava/lang/String;  r containsKey   java/lang/IntegervalueOf(I)Ljava/lang/Integer;  put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;  &(Ljava/lang/Object;)Ljava/lang/Object;org/lwjgl/util/vector/Matrix4f   jassimp/AiMeshgetBones()Ljava/util/List; ^  FindAiBone4(Ljava/lang/String;Ljava/util/List;)Ljassimp/AiBone;  Xjassimp/AiBonegetOffsetMatrixjassimp/AiMatrix4f ^ getMatrixFromAiMatrix6(Ljassimp/AiMatrix4f;)Lorg/lwjgl/util/vector/Matrix4f; #(Lorg/lwjgl/util/vector/Matrix4f;)V invert ()Lorg/lwjgl/util/vector/Matrix;  setIdentity ^ V(Ljassimp/AiMatrix4f;Lorg/lwjgl/util/vector/Matrix4f;)Lorg/lwjgl/util/vector/Matrix4f; mul(Lorg/lwjgl/util/vector/Matrix4f;Lorg/lwjgl/util/vector/Matrix4f;Lorg/lwjgl/util/vector/Matrix4f;)Lorg/lwjgl/util/vector/Matrix4f; intValue  set'(ILjava/lang/Object;)Ljava/lang/Object;  q(ILjava/lang/Object;)V  C?zombie/core/skinnedmodel/model/jassimp/JAssImpImporter$LoadMode AnimationOnly T getNumAnimations T  getAnimations java/util/Listjassimp/AiAnimation processAnimation<(Ljassimp/AiAnimation;ZFLorg/lwjgl/util/vector/Quaternion;)V  getDuration()D getTicksPerSecond  getChannels jassimp/AiNodeAnim  getNumPosKeys  getPosKeyTime(I)D  java/lang/Float(F)Ljava/lang/Float;  rcontains   getNumRotKeys   getRotKeyTime   getNumScaleKeys  getScaleKeyTime  java/util/Collectionssort(Ljava/util/List;)V+zombie/core/skinnedmodel/animation/Keyframe   clear   getNodeName   !BoneNameLjava/lang/String; #$% &'zombie/debug/DebugLogGeneralLzombie/debug/DebugLogStream;)-Could not find bone index for node name: "%s" +,- ./zombie/debug/DebugLogStreamerror((Ljava/lang/String;[Ljava/lang/Object;)V 1 23BoneI 5 67 floatValue()F 9 :KTime ^< =>GetKeyFramePosition7(Ljassimp/AiNodeAnim;F)Lorg/lwjgl/util/vector/Vector3f; @ ABPosition Lorg/lwjgl/util/vector/Vector3f; ^D EFGetKeyFrameRotation9(Ljassimp/AiNodeAnim;F)Lorg/lwjgl/util/vector/Quaternion; H I4Rotation ^K L>GetKeyFrameScale N OBScale Q =R8(Ljassimp/AiNodeAnim;FD)Lorg/lwjgl/util/vector/Vector3f; T EU:(Ljassimp/AiNodeAnim;FD)Lorg/lwjgl/util/vector/Quaternion; W LR Z[\ ]^java/lang/StringindexOf(I)I Z` ab substring(I)Ljava/lang/String;d0zombie/core/skinnedmodel/animation/AnimationClip cf g'(FLjava/util/List;Ljava/lang/String;Z)V  jkl mn%zombie/core/skinnedmodel/ModelManagerinstance'Lzombie/core/skinnedmodel/ModelManager; jp qrbCreateSoftwareMeshesZt2zombie/core/skinnedmodel/animation/StaticAnimation sv w5(Lzombie/core/skinnedmodel/animation/AnimationClip;)V cy z{ staticClip4Lzombie/core/skinnedmodel/animation/StaticAnimation;}$gnu/trove/list/array/TFloatArrayList  java/util/Arraysfill(([Ljava/lang/Object;Ljava/lang/Object;)V  (I)V  collectBoneFramesT(Ljassimp/AiAnimation;[Lgnu/trove/list/array/TFloatArrayList;Ljava/util/ArrayList;)V .  mulInverse(Lorg/lwjgl/util/vector/Quaternion;Lorg/lwjgl/util/vector/Quaternion;Lorg/lwjgl/util/vector/Quaternion;)Lorg/lwjgl/util/vector/Quaternion; . L(Lorg/lwjgl/util/vector/ReadableVector4f;)Lorg/lwjgl/util/vector/Quaternion;RootNodeorg/lwjgl/util/vector/Vector3f  (FFF)V  addDefaultAnimTrackn(Ljava/lang/String;ILorg/lwjgl/util/vector/Quaternion;Lorg/lwjgl/util/vector/Vector3f;Ljava/util/ArrayList;F)V |   ^getParentBoneIdx  doesParentBoneHaveAnimFrames@([Lgnu/trove/list/array/TFloatArrayList;Ljava/util/ArrayList;I)Z | | (I)F  Kx  Ky  Kz .   zombie/util/StringUtilsstartsWithIgnoreCase'(Ljava/lang/String;Ljava/lang/String;)Z  (zombie/core/skinnedmodel/HelperFunctions transforme(Lorg/lwjgl/util/vector/Quaternion;Lorg/lwjgl/util/vector/Vector3f;Lorg/lwjgl/util/vector/Vector3f;)V Z trim  doesBoneHaveAnimFrames | | (F)Z | q    getPosKeyX   getPosKeyY   getPosKeyZ    getRotKeyQuaternion0(ILjassimp/AiWrapperProvider;)Ljava/lang/Object;jassimp/AiQuaternion  7getX  7getY  7getZ  7getW . (FFFF)V . . setX(F)V . . setY . . setZ . . setW?6C-  java/lang/Mathacos(D)D   sin   getRotKeyX   getRotKeyY   getRotKeyZ   getRotKeyW   getScaleKeyX   getScaleKeyY    getScaleKeyZ Signature:Ljava/util/HashMap;*Ljava/util/ArrayList;7Ljava/util/ArrayList;YLjava/util/HashMap;CodeLineNumberTableprocessz(Lzombie/core/skinnedmodel/model/jassimp/ImportedSkeletonParams;)Lzombie/core/skinnedmodel/model/jassimp/ImportedSkeleton; StackMapTableprocessAnimationOld(Ljassimp/AiAnimation;Z)V DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated;1'[Lgnu/trove/list/array/TFloatArrayList;(Ljava/lang/String;ILorg/lwjgl/util/vector/Quaternion;Lorg/lwjgl/util/vector/Vector3f;Ljava/util/ArrayList;F)Vm([Lgnu/trove/list/array/TFloatArrayList;Ljava/util/ArrayList;>;I)Z(Ljassimp/AiAnimation;[Lgnu/trove/list/array/TFloatArrayList;Ljava/util/ArrayList;>;)VgetNumBoneAncestors SourceFileImportedSkeleton.java InnerClassesLoadMode1  !"!#!$!$!$"#&!%,-34&b**Y *Y*Y*Y*Y* *Y $*'Y)**.Y01'. %0;@KVa ()&/ Y5L+*6+'#$ &89&V{+:M+@N+D:+H8+L:+O:,**SY:*[] * *c] 6 6 * '* e* e** e * * Y:  * im]:  0  oW e:     oW e: * sx*|W6     Y:  :* * 6* W * *oWS e:*  e:** oW*oW QY: 6  * * oW* oW : 6  Y:: :**::Y:WY:We: :**: WY:WY:WW* 6*W*W *66/Y*:W*Є-ӥ ,6,:65: * * ʱ'b+, -./0"2/6:7A9L:R>UArDGJMNPQSUVXY]_`dfgh$j'm0n?rHtWx^yr{|~d%*-4?ENT^glz+,278>HV[htz*9R  ;Tt.Y* .YY+YZ/Y  ;Tt.YY % -YZY ;Tt.YYYZZR ;Tt.YY 2 & +,& YN+8+n8Y:+:6: 6   +  8   oW 6   +  8   oW 6    +   8   oW фD6C6  . : Y:    *  :  "(Y S*  ɵ0 4+n8K  4;?  4CG  4JMW * 4+P? * 4+SG * 4+VM 0 - oW ̄+X:|Y6   `_:cY-e: -hio sY ux*$ W'9"(7ER\itz    ! #$"%'&1)B*G,\-_0i23567;<=!?)A0!6<FBGKHPJ[MjNnPwRTU*j+  +++ _mSZ)c-./& Y:+8+n8* |:~Y* : 6  *  oW *+ : 6  .Y0:   W6  *   :  : .Y0:W* Y  2:p* 6 *  6688+n86  :Y: 08*;?CGJM3*P?*SG*VM?Y%j?Y%j?Y%j H3 GGWm6 ??GGWoWĄ -+X:  |Y6    `_:  : cY e:hiosYux*$ W'GY [\^&_,a<bKdRbXgaidjpkum~nqstv{|~&/9FR[`jqx|#(7GOU[qagpu*?  .0.@S|#@f/c  .0.|  .0.Z2c& Y :Y:+0 8?-GMoWY:   + 0 8 ? -G M oW'R  &,39@HQV\bipv}!2&G*6*+,Ĭ' *!3&o*+2: ,:'   &(*|!3&( 6+:6#::* :"(YS*-ɶ:  Y: - W oW,2:  |Y: , S6  % 8   Ț   W 6  % 8   Ț   W 6   %  8   Ț   W ׄױ'" #"*%8&=(O)R,`-e/n0z24578=?@B=EGHJEM OP!R)M/5V*P HZ''|%%% 0!4^&?*ɬ'Z\`*5^&S=*>*>'fg igl* =R&Y:+6+d$+` `+p6+8+8  f8   )c8  | f8 $f8   n8 +8 +8   fjb8+8+8 fjb8+8+8 fjb8ק+++Զ'~q suxy!{/}28CLU\ckry*)2  EU&A .Y0:+6+d$+` `+p6+8+8  f8   )c8  h$f n8 +**: +**:   j  jb  jb  jb9*1    Gk9*1*1v*1*1v*1*1v*1*1vg29 9 gk o9 k o9 g9 9 ߍk*1kc k*1kc k*1kc k*1kc0+ 8 +8 +8 +8   '/ !/28CLU\ckr{"1<CJZhkrw}*d .2  . .9 _  .,LR&UY :+ 6+ d$+`  +++'*  $2 5 ;R*678 ^9@