@eva/plugin-renderer-spine 1.3.0-alpha.0 → 2.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EVA.plugin.renderer.spine.js +26 -9557
- package/dist/EVA.plugin.renderer.spine.min.js +1 -1
- package/dist/packages/eva.js/lib/core/Component.d.ts +35 -0
- package/dist/packages/eva.js/lib/core/Component.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/core/ComponentObserver.d.ts +22 -0
- package/dist/packages/eva.js/lib/core/ComponentObserver.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/core/GameObject.d.ts +31 -0
- package/dist/packages/eva.js/lib/core/GameObject.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/core/System.d.ts +30 -0
- package/dist/packages/eva.js/lib/core/System.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/core/Transform.d.ts +51 -0
- package/dist/packages/eva.js/lib/core/Transform.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/core/observer.d.ts +23 -0
- package/dist/packages/eva.js/lib/core/observer.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/decorators/ide.d.ts +2 -0
- package/dist/packages/eva.js/lib/decorators/ide.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/decorators/system.d.ts +11 -0
- package/dist/packages/eva.js/lib/decorators/system.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/game/Game.d.ts +72 -0
- package/dist/packages/eva.js/lib/game/Game.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/game/Scene.d.ts +12 -0
- package/dist/packages/eva.js/lib/game/Scene.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/game/Ticker.d.ts +25 -0
- package/dist/packages/eva.js/lib/game/Ticker.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/index.d.ts +26 -0
- package/dist/packages/eva.js/lib/index.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/loader/Progress.d.ts +21 -0
- package/dist/packages/eva.js/lib/loader/Progress.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/loader/Resource.d.ts +99 -0
- package/dist/packages/eva.js/lib/loader/Resource.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/loader/resourceLoader.d.ts +14 -0
- package/dist/packages/eva.js/lib/loader/resourceLoader.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/timeline/index.d.ts +40 -0
- package/dist/packages/eva.js/lib/timeline/index.d.ts.map +1 -0
- package/dist/packages/eva.js/lib/timeline/utils.d.ts +2 -0
- package/dist/packages/eva.js/lib/timeline/utils.d.ts.map +1 -0
- package/dist/packages/plugin-a11y/lib/A11y.d.ts +26 -0
- package/dist/packages/plugin-a11y/lib/A11y.d.ts.map +1 -0
- package/dist/packages/plugin-a11y/lib/A11ySystem.d.ts +54 -0
- package/dist/packages/plugin-a11y/lib/A11ySystem.d.ts.map +1 -0
- package/dist/packages/plugin-a11y/lib/constant.d.ts +34 -0
- package/dist/packages/plugin-a11y/lib/constant.d.ts.map +1 -0
- package/dist/packages/plugin-a11y/lib/index.d.ts +4 -0
- package/dist/packages/plugin-a11y/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-a11y/lib/utils.d.ts +6 -0
- package/dist/packages/plugin-a11y/lib/utils.d.ts.map +1 -0
- package/dist/packages/plugin-evax/lib/EvaXComponent.d.ts +20 -0
- package/dist/packages/plugin-evax/lib/EvaXComponent.d.ts.map +1 -0
- package/dist/packages/plugin-evax/lib/EvaXSystem.d.ts +33 -0
- package/dist/packages/plugin-evax/lib/EvaXSystem.d.ts.map +1 -0
- package/dist/packages/plugin-evax/lib/index.d.ts +10 -0
- package/dist/packages/plugin-evax/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-evax/lib/utils.d.ts +3 -0
- package/dist/packages/plugin-evax/lib/utils.d.ts.map +1 -0
- package/dist/packages/plugin-matterjs/lib/BodiesFactory.d.ts +31 -0
- package/dist/packages/plugin-matterjs/lib/BodiesFactory.d.ts.map +1 -0
- package/dist/packages/plugin-matterjs/lib/Physics.d.ts +32 -0
- package/dist/packages/plugin-matterjs/lib/Physics.d.ts.map +1 -0
- package/dist/packages/plugin-matterjs/lib/PhysicsEngine.d.ts +35 -0
- package/dist/packages/plugin-matterjs/lib/PhysicsEngine.d.ts.map +1 -0
- package/dist/packages/plugin-matterjs/lib/PhysicsSystem.d.ts +32 -0
- package/dist/packages/plugin-matterjs/lib/PhysicsSystem.d.ts.map +1 -0
- package/dist/packages/plugin-matterjs/lib/index.d.ts +5 -0
- package/dist/packages/plugin-matterjs/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-matterjs/lib/matter.d.ts +3 -0
- package/dist/packages/plugin-matterjs/lib/matter.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/Renderer.d.ts +19 -0
- package/dist/packages/plugin-renderer/lib/Renderer.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/System.d.ts +40 -0
- package/dist/packages/plugin-renderer/lib/System.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/Transform.d.ts +28 -0
- package/dist/packages/plugin-renderer/lib/Transform.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/compressedTexture/ability.d.ts +20 -0
- package/dist/packages/plugin-renderer/lib/compressedTexture/ability.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/compressedTexture/fix/loader.d.ts +2 -0
- package/dist/packages/plugin-renderer/lib/compressedTexture/fix/loader.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/compressedTexture/index.d.ts +7 -0
- package/dist/packages/plugin-renderer/lib/compressedTexture/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/index.d.ts +8 -0
- package/dist/packages/plugin-renderer/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/manager/ContainerManager.d.ts +18 -0
- package/dist/packages/plugin-renderer/lib/manager/ContainerManager.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/manager/RendererManager.d.ts +17 -0
- package/dist/packages/plugin-renderer/lib/manager/RendererManager.d.ts.map +1 -0
- package/dist/packages/plugin-renderer/lib/mixin.d.ts +2 -0
- package/dist/packages/plugin-renderer/lib/mixin.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/component.d.ts +26 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/db.d.ts +3 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/db.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/engine.d.ts +10 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/engine.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/system.d.ts +24 -0
- package/dist/packages/plugin-renderer-dragonbone/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-event/lib/component.d.ts +52 -0
- package/dist/packages/plugin-renderer-event/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-event/lib/index.d.ts +5 -0
- package/dist/packages/plugin-renderer-event/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-event/lib/system.d.ts +19 -0
- package/dist/packages/plugin-renderer-event/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-graphics/lib/component.d.ts +8 -0
- package/dist/packages/plugin-renderer-graphics/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-graphics/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-graphics/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-graphics/lib/system.d.ts +12 -0
- package/dist/packages/plugin-renderer-graphics/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-img/lib/component.d.ts +10 -0
- package/dist/packages/plugin-renderer-img/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-img/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-img/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-img/lib/system.d.ts +18 -0
- package/dist/packages/plugin-renderer-img/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-lottie/lib/Lottie.d.ts +27 -0
- package/dist/packages/plugin-renderer-lottie/lib/Lottie.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-lottie/lib/LottieSystem.d.ts +18 -0
- package/dist/packages/plugin-renderer-lottie/lib/LottieSystem.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-lottie/lib/index.d.ts +3 -0
- package/dist/packages/plugin-renderer-lottie/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-lottie/lib/lottie-pixi.d.ts +180 -0
- package/dist/packages/plugin-renderer-lottie/lib/lottie-pixi.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-lottie/lib/types.d.ts +18 -0
- package/dist/packages/plugin-renderer-lottie/lib/types.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-lottie/lib/utils.d.ts +2 -0
- package/dist/packages/plugin-renderer-lottie/lib/utils.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-mask/lib/component.d.ts +33 -0
- package/dist/packages/plugin-renderer-mask/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-mask/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-mask/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-mask/lib/system.d.ts +31 -0
- package/dist/packages/plugin-renderer-mask/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-nine-patch/lib/component.d.ts +22 -0
- package/dist/packages/plugin-renderer-nine-patch/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-nine-patch/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-nine-patch/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-nine-patch/lib/system.d.ts +19 -0
- package/dist/packages/plugin-renderer-nine-patch/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-render/lib/component.d.ts +17 -0
- package/dist/packages/plugin-renderer-render/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-render/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-render/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-render/lib/system.d.ts +17 -0
- package/dist/packages/plugin-renderer-render/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-spine/lib/Spine.d.ts +4 -0
- package/dist/packages/plugin-renderer-spine/lib/Spine.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-spine/lib/SpineSystem.d.ts +5 -0
- package/dist/packages/plugin-renderer-spine/lib/SpineSystem.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-spine/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-spine/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-sprite/lib/component.d.ts +12 -0
- package/dist/packages/plugin-renderer-sprite/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-sprite/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-sprite/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-sprite/lib/system.d.ts +17 -0
- package/dist/packages/plugin-renderer-sprite/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-sprite-animation/lib/component.d.ts +31 -0
- package/dist/packages/plugin-renderer-sprite-animation/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-sprite-animation/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-sprite-animation/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-sprite-animation/lib/system.d.ts +31 -0
- package/dist/packages/plugin-renderer-sprite-animation/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-test/lib/component.d.ts +20 -0
- package/dist/packages/plugin-renderer-test/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-test/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-test/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-test/lib/system.d.ts +21 -0
- package/dist/packages/plugin-renderer-test/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-test/lib/system2.d.ts +12 -0
- package/dist/packages/plugin-renderer-test/lib/system2.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-text/lib/component.d.ts +43 -0
- package/dist/packages/plugin-renderer-text/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-text/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-text/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-text/lib/system.d.ts +22 -0
- package/dist/packages/plugin-renderer-text/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-tiling-sprite/lib/component.d.ts +20 -0
- package/dist/packages/plugin-renderer-tiling-sprite/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-tiling-sprite/lib/index.d.ts +4 -0
- package/dist/packages/plugin-renderer-tiling-sprite/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-renderer-tiling-sprite/lib/system.d.ts +18 -0
- package/dist/packages/plugin-renderer-tiling-sprite/lib/system.d.ts.map +1 -0
- package/dist/packages/plugin-sound/lib/Sound.d.ts +44 -0
- package/dist/packages/plugin-sound/lib/Sound.d.ts.map +1 -0
- package/dist/packages/plugin-sound/lib/SoundSystem.d.ts +37 -0
- package/dist/packages/plugin-sound/lib/SoundSystem.d.ts.map +1 -0
- package/dist/packages/plugin-sound/lib/index.d.ts +3 -0
- package/dist/packages/plugin-sound/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/Stats.d.ts +19 -0
- package/dist/packages/plugin-stats/lib/Stats.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/StatsComponent.d.ts +7 -0
- package/dist/packages/plugin-stats/lib/StatsComponent.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/StatsSystem.d.ts +28 -0
- package/dist/packages/plugin-stats/lib/StatsSystem.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/hooks/BaseHooks.d.ts +18 -0
- package/dist/packages/plugin-stats/lib/hooks/BaseHooks.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/hooks/GLHook.d.ts +11 -0
- package/dist/packages/plugin-stats/lib/hooks/GLHook.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/hooks/TextureHook.d.ts +16 -0
- package/dist/packages/plugin-stats/lib/hooks/TextureHook.d.ts.map +1 -0
- package/dist/packages/plugin-stats/lib/index.d.ts +9 -0
- package/dist/packages/plugin-stats/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-transition/lib/Animation.d.ts +38 -0
- package/dist/packages/plugin-transition/lib/Animation.d.ts.map +1 -0
- package/dist/packages/plugin-transition/lib/component.d.ts +35 -0
- package/dist/packages/plugin-transition/lib/component.d.ts.map +1 -0
- package/dist/packages/plugin-transition/lib/index.d.ts +3 -0
- package/dist/packages/plugin-transition/lib/index.d.ts.map +1 -0
- package/dist/packages/plugin-transition/lib/system.d.ts +6 -0
- package/dist/packages/plugin-transition/lib/system.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/Application.d.ts +3 -0
- package/dist/packages/renderer-adapter/lib/Application.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/Container.d.ts +5 -0
- package/dist/packages/renderer-adapter/lib/Container.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/Graphics.d.ts +5 -0
- package/dist/packages/renderer-adapter/lib/Graphics.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/NinePatch.d.ts +5 -0
- package/dist/packages/renderer-adapter/lib/NinePatch.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/Sprite.d.ts +9 -0
- package/dist/packages/renderer-adapter/lib/Sprite.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/SpriteAnimation.d.ts +14 -0
- package/dist/packages/renderer-adapter/lib/SpriteAnimation.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/Text.d.ts +6 -0
- package/dist/packages/renderer-adapter/lib/Text.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/TilingSprite.d.ts +9 -0
- package/dist/packages/renderer-adapter/lib/TilingSprite.d.ts.map +1 -0
- package/dist/packages/renderer-adapter/lib/index.d.ts +9 -0
- package/dist/packages/renderer-adapter/lib/index.d.ts.map +1 -0
- package/dist/packages/spine-base/lib/Spine.d.ts +32 -0
- package/dist/packages/spine-base/lib/Spine.d.ts.map +1 -0
- package/dist/packages/spine-base/lib/SpineData.d.ts +5 -0
- package/dist/packages/spine-base/lib/SpineData.d.ts.map +1 -0
- package/dist/packages/spine-base/lib/SpineSystem.d.ts +20 -0
- package/dist/packages/spine-base/lib/SpineSystem.d.ts.map +1 -0
- package/dist/packages/spine-base/lib/TexCache.d.ts +10 -0
- package/dist/packages/spine-base/lib/TexCache.d.ts.map +1 -0
- package/dist/packages/spine-base/lib/index.d.ts +4 -0
- package/dist/packages/spine-base/lib/index.d.ts.map +1 -0
- package/dist/plugin-renderer-spine.cjs.js +13266 -7872
- package/dist/plugin-renderer-spine.cjs.prod.js +1 -1
- package/dist/plugin-renderer-spine.esm.js +13265 -7871
- package/package.json +5 -4
- package/dist/plugin-renderer-spine.d.ts +0 -51
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@eva/eva.js"),e=require("@eva/plugin-renderer"),n=require("@eva/inspector-decorator"),r=require("pixi.js"),a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function i(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function o(t,e,n,r){var a,i=arguments.length,o=i<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(e,n,o):a(e,n))||o);return i>3&&o&&Object.defineProperty(e,n,o),o}function s(t,e,n,r){return new(n||(n=Promise))((function(a,i){function o(t){try{l(r.next(t))}catch(t){i(t)}}function s(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){t.done?a(t.value):new n((function(e){e(t.value)})).then(o,s)}l((r=r.apply(t,e||[])).next())}))}function l(t,e){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(6===i[0]&&o.label<a[1]){o.label=a[1],a=i;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(i);break}a[2]&&o.ops.pop(),o.trys.pop();continue}i=e.call(t,o)}catch(t){i=[6,t],r=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}var h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.resource="",e.animationName="",e.autoPlay=!0,e}return i(e,t),e.prototype.init=function(t){t&&(Object.assign(this,t),this.autoPlay&&this.play(this.animationName))},e.prototype.onDestroy=function(){this.destroied=!0},e.prototype.play=function(t,e,n){try{t&&(this.animationName=t),this.armature&&(void 0===n&&(n=0),this.armature.state.setAnimation(n,this.animationName,e))}catch(t){console.log(t)}},e.prototype.stop=function(t){this.armature&&(void 0===t&&(t=0),this.armature.state.setEmptyAnimation(t,0))},e.prototype.addAnimation=function(t,e,n,r){try{this.armature&&(void 0===r&&(r=0),this.armature.state.addAnimation(r,t,n,e))}catch(t){console.log(t)}},e.prototype.setMix=function(t,e,n){this.armature&&this.armature.stateData.setMix(t,e,n)},e.prototype.getAnim=function(t){void 0===t&&(t=0);try{if(this.armature)return this.armature.state.tracks[t].animation.name}catch(t){console.log(t)}},e.prototype.setDefaultMix=function(t){this.armature&&(this.armature.stateData.defaultMix=t)},e.prototype.setAttachment=function(t,e){this.armature&&this.armature.skeleton.setAttachment(t,e)},e.prototype.getBone=function(t){if(this.armature)return this.armature.skeleton.findBone(t)},e.componentName="Spine",o([n.type("string")],e.prototype,"resource",void 0),o([n.type("string")],e.prototype,"animationName",void 0),o([n.type("boolean")],e.prototype,"autoPlay",void 0),e}(t.Component);const u=r.loaders.shared,c={Texture:r.Texture,Rectangle:r.Rectangle,Sprite:r.Sprite,Graphics:r.Graphics,mesh:r.mesh,Matrix:r.Matrix,Container:r.Container,VERSION:"4.8.9",loaders:r.loaders,loader:u,SCALE_MODES:r.SCALE_MODES,utils:r.utils,TransformBase:r.TransformBase,TransformStatic:r.TransformStatic,DisplayObject:r.DisplayObject,Polygon:r.Polygon,BaseTexture:r.BaseTexture};var p,f,d=function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(t){!function(t){var e,n,r,a=function(){function t(t,e,n){if(null==t)throw new Error("name cannot be null.");if(null==e)throw new Error("timelines cannot be null.");this.name=t,this.timelines=e,this.duration=n}return t.prototype.apply=function(t,e,n,r,a,i,o,s){if(null==t)throw new Error("skeleton cannot be null.");r&&0!=this.duration&&(n%=this.duration,e>0&&(e%=this.duration));for(var l=this.timelines,h=0,u=l.length;h<u;h++)l[h].apply(t,e,n,a,i,o,s)},t.binarySearch=function(t,e,n){void 0===n&&(n=1);var r=0,a=t.length/n-2;if(0==a)return n;for(var i=a>>>1;;){if(t[(i+1)*n]<=e?r=i+1:a=i,r==a)return(r+1)*n;i=r+a>>>1}},t.linearSearch=function(t,e,n){for(var r=0,a=t.length-n;r<=a;r+=n)if(t[r]>e)return r;return-1},t}();t.Animation=a,function(t){t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add"}(e=t.MixBlend||(t.MixBlend={})),function(t){t[t.in=0]="in",t[t.out=1]="out"}(n=t.MixDirection||(t.MixDirection={})),function(t){t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor"}(r=t.TimelineType||(t.TimelineType={}));var i=function(){function e(n){if(n<=0)throw new Error("frameCount must be > 0: "+n);this.curves=t.Utils.newFloatArray((n-1)*e.BEZIER_SIZE)}return e.prototype.getFrameCount=function(){return this.curves.length/e.BEZIER_SIZE+1},e.prototype.setLinear=function(t){this.curves[t*e.BEZIER_SIZE]=e.LINEAR},e.prototype.setStepped=function(t){this.curves[t*e.BEZIER_SIZE]=e.STEPPED},e.prototype.getCurveType=function(t){var n=t*e.BEZIER_SIZE;if(n==this.curves.length)return e.LINEAR;var r=this.curves[n];return r==e.LINEAR?e.LINEAR:r==e.STEPPED?e.STEPPED:e.BEZIER},e.prototype.setCurve=function(t,n,r,a,i){var o=.03*(2*-n+a),s=.03*(2*-r+i),l=.006*(3*(n-a)+1),h=.006*(3*(r-i)+1),u=2*o+l,c=2*s+h,p=.3*n+o+.16666667*l,f=.3*r+s+.16666667*h,d=t*e.BEZIER_SIZE,m=this.curves;m[d++]=e.BEZIER;for(var g=p,v=f,y=d+e.BEZIER_SIZE-1;d<y;d+=2)m[d]=g,m[d+1]=v,p+=u,f+=c,u+=l,c+=h,g+=p,v+=f},e.prototype.getCurvePercent=function(n,r){r=t.MathUtils.clamp(r,0,1);var a=this.curves,i=n*e.BEZIER_SIZE,o=a[i];if(o==e.LINEAR)return r;if(o==e.STEPPED)return 0;for(var s=0,l=++i,h=i+e.BEZIER_SIZE-1;i<h;i+=2)if((s=a[i])>=r){var u=void 0,c=void 0;return i==l?(u=0,c=0):(u=a[i-2],c=a[i-1]),c+(a[i+1]-c)*(r-u)/(s-u)}var p=a[i-1];return p+(1-p)*(r-s)/(1-s)},e.LINEAR=0,e.STEPPED=1,e.BEZIER=2,e.BEZIER_SIZE=19,e}();t.CurveTimeline=i;var o=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e<<1),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.rotate<<24)+this.boneIndex},i.prototype.setFrame=function(t,e,n){t<<=1,this.frames[t]=e,this.frames[t+i.ROTATION]=n},i.prototype.apply=function(t,n,r,o,s,l,h){var u=this.frames,c=t.bones[this.boneIndex];if(r<u[0])switch(l){case e.setup:return void(c.rotation=c.data.rotation);case e.first:var p=c.data.rotation-c.rotation;c.rotation+=(p-360*(16384-(16384.499999999996-p/360|0)))*s}else if(r>=u[u.length-i.ENTRIES]){var f=u[u.length+i.PREV_ROTATION];switch(l){case e.setup:c.rotation=c.data.rotation+f*s;break;case e.first:case e.replace:f+=c.data.rotation-c.rotation,f-=360*(16384-(16384.499999999996-f/360|0));case e.add:c.rotation+=f*s}}else{var d=a.binarySearch(u,r,i.ENTRIES),m=u[d+i.PREV_ROTATION],g=u[d],v=this.getCurvePercent((d>>1)-1,1-(r-g)/(u[d+i.PREV_TIME]-g)),y=u[d+i.ROTATION]-m;switch(y=m+(y-360*(16384-(16384.499999999996-y/360|0)))*v,l){case e.setup:c.rotation=c.data.rotation+(y-360*(16384-(16384.499999999996-y/360|0)))*s;break;case e.first:case e.replace:y+=c.data.rotation-c.rotation;case e.add:c.rotation+=(y-360*(16384-(16384.499999999996-y/360|0)))*s}}},i.ENTRIES=2,i.PREV_TIME=-2,i.PREV_ROTATION=-1,i.ROTATION=1,i}(i);t.RotateTimeline=o;var s=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*i.ENTRIES),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.translate<<24)+this.boneIndex},i.prototype.setFrame=function(t,e,n,r){t*=i.ENTRIES,this.frames[t]=e,this.frames[t+i.X]=n,this.frames[t+i.Y]=r},i.prototype.apply=function(t,n,r,o,s,l,h){var u=this.frames,c=t.bones[this.boneIndex];if(r<u[0])switch(l){case e.setup:return c.x=c.data.x,void(c.y=c.data.y);case e.first:c.x+=(c.data.x-c.x)*s,c.y+=(c.data.y-c.y)*s}else{var p=0,f=0;if(r>=u[u.length-i.ENTRIES])p=u[u.length+i.PREV_X],f=u[u.length+i.PREV_Y];else{var d=a.binarySearch(u,r,i.ENTRIES);p=u[d+i.PREV_X],f=u[d+i.PREV_Y];var m=u[d],g=this.getCurvePercent(d/i.ENTRIES-1,1-(r-m)/(u[d+i.PREV_TIME]-m));p+=(u[d+i.X]-p)*g,f+=(u[d+i.Y]-f)*g}switch(l){case e.setup:c.x=c.data.x+p*s,c.y=c.data.y+f*s;break;case e.first:case e.replace:c.x+=(c.data.x+p-c.x)*s,c.y+=(c.data.y+f-c.y)*s;break;case e.add:c.x+=p*s,c.y+=f*s}}},i.ENTRIES=3,i.PREV_TIME=-3,i.PREV_X=-2,i.PREV_Y=-1,i.X=1,i.Y=2,i}(i);t.TranslateTimeline=s;var l=function(i){function o(t){return i.call(this,t)||this}return d(o,i),o.prototype.getPropertyId=function(){return(r.scale<<24)+this.boneIndex},o.prototype.apply=function(r,i,s,l,h,u,c){var p=this.frames,f=r.bones[this.boneIndex];if(s<p[0])switch(u){case e.setup:return f.scaleX=f.data.scaleX,void(f.scaleY=f.data.scaleY);case e.first:f.scaleX+=(f.data.scaleX-f.scaleX)*h,f.scaleY+=(f.data.scaleY-f.scaleY)*h}else{var d=0,m=0;if(s>=p[p.length-o.ENTRIES])d=p[p.length+o.PREV_X]*f.data.scaleX,m=p[p.length+o.PREV_Y]*f.data.scaleY;else{var g=a.binarySearch(p,s,o.ENTRIES);d=p[g+o.PREV_X],m=p[g+o.PREV_Y];var v=p[g],y=this.getCurvePercent(g/o.ENTRIES-1,1-(s-v)/(p[g+o.PREV_TIME]-v));d=(d+(p[g+o.X]-d)*y)*f.data.scaleX,m=(m+(p[g+o.Y]-m)*y)*f.data.scaleY}if(1==h)u==e.add?(f.scaleX+=d-f.data.scaleX,f.scaleY+=m-f.data.scaleY):(f.scaleX=d,f.scaleY=m);else{var x=0,M=0;if(c==n.out)switch(u){case e.setup:x=f.data.scaleX,M=f.data.scaleY,f.scaleX=x+(Math.abs(d)*t.MathUtils.signum(x)-x)*h,f.scaleY=M+(Math.abs(m)*t.MathUtils.signum(M)-M)*h;break;case e.first:case e.replace:x=f.scaleX,M=f.scaleY,f.scaleX=x+(Math.abs(d)*t.MathUtils.signum(x)-x)*h,f.scaleY=M+(Math.abs(m)*t.MathUtils.signum(M)-M)*h;break;case e.add:x=f.scaleX,M=f.scaleY,f.scaleX=x+(Math.abs(d)*t.MathUtils.signum(x)-f.data.scaleX)*h,f.scaleY=M+(Math.abs(m)*t.MathUtils.signum(M)-f.data.scaleY)*h}else switch(u){case e.setup:x=Math.abs(f.data.scaleX)*t.MathUtils.signum(d),M=Math.abs(f.data.scaleY)*t.MathUtils.signum(m),f.scaleX=x+(d-x)*h,f.scaleY=M+(m-M)*h;break;case e.first:case e.replace:x=Math.abs(f.scaleX)*t.MathUtils.signum(d),M=Math.abs(f.scaleY)*t.MathUtils.signum(m),f.scaleX=x+(d-x)*h,f.scaleY=M+(m-M)*h;break;case e.add:x=t.MathUtils.signum(d),M=t.MathUtils.signum(m),f.scaleX=Math.abs(f.scaleX)*x+(d-Math.abs(f.data.scaleX)*x)*h,f.scaleY=Math.abs(f.scaleY)*M+(m-Math.abs(f.data.scaleY)*M)*h}}}},o}(s);t.ScaleTimeline=l;var h=function(t){function n(e){return t.call(this,e)||this}return d(n,t),n.prototype.getPropertyId=function(){return(r.shear<<24)+this.boneIndex},n.prototype.apply=function(t,r,i,o,s,l,h){var u=this.frames,c=t.bones[this.boneIndex];if(i<u[0])switch(l){case e.setup:return c.shearX=c.data.shearX,void(c.shearY=c.data.shearY);case e.first:c.shearX+=(c.data.shearX-c.shearX)*s,c.shearY+=(c.data.shearY-c.shearY)*s}else{var p=0,f=0;if(i>=u[u.length-n.ENTRIES])p=u[u.length+n.PREV_X],f=u[u.length+n.PREV_Y];else{var d=a.binarySearch(u,i,n.ENTRIES);p=u[d+n.PREV_X],f=u[d+n.PREV_Y];var m=u[d],g=this.getCurvePercent(d/n.ENTRIES-1,1-(i-m)/(u[d+n.PREV_TIME]-m));p+=(u[d+n.X]-p)*g,f+=(u[d+n.Y]-f)*g}switch(l){case e.setup:c.shearX=c.data.shearX+p*s,c.shearY=c.data.shearY+f*s;break;case e.first:case e.replace:c.shearX+=(c.data.shearX+p-c.shearX)*s,c.shearY+=(c.data.shearY+f-c.shearY)*s;break;case e.add:c.shearX+=p*s,c.shearY+=f*s}}},n}(s);t.ShearTimeline=h;var u=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*i.ENTRIES),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.color<<24)+this.slotIndex},i.prototype.setFrame=function(t,e,n,r,a,o){t*=i.ENTRIES,this.frames[t]=e,this.frames[t+i.R]=n,this.frames[t+i.G]=r,this.frames[t+i.B]=a,this.frames[t+i.A]=o},i.prototype.apply=function(t,n,r,o,s,l,h){var u=t.slots[this.slotIndex],c=this.frames;if(r<c[0])switch(l){case e.setup:return void u.color.setFromColor(u.data.color);case e.first:var p=u.color,f=u.data.color;p.add((f.r-p.r)*s,(f.g-p.g)*s,(f.b-p.b)*s,(f.a-p.a)*s)}else{var d=0,m=0,g=0,v=0;if(r>=c[c.length-i.ENTRIES]){var y=c.length;d=c[y+i.PREV_R],m=c[y+i.PREV_G],g=c[y+i.PREV_B],v=c[y+i.PREV_A]}else{var x=a.binarySearch(c,r,i.ENTRIES);d=c[x+i.PREV_R],m=c[x+i.PREV_G],g=c[x+i.PREV_B],v=c[x+i.PREV_A];var M=c[x],E=this.getCurvePercent(x/i.ENTRIES-1,1-(r-M)/(c[x+i.PREV_TIME]-M));d+=(c[x+i.R]-d)*E,m+=(c[x+i.G]-m)*E,g+=(c[x+i.B]-g)*E,v+=(c[x+i.A]-v)*E}if(1==s)u.color.set(d,m,g,v);else{p=u.color;l==e.setup&&p.setFromColor(u.data.color),p.add((d-p.r)*s,(m-p.g)*s,(g-p.b)*s,(v-p.a)*s)}}},i.ENTRIES=5,i.PREV_TIME=-5,i.PREV_R=-4,i.PREV_G=-3,i.PREV_B=-2,i.PREV_A=-1,i.R=1,i.G=2,i.B=3,i.A=4,i}(i);t.ColorTimeline=u;var c=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*i.ENTRIES),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.twoColor<<24)+this.slotIndex},i.prototype.setFrame=function(t,e,n,r,a,o,s,l,h){t*=i.ENTRIES,this.frames[t]=e,this.frames[t+i.R]=n,this.frames[t+i.G]=r,this.frames[t+i.B]=a,this.frames[t+i.A]=o,this.frames[t+i.R2]=s,this.frames[t+i.G2]=l,this.frames[t+i.B2]=h},i.prototype.apply=function(t,n,r,o,s,l,h){var u=t.slots[this.slotIndex],c=this.frames;if(r<c[0])switch(l){case e.setup:return u.color.setFromColor(u.data.color),void u.darkColor.setFromColor(u.data.darkColor);case e.first:var p=u.color,f=u.darkColor,d=u.data.color,m=u.data.darkColor;p.add((d.r-p.r)*s,(d.g-p.g)*s,(d.b-p.b)*s,(d.a-p.a)*s),f.add((m.r-f.r)*s,(m.g-f.g)*s,(m.b-f.b)*s,0)}else{var g=0,v=0,y=0,x=0,M=0,E=0,b=0;if(r>=c[c.length-i.ENTRIES]){var w=c.length;g=c[w+i.PREV_R],v=c[w+i.PREV_G],y=c[w+i.PREV_B],x=c[w+i.PREV_A],M=c[w+i.PREV_R2],E=c[w+i.PREV_G2],b=c[w+i.PREV_B2]}else{var T=a.binarySearch(c,r,i.ENTRIES);g=c[T+i.PREV_R],v=c[T+i.PREV_G],y=c[T+i.PREV_B],x=c[T+i.PREV_A],M=c[T+i.PREV_R2],E=c[T+i.PREV_G2],b=c[T+i.PREV_B2];var S=c[T],R=this.getCurvePercent(T/i.ENTRIES-1,1-(r-S)/(c[T+i.PREV_TIME]-S));g+=(c[T+i.R]-g)*R,v+=(c[T+i.G]-v)*R,y+=(c[T+i.B]-y)*R,x+=(c[T+i.A]-x)*R,M+=(c[T+i.R2]-M)*R,E+=(c[T+i.G2]-E)*R,b+=(c[T+i.B2]-b)*R}if(1==s)u.color.set(g,v,y,x),u.darkColor.set(M,E,b,1);else{p=u.color,f=u.darkColor;l==e.setup&&(p.setFromColor(u.data.color),f.setFromColor(u.data.darkColor)),p.add((g-p.r)*s,(v-p.g)*s,(y-p.b)*s,(x-p.a)*s),f.add((M-f.r)*s,(E-f.g)*s,(b-f.b)*s,0)}}},i.ENTRIES=8,i.PREV_TIME=-8,i.PREV_R=-7,i.PREV_G=-6,i.PREV_B=-5,i.PREV_A=-4,i.PREV_R2=-3,i.PREV_G2=-2,i.PREV_B2=-1,i.R=1,i.G=2,i.B=3,i.A=4,i.R2=5,i.G2=6,i.B2=7,i}(i);t.TwoColorTimeline=c;var p=function(){function i(e){this.frames=t.Utils.newFloatArray(e),this.attachmentNames=new Array(e)}return i.prototype.getPropertyId=function(){return(r.attachment<<24)+this.slotIndex},i.prototype.getFrameCount=function(){return this.frames.length},i.prototype.setFrame=function(t,e,n){this.frames[t]=e,this.attachmentNames[t]=n},i.prototype.apply=function(t,r,i,o,s,l,h){var u=t.slots[this.slotIndex];if(h!=n.out||l!=e.setup){var c=this.frames;if(i<c[0]){if(l==e.setup||l==e.first){var p=u.data.attachmentName;u.setAttachment(null==p?null:t.getAttachment(this.slotIndex,p))}}else{var f=0;f=i>=c[c.length-1]?c.length-1:a.binarySearch(c,i,1)-1;var d=this.attachmentNames[f];t.slots[this.slotIndex].setAttachment(null==d?null:t.getAttachment(this.slotIndex,d))}}else{var m=u.data.attachmentName;u.setAttachment(null==m?null:t.getAttachment(this.slotIndex,m))}},i}();t.AttachmentTimeline=p;var f=null,m=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e),r.frameVertices=new Array(e),null==f&&(f=t.Utils.newFloatArray(64)),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.deform<<27)+ +this.attachment.id+this.slotIndex},i.prototype.setFrame=function(t,e,n){this.frames[t]=e,this.frameVertices[t]=n},i.prototype.apply=function(n,r,i,o,s,l,h){var u=n.slots[this.slotIndex],c=u.getAttachment();if(c instanceof t.VertexAttachment&&c.applyDeform(this.attachment)){var p=u.attachmentVertices;0==p.length&&(l=e.setup);var f=this.frameVertices,d=f[0].length,m=this.frames;if(i<m[0]){var g=c;switch(l){case e.setup:return void(p.length=0);case e.first:if(1==s){p.length=0;break}var v=t.Utils.setArraySize(p,d);if(null==g.bones)for(var y=g.vertices,x=0;x<d;x++)v[x]+=(y[x]-v[x])*s;else{s=1-s;for(x=0;x<d;x++)v[x]*=s}}}else{var M=t.Utils.setArraySize(p,d);if(i>=m[m.length-1]){var E=f[m.length-1];if(1==s)if(l==e.add)if(null==(g=c).bones)for(y=g.vertices,x=0;x<d;x++)M[x]+=E[x]-y[x];else for(x=0;x<d;x++)M[x]+=E[x];else t.Utils.arrayCopy(E,0,M,0,d);else switch(l){case e.setup:var b=c;if(null==b.bones)for(y=b.vertices,x=0;x<d;x++){var w=y[x];M[x]=w+(E[x]-w)*s}else for(x=0;x<d;x++)M[x]=E[x]*s;break;case e.first:case e.replace:for(x=0;x<d;x++)M[x]+=(E[x]-M[x])*s;case e.add:if(null==(g=c).bones)for(y=g.vertices,x=0;x<d;x++)M[x]+=(E[x]-y[x])*s;else for(x=0;x<d;x++)M[x]+=E[x]*s}}else{var T=a.binarySearch(m,i),S=f[T-1],R=f[T],A=m[T],P=this.getCurvePercent(T-1,1-(i-A)/(m[T-1]-A));if(1==s)if(l==e.add)if(null==(g=c).bones)for(y=g.vertices,x=0;x<d;x++){var C=S[x];M[x]+=C+(R[x]-C)*P-y[x]}else for(x=0;x<d;x++){C=S[x];M[x]+=C+(R[x]-C)*P}else for(x=0;x<d;x++){C=S[x];M[x]=C+(R[x]-C)*P}else switch(l){case e.setup:var I=c;if(null==I.bones)for(y=I.vertices,x=0;x<d;x++){C=S[x],w=y[x];M[x]=w+(C+(R[x]-C)*P-w)*s}else for(x=0;x<d;x++){C=S[x];M[x]=(C+(R[x]-C)*P)*s}break;case e.first:case e.replace:for(x=0;x<d;x++){C=S[x];M[x]+=(C+(R[x]-C)*P-M[x])*s}break;case e.add:if(null==(g=c).bones)for(y=g.vertices,x=0;x<d;x++){C=S[x];M[x]+=(C+(R[x]-C)*P-y[x])*s}else for(x=0;x<d;x++){C=S[x];M[x]+=(C+(R[x]-C)*P)*s}}}}}},i}(i);t.DeformTimeline=m;var g=function(){function e(e){this.frames=t.Utils.newFloatArray(e),this.events=new Array(e)}return e.prototype.getPropertyId=function(){return r.event<<24},e.prototype.getFrameCount=function(){return this.frames.length},e.prototype.setFrame=function(t,e){this.frames[t]=e.time,this.events[t]=e},e.prototype.apply=function(t,e,n,r,i,o,s){if(null!=r){var l=this.frames,h=this.frames.length;if(e>n)this.apply(t,e,Number.MAX_VALUE,r,i,o,s),e=-1;else if(e>=l[h-1])return;if(!(n<l[0])){var u=0;if(e<l[0])u=0;else for(var c=l[u=a.binarySearch(l,e)];u>0&&l[u-1]==c;)u--;for(;u<h&&n>=l[u];u++)r.push(this.events[u])}}},e}();t.EventTimeline=g;var v=function(){function i(e){this.frames=t.Utils.newFloatArray(e),this.drawOrders=new Array(e)}return i.prototype.getPropertyId=function(){return r.drawOrder<<24},i.prototype.getFrameCount=function(){return this.frames.length},i.prototype.setFrame=function(t,e,n){this.frames[t]=e,this.drawOrders[t]=n},i.prototype.apply=function(r,i,o,s,l,h,u){var c=r.drawOrder,p=r.slots;if(u!=n.out||h!=e.setup){var f=this.frames;if(o<f[0])h!=e.setup&&h!=e.first||t.Utils.arrayCopy(r.slots,0,r.drawOrder,0,r.slots.length);else{var d=0;d=o>=f[f.length-1]?f.length-1:a.binarySearch(f,o)-1;var m=this.drawOrders[d];if(null==m)t.Utils.arrayCopy(p,0,c,0,p.length);else for(var g=0,v=m.length;g<v;g++)c[g]=p[m[g]]}}else t.Utils.arrayCopy(r.slots,0,r.drawOrder,0,r.slots.length)},i}();t.DrawOrderTimeline=v;var y=function(i){function o(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*o.ENTRIES),n}return d(o,i),o.prototype.getPropertyId=function(){return(r.ikConstraint<<24)+this.ikConstraintIndex},o.prototype.setFrame=function(t,e,n,r,a,i){t*=o.ENTRIES,this.frames[t]=e,this.frames[t+o.MIX]=n,this.frames[t+o.BEND_DIRECTION]=r,this.frames[t+o.COMPRESS]=a?1:0,this.frames[t+o.STRETCH]=i?1:0},o.prototype.apply=function(t,r,i,s,l,h,u){var c=this.frames,p=t.ikConstraints[this.ikConstraintIndex];if(i<c[0])switch(h){case e.setup:return p.mix=p.data.mix,p.bendDirection=p.data.bendDirection,p.compress=p.data.compress,void(p.stretch=p.data.stretch);case e.first:p.mix+=(p.data.mix-p.mix)*l,p.bendDirection=p.data.bendDirection,p.compress=p.data.compress,p.stretch=p.data.stretch}else if(i>=c[c.length-o.ENTRIES])h==e.setup?(p.mix=p.data.mix+(c[c.length+o.PREV_MIX]-p.data.mix)*l,u==n.out?(p.bendDirection=p.data.bendDirection,p.compress=p.data.compress,p.stretch=p.data.stretch):(p.bendDirection=c[c.length+o.PREV_BEND_DIRECTION],p.compress=0!=c[c.length+o.PREV_COMPRESS],p.stretch=0!=c[c.length+o.PREV_STRETCH])):(p.mix+=(c[c.length+o.PREV_MIX]-p.mix)*l,u==n.in&&(p.bendDirection=c[c.length+o.PREV_BEND_DIRECTION],p.compress=0!=c[c.length+o.PREV_COMPRESS],p.stretch=0!=c[c.length+o.PREV_STRETCH]));else{var f=a.binarySearch(c,i,o.ENTRIES),d=c[f+o.PREV_MIX],m=c[f],g=this.getCurvePercent(f/o.ENTRIES-1,1-(i-m)/(c[f+o.PREV_TIME]-m));h==e.setup?(p.mix=p.data.mix+(d+(c[f+o.MIX]-d)*g-p.data.mix)*l,u==n.out?(p.bendDirection=p.data.bendDirection,p.compress=p.data.compress,p.stretch=p.data.stretch):(p.bendDirection=c[f+o.PREV_BEND_DIRECTION],p.compress=0!=c[f+o.PREV_COMPRESS],p.stretch=0!=c[f+o.PREV_STRETCH])):(p.mix+=(d+(c[f+o.MIX]-d)*g-p.mix)*l,u==n.in&&(p.bendDirection=c[f+o.PREV_BEND_DIRECTION],p.compress=0!=c[f+o.PREV_COMPRESS],p.stretch=0!=c[f+o.PREV_STRETCH]))}},o.ENTRIES=5,o.PREV_TIME=-5,o.PREV_MIX=-4,o.PREV_BEND_DIRECTION=-3,o.PREV_COMPRESS=-2,o.PREV_STRETCH=-1,o.MIX=1,o.BEND_DIRECTION=2,o.COMPRESS=3,o.STRETCH=4,o}(i);t.IkConstraintTimeline=y;var x=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*i.ENTRIES),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.transformConstraint<<24)+this.transformConstraintIndex},i.prototype.setFrame=function(t,e,n,r,a,o){t*=i.ENTRIES,this.frames[t]=e,this.frames[t+i.ROTATE]=n,this.frames[t+i.TRANSLATE]=r,this.frames[t+i.SCALE]=a,this.frames[t+i.SHEAR]=o},i.prototype.apply=function(t,n,r,o,s,l,h){var u=this.frames,c=t.transformConstraints[this.transformConstraintIndex];if(r<u[0]){var p=c.data;switch(l){case e.setup:return c.rotateMix=p.rotateMix,c.translateMix=p.translateMix,c.scaleMix=p.scaleMix,void(c.shearMix=p.shearMix);case e.first:c.rotateMix+=(p.rotateMix-c.rotateMix)*s,c.translateMix+=(p.translateMix-c.translateMix)*s,c.scaleMix+=(p.scaleMix-c.scaleMix)*s,c.shearMix+=(p.shearMix-c.shearMix)*s}}else{var f=0,d=0,m=0,g=0;if(r>=u[u.length-i.ENTRIES]){var v=u.length;f=u[v+i.PREV_ROTATE],d=u[v+i.PREV_TRANSLATE],m=u[v+i.PREV_SCALE],g=u[v+i.PREV_SHEAR]}else{var y=a.binarySearch(u,r,i.ENTRIES);f=u[y+i.PREV_ROTATE],d=u[y+i.PREV_TRANSLATE],m=u[y+i.PREV_SCALE],g=u[y+i.PREV_SHEAR];var x=u[y],M=this.getCurvePercent(y/i.ENTRIES-1,1-(r-x)/(u[y+i.PREV_TIME]-x));f+=(u[y+i.ROTATE]-f)*M,d+=(u[y+i.TRANSLATE]-d)*M,m+=(u[y+i.SCALE]-m)*M,g+=(u[y+i.SHEAR]-g)*M}if(l==e.setup){p=c.data;c.rotateMix=p.rotateMix+(f-p.rotateMix)*s,c.translateMix=p.translateMix+(d-p.translateMix)*s,c.scaleMix=p.scaleMix+(m-p.scaleMix)*s,c.shearMix=p.shearMix+(g-p.shearMix)*s}else c.rotateMix+=(f-c.rotateMix)*s,c.translateMix+=(d-c.translateMix)*s,c.scaleMix+=(m-c.scaleMix)*s,c.shearMix+=(g-c.shearMix)*s}},i.ENTRIES=5,i.PREV_TIME=-5,i.PREV_ROTATE=-4,i.PREV_TRANSLATE=-3,i.PREV_SCALE=-2,i.PREV_SHEAR=-1,i.ROTATE=1,i.TRANSLATE=2,i.SCALE=3,i.SHEAR=4,i}(i);t.TransformConstraintTimeline=x;var M=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*i.ENTRIES),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.pathConstraintPosition<<24)+this.pathConstraintIndex},i.prototype.setFrame=function(t,e,n){t*=i.ENTRIES,this.frames[t]=e,this.frames[t+i.VALUE]=n},i.prototype.apply=function(t,n,r,o,s,l,h){var u=this.frames,c=t.pathConstraints[this.pathConstraintIndex];if(r<u[0])switch(l){case e.setup:return void(c.position=c.data.position);case e.first:c.position+=(c.data.position-c.position)*s}else{var p=0;if(r>=u[u.length-i.ENTRIES])p=u[u.length+i.PREV_VALUE];else{var f=a.binarySearch(u,r,i.ENTRIES);p=u[f+i.PREV_VALUE];var d=u[f],m=this.getCurvePercent(f/i.ENTRIES-1,1-(r-d)/(u[f+i.PREV_TIME]-d));p+=(u[f+i.VALUE]-p)*m}l==e.setup?c.position=c.data.position+(p-c.data.position)*s:c.position+=(p-c.position)*s}},i.ENTRIES=2,i.PREV_TIME=-2,i.PREV_VALUE=-1,i.VALUE=1,i}(i);t.PathConstraintPositionTimeline=M;var E=function(t){function n(e){return t.call(this,e)||this}return d(n,t),n.prototype.getPropertyId=function(){return(r.pathConstraintSpacing<<24)+this.pathConstraintIndex},n.prototype.apply=function(t,r,i,o,s,l,h){var u=this.frames,c=t.pathConstraints[this.pathConstraintIndex];if(i<u[0])switch(l){case e.setup:return void(c.spacing=c.data.spacing);case e.first:c.spacing+=(c.data.spacing-c.spacing)*s}else{var p=0;if(i>=u[u.length-n.ENTRIES])p=u[u.length+n.PREV_VALUE];else{var f=a.binarySearch(u,i,n.ENTRIES);p=u[f+n.PREV_VALUE];var d=u[f],m=this.getCurvePercent(f/n.ENTRIES-1,1-(i-d)/(u[f+n.PREV_TIME]-d));p+=(u[f+n.VALUE]-p)*m}l==e.setup?c.spacing=c.data.spacing+(p-c.data.spacing)*s:c.spacing+=(p-c.spacing)*s}},n}(M);t.PathConstraintSpacingTimeline=E;var b=function(n){function i(e){var r=n.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*i.ENTRIES),r}return d(i,n),i.prototype.getPropertyId=function(){return(r.pathConstraintMix<<24)+this.pathConstraintIndex},i.prototype.setFrame=function(t,e,n,r){t*=i.ENTRIES,this.frames[t]=e,this.frames[t+i.ROTATE]=n,this.frames[t+i.TRANSLATE]=r},i.prototype.apply=function(t,n,r,o,s,l,h){var u=this.frames,c=t.pathConstraints[this.pathConstraintIndex];if(r<u[0])switch(l){case e.setup:return c.rotateMix=c.data.rotateMix,void(c.translateMix=c.data.translateMix);case e.first:c.rotateMix+=(c.data.rotateMix-c.rotateMix)*s,c.translateMix+=(c.data.translateMix-c.translateMix)*s}else{var p=0,f=0;if(r>=u[u.length-i.ENTRIES])p=u[u.length+i.PREV_ROTATE],f=u[u.length+i.PREV_TRANSLATE];else{var d=a.binarySearch(u,r,i.ENTRIES);p=u[d+i.PREV_ROTATE],f=u[d+i.PREV_TRANSLATE];var m=u[d],g=this.getCurvePercent(d/i.ENTRIES-1,1-(r-m)/(u[d+i.PREV_TIME]-m));p+=(u[d+i.ROTATE]-p)*g,f+=(u[d+i.TRANSLATE]-f)*g}l==e.setup?(c.rotateMix=c.data.rotateMix+(p-c.data.rotateMix)*s,c.translateMix=c.data.translateMix+(f-c.data.translateMix)*s):(c.rotateMix+=(p-c.rotateMix)*s,c.translateMix+=(f-c.translateMix)*s)}},i.ENTRIES=3,i.PREV_TIME=-3,i.PREV_ROTATE=-2,i.PREV_TRANSLATE=-1,i.ROTATE=1,i.TRANSLATE=2,i}(i);t.PathConstraintMixTimeline=b}(t.core||(t.core={}))}(f||(f={})),function(t){!function(t){var e=function(){function e(e){this.tracks=[],this.events=[],this.listeners=[],this.queue=new a(this),this.propertyIDs=new t.IntSet,this.animationsChanged=!1,this.timeScale=1,this.trackEntryPool=new t.Pool((function(){return new n})),this.data=e}return e.prototype.update=function(t){t*=this.timeScale;for(var e=this.tracks,n=0,r=e.length;n<r;n++){var a=e[n];if(null!=a){a.animationLast=a.nextAnimationLast,a.trackLast=a.nextTrackLast;var i=t*a.timeScale;if(a.delay>0){if(a.delay-=i,a.delay>0)continue;i=-a.delay,a.delay=0}var o=a.next;if(null!=o){var s=a.trackLast-o.delay;if(s>=0){for(o.delay=0,o.trackTime=0==a.timeScale?0:(s/a.timeScale+t)*o.timeScale,a.trackTime+=i,this.setCurrent(n,o,!0);null!=o.mixingFrom;)o.mixTime+=t,o=o.mixingFrom;continue}}else if(a.trackLast>=a.trackEnd&&null==a.mixingFrom){e[n]=null,this.queue.end(a),this.disposeNext(a);continue}if(null!=a.mixingFrom&&this.updateMixingFrom(a,t)){var l=a.mixingFrom;for(a.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}a.trackTime+=i}}this.queue.drain()},e.prototype.updateMixingFrom=function(t,e){var n=t.mixingFrom;if(null==n)return!0;var r=this.updateMixingFrom(n,e);return n.animationLast=n.nextAnimationLast,n.trackLast=n.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=n.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=n.mixingFrom,null!=n.mixingFrom&&(n.mixingFrom.mixingTo=t),t.interruptAlpha=n.interruptAlpha,this.queue.end(n)),r):(n.trackTime+=e*n.timeScale,t.mixTime+=e,!1)},e.prototype.apply=function(n){if(null==n)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var r=this.events,a=this.tracks,i=!1,o=0,s=a.length;o<s;o++){var l=a[o];if(!(null==l||l.delay>0)){i=!0;var h=0==o?t.MixBlend.first:l.mixBlend,u=l.alpha;null!=l.mixingFrom?u*=this.applyMixingFrom(l,n,h):l.trackTime>=l.trackEnd&&null==l.next&&(u=0);var c=l.animationLast,p=l.getAnimationTime(),f=l.animation.timelines.length,d=l.animation.timelines;if(0!=o||1!=u&&h!=t.MixBlend.add){var m=l.timelineMode,g=0==l.timelinesRotation.length;g&&t.Utils.setArraySize(l.timelinesRotation,f<<1,null);var v=l.timelinesRotation;for(M=0;M<f;M++){var y=d[M],x=m[M]==e.SUBSEQUENT?h:t.MixBlend.setup;y instanceof t.RotateTimeline?this.applyRotateTimeline(y,n,p,u,x,v,M<<1,g):(t.Utils.webkit602BugfixHelper(u,h),y.apply(n,c,p,r,u,x,t.MixDirection.in))}}else for(var M=0;M<f;M++)t.Utils.webkit602BugfixHelper(u,h),d[M].apply(n,c,p,r,u,h,t.MixDirection.in);this.queueEvents(l,p),r.length=0,l.nextAnimationLast=p,l.nextTrackLast=l.trackTime}}return this.queue.drain(),i},e.prototype.applyMixingFrom=function(n,r,a){var i=n.mixingFrom;null!=i.mixingFrom&&this.applyMixingFrom(i,r,a);var o=0;0==n.mixDuration?(o=1,a==t.MixBlend.first&&(a=t.MixBlend.setup)):((o=n.mixTime/n.mixDuration)>1&&(o=1),a!=t.MixBlend.first&&(a=i.mixBlend));var s=o<i.eventThreshold?this.events:null,l=o<i.attachmentThreshold,h=o<i.drawOrderThreshold,u=i.animationLast,c=i.getAnimationTime(),p=i.animation.timelines.length,f=i.animation.timelines,d=i.alpha*n.interruptAlpha,m=d*(1-o);if(a==t.MixBlend.add)for(var g=0;g<p;g++)f[g].apply(r,u,c,s,m,a,t.MixDirection.out);else{var v=i.timelineMode,y=i.timelineHoldMix,x=0==i.timelinesRotation.length;x&&t.Utils.setArraySize(i.timelinesRotation,p<<1,null);var M=i.timelinesRotation;i.totalAlpha=0;for(g=0;g<p;g++){var E=f[g],b=t.MixDirection.out,w=void 0,T=0;switch(v[g]){case e.SUBSEQUENT:if(!l&&E instanceof t.AttachmentTimeline)continue;if(!h&&E instanceof t.DrawOrderTimeline)continue;w=a,T=m;break;case e.FIRST:w=t.MixBlend.setup,T=m;break;case e.HOLD:w=t.MixBlend.setup,T=d;break;default:w=t.MixBlend.setup;var S=y[g];T=d*Math.max(0,1-S.mixTime/S.mixDuration)}i.totalAlpha+=T,E instanceof t.RotateTimeline?this.applyRotateTimeline(E,r,c,T,w,M,g<<1,x):(t.Utils.webkit602BugfixHelper(T,a),w==t.MixBlend.setup&&(E instanceof t.AttachmentTimeline?l&&(b=t.MixDirection.out):E instanceof t.DrawOrderTimeline&&h&&(b=t.MixDirection.out)),E.apply(r,u,c,s,T,w,b))}}return n.mixDuration>0&&this.queueEvents(i,c),this.events.length=0,i.nextAnimationLast=c,i.nextTrackLast=i.trackTime,o},e.prototype.applyRotateTimeline=function(e,n,r,a,i,o,s,l){if(l&&(o[s]=0),1!=a){var h=e,u=h.frames,c=n.bones[h.boneIndex],p=0,f=0;if(r<u[0])switch(i){case t.MixBlend.setup:c.rotation=c.data.rotation;default:return;case t.MixBlend.first:p=c.rotation,f=c.data.rotation}else if(p=i==t.MixBlend.setup?c.data.rotation:c.rotation,r>=u[u.length-t.RotateTimeline.ENTRIES])f=c.data.rotation+u[u.length+t.RotateTimeline.PREV_ROTATION];else{var d=t.Animation.binarySearch(u,r,t.RotateTimeline.ENTRIES),m=u[d+t.RotateTimeline.PREV_ROTATION],g=u[d],v=h.getCurvePercent((d>>1)-1,1-(r-g)/(u[d+t.RotateTimeline.PREV_TIME]-g));f=u[d+t.RotateTimeline.ROTATION]-m,f=m+(f-=360*(16384-(16384.499999999996-f/360|0)))*v+c.data.rotation,f-=360*(16384-(16384.499999999996-f/360|0))}var y=0,x=f-p;if(0==(x-=360*(16384-(16384.499999999996-x/360|0))))y=o[s];else{var M=0,E=0;l?(M=0,E=x):(M=o[s],E=o[s+1]);var b=x>0,w=M>=0;t.MathUtils.signum(E)!=t.MathUtils.signum(x)&&Math.abs(E)<=90&&(Math.abs(M)>180&&(M+=360*t.MathUtils.signum(M)),w=b),y=x+M-M%360,w!=b&&(y+=360*t.MathUtils.signum(M)),o[s]=y}o[s+1]=x,p+=y*a,c.rotation=p-360*(16384-(16384.499999999996-p/360|0))}else e.apply(n,0,r,null,1,i,t.MixDirection.in)},e.prototype.queueEvents=function(t,e){for(var n=t.animationStart,r=t.animationEnd,a=r-n,i=t.trackLast%a,o=this.events,s=0,l=o.length;s<l;s++){var h=o[s];if(h.time<i)break;h.time>r||this.queue.event(t,h)}for((t.loop?0==a||i>t.trackTime%a:e>=r&&t.animationLast<r)&&this.queue.complete(t);s<l;s++){o[s].time<n||this.queue.event(t,o[s])}},e.prototype.clearTracks=function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,n=this.tracks.length;e<n;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()},e.prototype.clearTrack=function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var n=e;;){var r=n.mixingFrom;if(null==r)break;this.queue.end(r),n.mixingFrom=null,n.mixingTo=null,n=r}this.tracks[e.trackIndex]=null,this.queue.drain()}}},e.prototype.setCurrent=function(t,e,n){var r=this.expandToIndex(t);this.tracks[t]=e,null!=r&&(n&&this.queue.interrupt(r),e.mixingFrom=r,r.mixingTo=e,e.mixTime=0,null!=r.mixingFrom&&r.mixDuration>0&&(e.interruptAlpha*=Math.min(1,r.mixTime/r.mixDuration)),r.timelinesRotation.length=0),this.queue.start(e)},e.prototype.setAnimation=function(t,e,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,r,n)},e.prototype.setAnimationWith=function(t,e,n){if(null==e)throw new Error("animation cannot be null.");var r=!0,a=this.expandToIndex(t);null!=a&&(-1==a.nextTrackLast?(this.tracks[t]=a.mixingFrom,this.queue.interrupt(a),this.queue.end(a),this.disposeNext(a),a=a.mixingFrom,r=!1):this.disposeNext(a));var i=this.trackEntry(t,e,n,a);return this.setCurrent(t,i,r),this.queue.drain(),i},e.prototype.addAnimation=function(t,e,n,r){var a=this.data.skeletonData.findAnimation(e);if(null==a)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,a,n,r)},e.prototype.addAnimationWith=function(t,e,n,r){if(null==e)throw new Error("animation cannot be null.");var a=this.expandToIndex(t);if(null!=a)for(;null!=a.next;)a=a.next;var i=this.trackEntry(t,e,n,a);if(null==a)this.setCurrent(t,i,!0),this.queue.drain();else if(a.next=i,r<=0){var o=a.animationEnd-a.animationStart;0!=o?(a.loop?r+=o*(1+(a.trackTime/o|0)):r+=Math.max(o,a.trackTime),r-=this.data.getMix(a.animation,e)):r=a.trackTime}return i.delay=r,i},e.prototype.setEmptyAnimation=function(t,n){var r=this.setAnimationWith(t,e.emptyAnimation,!1);return r.mixDuration=n,r.trackEnd=n,r},e.prototype.addEmptyAnimation=function(t,n,r){r<=0&&(r-=n);var a=this.addAnimationWith(t,e.emptyAnimation,!1,r);return a.mixDuration=n,a.trackEnd=n,a},e.prototype.setEmptyAnimations=function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var n=0,r=this.tracks.length;n<r;n++){var a=this.tracks[n];null!=a&&this.setEmptyAnimation(a.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()},e.prototype.expandToIndex=function(e){return e<this.tracks.length?this.tracks[e]:(t.Utils.ensureArrayCapacity(this.tracks,e-this.tracks.length+1,null),this.tracks.length=e+1,null)},e.prototype.trackEntry=function(t,e,n,r){var a=this.trackEntryPool.obtain();return a.trackIndex=t,a.animation=e,a.loop=n,a.holdPrevious=!1,a.eventThreshold=0,a.attachmentThreshold=0,a.drawOrderThreshold=0,a.animationStart=0,a.animationEnd=e.duration,a.animationLast=-1,a.nextAnimationLast=-1,a.delay=0,a.trackTime=0,a.trackLast=-1,a.nextTrackLast=-1,a.trackEnd=Number.MAX_VALUE,a.timeScale=1,a.alpha=1,a.interruptAlpha=1,a.mixTime=0,a.mixDuration=null==r?0:this.data.getMix(r.animation,e),a},e.prototype.disposeNext=function(t){for(var e=t.next;null!=e;)this.queue.dispose(e),e=e.next;t.next=null},e.prototype._animationsChanged=function(){this.animationsChanged=!1,this.propertyIDs.clear();for(var e=0,n=this.tracks.length;e<n;e++){var r=this.tracks[e];if(null!=r){for(;null!=r.mixingFrom;)r=r.mixingFrom;do{null!=r.mixingFrom&&r.mixBlend==t.MixBlend.add||this.setTimelineModes(r),r=r.mixingTo}while(null!=r)}}},e.prototype.setTimelineModes=function(n){var r=n.mixingTo,a=n.animation.timelines,i=n.animation.timelines.length,o=t.Utils.setArraySize(n.timelineMode,i);n.timelineHoldMix.length=0;var s=t.Utils.setArraySize(n.timelineHoldMix,i),l=this.propertyIDs;if(null!=r&&r.holdPrevious)for(var h=0;h<i;h++)l.add(a[h].getPropertyId()),o[h]=e.HOLD;else t:for(h=0;h<i;h++){var u=a[h].getPropertyId();if(l.add(u))if(null!=r&&this.hasTimeline(r,u)){for(var c=r.mixingTo;null!=c;c=c.mixingTo)if(!this.hasTimeline(c,u)){if(n.mixDuration>0){o[h]=e.HOLD_MIX,s[h]=c;continue t}break}o[h]=e.HOLD}else o[h]=e.FIRST;else o[h]=e.SUBSEQUENT}},e.prototype.hasTimeline=function(t,e){for(var n=t.animation.timelines,r=0,a=n.length;r<a;r++)if(n[r].getPropertyId()==e)return!0;return!1},e.prototype.getCurrent=function(t){return t>=this.tracks.length?null:this.tracks[t]},e.prototype.addListener=function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)},e.prototype.removeListener=function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)},e.prototype.clearListeners=function(){this.listeners.length=0},e.prototype.clearListenerNotifications=function(){this.queue.clear()},e.prototype.setAnimationByName=function(t,n,r){e.deprecatedWarning1||(e.deprecatedWarning1=!0,console.warn("Spine Deprecation Warning: AnimationState.setAnimationByName is deprecated, please use setAnimation from now on.")),this.setAnimation(t,n,r)},e.prototype.addAnimationByName=function(t,n,r,a){e.deprecatedWarning2||(e.deprecatedWarning2=!0,console.warn("Spine Deprecation Warning: AnimationState.addAnimationByName is deprecated, please use addAnimation from now on.")),this.addAnimation(t,n,r,a)},e.prototype.hasAnimation=function(t){return null!==this.data.skeletonData.findAnimation(t)},e.prototype.hasAnimationByName=function(t){return e.deprecatedWarning3||(e.deprecatedWarning3=!0,console.warn("Spine Deprecation Warning: AnimationState.hasAnimationByName is deprecated, please use hasAnimation from now on.")),this.hasAnimation(t)},e.emptyAnimation=new t.Animation("<empty>",[],0),e.SUBSEQUENT=0,e.FIRST=1,e.HOLD=2,e.HOLD_MIX=3,e.deprecatedWarning1=!1,e.deprecatedWarning2=!1,e.deprecatedWarning3=!1,e}();t.AnimationState=e;var n=function(){function e(){this.mixBlend=t.MixBlend.replace,this.timelineMode=[],this.timelineHoldMix=[],this.timelinesRotation=[]}return e.prototype.reset=function(){this.next=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0},e.prototype.getAnimationTime=function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)},e.prototype.setAnimationLast=function(t){this.animationLast=t,this.nextAnimationLast=t},e.prototype.isComplete=function(){return this.trackTime>=this.animationEnd-this.animationStart},e.prototype.resetRotationDirections=function(){this.timelinesRotation.length=0},Object.defineProperty(e.prototype,"time",{get:function(){return e.deprecatedWarning1||(e.deprecatedWarning1=!0,console.warn("Spine Deprecation Warning: TrackEntry.time is deprecated, please use trackTime from now on.")),this.trackTime},set:function(t){e.deprecatedWarning1||(e.deprecatedWarning1=!0,console.warn("Spine Deprecation Warning: TrackEntry.time is deprecated, please use trackTime from now on.")),this.trackTime=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"endTime",{get:function(){return e.deprecatedWarning2||(e.deprecatedWarning2=!0,console.warn("Spine Deprecation Warning: TrackEntry.endTime is deprecated, please use trackEnd from now on.")),this.trackTime},set:function(t){e.deprecatedWarning2||(e.deprecatedWarning2=!0,console.warn("Spine Deprecation Warning: TrackEntry.endTime is deprecated, please use trackEnd from now on.")),this.trackTime=t},enumerable:!0,configurable:!0}),e.prototype.loopsCount=function(){return Math.floor(this.trackTime/this.trackEnd)},e.deprecatedWarning1=!1,e.deprecatedWarning2=!1,e}();t.TrackEntry=n;var r,a=function(){function e(t){this.objects=[],this.drainDisabled=!1,this.animState=t}return e.prototype.start=function(t){this.objects.push(r.start),this.objects.push(t),this.animState.animationsChanged=!0},e.prototype.interrupt=function(t){this.objects.push(r.interrupt),this.objects.push(t)},e.prototype.end=function(t){this.objects.push(r.end),this.objects.push(t),this.animState.animationsChanged=!0},e.prototype.dispose=function(t){this.objects.push(r.dispose),this.objects.push(t)},e.prototype.complete=function(t){this.objects.push(r.complete),this.objects.push(t)},e.prototype.event=function(t,e){this.objects.push(r.event),this.objects.push(t),this.objects.push(e)},e.prototype.deprecateStuff=function(){return e.deprecatedWarning1||(e.deprecatedWarning1=!0,console.warn("Spine Deprecation Warning: onComplete, onStart, onEnd, onEvent art deprecated, please use listeners from now on. 'state.addListener({ complete: function(track, event) { } })'")),!0},e.prototype.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var e=this.objects,n=this.animState.listeners,a=0;a<e.length;a+=2){var i=e[a],o=e[a+1];switch(i){case r.start:null!=o.listener&&o.listener.start&&o.listener.start(o);for(var s=0;s<n.length;s++)n[s].start&&n[s].start(o);o.onStart&&this.deprecateStuff()&&o.onStart(o.trackIndex),this.animState.onStart&&this.deprecateStuff()&&this.deprecateStuff&&this.animState.onStart(o.trackIndex);break;case r.interrupt:null!=o.listener&&o.listener.interrupt&&o.listener.interrupt(o);for(s=0;s<n.length;s++)n[s].interrupt&&n[s].interrupt(o);break;case r.end:null!=o.listener&&o.listener.end&&o.listener.end(o);for(s=0;s<n.length;s++)n[s].end&&n[s].end(o);o.onEnd&&this.deprecateStuff()&&o.onEnd(o.trackIndex),this.animState.onEnd&&this.deprecateStuff()&&this.animState.onEnd(o.trackIndex);case r.dispose:null!=o.listener&&o.listener.dispose&&o.listener.dispose(o);for(s=0;s<n.length;s++)n[s].dispose&&n[s].dispose(o);this.animState.trackEntryPool.free(o);break;case r.complete:null!=o.listener&&o.listener.complete&&o.listener.complete(o);for(s=0;s<n.length;s++)n[s].complete&&n[s].complete(o);var l=t.MathUtils.toInt(o.loopsCount());o.onComplete&&this.deprecateStuff()&&o.onComplete(o.trackIndex,l),this.animState.onComplete&&this.deprecateStuff()&&this.animState.onComplete(o.trackIndex,l);break;case r.event:var h=e[2+a++];null!=o.listener&&o.listener.event&&o.listener.event(o,h);for(s=0;s<n.length;s++)n[s].event&&n[s].event(o,h);o.onEvent&&this.deprecateStuff()&&o.onEvent(o.trackIndex,h),this.animState.onEvent&&this.deprecateStuff()&&this.animState.onEvent(o.trackIndex,h)}}this.clear(),this.drainDisabled=!1}},e.prototype.clear=function(){this.objects.length=0},e.deprecatedWarning1=!1,e}();t.EventQueue=a,function(t){t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event"}(r=t.EventType||(t.EventType={}));var i=function(){function t(){}return t.prototype.start=function(t){},t.prototype.interrupt=function(t){},t.prototype.end=function(t){},t.prototype.dispose=function(t){},t.prototype.complete=function(t){},t.prototype.event=function(t,e){},t}();t.AnimationStateAdapter2=i}(t.core||(t.core={}))}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t){if(this.animationToMixTime={},this.defaultMix=0,null==t)throw new Error("skeletonData cannot be null.");this.skeletonData=t}return t.prototype.setMix=function(t,e,n){var r=this.skeletonData.findAnimation(t);if(null==r)throw new Error("Animation not found: "+t);var a=this.skeletonData.findAnimation(e);if(null==a)throw new Error("Animation not found: "+e);this.setMixWith(r,a,n)},t.prototype.setMixByName=function(e,n,r){t.deprecatedWarning1||(t.deprecatedWarning1=!0,console.warn("Deprecation Warning: AnimationStateData.setMixByName is deprecated, please use setMix from now on.")),this.setMix(e,n,r)},t.prototype.setMixWith=function(t,e,n){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var r=t.name+"."+e.name;this.animationToMixTime[r]=n},t.prototype.getMix=function(t,e){var n=t.name+"."+e.name,r=this.animationToMixTime[n];return void 0===r?this.defaultMix:r},t.deprecatedWarning1=!1,t}(),e.AnimationStateData=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t){this.atlas=t}return t.prototype.newRegionAttachment=function(t,n,r){var a=this.atlas.findRegion(r);if(null==a)throw new Error("Region not found in atlas: "+r+" (region attachment: "+n+")");var i=new e.RegionAttachment(n);return i.region=a,i},t.prototype.newMeshAttachment=function(t,n,r){var a=this.atlas.findRegion(r);if(null==a)throw new Error("Region not found in atlas: "+r+" (mesh attachment: "+n+")");var i=new e.MeshAttachment(n);return i.region=a,i},t.prototype.newBoundingBoxAttachment=function(t,n){return new e.BoundingBoxAttachment(n)},t.prototype.newPathAttachment=function(t,n){return new e.PathAttachment(n)},t.prototype.newPointAttachment=function(t,n){return new e.PointAttachment(n)},t.prototype.newClippingAttachment=function(t,n){return new e.ClippingAttachment(n)},t}(),e.AtlasAttachmentLoader=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),(n=e.BlendMode||(e.BlendMode={}))[n.Normal=0]="Normal",n[n.Additive=1]="Additive",n[n.Multiply=2]="Multiply",n[n.Screen=3]="Screen"}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t,e,n){if(this.matrix=new c.Matrix,this.children=[],this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.sorted=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.skeleton=e,this.parent=n,this.setToSetupPose()}return Object.defineProperty(t.prototype,"worldX",{get:function(){return this.matrix.tx},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"worldY",{get:function(){return this.matrix.ty},enumerable:!0,configurable:!0}),t.prototype.update=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},t.prototype.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},t.prototype.updateWorldTransformWith=function(n,r,a,i,o,s,l){this.ax=n,this.ay=r,this.arotation=a,this.ascaleX=i,this.ascaleY=o,this.ashearX=s,this.ashearY=l,this.appliedValid=!0;var h=this.parent,u=this.matrix,c=this.skeleton.scaleX,p=t.yDown?-this.skeleton.scaleY:this.skeleton.scaleY;if(null==h){t.yDown&&(a=-a,this.arotation=a);var f=this.skeleton,d=a+90+l;return u.a=e.MathUtils.cosDeg(a+s)*i*c,u.c=e.MathUtils.cosDeg(d)*o*p,u.b=e.MathUtils.sinDeg(a+s)*i*c,u.d=e.MathUtils.sinDeg(d)*o*p,u.tx=n*c+f.x,void(u.ty=r*p+f.y)}var m=h.matrix.a,g=h.matrix.c,v=h.matrix.b,y=h.matrix.d;switch(u.tx=m*n+g*r+h.matrix.tx,u.ty=v*n+y*r+h.matrix.ty,this.data.transformMode){case e.TransformMode.Normal:d=a+90+l;var x=e.MathUtils.cosDeg(a+s)*i,M=e.MathUtils.cosDeg(d)*o,E=e.MathUtils.sinDeg(a+s)*i,b=e.MathUtils.sinDeg(d)*o;return u.a=m*x+g*E,u.c=m*M+g*b,u.b=v*x+y*E,void(u.d=v*M+y*b);case e.TransformMode.OnlyTranslation:d=a+90+l,u.a=e.MathUtils.cosDeg(a+s)*i,u.c=e.MathUtils.cosDeg(d)*o,u.b=e.MathUtils.sinDeg(a+s)*i,u.d=e.MathUtils.sinDeg(d)*o;break;case e.TransformMode.NoRotationOrReflection:var w=0;(R=m*m+v*v)>1e-4?(g=v*(R=Math.abs(m*y-g*v)/R),y=m*R,w=Math.atan2(v,m)*e.MathUtils.radDeg):(m=0,v=0,w=90-Math.atan2(y,g)*e.MathUtils.radDeg);var T=a+s-w,S=a+l-w+90;x=e.MathUtils.cosDeg(T)*i,M=e.MathUtils.cosDeg(S)*o,E=e.MathUtils.sinDeg(T)*i,b=e.MathUtils.sinDeg(S)*o,u.a=m*x-g*E,u.c=m*M-g*b,u.b=v*x+y*E,u.d=v*M+y*b;break;case e.TransformMode.NoScale:case e.TransformMode.NoScaleOrReflection:var R,A=e.MathUtils.cosDeg(a),P=e.MathUtils.sinDeg(a),C=(m*A+g*P)/c,I=(v*A+y*P)/p;(R=Math.sqrt(C*C+I*I))>1e-5&&(R=1/R),C*=R,I*=R,R=Math.sqrt(C*C+I*I),this.data.transformMode==e.TransformMode.NoScale&&m*y-g*v<0!=(t.yDown?this.skeleton.scaleX<0!=this.skeleton.scaleY>0:this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(R=-R);var V=Math.PI/2+Math.atan2(I,C),k=Math.cos(V)*R,N=Math.sin(V)*R;x=e.MathUtils.cosDeg(s)*i,M=e.MathUtils.cosDeg(90+l)*o,E=e.MathUtils.sinDeg(s)*i,b=e.MathUtils.sinDeg(90+l)*o,u.a=C*x+k*E,u.c=C*M+k*b,u.b=I*x+N*E,u.d=I*M+N*b}u.a*=c,u.c*=c,u.b*=p,u.d*=p},t.prototype.setToSetupPose=function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY},t.prototype.getWorldRotationX=function(){return Math.atan2(this.matrix.b,this.matrix.a)*e.MathUtils.radDeg},t.prototype.getWorldRotationY=function(){return Math.atan2(this.matrix.d,this.matrix.c)*e.MathUtils.radDeg},t.prototype.getWorldScaleX=function(){var t=this.matrix;return Math.sqrt(t.a*t.a+t.c*t.c)},t.prototype.getWorldScaleY=function(){var t=this.matrix;return Math.sqrt(t.b*t.b+t.d*t.d)},t.prototype.updateAppliedTransform=function(){this.appliedValid=!0;var t=this.parent,n=this.matrix;if(null==t)return this.ax=n.tx,this.ay=n.ty,this.arotation=Math.atan2(n.b,n.a)*e.MathUtils.radDeg,this.ascaleX=Math.sqrt(n.a*n.a+n.b*n.b),this.ascaleY=Math.sqrt(n.c*n.c+n.d*n.d),this.ashearX=0,void(this.ashearY=Math.atan2(n.a*n.c+n.b*n.d,n.a*n.d-n.b*n.c)*e.MathUtils.radDeg);var r=t.matrix,a=1/(r.a*r.d-r.b*r.c),i=n.tx-r.tx,o=n.ty-r.ty;this.ax=i*r.d*a-o*r.c*a,this.ay=o*r.a*a-i*r.b*a;var s=a*r.d,l=a*r.a,h=a*r.c,u=a*r.b,c=s*n.a-h*n.b,p=s*n.c-h*n.d,f=l*n.b-u*n.a,d=l*n.d-u*n.c;if(this.ashearX=0,this.ascaleX=Math.sqrt(c*c+f*f),this.ascaleX>1e-4){var m=c*d-p*f;this.ascaleY=m/this.ascaleX,this.ashearY=Math.atan2(c*p+f*d,m)*e.MathUtils.radDeg,this.arotation=Math.atan2(f,c)*e.MathUtils.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(p*p+d*d),this.ashearY=0,this.arotation=90-Math.atan2(d,p)*e.MathUtils.radDeg},t.prototype.worldToLocal=function(t){var e=this.matrix,n=e.a,r=e.c,a=e.b,i=e.d,o=1/(n*i-r*a),s=t.x-e.tx,l=t.y-e.ty;return t.x=s*i*o-l*r*o,t.y=l*n*o-s*a*o,t},t.prototype.localToWorld=function(t){var e=this.matrix,n=t.x,r=t.y;return t.x=n*e.a+r*e.c+e.tx,t.y=n*e.b+r*e.d+e.ty,t},t.prototype.worldToLocalRotation=function(t){var n=e.MathUtils.sinDeg(t),r=e.MathUtils.cosDeg(t),a=this.matrix;return Math.atan2(a.a*n-a.b*r,a.d*r-a.c*n)*e.MathUtils.radDeg},t.prototype.localToWorldRotation=function(t){var n=e.MathUtils.sinDeg(t),r=e.MathUtils.cosDeg(t),a=this.matrix;return Math.atan2(r*a.b+n*a.d,r*a.a+n*a.c)*e.MathUtils.radDeg},t.prototype.rotateWorld=function(t){var n=this.matrix,r=n.a,a=n.c,i=n.b,o=n.d,s=e.MathUtils.cosDeg(t),l=e.MathUtils.sinDeg(t);n.a=s*r-l*i,n.c=s*a-l*o,n.b=l*r+s*i,n.d=l*a+s*o,this.appliedValid=!1},t.yDown=!1,t}(),e.Bone=n}(f||(f={})),function(t){var e,n,r;e=t.core||(t.core={}),r=function(t,e,r){if(this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=n.Normal,t<0)throw new Error("index must be >= 0.");if(null==e)throw new Error("name cannot be null.");this.index=t,this.name=e,this.parent=r},e.BoneData=r,function(t){t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection"}(n=e.TransformMode||(e.TransformMode={}))}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t,e){if(null==e)throw new Error("data cannot be null.");this.time=t,this.data=e},e.Event=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){this.name=t},e.EventData=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t,e){if(this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.mix=t.mix,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch,this.bones=[];for(var n=0;n<t.bones.length;n++)this.bones.push(e.findBone(t.bones[n].name));this.target=e.findBone(t.target.name)}return t.prototype.getOrder=function(){return this.data.order},t.prototype.apply=function(){this.update()},t.prototype.update=function(){var t=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],t.worldX,t.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.stretch,this.mix)}},t.prototype.apply1=function(t,n,r,a,i,o,s){t.appliedValid||t.updateAppliedTransform();var l=t.parent.matrix,h=1/(l.a*l.d-l.b*l.c),u=n-l.tx,c=r-l.ty,p=(u*l.d-c*l.c)*h-t.ax,f=(c*l.a-u*l.b)*h-t.ay,d=Math.atan2(f,p)*e.MathUtils.radDeg-t.ashearX-t.arotation;t.ascaleX<0&&(d+=180),d>180?d-=360:d<-180&&(d+=360);var m=t.ascaleX,g=t.ascaleY;if(a||i){var v=t.data.length*m,y=Math.sqrt(p*p+f*f);if(a&&y<v||i&&y>v&&v>1e-4){var x=(y/v-1)*s+1;m*=x,o&&(g*=x)}}t.updateWorldTransformWith(t.ax,t.ay,t.arotation+d*s,m,g,t.ashearX,t.ashearY)},t.prototype.apply2=function(t,n,r,a,i,o,s){if(0!=s){t.appliedValid||t.updateAppliedTransform(),n.appliedValid||n.updateAppliedTransform();var l=t.ax,h=t.ay,u=t.ascaleX,c=u,p=t.ascaleY,f=n.ascaleX,d=t.matrix,m=0,g=0,v=0;u<0?(u=-u,m=180,v=-1):(m=0,v=1),p<0&&(p=-p,v=-v),f<0?(f=-f,g=180):g=0;var y=n.ax,x=0,M=0,E=0,b=d.a,w=d.c,T=d.b,S=d.d,R=Math.abs(u-p)<=1e-4;R?(M=b*y+w*(x=n.ay)+d.tx,E=T*y+S*x+d.ty):(x=0,M=b*y+d.tx,E=T*y+d.ty);var A=t.parent.matrix;b=A.a,w=A.c,T=A.b;var P=1/(b*(S=A.d)-w*T),C=r-A.tx,I=a-A.ty,V=(C*S-I*w)*P-l,k=(I*b-C*T)*P-h,N=V*V+k*k,D=((C=M-A.tx)*S-(I=E-A.ty)*w)*P-l,O=(I*b-C*T)*P-h,_=Math.sqrt(D*D+O*O),U=n.data.length*f,Y=0,X=0;t:if(R){var F=(N-_*_-(U*=u)*U)/(2*_*U);F<-1?F=-1:F>1&&(F=1,o&&_+U>1e-4&&(c*=(Math.sqrt(N)/(_+U)-1)*s+1)),X=Math.acos(F)*i,b=_+U*F,w=U*Math.sin(X),Y=Math.atan2(k*b-V*w,V*b+k*w)}else{var B=(b=u*U)*b,L=(w=p*U)*w,W=Math.atan2(k,V),j=-2*L*_,q=L-B;if((S=j*j-4*q*(T=L*_*_+B*N-B*L))>=0){var G=Math.sqrt(S);j<0&&(G=-G);var H=(G=-(j+G)/2)/q,z=T/G,Z=Math.abs(H)<Math.abs(z)?H:z;if(Z*Z<=N){I=Math.sqrt(N-Z*Z)*i,Y=W-Math.atan2(I,Z),X=Math.atan2(I/p,(Z-_)/u);break t}}var J=e.MathUtils.PI,Q=_-b,K=Q*Q,$=0,tt=0,et=_+b,nt=et*et,rt=0;(T=-b*_/(B-L))>=-1&&T<=1&&(T=Math.acos(T),(S=(C=b*Math.cos(T)+_)*C+(I=w*Math.sin(T))*I)<K&&(J=T,K=S,Q=C,$=I),S>nt&&(tt=T,nt=S,et=C,rt=I)),N<=(K+nt)/2?(Y=W-Math.atan2($*i,Q),X=J*i):(Y=W-Math.atan2(rt*i,et),X=tt*i)}var at=Math.atan2(x,y)*v,it=t.arotation;(Y=(Y-at)*e.MathUtils.radDeg+m-it)>180?Y-=360:Y<-180&&(Y+=360),t.updateWorldTransformWith(l,h,it+Y*s,c,t.ascaleY,0,0),it=n.arotation,(X=((X+at)*e.MathUtils.radDeg-n.ashearX)*v+g-it)>180?X-=360:X<-180&&(X+=360),n.updateWorldTransformWith(y,x,it+X*s,n.ascaleX,n.ascaleY,n.ashearX,n.ashearY)}else n.updateWorldTransform()},t}(),e.IkConstraint=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){this.order=0,this.bones=[],this.bendDirection=1,this.compress=!1,this.stretch=!1,this.uniform=!1,this.mix=1,this.name=t},e.IkConstraintData=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t,e){if(this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=[],this.positions=[],this.world=[],this.curves=[],this.lengths=[],this.segments=[],null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=[];for(var n=0,r=t.bones.length;n<r;n++)this.bones.push(e.findBone(t.bones[n].name));this.target=e.findSlot(t.target.name),this.position=t.position,this.spacing=t.spacing,this.rotateMix=t.rotateMix,this.translateMix=t.translateMix}return t.prototype.apply=function(){this.update()},t.prototype.update=function(){var n=this.target.getAttachment();if(n instanceof e.PathAttachment){var r=this.rotateMix,a=this.translateMix,i=r>0;if(a>0||i){var o=this.data,s=o.spacingMode,l=s==e.SpacingMode.Length,h=o.rotateMode,u=h==e.RotateMode.Tangent,c=h==e.RotateMode.ChainScale,p=this.bones.length,f=u?p:p+1,d=this.bones,m=e.Utils.setArraySize(this.spaces,f),g=null,v=this.spacing;if(c||l){c&&(g=e.Utils.setArraySize(this.lengths,p));for(var y=0,x=f-1;y<x;){var M=(I=d[y]).data.length;if(M<t.epsilon)c&&(g[y]=0),m[++y]=0;else{var E=M*I.matrix.a,b=M*I.matrix.b,w=Math.sqrt(E*E+b*b);c&&(g[y]=w),m[++y]=(l?M+v:v)*w/M}}}else for(y=1;y<f;y++)m[y]=v;var T=this.computeWorldPositions(n,f,u,o.positionMode==e.PositionMode.Percent,s==e.SpacingMode.Percent),S=T[0],R=T[1],A=o.offsetRotation,P=!1;0==A?P=h==e.RotateMode.Chain:(P=!1,A*=(C=this.target.bone.matrix).a*C.d-C.b*C.c>0?e.MathUtils.degRad:-e.MathUtils.degRad),y=0;for(var C=3;y<p;y++,C+=3){var I,V=(I=d[y]).matrix;V.tx+=(S-V.tx)*a,V.ty+=(R-V.ty)*a;var k=(E=T[C])-S,N=(b=T[C+1])-R;if(c){var D=g[y];if(0!=D){var O=(Math.sqrt(k*k+N*N)/D-1)*r+1;V.a*=O,V.b*=O}}if(S=E,R=b,i){var _=V.a,U=V.c,Y=V.b,X=V.d,F=0,B=0,L=0;if(F=u?T[C-1]:0==m[y+1]?T[C+2]:Math.atan2(N,k),F-=Math.atan2(Y,_),P){B=Math.cos(F),L=Math.sin(F);var W=I.data.length;S+=(W*(B*_-L*Y)-k)*r,R+=(W*(L*_+B*Y)-N)*r}else F+=A;F>e.MathUtils.PI?F-=e.MathUtils.PI2:F<-e.MathUtils.PI&&(F+=e.MathUtils.PI2),F*=r,B=Math.cos(F),L=Math.sin(F),V.a=B*_-L*Y,V.c=B*U-L*X,V.b=L*_+B*Y,V.d=L*U+B*X}I.appliedValid=!1}}}},t.prototype.computeWorldPositions=function(n,r,a,i,o){var s=this.target,l=this.position,h=this.spaces,u=e.Utils.setArraySize(this.positions,3*r+2),c=null,p=n.closed,f=n.worldVerticesLength,d=f/6,m=t.NONE;if(!n.constantSpeed){var g=n.lengths,v=g[d-=p?1:2];if(i&&(l*=v),o)for(var y=0;y<r;y++)h[y]*=v;c=e.Utils.setArraySize(this.world,8),y=0;for(var x=0,M=0;y<r;y++,x+=3){var E=l+=q=h[y];if(p)(E%=v)<0&&(E+=v),M=0;else{if(E<0){m!=t.BEFORE&&(m=t.BEFORE,n.computeWorldVertices(s,2,4,c,0,2)),this.addBeforePosition(E,c,0,u,x);continue}if(E>v){m!=t.AFTER&&(m=t.AFTER,n.computeWorldVertices(s,f-6,4,c,0,2)),this.addAfterPosition(E-v,c,0,u,x);continue}}for(;;M++){var b=g[M];if(!(E>b)){0==M?E/=b:E=(E-(Z=g[M-1]))/(b-Z);break}}M!=m&&(m=M,p&&M==d?(n.computeWorldVertices(s,f-4,4,c,0,2),n.computeWorldVertices(s,0,4,c,4,2)):n.computeWorldVertices(s,6*M+2,8,c,0,2)),this.addCurvePosition(E,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],u,x,a||y>0&&0==q)}return u}p?(f+=2,c=e.Utils.setArraySize(this.world,f),n.computeWorldVertices(s,2,f-4,c,0,2),n.computeWorldVertices(s,0,2,c,f-4,2),c[f-2]=c[0],c[f-1]=c[1]):(d--,f-=4,c=e.Utils.setArraySize(this.world,f),n.computeWorldVertices(s,2,f,c,0,2));for(var w=e.Utils.setArraySize(this.curves,d),T=0,S=c[0],R=c[1],A=0,P=0,C=0,I=0,V=0,k=0,N=0,D=0,O=0,_=0,U=0,Y=0,X=0,F=0,B=(y=0,2);y<d;y++,B+=6)A=c[B],P=c[B+1],C=c[B+2],I=c[B+3],U=2*(N=.1875*(S-2*A+C))+(O=.09375*(3*(A-C)-S+(V=c[B+4]))),Y=2*(D=.1875*(R-2*P+I))+(_=.09375*(3*(P-I)-R+(k=c[B+5]))),X=.75*(A-S)+N+.16666667*O,F=.75*(P-R)+D+.16666667*_,T+=Math.sqrt(X*X+F*F),X+=U,F+=Y,U+=O,Y+=_,T+=Math.sqrt(X*X+F*F),X+=U,F+=Y,T+=Math.sqrt(X*X+F*F),X+=U+O,F+=Y+_,T+=Math.sqrt(X*X+F*F),w[y]=T,S=V,R=k;if(i&&(l*=T),o)for(y=0;y<r;y++)h[y]*=T;for(var L=this.segments,W=0,j=(y=0,x=0,M=0,0);y<r;y++,x+=3){var q;if(E=l+=q=h[y],p)(E%=T)<0&&(E+=T),M=0;else{if(E<0){this.addBeforePosition(E,c,0,u,x);continue}if(E>T){this.addAfterPosition(E-T,c,f-4,u,x);continue}}for(;;M++){var G=w[M];if(!(E>G)){0==M?E/=G:E=(E-(Z=w[M-1]))/(G-Z);break}}if(M!=m){m=M;var H=6*M;for(S=c[H],R=c[H+1],A=c[H+2],P=c[H+3],C=c[H+4],I=c[H+5],U=2*(N=.03*(S-2*A+C))+(O=.006*(3*(A-C)-S+(V=c[H+6]))),Y=2*(D=.03*(R-2*P+I))+(_=.006*(3*(P-I)-R+(k=c[H+7]))),X=.3*(A-S)+N+.16666667*O,F=.3*(P-R)+D+.16666667*_,W=Math.sqrt(X*X+F*F),L[0]=W,H=1;H<8;H++)X+=U,F+=Y,U+=O,Y+=_,W+=Math.sqrt(X*X+F*F),L[H]=W;X+=U,F+=Y,W+=Math.sqrt(X*X+F*F),L[8]=W,X+=U+O,F+=Y+_,W+=Math.sqrt(X*X+F*F),L[9]=W,j=0}for(E*=W;;j++){var z=L[j];if(!(E>z)){var Z;0==j?E/=z:E=j+(E-(Z=L[j-1]))/(z-Z);break}}this.addCurvePosition(.1*E,S,R,A,P,C,I,V,k,u,x,a||y>0&&0==q)}return u},t.prototype.addBeforePosition=function(t,e,n,r,a){var i=e[n],o=e[n+1],s=e[n+2]-i,l=e[n+3]-o,h=Math.atan2(l,s);r[a]=i+t*Math.cos(h),r[a+1]=o+t*Math.sin(h),r[a+2]=h},t.prototype.addAfterPosition=function(t,e,n,r,a){var i=e[n+2],o=e[n+3],s=i-e[n],l=o-e[n+1],h=Math.atan2(l,s);r[a]=i+t*Math.cos(h),r[a+1]=o+t*Math.sin(h),r[a+2]=h},t.prototype.addCurvePosition=function(t,e,n,r,a,i,o,s,l,h,u,c){(0==t||isNaN(t))&&(t=1e-4);var p=t*t,f=p*t,d=1-t,m=d*d,g=m*d,v=d*t,y=3*v,x=d*y,M=y*t,E=e*g+r*x+i*M+s*f,b=n*g+a*x+o*M+l*f;h[u]=E,h[u+1]=b,c&&(h[u+2]=Math.atan2(b-(n*m+a*v*2+o*p),E-(e*m+r*v*2+i*p)))},t.prototype.getOrder=function(){return this.data.order},t.NONE=-1,t.BEFORE=-2,t.AFTER=-3,t.epsilon=1e-5,t}(),e.PathConstraint=n}(f||(f={})),function(t){var e,n,r,a,i;e=t.core||(t.core={}),i=function(t){this.order=0,this.bones=[],this.name=t},e.PathConstraintData=i,(n=e.PositionMode||(e.PositionMode={}))[n.Fixed=0]="Fixed",n[n.Percent=1]="Percent",(r=e.SpacingMode||(e.SpacingMode={}))[r.Length=0]="Length",r[r.Fixed=1]="Fixed",r[r.Percent=2]="Percent",(a=e.RotateMode||(e.RotateMode={}))[a.Tangent=0]="Tangent",a[a.Chain=1]="Chain",a[a.ChainScale=2]="ChainScale"}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t){if(this._updateCache=[],this.updateCacheReset=[],this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==t)throw new Error("data cannot be null.");this.data=t,this.bones=[];for(var n=0;n<t.bones.length;n++){var r=t.bones[n],a=void 0;if(null==r.parent)a=new e.Bone(r,this,null);else{var i=this.bones[r.parent.index];a=new e.Bone(r,this,i),i.children.push(a)}this.bones.push(a)}for(this.slots=[],this.drawOrder=[],n=0;n<t.slots.length;n++){var o=t.slots[n],s=(a=this.bones[o.boneData.index],new e.Slot(o,a));this.slots.push(s),this.drawOrder.push(s)}for(this.ikConstraints=[],n=0;n<t.ikConstraints.length;n++){var l=t.ikConstraints[n];this.ikConstraints.push(new e.IkConstraint(l,this))}for(this.transformConstraints=[],n=0;n<t.transformConstraints.length;n++){var h=t.transformConstraints[n];this.transformConstraints.push(new e.TransformConstraint(h,this))}for(this.pathConstraints=[],n=0;n<t.pathConstraints.length;n++){var u=t.pathConstraints[n];this.pathConstraints.push(new e.PathConstraint(u,this))}this.color=new e.Color(1,1,1,1),this.updateCache()}return t.prototype.updateCache=function(){this._updateCache.length=0,this.updateCacheReset.length=0;for(var t=this.bones,e=0,n=t.length;e<n;e++)t[e].sorted=!1;var r=this.ikConstraints,a=this.transformConstraints,i=this.pathConstraints,o=r.length,s=a.length,l=i.length,h=o+s+l;t:for(e=0;e<h;e++){for(var u=0;u<o;u++)if((c=r[u]).data.order==e){this.sortIkConstraint(c);continue t}for(u=0;u<s;u++)if((c=a[u]).data.order==e){this.sortTransformConstraint(c);continue t}for(u=0;u<l;u++){var c;if((c=i[u]).data.order==e){this.sortPathConstraint(c);continue t}}}for(e=0,n=t.length;e<n;e++)this.sortBone(t[e])},t.prototype.sortIkConstraint=function(t){var e=t.target;this.sortBone(e);var n=t.bones,r=n[0];if(this.sortBone(r),n.length>1){var a=n[n.length-1];this._updateCache.indexOf(a)>-1||this.updateCacheReset.push(a)}this._updateCache.push(t),this.sortReset(r.children),n[n.length-1].sorted=!0},t.prototype.sortPathConstraint=function(t){var n=t.target,r=n.data.index,a=n.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,r,a),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,r,a);for(var i=0,o=this.data.skins.length;i<o;i++)this.sortPathConstraintAttachment(this.data.skins[i],r,a);var s=n.getAttachment();s instanceof e.PathAttachment&&this.sortPathConstraintAttachmentWith(s,a);var l=t.bones,h=l.length;for(i=0;i<h;i++)this.sortBone(l[i]);for(this._updateCache.push(t),i=0;i<h;i++)this.sortReset(l[i].children);for(i=0;i<h;i++)l[i].sorted=!0},t.prototype.sortTransformConstraint=function(t){this.sortBone(t.target);var e=t.bones,n=e.length;if(t.data.local)for(var r=0;r<n;r++){var a=e[r];this.sortBone(a.parent),this._updateCache.indexOf(a)>-1||this.updateCacheReset.push(a)}else for(r=0;r<n;r++)this.sortBone(e[r]);this._updateCache.push(t);for(var i=0;i<n;i++)this.sortReset(e[i].children);for(i=0;i<n;i++)e[i].sorted=!0},t.prototype.sortPathConstraintAttachment=function(t,e,n){var r=t.attachments[e];if(r)for(var a in r)this.sortPathConstraintAttachmentWith(r[a],n)},t.prototype.sortPathConstraintAttachmentWith=function(t,n){if(t instanceof e.PathAttachment){var r=t.bones;if(null==r)this.sortBone(n);else for(var a=this.bones,i=0;i<r.length;)for(var o=r[i++],s=i+o;i<s;i++){var l=r[i];this.sortBone(a[l])}}},t.prototype.sortBone=function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}},t.prototype.sortReset=function(t){for(var e=0,n=t.length;e<n;e++){var r=t[e];r.sorted&&this.sortReset(r.children),r.sorted=!1}},t.prototype.updateWorldTransform=function(){for(var t=this.updateCacheReset,e=0,n=t.length;e<n;e++){var r=t[e];r.ax=r.x,r.ay=r.y,r.arotation=r.rotation,r.ascaleX=r.scaleX,r.ascaleY=r.scaleY,r.ashearX=r.shearX,r.ashearY=r.shearY,r.appliedValid=!0}var a=this._updateCache;for(e=0,n=a.length;e<n;e++)a[e].update()},t.prototype.setToSetupPose=function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},t.prototype.setBonesToSetupPose=function(){for(var t=this.bones,e=0,n=t.length;e<n;e++)t[e].setToSetupPose();var r=this.ikConstraints;for(e=0,n=r.length;e<n;e++)(s=r[e]).bendDirection=s.data.bendDirection,s.mix=s.data.mix;var a=this.transformConstraints;for(e=0,n=a.length;e<n;e++){var i=(s=a[e]).data;s.rotateMix=i.rotateMix,s.translateMix=i.translateMix,s.scaleMix=i.scaleMix,s.shearMix=i.shearMix}var o=this.pathConstraints;for(e=0,n=o.length;e<n;e++){var s;i=(s=o[e]).data,s.position=i.position,s.spacing=i.spacing,s.rotateMix=i.rotateMix,s.translateMix=i.translateMix}},t.prototype.setSlotsToSetupPose=function(){var t=this.slots;e.Utils.arrayCopy(t,0,this.drawOrder,0,t.length);for(var n=0,r=t.length;n<r;n++)t[n].setToSetupPose()},t.prototype.getRootBone=function(){return 0==this.bones.length?null:this.bones[0]},t.prototype.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,n=0,r=e.length;n<r;n++){var a=e[n];if(a.data.name==t)return a}return null},t.prototype.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,n=0,r=e.length;n<r;n++)if(e[n].data.name==t)return n;return-1},t.prototype.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,n=0,r=e.length;n<r;n++){var a=e[n];if(a.data.name==t)return a}return null},t.prototype.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,n=0,r=e.length;n<r;n++)if(e[n].data.name==t)return n;return-1},t.prototype.setSkinByName=function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)},t.prototype.setSkin=function(t){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,n=0,r=e.length;n<r;n++){var a=e[n],i=a.data.attachmentName;if(null!=i){var o=t.getAttachment(n,i);null!=o&&a.setAttachment(o)}}this.skin=t},t.prototype.getAttachmentByName=function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)},t.prototype.getAttachment=function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var n=this.skin.getAttachment(t,e);if(null!=n)return n}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},t.prototype.setAttachment=function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var n=this.slots,r=0,a=n.length;r<a;r++){var i=n[r];if(i.data.name==t){var o=null;if(null!=e&&null==(o=this.getAttachment(r,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void i.setAttachment(o)}}throw new Error("Slot not found: "+t)},t.prototype.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,n=0,r=e.length;n<r;n++){var a=e[n];if(a.data.name==t)return a}return null},t.prototype.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,n=0,r=e.length;n<r;n++){var a=e[n];if(a.data.name==t)return a}return null},t.prototype.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,n=0,r=e.length;n<r;n++){var a=e[n];if(a.data.name==t)return a}return null},t.prototype.getBounds=function(t,n,r){if(null==t)throw new Error("offset cannot be null.");if(null==n)throw new Error("size cannot be null.");for(var a=this.drawOrder,i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY,h=0,u=a.length;h<u;h++){var c=a[h],p=0,f=null,d=c.getAttachment();if(d instanceof e.RegionAttachment)p=8,f=e.Utils.setArraySize(r,p,0),d.computeWorldVertices(c.bone,f,0,2);else if(d instanceof e.MeshAttachment){var m=d;p=m.worldVerticesLength,f=e.Utils.setArraySize(r,p,0),m.computeWorldVertices(c,0,p,f,0,2)}if(null!=f)for(var g=0,v=f.length;g<v;g+=2){var y=f[g],x=f[g+1];i=Math.min(i,y),o=Math.min(o,x),s=Math.max(s,y),l=Math.max(l,x)}}t.set(i,o),n.set(s-i,l-o)},t.prototype.update=function(t){this.time+=t},Object.defineProperty(t.prototype,"flipX",{get:function(){return-1==this.scaleX},set:function(e){t.deprecatedWarning1||(t.deprecatedWarning1=!0,console.warn("Spine Deprecation Warning: `Skeleton.flipX/flipY` was deprecated, please use scaleX/scaleY")),this.scaleX=e?1:-1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"flipY",{get:function(){return-1==this.scaleY},set:function(e){t.deprecatedWarning1||(t.deprecatedWarning1=!0,console.warn("Spine Deprecation Warning: `Skeleton.flipX/flipY` was deprecated, please use scaleX/scaleY")),this.scaleY=e?1:-1},enumerable:!0,configurable:!0}),t.deprecatedWarning1=!1,t}(),e.Skeleton=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=[],this.polygons=[],this.polygonPool=new e.Pool((function(){return e.Utils.newFloatArray(16)}))}return t.prototype.update=function(t,n){if(null==t)throw new Error("skeleton cannot be null.");var r=this.boundingBoxes,a=this.polygons,i=this.polygonPool,o=t.slots,s=o.length;r.length=0,i.freeAll(a),a.length=0;for(var l=0;l<s;l++){var h=o[l],u=h.getAttachment();if(u instanceof e.BoundingBoxAttachment){var c=u;r.push(c);var p=i.obtain();p.length!=c.worldVerticesLength&&(p=e.Utils.newFloatArray(c.worldVerticesLength)),a.push(p),c.computeWorldVertices(h,0,c.worldVerticesLength,p,0,2)}}n?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)},t.prototype.aabbCompute=function(){for(var t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=Number.NEGATIVE_INFINITY,a=this.polygons,i=0,o=a.length;i<o;i++)for(var s=a[i],l=s,h=0,u=s.length;h<u;h+=2){var c=l[h],p=l[h+1];t=Math.min(t,c),e=Math.min(e,p),n=Math.max(n,c),r=Math.max(r,p)}this.minX=t,this.minY=e,this.maxX=n,this.maxY=r},t.prototype.aabbContainsPoint=function(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},t.prototype.aabbIntersectsSegment=function(t,e,n,r){var a=this.minX,i=this.minY,o=this.maxX,s=this.maxY;if(t<=a&&n<=a||e<=i&&r<=i||t>=o&&n>=o||e>=s&&r>=s)return!1;var l=(r-e)/(n-t),h=l*(a-t)+e;if(h>i&&h<s)return!0;if((h=l*(o-t)+e)>i&&h<s)return!0;var u=(i-e)/l+t;return u>a&&u<o||(u=(s-e)/l+t)>a&&u<o},t.prototype.aabbIntersectsSkeleton=function(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY},t.prototype.containsPoint=function(t,e){for(var n=this.polygons,r=0,a=n.length;r<a;r++)if(this.containsPointPolygon(n[r],t,e))return this.boundingBoxes[r];return null},t.prototype.containsPointPolygon=function(t,e,n){for(var r=t,a=t.length,i=a-2,o=!1,s=0;s<a;s+=2){var l=r[s+1],h=r[i+1];if(l<n&&h>=n||h<n&&l>=n){var u=r[s];u+(n-l)/(h-l)*(r[i]-u)<e&&(o=!o)}i=s}return o},t.prototype.intersectsSegment=function(t,e,n,r){for(var a=this.polygons,i=0,o=a.length;i<o;i++)if(this.intersectsSegmentPolygon(a[i],t,e,n,r))return this.boundingBoxes[i];return null},t.prototype.intersectsSegmentPolygon=function(t,e,n,r,a){for(var i=t,o=t.length,s=e-r,l=n-a,h=e*a-n*r,u=i[o-2],c=i[o-1],p=0;p<o;p+=2){var f=i[p],d=i[p+1],m=u*d-c*f,g=u-f,v=c-d,y=s*v-l*g,x=(h*g-s*m)/y;if((x>=u&&x<=f||x>=f&&x<=u)&&(x>=e&&x<=r||x>=r&&x<=e)){var M=(h*v-l*m)/y;if((M>=c&&M<=d||M>=d&&M<=c)&&(M>=n&&M<=a||M>=a&&M<=n))return!0}u=f,c=d}return!1},t.prototype.getPolygon=function(t){if(null==t)throw new Error("boundingBox cannot be null.");var e=this.boundingBoxes.indexOf(t);return-1==e?null:this.polygons[e]},t.prototype.getWidth=function(){return this.maxX-this.minX},t.prototype.getHeight=function(){return this.maxY-this.minY},t}(),e.SkeletonBounds=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(){this.triangulator=new e.Triangulator,this.clippingPolygon=[],this.clipOutput=[],this.clippedVertices=[],this.clippedTriangles=[],this.scratch=[]}return t.prototype.clipStart=function(n,r){if(null!=this.clipAttachment)return 0;this.clipAttachment=r;var a=r.worldVerticesLength,i=e.Utils.setArraySize(this.clippingPolygon,a);r.computeWorldVertices(n,0,a,i,0,2);var o=this.clippingPolygon;t.makeClockwise(o);for(var s=this.clippingPolygons=this.triangulator.decompose(o,this.triangulator.triangulate(o)),l=0,h=s.length;l<h;l++){var u=s[l];t.makeClockwise(u),u.push(u[0]),u.push(u[1])}return s.length},t.prototype.clipEndWithSlot=function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()},t.prototype.clipEnd=function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)},t.prototype.isClipping=function(){return null!=this.clipAttachment},t.prototype.clipTriangles=function(t,n,r,a,i,o,s,l){var h=this.clipOutput,u=this.clippedVertices,c=this.clippedTriangles,p=this.clippingPolygons,f=this.clippingPolygons.length,d=l?12:8,m=0;u.length=0,c.length=0;t:for(var g=0;g<a;g+=3)for(var v=r[g]<<1,y=t[v],x=t[v+1],M=i[v],E=i[v+1],b=t[v=r[g+1]<<1],w=t[v+1],T=i[v],S=i[v+1],R=t[v=r[g+2]<<1],A=t[v+1],P=i[v],C=i[v+1],I=0;I<f;I++){var V=u.length;if(!this.clip(y,x,b,w,R,A,p[I],h)){(F=e.Utils.setArraySize(u,V+3*d))[V]=y,F[V+1]=x,F[V+2]=o.r,F[V+3]=o.g,F[V+4]=o.b,F[V+5]=o.a,l?(F[V+6]=M,F[V+7]=E,F[V+8]=s.r,F[V+9]=s.g,F[V+10]=s.b,F[V+11]=s.a,F[V+12]=b,F[V+13]=w,F[V+14]=o.r,F[V+15]=o.g,F[V+16]=o.b,F[V+17]=o.a,F[V+18]=T,F[V+19]=S,F[V+20]=s.r,F[V+21]=s.g,F[V+22]=s.b,F[V+23]=s.a,F[V+24]=R,F[V+25]=A,F[V+26]=o.r,F[V+27]=o.g,F[V+28]=o.b,F[V+29]=o.a,F[V+30]=P,F[V+31]=C,F[V+32]=s.r,F[V+33]=s.g,F[V+34]=s.b,F[V+35]=s.a):(F[V+6]=M,F[V+7]=E,F[V+8]=b,F[V+9]=w,F[V+10]=o.r,F[V+11]=o.g,F[V+12]=o.b,F[V+13]=o.a,F[V+14]=T,F[V+15]=S,F[V+16]=R,F[V+17]=A,F[V+18]=o.r,F[V+19]=o.g,F[V+20]=o.b,F[V+21]=o.a,F[V+22]=P,F[V+23]=C),V=c.length,(Z=e.Utils.setArraySize(c,V+3))[V]=m,Z[V+1]=m+1,Z[V+2]=m+2,m+=3;continue t}var k=h.length;if(0!=k){for(var N=w-A,D=R-b,O=y-R,_=A-x,U=1/(N*O+D*(x-A)),Y=k>>1,X=this.clipOutput,F=e.Utils.setArraySize(u,V+Y*d),B=0;B<k;B+=2){var L=X[B],W=X[B+1];F[V]=L,F[V+1]=W,F[V+2]=o.r,F[V+3]=o.g,F[V+4]=o.b,F[V+5]=o.a;var j=L-R,q=W-A,G=(N*j+D*q)*U,H=(_*j+O*q)*U,z=1-G-H;F[V+6]=M*G+T*H+P*z,F[V+7]=E*G+S*H+C*z,l&&(F[V+8]=s.r,F[V+9]=s.g,F[V+10]=s.b,F[V+11]=s.a),V+=d}V=c.length;var Z=e.Utils.setArraySize(c,V+3*(Y-2));for(Y--,B=1;B<Y;B++)Z[V]=m,Z[V+1]=m+B,Z[V+2]=m+B+1,V+=3;m+=Y+1}}},t.prototype.clip=function(t,e,n,r,a,i,o,s){var l=s,h=!1,u=null;o.length%4>=2?(u=s,s=this.scratch):u=this.scratch,u.length=0,u.push(t),u.push(e),u.push(n),u.push(r),u.push(a),u.push(i),u.push(t),u.push(e),s.length=0;for(var c=o,p=o.length-4,f=0;;f+=2){for(var d=c[f],m=c[f+1],g=c[f+2],v=c[f+3],y=d-g,x=m-v,M=u,E=u.length-2,b=s.length,w=0;w<E;w+=2){var T=M[w],S=M[w+1],R=M[w+2],A=M[w+3],P=y*(A-v)-x*(R-g)>0;if(y*(S-v)-x*(T-g)>0){if(P){s.push(R),s.push(A);continue}var C=((V=R-T)*(m-S)-(I=A-S)*(d-T))/(I*(g-d)-V*(v-m));s.push(d+(g-d)*C),s.push(m+(v-m)*C)}else if(P){var I,V;C=((V=R-T)*(m-S)-(I=A-S)*(d-T))/(I*(g-d)-V*(v-m)),s.push(d+(g-d)*C),s.push(m+(v-m)*C),s.push(R),s.push(A)}h=!0}if(b==s.length)return l.length=0,!0;if(s.push(s[0]),s.push(s[1]),f==p)break;var k=s;(s=u).length=0,u=k}if(l!=s){l.length=0,f=0;for(var N=s.length-2;f<N;f++)l[f]=s[f]}else l.length=l.length-2;return h},t.makeClockwise=function(t){for(var e=t,n=t.length,r=e[n-2]*e[1]-e[0]*e[n-1],a=0,i=0,o=0,s=0,l=n-3;s<l;s+=2)a=e[s],i=e[s+1],o=e[s+2],r+=a*e[s+3]-o*i;if(!(r<0)){s=0;var h=n-2;for(l=n>>1;s<l;s+=2){var u=e[s],c=e[s+1],p=h-s;e[s]=e[p],e[s+1]=e[p+1],e[p]=u,e[p+1]=c}}},t}(),e.SkeletonClipping=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(){this.bones=[],this.slots=[],this.skins=[],this.events=[],this.animations=[],this.ikConstraints=[],this.transformConstraints=[],this.pathConstraints=[],this.fps=0}return t.prototype.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,n=0,r=e.length;n<r;n++)if(e[n].name==t)return n;return-1},t.prototype.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,n=0,r=e.length;n<r;n++)if(e[n].name==t)return n;return-1},t.prototype.findSkin=function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findEvent=function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findAnimation=function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,n=0,r=e.length;n<r;n++){var a=e[n];if(a.name==t)return a}return null},t.prototype.findPathConstraintIndex=function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,n=0,r=e.length;n<r;n++)if(e[n].name==t)return n;return-1},t}(),e.SkeletonData=n}(f||(f={})),function(t){!function(t){var e=function(){function e(t){this.scale=1,this.linkedMeshes=[],this.attachmentLoader=t}return e.prototype.readSkeletonData=function(n){var r=this.scale,a=new t.SkeletonData,i="string"==typeof n?JSON.parse(n):n,o=i.skeleton;if(null!=o&&(a.hash=o.hash,a.version=o.spine,a.width=o.width,a.height=o.height,a.fps=o.fps,a.imagesPath=o.images),i.bones)for(var s=0;s<i.bones.length;s++){var l=i.bones[s],h=null,u=this.getValue(l,"parent",null);if(null!=u&&null==(h=a.findBone(u)))throw new Error("Parent bone not found: "+u);(d=new t.BoneData(a.bones.length,l.name,h)).length=this.getValue(l,"length",0)*r,d.x=this.getValue(l,"x",0)*r,d.y=this.getValue(l,"y",0)*r,d.rotation=this.getValue(l,"rotation",0),d.scaleX=this.getValue(l,"scaleX",1),d.scaleY=this.getValue(l,"scaleY",1),d.shearX=this.getValue(l,"shearX",0),d.shearY=this.getValue(l,"shearY",0),d.transformMode=e.transformModeFromString(this.getValue(l,"transform","normal")),a.bones.push(d)}if(i.slots)for(s=0;s<i.slots.length;s++){var c=(S=i.slots[s]).name,p=S.bone,f=a.findBone(p);if(null==f)throw new Error("Slot bone not found: "+p);var d=new t.SlotData(a.slots.length,c,f),m=this.getValue(S,"color",null);null!=m&&d.color.setFromString(m);var g=this.getValue(S,"dark",null);null!=g&&(d.darkColor=new t.Color(1,1,1,1),d.darkColor.setFromString(g)),d.attachmentName=this.getValue(S,"attachment",null),d.blendMode=e.blendModeFromString(this.getValue(S,"blend","normal")),a.slots.push(d)}if(i.ik)for(s=0;s<i.ik.length;s++){var v=i.ik[s];(d=new t.IkConstraintData(v.name)).order=this.getValue(v,"order",0);for(var y=0;y<v.bones.length;y++){p=v.bones[y];if(null==(M=a.findBone(p)))throw new Error("IK bone not found: "+p);d.bones.push(M)}var x=v.target;if(d.target=a.findBone(x),null==d.target)throw new Error("IK target bone not found: "+x);d.bendDirection=this.getValue(v,"bendPositive",!0)?1:-1,d.mix=this.getValue(v,"mix",1),a.ikConstraints.push(d)}if(i.transform)for(s=0;s<i.transform.length;s++){v=i.transform[s];(d=new t.TransformConstraintData(v.name)).order=this.getValue(v,"order",0);for(y=0;y<v.bones.length;y++){p=v.bones[y];if(null==(M=a.findBone(p)))throw new Error("Transform constraint bone not found: "+p);d.bones.push(M)}x=v.target;if(d.target=a.findBone(x),null==d.target)throw new Error("Transform constraint target bone not found: "+x);d.local=this.getValue(v,"local",!1),d.relative=this.getValue(v,"relative",!1),d.offsetRotation=this.getValue(v,"rotation",0),d.offsetX=this.getValue(v,"x",0)*r,d.offsetY=this.getValue(v,"y",0)*r,d.offsetScaleX=this.getValue(v,"scaleX",0),d.offsetScaleY=this.getValue(v,"scaleY",0),d.offsetShearY=this.getValue(v,"shearY",0),d.rotateMix=this.getValue(v,"rotateMix",1),d.translateMix=this.getValue(v,"translateMix",1),d.scaleMix=this.getValue(v,"scaleMix",1),d.shearMix=this.getValue(v,"shearMix",1),a.transformConstraints.push(d)}if(i.path)for(s=0;s<i.path.length;s++){v=i.path[s];(d=new t.PathConstraintData(v.name)).order=this.getValue(v,"order",0);for(y=0;y<v.bones.length;y++){var M;p=v.bones[y];if(null==(M=a.findBone(p)))throw new Error("Transform constraint bone not found: "+p);d.bones.push(M)}x=v.target;if(d.target=a.findSlot(x),null==d.target)throw new Error("Path target slot not found: "+x);d.positionMode=e.positionModeFromString(this.getValue(v,"positionMode","percent")),d.spacingMode=e.spacingModeFromString(this.getValue(v,"spacingMode","length")),d.rotateMode=e.rotateModeFromString(this.getValue(v,"rotateMode","tangent")),d.offsetRotation=this.getValue(v,"rotation",0),d.position=this.getValue(v,"position",0),d.positionMode==t.PositionMode.Fixed&&(d.position*=r),d.spacing=this.getValue(v,"spacing",0),d.spacingMode!=t.SpacingMode.Length&&d.spacingMode!=t.SpacingMode.Fixed||(d.spacing*=r),d.rotateMix=this.getValue(v,"rotateMix",1),d.translateMix=this.getValue(v,"translateMix",1),a.pathConstraints.push(d)}if(i.skins)for(var E in i.skins){var b=i.skins[E],w=new t.Skin(E);for(var c in b){var T=a.findSlotIndex(c);if(-1==T)throw new Error("Slot not found: "+c);var S=b[c];for(var R in S){var A=this.readAttachment(S[R],w,T,R,a);null!=A&&w.addAttachment(T,R,A)}}a.skins.push(w),"default"==w.name&&(a.defaultSkin=w)}s=0;for(var P=this.linkedMeshes.length;s<P;s++){var C=this.linkedMeshes[s];if(null==(w=null==C.skin?a.defaultSkin:a.findSkin(C.skin)))throw new Error("Skin not found: "+C.skin);var I=w.getAttachment(C.slotIndex,C.parent);if(null==I)throw new Error("Parent mesh not found: "+C.parent);C.mesh.setParentMesh(I)}if(this.linkedMeshes.length=0,i.events)for(var V in i.events){var k=i.events[V];(d=new t.EventData(V)).intValue=this.getValue(k,"int",0),d.floatValue=this.getValue(k,"float",0),d.stringValue=this.getValue(k,"string",""),d.audioPath=this.getValue(k,"audio",null),null!=d.audioPath&&(d.volume=this.getValue(k,"volume",1),d.balance=this.getValue(k,"balance",0)),a.events.push(d)}if(i.animations)for(var N in i.animations){var D=i.animations[N];this.readAnimation(D,N,a)}return a},e.prototype.readAttachment=function(e,r,a,i,o){var s=this.scale;switch(i=this.getValue(e,"name",i),this.getValue(e,"type","region")){case"region":var l=this.getValue(e,"path",i),h=this.attachmentLoader.newRegionAttachment(r,i,l);return null==h?null:(h.path=l,h.x=this.getValue(e,"x",0)*s,h.y=this.getValue(e,"y",0)*s,h.scaleX=this.getValue(e,"scaleX",1),h.scaleY=this.getValue(e,"scaleY",1),h.rotation=this.getValue(e,"rotation",0),h.width=e.width*s,h.height=e.height*s,null!=(E=this.getValue(e,"color",null))&&h.color.setFromString(E),h);case"boundingbox":var u=this.attachmentLoader.newBoundingBoxAttachment(r,i);return null==u?null:(this.readVertices(e,u,e.vertexCount<<1),null!=(E=this.getValue(e,"color",null))&&u.color.setFromString(E),u);case"mesh":case"linkedmesh":l=this.getValue(e,"path",i);var c=this.attachmentLoader.newMeshAttachment(r,i,l);if(null==c)return null;c.path=l,null!=(E=this.getValue(e,"color",null))&&c.color.setFromString(E);var p=this.getValue(e,"parent",null);if(null!=p)return c.inheritDeform=this.getValue(e,"deform",!0),this.linkedMeshes.push(new n(c,this.getValue(e,"skin",null),a,p)),c;var f=e.uvs;return this.readVertices(e,c,f.length),c.triangles=e.triangles,c.regionUVs=f,c.hullLength=2*this.getValue(e,"hull",0),c;case"path":if(null==(l=this.attachmentLoader.newPathAttachment(r,i)))return null;l.closed=this.getValue(e,"closed",!1),l.constantSpeed=this.getValue(e,"constantSpeed",!0);var d=e.vertexCount;this.readVertices(e,l,d<<1);for(var m=t.Utils.newArray(d/3,0),g=0;g<e.lengths.length;g++)m[g]=e.lengths[g]*s;return l.lengths=m,null!=(E=this.getValue(e,"color",null))&&l.color.setFromString(E),l;case"point":var v=this.attachmentLoader.newPointAttachment(r,i);return null==v?null:(v.x=this.getValue(e,"x",0)*s,v.y=this.getValue(e,"y",0)*s,v.rotation=this.getValue(e,"rotation",0),null!=(E=this.getValue(e,"color",null))&&v.color.setFromString(E),v);case"clipping":var y=this.attachmentLoader.newClippingAttachment(r,i);if(null==y)return null;var x=this.getValue(e,"end",null);if(null!=x){var M=o.findSlot(x);if(null==M)throw new Error("Clipping end slot not found: "+x);y.endSlot=M}var E;d=e.vertexCount;return this.readVertices(e,y,d<<1),null!=(E=this.getValue(e,"color",null))&&y.color.setFromString(E),y}return null},e.prototype.readVertices=function(e,n,r){var a=this.scale;n.worldVerticesLength=r;var i=e.vertices;if(r!=i.length){var o=[],s=[];for(c=0,p=i.length;c<p;){var l=i[c++];s.push(l);for(var h=c+4*l;c<h;c+=4)s.push(i[c]),o.push(i[c+1]*a),o.push(i[c+2]*a),o.push(i[c+3])}n.bones=s,n.vertices=t.Utils.toFloatArray(o)}else{var u=t.Utils.toFloatArray(i);if(1!=a)for(var c=0,p=i.length;c<p;c++)u[c]*=a;n.vertices=u}},e.prototype.readAnimation=function(e,n,r){var a=this.scale,i=[],o=0;if(e.slots)for(var s in e.slots){var l=e.slots[s];if(-1==(Z=r.findSlotIndex(s)))throw new Error("Slot not found: "+s);for(var h in l){var u=l[h];if("attachment"==h){(M=new t.AttachmentTimeline(u.length)).slotIndex=Z;for(var c=0,p=0;p<u.length;p++){var f=u[p];M.setFrame(c++,f.time,f.name)}i.push(M),o=Math.max(o,M.frames[M.getFrameCount()-1])}else if("color"==h){(M=new t.ColorTimeline(u.length)).slotIndex=Z;for(c=0,p=0;p<u.length;p++){f=u[p];var d=new t.Color;d.setFromString(f.color||"ffffffff"),M.setFrame(c,f.time,d.r,d.g,d.b,d.a),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.ColorTimeline.ENTRIES])}else{if("twoColor"!=h)throw new Error("Invalid timeline type for a slot: "+h+" ("+s+")");(M=new t.TwoColorTimeline(u.length)).slotIndex=Z;for(c=0,p=0;p<u.length;p++){f=u[p];var m=new t.Color,g=new t.Color;m.setFromString(f.light),g.setFromString(f.dark),M.setFrame(c,f.time,m.r,m.g,m.b,m.a,g.r,g.g,g.b),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.TwoColorTimeline.ENTRIES])}}}if(e.bones)for(var v in e.bones){var y=e.bones[v],x=r.findBoneIndex(v);if(-1==x)throw new Error("Bone not found: "+v);for(var h in y){u=y[h];if("rotate"===h){(M=new t.RotateTimeline(u.length)).boneIndex=x;for(c=0,p=0;p<u.length;p++){f=u[p];M.setFrame(c,f.time,f.angle),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.RotateTimeline.ENTRIES])}else{if("translate"!==h&&"scale"!==h&&"shear"!==h)throw new Error("Invalid timeline type for a bone: "+h+" ("+v+")");var M=null,E=1;"scale"===h?M=new t.ScaleTimeline(u.length):"shear"===h?M=new t.ShearTimeline(u.length):(M=new t.TranslateTimeline(u.length),E=a),M.boneIndex=x;for(c=0,p=0;p<u.length;p++){f=u[p];var b=this.getValue(f,"x",0),w=this.getValue(f,"y",0);M.setFrame(c,f.time,b*E,w*E),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.TranslateTimeline.ENTRIES])}}}if(e.ik)for(var T in e.ik){var S=e.ik[T],R=r.findIkConstraint(T);(M=new t.IkConstraintTimeline(S.length)).ikConstraintIndex=r.ikConstraints.indexOf(R);for(c=0,p=0;p<S.length;p++){f=S[p];M.setFrame(c,f.time,this.getValue(f,"mix",1),this.getValue(f,"bendPositive",!0)?1:-1,this.getValue(f,"compress",!1),this.getValue(f,"stretch",!1)),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.IkConstraintTimeline.ENTRIES])}if(e.transform)for(var T in e.transform){S=e.transform[T],R=r.findTransformConstraint(T);(M=new t.TransformConstraintTimeline(S.length)).transformConstraintIndex=r.transformConstraints.indexOf(R);for(c=0,p=0;p<S.length;p++){f=S[p];M.setFrame(c,f.time,this.getValue(f,"rotateMix",1),this.getValue(f,"translateMix",1),this.getValue(f,"scaleMix",1),this.getValue(f,"shearMix",1)),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.TransformConstraintTimeline.ENTRIES])}if(e.paths)for(var T in e.paths){S=e.paths[T];var A=r.findPathConstraintIndex(T);if(-1==A)throw new Error("Path constraint not found: "+T);var P=r.pathConstraints[A];for(var h in S){u=S[h];if("position"===h||"spacing"===h){M=null,E=1;"spacing"===h?(M=new t.PathConstraintSpacingTimeline(u.length),P.spacingMode!=t.SpacingMode.Length&&P.spacingMode!=t.SpacingMode.Fixed||(E=a)):(M=new t.PathConstraintPositionTimeline(u.length),P.positionMode==t.PositionMode.Fixed&&(E=a)),M.pathConstraintIndex=A;for(c=0,p=0;p<u.length;p++){f=u[p];M.setFrame(c,f.time,this.getValue(f,h,0)*E),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.PathConstraintPositionTimeline.ENTRIES])}else if("mix"===h){(M=new t.PathConstraintMixTimeline(u.length)).pathConstraintIndex=A;for(c=0,p=0;p<u.length;p++){f=u[p];M.setFrame(c,f.time,this.getValue(f,"rotateMix",1),this.getValue(f,"translateMix",1)),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[(M.getFrameCount()-1)*t.PathConstraintMixTimeline.ENTRIES])}}}if(e.deform)for(var C in e.deform){var I=e.deform[C],V=r.findSkin(C);if(null==V)throw new Error("Skin not found: "+C);for(var s in I){l=I[s];if(-1==(Z=r.findSlotIndex(s)))throw new Error("Slot not found: "+l.name);for(var h in l){u=l[h];var k=V.getAttachment(Z,h);if(null==k)throw new Error("Deform attachment not found: "+u.name);var N=null!=k.bones,D=k.vertices,O=N?D.length/3*2:D.length;(M=new t.DeformTimeline(u.length)).slotIndex=Z,M.attachment=k;c=0;for(var _=0;_<u.length;_++){f=u[_];var U=void 0,Y=this.getValue(f,"vertices",null);if(null==Y)U=N?t.Utils.newFloatArray(O):D;else{U=t.Utils.newFloatArray(O);var X=this.getValue(f,"offset",0);if(t.Utils.arrayCopy(Y,0,U,X,Y.length),1!=a)for(var F=(p=X)+Y.length;p<F;p++)U[p]*=a;if(!N)for(p=0;p<O;p++)U[p]+=D[p]}M.setFrame(c,f.time,U),this.readCurve(f,M,c),c++}i.push(M),o=Math.max(o,M.frames[M.getFrameCount()-1])}}}var B=e.drawOrder;if(null==B&&(B=e.draworder),null!=B){M=new t.DrawOrderTimeline(B.length);var L=r.slots.length;for(c=0,_=0;_<B.length;_++){var W=B[_],j=null,q=this.getValue(W,"offsets",null);if(null!=q){j=t.Utils.newArray(L,-1);var G=t.Utils.newArray(L-q.length,0),H=0,z=0;for(p=0;p<q.length;p++){var Z,J=q[p];if(-1==(Z=r.findSlotIndex(J.slot)))throw new Error("Slot not found: "+J.slot);for(;H!=Z;)G[z++]=H++;j[H+J.offset]=H++}for(;H<L;)G[z++]=H++;for(p=L-1;p>=0;p--)-1==j[p]&&(j[p]=G[--z])}M.setFrame(c++,W.time,j)}i.push(M),o=Math.max(o,M.frames[M.getFrameCount()-1])}if(e.events){for(M=new t.EventTimeline(e.events.length),c=0,p=0;p<e.events.length;p++){var Q=e.events[p],K=r.findEvent(Q.name);if(null==K)throw new Error("Event not found: "+Q.name);var $=new t.Event(t.Utils.toSinglePrecision(Q.time),K);$.intValue=this.getValue(Q,"int",K.intValue),$.floatValue=this.getValue(Q,"float",K.floatValue),$.stringValue=this.getValue(Q,"string",K.stringValue),null!=$.data.audioPath&&($.volume=this.getValue(Q,"volume",1),$.balance=this.getValue(Q,"balance",0)),M.setFrame(c++,$)}i.push(M),o=Math.max(o,M.frames[M.getFrameCount()-1])}if(isNaN(o))throw new Error("Error while parsing animation, duration is NaN");r.animations.push(new t.Animation(n,i,o))},e.prototype.readCurve=function(t,e,n){if(t.curve)if("stepped"===t.curve)e.setStepped(n);else if("[object Array]"===Object.prototype.toString.call(t.curve)){var r=t.curve;e.setCurve(n,r[0],r[1],r[2],r[3])}},e.prototype.getValue=function(t,e,n){return void 0!==t[e]?t[e]:n},e.blendModeFromString=function(e){if("normal"==(e=e.toLowerCase()))return t.BlendMode.Normal;if("additive"==e)return t.BlendMode.Additive;if("multiply"==e)return t.BlendMode.Multiply;if("screen"==e)return t.BlendMode.Screen;throw new Error("Unknown blend mode: "+e)},e.positionModeFromString=function(e){if("fixed"==(e=e.toLowerCase()))return t.PositionMode.Fixed;if("percent"==e)return t.PositionMode.Percent;throw new Error("Unknown position mode: "+e)},e.spacingModeFromString=function(e){if("length"==(e=e.toLowerCase()))return t.SpacingMode.Length;if("fixed"==e)return t.SpacingMode.Fixed;if("percent"==e)return t.SpacingMode.Percent;throw new Error("Unknown position mode: "+e)},e.rotateModeFromString=function(e){if("tangent"==(e=e.toLowerCase()))return t.RotateMode.Tangent;if("chain"==e)return t.RotateMode.Chain;if("chainscale"==e)return t.RotateMode.ChainScale;throw new Error("Unknown rotate mode: "+e)},e.transformModeFromString=function(e){if("normal"==(e=e.toLowerCase()))return t.TransformMode.Normal;if("onlytranslation"==e)return t.TransformMode.OnlyTranslation;if("norotationorreflection"==e)return t.TransformMode.NoRotationOrReflection;if("noscale"==e)return t.TransformMode.NoScale;if("noscaleorreflection"==e)return t.TransformMode.NoScaleOrReflection;throw new Error("Unknown transform mode: "+e)},e}();t.SkeletonJson=e;var n=function(t,e,n,r){this.mesh=t,this.skin=e,this.slotIndex=n,this.parent=r}}(t.core||(t.core={}))}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t){if(this.attachments=[],null==t)throw new Error("name cannot be null.");this.name=t}return t.prototype.addAttachment=function(t,e,n){if(null==n)throw new Error("attachment cannot be null.");var r=this.attachments;t>=r.length&&(r.length=t+1),r[t]||(r[t]={}),r[t][e]=n},t.prototype.getAttachment=function(t,e){var n=this.attachments[t];return n?n[e]:null},t.prototype.attachAll=function(t,e){for(var n=0,r=0;r<t.slots.length;r++){var a=t.slots[r],i=a.getAttachment();if(i&&n<e.attachments.length){var o=e.attachments[n];for(var s in o)if(i==o[s]){var l=this.getAttachment(n,s);null!=l&&a.setAttachment(l);break}}n++}},t}(),e.Skin=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t,n){if(this.attachmentVertices=[],null==t)throw new Error("data cannot be null.");if(null==n)throw new Error("bone cannot be null.");this.data=t,this.bone=n,this.color=new e.Color,this.darkColor=null==t.darkColor?null:new e.Color,this.setToSetupPose(),this.blendMode=this.data.blendMode}return t.prototype.getAttachment=function(){return this.attachment},t.prototype.setAttachment=function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.attachmentVertices.length=0)},t.prototype.setAttachmentTime=function(t){this.attachmentTime=this.bone.skeleton.time-t},t.prototype.getAttachmentTime=function(){return this.bone.skeleton.time-this.attachmentTime},t.prototype.setToSetupPose=function(){this.color.setFromColor(this.data.color),null!=this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),null==this.data.attachmentName?this.attachment=null:(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName)))},t}(),e.Slot=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t,n,r){if(this.color=new e.Color(1,1,1,1),t<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");if(null==r)throw new Error("boneData cannot be null.");this.index=t,this.name=n,this.boneData=r},e.SlotData=n}(f||(f={})),function(t){!function(t){var e,n,r=function(){function t(t){this._image=t}return t.prototype.getImage=function(){return this._image},t.filterFromString=function(t){switch(t.toLowerCase()){case"nearest":return e.Nearest;case"linear":return e.Linear;case"mipmap":return e.MipMap;case"mipmapnearestnearest":return e.MipMapNearestNearest;case"mipmaplinearnearest":return e.MipMapLinearNearest;case"mipmapnearestlinear":return e.MipMapNearestLinear;case"mipmaplinearlinear":return e.MipMapLinearLinear;default:throw new Error("Unknown texture filter "+t)}},t.wrapFromString=function(t){switch(t.toLowerCase()){case"mirroredtepeat":return n.MirroredRepeat;case"clamptoedge":return n.ClampToEdge;case"repeat":return n.Repeat;default:throw new Error("Unknown texture wrap "+t)}},t}();t.Texture=r,function(t){t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear"}(e=t.TextureFilter||(t.TextureFilter={})),function(t){t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat"}(n=t.TextureWrap||(t.TextureWrap={}));var a=function(){function t(){this.size=null}return Object.defineProperty(t.prototype,"width",{get:function(){var t=this.texture;return"3"==c.VERSION[0]?t.crop.width:t.trim?t.trim.width:t.orig.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){var t=this.texture;return"3"==c.VERSION[0]?t.crop.height:t.trim?t.trim.height:t.orig.height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"u",{get:function(){return this.texture._uvs.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"v",{get:function(){return this.texture._uvs.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"u2",{get:function(){return this.texture._uvs.x2},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"v2",{get:function(){return this.texture._uvs.y2},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetX",{get:function(){var t=this.texture;return t.trim?t.trim.x:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetY",{get:function(){return console.warn("Deprecation Warning: @Hackerham: I guess, if you are using PIXI-SPINE ATLAS region.offsetY, you want a texture, right? Use region.texture from now on."),this.spineOffsetY},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pixiOffsetY",{get:function(){var t=this.texture;return t.trim?t.trim.y:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"spineOffsetY",{get:function(){var t=this.texture;return this.originalHeight-this.height-(t.trim?t.trim.y:0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"originalWidth",{get:function(){var t=this.texture;return"3"==c.VERSION[0]?t.trim?t.trim.width:t.crop.width:t.orig.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"originalHeight",{get:function(){var t=this.texture;return"3"==c.VERSION[0]?t.trim?t.trim.height:t.crop.height:t.orig.height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"x",{get:function(){return this.texture.frame.x},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.texture.frame.y},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotate",{get:function(){return 0!==this.texture.rotate},enumerable:!0,configurable:!0}),t}();t.TextureRegion=a}(t.core||(t.core={}))}(f||(f={})),function(t){!function(t){var e=function(){function e(t,e,n){this.pages=[],this.regions=[],t&&this.addSpineAtlas(t,e,n)}return e.prototype.addTexture=function(e,n){for(var i=this.pages,o=null,s=0;s<i.length;s++)if(i[s].baseTexture===n.baseTexture){o=i[s];break}if(null===o){(o=new r).name="texturePage";var l=n.baseTexture;o.width=l.realWidth,o.height=l.realHeight,o.baseTexture=l,o.minFilter=o.magFilter=t.TextureFilter.Nearest,o.uWrap=t.TextureWrap.ClampToEdge,o.vWrap=t.TextureWrap.ClampToEdge,i.push(o)}var h=new a;return h.name=e,h.page=o,h.texture=n,h.index=-1,this.regions.push(h),h},e.prototype.addTextureHash=function(t,e){for(var n in t)t.hasOwnProperty(n)&&this.addTexture(e&&-1!==n.indexOf(".")?n.substr(0,n.lastIndexOf(".")):n,t[n])},e.prototype.addSpineAtlas=function(t,e,n){return this.load(t,e,n)},e.prototype.load=function(e,i,o){var s=this;if(null==i)throw new Error("textureLoader cannot be null.");var l=new n(e),h=new Array(4),u=null,p=function(){for(;;){var e=l.readLine();if(null==e)return o&&o(s);if(0==(e=e.trim()).length)u=null;else{if(!u){(u=new r).name=e,2==l.readTuple(h)&&(u.width=parseInt(h[0]),u.height=parseInt(h[1]),l.readTuple(h)),l.readTuple(h),u.minFilter=t.Texture.filterFromString(h[0]),u.magFilter=t.Texture.filterFromString(h[1]);var n=l.readValue();u.uWrap=t.TextureWrap.ClampToEdge,u.vWrap=t.TextureWrap.ClampToEdge,"x"==n?u.uWrap=t.TextureWrap.Repeat:"y"==n?u.vWrap=t.TextureWrap.Repeat:"xy"==n&&(u.uWrap=u.vWrap=t.TextureWrap.Repeat),i(e,(function(t){if(null===t)return s.pages.splice(s.pages.indexOf(u),1),o&&o(null);u.baseTexture=t,t.hasLoaded||(t.width=u.width,t.height=u.height),s.pages.push(u),u.setFilters(),u.width&&u.height||(u.width=t.realWidth,u.height=t.realHeight,u.width&&u.height||console.log("ERROR spine atlas page "+u.name+": meshes wont work if you dont specify size in atlas (http://www.html5gamedevs.com/topic/18888-pixi-spines-and-meshes/?p=107121)")),p()})),s.pages.push(u);break}var f=new a;f.name=e,f.page=u;var d="true"==l.readValue()?6:0;l.readTuple(h);var m=parseInt(h[0]),g=parseInt(h[1]);l.readTuple(h);var v=parseInt(h[0]),y=parseInt(h[1]),x=u.baseTexture.resolution;m/=x,g/=x,v/=x,y/=x;var M=new c.Rectangle(m,g,d?y:v,d?v:y);4==l.readTuple(h)&&4==l.readTuple(h)&&l.readTuple(h);var E=parseInt(h[0])/x,b=parseInt(h[1])/x;l.readTuple(h);var w=parseInt(h[0])/x,T=parseInt(h[1])/x,S=new c.Rectangle(0,0,E,b),R=new c.Rectangle(w,b-y-T,v,y);if("3"!=c.VERSION[0])f.texture=new c.Texture(f.page.baseTexture,M,S,R,d);else{var A=new c.Rectangle(m,g,v,y),P=A.clone();R.width=E,R.height=b,f.texture=new c.Texture(f.page.baseTexture,A,P,R,d)}f.index=parseInt(l.readValue()),f.texture._updateUvs(),s.regions.push(f)}}};p()},e.prototype.findRegion=function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null},e.prototype.dispose=function(){for(var t=0;t<this.pages.length;t++)this.pages[t].baseTexture.dispose()},e}();t.TextureAtlas=e;var n=function(){function t(t){this.index=0,this.lines=t.split(/\r\n|\r|\n/)}return t.prototype.readLine=function(){return this.index>=this.lines.length?null:this.lines[this.index++]},t.prototype.readValue=function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()},t.prototype.readTuple=function(t){var e=this.readLine(),n=e.indexOf(":");if(-1==n)throw new Error("Invalid line: "+e);for(var r=0,a=n+1;r<3;r++){var i=e.indexOf(",",a);if(-1==i)break;t[r]=e.substr(a,i-a).trim(),a=i+1}return t[r]=e.substring(a).trim(),r+1},t}(),r=function(){function e(){}return e.prototype.setFilters=function(){var e=this.baseTexture,n=this.minFilter;n==t.TextureFilter.Linear?e.scaleMode=c.SCALE_MODES.LINEAR:this.minFilter==t.TextureFilter.Nearest?e.scaleMode=c.SCALE_MODES.NEAREST:(e.mipmap=!0,n==t.TextureFilter.MipMapNearestNearest?e.scaleMode=c.SCALE_MODES.NEAREST:e.scaleMode=c.SCALE_MODES.LINEAR)},e}();t.TextureAtlasPage=r;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return d(e,t),e}(t.TextureRegion);t.TextureAtlasRegion=a}(t.core||(t.core={}))}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t,n){if(this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new e.Vector2,null==t)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=t,this.rotateMix=t.rotateMix,this.translateMix=t.translateMix,this.scaleMix=t.scaleMix,this.shearMix=t.shearMix,this.bones=[];for(var r=0;r<t.bones.length;r++)this.bones.push(n.findBone(t.bones[r].name));this.target=n.findBone(t.target.name)}return t.prototype.apply=function(){this.update()},t.prototype.update=function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()},t.prototype.applyAbsoluteWorld=function(){for(var t=this.rotateMix,n=this.translateMix,r=this.scaleMix,a=this.shearMix,i=this.target,o=i.matrix,s=o.a,l=o.c,h=o.b,u=o.d,c=s*u-l*h>0?e.MathUtils.degRad:-e.MathUtils.degRad,p=this.data.offsetRotation*c,f=this.data.offsetShearY*c,d=this.bones,m=0,g=d.length;m<g;m++){var v=d[m],y=!1,x=v.matrix;if(0!=t){var M=x.a,E=x.c,b=x.b,w=x.d;(C=Math.atan2(h,s)-Math.atan2(b,M)+p)>e.MathUtils.PI?C-=e.MathUtils.PI2:C<-e.MathUtils.PI&&(C+=e.MathUtils.PI2),C*=t;var T=Math.cos(C),S=Math.sin(C);x.a=T*M-S*b,x.c=T*E-S*w,x.b=S*M+T*b,x.d=S*E+T*w,y=!0}if(0!=n){var R=this.temp;i.localToWorld(R.set(this.data.offsetX,this.data.offsetY)),x.tx+=(R.x-x.tx)*n,x.ty+=(R.y-x.ty)*n,y=!0}if(r>0){var A=Math.sqrt(x.a*x.a+x.b*x.b),P=Math.sqrt(s*s+h*h);A>1e-5&&(A=(A+(P-A+this.data.offsetScaleX)*r)/A),x.a*=A,x.b*=A,A=Math.sqrt(x.c*x.c+x.d*x.d),P=Math.sqrt(l*l+u*u),A>1e-5&&(A=(A+(P-A+this.data.offsetScaleY)*r)/A),x.c*=A,x.d*=A,y=!0}if(a>0){E=x.c,w=x.d;var C,I=Math.atan2(w,E);(C=Math.atan2(u,l)-Math.atan2(h,s)-(I-Math.atan2(x.b,x.a)))>e.MathUtils.PI?C-=e.MathUtils.PI2:C<-e.MathUtils.PI&&(C+=e.MathUtils.PI2),C=I+(C+f)*a,A=Math.sqrt(E*E+w*w),x.c=Math.cos(C)*A,x.d=Math.sin(C)*A,y=!0}y&&(v.appliedValid=!1)}},t.prototype.applyRelativeWorld=function(){for(var t=this.rotateMix,n=this.translateMix,r=this.scaleMix,a=this.shearMix,i=this.target,o=i.matrix,s=o.a,l=o.c,h=o.b,u=o.d,c=s*u-l*h>0?e.MathUtils.degRad:-e.MathUtils.degRad,p=this.data.offsetRotation*c,f=this.data.offsetShearY*c,d=this.bones,m=0,g=d.length;m<g;m++){var v,y=d[m],x=!1,M=y.matrix;if(0!=t){var E=M.a,b=M.c,w=M.b,T=M.d;(v=Math.atan2(h,s)+p)>e.MathUtils.PI?v-=e.MathUtils.PI2:v<-e.MathUtils.PI&&(v+=e.MathUtils.PI2),v*=t;var S=Math.cos(v),R=Math.sin(v);M.a=S*E-R*w,M.c=S*b-R*T,M.b=R*E+S*w,M.d=R*b+S*T,x=!0}if(0!=n){var A=this.temp;i.localToWorld(A.set(this.data.offsetX,this.data.offsetY)),M.tx+=A.x*n,M.ty+=A.y*n,x=!0}if(r>0){var P=(Math.sqrt(s*s+h*h)-1+this.data.offsetScaleX)*r+1;M.a*=P,M.b*=P,P=(Math.sqrt(l*l+u*u)-1+this.data.offsetScaleY)*r+1,M.c*=P,M.d*=P,x=!0}if(a>0)(v=Math.atan2(u,l)-Math.atan2(h,s))>e.MathUtils.PI?v-=e.MathUtils.PI2:v<-e.MathUtils.PI&&(v+=e.MathUtils.PI2),b=M.c,T=M.d,v=Math.atan2(T,b)+(v-e.MathUtils.PI/2+f)*a,P=Math.sqrt(b*b+T*T),M.c=Math.cos(v)*P,M.d=Math.sin(v)*P,x=!0;x&&(y.appliedValid=!1)}},t.prototype.applyAbsoluteLocal=function(){var t=this.rotateMix,e=this.translateMix,n=this.scaleMix,r=this.shearMix,a=this.target;a.appliedValid||a.updateAppliedTransform();for(var i=this.bones,o=0,s=i.length;o<s;o++){var l=i[o];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;if(0!=t){var u=a.arotation-h+this.data.offsetRotation;h+=(u-=360*(16384-(16384.499999999996-u/360|0)))*t}var c=l.ax,p=l.ay;0!=e&&(c+=(a.ax-c+this.data.offsetX)*e,p+=(a.ay-p+this.data.offsetY)*e);var f=l.ascaleX,d=l.ascaleY;n>0&&(f>1e-5&&(f=(f+(a.ascaleX-f+this.data.offsetScaleX)*n)/f),d>1e-5&&(d=(d+(a.ascaleY-d+this.data.offsetScaleY)*n)/d));var m=l.ashearY;r>0&&(u=a.ashearY-m+this.data.offsetShearY,u-=360*(16384-(16384.499999999996-u/360|0)),l.shearY+=u*r),l.updateWorldTransformWith(c,p,h,f,d,l.ashearX,m)}},t.prototype.applyRelativeLocal=function(){var t=this.rotateMix,e=this.translateMix,n=this.scaleMix,r=this.shearMix,a=this.target;a.appliedValid||a.updateAppliedTransform();for(var i=this.bones,o=0,s=i.length;o<s;o++){var l=i[o];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;0!=t&&(h+=(a.arotation+this.data.offsetRotation)*t);var u=l.ax,c=l.ay;0!=e&&(u+=(a.ax+this.data.offsetX)*e,c+=(a.ay+this.data.offsetY)*e);var p=l.ascaleX,f=l.ascaleY;n>0&&(p>1e-5&&(p*=(a.ascaleX-1+this.data.offsetScaleX)*n+1),f>1e-5&&(f*=(a.ascaleY-1+this.data.offsetScaleY)*n+1));var d=l.ashearY;r>0&&(d+=(a.ashearY+this.data.offsetShearY)*r),l.updateWorldTransformWith(u,c,h,p,f,l.ashearX,d)}},t.prototype.getOrder=function(){return this.data.order},t}(),e.TransformConstraint=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){if(this.order=0,this.bones=[],this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.offsetRotation=0,this.offsetX=0,this.offsetY=0,this.offsetScaleX=0,this.offsetScaleY=0,this.offsetShearY=0,this.relative=!1,this.local=!1,null==t)throw new Error("name cannot be null.");this.name=t},e.TransformConstraintData=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(){this.convexPolygons=[],this.convexPolygonsIndices=[],this.indicesArray=[],this.isConcaveArray=[],this.triangles=[],this.polygonPool=new e.Pool((function(){return[]})),this.polygonIndicesPool=new e.Pool((function(){return[]}))}return t.prototype.triangulate=function(e){var n=e,r=e.length>>1,a=this.indicesArray;a.length=0;for(var i=0;i<r;i++)a[i]=i;var o=this.isConcaveArray;o.length=0,i=0;for(var s=r;i<s;++i)o[i]=t.isConcave(i,r,n,a);var l=this.triangles;for(l.length=0;r>3;){for(var h=r-1,u=(i=0,1);;){t:if(!o[i]){for(var c=a[h]<<1,p=a[i]<<1,f=a[u]<<1,d=n[c],m=n[c+1],g=n[p],v=n[p+1],y=n[f],x=n[f+1],M=(u+1)%r;M!=h;M=(M+1)%r)if(o[M]){var E=a[M]<<1,b=n[E],w=n[E+1];if(t.positiveArea(y,x,d,m,b,w)&&t.positiveArea(d,m,g,v,b,w)&&t.positiveArea(g,v,y,x,b,w))break t}break}if(0==u){do{if(!o[i])break;i--}while(i>0);break}h=i,i=u,u=(u+1)%r}l.push(a[(r+i-1)%r]),l.push(a[i]),l.push(a[(i+1)%r]),a.splice(i,1),o.splice(i,1);var T=(--r+i-1)%r,S=i==r?0:i;o[T]=t.isConcave(T,r,n,a),o[S]=t.isConcave(S,r,n,a)}return 3==r&&(l.push(a[2]),l.push(a[0]),l.push(a[1])),l},t.prototype.decompose=function(e,n){var r=e,a=this.convexPolygons;this.polygonPool.freeAll(a),a.length=0;var i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;var o=this.polygonIndicesPool.obtain();o.length=0;var s=this.polygonPool.obtain();s.length=0;for(var l=-1,h=0,u=0,c=n.length;u<c;u+=3){var p=n[u]<<1,f=n[u+1]<<1,d=n[u+2]<<1,m=r[p],g=r[p+1],v=r[f],y=r[f+1],x=r[d],M=r[d+1],E=!1;if(l==p){var b=s.length-4,w=t.winding(s[b],s[b+1],s[b+2],s[b+3],x,M),T=t.winding(x,M,s[0],s[1],s[2],s[3]);w==h&&T==h&&(s.push(x),s.push(M),o.push(d),E=!0)}E||(s.length>0?(a.push(s),i.push(o)):(this.polygonPool.free(s),this.polygonIndicesPool.free(o)),(s=this.polygonPool.obtain()).length=0,s.push(m),s.push(g),s.push(v),s.push(y),s.push(x),s.push(M),(o=this.polygonIndicesPool.obtain()).length=0,o.push(p),o.push(f),o.push(d),h=t.winding(m,g,v,y,x,M),l=p)}for(s.length>0&&(a.push(s),i.push(o)),u=0,c=a.length;u<c;u++)if(0!=(o=i[u]).length)for(var S=o[0],R=o[o.length-1],A=(s=a[u])[b=s.length-4],P=s[b+1],C=s[b+2],I=s[b+3],V=s[0],k=s[1],N=s[2],D=s[3],O=t.winding(A,P,C,I,V,k),_=0;_<c;_++)if(_!=u){var U=i[_];if(3==U.length){var Y=U[0],X=U[1],F=U[2],B=a[_];x=B[B.length-2],M=B[B.length-1],Y==S&&X==R&&(w=t.winding(A,P,C,I,x,M),T=t.winding(x,M,V,k,N,D),w==O&&T==O&&(B.length=0,U.length=0,s.push(x),s.push(M),o.push(F),A=C,P=I,C=x,I=M,_=0))}}for(u=a.length-1;u>=0;u--)0==(s=a[u]).length&&(a.splice(u,1),this.polygonPool.free(s),o=i[u],i.splice(u,1),this.polygonIndicesPool.free(o));return a},t.isConcave=function(t,e,n,r){var a=r[(e+t-1)%e]<<1,i=r[t]<<1,o=r[(t+1)%e]<<1;return!this.positiveArea(n[a],n[a+1],n[i],n[i+1],n[o],n[o+1])},t.positiveArea=function(t,e,n,r,a,i){return t*(i-r)+n*(e-i)+a*(r-e)>=0},t.winding=function(t,e,n,r,a,i){var o=n-t,s=r-e;return a*s-i*o+o*e-t*s>=0?1:-1},t}(),e.Triangulator=n}(f||(f={})),function(t){!function(t){var e=function(){function t(){this.array=[]}return t.prototype.add=function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e},t.prototype.contains=function(t){return null!=this.array[0|t]},t.prototype.remove=function(t){this.array[0|t]=void 0},t.prototype.clear=function(){this.array.length=0},t}();t.IntSet=e;var n=function(){function t(t,e,n,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=0),this.r=t,this.g=e,this.b=n,this.a=r}return t.prototype.set=function(t,e,n,r){return this.r=t,this.g=e,this.b=n,this.a=r,this.clamp(),this},t.prototype.setFromColor=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.setFromString=function(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this},t.prototype.add=function(t,e,n,r){return this.r+=t,this.g+=e,this.b+=n,this.a+=r,this.clamp(),this},t.prototype.clamp=function(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this},t.WHITE=new t(1,1,1,1),t.RED=new t(1,0,0,1),t.GREEN=new t(0,1,0,1),t.BLUE=new t(0,0,1,1),t.MAGENTA=new t(1,0,1,1),t}();t.Color=n;var r=function(){function t(){}return t.clamp=function(t,e,n){return t<e?e:t>n?n:t},t.cosDeg=function(e){return Math.cos(e*t.degRad)},t.sinDeg=function(e){return Math.sin(e*t.degRad)},t.signum=function(t){return t>0?1:t<0?-1:0},t.toInt=function(t){return t>0?Math.floor(t):Math.ceil(t)},t.cbrt=function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e},t.randomTriangular=function(e,n){return t.randomTriangularWith(e,n,.5*(e+n))},t.randomTriangularWith=function(t,e,n){var r=Math.random(),a=e-t;return r<=(n-t)/a?t+Math.sqrt(r*a*(n-t)):e-Math.sqrt((1-r)*a*(e-n))},t.PI=3.1415927,t.PI2=2*t.PI,t.radiansToDegrees=180/t.PI,t.radDeg=t.radiansToDegrees,t.degreesToRadians=t.PI/180,t.degRad=t.degreesToRadians,t}();t.MathUtils=r;var a=function(){function t(){}return t.prototype.apply=function(t,e,n){return t+(e-t)*this.applyInternal(n)},t}();t.Interpolation=a;var i=function(t){function e(e){var n=t.call(this)||this;return n.power=2,n.power=e,n}return d(e,t),e.prototype.applyInternal=function(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow(2*(t-1),this.power)/(this.power%2==0?-2:2)+1},e}(a);t.Pow=i;var o=function(t){function e(e){return t.call(this,e)||this}return d(e,t),e.prototype.applyInternal=function(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1},e}(i);t.PowOut=o;var s=function(){function t(){}return t.arrayCopy=function(t,e,n,r,a){for(var i=e,o=r;i<e+a;i++,o++)n[o]=t[i]},t.setArraySize=function(t,e,n){void 0===n&&(n=0);var r=t.length;if(r==e)return t;if(t.length=e,r<e)for(var a=r;a<e;a++)t[a]=n;return t},t.ensureArrayCapacity=function(e,n,r){return void 0===r&&(r=0),e.length>=n?e:t.setArraySize(e,n,r)},t.newArray=function(t,e){for(var n=new Array(t),r=0;r<t;r++)n[r]=e;return n},t.newFloatArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var n=new Array(e),r=0;r<n.length;r++)n[r]=0;return n},t.newShortArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var n=new Array(e),r=0;r<n.length;r++)n[r]=0;return n},t.toFloatArray=function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e},t.toSinglePrecision=function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e},t.webkit602BugfixHelper=function(t,e){},t.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array,t}();t.Utils=s;var l=function(){function t(){}return t.logBones=function(t){for(var e=0;e<t.bones.length;e++){var n=t.bones[e],r=n.matrix;console.log(n.data.name+", "+r.a+", "+r.b+", "+r.c+", "+r.d+", "+r.tx+", "+r.ty)}},t}();t.DebugUtils=l;var h=function(){function t(t){this.items=[],this.instantiator=t}return t.prototype.obtain=function(){return this.items.length>0?this.items.pop():this.instantiator()},t.prototype.free=function(t){t.reset&&t.reset(),this.items.push(t)},t.prototype.freeAll=function(t){for(var e=0;e<t.length;e++)t[e].reset&&t[e].reset(),this.items[e]=t[e]},t.prototype.clear=function(){this.items.length=0},t}();t.Pool=h;var u=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},t.prototype.normalize=function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this},t}();t.Vector2=u;var c=function(){function t(){this.maxDelta=.064,this.framesPerSecond=0,this.delta=0,this.totalTime=0,this.lastTime=Date.now()/1e3,this.frameCount=0,this.frameTime=0}return t.prototype.update=function(){var t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)},t}();t.TimeKeeper=c;var p=function(){function t(t){void 0===t&&(t=32),this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=new Array(t)}return t.prototype.hasEnoughData=function(){return this.addedValues>=this.values.length},t.prototype.addValue=function(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0},t.prototype.getMean=function(){if(this.hasEnoughData()){if(this.dirty){for(var t=0,e=0;e<this.values.length;e++)t+=this.values[e];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0},t}();t.WindowedMean=p}(t.core||(t.core={}))}(f||(f={})),function(t){!function(t){var e=function(t){if(null==t)throw new Error("name cannot be null.");this.name=t};t.Attachment=e;var n=function(t){function e(n){var r=t.call(this,n)||this;return r.id=(65535&e.nextID++)<<11,r.worldVerticesLength=0,r}return d(e,t),e.prototype.computeWorldVerticesOld=function(t,e){this.computeWorldVertices(t,0,this.worldVerticesLength,e,0,2)},e.prototype.computeWorldVertices=function(t,e,n,r,a,i){n=a+(n>>1)*i;var o=t.bone.skeleton,s=t.attachmentVertices,l=this.vertices,h=this.bones;if(null!=h){for(var u=0,c=0,p=0;p<e;p+=2){u+=(g=h[u])+1,c+=g}var f=o.bones;if(0==s.length)for(P=a,T=3*c;P<n;P+=i){var d=0,m=0,g=h[u++];for(g+=u;u<g;u++,T+=3){M=f[h[u]].matrix,C=l[T],I=l[T+1];var v=l[T+2];d+=(C*M.a+I*M.c+M.tx)*v,m+=(C*M.b+I*M.d+M.ty)*v}r[P]=d,r[P+1]=m}else for(var y=s,x=(P=a,T=3*c,c<<1);P<n;P+=i){d=0,m=0,g=h[u++];for(g+=u;u<g;u++,T+=3,x+=2){M=f[h[u]].matrix,C=l[T]+y[x],I=l[T+1]+y[x+1],v=l[T+2];d+=(C*M.a+I*M.c+M.tx)*v,m+=(C*M.b+I*M.d+M.ty)*v}r[P]=d,r[P+1]=m}}else{s.length>0&&(l=s);for(var M,E=(M=t.bone.matrix).tx,b=M.ty,w=M.a,T=M.c,S=M.b,R=M.d,A=e,P=a;P<n;A+=2,P+=i){var C=l[A],I=l[A+1];r[P]=C*w+I*T+E,r[P+1]=C*S+I*R+b}}},e.prototype.applyDeform=function(t){return this==t},e.nextID=0,e}(e);t.VertexAttachment=n}(t.core||(t.core={}))}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),(n=e.AttachmentType||(e.AttachmentType={}))[n.Region=0]="Region",n[n.BoundingBox=1]="BoundingBox",n[n.Mesh=2]="Mesh",n[n.LinkedMesh=3]="LinkedMesh",n[n.Path=4]="Path",n[n.Point=5]="Point"}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){function n(n){var r=t.call(this,n)||this;return r.color=new e.Color(1,1,1,1),r}return d(n,t),n}(e.VertexAttachment),e.BoundingBoxAttachment=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){function n(n){var r=t.call(this,n)||this;return r.color=new e.Color(.2275,.2275,.8078,1),r}return d(n,t),n}(e.VertexAttachment),e.ClippingAttachment=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){function n(n){var r=t.call(this,n)||this;return r.color=new e.Color(1,1,1,1),r.inheritDeform=!1,r.tempColor=new e.Color(0,0,0,0),r}return d(n,t),n.prototype.updateUVs=function(t,n){var r=this.regionUVs.length;if(n&&n.length==r||(n=e.Utils.newFloatArray(r)),null!=t){for(var a=t.texture._uvs,i=t.width,o=t.height,s=t.originalWidth,l=t.originalHeight,h=t.offsetX,u=t.pixiOffsetY,c=0;c<r;c+=2){var p=this.regionUVs[c],f=this.regionUVs[c+1];p=(p*s-h)/i,f=(f*l-u)/o,n[c]=(a.x0*(1-p)+a.x1*p)*(1-f)+(a.x3*(1-p)+a.x2*p)*f,n[c+1]=(a.y0*(1-p)+a.y1*p)*(1-f)+(a.y3*(1-p)+a.y2*p)*f}return n}},n.prototype.applyDeform=function(t){return this==t||this.inheritDeform&&this.parentMesh==t},n.prototype.getParentMesh=function(){return this.parentMesh},n.prototype.setParentMesh=function(t){this.parentMesh=t,null!=t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)},n}(e.VertexAttachment),e.MeshAttachment=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){function n(n){var r=t.call(this,n)||this;return r.closed=!1,r.constantSpeed=!1,r.color=new e.Color(1,1,1,1),r}return d(n,t),n}(e.VertexAttachment),e.PathAttachment=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){function n(n){var r=t.call(this,n)||this;return r.color=new e.Color(.38,.94,0,1),r}return d(n,t),n.prototype.computeWorldPosition=function(t,e){var n=t.matrix;return e.x=this.x*n.a+this.y*n.c+t.worldX,e.y=this.x*n.b+this.y*n.d+t.worldY,e},n.prototype.computeWorldRotation=function(t){var n=t.matrix,r=e.MathUtils.cosDeg(this.rotation),a=e.MathUtils.sinDeg(this.rotation),i=r*n.a+a*n.c,o=r*n.b+a*n.d;return Math.atan2(o,i)*e.MathUtils.radDeg},n}(e.VertexAttachment),e.PointAttachment=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(t){function n(n){var r=t.call(this,n)||this;return r.x=0,r.y=0,r.scaleX=1,r.scaleY=1,r.rotation=0,r.width=0,r.height=0,r.color=new e.Color(1,1,1,1),r.offset=e.Utils.newFloatArray(8),r.uvs=e.Utils.newFloatArray(8),r.tempColor=new e.Color(1,1,1,1),r}return d(n,t),n.prototype.updateOffset=function(){var t=this.width/this.region.originalWidth*this.scaleX,e=this.height/this.region.originalHeight*this.scaleY,r=-this.width/2*this.scaleX+this.region.offsetX*t,a=-this.height/2*this.scaleY+this.region.offsetY*e,i=r+this.region.width*t,o=a+this.region.height*e,s=this.rotation*Math.PI/180,l=Math.cos(s),h=Math.sin(s),u=r*l+this.x,c=r*h,p=a*l+this.y,f=a*h,d=i*l+this.x,m=i*h,g=o*l+this.y,v=o*h,y=this.offset;y[n.OX1]=u-f,y[n.OY1]=p+c,y[n.OX2]=u-v,y[n.OY2]=g+c,y[n.OX3]=d-v,y[n.OY3]=g+m,y[n.OX4]=d-f,y[n.OY4]=p+m},n.prototype.setRegion=function(t){this.region=t;var e=this.uvs;t.rotate?(e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v,e[0]=t.u2,e[1]=t.v2):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)},n.prototype.computeWorldVertices=function(t,e,r,a){var i=this.offset,o=t.matrix,s=o.tx,l=o.ty,h=o.a,u=o.c,c=o.b,p=o.d,f=0,d=0;f=i[n.OX1],d=i[n.OY1],e[r]=f*h+d*u+s,e[r+1]=f*c+d*p+l,r+=a,f=i[n.OX2],d=i[n.OY2],e[r]=f*h+d*u+s,e[r+1]=f*c+d*p+l,r+=a,f=i[n.OX3],d=i[n.OY3],e[r]=f*h+d*u+s,e[r+1]=f*c+d*p+l,r+=a,f=i[n.OX4],d=i[n.OY4],e[r]=f*h+d*u+s,e[r+1]=f*c+d*p+l},n.OX1=0,n.OY1=1,n.OX2=2,n.OY2=3,n.OX3=4,n.OY3=5,n.OX4=6,n.OY4=7,n.X1=0,n.Y1=1,n.C1R=2,n.C1G=3,n.C1B=4,n.C1A=5,n.U1=6,n.V1=7,n.X2=8,n.Y2=9,n.C2R=10,n.C2G=11,n.C2B=12,n.C2A=13,n.U2=14,n.V2=15,n.X3=16,n.Y3=17,n.C3R=18,n.C3G=19,n.C3B=20,n.C3A=21,n.U3=22,n.V3=23,n.X4=24,n.Y4=25,n.C4R=26,n.C4G=27,n.C4B=28,n.C4A=29,n.U4=30,n.V4=31,n}(e.Attachment),e.RegionAttachment=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t,e){this.jitterX=0,this.jitterY=0,this.jitterX=t,this.jitterY=e}return t.prototype.begin=function(t){},t.prototype.transform=function(t,n,r,a){t.x+=e.MathUtils.randomTriangular(-this.jitterX,this.jitterY),t.y+=e.MathUtils.randomTriangular(-this.jitterX,this.jitterY)},t.prototype.end=function(){},t}(),e.JitterEffect=n}(f||(f={})),function(t){var e,n;e=t.core||(t.core={}),n=function(){function t(t){this.centerX=0,this.centerY=0,this.radius=0,this.angle=0,this.worldX=0,this.worldY=0,this.radius=t}return t.prototype.begin=function(t){this.worldX=t.x+this.centerX,this.worldY=t.y+this.centerY},t.prototype.transform=function(n,r,a,i){var o=this.angle*e.MathUtils.degreesToRadians,s=n.x-this.worldX,l=n.y-this.worldY,h=Math.sqrt(s*s+l*l);if(h<this.radius){var u=t.interpolation.apply(0,o,(this.radius-h)/this.radius),c=Math.cos(u),p=Math.sin(u);n.x=c*s-p*l+this.worldX,n.y=p*s+c*l+this.worldY}},t.prototype.end=function(){},t.interpolation=new e.PowOut(2),t}(),e.SwirlEffect=n}(f||(f={})),Math.fround||(Math.fround=Math.fround=(p=new Float32Array(1),function(t){return p[0]=t,p[0]})),function(t){t.core.Bone.yDown=!0;var e=[0,0,0],n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.region=null,e}return d(e,t),e}(c.Sprite);t.SpineSprite=n;var r=function(t){function e(e,n,r,a,i){return t.call(this,e,n,r,a,i)||this}return d(e,t),e}(c.mesh.Mesh);t.SpineMesh=r;var a=function(a){function o(e){var n=a.call(this)||this;if(!e)throw new Error("The spineData param is required.");if("string"==typeof e)throw new Error('spineData param cant be string. Please use spine.Spine.fromAtlas("YOUR_RESOURCE_NAME") from now on.');n.spineData=e,n.skeleton=new t.core.Skeleton(e),n.skeleton.updateWorldTransform(),n.stateData=new t.core.AnimationStateData(e),n.state=new t.core.AnimationState(n.stateData),n.slotContainers=[],n.tempClipContainers=[];for(var r=0,i=n.skeleton.slots.length;r<i;r++){var o=n.skeleton.slots[r],s=o.attachment,l=n.newContainer();if(n.slotContainers.push(l),n.addChild(l),n.tempClipContainers.push(null),s instanceof t.core.RegionAttachment){var h=s.region.name,u=n.createSprite(o,s,h);o.currentSprite=u,o.currentSpriteName=h,l.addChild(u)}else if(s instanceof t.core.MeshAttachment){var c=n.createMesh(o,s);o.currentMesh=c,o.currentMeshName=s.name,l.addChild(c)}else{if(!(s instanceof t.core.ClippingAttachment))continue;n.createGraphics(o,s),l.addChild(o.clippingContainer),l.addChild(o.currentGraphics)}}return n.autoUpdate=!1,n.tintRgb=new Float32Array([1,1,1]),n}return d(o,a),Object.defineProperty(o.prototype,"autoUpdate",{get:function(){return this.updateTransform===o.prototype.autoUpdateTransform},set:function(t){this.updateTransform=t?o.prototype.autoUpdateTransform:c.Container.prototype.updateTransform},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"tint",{get:function(){return c.utils.rgb2hex(this.tintRgb)},set:function(t){this.tintRgb=c.utils.hex2rgb(t,this.tintRgb)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"delayLimit",{get:function(){return(void 0!==this.localDelayLimit?this.localDelayLimit:o.globalDelayLimit)||Number.MAX_VALUE},enumerable:!0,configurable:!0}),o.prototype.update=function(n){var r=this.delayLimit;if(n>r&&(n=r),this.state.update(n),this.state.apply(this.skeleton),this.skeleton){this.skeleton.updateWorldTransform();var a=this.skeleton.slots,o=this.color,s=null,l=null;o?(s=o.light,l=o.dark):s=this.tintRgb;for(var h=c.TransformBase&&1==this.transformHack(),u=0,p=a.length;u<p;u++){var f=(N=a[u]).attachment,d=this.slotContainers[u];if(f){var m=null,g=f.color;if(f instanceof t.core.RegionAttachment){var v=f.region;if(v){N.currentMesh&&(N.currentMesh.visible=!1,N.currentMesh=null,N.currentMeshName=void 0);var y=v;if(!N.currentSpriteName||N.currentSpriteName!==y.name){var x=y.name;if(N.currentSprite&&(N.currentSprite.visible=!1),N.sprites=N.sprites||{},void 0!==N.sprites[x])N.sprites[x].visible=!0;else{var M=this.createSprite(N,f,x);d.addChild(M)}N.currentSprite=N.sprites[x],N.currentSpriteName=x}}if(d.transform){var E=w=d.transform,b=null;E.matrix2d?(b=E.matrix2d,E._dirtyVersion++,E.version=E._dirtyVersion,E.isStatic=!0,E.operMode=0):h?(E.position&&((w=new c.TransformBase)._parentID=-1,w._worldID=d.transform._worldID,d.transform=w),b=w.localTransform):E.setFromMatrix(N.bone.matrix),b&&N.bone.matrix.copy(b)}else{b=d.localTransform||new c.Matrix;N.bone.matrix.copy(b),d.localTransform=b,d.displayObjectUpdateTransform=i}N.currentSprite.color?m=N.currentSprite.color:(e[0]=s[0]*N.color.r*g.r,e[1]=s[1]*N.color.g*g.g,e[2]=s[2]*N.color.b*g.b,N.currentSprite.tint=c.utils.rgb2hex(e)),N.currentSprite.blendMode=N.blendMode}else if(f instanceof t.core.MeshAttachment){var w;if(N.currentSprite)if(N.currentSprite.visible=!1,N.currentSprite=null,N.currentSpriteName=void 0,d.transform)(w=new c.TransformStatic)._parentID=-1,w._worldID=d.transform._worldID,d.transform=w;else d.localTransform=new c.Matrix,d.displayObjectUpdateTransform=c.DisplayObject.prototype.updateTransform;if(!N.currentMeshName||N.currentMeshName!==f.name){var T=f.name;if(N.currentMesh&&(N.currentMesh.visible=!1),N.meshes=N.meshes||{},void 0!==N.meshes[T])N.meshes[T].visible=!0;else{var S=this.createMesh(N,f);d.addChild(S)}N.currentMesh=N.meshes[T],N.currentMeshName=T}if(f.computeWorldVerticesOld(N,N.currentMesh.vertices),N.currentMesh.color)m=N.currentMesh.color;else if("3"!==c.VERSION[0]){var R=N.currentMesh.tintRgb;R[0]=s[0]*N.color.r*g.r,R[1]=s[1]*N.color.g*g.g,R[2]=s[2]*N.color.b*g.b}N.currentMesh.blendMode=N.blendMode}else{if(!(f instanceof t.core.ClippingAttachment)){d.visible=!1;continue}N.currentGraphics||(this.createGraphics(N,f),d.addChild(N.clippingContainer),d.addChild(N.currentGraphics)),this.updateGraphics(N,f)}if(d.visible=!0,m){var A=N.color.r*g.r,P=N.color.g*g.g,C=N.color.b*g.b;m.setLight(s[0]*A+l[0]*(1-A),s[1]*P+l[1]*(1-P),s[2]*C+l[2]*(1-C)),N.darkColor?(A=N.darkColor.r,P=N.darkColor.g,C=N.darkColor.b):(A=0,P=0,C=0),m.setDark(s[0]*A+l[0]*(1-A),s[1]*P+l[1]*(1-P),s[2]*C+l[2]*(1-C))}d.alpha=N.color.a}else d.visible=!1}var I=this.skeleton.drawOrder,V=null,k=null;for(u=0,p=I.length;u<p;u++){var N=a[I[u].data.index];d=this.slotContainers[I[u].data.index];if(k||null!==d.parent&&d.parent!==this&&(d.parent.removeChild(d),d.parent=this),N.currentGraphics&&N.attachment)k=N.clippingContainer,V=N.attachment,k.children.length=0,this.children[u]=d,V.endSlot==N.data&&(V.endSlot=null);else if(k){var D=this.tempClipContainers[u];D||((D=this.tempClipContainers[u]=this.newContainer()).visible=!1),this.children[u]=D,d.parent=null,k.addChild(d),V.endSlot==N.data&&(k.renderable=!0,k=null,V=null)}else this.children[u]=d}}},o.prototype.setSpriteRegion=function(t,e,n){e.region=n,e.texture=n.texture,n.size?(e.scale.x=n.size.width/n.originalWidth,e.scale.y=-n.size.height/n.originalHeight):(e.scale.x=t.scaleX*t.width/n.originalWidth,e.scale.y=-t.scaleY*t.height/n.originalHeight)},o.prototype.setMeshRegion=function(t,e,n){e.region=n,e.texture=n.texture,n.texture._updateUvs(),t.updateUVs(n,e.uvs),e.dirty++},o.prototype.autoUpdateTransform=function(){if(o.globalAutoUpdate){this.lastTime=this.lastTime||Date.now();var t=.001*(Date.now()-this.lastTime);this.lastTime=Date.now(),this.update(t)}else this.lastTime=0;c.Container.prototype.updateTransform.call(this)},o.prototype.createSprite=function(e,n,r){var a=n.region;e.tempAttachment===n&&(a=e.tempRegion,e.tempAttachment=null,e.tempRegion=null);var i=a.texture,o=this.newSprite(i);return o.rotation=n.rotation*t.core.MathUtils.degRad,o.anchor.x=.5,o.anchor.y=.5,o.position.x=n.x,o.position.y=n.y,o.alpha=n.color.a,o.region=n.region,this.setSpriteRegion(n,o,n.region),e.sprites=e.sprites||{},e.sprites[r]=o,o},o.prototype.createMesh=function(t,e){var n=e.region;t.tempAttachment===e&&(n=t.tempRegion,t.tempAttachment=null,t.tempRegion=null);var r=this.newMesh(n.texture,new Float32Array(e.regionUVs.length),new Float32Array(e.regionUVs.length),new Uint16Array(e.triangles),c.mesh.Mesh.DRAW_MODES.TRIANGLES);return r.canvasPadding=1.5,r.alpha=e.color.a,r.region=e.region,this.setMeshRegion(e,r,n),t.meshes=t.meshes||{},t.meshes[e.name]=r,r},o.prototype.createGraphics=function(t,e){var n=this.newGraphics(),r=new c.Polygon([]);return n.clear(),n.beginFill(16777215,1),n.drawPolygon(r),n.renderable=!1,t.currentGraphics=n,t.clippingContainer=this.newContainer(),t.clippingContainer.mask=t.currentGraphics,n},o.prototype.updateGraphics=function(t,e){var n=t.currentGraphics.graphicsData[0].shape.points,r=e.worldVerticesLength;n.length=r,e.computeWorldVertices(t,0,r,n,0,2),t.currentGraphics.dirty++,t.currentGraphics.clearDirty++},o.prototype.hackTextureBySlotIndex=function(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null);var a=this.skeleton.slots[e];if(!a)return!1;var i=a.attachment,o=i.region;return n&&((o=new t.core.TextureRegion).texture=n,o.size=r),a.currentSprite&&a.currentSprite.region!=o?(this.setSpriteRegion(i,a.currentSprite,o),a.currentSprite.region=o):a.currentMesh&&a.currentMesh.region!=o?this.setMeshRegion(i,a.currentMesh,o):(a.tempRegion=o,a.tempAttachment=i),!0},o.prototype.hackTextureBySlotName=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=null);var r=this.skeleton.findSlotIndex(t);return-1!=r&&this.hackTextureBySlotIndex(r,e,n)},o.prototype.newContainer=function(){return new c.Container},o.prototype.newSprite=function(t){return new n(t)},o.prototype.newGraphics=function(){return new c.Graphics},o.prototype.newMesh=function(t,e,n,a,i){return new r(t,e,n,a,i)},o.prototype.transformHack=function(){return 1},o.prototype.hackAttachmentGroups=function(t,e,n){if(t){for(var r=[],a=[],i=0,o=this.skeleton.slots.length;i<o;i++){var s=this.skeleton.slots[i],l=s.currentSpriteName||s.currentMeshName||"",h=s.currentSprite||s.currentMesh;l.endsWith(t)?(h.parentGroup=e,a.push(h)):n&&h&&(h.parentGroup=n,r.push(h))}return[r,a]}},o.prototype.destroy=function(t){for(var e=0,n=this.skeleton.slots.length;e<n;e++){var r=this.skeleton.slots[e];for(var i in r.meshes)r.meshes[i].destroy(t);for(var o in r.meshes=null,r.sprites)r.sprites[o].destroy(t);r.sprites=null}for(e=0,n=this.slotContainers.length;e<n;e++)this.slotContainers[e].destroy(t);this.spineData=null,this.skeleton=null,this.slotContainers=null,this.stateData=null,this.state=null,this.tempClipContainers=null,a.prototype.destroy.call(this,t)},o.globalAutoUpdate=!1,o.globalDelayLimit=0,o.clippingPolygon=[],o}(c.Container);function i(){var t=this.parent.worldTransform,e=this.worldTransform,n=this.localTransform;e.a=n.a*t.a+n.b*t.c,e.b=n.a*t.b+n.b*t.d,e.c=n.c*t.a+n.d*t.c,e.d=n.c*t.b+n.d*t.d,e.tx=n.tx*t.a+n.ty*t.c+t.tx,e.ty=n.tx*t.b+n.ty*t.d+t.ty,this.worldAlpha=this.alpha*this.parent.worldAlpha,this._currentBounds=null}t.Spine=a}(f||(f={})),function(t){c.spine=t;var e=c.Texture.prototype;e._updateUvs||(e._updateUvs=e.updateUvs)}(f||(f={})),function(t){function e(){return function(e,a){if(!e.data||!function(t){return t.type===c.loaders.Resource.TYPE.JSON}(e)||!e.data.bones)return a();var i=e.metadata||{},o=i?e.metadata.spineSkeletonScale:null,s=i?e.metadata.spineAtlas:null;if(!1===s)return a();if(s&&s.pages){var l=new t.core.SkeletonJson(new t.core.AtlasAttachmentLoader(s));o&&(l.scale=o);var h=l.readSkeletonData(e.data);return e.spineData=h,e.spineAtlas=s,a()}var u=i.spineAtlasSuffix||".atlas",p=e.url,f=p.indexOf("?");f>0&&(p=p.substr(0,f)),p=p.substr(0,p.lastIndexOf("."))+u,e.metadata&&e.metadata.spineAtlasFile&&(p=e.metadata.spineAtlasFile),p=p.replace(this.baseUrl,"");var d={crossOrigin:e.crossOrigin,xhrType:c.loaders.Resource.XHR_RESPONSE_TYPE.TEXT,metadata:i.spineMetadata||null,parentResource:e},m={crossOrigin:e.crossOrigin,metadata:i.imageMetadata||null,parentResource:e},g=e.url.substr(0,e.url.lastIndexOf("/")+1);g=g.replace(this.baseUrl,"");var v=i.imageNamePrefix||e.name+"_atlas_page_",y=i.images?r(i.images):i.image?r({default:i.image}):i.imageLoader?i.imageLoader(this,v,g,m):n(this,v,g,m),x=function(n){new t.core.TextureAtlas(n,y,(function(n){if(n){var r=new t.core.SkeletonJson(new t.core.AtlasAttachmentLoader(n));o&&(r.scale=o),e.spineData=r.readSkeletonData(e.data),e.spineAtlas=n}a()}))};e.metadata&&e.metadata.atlasRawData?x(e.metadata.atlasRawData):this.add(e.name+"_atlas",p,d,(function(t){t.error?a():x(t.data)}))}}function n(t,e,n,r){return n&&n.lastIndexOf("/")!==n.length-1&&(n+="/"),function(a,i){var o=e+a,s=n+a,l=t.resources[o];if(l){function t(){i(l.texture.baseTexture)}l.texture?t():l.onAfterMiddleware.add(t)}else t.add(o,s,r,(function(t){t.error?i(null):i(t.texture.baseTexture)}))}}function r(t){return function(e,n){var r=t[e]||t.default;r&&r.baseTexture?n(r.baseTexture):n(r)}}t.atlasParser=e,t.imageLoaderAdapter=n,t.syncImageLoaderAdapter=function(t,e){return t&&t.lastIndexOf("/")!==t.length-1&&(t+="/"),function(t,n){n(c.BaseTexture.fromImage(t,e))}},t.staticImageLoader=r,c.loaders.Loader&&(c.loaders.Loader.addPixiMiddleware(e),c.loader.use(e()))}(f||(f={}));var m=f,g={};function v(t){var e=t.image;return{tex:r.Texture.from(e),count:0}}function y(t){t&&setTimeout((function(){var e=g[t];e&&(e.count--,e.count<=0&&(e.tex&&(e.tex.destroy(!0),e.tex=null),delete g[t]))}),100)}var x={};function M(t,e,n){var r=null,a=function(t,e){var n=g[t];return n||(n=v(e),g[t]=n),n.tex}(e.image.src,e);new m.core.TextureAtlas(e.atlas,(function(t,e){e(a.baseTexture)}),(function(t){if(t){var a=new m.core.AtlasAttachmentLoader(t),i=new m.core.SkeletonJson(a);n&&(i.scale=n),r=i.readSkeletonData(e.ske)}}));var i={spineData:r,ref:0,imageSrc:e.image.src};return x[t]=i,i}function E(t){return s(this,void 0,void 0,(function(){var e;return l(this,(function(n){if(!(e=x[t.name]))if(t.complete)e=M(t.name,t.data,t.scale);else if(!e)return[2];return function(t,e){var n=g[t];n||(n=v(e),g[t]=n),n.count++,n.tex}(t.data.image.src,t.data),e.ref++,[2,e.spineData]}))}))}t.resource.registerInstance("SPINE",(function(t){return M(t.name,t.data,t.scale)})),t.resource.registerDestroy("SPINE",(function(t){t.instance&&(y(t.data.image.src),t.instance=null)}));var b=function(n){function r(){var t=null!==n&&n.apply(this,arguments)||this;return t.armatures={},t}return i(r,n),r.prototype.init=function(){var n=this;this.renderSystem=this.game.getSystem(e.RendererSystem),this.renderSystem.rendererManager.register(this),this.game.canvas.addEventListener("webglcontextrestored",(function(){var e=n.game.gameObjects,r=[];for(var a in n.armatures)for(var i=+a,o=0;o<e.length;++o){var s=e[o];if(s.id===i){var l=s.getComponent(h);l&&(n.remove({type:t.OBSERVER_TYPE.REMOVE,gameObject:s,component:l,componentName:h.componentName}),r.push({type:t.OBSERVER_TYPE.ADD,gameObject:s,component:l,componentName:h.componentName}));break}}setTimeout((function(){r.forEach((function(t){n.add(t)}))}),1e3)}),!1)},r.prototype.update=function(t){for(var e in this.armatures)this.armatures[e].update(.001*t.deltaTime),this.armatures[e].updateTransform();n.prototype.update.call(this)},r.prototype.componentChanged=function(e){return s(this,void 0,void 0,(function(){return l(this,(function(n){if("Spine"===e.componentName)if(e.type===t.OBSERVER_TYPE.ADD)this.add(e);else if(e.type===t.OBSERVER_TYPE.CHANGE)switch(e.prop.prop[0]){case"resource":this.change(e)}else e.type===t.OBSERVER_TYPE.REMOVE&&this.remove(e);return[2]}))}))},r.prototype.add=function(e,n){return s(this,void 0,void 0,(function(){var r,a,i,o,s,h=this;return l(this,(function(l){switch(l.label){case 0:return r=e.component,clearTimeout(r.addHandler),[4,t.resource.getResource(r.resource)];case 1:return[4,E(l.sent())];case 2:if(!(a=l.sent()))return r.addHandler=setTimeout((function(){r.destroied||(void 0===n&&(n=20),--n>0?h.add(e,n):console.log("retry exceed max times",r.resource))}),1e3),[2];if(this.remove(e),!(i=this.renderSystem.containerManager.getContainer(e.gameObject.id)))return[2];if(r.lastResource=r.resource,o=new m.Spine(a),this.armatures[e.gameObject.id]=o,e.gameObject&&e.gameObject.transform&&(s=e.gameObject.transform,o.x=s.size.width*s.origin.x,o.y=s.size.height*s.origin.y),i.addChildAt(o,0),o.update(),o.updateTransform(),r.armature=o,r.autoPlay)try{o.state.setAnimation(0,r.animationName,!0)}catch(t){console.log(t)}return r.emit("loaded",{resource:r.resource}),o.state.addListener({start:function(t,e){r.emit("start",{track:t,name:t.animation.name})},complete:function(t,e){r.emit("complete",{track:t,name:t.animation.name})},interrupt:function(t,e){r.emit("interrupt",{track:t,name:t.animation.name})},end:function(t,e){r.emit("end",{track:t,name:t.animation.name})},event:function(t,e){r.emit("event",t,e)}}),[2]}}))}))},r.prototype.change=function(t){this.remove(t),this.add(t)},r.prototype.remove=function(e){var n,r;return s(this,void 0,void 0,(function(){var a,i,o,s;return l(this,(function(l){switch(l.label){case 0:return a=e.component,clearTimeout(a.addHandler),i=this.armatures[e.gameObject.id],(o=this.renderSystem.containerManager.getContainer(e.gameObject.id))&&i&&o.removeChild(i),a.armature?(a.armature.destroy({children:!0}),[4,t.resource.getResource(a.lastResource)]):[3,2];case 1:s=l.sent(),h=s.name,u=null===(r=null===(n=s.data)||void 0===n?void 0:n.image)||void 0===r?void 0:r.src,(c=x[h])&&(c.ref--,c.ref<=0&&(y(u),delete x[h])),l.label=2;case 2:return a.armature=null,delete this.armatures[e.gameObject.id],e.type,t.OBSERVER_TYPE.CHANGE,[2]}var h,u,c}))}))},r.systemName="SpineSystem",r=o([t.decorators.componentObserver({Spine:["resource"]})],r)}(e.Renderer);exports.Spine=h,exports.SpineSystem=b;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@eva/spine-base"),e=require("pixi.js"),s=function(t,e){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var s in e)e.hasOwnProperty(s)&&(t[s]=e[s])},s(t,e)};function n(t,e){function n(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var r=Object.defineProperty,a=(t,e,s)=>(((t,e,s)=>{e in t?r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s})(t,"symbol"!=typeof e?e+"":e,s),s);if("undefined"!=typeof window&&window.PIXI){const t=window.require;window.require=e=>t?t(e):e.startsWith("@pixi/")||e.startsWith("pixi.js")?window.PIXI:void 0}var i=class{entries={};size=0;add(t){let e=this.entries[t];return this.entries[t]=!0,!e&&(this.size++,!0)}addAll(t){let e=this.size;for(var s=0,n=t.length;s<n;s++)this.add(t[s]);return e!=this.size}contains(t){return this.entries[t]}clear(){this.entries={},this.size=0}},o=class{constructor(t=0,e=0,s=0,n=0){this.r=t,this.g=e,this.b=s,this.a=n}set(t,e,s,n){return this.r=t,this.g=e,this.b=s,this.a=n,this.clamp()}setFromColor(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}setFromString(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=8!=t.length?1:parseInt(t.substr(6,2),16)/255,this}add(t,e,s,n){return this.r+=t,this.g+=e,this.b+=s,this.a+=n,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(t,e){t.r=((4278190080&e)>>>24)/255,t.g=((16711680&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255}static rgb888ToColor(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255}toRgb888(){const t=t=>("0"+(255*t).toString(16)).slice(-2);return Number("0x"+t(this.r)+t(this.g)+t(this.b))}static fromString(t){return(new o).setFromString(t)}},l=o;a(l,"WHITE",new o(1,1,1,1)),a(l,"RED",new o(1,0,0,1)),a(l,"GREEN",new o(0,1,0,1)),a(l,"BLUE",new o(0,0,1,1)),a(l,"MAGENTA",new o(1,0,1,1));var h=class{static clamp(t,e,s){return t<e?e:t>s?s:t}static cosDeg(t){return Math.cos(t*h.degRad)}static sinDeg(t){return Math.sin(t*h.degRad)}static atan2Deg(t,e){return Math.atan2(t,e)*h.degRad}static signum(t){return t>0?1:t<0?-1:0}static toInt(t){return t>0?Math.floor(t):Math.ceil(t)}static cbrt(t){let e=Math.pow(Math.abs(t),1/3);return t<0?-e:e}static randomTriangular(t,e){return h.randomTriangularWith(t,e,.5*(t+e))}static randomTriangularWith(t,e,s){let n=Math.random(),r=e-t;return n<=(s-t)/r?t+Math.sqrt(n*r*(s-t)):e-Math.sqrt((1-n)*r*(e-s))}static isPowerOfTwo(t){return t&&!(t&t-1)}},c=h;a(c,"PI",3.1415927),a(c,"PI2",2*h.PI),a(c,"invPI2",1/h.PI2),a(c,"radiansToDegrees",180/h.PI),a(c,"radDeg",h.radiansToDegrees),a(c,"degreesToRadians",h.PI/180),a(c,"degRad",h.degreesToRadians);var d=class{apply(t,e,s){return t+(e-t)*this.applyInternal(s)}},u=class extends d{power=2;constructor(t){super(),this.power=t}applyInternal(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow(2*(t-1),this.power)/(this.power%2==0?-2:2)+1}},m=class{static arrayCopy(t,e,s,n,r){for(let a=e,i=n;a<e+r;a++,i++)s[i]=t[a]}static arrayFill(t,e,s,n){for(let r=e;r<s;r++)t[r]=n}static setArraySize(t,e,s=0){let n=t.length;if(n==e)return t;if(t.length=e,n<e)for(let r=n;r<e;r++)t[r]=s;return t}static ensureArrayCapacity(t,e,s=0){return t.length>=e?t:m.setArraySize(t,e,s)}static newArray(t,e){let s=new Array(t);for(let n=0;n<t;n++)s[n]=e;return s}static newFloatArray(t){if(m.SUPPORTS_TYPED_ARRAYS)return new Float32Array(t);{let e=new Array(t);for(let t=0;t<e.length;t++)e[t]=0;return e}}static newShortArray(t){if(m.SUPPORTS_TYPED_ARRAYS)return new Int16Array(t);{let e=new Array(t);for(let t=0;t<e.length;t++)e[t]=0;return e}}static toFloatArray(t){return m.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return m.SUPPORTS_TYPED_ARRAYS?Math.fround(t):t}static webkit602BugfixHelper(t,e){}static contains(t,e,s=!0){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}static enumValue(t,e){return t[e[0].toUpperCase()+e.slice(1)]}},f=m;a(f,"SUPPORTS_TYPED_ARRAYS","undefined"!=typeof Float32Array);var g=class{items=new Array;instantiator;constructor(t){this.instantiator=t}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(t){t.reset&&t.reset(),this.items.push(t)}freeAll(t){for(let e=0;e<t.length;e++)this.free(t[e])}clear(){this.items.length=0}},p=class{constructor(t=0,e=0){this.x=t,this.y=e}set(t,e){return this.x=t,this.y=e,this}length(){let t=this.x,e=this.y;return Math.sqrt(t*t+e*e)}normalize(){let t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this}},x=class{name;constructor(t){if(!t)throw new Error("name cannot be null.");this.name=t}},w=class extends x{id=w.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(t){super(t)}computeWorldVertices(t,e,s,n,r,a){s=r+(s>>1)*a;let i=t.bone.skeleton,o=t.deform,l=this.vertices,h=this.bones;if(!h){o.length>0&&(l=o);let i=t.bone,h=i.worldX,c=i.worldY,d=i.a,u=i.b,m=i.c,f=i.d;for(let t=e,i=r;i<s;t+=2,i+=a){let e=l[t],s=l[t+1];n[i]=e*d+s*u+h,n[i+1]=e*m+s*f+c}return}let c=0,d=0;for(let t=0;t<e;t+=2){let t=h[c];c+=t+1,d+=t}let u=i.bones;if(0==o.length)for(let t=r,e=3*d;t<s;t+=a){let s=0,r=0,a=h[c++];for(a+=c;c<a;c++,e+=3){let t=u[h[c]],n=l[e],a=l[e+1],i=l[e+2];s+=(n*t.a+a*t.b+t.worldX)*i,r+=(n*t.c+a*t.d+t.worldY)*i}n[t]=s,n[t+1]=r}else{let t=o;for(let e=r,i=3*d,o=d<<1;e<s;e+=a){let s=0,r=0,a=h[c++];for(a+=c;c<a;c++,i+=3,o+=2){let e=u[h[c]],n=l[i]+t[o],a=l[i+1]+t[o+1],d=l[i+2];s+=(n*e.a+a*e.b+e.worldX)*d,r+=(n*e.c+a*e.d+e.worldY)*d}n[e]=s,n[e+1]=r}}}copyTo(t){this.bones?(t.bones=new Array(this.bones.length),f.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,this.vertices&&(t.vertices=f.newFloatArray(this.vertices.length),f.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)),t.worldVerticesLength=this.worldVerticesLength,t.timelineAttachment=this.timelineAttachment}},b=w;a(b,"nextID",0);var y=class{id=y.nextID();regions;start=0;digits=0;setupIndex=0;constructor(t){this.regions=new Array(t)}copy(){let t=new y(this.regions.length);return f.arrayCopy(this.regions,0,t.regions,0,this.regions.length),t.start=this.start,t.digits=this.digits,t.setupIndex=this.setupIndex,t}apply(t,e){let s=t.sequenceIndex;-1==s&&(s=this.setupIndex),s>=this.regions.length&&(s=this.regions.length-1);let n=this.regions[s];e.region!=n&&(e.region=n,e.updateRegion())}getPath(t,e){let s=t,n=(this.start+e).toString();for(let t=this.digits-n.length;t>0;t--)s+="0";return s+=n,s}static nextID(){return y._nextID++}},k=y;a(k,"_nextID",0);var v=(t=>(t[t.hold=0]="hold",t[t.once=1]="once",t[t.loop=2]="loop",t[t.pingpong=3]="pingpong",t[t.onceReverse=4]="onceReverse",t[t.loopReverse=5]="loopReverse",t[t.pingpongReverse=6]="pingpongReverse",t))(v||{}),C=[0,1,2,3,4,5,6],S=class{name;timelines=[];timelineIds=new i;duration;constructor(t,e,s){if(!t)throw new Error("name cannot be null.");this.name=t,this.setTimelines(e),this.duration=s}setTimelines(t){if(!t)throw new Error("timelines cannot be null.");this.timelines=t,this.timelineIds.clear();for(var e=0;e<t.length;e++)this.timelineIds.addAll(t[e].getPropertyIds())}hasTimeline(t){for(let e=0;e<t.length;e++)if(this.timelineIds.contains(t[e]))return!0;return!1}apply(t,e,s,n,r,a,i,o){if(!t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(s%=this.duration,e>0&&(e%=this.duration));let l=this.timelines;for(let n=0,h=l.length;n<h;n++)l[n].apply(t,e,s,r,a,i,o)}},A=(t=>(t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add",t))(A||{}),I=(t=>(t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut",t))(I||{}),T={rotate:0,x:1,y:2,scaleX:3,scaleY:4,shearX:5,shearY:6,inherit:7,rgb:8,alpha:9,rgb2:10,attachment:11,deform:12,event:13,drawOrder:14,ikConstraint:15,transformConstraint:16,pathConstraintPosition:17,pathConstraintSpacing:18,pathConstraintMix:19,physicsConstraintInertia:20,physicsConstraintStrength:21,physicsConstraintDamping:22,physicsConstraintMass:23,physicsConstraintWind:24,physicsConstraintGravity:25,physicsConstraintMix:26,physicsConstraintReset:27,sequence:28},M=class{propertyIds;frames;constructor(t,e){this.propertyIds=e,this.frames=f.newFloatArray(t*this.getFrameEntries())}getPropertyIds(){return this.propertyIds}getFrameEntries(){return 1}getFrameCount(){return this.frames.length/this.getFrameEntries()}getDuration(){return this.frames[this.frames.length-this.getFrameEntries()]}static search1(t,e){let s=t.length;for(let n=1;n<s;n++)if(t[n]>e)return n-1;return s-1}static search(t,e,s){let n=t.length;for(let r=s;r<n;r+=s)if(t[r]>e)return r-s;return n-s}},F=class extends M{curves;constructor(t,e,s){super(t,s),this.curves=f.newFloatArray(t+18*e),this.curves[t-1]=1}setLinear(t){this.curves[t]=0}setStepped(t){this.curves[t]=1}shrink(t){let e=this.getFrameCount()+18*t;if(this.curves.length>e){let t=f.newFloatArray(e);f.arrayCopy(this.curves,0,t,0,e),this.curves=t}}setBezier(t,e,s,n,r,a,i,o,l,h,c){let d=this.curves,u=this.getFrameCount()+18*t;0==s&&(d[e]=2+u);let m=.03*(n-2*a+o),f=.03*(r-2*i+l),g=.006*(3*(a-o)-n+h),p=.006*(3*(i-l)-r+c),x=2*m+g,w=2*f+p,b=.3*(a-n)+m+.16666667*g,y=.3*(i-r)+f+.16666667*p,k=n+b,v=r+y;for(let t=u+18;u<t;u+=2)d[u]=k,d[u+1]=v,b+=x,y+=w,x+=g,w+=p,k+=b,v+=y}getBezierValue(t,e,s,n){let r=this.curves;if(r[n]>t){let a=this.frames[e],i=this.frames[e+s];return i+(t-a)/(r[n]-a)*(r[n+1]-i)}let a=n+18;for(n+=2;n<a;n+=2)if(r[n]>=t){let e=r[n-2],s=r[n-1];return s+(t-e)/(r[n]-e)*(r[n+1]-s)}e+=this.getFrameEntries();let i=r[a-2],o=r[a-1];return o+(t-i)/(this.frames[e]-i)*(this.frames[e+s]-o)}},Y=class extends F{constructor(t,e,s){super(t,e,[s])}getFrameEntries(){return 2}setFrame(t,e,s){t<<=1,this.frames[t]=e,this.frames[t+1]=s}getCurveValue(t){let e=this.frames,s=e.length-2;for(let n=2;n<=s;n+=2)if(e[n]>t){s=n-2;break}let n=this.curves[s>>1];switch(n){case 0:let n=e[s],r=e[s+1];return r+(t-n)/(e[s+2]-n)*(e[s+2+1]-r);case 1:return e[s+1]}return this.getBezierValue(t,s,1,n-2)}getRelativeValue(t,e,s,n,r){if(t<this.frames[0]){switch(s){case 0:return r;case 1:return n+(r-n)*e}return n}let a=this.getCurveValue(t);switch(s){case 0:return r+a*e;case 1:case 2:a+=r-n}return n+a*e}getAbsoluteValue(t,e,s,n,r){if(t<this.frames[0]){switch(s){case 0:return r;case 1:return n+(r-n)*e}return n}let a=this.getCurveValue(t);return 0==s?r+(a-r)*e:n+(a-n)*e}getAbsoluteValue2(t,e,s,n,r,a){if(t<this.frames[0]){switch(s){case 0:return r;case 1:return n+(r-n)*e}return n}return 0==s?r+(a-r)*e:n+(a-n)*e}getScaleValue(t,e,s,n,r,a){if(t<this.frames[0]){switch(s){case 0:return a;case 1:return r+(a-r)*e}return r}let i=this.getCurveValue(t)*a;if(1==e)return 3==s?r+i-a:i;if(1==n)switch(s){case 0:return a+(Math.abs(i)*c.signum(a)-a)*e;case 1:case 2:return r+(Math.abs(i)*c.signum(r)-r)*e}else{let t=0;switch(s){case 0:return t=Math.abs(a)*c.signum(i),t+(i-t)*e;case 1:case 2:return t=Math.abs(r)*c.signum(i),t+(i-t)*e}}return r+(i-a)*e}},X=class extends F{constructor(t,e,s,n){super(t,e,[s,n])}getFrameEntries(){return 3}setFrame(t,e,s,n){t*=3,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=n}},P=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.rotate+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.rotation=this.getRelativeValue(s,r,a,o.rotation,o.data.rotation))}},B=class extends X{boneIndex=0;constructor(t,e,s){super(t,e,T.x+"|"+s,T.y+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];if(!o.active)return;let l=this.frames;if(s<l[0]){switch(a){case 0:return o.x=o.data.x,void(o.y=o.data.y);case 1:o.x+=(o.data.x-o.x)*r,o.y+=(o.data.y-o.y)*r}return}let h=0,c=0,d=M.search(l,s,3),u=this.curves[d/3];switch(u){case 0:let t=l[d];h=l[d+1],c=l[d+2];let e=(s-t)/(l[d+3]-t);h+=(l[d+3+1]-h)*e,c+=(l[d+3+2]-c)*e;break;case 1:h=l[d+1],c=l[d+2];break;default:h=this.getBezierValue(s,d,1,u-2),c=this.getBezierValue(s,d,2,u+18-2)}switch(a){case 0:o.x=o.data.x+h*r,o.y=o.data.y+c*r;break;case 1:case 2:o.x+=(o.data.x+h-o.x)*r,o.y+=(o.data.y+c-o.y)*r;break;case 3:o.x+=h*r,o.y+=c*r}}},R=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.x+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.x=this.getRelativeValue(s,r,a,o.x,o.data.x))}},E=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.y+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.y=this.getRelativeValue(s,r,a,o.y,o.data.y))}},D=class extends X{boneIndex=0;constructor(t,e,s){super(t,e,T.scaleX+"|"+s,T.scaleY+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];if(!o.active)return;let l,h,d=this.frames;if(s<d[0]){switch(a){case 0:return o.scaleX=o.data.scaleX,void(o.scaleY=o.data.scaleY);case 1:o.scaleX+=(o.data.scaleX-o.scaleX)*r,o.scaleY+=(o.data.scaleY-o.scaleY)*r}return}let u=M.search(d,s,3),m=this.curves[u/3];switch(m){case 0:let t=d[u];l=d[u+1],h=d[u+2];let e=(s-t)/(d[u+3]-t);l+=(d[u+3+1]-l)*e,h+=(d[u+3+2]-h)*e;break;case 1:l=d[u+1],h=d[u+2];break;default:l=this.getBezierValue(s,u,1,m-2),h=this.getBezierValue(s,u,2,m+18-2)}if(l*=o.data.scaleX,h*=o.data.scaleY,1==r)3==a?(o.scaleX+=l-o.data.scaleX,o.scaleY+=h-o.data.scaleY):(o.scaleX=l,o.scaleY=h);else{let t=0,e=0;if(1==i)switch(a){case 0:t=o.data.scaleX,e=o.data.scaleY,o.scaleX=t+(Math.abs(l)*c.signum(t)-t)*r,o.scaleY=e+(Math.abs(h)*c.signum(e)-e)*r;break;case 1:case 2:t=o.scaleX,e=o.scaleY,o.scaleX=t+(Math.abs(l)*c.signum(t)-t)*r,o.scaleY=e+(Math.abs(h)*c.signum(e)-e)*r;break;case 3:o.scaleX+=(l-o.data.scaleX)*r,o.scaleY+=(h-o.data.scaleY)*r}else switch(a){case 0:t=Math.abs(o.data.scaleX)*c.signum(l),e=Math.abs(o.data.scaleY)*c.signum(h),o.scaleX=t+(l-t)*r,o.scaleY=e+(h-e)*r;break;case 1:case 2:t=Math.abs(o.scaleX)*c.signum(l),e=Math.abs(o.scaleY)*c.signum(h),o.scaleX=t+(l-t)*r,o.scaleY=e+(h-e)*r;break;case 3:o.scaleX+=(l-o.data.scaleX)*r,o.scaleY+=(h-o.data.scaleY)*r}}}},V=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.scaleX+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.scaleX=this.getScaleValue(s,r,a,i,o.scaleX,o.data.scaleX))}},L=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.scaleY+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.scaleY=this.getScaleValue(s,r,a,i,o.scaleY,o.data.scaleY))}},_=class extends X{boneIndex=0;constructor(t,e,s){super(t,e,T.shearX+"|"+s,T.shearY+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];if(!o.active)return;let l=this.frames;if(s<l[0]){switch(a){case 0:return o.shearX=o.data.shearX,void(o.shearY=o.data.shearY);case 1:o.shearX+=(o.data.shearX-o.shearX)*r,o.shearY+=(o.data.shearY-o.shearY)*r}return}let h=0,c=0,d=M.search(l,s,3),u=this.curves[d/3];switch(u){case 0:let t=l[d];h=l[d+1],c=l[d+2];let e=(s-t)/(l[d+3]-t);h+=(l[d+3+1]-h)*e,c+=(l[d+3+2]-c)*e;break;case 1:h=l[d+1],c=l[d+2];break;default:h=this.getBezierValue(s,d,1,u-2),c=this.getBezierValue(s,d,2,u+18-2)}switch(a){case 0:o.shearX=o.data.shearX+h*r,o.shearY=o.data.shearY+c*r;break;case 1:case 2:o.shearX+=(o.data.shearX+h-o.shearX)*r,o.shearY+=(o.data.shearY+c-o.shearY)*r;break;case 3:o.shearX+=h*r,o.shearY+=c*r}}},O=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.shearX+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.shearX=this.getRelativeValue(s,r,a,o.shearX,o.data.shearX))}},U=class extends Y{boneIndex=0;constructor(t,e,s){super(t,e,T.shearY+"|"+s),this.boneIndex=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];o.active&&(o.shearY=this.getRelativeValue(s,r,a,o.shearY,o.data.shearY))}},N=class extends M{boneIndex=0;constructor(t,e){super(t,[T.inherit+"|"+e]),this.boneIndex=e}getFrameEntries(){return 2}setFrame(t,e,s){t*=2,this.frames[t]=e,this.frames[t+1]=s}apply(t,e,s,n,r,a,i){let o=t.bones[this.boneIndex];if(!o.active)return;if(1==i)return void(0==a&&(o.inherit=o.data.inherit));let l=this.frames;s<l[0]?0!=a&&1!=a||(o.inherit=o.data.inherit):o.inherit=this.frames[M.search(l,s,2)+1]}},q=class extends F{slotIndex=0;constructor(t,e,s){super(t,e,[T.rgb+"|"+s,T.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(t,e,s,n,r,a){t*=5,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=n,this.frames[t+3]=r,this.frames[t+4]=a}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=this.frames,h=o.color;if(s<l[0]){let t=o.data.color;switch(a){case 0:return void h.setFromColor(t);case 1:h.add((t.r-h.r)*r,(t.g-h.g)*r,(t.b-h.b)*r,(t.a-h.a)*r)}return}let c=0,d=0,u=0,m=0,f=M.search(l,s,5),g=this.curves[f/5];switch(g){case 0:let t=l[f];c=l[f+1],d=l[f+2],u=l[f+3],m=l[f+4];let e=(s-t)/(l[f+5]-t);c+=(l[f+5+1]-c)*e,d+=(l[f+5+2]-d)*e,u+=(l[f+5+3]-u)*e,m+=(l[f+5+4]-m)*e;break;case 1:c=l[f+1],d=l[f+2],u=l[f+3],m=l[f+4];break;default:c=this.getBezierValue(s,f,1,g-2),d=this.getBezierValue(s,f,2,g+18-2),u=this.getBezierValue(s,f,3,g+36-2),m=this.getBezierValue(s,f,4,g+54-2)}1==r?h.set(c,d,u,m):(0==a&&h.setFromColor(o.data.color),h.add((c-h.r)*r,(d-h.g)*r,(u-h.b)*r,(m-h.a)*r))}},W=class extends F{slotIndex=0;constructor(t,e,s){super(t,e,[T.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(t,e,s,n,r){t<<=2,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=n,this.frames[t+3]=r}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=this.frames,h=o.color;if(s<l[0]){let t=o.data.color;switch(a){case 0:return h.r=t.r,h.g=t.g,void(h.b=t.b);case 1:h.r+=(t.r-h.r)*r,h.g+=(t.g-h.g)*r,h.b+=(t.b-h.b)*r}return}let c=0,d=0,u=0,m=M.search(l,s,4),f=this.curves[m>>2];switch(f){case 0:let t=l[m];c=l[m+1],d=l[m+2],u=l[m+3];let e=(s-t)/(l[m+4]-t);c+=(l[m+4+1]-c)*e,d+=(l[m+4+2]-d)*e,u+=(l[m+4+3]-u)*e;break;case 1:c=l[m+1],d=l[m+2],u=l[m+3];break;default:c=this.getBezierValue(s,m,1,f-2),d=this.getBezierValue(s,m,2,f+18-2),u=this.getBezierValue(s,m,3,f+36-2)}if(1==r)h.r=c,h.g=d,h.b=u;else{if(0==a){let t=o.data.color;h.r=t.r,h.g=t.g,h.b=t.b}h.r+=(c-h.r)*r,h.g+=(d-h.g)*r,h.b+=(u-h.b)*r}}},z=class extends Y{slotIndex=0;constructor(t,e,s){super(t,e,T.alpha+"|"+s),this.slotIndex=s}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=o.color;if(s<this.frames[0]){let t=o.data.color;switch(a){case 0:return void(l.a=t.a);case 1:l.a+=(t.a-l.a)*r}return}let h=this.getCurveValue(s);1==r?l.a=h:(0==a&&(l.a=o.data.color.a),l.a+=(h-l.a)*r)}},G=class extends F{slotIndex=0;constructor(t,e,s){super(t,e,[T.rgb+"|"+s,T.alpha+"|"+s,T.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(t,e,s,n,r,a,i,o,l){t<<=3,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=n,this.frames[t+3]=r,this.frames[t+4]=a,this.frames[t+5]=i,this.frames[t+6]=o,this.frames[t+7]=l}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=this.frames,h=o.color,c=o.darkColor;if(s<l[0]){let t=o.data.color,e=o.data.darkColor;switch(a){case 0:return h.setFromColor(t),c.r=e.r,c.g=e.g,void(c.b=e.b);case 1:h.add((t.r-h.r)*r,(t.g-h.g)*r,(t.b-h.b)*r,(t.a-h.a)*r),c.r+=(e.r-c.r)*r,c.g+=(e.g-c.g)*r,c.b+=(e.b-c.b)*r}return}let d=0,u=0,m=0,f=0,g=0,p=0,x=0,w=M.search(l,s,8),b=this.curves[w>>3];switch(b){case 0:let t=l[w];d=l[w+1],u=l[w+2],m=l[w+3],f=l[w+4],g=l[w+5],p=l[w+6],x=l[w+7];let e=(s-t)/(l[w+8]-t);d+=(l[w+8+1]-d)*e,u+=(l[w+8+2]-u)*e,m+=(l[w+8+3]-m)*e,f+=(l[w+8+4]-f)*e,g+=(l[w+8+5]-g)*e,p+=(l[w+8+6]-p)*e,x+=(l[w+8+7]-x)*e;break;case 1:d=l[w+1],u=l[w+2],m=l[w+3],f=l[w+4],g=l[w+5],p=l[w+6],x=l[w+7];break;default:d=this.getBezierValue(s,w,1,b-2),u=this.getBezierValue(s,w,2,b+18-2),m=this.getBezierValue(s,w,3,b+36-2),f=this.getBezierValue(s,w,4,b+54-2),g=this.getBezierValue(s,w,5,b+72-2),p=this.getBezierValue(s,w,6,b+90-2),x=this.getBezierValue(s,w,7,b+108-2)}if(1==r)h.set(d,u,m,f),c.r=g,c.g=p,c.b=x;else{if(0==a){h.setFromColor(o.data.color);let t=o.data.darkColor;c.r=t.r,c.g=t.g,c.b=t.b}h.add((d-h.r)*r,(u-h.g)*r,(m-h.b)*r,(f-h.a)*r),c.r+=(g-c.r)*r,c.g+=(p-c.g)*r,c.b+=(x-c.b)*r}}},$=class extends F{slotIndex=0;constructor(t,e,s){super(t,e,[T.rgb+"|"+s,T.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(t,e,s,n,r,a,i,o){t*=7,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=n,this.frames[t+3]=r,this.frames[t+4]=a,this.frames[t+5]=i,this.frames[t+6]=o}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=this.frames,h=o.color,c=o.darkColor;if(s<l[0]){let t=o.data.color,e=o.data.darkColor;switch(a){case 0:return h.r=t.r,h.g=t.g,h.b=t.b,c.r=e.r,c.g=e.g,void(c.b=e.b);case 1:h.r+=(t.r-h.r)*r,h.g+=(t.g-h.g)*r,h.b+=(t.b-h.b)*r,c.r+=(e.r-c.r)*r,c.g+=(e.g-c.g)*r,c.b+=(e.b-c.b)*r}return}let d=0,u=0,m=0,f=0,g=0,p=0,x=M.search(l,s,7),w=this.curves[x/7];switch(w){case 0:let t=l[x];d=l[x+1],u=l[x+2],m=l[x+3],f=l[x+4],g=l[x+5],p=l[x+6];let e=(s-t)/(l[x+7]-t);d+=(l[x+7+1]-d)*e,u+=(l[x+7+2]-u)*e,m+=(l[x+7+3]-m)*e,f+=(l[x+7+4]-f)*e,g+=(l[x+7+5]-g)*e,p+=(l[x+7+6]-p)*e;break;case 1:d=l[x+1],u=l[x+2],m=l[x+3],f=l[x+4],g=l[x+5],p=l[x+6];break;default:d=this.getBezierValue(s,x,1,w-2),u=this.getBezierValue(s,x,2,w+18-2),m=this.getBezierValue(s,x,3,w+36-2),f=this.getBezierValue(s,x,4,w+54-2),g=this.getBezierValue(s,x,5,w+72-2),p=this.getBezierValue(s,x,6,w+90-2)}if(1==r)h.r=d,h.g=u,h.b=m,c.r=f,c.g=g,c.b=p;else{if(0==a){let t=o.data.color,e=o.data.darkColor;h.r=t.r,h.g=t.g,h.b=t.b,c.r=e.r,c.g=e.g,c.b=e.b}h.r+=(d-h.r)*r,h.g+=(u-h.g)*r,h.b+=(m-h.b)*r,c.r+=(f-c.r)*r,c.g+=(g-c.g)*r,c.b+=(p-c.b)*r}}},j=class extends M{slotIndex=0;attachmentNames;constructor(t,e){super(t,[T.attachment+"|"+e]),this.slotIndex=e,this.attachmentNames=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.attachmentNames[t]=s}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];o.bone.active&&(1!=i?s<this.frames[0]?0!=a&&1!=a||this.setAttachment(t,o,o.data.attachmentName):this.setAttachment(t,o,this.attachmentNames[M.search1(this.frames,s)]):0==a&&this.setAttachment(t,o,o.data.attachmentName))}setAttachment(t,e,s){e.setAttachment(s?t.getAttachment(this.slotIndex,s):null)}},H=class extends F{slotIndex=0;attachment;vertices;constructor(t,e,s,n){super(t,e,[T.deform+"|"+s+"|"+n.id]),this.slotIndex=s,this.attachment=n,this.vertices=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.vertices[t]=s}setBezier(t,e,s,n,r,a,i,o,l,h,c){let d=this.curves,u=this.getFrameCount()+18*t;0==s&&(d[e]=2+u);let m=.03*(n-2*a+o),f=.03*l-.06*i,g=.006*(3*(a-o)-n+h),p=.018*(i-l+.33333333),x=2*m+g,w=2*f+p,b=.3*(a-n)+m+.16666667*g,y=.3*i+f+.16666667*p,k=n+b,v=y;for(let t=u+18;u<t;u+=2)d[u]=k,d[u+1]=v,b+=x,y+=w,x+=g,w+=p,k+=b,v+=y}getCurvePercent(t,e){let s=this.curves,n=s[e];switch(n){case 0:let s=this.frames[e];return(t-s)/(this.frames[e+this.getFrameEntries()]-s);case 1:return 0}if(n-=2,s[n]>t){let r=this.frames[e];return s[n+1]*(t-r)/(s[n]-r)}let r=n+18;for(n+=2;n<r;n+=2)if(s[n]>=t){let e=s[n-2],r=s[n-1];return r+(t-e)/(s[n]-e)*(s[n+1]-r)}let a=s[r-2],i=s[r-1];return i+(1-i)*(t-a)/(this.frames[e+this.getFrameEntries()]-a)}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=o.getAttachment();if(!l)return;if(!(l instanceof b)||l.timelineAttachment!=this.attachment)return;let h=o.deform;0==h.length&&(a=0);let c=this.vertices,d=c[0].length,u=this.frames;if(s<u[0]){switch(a){case 0:return void(h.length=0);case 1:if(1==r)return void(h.length=0);h.length=d;let t=l;if(t.bones){r=1-r;for(m=0;m<d;m++)h[m]*=r}else{let e=t.vertices;for(var m=0;m<d;m++)h[m]+=(e[m]-h[m])*r}}return}if(h.length=d,s>=u[u.length-1]){let t=c[u.length-1];if(1==r)if(3==a){let e=l;if(e.bones)for(let e=0;e<d;e++)h[e]+=t[e];else{let s=e.vertices;for(let e=0;e<d;e++)h[e]+=t[e]-s[e]}}else f.arrayCopy(t,0,h,0,d);else switch(a){case 0:{let e=l;if(e.bones)for(let e=0;e<d;e++)h[e]=t[e]*r;else{let s=e.vertices;for(let e=0;e<d;e++){let n=s[e];h[e]=n+(t[e]-n)*r}}break}case 1:case 2:for(let e=0;e<d;e++)h[e]+=(t[e]-h[e])*r;break;case 3:let e=l;if(e.bones)for(let e=0;e<d;e++)h[e]+=t[e]*r;else{let s=e.vertices;for(let e=0;e<d;e++)h[e]+=(t[e]-s[e])*r}}return}let g=M.search1(u,s),p=this.getCurvePercent(s,g),x=c[g],w=c[g+1];if(1==r)if(3==a){let t=l;if(t.bones)for(let t=0;t<d;t++){let e=x[t];h[t]+=e+(w[t]-e)*p}else{let e=t.vertices;for(let t=0;t<d;t++){let s=x[t];h[t]+=s+(w[t]-s)*p-e[t]}}}else for(let t=0;t<d;t++){let e=x[t];h[t]=e+(w[t]-e)*p}else switch(a){case 0:{let t=l;if(t.bones)for(let t=0;t<d;t++){let e=x[t];h[t]=(e+(w[t]-e)*p)*r}else{let e=t.vertices;for(let t=0;t<d;t++){let s=x[t],n=e[t];h[t]=n+(s+(w[t]-s)*p-n)*r}}break}case 1:case 2:for(let t=0;t<d;t++){let e=x[t];h[t]+=(e+(w[t]-e)*p-h[t])*r}break;case 3:let t=l;if(t.bones)for(let t=0;t<d;t++){let e=x[t];h[t]+=(e+(w[t]-e)*p)*r}else{let e=t.vertices;for(let t=0;t<d;t++){let s=x[t];h[t]+=(s+(w[t]-s)*p-e[t])*r}}}}},J=class extends M{events;constructor(t){super(t,J.propertyIds),this.events=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e){this.frames[t]=e.time,this.events[t]=e}apply(t,e,s,n,r,a,i){if(!n)return;let o=this.frames,l=this.frames.length;if(e>s)this.apply(t,e,Number.MAX_VALUE,n,r,a,i),e=-1;else if(e>=o[l-1])return;if(s<o[0])return;let h=0;if(e<o[0])h=0;else{h=M.search1(o,e)+1;let t=o[h];for(;h>0&&o[h-1]==t;)h--}for(;h<l&&s>=o[h];h++)n.push(this.events[h])}},K=J;a(K,"propertyIds",[""+T.event]);var Q=class extends M{drawOrders;constructor(t){super(t,Q.propertyIds),this.drawOrders=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.drawOrders[t]=s}apply(t,e,s,n,r,a,i){if(1==i)return void(0==a&&f.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length));if(s<this.frames[0])return void(0!=a&&1!=a||f.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length));let o=M.search1(this.frames,s),l=this.drawOrders[o];if(l){let e=t.drawOrder,s=t.slots;for(let t=0,n=l.length;t<n;t++)e[t]=s[l[t]]}else f.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length)}},Z=Q;a(Z,"propertyIds",[""+T.drawOrder]);var tt=class extends F{constraintIndex=0;constructor(t,e,s){super(t,e,[T.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(t,e,s,n,r,a,i){t*=6,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=n,this.frames[t+3]=r,this.frames[t+4]=a?1:0,this.frames[t+5]=i?1:0}apply(t,e,s,n,r,a,i){let o=t.ikConstraints[this.constraintIndex];if(!o.active)return;let l=this.frames;if(s<l[0]){switch(a){case 0:return o.mix=o.data.mix,o.softness=o.data.softness,o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,void(o.stretch=o.data.stretch);case 1:o.mix+=(o.data.mix-o.mix)*r,o.softness+=(o.data.softness-o.softness)*r,o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,o.stretch=o.data.stretch}return}let h=0,c=0,d=M.search(l,s,6),u=this.curves[d/6];switch(u){case 0:let t=l[d];h=l[d+1],c=l[d+2];let e=(s-t)/(l[d+6]-t);h+=(l[d+6+1]-h)*e,c+=(l[d+6+2]-c)*e;break;case 1:h=l[d+1],c=l[d+2];break;default:h=this.getBezierValue(s,d,1,u-2),c=this.getBezierValue(s,d,2,u+18-2)}0==a?(o.mix=o.data.mix+(h-o.data.mix)*r,o.softness=o.data.softness+(c-o.data.softness)*r,1==i?(o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,o.stretch=o.data.stretch):(o.bendDirection=l[d+3],o.compress=0!=l[d+4],o.stretch=0!=l[d+5])):(o.mix+=(h-o.mix)*r,o.softness+=(c-o.softness)*r,0==i&&(o.bendDirection=l[d+3],o.compress=0!=l[d+4],o.stretch=0!=l[d+5]))}},et=class extends F{constraintIndex=0;constructor(t,e,s){super(t,e,[T.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(t,e,s,n,r,a,i,o){let l=this.frames;l[t*=7]=e,l[t+1]=s,l[t+2]=n,l[t+3]=r,l[t+4]=a,l[t+5]=i,l[t+6]=o}apply(t,e,s,n,r,a,i){let o=t.transformConstraints[this.constraintIndex];if(!o.active)return;let l,h,c,d,u,m,f=this.frames;if(s<f[0]){let t=o.data;switch(a){case 0:return o.mixRotate=t.mixRotate,o.mixX=t.mixX,o.mixY=t.mixY,o.mixScaleX=t.mixScaleX,o.mixScaleY=t.mixScaleY,void(o.mixShearY=t.mixShearY);case 1:o.mixRotate+=(t.mixRotate-o.mixRotate)*r,o.mixX+=(t.mixX-o.mixX)*r,o.mixY+=(t.mixY-o.mixY)*r,o.mixScaleX+=(t.mixScaleX-o.mixScaleX)*r,o.mixScaleY+=(t.mixScaleY-o.mixScaleY)*r,o.mixShearY+=(t.mixShearY-o.mixShearY)*r}return}let g=M.search(f,s,7),p=this.curves[g/7];switch(p){case 0:let t=f[g];l=f[g+1],h=f[g+2],c=f[g+3],d=f[g+4],u=f[g+5],m=f[g+6];let e=(s-t)/(f[g+7]-t);l+=(f[g+7+1]-l)*e,h+=(f[g+7+2]-h)*e,c+=(f[g+7+3]-c)*e,d+=(f[g+7+4]-d)*e,u+=(f[g+7+5]-u)*e,m+=(f[g+7+6]-m)*e;break;case 1:l=f[g+1],h=f[g+2],c=f[g+3],d=f[g+4],u=f[g+5],m=f[g+6];break;default:l=this.getBezierValue(s,g,1,p-2),h=this.getBezierValue(s,g,2,p+18-2),c=this.getBezierValue(s,g,3,p+36-2),d=this.getBezierValue(s,g,4,p+54-2),u=this.getBezierValue(s,g,5,p+72-2),m=this.getBezierValue(s,g,6,p+90-2)}if(0==a){let t=o.data;o.mixRotate=t.mixRotate+(l-t.mixRotate)*r,o.mixX=t.mixX+(h-t.mixX)*r,o.mixY=t.mixY+(c-t.mixY)*r,o.mixScaleX=t.mixScaleX+(d-t.mixScaleX)*r,o.mixScaleY=t.mixScaleY+(u-t.mixScaleY)*r,o.mixShearY=t.mixShearY+(m-t.mixShearY)*r}else o.mixRotate+=(l-o.mixRotate)*r,o.mixX+=(h-o.mixX)*r,o.mixY+=(c-o.mixY)*r,o.mixScaleX+=(d-o.mixScaleX)*r,o.mixScaleY+=(u-o.mixScaleY)*r,o.mixShearY+=(m-o.mixShearY)*r}},st=class extends Y{constraintIndex=0;constructor(t,e,s){super(t,e,T.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(t,e,s,n,r,a,i){let o=t.pathConstraints[this.constraintIndex];o.active&&(o.position=this.getAbsoluteValue(s,r,a,o.position,o.data.position))}},nt=class extends Y{constraintIndex=0;constructor(t,e,s){super(t,e,T.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(t,e,s,n,r,a,i){let o=t.pathConstraints[this.constraintIndex];o.active&&(o.spacing=this.getAbsoluteValue(s,r,a,o.spacing,o.data.spacing))}},rt=class extends F{constraintIndex=0;constructor(t,e,s){super(t,e,[T.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(t,e,s,n,r){let a=this.frames;a[t<<=2]=e,a[t+1]=s,a[t+2]=n,a[t+3]=r}apply(t,e,s,n,r,a,i){let o=t.pathConstraints[this.constraintIndex];if(!o.active)return;let l,h,c,d=this.frames;if(s<d[0]){switch(a){case 0:return o.mixRotate=o.data.mixRotate,o.mixX=o.data.mixX,void(o.mixY=o.data.mixY);case 1:o.mixRotate+=(o.data.mixRotate-o.mixRotate)*r,o.mixX+=(o.data.mixX-o.mixX)*r,o.mixY+=(o.data.mixY-o.mixY)*r}return}let u=M.search(d,s,4),m=this.curves[u>>2];switch(m){case 0:let t=d[u];l=d[u+1],h=d[u+2],c=d[u+3];let e=(s-t)/(d[u+4]-t);l+=(d[u+4+1]-l)*e,h+=(d[u+4+2]-h)*e,c+=(d[u+4+3]-c)*e;break;case 1:l=d[u+1],h=d[u+2],c=d[u+3];break;default:l=this.getBezierValue(s,u,1,m-2),h=this.getBezierValue(s,u,2,m+18-2),c=this.getBezierValue(s,u,3,m+36-2)}if(0==a){let t=o.data;o.mixRotate=t.mixRotate+(l-t.mixRotate)*r,o.mixX=t.mixX+(h-t.mixX)*r,o.mixY=t.mixY+(c-t.mixY)*r}else o.mixRotate+=(l-o.mixRotate)*r,o.mixX+=(h-o.mixX)*r,o.mixY+=(c-o.mixY)*r}},at=class extends Y{constraintIndex=0;constructor(t,e,s,n){super(t,e,n+"|"+s),this.constraintIndex=s}apply(t,e,s,n,r,a,i){let o;if(-1==this.constraintIndex){const e=s>=this.frames[0]?this.getCurveValue(s):0;for(const n of t.physicsConstraints)n.active&&this.global(n.data)&&this.set(n,this.getAbsoluteValue2(s,r,a,this.get(n),this.setup(n),e))}else o=t.physicsConstraints[this.constraintIndex],o.active&&this.set(o,this.getAbsoluteValue(s,r,a,this.get(o),this.setup(o)))}},it=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintInertia)}setup(t){return t.data.inertia}get(t){return t.inertia}set(t,e){t.inertia=e}global(t){return t.inertiaGlobal}},ot=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintStrength)}setup(t){return t.data.strength}get(t){return t.strength}set(t,e){t.strength=e}global(t){return t.strengthGlobal}},lt=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintDamping)}setup(t){return t.data.damping}get(t){return t.damping}set(t,e){t.damping=e}global(t){return t.dampingGlobal}},ht=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintMass)}setup(t){return 1/t.data.massInverse}get(t){return 1/t.massInverse}set(t,e){t.massInverse=1/e}global(t){return t.massGlobal}},ct=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintWind)}setup(t){return t.data.wind}get(t){return t.wind}set(t,e){t.wind=e}global(t){return t.windGlobal}},dt=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintGravity)}setup(t){return t.data.gravity}get(t){return t.gravity}set(t,e){t.gravity=e}global(t){return t.gravityGlobal}},ut=class extends at{constructor(t,e,s){super(t,e,s,T.physicsConstraintMix)}setup(t){return t.data.mix}get(t){return t.mix}set(t,e){t.mix=e}global(t){return t.mixGlobal}},mt=class extends M{constraintIndex;constructor(t,e){super(t,mt.propertyIds),this.constraintIndex=e}getFrameCount(){return this.frames.length}setFrame(t,e){this.frames[t]=e}apply(t,e,s,n,r,a,i){let o;if(-1!=this.constraintIndex&&(o=t.physicsConstraints[this.constraintIndex],!o.active))return;const l=this.frames;if(e>s)this.apply(t,e,Number.MAX_VALUE,[],r,a,i),e=-1;else if(e>=l[l.length-1])return;if(!(s<l[0])&&(e<l[0]||s>=l[M.search1(l,e)+1]))if(null!=o)o.reset();else for(const e of t.physicsConstraints)e.active&&e.reset()}},ft=mt;a(ft,"propertyIds",[T.physicsConstraintReset.toString()]);var gt=class extends M{slotIndex;attachment;constructor(t,e,s){super(t,[T.sequence+"|"+e+"|"+s.sequence.id]),this.slotIndex=e,this.attachment=s}getFrameEntries(){return gt.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(t,e,s,n,r){let a=this.frames;a[t*=gt.ENTRIES]=e,a[t+gt.MODE]=s|n<<4,a[t+gt.DELAY]=r}apply(t,e,s,n,r,a,i){let o=t.slots[this.slotIndex];if(!o.bone.active)return;let l=o.attachment,h=this.attachment;if(!(l==h||l instanceof b&&l.timelineAttachment==h))return;if(1==i)return void(0==a&&(o.sequenceIndex=-1));let c=this.frames;if(s<c[0])return void(0!=a&&1!=a||(o.sequenceIndex=-1));let d=M.search(c,s,gt.ENTRIES),u=c[d],m=c[d+gt.MODE],f=c[d+gt.DELAY];if(!this.attachment.sequence)return;let g=m>>4,p=this.attachment.sequence.regions.length,x=C[15&m];if(0!=x)switch(g+=(s-u)/f+1e-5|0,x){case 1:g=Math.min(p-1,g);break;case 2:g%=p;break;case 3:{let t=(p<<1)-2;g=0==t?0:g%t,g>=p&&(g=t-g);break}case 4:g=Math.max(p-1-g,0);break;case 5:g=p-1-g%p;break;case 6:{let t=(p<<1)-2;g=0==t?0:(g+p-1)%t,g>=p&&(g=t-g)}}o.sequenceIndex=g}},pt=gt;a(pt,"ENTRIES",3),a(pt,"MODE",1),a(pt,"DELAY",2);var xt=class{static emptyAnimation(){return xt._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new yt(this);propertyIDs=new i;animationsChanged=!1;trackEntryPool=new g((()=>new bt));constructor(t){this.data=t}update(t){t*=this.timeScale;let e=this.tracks;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(!n)continue;n.animationLast=n.nextAnimationLast,n.trackLast=n.nextTrackLast;let r=t*n.timeScale;if(n.delay>0){if(n.delay-=r,n.delay>0)continue;r=-n.delay,n.delay=0}let a=n.next;if(a){let e=n.trackLast-a.delay;if(e>=0){for(a.delay=0,a.trackTime+=0==n.timeScale?0:(e/n.timeScale+t)*a.timeScale,n.trackTime+=r,this.setCurrent(s,a,!0);a.mixingFrom;)a.mixTime+=t,a=a.mixingFrom;continue}}else if(n.trackLast>=n.trackEnd&&!n.mixingFrom){e[s]=null,this.queue.end(n),this.clearNext(n);continue}if(n.mixingFrom&&this.updateMixingFrom(n,t)){let t=n.mixingFrom;for(n.mixingFrom=null,t&&(t.mixingTo=null);t;)this.queue.end(t),t=t.mixingFrom}n.trackTime+=r}this.queue.drain()}updateMixingFrom(t,e){let s=t.mixingFrom;if(!s)return!0;let n=this.updateMixingFrom(s,e);return s.animationLast=s.nextAnimationLast,s.trackLast=s.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=s.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=s.mixingFrom,s.mixingFrom&&(s.mixingFrom.mixingTo=t),t.interruptAlpha=s.interruptAlpha,this.queue.end(s)),n):(s.trackTime+=e*s.timeScale,t.mixTime+=e,!1)}apply(t){if(!t)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let e=this.events,s=this.tracks,n=!1;for(let a=0,i=s.length;a<i;a++){let i=s[a];if(!i||i.delay>0)continue;n=!0;let o=0==a?1:i.mixBlend,l=i.alpha;i.mixingFrom?l*=this.applyMixingFrom(i,t,o):i.trackTime>=i.trackEnd&&!i.next&&(l=0);let h=l>=i.alphaAttachmentThreshold,c=i.animationLast,d=i.getAnimationTime(),u=d,m=e;i.reverse&&(u=i.animation.duration-u,m=null);let g=i.animation.timelines,p=g.length;if(0==a&&1==l||3==o){0==a&&(h=!0);for(let e=0;e<p;e++){f.webkit602BugfixHelper(l,o);var r=g[e];r instanceof j?this.applyAttachmentTimeline(r,t,u,o,h):r.apply(t,c,u,m,l,o,0)}}else{let e=i.timelineMode,s=i.shortestRotation,n=!s&&i.timelinesRotation.length!=p<<1;n&&(i.timelinesRotation.length=p<<1);for(let r=0;r<p;r++){let a=g[r],d=e[r]==vt?o:0;!s&&a instanceof P?this.applyRotateTimeline(a,t,u,l,d,i.timelinesRotation,r<<1,n):a instanceof j?this.applyAttachmentTimeline(a,t,u,o,h):(f.webkit602BugfixHelper(l,o),a.apply(t,c,u,m,l,d,0))}}this.queueEvents(i,d),e.length=0,i.nextAnimationLast=d,i.nextTrackLast=i.trackTime}for(var a=this.unkeyedState+Tt,i=t.slots,o=0,l=t.slots.length;o<l;o++){var h=i[o];if(h.attachmentState==a){var c=h.data.attachmentName;h.setAttachment(c?t.getAttachment(h.data.index,c):null)}}return this.unkeyedState+=2,this.queue.drain(),n}applyMixingFrom(t,e,s){let n=t.mixingFrom;n.mixingFrom&&this.applyMixingFrom(n,e,s);let r=0;0==t.mixDuration?(r=1,1==s&&(s=0)):(r=t.mixTime/t.mixDuration,r>1&&(r=1),1!=s&&(s=n.mixBlend));let a=r<n.mixAttachmentThreshold,i=r<n.mixDrawOrderThreshold,o=n.animation.timelines,l=o.length,h=n.alpha*t.interruptAlpha,c=h*(1-r),d=n.animationLast,u=n.getAnimationTime(),m=u,g=null;if(n.reverse?m=n.animation.duration-m:r<n.eventThreshold&&(g=this.events),3==s)for(let t=0;t<l;t++)o[t].apply(e,d,m,g,c,s,1);else{let t=n.timelineMode,r=n.timelineHoldMix,u=n.shortestRotation,p=!u&&n.timelinesRotation.length!=l<<1;p&&(n.timelinesRotation.length=l<<1),n.totalAlpha=0;for(let x=0;x<l;x++){let l,w=o[x],b=1,y=0;switch(t[x]){case vt:if(!i&&w instanceof Z)continue;l=s,y=c;break;case Ct:l=0,y=c;break;case St:l=s,y=h;break;case At:l=0,y=h;break;default:l=0;let t=r[x];y=h*Math.max(0,1-t.mixTime/t.mixDuration)}n.totalAlpha+=y,!u&&w instanceof P?this.applyRotateTimeline(w,e,m,y,l,n.timelinesRotation,x<<1,p):w instanceof j?this.applyAttachmentTimeline(w,e,m,l,a&&y>=n.alphaAttachmentThreshold):(f.webkit602BugfixHelper(y,s),i&&w instanceof Z&&0==l&&(b=0),w.apply(e,d,m,g,y,l,b))}}return t.mixDuration>0&&this.queueEvents(n,u),this.events.length=0,n.nextAnimationLast=u,n.nextTrackLast=n.trackTime,r}applyAttachmentTimeline(t,e,s,n,r){var a=e.slots[t.slotIndex];a.bone.active&&(s<t.frames[0]?0!=n&&1!=n||this.setAttachment(e,a,a.data.attachmentName,r):this.setAttachment(e,a,t.attachmentNames[M.search1(t.frames,s)],r),a.attachmentState<=this.unkeyedState&&(a.attachmentState=this.unkeyedState+Tt))}setAttachment(t,e,s,n){e.setAttachment(s?t.getAttachment(e.data.index,s):null),n&&(e.attachmentState=this.unkeyedState+Mt)}applyRotateTimeline(t,e,s,n,r,a,i,o){if(o&&(a[i]=0),1==n)return void t.apply(e,0,s,null,1,r,0);let l=e.bones[t.boneIndex];if(!l.active)return;let h=0,d=0;if(s<t.frames[0])switch(r){case 0:l.rotation=l.data.rotation;default:return;case 1:h=l.rotation,d=l.data.rotation}else h=0==r?l.data.rotation:l.rotation,d=l.data.rotation+t.getCurveValue(s);let u=0,m=d-h;if(m-=360*Math.ceil(m/360-.5),0==m)u=a[i];else{let t=0,e=0;o?(t=0,e=m):(t=a[i],e=a[i+1]);let s=t-t%360;u=m+s;let n=m>=0,r=t>=0;Math.abs(e)<=90&&c.signum(e)!=c.signum(m)&&(Math.abs(t-s)>180?(u+=360*c.signum(t),r=n):0!=s?u-=360*c.signum(t):r=n),r!=n&&(u+=360*c.signum(t)),a[i]=u}a[i+1]=m,l.rotation=h+u*n}queueEvents(t,e){let s=t.animationStart,n=t.animationEnd,r=n-s,a=t.trackLast%r,i=this.events,o=0,l=i.length;for(;o<l;o++){let e=i[o];if(e.time<a)break;e.time>n||this.queue.event(t,e)}let h=!1;if(t.loop)if(0==r)h=!0;else{const e=Math.floor(t.trackTime/r);h=e>0&&e>Math.floor(t.trackLast/r)}else h=e>=n&&t.animationLast<n;for(h&&this.queue.complete(t);o<l;o++){let e=i[o];e.time<s||this.queue.event(t,e)}}clearTracks(){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let t=0,e=this.tracks.length;t<e;t++)this.clearTrack(t);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}clearTrack(t){if(t>=this.tracks.length)return;let e=this.tracks[t];if(!e)return;this.queue.end(e),this.clearNext(e);let s=e;for(;;){let t=s.mixingFrom;if(!t)break;this.queue.end(t),s.mixingFrom=null,s.mixingTo=null,s=t}this.tracks[e.trackIndex]=null,this.queue.drain()}setCurrent(t,e,s){let n=this.expandToIndex(t);this.tracks[t]=e,e.previous=null,n&&(s&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)}setAnimation(t,e,s=!1){let n=this.data.skeletonData.findAnimation(e);if(!n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,s)}setAnimationWith(t,e,s=!1){if(!e)throw new Error("animation cannot be null.");let n=!0,r=this.expandToIndex(t);r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.clearNext(r),r=r.mixingFrom,n=!1):this.clearNext(r));let a=this.trackEntry(t,e,s,r);return this.setCurrent(t,a,n),this.queue.drain(),a}addAnimation(t,e,s=!1,n=0){let r=this.data.skeletonData.findAnimation(e);if(!r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,s,n)}addAnimationWith(t,e,s=!1,n=0){if(!e)throw new Error("animation cannot be null.");let r=this.expandToIndex(t);if(r)for(;r.next;)r=r.next;let a=this.trackEntry(t,e,s,r);return r?(r.next=a,a.previous=r,n<=0&&(n+=r.getTrackComplete()-a.mixDuration)):(this.setCurrent(t,a,!0),this.queue.drain()),a.delay=n,a}setEmptyAnimation(t,e=0){let s=this.setAnimationWith(t,xt.emptyAnimation(),!1);return s.mixDuration=e,s.trackEnd=e,s}addEmptyAnimation(t,e=0,s=0){let n=this.addAnimationWith(t,xt.emptyAnimation(),!1,s);return s<=0&&(n.delay+=n.mixDuration-e),n.mixDuration=e,n.trackEnd=e,n}setEmptyAnimations(t=0){let e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let e=0,s=this.tracks.length;e<s;e++){let s=this.tracks[e];s&&this.setEmptyAnimation(s.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()}expandToIndex(t){return t<this.tracks.length?this.tracks[t]:(f.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}trackEntry(t,e,s,n){let r=this.trackEntryPool.obtain();return r.reset(),r.trackIndex=t,r.animation=e,r.loop=s,r.holdPrevious=!1,r.reverse=!1,r.shortestRotation=!1,r.eventThreshold=0,r.alphaAttachmentThreshold=0,r.mixAttachmentThreshold=0,r.mixDrawOrderThreshold=0,r.animationStart=0,r.animationEnd=e.duration,r.animationLast=-1,r.nextAnimationLast=-1,r.delay=0,r.trackTime=0,r.trackLast=-1,r.nextTrackLast=-1,r.trackEnd=Number.MAX_VALUE,r.timeScale=1,r.alpha=1,r.mixTime=0,r.mixDuration=n?this.data.getMix(n.animation,e):0,r.interruptAlpha=1,r.totalAlpha=0,r.mixBlend=2,r}clearNext(t){let e=t.next;for(;e;)this.queue.dispose(e),e=e.next;t.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let t=this.tracks;for(let e=0,s=t.length;e<s;e++){let s=t[e];if(s){for(;s.mixingFrom;)s=s.mixingFrom;do{s.mixingTo&&3==s.mixBlend||this.computeHold(s),s=s.mixingTo}while(s)}}}computeHold(t){let e=t.mixingTo,s=t.animation.timelines,n=t.animation.timelines.length,r=t.timelineMode;r.length=n;let a=t.timelineHoldMix;a.length=0;let i=this.propertyIDs;if(e&&e.holdPrevious)for(let t=0;t<n;t++)r[t]=i.addAll(s[t].getPropertyIds())?At:St;else t:for(let o=0;o<n;o++){let n=s[o],l=n.getPropertyIds();if(i.addAll(l))if(!e||n instanceof j||n instanceof Z||n instanceof K||!e.animation.hasTimeline(l))r[o]=Ct;else{for(let s=e.mixingTo;s;s=s.mixingTo)if(!s.animation.hasTimeline(l)){if(t.mixDuration>0){r[o]=It,a[o]=s;continue t}break}r[o]=At}else r[o]=vt}}getCurrent(t){return t>=this.tracks.length?null:this.tracks[t]}addListener(t){if(!t)throw new Error("listener cannot be null.");this.listeners.push(t)}removeListener(t){let e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},wt=xt;a(wt,"_emptyAnimation",new S("<empty>",[],0));var bt=class{animation=null;previous=null;next=null;mixingFrom=null;mixingTo=null;listener=null;trackIndex=0;loop=!1;holdPrevious=!1;reverse=!1;shortestRotation=!1;eventThreshold=0;mixAttachmentThreshold=0;alphaAttachmentThreshold=0;mixDrawOrderThreshold=0;animationStart=0;animationEnd=0;animationLast=0;nextAnimationLast=0;delay=0;trackTime=0;trackLast=0;nextTrackLast=0;trackEnd=0;timeScale=0;alpha=0;mixTime=0;_mixDuration=0;interruptAlpha=0;totalAlpha=0;get mixDuration(){return this._mixDuration}set mixDuration(t){this._mixDuration=t}setMixDurationWithDelay(t,e){this._mixDuration=t,null!=this.previous&&e<=0&&(e+=this.previous.getTrackComplete()-t),this.delay=e}mixBlend=2;timelineMode=new Array;timelineHoldMix=new Array;timelinesRotation=new Array;reset(){this.next=null,this.previous=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}getAnimationTime(){if(this.loop){let t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(t){this.animationLast=t,this.nextAnimationLast=t}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let t=this.animationEnd-this.animationStart;if(0!=t){if(this.loop)return t*(1+(this.trackTime/t|0));if(this.trackTime<t)return t}return this.trackTime}wasApplied(){return-1!=this.nextTrackLast}isNextReady(){return null!=this.next&&this.nextTrackLast-this.next.delay>=0}},yt=class{objects=[];drainDisabled=!1;animState;constructor(t){this.animState=t}start(t){this.objects.push(kt.start),this.objects.push(t),this.animState.animationsChanged=!0}interrupt(t){this.objects.push(kt.interrupt),this.objects.push(t)}end(t){this.objects.push(kt.end),this.objects.push(t),this.animState.animationsChanged=!0}dispose(t){this.objects.push(kt.dispose),this.objects.push(t)}complete(t){this.objects.push(kt.complete),this.objects.push(t)}event(t,e){this.objects.push(kt.event),this.objects.push(t),this.objects.push(e)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let t=this.objects,e=this.animState.listeners;for(let s=0;s<t.length;s+=2){let n=t[s],r=t[s+1];switch(n){case kt.start:r.listener&&r.listener.start&&r.listener.start(r);for(let t=0;t<e.length;t++){let s=e[t];s.start&&s.start(r)}break;case kt.interrupt:r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(let t=0;t<e.length;t++){let s=e[t];s.interrupt&&s.interrupt(r)}break;case kt.end:r.listener&&r.listener.end&&r.listener.end(r);for(let t=0;t<e.length;t++){let s=e[t];s.end&&s.end(r)}case kt.dispose:r.listener&&r.listener.dispose&&r.listener.dispose(r);for(let t=0;t<e.length;t++){let s=e[t];s.dispose&&s.dispose(r)}this.animState.trackEntryPool.free(r);break;case kt.complete:r.listener&&r.listener.complete&&r.listener.complete(r);for(let t=0;t<e.length;t++){let s=e[t];s.complete&&s.complete(r)}break;case kt.event:let n=t[2+s++];r.listener&&r.listener.event&&r.listener.event(r,n);for(let t=0;t<e.length;t++){let s=e[t];s.event&&s.event(r,n)}}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}},kt=(t=>(t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event",t))(kt||{}),vt=0,Ct=1,St=2,At=3,It=4,Tt=1,Mt=2,Ft=class{skeletonData;animationToMixTime={};defaultMix=0;constructor(t){if(!t)throw new Error("skeletonData cannot be null.");this.skeletonData=t}setMix(t,e,s){let n=this.skeletonData.findAnimation(t);if(!n)throw new Error("Animation not found: "+t);let r=this.skeletonData.findAnimation(e);if(!r)throw new Error("Animation not found: "+e);this.setMixWith(n,r,s)}setMixWith(t,e,s){if(!t)throw new Error("from cannot be null.");if(!e)throw new Error("to cannot be null.");let n=t.name+"."+e.name;this.animationToMixTime[n]=s}getMix(t,e){let s=t.name+"."+e.name,n=this.animationToMixTime[s];return void 0===n?this.defaultMix:n}},Yt=class extends b{color=new l(1,1,1,1);constructor(t){super(t)}copy(){let t=new Yt(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}},Xt=class extends b{endSlot=null;color=new l(.2275,.2275,.8078,1);constructor(t){super(t)}copy(){let t=new Xt(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}},Pt=class{_image;constructor(t){this._image=t}getImage(){return this._image}},Bt=(t=>(t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear",t))(Bt||{}),Rt=(t=>(t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat",t))(Rt||{}),Et=class{texture;u=0;v=0;u2=0;v2=0;width=0;height=0;degrees=0;offsetX=0;offsetY=0;originalWidth=0;originalHeight=0},Dt=class{pages=new Array;regions=new Array;constructor(t){let e=new Vt(t),s=new Array(4),n={size:t=>{t.width=parseInt(s[1]),t.height=parseInt(s[2])},format:()=>{},filter:t=>{t.minFilter=f.enumValue(Bt,s[1]),t.magFilter=f.enumValue(Bt,s[2])},repeat:t=>{-1!=s[1].indexOf("x")&&(t.uWrap=10497),-1!=s[1].indexOf("y")&&(t.vWrap=10497)},pma:t=>{t.pma="true"==s[1]}};var r={xy:t=>{t.x=parseInt(s[1]),t.y=parseInt(s[2])},size:t=>{t.width=parseInt(s[1]),t.height=parseInt(s[2])},bounds:t=>{t.x=parseInt(s[1]),t.y=parseInt(s[2]),t.width=parseInt(s[3]),t.height=parseInt(s[4])},offset:t=>{t.offsetX=parseInt(s[1]),t.offsetY=parseInt(s[2])},orig:t=>{t.originalWidth=parseInt(s[1]),t.originalHeight=parseInt(s[2])},offsets:t=>{t.offsetX=parseInt(s[1]),t.offsetY=parseInt(s[2]),t.originalWidth=parseInt(s[3]),t.originalHeight=parseInt(s[4])},rotate:t=>{let e=s[1];"true"==e?t.degrees=90:"false"!=e&&(t.degrees=parseInt(e))},index:t=>{t.index=parseInt(s[1])}};let a=e.readLine();for(;a&&0==a.trim().length;)a=e.readLine();for(;a&&0!=a.trim().length&&0!=e.readEntry(s,a);)a=e.readLine();let i=null,o=null,l=null;for(;null!==a;)if(0==a.trim().length)i=null,a=e.readLine();else if(i){let t=new _t(i,a);for(;;){let n=e.readEntry(s,a=e.readLine());if(0==n)break;let i=r[s[0]];if(i)i(t);else{o||(o=[]),l||(l=[]),o.push(s[0]);let t=[];for(let e=0;e<n;e++)t.push(parseInt(s[e+1]));l.push(t)}}0==t.originalWidth&&0==t.originalHeight&&(t.originalWidth=t.width,t.originalHeight=t.height),o&&o.length>0&&l&&l.length>0&&(t.names=o,t.values=l,o=null,l=null),t.u=t.x/i.width,t.v=t.y/i.height,90==t.degrees?(t.u2=(t.x+t.height)/i.width,t.v2=(t.y+t.width)/i.height):(t.u2=(t.x+t.width)/i.width,t.v2=(t.y+t.height)/i.height),this.regions.push(t)}else{for(i=new Lt(a.trim());0!=e.readEntry(s,a=e.readLine());){let t=n[s[0]];t&&t(i)}this.pages.push(i)}}findRegion(t){for(let e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null}setTextures(t,e=""){for(let s of this.pages)s.setTexture(t.get(e+s.name))}dispose(){for(let t=0;t<this.pages.length;t++)this.pages[t].texture?.dispose()}},Vt=class{lines;index=0;constructor(t){this.lines=t.split(/\r\n|\r|\n/)}readLine(){return this.index>=this.lines.length?null:this.lines[this.index++]}readEntry(t,e){if(!e)return 0;if(0==(e=e.trim()).length)return 0;let s=e.indexOf(":");if(-1==s)return 0;t[0]=e.substr(0,s).trim();for(let n=1,r=s+1;;n++){let s=e.indexOf(",",r);if(-1==s)return t[n]=e.substr(r).trim(),n;if(t[n]=e.substr(r,s-r).trim(),r=s+1,4==n)return 4}}},Lt=class{name;minFilter=9728;magFilter=9728;uWrap=33071;vWrap=33071;texture=null;width=0;height=0;pma=!1;regions=new Array;constructor(t){this.name=t}setTexture(t){this.texture=t,t.setFilters(this.minFilter,this.magFilter),t.setWraps(this.uWrap,this.vWrap);for(let e of this.regions)e.texture=t}},_t=class extends Et{page;name;x=0;y=0;offsetX=0;offsetY=0;originalWidth=0;originalHeight=0;index=0;degrees=0;names=null;values=null;constructor(t,e){super(),this.page=t,this.name=e,t.regions.push(this)}},Ot=class extends b{region=null;path;regionUVs=[];uvs=[];triangles=[];color=new l(1,1,1,1);width=0;height=0;hullLength=0;edges=[];parentMesh=null;sequence=null;tempColor=new l(0,0,0,0);constructor(t,e){super(t),this.path=e}updateRegion(){if(!this.region)throw new Error("Region not set.");let t=this.regionUVs;this.uvs&&this.uvs.length==t.length||(this.uvs=f.newFloatArray(t.length));let e=this.uvs,s=this.uvs.length,n=this.region.u,r=this.region.v,a=0,i=0;if(this.region instanceof _t){let o=this.region,l=o.page,h=l.width,c=l.height;switch(o.degrees){case 90:n-=(o.originalHeight-o.offsetY-o.height)/h,r-=(o.originalWidth-o.offsetX-o.width)/c,a=o.originalHeight/h,i=o.originalWidth/c;for(let o=0;o<s;o+=2)e[o]=n+t[o+1]*a,e[o+1]=r+(1-t[o])*i;return;case 180:n-=(o.originalWidth-o.offsetX-o.width)/h,r-=o.offsetY/c,a=o.originalWidth/h,i=o.originalHeight/c;for(let o=0;o<s;o+=2)e[o]=n+(1-t[o])*a,e[o+1]=r+(1-t[o+1])*i;return;case 270:n-=o.offsetY/h,r-=o.offsetX/c,a=o.originalHeight/h,i=o.originalWidth/c;for(let o=0;o<s;o+=2)e[o]=n+(1-t[o+1])*a,e[o+1]=r+t[o]*i;return}n-=o.offsetX/h,r-=(o.originalHeight-o.offsetY-o.height)/c,a=o.originalWidth/h,i=o.originalHeight/c}else this.region?(a=this.region.u2-n,i=this.region.v2-r):(n=r=0,a=i=1);for(let o=0;o<s;o+=2)e[o]=n+t[o]*a,e[o+1]=r+t[o+1]*i}getParentMesh(){return this.parentMesh}setParentMesh(t){this.parentMesh=t,t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)}copy(){if(this.parentMesh)return this.newLinkedMesh();let t=new Ot(this.name,this.path);return t.region=this.region,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=new Array(this.regionUVs.length),f.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=new Array(this.uvs.length),f.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=new Array(this.triangles.length),f.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,t.sequence=null!=this.sequence?this.sequence.copy():null,this.edges&&(t.edges=new Array(this.edges.length),f.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t}computeWorldVertices(t,e,s,n,r,a){null!=this.sequence&&this.sequence.apply(t,this),super.computeWorldVertices(t,e,s,n,r,a)}newLinkedMesh(){let t=new Ot(this.name,this.path);return t.region=this.region,t.color.setFromColor(this.color),t.timelineAttachment=this.timelineAttachment,t.setParentMesh(this.parentMesh?this.parentMesh:this),null!=t.region&&t.updateRegion(),t}},Ut=class extends b{lengths=[];closed=!1;constantSpeed=!1;color=new l(1,1,1,1);constructor(t){super(t)}copy(){let t=new Ut(this.name);return this.copyTo(t),t.lengths=new Array(this.lengths.length),f.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t}},Nt=class extends b{x=0;y=0;rotation=0;color=new l(.38,.94,0,1);constructor(t){super(t)}computeWorldPosition(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e}computeWorldRotation(t){const e=this.rotation*c.degRad,s=Math.cos(e),n=Math.sin(e),r=s*t.a+n*t.b,a=s*t.c+n*t.d;return c.atan2Deg(a,r)}copy(){let t=new Nt(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t}},qt=class extends x{x=0;y=0;scaleX=1;scaleY=1;rotation=0;width=0;height=0;color=new l(1,1,1,1);path;region=null;sequence=null;offset=f.newFloatArray(8);uvs=f.newFloatArray(8);tempColor=new l(1,1,1,1);constructor(t,e){super(t),this.path=e}updateRegion(){if(!this.region)throw new Error("Region not set.");let t=this.region,e=this.uvs;if(null==t)return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=1,e[5]=1,e[6]=1,void(e[7]=0);let s=this.width/this.region.originalWidth*this.scaleX,n=this.height/this.region.originalHeight*this.scaleY,r=-this.width/2*this.scaleX+this.region.offsetX*s,a=-this.height/2*this.scaleY+this.region.offsetY*n,i=r+this.region.width*s,o=a+this.region.height*n,l=this.rotation*c.degRad,h=Math.cos(l),d=Math.sin(l),u=this.x,m=this.y,f=r*h+u,g=r*d,p=a*h+m,x=a*d,w=i*h+u,b=i*d,y=o*h+m,k=o*d,v=this.offset;v[0]=f-x,v[1]=p+g,v[2]=f-k,v[3]=y+g,v[4]=w-k,v[5]=y+b,v[6]=w-x,v[7]=p+b,90==t.degrees?(e[0]=t.u2,e[1]=t.v2,e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)}computeWorldVertices(t,e,s,n){null!=this.sequence&&this.sequence.apply(t,this);let r=t.bone,a=this.offset,i=r.worldX,o=r.worldY,l=r.a,h=r.b,c=r.c,d=r.d,u=0,m=0;u=a[0],m=a[1],e[s]=u*l+m*h+i,e[s+1]=u*c+m*d+o,s+=n,u=a[2],m=a[3],e[s]=u*l+m*h+i,e[s+1]=u*c+m*d+o,s+=n,u=a[4],m=a[5],e[s]=u*l+m*h+i,e[s+1]=u*c+m*d+o,s+=n,u=a[6],m=a[7],e[s]=u*l+m*h+i,e[s+1]=u*c+m*d+o}copy(){let t=new qt(this.name,this.path);return t.region=this.region,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,f.arrayCopy(this.uvs,0,t.uvs,0,8),f.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t.sequence=null!=this.sequence?this.sequence.copy():null,t}},Wt=qt;a(Wt,"X1",0),a(Wt,"Y1",1),a(Wt,"C1R",2),a(Wt,"C1G",3),a(Wt,"C1B",4),a(Wt,"C1A",5),a(Wt,"U1",6),a(Wt,"V1",7),a(Wt,"X2",8),a(Wt,"Y2",9),a(Wt,"C2R",10),a(Wt,"C2G",11),a(Wt,"C2B",12),a(Wt,"C2A",13),a(Wt,"U2",14),a(Wt,"V2",15),a(Wt,"X3",16),a(Wt,"Y3",17),a(Wt,"C3R",18),a(Wt,"C3G",19),a(Wt,"C3B",20),a(Wt,"C3A",21),a(Wt,"U3",22),a(Wt,"V3",23),a(Wt,"X4",24),a(Wt,"Y4",25),a(Wt,"C4R",26),a(Wt,"C4G",27),a(Wt,"C4B",28),a(Wt,"C4A",29),a(Wt,"U4",30),a(Wt,"V4",31);var zt=class{atlas;constructor(t){this.atlas=t}loadSequence(t,e,s){let n=s.regions;for(let r=0,a=n.length;r<a;r++){let a=s.getPath(e,r),i=this.atlas.findRegion(a);if(null==i)throw new Error("Region not found in atlas: "+a+" (sequence: "+t+")");n[r]=i}}newRegionAttachment(t,e,s,n){let r=new Wt(e,s);if(null!=n)this.loadSequence(e,s,n);else{let t=this.atlas.findRegion(s);if(!t)throw new Error("Region not found in atlas: "+s+" (region attachment: "+e+")");r.region=t}return r}newMeshAttachment(t,e,s,n){let r=new Ot(e,s);if(null!=n)this.loadSequence(e,s,n);else{let t=this.atlas.findRegion(s);if(!t)throw new Error("Region not found in atlas: "+s+" (mesh attachment: "+e+")");r.region=t}return r}newBoundingBoxAttachment(t,e){return new Yt(e)}newPathAttachment(t,e){return new Ut(e)}newPointAttachment(t,e){return new Nt(e)}newClippingAttachment(t,e){return new Xt(e)}},Gt=class{index=0;name;parent=null;length=0;x=0;y=0;rotation=0;scaleX=1;scaleY=1;shearX=0;shearY=0;inherit=$t.Normal;skinRequired=!1;color=new l;icon;visible=!1;constructor(t,e,s){if(t<0)throw new Error("index must be >= 0.");if(!e)throw new Error("name cannot be null.");this.index=t,this.name=e,this.parent=s}},$t=(t=>(t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection",t))($t||{}),jt=class{data;skeleton;parent=null;children=new Array;x=0;y=0;rotation=0;scaleX=0;scaleY=0;shearX=0;shearY=0;ax=0;ay=0;arotation=0;ascaleX=0;ascaleY=0;ashearX=0;ashearY=0;a=0;b=0;c=0;d=0;worldY=0;worldX=0;inherit=0;sorted=!1;active=!1;constructor(t,e,s){if(!t)throw new Error("data cannot be null.");if(!e)throw new Error("skeleton cannot be null.");this.data=t,this.skeleton=e,this.parent=s,this.setToSetupPose()}isActive(){return this.active}update(t){this.updateWorldTransformWith(this.ax,this.ay,this.arotation,this.ascaleX,this.ascaleY,this.ashearX,this.ashearY)}updateWorldTransform(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}updateWorldTransformWith(t,e,s,n,r,a,i){this.ax=t,this.ay=e,this.arotation=s,this.ascaleX=n,this.ascaleY=r,this.ashearX=a,this.ashearY=i;let o=this.parent;if(!o){let o=this.skeleton;const l=o.scaleX,h=o.scaleY,d=(s+a)*c.degRad,u=(s+90+i)*c.degRad;return this.a=Math.cos(d)*n*l,this.b=Math.cos(u)*r*l,this.c=Math.sin(d)*n*h,this.d=Math.sin(u)*r*h,this.worldX=t*l+o.x,void(this.worldY=e*h+o.y)}let l=o.a,h=o.b,d=o.c,u=o.d;switch(this.worldX=l*t+h*e+o.worldX,this.worldY=d*t+u*e+o.worldY,this.inherit){case 0:{const t=(s+a)*c.degRad,e=(s+90+i)*c.degRad,o=Math.cos(t)*n,m=Math.cos(e)*r,f=Math.sin(t)*n,g=Math.sin(e)*r;return this.a=l*o+h*f,this.b=l*m+h*g,this.c=d*o+u*f,void(this.d=d*m+u*g)}case 1:{const t=(s+a)*c.degRad,e=(s+90+i)*c.degRad;this.a=Math.cos(t)*n,this.b=Math.cos(e)*r,this.c=Math.sin(t)*n,this.d=Math.sin(e)*r;break}case 2:{let t=1/this.skeleton.scaleX,e=1/this.skeleton.scaleY;l*=t,d*=e;let o=l*l+d*d,m=0;o>1e-4?(o=Math.abs(l*u*e-h*t*d)/o,h=d*o,u=l*o,m=Math.atan2(d,l)*c.radDeg):(l=0,d=0,m=90-Math.atan2(u,h)*c.radDeg);const f=(s+a-m)*c.degRad,g=(s+i-m+90)*c.degRad,p=Math.cos(f)*n,x=Math.cos(g)*r,w=Math.sin(f)*n,b=Math.sin(g)*r;this.a=l*p-h*w,this.b=l*x-h*b,this.c=d*p+u*w,this.d=d*x+u*b;break}case 3:case 4:{s*=c.degRad;const t=Math.cos(s),e=Math.sin(s);let o=(l*t+h*e)/this.skeleton.scaleX,m=(d*t+u*e)/this.skeleton.scaleY,f=Math.sqrt(o*o+m*m);f>1e-5&&(f=1/f),o*=f,m*=f,f=Math.sqrt(o*o+m*m),3==this.inherit&&l*u-h*d<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(f=-f),s=Math.PI/2+Math.atan2(m,o);const g=Math.cos(s)*f,p=Math.sin(s)*f;a*=c.degRad,i=(90+i)*c.degRad;const x=Math.cos(a)*n,w=Math.cos(i)*r,b=Math.sin(a)*n,y=Math.sin(i)*r;this.a=o*x+g*b,this.b=o*w+g*y,this.c=m*x+p*b,this.d=m*w+p*y;break}}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY}setToSetupPose(){let t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY,this.inherit=t.inherit}updateAppliedTransform(){let t=this.parent;if(!t)return this.ax=this.worldX-this.skeleton.x,this.ay=this.worldY-this.skeleton.y,this.arotation=Math.atan2(this.c,this.a)*c.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*c.radDeg);let e,s,n,r,a=t.a,i=t.b,o=t.c,l=t.d,h=1/(a*l-i*o),d=l*h,u=i*h,m=o*h,f=a*h,g=this.worldX-t.worldX,p=this.worldY-t.worldY;if(this.ax=g*d-p*u,this.ay=p*f-g*m,1==this.inherit)e=this.a,s=this.b,n=this.c,r=this.d;else{switch(this.inherit){case 2:{let t=Math.abs(a*l-i*o)/(a*a+o*o);i=-o*this.skeleton.scaleX*t/this.skeleton.scaleY,l=a*this.skeleton.scaleY*t/this.skeleton.scaleX,h=1/(a*l-i*o),d=l*h,u=i*h;break}case 3:case 4:let t=c.cosDeg(this.rotation),e=c.sinDeg(this.rotation);a=(a*t+i*e)/this.skeleton.scaleX,o=(o*t+l*e)/this.skeleton.scaleY;let s=Math.sqrt(a*a+o*o);s>1e-5&&(s=1/s),a*=s,o*=s,s=Math.sqrt(a*a+o*o),3==this.inherit&&h<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(s=-s);let n=c.PI/2+Math.atan2(o,a);i=Math.cos(n)*s,l=Math.sin(n)*s,h=1/(a*l-i*o),d=l*h,u=i*h,m=o*h,f=a*h}e=d*this.a-u*this.c,s=d*this.b-u*this.d,n=f*this.c-m*this.a,r=f*this.d-m*this.b}if(this.ashearX=0,this.ascaleX=Math.sqrt(e*e+n*n),this.ascaleX>1e-4){let t=e*r-s*n;this.ascaleY=t/this.ascaleX,this.ashearY=-Math.atan2(e*s+n*r,t)*c.radDeg,this.arotation=Math.atan2(n,e)*c.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(s*s+r*r),this.ashearY=0,this.arotation=90-Math.atan2(r,s)*c.radDeg}getWorldRotationX(){return Math.atan2(this.c,this.a)*c.radDeg}getWorldRotationY(){return Math.atan2(this.d,this.b)*c.radDeg}getWorldScaleX(){return Math.sqrt(this.a*this.a+this.c*this.c)}getWorldScaleY(){return Math.sqrt(this.b*this.b+this.d*this.d)}worldToLocal(t){let e=1/(this.a*this.d-this.b*this.c),s=t.x-this.worldX,n=t.y-this.worldY;return t.x=s*this.d*e-n*this.b*e,t.y=n*this.a*e-s*this.c*e,t}localToWorld(t){let e=t.x,s=t.y;return t.x=e*this.a+s*this.b+this.worldX,t.y=e*this.c+s*this.d+this.worldY,t}worldToParent(t){if(null==t)throw new Error("world cannot be null.");return null==this.parent?t:this.parent.worldToLocal(t)}parentToWorld(t){if(null==t)throw new Error("world cannot be null.");return null==this.parent?t:this.parent.localToWorld(t)}worldToLocalRotation(t){let e=c.sinDeg(t),s=c.cosDeg(t);return Math.atan2(this.a*e-this.c*s,this.d*s-this.b*e)*c.radDeg+this.rotation-this.shearX}localToWorldRotation(t){t-=this.rotation-this.shearX;let e=c.sinDeg(t),s=c.cosDeg(t);return Math.atan2(s*this.c+e*this.d,s*this.a+e*this.b)*c.radDeg}rotateWorld(t){t*=c.degRad;const e=Math.sin(t),s=Math.cos(t),n=this.a,r=this.b;this.a=s*n-e*this.c,this.b=s*r-e*this.d,this.c=e*n+s*this.c,this.d=e*r+s*this.d}},Ht=class{constructor(t,e,s){this.name=t,this.order=e,this.skinRequired=s}},Jt=class{callbacks={};rawDataUris={};dataUriToString(t){if(!t.startsWith("data:"))throw new Error("Not a data URI.");let e=t.indexOf("base64,");return-1!=e?(e+=7,atob(t.substr(e))):t.substr(t.indexOf(",")+1)}base64ToUint8Array(t){for(var e=window.atob(t),s=e.length,n=new Uint8Array(s),r=0;r<s;r++)n[r]=e.charCodeAt(r);return n}dataUriToUint8Array(t){if(!t.startsWith("data:"))throw new Error("Not a data URI.");let e=t.indexOf("base64,");if(-1==e)throw new Error("Not a binary data URI.");return e+=7,this.base64ToUint8Array(t.substr(e))}downloadText(t,e,s){if(this.start(t,e,s))return;if(this.rawDataUris[t]){try{let e=this.rawDataUris[t];this.finish(t,200,this.dataUriToString(e))}catch(e){this.finish(t,400,JSON.stringify(e))}return}let n=new XMLHttpRequest;n.overrideMimeType("text/html"),n.open("GET",t,!0);let r=()=>{this.finish(t,n.status,n.responseText)};n.onload=r,n.onerror=r,n.send()}downloadJson(t,e,s){this.downloadText(t,(t=>{e(JSON.parse(t))}),s)}downloadBinary(t,e,s){if(this.start(t,e,s))return;if(this.rawDataUris[t]){try{let e=this.rawDataUris[t];this.finish(t,200,this.dataUriToUint8Array(e))}catch(e){this.finish(t,400,JSON.stringify(e))}return}let n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer";let r=()=>{this.finish(t,n.status,n.response)};n.onload=()=>{200==n.status||0==n.status?this.finish(t,200,new Uint8Array(n.response)):r()},n.onerror=r,n.send()}start(t,e,s){let n=this.callbacks[t];try{if(n)return!0;this.callbacks[t]=n=[]}finally{n.push(e,s)}}finish(t,e,s){let n=this.callbacks[t];delete this.callbacks[t];let r=200==e||0==e?[s]:[e,s];for(let t=r.length-1,e=n.length;t<e;t+=2)n[t].apply(null,r)}},Kt=class{data;intValue=0;floatValue=0;stringValue=null;time=0;volume=0;balance=0;constructor(t,e){if(!e)throw new Error("data cannot be null.");this.time=t,this.data=e}},Qt=class{name;intValue=0;floatValue=0;stringValue=null;audioPath=null;volume=0;balance=0;constructor(t){this.name=t}},Zt=class{data;bones;target;bendDirection=0;compress=!1;stretch=!1;mix=1;softness=0;active=!1;constructor(t,e){if(!t)throw new Error("data cannot be null.");if(!e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(let s=0;s<t.bones.length;s++){let n=e.findBone(t.bones[s].name);if(!n)throw new Error(`Couldn't find bone ${t.bones[s].name}`);this.bones.push(n)}let s=e.findBone(t.target.name);if(!s)throw new Error(`Couldn't find bone ${t.target.name}`);this.target=s,this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}isActive(){return this.active}setToSetupPose(){const t=this.data;this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch}update(t){if(0==this.mix)return;let e=this.target,s=this.bones;switch(s.length){case 1:this.apply1(s[0],e.worldX,e.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(s[0],s[1],e.worldX,e.worldY,this.bendDirection,this.stretch,this.data.uniform,this.softness,this.mix)}}apply1(t,e,s,n,r,a,i){let o=t.parent;if(!o)throw new Error("IK bone must have parent.");let l=o.a,h=o.b,d=o.c,u=o.d,m=-t.ashearX-t.arotation,f=0,g=0;switch(t.inherit){case 1:f=(e-t.worldX)*c.signum(t.skeleton.scaleX),g=(s-t.worldY)*c.signum(t.skeleton.scaleY);break;case 2:let n=Math.abs(l*u-h*d)/Math.max(1e-4,l*l+d*d),r=l/t.skeleton.scaleX,a=d/t.skeleton.scaleY;h=-a*n*t.skeleton.scaleX,u=r*n*t.skeleton.scaleY,m+=Math.atan2(a,r)*c.radDeg;default:let i=e-o.worldX,p=s-o.worldY,x=l*u-h*d;Math.abs(x)<=1e-4?(f=0,g=0):(f=(i*u-p*h)/x-t.ax,g=(p*l-i*d)/x-t.ay)}m+=Math.atan2(g,f)*c.radDeg,t.ascaleX<0&&(m+=180),m>180?m-=360:m<-180&&(m+=360);let p=t.ascaleX,x=t.ascaleY;if(n||r){switch(t.inherit){case 3:case 4:f=e-t.worldX,g=s-t.worldY}const o=t.data.length*p;if(o>1e-4){const t=f*f+g*g;if(n&&t<o*o||r&&t>o*o){const e=(Math.sqrt(t)/o-1)*i+1;p*=e,a&&(x*=e)}}}t.updateWorldTransformWith(t.ax,t.ay,t.arotation+m*i,p,x,t.ashearX,t.ashearY)}apply2(t,e,s,n,r,a,i,o,l){if(0!=t.inherit||0!=e.inherit)return;let h=t.ax,d=t.ay,u=t.ascaleX,m=t.ascaleY,f=u,g=m,p=e.ascaleX,x=0,w=0,b=0;u<0?(u=-u,x=180,b=-1):(x=0,b=1),m<0&&(m=-m,b=-b),p<0?(p=-p,w=180):w=0;let y=e.ax,k=0,v=0,C=0,S=t.a,A=t.b,I=t.c,T=t.d,M=Math.abs(u-m)<=1e-4;!M||a?(k=0,v=S*y+t.worldX,C=I*y+t.worldY):(k=e.ay,v=S*y+A*k+t.worldX,C=I*y+T*k+t.worldY);let F=t.parent;if(!F)throw new Error("IK parent must itself have a parent.");S=F.a,A=F.b,I=F.c,T=F.d;let Y=S*T-A*I,X=v-F.worldX,P=C-F.worldY;Y=Math.abs(Y)<=1e-4?0:1/Y;let B,R,E=(X*T-P*A)*Y-h,D=(P*S-X*I)*Y-d,V=Math.sqrt(E*E+D*D),L=e.data.length*p;if(V<1e-4)return this.apply1(t,s,n,!1,a,!1,l),void e.updateWorldTransformWith(y,k,0,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY);X=s-F.worldX,P=n-F.worldY;let _=(X*T-P*A)*Y-h,O=(P*S-X*I)*Y-d,U=_*_+O*O;if(0!=o){o*=u*(p+1)*.5;let t=Math.sqrt(U),e=t-V-L*u+o;if(e>0){let s=Math.min(1,e/(2*o))-1;s=(e-o*(1-s*s))/t,_-=s*_,O-=s*O,U=_*_+O*O}}t:if(M){L*=u;let t=(U-V*V-L*L)/(2*V*L);t<-1?(t=-1,R=Math.PI*r):t>1?(t=1,R=0,a&&(S=(Math.sqrt(U)/(V+L)-1)*l+1,f*=S,i&&(g*=S))):R=Math.acos(t)*r,S=V+L*t,A=L*Math.sin(R),B=Math.atan2(O*S-_*A,_*S+O*A)}else{S=u*L,A=m*L;let t=S*S,e=A*A,s=Math.atan2(O,_);I=e*V*V+t*U-t*e;let n=-2*e*V,a=e-t;if(T=n*n-4*a*I,T>=0){let t=Math.sqrt(T);n<0&&(t=-t),t=.5*-(n+t);let e=t/a,i=I/t,o=Math.abs(e)<Math.abs(i)?e:i;if(e=U-o*o,e>=0){P=Math.sqrt(e)*r,B=s-Math.atan2(P,o),R=Math.atan2(P/m,(o-V)/u);break t}}let i=c.PI,o=V-S,l=o*o,h=0,d=0,f=V+S,g=f*f,p=0;I=-S*V/(t-e),I>=-1&&I<=1&&(I=Math.acos(I),X=S*Math.cos(I)+V,P=A*Math.sin(I),T=X*X+P*P,T<l&&(i=I,l=T,o=X,h=P),T>g&&(d=I,g=T,f=X,p=P)),U<=.5*(l+g)?(B=s-Math.atan2(h*r,o),R=i*r):(B=s-Math.atan2(p*r,f),R=d*r)}let N=Math.atan2(k,y)*b,q=t.arotation;B=(B-N)*c.radDeg+x-q,B>180?B-=360:B<-180&&(B+=360),t.updateWorldTransformWith(h,d,q+B*l,f,g,0,0),q=e.arotation,R=((R+N)*c.radDeg-e.ashearX)*b+w-q,R>180?R-=360:R<-180&&(R+=360),e.updateWorldTransformWith(y,k,q+R*l,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY)}},te=class extends Ht{bones=new Array;_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw new Error("BoneData not set.")}bendDirection=0;compress=!1;stretch=!1;uniform=!1;mix=0;softness=0;constructor(t){super(t,0,!1)}},ee=class extends Ht{bones=new Array;_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw new Error("SlotData not set.")}positionMode=se.Fixed;spacingMode=ne.Fixed;rotateMode=re.Chain;offsetRotation=0;position=0;spacing=0;mixRotate=0;mixX=0;mixY=0;constructor(t){super(t,0,!1)}},se=(t=>(t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent",t))(se||{}),ne=(t=>(t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent",t[t.Proportional=3]="Proportional",t))(ne||{}),re=(t=>(t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale",t))(re||{}),ae=class{data;bones;target;position=0;spacing=0;mixRotate=0;mixX=0;mixY=0;spaces=new Array;positions=new Array;world=new Array;curves=new Array;lengths=new Array;segments=new Array;active=!1;constructor(t,e){if(!t)throw new Error("data cannot be null.");if(!e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(let s=0,n=t.bones.length;s<n;s++){let n=e.findBone(t.bones[s].name);if(!n)throw new Error(`Couldn't find bone ${t.bones[s].name}.`);this.bones.push(n)}let s=e.findSlot(t.target.name);if(!s)throw new Error(`Couldn't find target bone ${t.target.name}`);this.target=s,this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}isActive(){return this.active}setToSetupPose(){const t=this.data;this.position=t.position,this.spacing=t.spacing,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY}update(t){let e=this.target.getAttachment();if(!(e instanceof Ut))return;let s=this.mixRotate,n=this.mixX,r=this.mixY;if(0==s&&0==n&&0==r)return;let a=this.data,i=0==a.rotateMode,o=2==a.rotateMode,l=this.bones,h=l.length,d=i?h:h+1,u=f.setArraySize(this.spaces,d),m=o?this.lengths=f.setArraySize(this.lengths,h):[],g=this.spacing;switch(a.spacingMode){case 2:if(o)for(let t=0,e=d-1;t<e;t++){let e=l[t],s=e.data.length,n=s*e.a,r=s*e.c;m[t]=Math.sqrt(n*n+r*r)}f.arrayFill(u,1,d,g);break;case 3:let t=0;for(let e=0,s=d-1;e<s;){let s=l[e],n=s.data.length;if(n<ae.epsilon)o&&(m[e]=0),u[++e]=g;else{let r=n*s.a,a=n*s.c,i=Math.sqrt(r*r+a*a);o&&(m[e]=i),u[++e]=i,t+=i}}if(t>0){t=d/t*g;for(let e=1;e<d;e++)u[e]*=t}break;default:let e=0==a.spacingMode;for(let t=0,s=d-1;t<s;){let s=l[t],n=s.data.length;if(n<ae.epsilon)o&&(m[t]=0),u[++t]=g;else{let r=n*s.a,a=n*s.c,i=Math.sqrt(r*r+a*a);o&&(m[t]=i),u[++t]=(e?n+g:g)*i/n}}}let p=this.computeWorldPositions(e,d,i),x=p[0],w=p[1],b=a.offsetRotation,y=!1;if(0==b)y=1==a.rotateMode;else{y=!1;let t=this.target.bone;b*=t.a*t.d-t.b*t.c>0?c.degRad:-c.degRad}for(let t=0,e=3;t<h;t++,e+=3){let a=l[t];a.worldX+=(x-a.worldX)*n,a.worldY+=(w-a.worldY)*r;let h=p[e],d=p[e+1],f=h-x,g=d-w;if(o){let e=m[t];if(0!=e){let t=(Math.sqrt(f*f+g*g)/e-1)*s+1;a.a*=t,a.c*=t}}if(x=h,w=d,s>0){let n=a.a,r=a.b,o=a.c,l=a.d,h=0,d=0,m=0;if(h=i?p[e-1]:0==u[t+1]?p[e+2]:Math.atan2(g,f),h-=Math.atan2(o,n),y){d=Math.cos(h),m=Math.sin(h);let t=a.data.length;x+=(t*(d*n-m*o)-f)*s,w+=(t*(m*n+d*o)-g)*s}else h+=b;h>c.PI?h-=c.PI2:h<-c.PI&&(h+=c.PI2),h*=s,d=Math.cos(h),m=Math.sin(h),a.a=d*n-m*o,a.b=d*r-m*l,a.c=m*n+d*o,a.d=m*r+d*l}a.updateAppliedTransform()}}computeWorldPositions(t,e,s){let n=this.target,r=this.position,a=this.spaces,i=f.setArraySize(this.positions,3*e+2),o=this.world,l=t.closed,h=t.worldVerticesLength,c=h/6,d=ae.NONE;if(!t.constantSpeed){let u=t.lengths;c-=l?1:2;let m,g=u[c];switch(1==this.data.positionMode&&(r*=g),this.data.spacingMode){case 2:m=g;break;case 3:m=g/e;break;default:m=1}o=f.setArraySize(this.world,8);for(let f=0,p=0,x=0;f<e;f++,p+=3){let e=a[f]*m;r+=e;let w=r;if(l)w%=g,w<0&&(w+=g),x=0;else{if(w<0){d!=ae.BEFORE&&(d=ae.BEFORE,t.computeWorldVertices(n,2,4,o,0,2)),this.addBeforePosition(w,o,0,i,p);continue}if(w>g){d!=ae.AFTER&&(d=ae.AFTER,t.computeWorldVertices(n,h-6,4,o,0,2)),this.addAfterPosition(w-g,o,0,i,p);continue}}for(;;x++){let t=u[x];if(!(w>t)){if(0==x)w/=t;else{let e=u[x-1];w=(w-e)/(t-e)}break}}x!=d&&(d=x,l&&x==c?(t.computeWorldVertices(n,h-4,4,o,0,2),t.computeWorldVertices(n,0,4,o,4,2)):t.computeWorldVertices(n,6*x+2,8,o,0,2)),this.addCurvePosition(w,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],i,p,s||f>0&&0==e)}return i}l?(h+=2,o=f.setArraySize(this.world,h),t.computeWorldVertices(n,2,h-4,o,0,2),t.computeWorldVertices(n,0,2,o,h-4,2),o[h-2]=o[0],o[h-1]=o[1]):(c--,h-=4,o=f.setArraySize(this.world,h),t.computeWorldVertices(n,2,h,o,0,2));let u,m=f.setArraySize(this.curves,c),g=0,p=o[0],x=o[1],w=0,b=0,y=0,k=0,v=0,C=0,S=0,A=0,I=0,T=0,M=0,F=0,Y=0,X=0;for(let t=0,e=2;t<c;t++,e+=6)w=o[e],b=o[e+1],y=o[e+2],k=o[e+3],v=o[e+4],C=o[e+5],S=.1875*(p-2*w+y),A=.1875*(x-2*b+k),I=.09375*(3*(w-y)-p+v),T=.09375*(3*(b-k)-x+C),M=2*S+I,F=2*A+T,Y=.75*(w-p)+S+.16666667*I,X=.75*(b-x)+A+.16666667*T,g+=Math.sqrt(Y*Y+X*X),Y+=M,X+=F,M+=I,F+=T,g+=Math.sqrt(Y*Y+X*X),Y+=M,X+=F,g+=Math.sqrt(Y*Y+X*X),Y+=M+I,X+=F+T,g+=Math.sqrt(Y*Y+X*X),m[t]=g,p=v,x=C;switch(1==this.data.positionMode&&(r*=g),this.data.spacingMode){case 2:u=g;break;case 3:u=g/e;break;default:u=1}let P=this.segments,B=0;for(let t=0,n=0,c=0,f=0;t<e;t++,n+=3){let e=a[t]*u;r+=e;let R=r;if(l)R%=g,R<0&&(R+=g),c=0;else{if(R<0){this.addBeforePosition(R,o,0,i,n);continue}if(R>g){this.addAfterPosition(R-g,o,h-4,i,n);continue}}for(;;c++){let t=m[c];if(!(R>t)){if(0==c)R/=t;else{let e=m[c-1];R=(R-e)/(t-e)}break}}if(c!=d){d=c;let t=6*c;for(p=o[t],x=o[t+1],w=o[t+2],b=o[t+3],y=o[t+4],k=o[t+5],v=o[t+6],C=o[t+7],S=.03*(p-2*w+y),A=.03*(x-2*b+k),I=.006*(3*(w-y)-p+v),T=.006*(3*(b-k)-x+C),M=2*S+I,F=2*A+T,Y=.3*(w-p)+S+.16666667*I,X=.3*(b-x)+A+.16666667*T,B=Math.sqrt(Y*Y+X*X),P[0]=B,t=1;t<8;t++)Y+=M,X+=F,M+=I,F+=T,B+=Math.sqrt(Y*Y+X*X),P[t]=B;Y+=M,X+=F,B+=Math.sqrt(Y*Y+X*X),P[8]=B,Y+=M+I,X+=F+T,B+=Math.sqrt(Y*Y+X*X),P[9]=B,f=0}for(R*=B;;f++){let t=P[f];if(!(R>t)){if(0==f)R/=t;else{let e=P[f-1];R=f+(R-e)/(t-e)}break}}this.addCurvePosition(.1*R,p,x,w,b,y,k,v,C,i,n,s||t>0&&0==e)}return i}addBeforePosition(t,e,s,n,r){let a=e[s],i=e[s+1],o=e[s+2]-a,l=e[s+3]-i,h=Math.atan2(l,o);n[r]=a+t*Math.cos(h),n[r+1]=i+t*Math.sin(h),n[r+2]=h}addAfterPosition(t,e,s,n,r){let a=e[s+2],i=e[s+3],o=a-e[s],l=i-e[s+1],h=Math.atan2(l,o);n[r]=a+t*Math.cos(h),n[r+1]=i+t*Math.sin(h),n[r+2]=h}addCurvePosition(t,e,s,n,r,a,i,o,l,h,c,d){if(0==t||isNaN(t))return h[c]=e,h[c+1]=s,void(h[c+2]=Math.atan2(r-s,n-e));let u=t*t,m=u*t,f=1-t,g=f*f,p=g*f,x=f*t,w=3*x,b=f*w,y=w*t,k=e*p+n*b+a*y+o*m,v=s*p+r*b+i*y+l*m;h[c]=k,h[c+1]=v,d&&(h[c+2]=t<.001?Math.atan2(r-s,n-e):Math.atan2(v-(s*g+r*x*2+i*u),k-(e*g+n*x*2+a*u)))}},ie=ae;a(ie,"NONE",-1),a(ie,"BEFORE",-2),a(ie,"AFTER",-3),a(ie,"epsilon",1e-5);var oe=class{data;_bone=null;set bone(t){this._bone=t}get bone(){if(this._bone)return this._bone;throw new Error("Bone not set.")}inertia=0;strength=0;damping=0;massInverse=0;wind=0;gravity=0;mix=0;_reset=!0;ux=0;uy=0;cx=0;cy=0;tx=0;ty=0;xOffset=0;xVelocity=0;yOffset=0;yVelocity=0;rotateOffset=0;rotateVelocity=0;scaleOffset=0;scaleVelocity=0;active=!1;skeleton;remaining=0;lastTime=0;constructor(t,e){this.data=t,this.skeleton=e,this.bone=e.bones[t.bone.index],this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}reset(){this.remaining=0,this.lastTime=this.skeleton.time,this._reset=!0,this.xOffset=0,this.xVelocity=0,this.yOffset=0,this.yVelocity=0,this.rotateOffset=0,this.rotateVelocity=0,this.scaleOffset=0,this.scaleVelocity=0}setToSetupPose(){const t=this.data;this.inertia=t.inertia,this.strength=t.strength,this.damping=t.damping,this.massInverse=t.massInverse,this.wind=t.wind,this.gravity=t.gravity,this.mix=t.mix}isActive(){return this.active}update(t){const e=this.mix;if(0==e)return;const s=this.data.x>0,n=this.data.y>0,r=this.data.rotate>0||this.data.shearX>0,a=this.data.scaleX>0,i=this.bone,o=i.data.length;switch(t){case 0:return;case 1:this.reset();case 2:const t=this.skeleton,l=Math.max(this.skeleton.time-this.lastTime,0);this.remaining+=l,this.lastTime=t.time;const h=i.worldX,d=i.worldY;if(this._reset)this._reset=!1,this.ux=h,this.uy=d;else{let u=this.remaining,m=this.inertia,f=this.data.step,g=this.skeleton.data.referenceScale,p=-1,x=this.data.limit*l,w=x*Math.abs(t.scaleY);if(x*=Math.abs(t.scaleX),s||n){if(s){const t=(this.ux-h)*m;this.xOffset+=t>x?x:t<-x?-x:t,this.ux=h}if(n){const t=(this.uy-d)*m;this.yOffset+=t>w?w:t<-w?-w:t,this.uy=d}if(u>=f){p=Math.pow(this.damping,60*f);const t=this.massInverse*f,e=this.strength,r=this.wind*g,a=(de.yDown?-this.gravity:this.gravity)*g;do{s&&(this.xVelocity+=(r-this.xOffset*e)*t,this.xOffset+=this.xVelocity*f,this.xVelocity*=p),n&&(this.yVelocity-=(a+this.yOffset*e)*t,this.yOffset+=this.yVelocity*f,this.yVelocity*=p),u-=f}while(u>=f)}s&&(i.worldX+=this.xOffset*e*this.data.x),n&&(i.worldY+=this.yOffset*e*this.data.y)}if(r||a){let t=Math.atan2(i.c,i.a),s=0,n=0,l=0,h=this.cx-i.worldX,d=this.cy-i.worldY;if(h>x?h=x:h<-x&&(h=-x),d>w?d=w:d<-w&&(d=-w),r){l=(this.data.rotate+this.data.shearX)*e;let r=Math.atan2(d+this.ty,h+this.tx)-t-this.rotateOffset*l;this.rotateOffset+=(r-Math.ceil(r*c.invPI2-.5)*c.PI2)*m,r=this.rotateOffset*l+t,s=Math.cos(r),n=Math.sin(r),a&&(r=o*i.getWorldScaleX(),r>0&&(this.scaleOffset+=(h*s+d*n)*m/r))}else{s=Math.cos(t),n=Math.sin(t);const e=o*i.getWorldScaleX();e>0&&(this.scaleOffset+=(h*s+d*n)*m/e)}if(u=this.remaining,u>=f){-1==p&&(p=Math.pow(this.damping,60*f));const e=this.massInverse*f,i=this.strength,h=this.wind,c=de.yDown?-this.gravity:this.gravity,d=o/g;for(;;)if(u-=f,a&&(this.scaleVelocity+=(h*s-c*n-this.scaleOffset*i)*e,this.scaleOffset+=this.scaleVelocity*f,this.scaleVelocity*=p),r){if(this.rotateVelocity-=((h*n+c*s)*d+this.rotateOffset*i)*e,this.rotateOffset+=this.rotateVelocity*f,this.rotateVelocity*=p,u<f)break;const r=this.rotateOffset*l+t;s=Math.cos(r),n=Math.sin(r)}else if(u<f)break}}this.remaining=u}this.cx=i.worldX,this.cy=i.worldY;break;case 3:s&&(i.worldX+=this.xOffset*e*this.data.x),n&&(i.worldY+=this.yOffset*e*this.data.y)}if(r){let t=this.rotateOffset*e,s=0,n=0,r=0;if(this.data.shearX>0){let e=0;this.data.rotate>0&&(e=t*this.data.rotate,s=Math.sin(e),n=Math.cos(e),r=i.b,i.b=n*r-s*i.d,i.d=s*r+n*i.d),e+=t*this.data.shearX,s=Math.sin(e),n=Math.cos(e),r=i.a,i.a=n*r-s*i.c,i.c=s*r+n*i.c}else t*=this.data.rotate,s=Math.sin(t),n=Math.cos(t),r=i.a,i.a=n*r-s*i.c,i.c=s*r+n*i.c,r=i.b,i.b=n*r-s*i.d,i.d=s*r+n*i.d}if(a){const t=1+this.scaleOffset*e*this.data.scaleX;i.a*=t,i.c*=t}3!=t&&(this.tx=o*i.a,this.ty=o*i.c),i.updateAppliedTransform()}translate(t,e){this.ux-=t,this.uy-=e,this.cx-=t,this.cy-=e}rotate(t,e,s){const n=s*c.degRad,r=Math.cos(n),a=Math.sin(n),i=this.cx-t,o=this.cy-e;this.translate(i*r-o*a-i,i*a+o*r-o)}},le=class{data;bone;color;darkColor=null;attachment=null;attachmentState=0;sequenceIndex=-1;deform=new Array;constructor(t,e){if(!t)throw new Error("data cannot be null.");if(!e)throw new Error("bone cannot be null.");this.data=t,this.bone=e,this.color=new l,this.darkColor=t.darkColor?new l:null,this.setToSetupPose()}getSkeleton(){return this.bone.skeleton}getAttachment(){return this.attachment}setAttachment(t){this.attachment!=t&&(t instanceof b&&this.attachment instanceof b&&t.timelineAttachment==this.attachment.timelineAttachment||(this.deform.length=0),this.attachment=t,this.sequenceIndex=-1)}setToSetupPose(){this.color.setFromColor(this.data.color),this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),this.data.attachmentName?(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName))):this.attachment=null}},he=class{data;bones;target;mixRotate=0;mixX=0;mixY=0;mixScaleX=0;mixScaleY=0;mixShearY=0;temp=new p;active=!1;constructor(t,e){if(!t)throw new Error("data cannot be null.");if(!e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(let s=0;s<t.bones.length;s++){let n=e.findBone(t.bones[s].name);if(!n)throw new Error(`Couldn't find bone ${t.bones[s].name}.`);this.bones.push(n)}let s=e.findBone(t.target.name);if(!s)throw new Error(`Couldn't find target bone ${t.target.name}.`);this.target=s,this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}isActive(){return this.active}setToSetupPose(){const t=this.data;this.mixRotate=t.mixRotate,this.mixX=t.mixX,this.mixY=t.mixY,this.mixScaleX=t.mixScaleX,this.mixScaleY=t.mixScaleY,this.mixShearY=t.mixShearY}update(t){0==this.mixRotate&&0==this.mixX&&0==this.mixY&&0==this.mixScaleX&&0==this.mixScaleY&&0==this.mixShearY||(this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld())}applyAbsoluteWorld(){let t=this.mixRotate,e=this.mixX,s=this.mixY,n=this.mixScaleX,r=this.mixScaleY,a=this.mixShearY,i=0!=e||0!=s,o=this.target,l=o.a,h=o.b,d=o.c,u=o.d,m=l*u-h*d>0?c.degRad:-c.degRad,f=this.data.offsetRotation*m,g=this.data.offsetShearY*m,p=this.bones;for(let m=0,x=p.length;m<x;m++){let x=p[m];if(0!=t){let e=x.a,s=x.b,n=x.c,r=x.d,a=Math.atan2(d,l)-Math.atan2(n,e)+f;a>c.PI?a-=c.PI2:a<-c.PI&&(a+=c.PI2),a*=t;let i=Math.cos(a),o=Math.sin(a);x.a=i*e-o*n,x.b=i*s-o*r,x.c=o*e+i*n,x.d=o*s+i*r}if(i){let t=this.temp;o.localToWorld(t.set(this.data.offsetX,this.data.offsetY)),x.worldX+=(t.x-x.worldX)*e,x.worldY+=(t.y-x.worldY)*s}if(0!=n){let t=Math.sqrt(x.a*x.a+x.c*x.c);0!=t&&(t=(t+(Math.sqrt(l*l+d*d)-t+this.data.offsetScaleX)*n)/t),x.a*=t,x.c*=t}if(0!=r){let t=Math.sqrt(x.b*x.b+x.d*x.d);0!=t&&(t=(t+(Math.sqrt(h*h+u*u)-t+this.data.offsetScaleY)*r)/t),x.b*=t,x.d*=t}if(a>0){let t=x.b,e=x.d,s=Math.atan2(e,t),n=Math.atan2(u,h)-Math.atan2(d,l)-(s-Math.atan2(x.c,x.a));n>c.PI?n-=c.PI2:n<-c.PI&&(n+=c.PI2),n=s+(n+g)*a;let r=Math.sqrt(t*t+e*e);x.b=Math.cos(n)*r,x.d=Math.sin(n)*r}x.updateAppliedTransform()}}applyRelativeWorld(){let t=this.mixRotate,e=this.mixX,s=this.mixY,n=this.mixScaleX,r=this.mixScaleY,a=this.mixShearY,i=0!=e||0!=s,o=this.target,l=o.a,h=o.b,d=o.c,u=o.d,m=l*u-h*d>0?c.degRad:-c.degRad,f=this.data.offsetRotation*m,g=this.data.offsetShearY*m,p=this.bones;for(let m=0,x=p.length;m<x;m++){let x=p[m];if(0!=t){let e=x.a,s=x.b,n=x.c,r=x.d,a=Math.atan2(d,l)+f;a>c.PI?a-=c.PI2:a<-c.PI&&(a+=c.PI2),a*=t;let i=Math.cos(a),o=Math.sin(a);x.a=i*e-o*n,x.b=i*s-o*r,x.c=o*e+i*n,x.d=o*s+i*r}if(i){let t=this.temp;o.localToWorld(t.set(this.data.offsetX,this.data.offsetY)),x.worldX+=t.x*e,x.worldY+=t.y*s}if(0!=n){let t=(Math.sqrt(l*l+d*d)-1+this.data.offsetScaleX)*n+1;x.a*=t,x.c*=t}if(0!=r){let t=(Math.sqrt(h*h+u*u)-1+this.data.offsetScaleY)*r+1;x.b*=t,x.d*=t}if(a>0){let t=Math.atan2(u,h)-Math.atan2(d,l);t>c.PI?t-=c.PI2:t<-c.PI&&(t+=c.PI2);let e=x.b,s=x.d;t=Math.atan2(s,e)+(t-c.PI/2+g)*a;let n=Math.sqrt(e*e+s*s);x.b=Math.cos(t)*n,x.d=Math.sin(t)*n}x.updateAppliedTransform()}}applyAbsoluteLocal(){let t=this.mixRotate,e=this.mixX,s=this.mixY,n=this.mixScaleX,r=this.mixScaleY,a=this.mixShearY,i=this.target,o=this.bones;for(let l=0,h=o.length;l<h;l++){let h=o[l],c=h.arotation;0!=t&&(c+=(i.arotation-c+this.data.offsetRotation)*t);let d=h.ax,u=h.ay;d+=(i.ax-d+this.data.offsetX)*e,u+=(i.ay-u+this.data.offsetY)*s;let m=h.ascaleX,f=h.ascaleY;0!=n&&0!=m&&(m=(m+(i.ascaleX-m+this.data.offsetScaleX)*n)/m),0!=r&&0!=f&&(f=(f+(i.ascaleY-f+this.data.offsetScaleY)*r)/f);let g=h.ashearY;0!=a&&(g+=(i.ashearY-g+this.data.offsetShearY)*a),h.updateWorldTransformWith(d,u,c,m,f,h.ashearX,g)}}applyRelativeLocal(){let t=this.mixRotate,e=this.mixX,s=this.mixY,n=this.mixScaleX,r=this.mixScaleY,a=this.mixShearY,i=this.target,o=this.bones;for(let l=0,h=o.length;l<h;l++){let h=o[l],c=h.arotation+(i.arotation+this.data.offsetRotation)*t,d=h.ax+(i.ax+this.data.offsetX)*e,u=h.ay+(i.ay+this.data.offsetY)*s,m=h.ascaleX*((i.ascaleX-1+this.data.offsetScaleX)*n+1),f=h.ascaleY*((i.ascaleY-1+this.data.offsetScaleY)*r+1),g=h.ashearY+(i.ashearY+this.data.offsetShearY)*a;h.updateWorldTransformWith(d,u,c,m,f,h.ashearX,g)}}},ce=class{data;bones;slots;drawOrder;ikConstraints;transformConstraints;pathConstraints;physicsConstraints;_updateCache=new Array;skin=null;color;scaleX=1;_scaleY=1;get scaleY(){return ce.yDown?-this._scaleY:this._scaleY}set scaleY(t){this._scaleY=t}x=0;y=0;time=0;constructor(t){if(!t)throw new Error("data cannot be null.");this.data=t,this.bones=new Array;for(let e=0;e<t.bones.length;e++){let s,n=t.bones[e];if(n.parent){let t=this.bones[n.parent.index];s=new jt(n,this,t),t.children.push(s)}else s=new jt(n,this,null);this.bones.push(s)}this.slots=new Array,this.drawOrder=new Array;for(let e=0;e<t.slots.length;e++){let s=t.slots[e],n=this.bones[s.boneData.index],r=new le(s,n);this.slots.push(r),this.drawOrder.push(r)}this.ikConstraints=new Array;for(let e=0;e<t.ikConstraints.length;e++){let s=t.ikConstraints[e];this.ikConstraints.push(new Zt(s,this))}this.transformConstraints=new Array;for(let e=0;e<t.transformConstraints.length;e++){let s=t.transformConstraints[e];this.transformConstraints.push(new he(s,this))}this.pathConstraints=new Array;for(let e=0;e<t.pathConstraints.length;e++){let s=t.pathConstraints[e];this.pathConstraints.push(new ie(s,this))}this.physicsConstraints=new Array;for(let e=0;e<t.physicsConstraints.length;e++){let s=t.physicsConstraints[e];this.physicsConstraints.push(new oe(s,this))}this.color=new l(1,1,1,1),this.updateCache()}updateCache(){this._updateCache.length=0;let t=this.bones;for(let e=0,s=t.length;e<s;e++){let s=t[e];s.sorted=s.data.skinRequired,s.active=!s.sorted}if(this.skin){let t=this.skin.bones;for(let e=0,s=this.skin.bones.length;e<s;e++){let s=this.bones[t[e].index];do{s.sorted=!1,s.active=!0,s=s.parent}while(s)}}let e=this.ikConstraints,s=this.transformConstraints,n=this.pathConstraints,r=this.physicsConstraints,a=e.length,i=s.length,o=n.length,l=this.physicsConstraints.length,h=a+i+o+l;t:for(let t=0;t<h;t++){for(let s=0;s<a;s++){let n=e[s];if(n.data.order==t){this.sortIkConstraint(n);continue t}}for(let e=0;e<i;e++){let n=s[e];if(n.data.order==t){this.sortTransformConstraint(n);continue t}}for(let e=0;e<o;e++){let s=n[e];if(s.data.order==t){this.sortPathConstraint(s);continue t}}for(let e=0;e<l;e++){const s=r[e];if(s.data.order==t){this.sortPhysicsConstraint(s);continue t}}}for(let e=0,s=t.length;e<s;e++)this.sortBone(t[e])}sortIkConstraint(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||this.skin&&f.contains(this.skin.constraints,t.data,!0)),!t.active)return;let e=t.target;this.sortBone(e);let s=t.bones,n=s[0];if(this.sortBone(n),1==s.length)this._updateCache.push(t),this.sortReset(n.children);else{let e=s[s.length-1];this.sortBone(e),this._updateCache.push(t),this.sortReset(n.children),e.sorted=!0}}sortPathConstraint(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||this.skin&&f.contains(this.skin.constraints,t.data,!0)),!t.active)return;let e=t.target,s=e.data.index,n=e.bone;this.skin&&this.sortPathConstraintAttachment(this.skin,s,n),this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,s,n);for(let t=0,e=this.data.skins.length;t<e;t++)this.sortPathConstraintAttachment(this.data.skins[t],s,n);let r=e.getAttachment();r instanceof Ut&&this.sortPathConstraintAttachmentWith(r,n);let a=t.bones,i=a.length;for(let t=0;t<i;t++)this.sortBone(a[t]);this._updateCache.push(t);for(let t=0;t<i;t++)this.sortReset(a[t].children);for(let t=0;t<i;t++)a[t].sorted=!0}sortTransformConstraint(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||this.skin&&f.contains(this.skin.constraints,t.data,!0)),!t.active)return;this.sortBone(t.target);let e=t.bones,s=e.length;if(t.data.local)for(let t=0;t<s;t++){let s=e[t];this.sortBone(s.parent),this.sortBone(s)}else for(let t=0;t<s;t++)this.sortBone(e[t]);this._updateCache.push(t);for(let t=0;t<s;t++)this.sortReset(e[t].children);for(let t=0;t<s;t++)e[t].sorted=!0}sortPathConstraintAttachment(t,e,s){let n=t.attachments[e];if(n)for(let t in n)this.sortPathConstraintAttachmentWith(n[t],s)}sortPathConstraintAttachmentWith(t,e){if(!(t instanceof Ut))return;let s=t.bones;if(s){let t=this.bones;for(let e=0,n=s.length;e<n;){let n=s[e++];for(n+=e;e<n;)this.sortBone(t[s[e++]])}}else this.sortBone(e)}sortPhysicsConstraint(t){const e=t.bone;t.active=e.active&&(!t.data.skinRequired||null!=this.skin&&f.contains(this.skin.constraints,t.data,!0)),t.active&&(this.sortBone(e),this._updateCache.push(t),this.sortReset(e.children),e.sorted=!0)}sortBone(t){if(!t)return;if(t.sorted)return;let e=t.parent;e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}sortReset(t){for(let e=0,s=t.length;e<s;e++){let s=t[e];s.active&&(s.sorted&&this.sortReset(s.children),s.sorted=!1)}}updateWorldTransform(t){if(null==t)throw new Error("physics is undefined");let e=this.bones;for(let t=0,s=e.length;t<s;t++){let s=e[t];s.ax=s.x,s.ay=s.y,s.arotation=s.rotation,s.ascaleX=s.scaleX,s.ascaleY=s.scaleY,s.ashearX=s.shearX,s.ashearY=s.shearY}let s=this._updateCache;for(let e=0,n=s.length;e<n;e++)s[e].update(t)}updateWorldTransformWith(t,e){if(!e)throw new Error("parent cannot be null.");let s=this.bones;for(let t=1,e=s.length;t<e;t++){let e=s[t];e.ax=e.x,e.ay=e.y,e.arotation=e.rotation,e.ascaleX=e.scaleX,e.ascaleY=e.scaleY,e.ashearX=e.shearX,e.ashearY=e.shearY}let n=this.getRootBone();if(!n)throw new Error("Root bone must not be null.");let r=e.a,a=e.b,i=e.c,o=e.d;n.worldX=r*this.x+a*this.y+e.worldX,n.worldY=i*this.x+o*this.y+e.worldY;const l=(n.rotation+n.shearX)*c.degRad,h=(n.rotation+90+n.shearY)*c.degRad,d=Math.cos(l)*n.scaleX,u=Math.cos(h)*n.scaleY,m=Math.sin(l)*n.scaleX,f=Math.sin(h)*n.scaleY;n.a=(r*d+a*m)*this.scaleX,n.b=(r*u+a*f)*this.scaleX,n.c=(i*d+o*m)*this.scaleY,n.d=(i*u+o*f)*this.scaleY;let g=this._updateCache;for(let e=0,s=g.length;e<s;e++){let s=g[e];s!=n&&s.update(t)}}setToSetupPose(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()}setBonesToSetupPose(){for(const t of this.bones)t.setToSetupPose();for(const t of this.ikConstraints)t.setToSetupPose();for(const t of this.transformConstraints)t.setToSetupPose();for(const t of this.pathConstraints)t.setToSetupPose();for(const t of this.physicsConstraints)t.setToSetupPose()}setSlotsToSetupPose(){let t=this.slots;f.arrayCopy(t,0,this.drawOrder,0,t.length);for(let e=0,s=t.length;e<s;e++)t[e].setToSetupPose()}getRootBone(){return 0==this.bones.length?null:this.bones[0]}findBone(t){if(!t)throw new Error("boneName cannot be null.");let e=this.bones;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.data.name==t)return n}return null}findSlot(t){if(!t)throw new Error("slotName cannot be null.");let e=this.slots;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.data.name==t)return n}return null}setSkinByName(t){let e=this.data.findSkin(t);if(!e)throw new Error("Skin not found: "+t);this.setSkin(e)}setSkin(t){if(t!=this.skin){if(t)if(this.skin)t.attachAll(this,this.skin);else{let e=this.slots;for(let s=0,n=e.length;s<n;s++){let n=e[s],r=n.data.attachmentName;if(r){let e=t.getAttachment(s,r);e&&n.setAttachment(e)}}}this.skin=t,this.updateCache()}}getAttachmentByName(t,e){let s=this.data.findSlot(t);if(!s)throw new Error(`Can't find slot with name ${t}`);return this.getAttachment(s.index,e)}getAttachment(t,e){if(!e)throw new Error("attachmentName cannot be null.");if(this.skin){let s=this.skin.getAttachment(t,e);if(s)return s}return this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null}setAttachment(t,e){if(!t)throw new Error("slotName cannot be null.");let s=this.slots;for(let n=0,r=s.length;n<r;n++){let r=s[n];if(r.data.name==t){let s=null;if(e&&(s=this.getAttachment(n,e),!s))throw new Error("Attachment not found: "+e+", for slot: "+t);return void r.setAttachment(s)}}throw new Error("Slot not found: "+t)}findIkConstraint(t){if(!t)throw new Error("constraintName cannot be null.");return this.ikConstraints.find((e=>e.data.name==t))??null}findTransformConstraint(t){if(!t)throw new Error("constraintName cannot be null.");return this.transformConstraints.find((e=>e.data.name==t))??null}findPathConstraint(t){if(!t)throw new Error("constraintName cannot be null.");return this.pathConstraints.find((e=>e.data.name==t))??null}findPhysicsConstraint(t){if(null==t)throw new Error("constraintName cannot be null.");return this.physicsConstraints.find((e=>e.data.name==t))??null}getBoundsRect(){let t=new p,e=new p;return this.getBounds(t,e),{x:t.x,y:t.y,width:e.x,height:e.y}}getBounds(t,e,s=new Array(2),n=null){if(!t)throw new Error("offset cannot be null.");if(!e)throw new Error("size cannot be null.");let r=this.drawOrder,a=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY;for(let t=0,e=r.length;t<e;t++){let e=r[t];if(!e.bone.active)continue;let h=0,c=null,d=null,u=e.getAttachment();if(u instanceof Wt)h=8,c=f.setArraySize(s,h,0),u.computeWorldVertices(e,c,0,2),d=ce.quadTriangles;else if(u instanceof Ot){let t=u;h=t.worldVerticesLength,c=f.setArraySize(s,h,0),t.computeWorldVertices(e,0,h,c,0,2),d=t.triangles}else if(u instanceof Xt&&null!=n){n.clipStart(e,u);continue}if(c&&d){null!=n&&n.isClipping()&&(n.clipTriangles(c,d,d.length),c=n.clippedVertices,h=n.clippedVertices.length);for(let t=0,e=c.length;t<e;t+=2){let e=c[t],s=c[t+1];a=Math.min(a,e),i=Math.min(i,s),o=Math.max(o,e),l=Math.max(l,s)}}null!=n&&n.clipEndWithSlot(e)}null!=n&&n.clipEnd(),t.set(a,i),e.set(o-a,l-i)}update(t){this.time+=t}physicsTranslate(t,e){const s=this.physicsConstraints;for(let n=0,r=s.length;n<r;n++)s[n].translate(t,e)}physicsRotate(t,e,s){const n=this.physicsConstraints;for(let r=0,a=n.length;r<a;r++)n[r].rotate(t,e,s)}},de=ce;a(de,"quadTriangles",[0,1,2,2,3,0]),a(de,"yDown",!1);var ue=(t=>(t[t.none=0]="none",t[t.reset=1]="reset",t[t.update=2]="update",t[t.pose=3]="pose",t))(ue||{}),me=class extends Ht{_bone=null;set bone(t){this._bone=t}get bone(){if(this._bone)return this._bone;throw new Error("BoneData not set.")}x=0;y=0;rotate=0;scaleX=0;shearX=0;limit=0;step=0;inertia=0;strength=0;damping=0;massInverse=0;wind=0;gravity=0;mix=0;inertiaGlobal=!1;strengthGlobal=!1;dampingGlobal=!1;massGlobal=!1;windGlobal=!1;gravityGlobal=!1;mixGlobal=!1;constructor(t){super(t,0,!1)}},fe=class{name=null;bones=new Array;slots=new Array;skins=new Array;defaultSkin=null;events=new Array;animations=new Array;ikConstraints=new Array;transformConstraints=new Array;pathConstraints=new Array;physicsConstraints=new Array;x=0;y=0;width=0;height=0;referenceScale=100;version=null;hash=null;fps=0;imagesPath=null;audioPath=null;findBone(t){if(!t)throw new Error("boneName cannot be null.");let e=this.bones;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.name==t)return n}return null}findSlot(t){if(!t)throw new Error("slotName cannot be null.");let e=this.slots;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.name==t)return n}return null}findSkin(t){if(!t)throw new Error("skinName cannot be null.");let e=this.skins;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.name==t)return n}return null}findEvent(t){if(!t)throw new Error("eventDataName cannot be null.");let e=this.events;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.name==t)return n}return null}findAnimation(t){if(!t)throw new Error("animationName cannot be null.");let e=this.animations;for(let s=0,n=e.length;s<n;s++){let n=e[s];if(n.name==t)return n}return null}findIkConstraint(t){if(!t)throw new Error("constraintName cannot be null.");const e=this.ikConstraints;for(let s=0,n=e.length;s<n;s++){const n=e[s];if(n.name==t)return n}return null}findTransformConstraint(t){if(!t)throw new Error("constraintName cannot be null.");const e=this.transformConstraints;for(let s=0,n=e.length;s<n;s++){const n=e[s];if(n.name==t)return n}return null}findPathConstraint(t){if(!t)throw new Error("constraintName cannot be null.");const e=this.pathConstraints;for(let s=0,n=e.length;s<n;s++){const n=e[s];if(n.name==t)return n}return null}findPhysicsConstraint(t){if(!t)throw new Error("constraintName cannot be null.");const e=this.physicsConstraints;for(let s=0,n=e.length;s<n;s++){const n=e[s];if(n.name==t)return n}return null}},ge=class{constructor(t=0,e,s){this.slotIndex=t,this.name=e,this.attachment=s}},pe=class{name;attachments=new Array;bones=Array();constraints=new Array;color=new l(.99607843,.61960787,.30980393,1);constructor(t){if(!t)throw new Error("name cannot be null.");this.name=t}setAttachment(t,e,s){if(!s)throw new Error("attachment cannot be null.");let n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=s}addSkin(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e],n=!1;for(let t=0;t<this.bones.length;t++)if(this.bones[t]==s){n=!0;break}n||this.bones.push(s)}for(let e=0;e<t.constraints.length;e++){let s=t.constraints[e],n=!1;for(let t=0;t<this.constraints.length;t++)if(this.constraints[t]==s){n=!0;break}n||this.constraints.push(s)}let e=t.getAttachments();for(let t=0;t<e.length;t++){var s=e[t];this.setAttachment(s.slotIndex,s.name,s.attachment)}}copySkin(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e],n=!1;for(let t=0;t<this.bones.length;t++)if(this.bones[t]==s){n=!0;break}n||this.bones.push(s)}for(let e=0;e<t.constraints.length;e++){let s=t.constraints[e],n=!1;for(let t=0;t<this.constraints.length;t++)if(this.constraints[t]==s){n=!0;break}n||this.constraints.push(s)}let e=t.getAttachments();for(let t=0;t<e.length;t++){var s=e[t];s.attachment&&(s.attachment instanceof Ot?(s.attachment=s.attachment.newLinkedMesh(),this.setAttachment(s.slotIndex,s.name,s.attachment)):(s.attachment=s.attachment.copy(),this.setAttachment(s.slotIndex,s.name,s.attachment)))}}getAttachment(t,e){let s=this.attachments[t];return s?s[e]:null}removeAttachment(t,e){let s=this.attachments[t];s&&delete s[e]}getAttachments(){let t=new Array;for(var e=0;e<this.attachments.length;e++){let s=this.attachments[e];if(s)for(let n in s){let r=s[n];r&&t.push(new ge(e,n,r))}}return t}getAttachmentsForSlot(t,e){let s=this.attachments[t];if(s)for(let n in s){let r=s[n];r&&e.push(new ge(t,n,r))}}clear(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0}attachAll(t,e){let s=0;for(let n=0;n<t.slots.length;n++){let r=t.slots[n],a=r.getAttachment();if(a&&s<e.attachments.length){let t=e.attachments[s];for(let e in t){if(a==t[e]){let t=this.getAttachment(s,e);t&&r.setAttachment(t);break}}}s++}}},xe=class{index=0;name;boneData;color=new l(1,1,1,1);darkColor=null;attachmentName=null;blendMode=we.Normal;visible=!0;constructor(t,e,s){if(t<0)throw new Error("index must be >= 0.");if(!e)throw new Error("name cannot be null.");if(!s)throw new Error("boneData cannot be null.");this.index=t,this.name=e,this.boneData=s}},we=(t=>(t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen",t))(we||{}),be=class extends Ht{bones=new Array;_target=null;set target(t){this._target=t}get target(){if(this._target)return this._target;throw new Error("BoneData not set.")}mixRotate=0;mixX=0;mixY=0;mixScaleX=0;mixScaleY=0;mixShearY=0;offsetRotation=0;offsetX=0;offsetY=0;offsetScaleX=0;offsetScaleY=0;offsetShearY=0;relative=!1;local=!1;constructor(t){super(t,0,!1)}},ye=class{scale=1;attachmentLoader;linkedMeshes=new Array;constructor(t){this.attachmentLoader=t}readSkeletonData(t){let e=this.scale,s=new fe;s.name="";let n=new ke(t),r=n.readInt32(),a=n.readInt32();s.hash=0==a&&0==r?null:a.toString(16)+r.toString(16),s.version=n.readString(),s.x=n.readFloat(),s.y=n.readFloat(),s.width=n.readFloat(),s.height=n.readFloat(),s.referenceScale=n.readFloat()*e;let i=n.readBoolean();i&&(s.fps=n.readFloat(),s.imagesPath=n.readString(),s.audioPath=n.readString());let o=0;o=n.readInt(!0);for(let t=0;t<o;t++){let t=n.readString();if(!t)throw new Error("String in string table must not be null.");n.strings.push(t)}o=n.readInt(!0);for(let t=0;t<o;t++){let r=n.readString();if(!r)throw new Error("Bone name must not be null.");let a=0==t?null:s.bones[n.readInt(!0)],o=new Gt(t,r,a);o.rotation=n.readFloat(),o.x=n.readFloat()*e,o.y=n.readFloat()*e,o.scaleX=n.readFloat(),o.scaleY=n.readFloat(),o.shearX=n.readFloat(),o.shearY=n.readFloat(),o.length=n.readFloat()*e,o.inherit=n.readByte(),o.skinRequired=n.readBoolean(),i&&(l.rgba8888ToColor(o.color,n.readInt32()),o.icon=n.readString()??void 0,o.visible=n.readBoolean()),s.bones.push(o)}o=n.readInt(!0);for(let t=0;t<o;t++){let e=n.readString();if(!e)throw new Error("Slot name must not be null.");let r=s.bones[n.readInt(!0)],a=new xe(t,e,r);l.rgba8888ToColor(a.color,n.readInt32());let o=n.readInt32();-1!=o&&l.rgb888ToColor(a.darkColor=new l,o),a.attachmentName=n.readStringRef(),a.blendMode=n.readInt(!0),i&&(a.visible=n.readBoolean()),s.slots.push(a)}o=n.readInt(!0);for(let t,r=0;r<o;r++){let r=n.readString();if(!r)throw new Error("IK constraint data name must not be null.");let a=new te(r);a.order=n.readInt(!0),t=n.readInt(!0);for(let e=0;e<t;e++)a.bones.push(s.bones[n.readInt(!0)]);a.target=s.bones[n.readInt(!0)];let i=n.readByte();a.skinRequired=!!(1&i),a.bendDirection=2&i?1:-1,a.compress=!!(4&i),a.stretch=!!(8&i),a.uniform=!!(16&i),32&i&&(a.mix=64&i?n.readFloat():1),128&i&&(a.softness=n.readFloat()*e),s.ikConstraints.push(a)}o=n.readInt(!0);for(let t,r=0;r<o;r++){let r=n.readString();if(!r)throw new Error("Transform constraint data name must not be null.");let a=new be(r);a.order=n.readInt(!0),t=n.readInt(!0);for(let e=0;e<t;e++)a.bones.push(s.bones[n.readInt(!0)]);a.target=s.bones[n.readInt(!0)];let i=n.readByte();a.skinRequired=!!(1&i),a.local=!!(2&i),a.relative=!!(4&i),8&i&&(a.offsetRotation=n.readFloat()),16&i&&(a.offsetX=n.readFloat()*e),32&i&&(a.offsetY=n.readFloat()*e),64&i&&(a.offsetScaleX=n.readFloat()),128&i&&(a.offsetScaleY=n.readFloat()),i=n.readByte(),1&i&&(a.offsetShearY=n.readFloat()),2&i&&(a.mixRotate=n.readFloat()),4&i&&(a.mixX=n.readFloat()),8&i&&(a.mixY=n.readFloat()),16&i&&(a.mixScaleX=n.readFloat()),32&i&&(a.mixScaleY=n.readFloat()),64&i&&(a.mixShearY=n.readFloat()),s.transformConstraints.push(a)}o=n.readInt(!0);for(let t,r=0;r<o;r++){let r=n.readString();if(!r)throw new Error("Path constraint data name must not be null.");let a=new ee(r);a.order=n.readInt(!0),a.skinRequired=n.readBoolean(),t=n.readInt(!0);for(let e=0;e<t;e++)a.bones.push(s.bones[n.readInt(!0)]);a.target=s.slots[n.readInt(!0)];const i=n.readByte();a.positionMode=1&i,a.spacingMode=i>>1&3,a.rotateMode=i>>3&3,128&i&&(a.offsetRotation=n.readFloat()),a.position=n.readFloat(),0==a.positionMode&&(a.position*=e),a.spacing=n.readFloat(),0!=a.spacingMode&&1!=a.spacingMode||(a.spacing*=e),a.mixRotate=n.readFloat(),a.mixX=n.readFloat(),a.mixY=n.readFloat(),s.pathConstraints.push(a)}o=n.readInt(!0);for(let t=0;t<o;t++){const t=n.readString();if(!t)throw new Error("Physics constraint data name must not be null.");const r=new me(t);r.order=n.readInt(!0),r.bone=s.bones[n.readInt(!0)];let a=n.readByte();r.skinRequired=!!(1&a),2&a&&(r.x=n.readFloat()),4&a&&(r.y=n.readFloat()),8&a&&(r.rotate=n.readFloat()),16&a&&(r.scaleX=n.readFloat()),32&a&&(r.shearX=n.readFloat()),r.limit=(64&a?n.readFloat():5e3)*e,r.step=1/n.readUnsignedByte(),r.inertia=n.readFloat(),r.strength=n.readFloat(),r.damping=n.readFloat(),r.massInverse=128&a?n.readFloat():1,r.wind=n.readFloat(),r.gravity=n.readFloat(),a=n.readByte(),1&a&&(r.inertiaGlobal=!0),2&a&&(r.strengthGlobal=!0),4&a&&(r.dampingGlobal=!0),8&a&&(r.massGlobal=!0),16&a&&(r.windGlobal=!0),32&a&&(r.gravityGlobal=!0),64&a&&(r.mixGlobal=!0),r.mix=128&a?n.readFloat():1,s.physicsConstraints.push(r)}let h=this.readSkin(n,s,!0,i);h&&(s.defaultSkin=h,s.skins.push(h));{let t=s.skins.length;for(f.setArraySize(s.skins,o=t+n.readInt(!0));t<o;t++){let e=this.readSkin(n,s,!1,i);if(!e)throw new Error("readSkin() should not have returned null.");s.skins[t]=e}}o=this.linkedMeshes.length;for(let t=0;t<o;t++){let e=this.linkedMeshes[t];const n=s.skins[e.skinIndex];if(!e.parent)throw new Error("Linked mesh parent must not be null");let r=n.getAttachment(e.slotIndex,e.parent);if(!r)throw new Error(`Parent mesh not found: ${e.parent}`);e.mesh.timelineAttachment=e.inheritTimeline?r:e.mesh,e.mesh.setParentMesh(r),null!=e.mesh.region&&e.mesh.updateRegion()}this.linkedMeshes.length=0,o=n.readInt(!0);for(let t=0;t<o;t++){let t=n.readString();if(!t)throw new Error("Event data name must not be null");let e=new Qt(t);e.intValue=n.readInt(!1),e.floatValue=n.readFloat(),e.stringValue=n.readString(),e.audioPath=n.readString(),e.audioPath&&(e.volume=n.readFloat(),e.balance=n.readFloat()),s.events.push(e)}o=n.readInt(!0);for(let t=0;t<o;t++){let t=n.readString();if(!t)throw new Error("Animatio name must not be null.");s.animations.push(this.readAnimation(n,t,s))}return s}readSkin(t,e,s,n){let r=null,a=0;if(s){if(a=t.readInt(!0),0==a)return null;r=new pe("default")}else{let s=t.readString();if(!s)throw new Error("Skin name must not be null.");r=new pe(s),n&&l.rgba8888ToColor(r.color,t.readInt32()),r.bones.length=t.readInt(!0);for(let s=0,n=r.bones.length;s<n;s++)r.bones[s]=e.bones[t.readInt(!0)];for(let s=0,n=t.readInt(!0);s<n;s++)r.constraints.push(e.ikConstraints[t.readInt(!0)]);for(let s=0,n=t.readInt(!0);s<n;s++)r.constraints.push(e.transformConstraints[t.readInt(!0)]);for(let s=0,n=t.readInt(!0);s<n;s++)r.constraints.push(e.pathConstraints[t.readInt(!0)]);for(let s=0,n=t.readInt(!0);s<n;s++)r.constraints.push(e.physicsConstraints[t.readInt(!0)]);a=t.readInt(!0)}for(let s=0;s<a;s++){let s=t.readInt(!0);for(let a=0,i=t.readInt(!0);a<i;a++){let a=t.readStringRef();if(!a)throw new Error("Attachment name must not be null");let i=this.readAttachment(t,e,r,s,a,n);i&&r.setAttachment(s,a,i)}}return r}readAttachment(t,e,s,n,r,a){let i=this.scale,o=t.readByte();const h=8&o?t.readStringRef():r;if(!h)throw new Error("Attachment name must not be null");switch(7&o){case Se.Region:{let e=16&o?t.readStringRef():null;const n=32&o?t.readInt32():4294967295,r=64&o?this.readSequence(t):null;let a=128&o?t.readFloat():0,c=t.readFloat(),d=t.readFloat(),u=t.readFloat(),m=t.readFloat(),f=t.readFloat(),g=t.readFloat();e||(e=h);let p=this.attachmentLoader.newRegionAttachment(s,h,e,r);return p?(p.path=e,p.x=c*i,p.y=d*i,p.scaleX=u,p.scaleY=m,p.rotation=a,p.width=f*i,p.height=g*i,l.rgba8888ToColor(p.color,n),p.sequence=r,null==r&&p.updateRegion(),p):null}case Se.BoundingBox:{let e=this.readVertices(t,!!(16&o)),n=a?t.readInt32():0,r=this.attachmentLoader.newBoundingBoxAttachment(s,h);return r?(r.worldVerticesLength=e.length,r.vertices=e.vertices,r.bones=e.bones,a&&l.rgba8888ToColor(r.color,n),r):null}case Se.Mesh:{let e=16&o?t.readStringRef():h;const n=32&o?t.readInt32():4294967295,r=64&o?this.readSequence(t):null,c=t.readInt(!0),d=this.readVertices(t,!!(128&o)),u=this.readFloatArray(t,d.length,1),m=this.readShortArray(t,3*(d.length-c-2));let f=[],g=0,p=0;a&&(f=this.readShortArray(t,t.readInt(!0)),g=t.readFloat(),p=t.readFloat()),e||(e=h);let x=this.attachmentLoader.newMeshAttachment(s,h,e,r);return x?(x.path=e,l.rgba8888ToColor(x.color,n),x.bones=d.bones,x.vertices=d.vertices,x.worldVerticesLength=d.length,x.triangles=m,x.regionUVs=u,null==r&&x.updateRegion(),x.hullLength=c<<1,x.sequence=r,a&&(x.edges=f,x.width=g*i,x.height=p*i),x):null}case Se.LinkedMesh:{const e=16&o?t.readStringRef():h;if(null==e)throw new Error("Path of linked mesh must not be null");const r=32&o?t.readInt32():4294967295,c=64&o?this.readSequence(t):null,d=!!(128&o),u=t.readInt(!0),m=t.readStringRef();let f=0,g=0;a&&(f=t.readFloat(),g=t.readFloat());let p=this.attachmentLoader.newMeshAttachment(s,h,e,c);return p?(p.path=e,l.rgba8888ToColor(p.color,r),p.sequence=c,a&&(p.width=f*i,p.height=g*i),this.linkedMeshes.push(new ve(p,u,n,m,d)),p):null}case Se.Path:{const e=!!(16&o),n=!!(32&o),r=this.readVertices(t,!!(64&o)),c=f.newArray(r.length/6,0);for(let e=0,s=c.length;e<s;e++)c[e]=t.readFloat()*i;const d=a?t.readInt32():0,u=this.attachmentLoader.newPathAttachment(s,h);return u?(u.closed=e,u.constantSpeed=n,u.worldVerticesLength=r.length,u.vertices=r.vertices,u.bones=r.bones,u.lengths=c,a&&l.rgba8888ToColor(u.color,d),u):null}case Se.Point:{const e=t.readFloat(),n=t.readFloat(),r=t.readFloat(),o=a?t.readInt32():0,c=this.attachmentLoader.newPointAttachment(s,h);return c?(c.x=n*i,c.y=r*i,c.rotation=e,a&&l.rgba8888ToColor(c.color,o),c):null}case Se.Clipping:{const n=t.readInt(!0),r=this.readVertices(t,!!(16&o));let i=a?t.readInt32():0,c=this.attachmentLoader.newClippingAttachment(s,h);return c?(c.endSlot=e.slots[n],c.worldVerticesLength=r.length,c.vertices=r.vertices,c.bones=r.bones,a&&l.rgba8888ToColor(c.color,i),c):null}}return null}readSequence(t){let e=new k(t.readInt(!0));return e.start=t.readInt(!0),e.digits=t.readInt(!0),e.setupIndex=t.readInt(!0),e}readVertices(t,e){const s=this.scale,n=t.readInt(!0),r=new Ce;if(r.length=n<<1,!e)return r.vertices=this.readFloatArray(t,r.length,s),r;let a=new Array,i=new Array;for(let e=0;e<n;e++){let e=t.readInt(!0);i.push(e);for(let n=0;n<e;n++)i.push(t.readInt(!0)),a.push(t.readFloat()*s),a.push(t.readFloat()*s),a.push(t.readFloat())}return r.vertices=f.toFloatArray(a),r.bones=i,r}readFloatArray(t,e,s){let n=new Array(e);if(1==s)for(let s=0;s<e;s++)n[s]=t.readFloat();else for(let r=0;r<e;r++)n[r]=t.readFloat()*s;return n}readShortArray(t,e){let s=new Array(e);for(let n=0;n<e;n++)s[n]=t.readInt(!0);return s}readAnimation(t,e,s){t.readInt(!0);let n=new Array,r=this.scale;for(let e=0,s=t.readInt(!0);e<s;e++){let e=t.readInt(!0);for(let s=0,r=t.readInt(!0);s<r;s++){let s=t.readByte(),r=t.readInt(!0),a=r-1;switch(s){case Oe:{let s=new j(r,e);for(let e=0;e<r;e++)s.setFrame(e,t.readFloat(),t.readStringRef());n.push(s);break}case Ue:{let s=t.readInt(!0),i=new q(r,s,e),o=t.readFloat(),l=t.readUnsignedByte()/255,h=t.readUnsignedByte()/255,c=t.readUnsignedByte()/255,d=t.readUnsignedByte()/255;for(let e=0,s=0;i.setFrame(e,o,l,h,c,d),e!=a;e++){let n=t.readFloat(),r=t.readUnsignedByte()/255,a=t.readUnsignedByte()/255,u=t.readUnsignedByte()/255,m=t.readUnsignedByte()/255;switch(t.readByte()){case as:i.setStepped(e);break;case is:Te(t,i,s++,e,0,o,n,l,r,1),Te(t,i,s++,e,1,o,n,h,a,1),Te(t,i,s++,e,2,o,n,c,u,1),Te(t,i,s++,e,3,o,n,d,m,1)}o=n,l=r,h=a,c=u,d=m}n.push(i);break}case Ne:{let s=t.readInt(!0),i=new W(r,s,e),o=t.readFloat(),l=t.readUnsignedByte()/255,h=t.readUnsignedByte()/255,c=t.readUnsignedByte()/255;for(let e=0,s=0;i.setFrame(e,o,l,h,c),e!=a;e++){let n=t.readFloat(),r=t.readUnsignedByte()/255,a=t.readUnsignedByte()/255,d=t.readUnsignedByte()/255;switch(t.readByte()){case as:i.setStepped(e);break;case is:Te(t,i,s++,e,0,o,n,l,r,1),Te(t,i,s++,e,1,o,n,h,a,1),Te(t,i,s++,e,2,o,n,c,d,1)}o=n,l=r,h=a,c=d}n.push(i);break}case qe:{let s=t.readInt(!0),i=new G(r,s,e),o=t.readFloat(),l=t.readUnsignedByte()/255,h=t.readUnsignedByte()/255,c=t.readUnsignedByte()/255,d=t.readUnsignedByte()/255,u=t.readUnsignedByte()/255,m=t.readUnsignedByte()/255,f=t.readUnsignedByte()/255;for(let e=0,s=0;i.setFrame(e,o,l,h,c,d,u,m,f),e!=a;e++){let n=t.readFloat(),r=t.readUnsignedByte()/255,a=t.readUnsignedByte()/255,g=t.readUnsignedByte()/255,p=t.readUnsignedByte()/255,x=t.readUnsignedByte()/255,w=t.readUnsignedByte()/255,b=t.readUnsignedByte()/255;switch(t.readByte()){case as:i.setStepped(e);break;case is:Te(t,i,s++,e,0,o,n,l,r,1),Te(t,i,s++,e,1,o,n,h,a,1),Te(t,i,s++,e,2,o,n,c,g,1),Te(t,i,s++,e,3,o,n,d,p,1),Te(t,i,s++,e,4,o,n,u,x,1),Te(t,i,s++,e,5,o,n,m,w,1),Te(t,i,s++,e,6,o,n,f,b,1)}o=n,l=r,h=a,c=g,d=p,u=x,m=w,f=b}n.push(i);break}case We:{let s=t.readInt(!0),i=new $(r,s,e),o=t.readFloat(),l=t.readUnsignedByte()/255,h=t.readUnsignedByte()/255,c=t.readUnsignedByte()/255,d=t.readUnsignedByte()/255,u=t.readUnsignedByte()/255,m=t.readUnsignedByte()/255;for(let e=0,s=0;i.setFrame(e,o,l,h,c,d,u,m),e!=a;e++){let n=t.readFloat(),r=t.readUnsignedByte()/255,a=t.readUnsignedByte()/255,f=t.readUnsignedByte()/255,g=t.readUnsignedByte()/255,p=t.readUnsignedByte()/255,x=t.readUnsignedByte()/255;switch(t.readByte()){case as:i.setStepped(e);break;case is:Te(t,i,s++,e,0,o,n,l,r,1),Te(t,i,s++,e,1,o,n,h,a,1),Te(t,i,s++,e,2,o,n,c,f,1),Te(t,i,s++,e,3,o,n,d,g,1),Te(t,i,s++,e,4,o,n,u,p,1),Te(t,i,s++,e,5,o,n,m,x,1)}o=n,l=r,h=a,c=f,d=g,u=p,m=x}n.push(i);break}case ze:{let s=new z(r,t.readInt(!0),e),i=t.readFloat(),o=t.readUnsignedByte()/255;for(let e=0,n=0;s.setFrame(e,i,o),e!=a;e++){let r=t.readFloat(),a=t.readUnsignedByte()/255;switch(t.readByte()){case as:s.setStepped(e);break;case is:Te(t,s,n++,e,0,i,r,o,a,1)}i=r,o=a}n.push(s)}}}}for(let e=0,s=t.readInt(!0);e<s;e++){let e=t.readInt(!0);for(let s=0,a=t.readInt(!0);s<a;s++){let s=t.readByte(),a=t.readInt(!0);if(s==_e){let s=new N(a,e);for(let e=0;e<a;e++)s.setFrame(e,t.readFloat(),t.readByte());n.push(s);continue}let i=t.readInt(!0);switch(s){case Fe:n.push(Ae(t,new P(a,i,e),1));break;case Ye:n.push(Ie(t,new B(a,i,e),r));break;case Xe:n.push(Ae(t,new R(a,i,e),r));break;case Pe:n.push(Ae(t,new E(a,i,e),r));break;case Be:n.push(Ie(t,new D(a,i,e),1));break;case Re:n.push(Ae(t,new V(a,i,e),1));break;case Ee:n.push(Ae(t,new L(a,i,e),1));break;case De:n.push(Ie(t,new _(a,i,e),1));break;case Ve:n.push(Ae(t,new O(a,i,e),1));break;case Le:n.push(Ae(t,new U(a,i,e),1))}}}for(let e=0,s=t.readInt(!0);e<s;e++){let e=t.readInt(!0),s=t.readInt(!0),a=s-1,i=new tt(s,t.readInt(!0),e),o=t.readByte(),l=t.readFloat(),h=1&o?2&o?t.readFloat():1:0,c=4&o?t.readFloat()*r:0;for(let e=0,s=0;i.setFrame(e,l,h,c,8&o?1:-1,!!(16&o),!!(32&o)),e!=a;e++){o=t.readByte();const n=t.readFloat(),a=1&o?2&o?t.readFloat():1:0,d=4&o?t.readFloat()*r:0;64&o?i.setStepped(e):128&o&&(Te(t,i,s++,e,0,l,n,h,a,1),Te(t,i,s++,e,1,l,n,c,d,r)),l=n,h=a,c=d}n.push(i)}for(let e=0,s=t.readInt(!0);e<s;e++){let e=t.readInt(!0),s=t.readInt(!0),r=s-1,a=new et(s,t.readInt(!0),e),i=t.readFloat(),o=t.readFloat(),l=t.readFloat(),h=t.readFloat(),c=t.readFloat(),d=t.readFloat(),u=t.readFloat();for(let e=0,s=0;a.setFrame(e,i,o,l,h,c,d,u),e!=r;e++){let n=t.readFloat(),r=t.readFloat(),m=t.readFloat(),f=t.readFloat(),g=t.readFloat(),p=t.readFloat(),x=t.readFloat();switch(t.readByte()){case as:a.setStepped(e);break;case is:Te(t,a,s++,e,0,i,n,o,r,1),Te(t,a,s++,e,1,i,n,l,m,1),Te(t,a,s++,e,2,i,n,h,f,1),Te(t,a,s++,e,3,i,n,c,g,1),Te(t,a,s++,e,4,i,n,d,p,1),Te(t,a,s++,e,5,i,n,u,x,1)}i=n,o=r,l=m,h=f,c=g,d=p,u=x}n.push(a)}for(let e=0,a=t.readInt(!0);e<a;e++){let e=t.readInt(!0),a=s.pathConstraints[e];for(let s=0,i=t.readInt(!0);s<i;s++){const s=t.readByte(),i=t.readInt(!0),o=t.readInt(!0);switch(s){case je:n.push(Ae(t,new st(i,o,e),0==a.positionMode?r:1));break;case He:n.push(Ae(t,new nt(i,o,e),0==a.spacingMode||1==a.spacingMode?r:1));break;case Je:let s=new rt(i,o,e),l=t.readFloat(),h=t.readFloat(),c=t.readFloat(),d=t.readFloat();for(let e=0,n=0,r=s.getFrameCount()-1;s.setFrame(e,l,h,c,d),e!=r;e++){let r=t.readFloat(),a=t.readFloat(),i=t.readFloat(),o=t.readFloat();switch(t.readByte()){case as:s.setStepped(e);break;case is:Te(t,s,n++,e,0,l,r,h,a,1),Te(t,s,n++,e,1,l,r,c,i,1),Te(t,s,n++,e,2,l,r,d,o,1)}l=r,h=a,c=i,d=o}n.push(s)}}}for(let e=0,s=t.readInt(!0);e<s;e++){const e=t.readInt(!0)-1;for(let s=0,r=t.readInt(!0);s<r;s++){const s=t.readByte(),r=t.readInt(!0);if(s==rs){const s=new ft(r,e);for(let e=0;e<r;e++)s.setFrame(e,t.readFloat());n.push(s);continue}const a=t.readInt(!0);switch(s){case Ke:n.push(Ae(t,new it(r,a,e),1));break;case Qe:n.push(Ae(t,new ot(r,a,e),1));break;case Ze:n.push(Ae(t,new lt(r,a,e),1));break;case ts:n.push(Ae(t,new ht(r,a,e),1));break;case es:n.push(Ae(t,new ct(r,a,e),1));break;case ss:n.push(Ae(t,new dt(r,a,e),1));break;case ns:n.push(Ae(t,new ut(r,a,e),1))}}}for(let e=0,a=t.readInt(!0);e<a;e++){let e=s.skins[t.readInt(!0)];for(let s=0,a=t.readInt(!0);s<a;s++){let s=t.readInt(!0);for(let a=0,i=t.readInt(!0);a<i;a++){let a=t.readStringRef();if(!a)throw new Error("attachmentName must not be null.");let i=e.getAttachment(s,a),o=t.readByte(),l=t.readInt(!0),h=l-1;switch(o){case Ge:{let e=i,a=e.bones,o=e.vertices,c=a?o.length/3*2:o.length,d=t.readInt(!0),u=new H(l,d,s,e),m=t.readFloat();for(let e=0,s=0;;e++){let n,i=t.readInt(!0);if(0==i)n=a?f.newFloatArray(c):o;else{n=f.newFloatArray(c);let e=t.readInt(!0);if(i+=e,1==r)for(let s=e;s<i;s++)n[s]=t.readFloat();else for(let s=e;s<i;s++)n[s]=t.readFloat()*r;if(!a)for(let t=0,e=n.length;t<e;t++)n[t]+=o[t]}if(u.setFrame(e,m,n),e==h)break;let l=t.readFloat();switch(t.readByte()){case as:u.setStepped(e);break;case is:Te(t,u,s++,e,0,m,l,0,1,1)}m=l}n.push(u);break}case $e:{let e=new pt(l,s,i);for(let s=0;s<l;s++){let n=t.readFloat(),r=t.readInt32();e.setFrame(s,n,C[15&r],r>>4,t.readFloat())}n.push(e);break}}}}}let a=t.readInt(!0);if(a>0){let e=new Z(a),r=s.slots.length;for(let s=0;s<a;s++){let n=t.readFloat(),a=t.readInt(!0),i=f.newArray(r,0);for(let t=r-1;t>=0;t--)i[t]=-1;let o=f.newArray(r-a,0),l=0,h=0;for(let e=0;e<a;e++){let e=t.readInt(!0);for(;l!=e;)o[h++]=l++;i[l+t.readInt(!0)]=l++}for(;l<r;)o[h++]=l++;for(let t=r-1;t>=0;t--)-1==i[t]&&(i[t]=o[--h]);e.setFrame(s,n,i)}n.push(e)}let i=t.readInt(!0);if(i>0){let e=new K(i);for(let n=0;n<i;n++){let r=t.readFloat(),a=s.events[t.readInt(!0)],i=new Kt(r,a);i.intValue=t.readInt(!1),i.floatValue=t.readFloat(),i.stringValue=t.readString(),null==i.stringValue&&(i.stringValue=a.stringValue),i.data.audioPath&&(i.volume=t.readFloat(),i.balance=t.readFloat()),e.setFrame(n,i)}n.push(e)}let o=0;for(let t=0,e=n.length;t<e;t++)o=Math.max(o,n[t].getDuration());return new S(e,n,o)}},ke=class{constructor(t,e=new Array,s=0,n=new DataView(t instanceof ArrayBuffer?t:t.buffer)){this.strings=e,this.index=s,this.buffer=n}readByte(){return this.buffer.getInt8(this.index++)}readUnsignedByte(){return this.buffer.getUint8(this.index++)}readShort(){let t=this.buffer.getInt16(this.index);return this.index+=2,t}readInt32(){let t=this.buffer.getInt32(this.index);return this.index+=4,t}readInt(t){let e=this.readByte(),s=127&e;return 128&e&&(e=this.readByte(),s|=(127&e)<<7,128&e&&(e=this.readByte(),s|=(127&e)<<14,128&e&&(e=this.readByte(),s|=(127&e)<<21,128&e&&(e=this.readByte(),s|=(127&e)<<28)))),t?s:s>>>1^-(1&s)}readStringRef(){let t=this.readInt(!0);return 0==t?null:this.strings[t-1]}readString(){let t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;let e="";for(let s=0;s<t;){let t=this.readUnsignedByte();switch(t>>4){case 12:case 13:e+=String.fromCharCode((31&t)<<6|63&this.readByte()),s+=2;break;case 14:e+=String.fromCharCode((15&t)<<12|(63&this.readByte())<<6|63&this.readByte()),s+=3;break;default:e+=String.fromCharCode(t),s++}}return e}readFloat(){let t=this.buffer.getFloat32(this.index);return this.index+=4,t}readBoolean(){return 0!=this.readByte()}},ve=class{parent;skinIndex;slotIndex;mesh;inheritTimeline;constructor(t,e,s,n,r){this.mesh=t,this.skinIndex=e,this.slotIndex=s,this.parent=n,this.inheritTimeline=r}},Ce=class{constructor(t=null,e=null,s=0){this.bones=t,this.vertices=e,this.length=s}},Se=(t=>(t[t.Region=0]="Region",t[t.BoundingBox=1]="BoundingBox",t[t.Mesh=2]="Mesh",t[t.LinkedMesh=3]="LinkedMesh",t[t.Path=4]="Path",t[t.Point=5]="Point",t[t.Clipping=6]="Clipping",t))(Se||{});function Ae(t,e,s){let n=t.readFloat(),r=t.readFloat()*s;for(let a=0,i=0,o=e.getFrameCount()-1;e.setFrame(a,n,r),a!=o;a++){let o=t.readFloat(),l=t.readFloat()*s;switch(t.readByte()){case as:e.setStepped(a);break;case is:Te(t,e,i++,a,0,n,o,r,l,s)}n=o,r=l}return e}function Ie(t,e,s){let n=t.readFloat(),r=t.readFloat()*s,a=t.readFloat()*s;for(let i=0,o=0,l=e.getFrameCount()-1;e.setFrame(i,n,r,a),i!=l;i++){let l=t.readFloat(),h=t.readFloat()*s,c=t.readFloat()*s;switch(t.readByte()){case as:e.setStepped(i);break;case is:Te(t,e,o++,i,0,n,l,r,h,s),Te(t,e,o++,i,1,n,l,a,c,s)}n=l,r=h,a=c}return e}function Te(t,e,s,n,r,a,i,o,l,h){e.setBezier(s,n,r,a,o,t.readFloat(),t.readFloat()*h,t.readFloat(),t.readFloat()*h,i,l)}var Me,Fe=0,Ye=1,Xe=2,Pe=3,Be=4,Re=5,Ee=6,De=7,Ve=8,Le=9,_e=10,Oe=0,Ue=1,Ne=2,qe=3,We=4,ze=5,Ge=0,$e=1,je=0,He=1,Je=2,Ke=0,Qe=1,Ze=2,ts=4,es=5,ss=6,ns=7,rs=8,as=1,is=2,os=class{minX=0;minY=0;maxX=0;maxY=0;boundingBoxes=new Array;polygons=new Array;polygonPool=new g((()=>f.newFloatArray(16)));update(t,e){if(!t)throw new Error("skeleton cannot be null.");let s=this.boundingBoxes,n=this.polygons,r=this.polygonPool,a=t.slots,i=a.length;s.length=0,r.freeAll(n),n.length=0;for(let t=0;t<i;t++){let e=a[t];if(!e.bone.active)continue;let i=e.getAttachment();if(i instanceof Yt){let t=i;s.push(t);let a=r.obtain();a.length!=t.worldVerticesLength&&(a=f.newFloatArray(t.worldVerticesLength)),n.push(a),t.computeWorldVertices(e,0,t.worldVerticesLength,a,0,2)}}e?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)}aabbCompute(){let t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=this.polygons;for(let a=0,i=r.length;a<i;a++){let i=r[a],o=i;for(let r=0,a=i.length;r<a;r+=2){let a=o[r],i=o[r+1];t=Math.min(t,a),e=Math.min(e,i),s=Math.max(s,a),n=Math.max(n,i)}}this.minX=t,this.minY=e,this.maxX=s,this.maxY=n}aabbContainsPoint(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY}aabbIntersectsSegment(t,e,s,n){let r=this.minX,a=this.minY,i=this.maxX,o=this.maxY;if(t<=r&&s<=r||e<=a&&n<=a||t>=i&&s>=i||e>=o&&n>=o)return!1;let l=(n-e)/(s-t),h=l*(r-t)+e;if(h>a&&h<o)return!0;if(h=l*(i-t)+e,h>a&&h<o)return!0;let c=(a-e)/l+t;return c>r&&c<i||(c=(o-e)/l+t,c>r&&c<i)}aabbIntersectsSkeleton(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY}containsPoint(t,e){let s=this.polygons;for(let n=0,r=s.length;n<r;n++)if(this.containsPointPolygon(s[n],t,e))return this.boundingBoxes[n];return null}containsPointPolygon(t,e,s){let n=t,r=t.length,a=r-2,i=!1;for(let t=0;t<r;t+=2){let r=n[t+1],o=n[a+1];if(r<s&&o>=s||o<s&&r>=s){let l=n[t];l+(s-r)/(o-r)*(n[a]-l)<e&&(i=!i)}a=t}return i}intersectsSegment(t,e,s,n){let r=this.polygons;for(let a=0,i=r.length;a<i;a++)if(this.intersectsSegmentPolygon(r[a],t,e,s,n))return this.boundingBoxes[a];return null}intersectsSegmentPolygon(t,e,s,n,r){let a=t,i=t.length,o=e-n,l=s-r,h=e*r-s*n,c=a[i-2],d=a[i-1];for(let t=0;t<i;t+=2){let i=a[t],u=a[t+1],m=c*u-d*i,f=c-i,g=d-u,p=o*g-l*f,x=(h*f-o*m)/p;if((x>=c&&x<=i||x>=i&&x<=c)&&(x>=e&&x<=n||x>=n&&x<=e)){let t=(h*g-l*m)/p;if((t>=d&&t<=u||t>=u&&t<=d)&&(t>=s&&t<=r||t>=r&&t<=s))return!0}c=i,d=u}return!1}getPolygon(t){if(!t)throw new Error("boundingBox cannot be null.");let e=this.boundingBoxes.indexOf(t);return-1==e?null:this.polygons[e]}getWidth(){return this.maxX-this.minX}getHeight(){return this.maxY-this.minY}},ls=class{convexPolygons=new Array;convexPolygonsIndices=new Array;indicesArray=new Array;isConcaveArray=new Array;triangles=new Array;polygonPool=new g((()=>new Array));polygonIndicesPool=new g((()=>new Array));triangulate(t){let e=t,s=t.length>>1,n=this.indicesArray;n.length=0;for(let t=0;t<s;t++)n[t]=t;let r=this.isConcaveArray;r.length=0;for(let t=0,a=s;t<a;++t)r[t]=ls.isConcave(t,s,e,n);let a=this.triangles;for(a.length=0;s>3;){let t=s-1,i=0,o=1;for(;;){t:if(!r[i]){let a=n[t]<<1,l=n[i]<<1,h=n[o]<<1,c=e[a],d=e[a+1],u=e[l],m=e[l+1],f=e[h],g=e[h+1];for(let a=(o+1)%s;a!=t;a=(a+1)%s){if(!r[a])continue;let t=n[a]<<1,s=e[t],i=e[t+1];if(ls.positiveArea(f,g,c,d,s,i)&&ls.positiveArea(c,d,u,m,s,i)&&ls.positiveArea(u,m,f,g,s,i))break t}break}if(0==o){do{if(!r[i])break;i--}while(i>0);break}t=i,i=o,o=(o+1)%s}a.push(n[(s+i-1)%s]),a.push(n[i]),a.push(n[(i+1)%s]),n.splice(i,1),r.splice(i,1),s--;let l=(s+i-1)%s,h=i==s?0:i;r[l]=ls.isConcave(l,s,e,n),r[h]=ls.isConcave(h,s,e,n)}return 3==s&&(a.push(n[2]),a.push(n[0]),a.push(n[1])),a}decompose(t,e){let s=t,n=this.convexPolygons;this.polygonPool.freeAll(n),n.length=0;let r=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(r),r.length=0;let a=this.polygonIndicesPool.obtain();a.length=0;let i=this.polygonPool.obtain();i.length=0;let o=-1,l=0;for(let t=0,h=e.length;t<h;t+=3){let h=e[t]<<1,c=e[t+1]<<1,d=e[t+2]<<1,u=s[h],m=s[h+1],f=s[c],g=s[c+1],p=s[d],x=s[d+1],w=!1;if(o==h){let t=i.length-4,e=ls.winding(i[t],i[t+1],i[t+2],i[t+3],p,x),s=ls.winding(p,x,i[0],i[1],i[2],i[3]);e==l&&s==l&&(i.push(p),i.push(x),a.push(d),w=!0)}w||(i.length>0?(n.push(i),r.push(a)):(this.polygonPool.free(i),this.polygonIndicesPool.free(a)),i=this.polygonPool.obtain(),i.length=0,i.push(u),i.push(m),i.push(f),i.push(g),i.push(p),i.push(x),a=this.polygonIndicesPool.obtain(),a.length=0,a.push(h),a.push(c),a.push(d),l=ls.winding(u,m,f,g,p,x),o=h)}i.length>0&&(n.push(i),r.push(a));for(let t=0,e=n.length;t<e;t++){if(a=r[t],0==a.length)continue;let s=a[0],o=a[a.length-1];i=n[t];let l=i.length-4,h=i[l],c=i[l+1],d=i[l+2],u=i[l+3],m=i[0],f=i[1],g=i[2],p=i[3],x=ls.winding(h,c,d,u,m,f);for(let l=0;l<e;l++){if(l==t)continue;let e=r[l];if(3!=e.length)continue;let w=e[0],b=e[1],y=e[2],k=n[l],v=k[k.length-2],C=k[k.length-1];if(w!=s||b!=o)continue;let S=ls.winding(h,c,d,u,v,C),A=ls.winding(v,C,m,f,g,p);S==x&&A==x&&(k.length=0,e.length=0,i.push(v),i.push(C),a.push(y),h=d,c=u,d=v,u=C,l=0)}}for(let t=n.length-1;t>=0;t--)i=n[t],0==i.length&&(n.splice(t,1),this.polygonPool.free(i),a=r[t],r.splice(t,1),this.polygonIndicesPool.free(a));return n}static isConcave(t,e,s,n){let r=n[(e+t-1)%e]<<1,a=n[t]<<1,i=n[(t+1)%e]<<1;return!this.positiveArea(s[r],s[r+1],s[a],s[a+1],s[i],s[i+1])}static positiveArea(t,e,s,n,r,a){return t*(a-n)+s*(e-a)+r*(n-e)>=0}static winding(t,e,s,n,r,a){let i=s-t,o=n-e;return r*o-a*i+i*e-t*o>=0?1:-1}},hs=class{triangulator=new ls;clippingPolygon=new Array;clipOutput=new Array;clippedVertices=new Array;clippedUVs=new Array;clippedTriangles=new Array;scratch=new Array;clipAttachment=null;clippingPolygons=null;clipStart(t,e){if(this.clipAttachment)return 0;this.clipAttachment=e;let s=e.worldVerticesLength,n=f.setArraySize(this.clippingPolygon,s);e.computeWorldVertices(t,0,s,n,0,2);let r=this.clippingPolygon;hs.makeClockwise(r);let a=this.clippingPolygons=this.triangulator.decompose(r,this.triangulator.triangulate(r));for(let t=0,e=a.length;t<e;t++){let e=a[t];hs.makeClockwise(e),e.push(e[0]),e.push(e[1])}return a.length}clipEndWithSlot(t){this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()}clipEnd(){this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)}isClipping(){return null!=this.clipAttachment}clipTriangles(t,e,s,n,r,a,i,o){let l,h,c,d,u,m;"number"==typeof e?(l=s,h=n,c=r,d=a,u=i,m=o):(l=e,h=s,c=n,d=r,u=a,m=i),c&&d&&u&&"boolean"==typeof m?this.clipTrianglesRender(t,l,h,c,d,u,m):this.clipTrianglesNoRender(t,l,h)}clipTrianglesNoRender(t,e,s){let n=this.clipOutput,r=this.clippedVertices,a=this.clippedTriangles,i=this.clippingPolygons,o=i.length,l=0;r.length=0,a.length=0;for(let h=0;h<s;h+=3){let s=e[h]<<1,c=t[s],d=t[s+1];s=e[h+1]<<1;let u=t[s],m=t[s+1];s=e[h+2]<<1;let g=t[s],p=t[s+1];for(let t=0;t<o;t++){let e=r.length;if(!this.clip(c,d,u,m,g,p,i[t],n)){let t=f.setArraySize(r,e+6);t[e]=c,t[e+1]=d,t[e+2]=u,t[e+3]=m,t[e+4]=g,t[e+5]=p,e=a.length;let s=f.setArraySize(a,e+3);s[e]=l,s[e+1]=l+1,s[e+2]=l+2,l+=3;break}{let t=n.length;if(0==t)continue;let s=t>>1,i=this.clipOutput,o=f.setArraySize(r,e+2*s);for(let s=0;s<t;s+=2,e+=2){let t=i[s],n=i[s+1];o[e]=t,o[e+1]=n}e=a.length;let h=f.setArraySize(a,e+3*(s-2));s--;for(let t=1;t<s;t++,e+=3)h[e]=l,h[e+1]=l+t,h[e+2]=l+t+1;l+=s+1}}}}clipTrianglesRender(t,e,s,n,r,a,i){let o=this.clipOutput,l=this.clippedVertices,h=this.clippedTriangles,c=this.clippingPolygons,d=c.length,u=i?12:8,m=0;l.length=0,h.length=0;for(let g=0;g<s;g+=3){let s=e[g]<<1,p=t[s],x=t[s+1],w=n[s],b=n[s+1];s=e[g+1]<<1;let y=t[s],k=t[s+1],v=n[s],C=n[s+1];s=e[g+2]<<1;let S=t[s],A=t[s+1],I=n[s],T=n[s+1];for(let t=0;t<d;t++){let e=l.length;if(!this.clip(p,x,y,k,S,A,c[t],o)){let t=f.setArraySize(l,e+3*u);t[e]=p,t[e+1]=x,t[e+2]=r.r,t[e+3]=r.g,t[e+4]=r.b,t[e+5]=r.a,i?(t[e+6]=w,t[e+7]=b,t[e+8]=a.r,t[e+9]=a.g,t[e+10]=a.b,t[e+11]=a.a,t[e+12]=y,t[e+13]=k,t[e+14]=r.r,t[e+15]=r.g,t[e+16]=r.b,t[e+17]=r.a,t[e+18]=v,t[e+19]=C,t[e+20]=a.r,t[e+21]=a.g,t[e+22]=a.b,t[e+23]=a.a,t[e+24]=S,t[e+25]=A,t[e+26]=r.r,t[e+27]=r.g,t[e+28]=r.b,t[e+29]=r.a,t[e+30]=I,t[e+31]=T,t[e+32]=a.r,t[e+33]=a.g,t[e+34]=a.b,t[e+35]=a.a):(t[e+6]=w,t[e+7]=b,t[e+8]=y,t[e+9]=k,t[e+10]=r.r,t[e+11]=r.g,t[e+12]=r.b,t[e+13]=r.a,t[e+14]=v,t[e+15]=C,t[e+16]=S,t[e+17]=A,t[e+18]=r.r,t[e+19]=r.g,t[e+20]=r.b,t[e+21]=r.a,t[e+22]=I,t[e+23]=T),e=h.length;let s=f.setArraySize(h,e+3);s[e]=m,s[e+1]=m+1,s[e+2]=m+2,m+=3;break}{let t=o.length;if(0==t)continue;let s=k-A,n=S-y,c=p-S,d=A-x,g=1/(s*c+n*(x-A)),M=t>>1,F=this.clipOutput,Y=f.setArraySize(l,e+M*u);for(let o=0;o<t;o+=2,e+=u){let t=F[o],l=F[o+1];Y[e]=t,Y[e+1]=l,Y[e+2]=r.r,Y[e+3]=r.g,Y[e+4]=r.b,Y[e+5]=r.a;let h=t-S,u=l-A,m=(s*h+n*u)*g,f=(d*h+c*u)*g,p=1-m-f;Y[e+6]=w*m+v*f+I*p,Y[e+7]=b*m+C*f+T*p,i&&(Y[e+8]=a.r,Y[e+9]=a.g,Y[e+10]=a.b,Y[e+11]=a.a)}e=h.length;let X=f.setArraySize(h,e+3*(M-2));M--;for(let t=1;t<M;t++,e+=3)X[e]=m,X[e+1]=m+t,X[e+2]=m+t+1;m+=M+1}}}}clipTrianglesUnpacked(t,e,s,n){let r=this.clipOutput,a=this.clippedVertices,i=this.clippedUVs,o=this.clippedTriangles,l=this.clippingPolygons,h=l.length,c=0;a.length=0,i.length=0,o.length=0;for(let d=0;d<s;d+=3){let s=e[d]<<1,u=t[s],m=t[s+1],g=n[s],p=n[s+1];s=e[d+1]<<1;let x=t[s],w=t[s+1],b=n[s],y=n[s+1];s=e[d+2]<<1;let k=t[s],v=t[s+1],C=n[s],S=n[s+1];for(let t=0;t<h;t++){let e=a.length;if(!this.clip(u,m,x,w,k,v,l[t],r)){let t=f.setArraySize(a,e+6);t[e]=u,t[e+1]=m,t[e+2]=x,t[e+3]=w,t[e+4]=k,t[e+5]=v;let s=f.setArraySize(i,e+6);s[e]=g,s[e+1]=p,s[e+2]=b,s[e+3]=y,s[e+4]=C,s[e+5]=S,e=o.length;let n=f.setArraySize(o,e+3);n[e]=c,n[e+1]=c+1,n[e+2]=c+2,c+=3;break}{let t=r.length;if(0==t)continue;let s=w-v,n=k-x,l=u-k,h=v-m,d=1/(s*l+n*(m-v)),A=t>>1,I=this.clipOutput,T=f.setArraySize(a,e+2*A),M=f.setArraySize(i,e+2*A);for(let r=0;r<t;r+=2,e+=2){let t=I[r],a=I[r+1];T[e]=t,T[e+1]=a;let i=t-k,o=a-v,c=(s*i+n*o)*d,u=(h*i+l*o)*d,m=1-c-u;M[e]=g*c+b*u+C*m,M[e+1]=p*c+y*u+S*m}e=o.length;let F=f.setArraySize(o,e+3*(A-2));A--;for(let t=1;t<A;t++,e+=3)F[e]=c,F[e+1]=c+t,F[e+2]=c+t+1;c+=A+1}}}}clip(t,e,s,n,r,a,i,o){let l,h=o,c=!1;i.length%4>=2?(l=o,o=this.scratch):l=this.scratch,l.length=0,l.push(t),l.push(e),l.push(s),l.push(n),l.push(r),l.push(a),l.push(t),l.push(e),o.length=0;let d=i.length-4,u=i;for(let t=0;;t+=2){let e=u[t],s=u[t+1],n=e-u[t+2],r=s-u[t+3],a=o.length,i=l;for(let t=0,a=l.length-2;t<a;){let a=i[t],l=i[t+1];t+=2;let h=i[t],d=i[t+1],u=r*(e-h)>n*(s-d),m=r*(e-a)-n*(s-l);if(m>0){if(u){o.push(h),o.push(d);continue}let t=h-a,e=d-l,s=m/(t*r-e*n);if(!(s>=0&&s<=1)){o.push(h),o.push(d);continue}o.push(a+t*s),o.push(l+e*s)}else if(u){let t=h-a,e=d-l,s=m/(t*r-e*n);if(!(s>=0&&s<=1)){o.push(h),o.push(d);continue}o.push(a+t*s),o.push(l+e*s),o.push(h),o.push(d)}c=!0}if(a==o.length)return h.length=0,!0;if(o.push(o[0]),o.push(o[1]),t==d)break;let m=o;(o=l).length=0,l=m}if(h!=o){h.length=0;for(let t=0,e=o.length-2;t<e;t++)h[t]=o[t]}else h.length=h.length-2;return c}static makeClockwise(t){let e=t,s=t.length,n=e[s-2]*e[1]-e[0]*e[s-1],r=0,a=0,i=0,o=0;for(let t=0,l=s-3;t<l;t+=2)r=e[t],a=e[t+1],i=e[t+2],o=e[t+3],n+=r*o-i*a;if(!(n<0))for(let t=0,n=s-2,r=s>>1;t<r;t+=2){let s=e[t],r=e[t+1],a=n-t;e[t]=e[a],e[t+1]=e[a+1],e[a]=s,e[a+1]=r}}},cs=class{attachmentLoader;scale=1;linkedMeshes=new Array;constructor(t){this.attachmentLoader=t}readSkeletonData(t){let e=this.scale,s=new fe,n="string"==typeof t?JSON.parse(t):t,r=n.skeleton;if(r&&(s.hash=r.hash,s.version=r.spine,s.x=r.x,s.y=r.y,s.width=r.width,s.height=r.height,s.referenceScale=gs(r,"referenceScale",100)*e,s.fps=r.fps,s.imagesPath=r.images??null,s.audioPath=r.audio??null),n.bones)for(let t=0;t<n.bones.length;t++){let r=n.bones[t],a=null,i=gs(r,"parent",null);i&&(a=s.findBone(i));let o=new Gt(s.bones.length,r.name,a);o.length=gs(r,"length",0)*e,o.x=gs(r,"x",0)*e,o.y=gs(r,"y",0)*e,o.rotation=gs(r,"rotation",0),o.scaleX=gs(r,"scaleX",1),o.scaleY=gs(r,"scaleY",1),o.shearX=gs(r,"shearX",0),o.shearY=gs(r,"shearY",0),o.inherit=f.enumValue($t,gs(r,"inherit","Normal")),o.skinRequired=gs(r,"skin",!1);let l=gs(r,"color",null);l&&o.color.setFromString(l),s.bones.push(o)}if(n.slots)for(let t=0;t<n.slots.length;t++){let e=n.slots[t],r=e.name,a=s.findBone(e.bone);if(!a)throw new Error(`Couldn't find bone ${e.bone} for slot ${r}`);let i=new xe(s.slots.length,r,a),o=gs(e,"color",null);o&&i.color.setFromString(o);let h=gs(e,"dark",null);h&&(i.darkColor=l.fromString(h)),i.attachmentName=gs(e,"attachment",null),i.blendMode=f.enumValue(we,gs(e,"blend","normal")),i.visible=gs(e,"visible",!0),s.slots.push(i)}if(n.ik)for(let t=0;t<n.ik.length;t++){let r=n.ik[t],a=new te(r.name);a.order=gs(r,"order",0),a.skinRequired=gs(r,"skin",!1);for(let t=0;t<r.bones.length;t++){let e=s.findBone(r.bones[t]);if(!e)throw new Error(`Couldn't find bone ${r.bones[t]} for IK constraint ${r.name}.`);a.bones.push(e)}let i=s.findBone(r.target);if(!i)throw new Error(`Couldn't find target bone ${r.target} for IK constraint ${r.name}.`);a.target=i,a.mix=gs(r,"mix",1),a.softness=gs(r,"softness",0)*e,a.bendDirection=gs(r,"bendPositive",!0)?1:-1,a.compress=gs(r,"compress",!1),a.stretch=gs(r,"stretch",!1),a.uniform=gs(r,"uniform",!1),s.ikConstraints.push(a)}if(n.transform)for(let t=0;t<n.transform.length;t++){let r=n.transform[t],a=new be(r.name);a.order=gs(r,"order",0),a.skinRequired=gs(r,"skin",!1);for(let t=0;t<r.bones.length;t++){let e=r.bones[t],n=s.findBone(e);if(!n)throw new Error(`Couldn't find bone ${e} for transform constraint ${r.name}.`);a.bones.push(n)}let i=r.target,o=s.findBone(i);if(!o)throw new Error(`Couldn't find target bone ${i} for transform constraint ${r.name}.`);a.target=o,a.local=gs(r,"local",!1),a.relative=gs(r,"relative",!1),a.offsetRotation=gs(r,"rotation",0),a.offsetX=gs(r,"x",0)*e,a.offsetY=gs(r,"y",0)*e,a.offsetScaleX=gs(r,"scaleX",0),a.offsetScaleY=gs(r,"scaleY",0),a.offsetShearY=gs(r,"shearY",0),a.mixRotate=gs(r,"mixRotate",1),a.mixX=gs(r,"mixX",1),a.mixY=gs(r,"mixY",a.mixX),a.mixScaleX=gs(r,"mixScaleX",1),a.mixScaleY=gs(r,"mixScaleY",a.mixScaleX),a.mixShearY=gs(r,"mixShearY",1),s.transformConstraints.push(a)}if(n.path)for(let t=0;t<n.path.length;t++){let r=n.path[t],a=new ee(r.name);a.order=gs(r,"order",0),a.skinRequired=gs(r,"skin",!1);for(let t=0;t<r.bones.length;t++){let e=r.bones[t],n=s.findBone(e);if(!n)throw new Error(`Couldn't find bone ${e} for path constraint ${r.name}.`);a.bones.push(n)}let i=r.target,o=s.findSlot(i);if(!o)throw new Error(`Couldn't find target slot ${i} for path constraint ${r.name}.`);a.target=o,a.positionMode=f.enumValue(se,gs(r,"positionMode","Percent")),a.spacingMode=f.enumValue(ne,gs(r,"spacingMode","Length")),a.rotateMode=f.enumValue(re,gs(r,"rotateMode","Tangent")),a.offsetRotation=gs(r,"rotation",0),a.position=gs(r,"position",0),0==a.positionMode&&(a.position*=e),a.spacing=gs(r,"spacing",0),0!=a.spacingMode&&1!=a.spacingMode||(a.spacing*=e),a.mixRotate=gs(r,"mixRotate",1),a.mixX=gs(r,"mixX",1),a.mixY=gs(r,"mixY",a.mixX),s.pathConstraints.push(a)}if(n.physics)for(let t=0;t<n.physics.length;t++){const r=n.physics[t],a=new me(r.name);a.order=gs(r,"order",0),a.skinRequired=gs(r,"skin",!1);const i=r.bone,o=s.findBone(i);if(null==o)throw new Error("Physics bone not found: "+i);a.bone=o,a.x=gs(r,"x",0),a.y=gs(r,"y",0),a.rotate=gs(r,"rotate",0),a.scaleX=gs(r,"scaleX",0),a.shearX=gs(r,"shearX",0),a.limit=gs(r,"limit",5e3)*e,a.step=1/gs(r,"fps",60),a.inertia=gs(r,"inertia",1),a.strength=gs(r,"strength",100),a.damping=gs(r,"damping",1),a.massInverse=1/gs(r,"mass",1),a.wind=gs(r,"wind",0),a.gravity=gs(r,"gravity",0),a.mix=gs(r,"mix",1),a.inertiaGlobal=gs(r,"inertiaGlobal",!1),a.strengthGlobal=gs(r,"strengthGlobal",!1),a.dampingGlobal=gs(r,"dampingGlobal",!1),a.massGlobal=gs(r,"massGlobal",!1),a.windGlobal=gs(r,"windGlobal",!1),a.gravityGlobal=gs(r,"gravityGlobal",!1),a.mixGlobal=gs(r,"mixGlobal",!1),s.physicsConstraints.push(a)}if(n.skins)for(let t=0;t<n.skins.length;t++){let e=n.skins[t],r=new pe(e.name);if(e.bones)for(let t=0;t<e.bones.length;t++){let n=e.bones[t],a=s.findBone(n);if(!a)throw new Error(`Couldn't find bone ${n} for skin ${e.name}.`);r.bones.push(a)}if(e.ik)for(let t=0;t<e.ik.length;t++){let n=e.ik[t],a=s.findIkConstraint(n);if(!a)throw new Error(`Couldn't find IK constraint ${n} for skin ${e.name}.`);r.constraints.push(a)}if(e.transform)for(let t=0;t<e.transform.length;t++){let n=e.transform[t],a=s.findTransformConstraint(n);if(!a)throw new Error(`Couldn't find transform constraint ${n} for skin ${e.name}.`);r.constraints.push(a)}if(e.path)for(let t=0;t<e.path.length;t++){let n=e.path[t],a=s.findPathConstraint(n);if(!a)throw new Error(`Couldn't find path constraint ${n} for skin ${e.name}.`);r.constraints.push(a)}if(e.physics)for(let t=0;t<e.physics.length;t++){let n=e.physics[t],a=s.findPhysicsConstraint(n);if(!a)throw new Error(`Couldn't find physics constraint ${n} for skin ${e.name}.`);r.constraints.push(a)}for(let t in e.attachments){let n=s.findSlot(t);if(!n)throw new Error(`Couldn't find slot ${t} for skin ${e.name}.`);let a=e.attachments[t];for(let t in a){let e=this.readAttachment(a[t],r,n.index,t,s);e&&r.setAttachment(n.index,t,e)}}s.skins.push(r),"default"==r.name&&(s.defaultSkin=r)}for(let t=0,e=this.linkedMeshes.length;t<e;t++){let e=this.linkedMeshes[t],n=e.skin?s.findSkin(e.skin):s.defaultSkin;if(!n)throw new Error(`Skin not found: ${e.skin}`);let r=n.getAttachment(e.slotIndex,e.parent);if(!r)throw new Error(`Parent mesh not found: ${e.parent}`);e.mesh.timelineAttachment=e.inheritTimeline?r:e.mesh,e.mesh.setParentMesh(r),null!=e.mesh.region&&e.mesh.updateRegion()}if(this.linkedMeshes.length=0,n.events)for(let t in n.events){let e=n.events[t],r=new Qt(t);r.intValue=gs(e,"int",0),r.floatValue=gs(e,"float",0),r.stringValue=gs(e,"string",""),r.audioPath=gs(e,"audio",null),r.audioPath&&(r.volume=gs(e,"volume",1),r.balance=gs(e,"balance",0)),s.events.push(r)}if(n.animations)for(let t in n.animations){let e=n.animations[t];this.readAnimation(e,t,s)}return s}readAttachment(t,e,s,n,r){let a=this.scale;switch(n=gs(t,"name",n),gs(t,"type","region")){case"region":{let s=gs(t,"path",n),r=this.readSequence(gs(t,"sequence",null)),i=this.attachmentLoader.newRegionAttachment(e,n,s,r);if(!i)return null;i.path=s,i.x=gs(t,"x",0)*a,i.y=gs(t,"y",0)*a,i.scaleX=gs(t,"scaleX",1),i.scaleY=gs(t,"scaleY",1),i.rotation=gs(t,"rotation",0),i.width=t.width*a,i.height=t.height*a,i.sequence=r;let o=gs(t,"color",null);return o&&i.color.setFromString(o),null!=i.region&&i.updateRegion(),i}case"boundingbox":{let s=this.attachmentLoader.newBoundingBoxAttachment(e,n);if(!s)return null;this.readVertices(t,s,t.vertexCount<<1);let r=gs(t,"color",null);return r&&s.color.setFromString(r),s}case"mesh":case"linkedmesh":{let r=gs(t,"path",n),i=this.readSequence(gs(t,"sequence",null)),o=this.attachmentLoader.newMeshAttachment(e,n,r,i);if(!o)return null;o.path=r;let l=gs(t,"color",null);l&&o.color.setFromString(l),o.width=gs(t,"width",0)*a,o.height=gs(t,"height",0)*a,o.sequence=i;let h=gs(t,"parent",null);if(h)return this.linkedMeshes.push(new ds(o,gs(t,"skin",null),s,h,gs(t,"timelines",!0))),o;let c=t.uvs;return this.readVertices(t,o,c.length),o.triangles=t.triangles,o.regionUVs=c,null!=o.region&&o.updateRegion(),o.edges=gs(t,"edges",null),o.hullLength=2*gs(t,"hull",0),o}case"path":{let s=this.attachmentLoader.newPathAttachment(e,n);if(!s)return null;s.closed=gs(t,"closed",!1),s.constantSpeed=gs(t,"constantSpeed",!0);let r=t.vertexCount;this.readVertices(t,s,r<<1);let i=f.newArray(r/3,0);for(let e=0;e<t.lengths.length;e++)i[e]=t.lengths[e]*a;s.lengths=i;let o=gs(t,"color",null);return o&&s.color.setFromString(o),s}case"point":{let s=this.attachmentLoader.newPointAttachment(e,n);if(!s)return null;s.x=gs(t,"x",0)*a,s.y=gs(t,"y",0)*a,s.rotation=gs(t,"rotation",0);let r=gs(t,"color",null);return r&&s.color.setFromString(r),s}case"clipping":{let s=this.attachmentLoader.newClippingAttachment(e,n);if(!s)return null;let a=gs(t,"end",null);a&&(s.endSlot=r.findSlot(a));let i=t.vertexCount;this.readVertices(t,s,i<<1);let o=gs(t,"color",null);return o&&s.color.setFromString(o),s}}return null}readSequence(t){if(null==t)return null;let e=new k(gs(t,"count",0));return e.start=gs(t,"start",1),e.digits=gs(t,"digits",0),e.setupIndex=gs(t,"setup",0),e}readVertices(t,e,s){let n=this.scale;e.worldVerticesLength=s;let r=t.vertices;if(s==r.length){let t=f.toFloatArray(r);if(1!=n)for(let e=0,s=r.length;e<s;e++)t[e]*=n;return void(e.vertices=t)}let a=new Array,i=new Array;for(let t=0,e=r.length;t<e;){let e=r[t++];i.push(e);for(let s=t+4*e;t<s;t+=4)i.push(r[t]),a.push(r[t+1]*n),a.push(r[t+2]*n),a.push(r[t+3])}e.bones=i,e.vertices=f.toFloatArray(a)}readAnimation(t,e,s){let n=this.scale,r=new Array;if(t.slots)for(let e in t.slots){let n=t.slots[e],a=s.findSlot(e);if(!a)throw new Error("Slot not found: "+e);let i=a.index;for(let t in n){let e=n[t];if(!e)continue;let s=e.length;if("attachment"==t){let t=new j(s,i);for(let n=0;n<s;n++){let s=e[n];t.setFrame(n,gs(s,"time",0),gs(s,"name",null))}r.push(t)}else if("rgba"==t){let t=new q(s,s<<2,i),n=e[0],a=gs(n,"time",0),o=l.fromString(n.color);for(let s=0,r=0;;s++){t.setFrame(s,a,o.r,o.g,o.b,o.a);let i=e[s+1];if(!i){t.shrink(r);break}let h=gs(i,"time",0),c=l.fromString(i.color),d=n.curve;d&&(r=fs(d,t,r,s,0,a,h,o.r,c.r,1),r=fs(d,t,r,s,1,a,h,o.g,c.g,1),r=fs(d,t,r,s,2,a,h,o.b,c.b,1),r=fs(d,t,r,s,3,a,h,o.a,c.a,1)),a=h,o=c,n=i}r.push(t)}else if("rgb"==t){let t=new W(s,3*s,i),n=e[0],a=gs(n,"time",0),o=l.fromString(n.color);for(let s=0,r=0;;s++){t.setFrame(s,a,o.r,o.g,o.b);let i=e[s+1];if(!i){t.shrink(r);break}let h=gs(i,"time",0),c=l.fromString(i.color),d=n.curve;d&&(r=fs(d,t,r,s,0,a,h,o.r,c.r,1),r=fs(d,t,r,s,1,a,h,o.g,c.g,1),r=fs(d,t,r,s,2,a,h,o.b,c.b,1)),a=h,o=c,n=i}r.push(t)}else if("alpha"==t)r.push(us(e,new z(s,s,i),0,1));else if("rgba2"==t){let t=new G(s,7*s,i),n=e[0],a=gs(n,"time",0),o=l.fromString(n.light),h=l.fromString(n.dark);for(let s=0,r=0;;s++){t.setFrame(s,a,o.r,o.g,o.b,o.a,h.r,h.g,h.b);let i=e[s+1];if(!i){t.shrink(r);break}let c=gs(i,"time",0),d=l.fromString(i.light),u=l.fromString(i.dark),m=n.curve;m&&(r=fs(m,t,r,s,0,a,c,o.r,d.r,1),r=fs(m,t,r,s,1,a,c,o.g,d.g,1),r=fs(m,t,r,s,2,a,c,o.b,d.b,1),r=fs(m,t,r,s,3,a,c,o.a,d.a,1),r=fs(m,t,r,s,4,a,c,h.r,u.r,1),r=fs(m,t,r,s,5,a,c,h.g,u.g,1),r=fs(m,t,r,s,6,a,c,h.b,u.b,1)),a=c,o=d,h=u,n=i}r.push(t)}else if("rgb2"==t){let t=new $(s,6*s,i),n=e[0],a=gs(n,"time",0),o=l.fromString(n.light),h=l.fromString(n.dark);for(let s=0,r=0;;s++){t.setFrame(s,a,o.r,o.g,o.b,h.r,h.g,h.b);let i=e[s+1];if(!i){t.shrink(r);break}let c=gs(i,"time",0),d=l.fromString(i.light),u=l.fromString(i.dark),m=n.curve;m&&(r=fs(m,t,r,s,0,a,c,o.r,d.r,1),r=fs(m,t,r,s,1,a,c,o.g,d.g,1),r=fs(m,t,r,s,2,a,c,o.b,d.b,1),r=fs(m,t,r,s,3,a,c,h.r,u.r,1),r=fs(m,t,r,s,4,a,c,h.g,u.g,1),r=fs(m,t,r,s,5,a,c,h.b,u.b,1)),a=c,o=d,h=u,n=i}r.push(t)}}}if(t.bones)for(let e in t.bones){let a=t.bones[e],i=s.findBone(e);if(!i)throw new Error("Bone not found: "+e);let o=i.index;for(let t in a){let e=a[t],s=e.length;if(0!=s)if("rotate"===t)r.push(us(e,new P(s,s,o),0,1));else if("translate"===t){let t=new B(s,s<<1,o);r.push(ms(e,t,"x","y",0,n))}else if("translatex"===t){let t=new R(s,s,o);r.push(us(e,t,0,n))}else if("translatey"===t){let t=new E(s,s,o);r.push(us(e,t,0,n))}else if("scale"===t){let t=new D(s,s<<1,o);r.push(ms(e,t,"x","y",1,1))}else if("scalex"===t){let t=new V(s,s,o);r.push(us(e,t,1,1))}else if("scaley"===t){let t=new L(s,s,o);r.push(us(e,t,1,1))}else if("shear"===t){let t=new _(s,s<<1,o);r.push(ms(e,t,"x","y",0,1))}else if("shearx"===t){let t=new O(s,s,o);r.push(us(e,t,0,1))}else if("sheary"===t){let t=new U(s,s,o);r.push(us(e,t,0,1))}else if("inherit"===t){let t=new N(s,i.index);for(let s=0;s<e.length;s++){let n=e[s];t.setFrame(s,gs(n,"time",0),f.enumValue($t,gs(n,"inherit","Normal")))}r.push(t)}}}if(t.ik)for(let e in t.ik){let a=t.ik[e],i=a[0];if(!i)continue;let o=s.findIkConstraint(e);if(!o)throw new Error("IK Constraint not found: "+e);let l=s.ikConstraints.indexOf(o),h=new tt(a.length,a.length<<1,l),c=gs(i,"time",0),d=gs(i,"mix",1),u=gs(i,"softness",0)*n;for(let t=0,e=0;;t++){h.setFrame(t,c,d,u,gs(i,"bendPositive",!0)?1:-1,gs(i,"compress",!1),gs(i,"stretch",!1));let s=a[t+1];if(!s){h.shrink(e);break}let r=gs(s,"time",0),o=gs(s,"mix",1),l=gs(s,"softness",0)*n,m=i.curve;m&&(e=fs(m,h,e,t,0,c,r,d,o,1),e=fs(m,h,e,t,1,c,r,u,l,n)),c=r,d=o,u=l,i=s}r.push(h)}if(t.transform)for(let e in t.transform){let n=t.transform[e],a=n[0];if(!a)continue;let i=s.findTransformConstraint(e);if(!i)throw new Error("Transform constraint not found: "+e);let o=s.transformConstraints.indexOf(i),l=new et(n.length,6*n.length,o),h=gs(a,"time",0),c=gs(a,"mixRotate",1),d=gs(a,"mixX",1),u=gs(a,"mixY",d),m=gs(a,"mixScaleX",1),f=gs(a,"mixScaleY",m),g=gs(a,"mixShearY",1);for(let t=0,e=0;;t++){l.setFrame(t,h,c,d,u,m,f,g);let s=n[t+1];if(!s){l.shrink(e);break}let r=gs(s,"time",0),i=gs(s,"mixRotate",1),o=gs(s,"mixX",1),p=gs(s,"mixY",o),x=gs(s,"mixScaleX",1),w=gs(s,"mixScaleY",x),b=gs(s,"mixShearY",1),y=a.curve;y&&(e=fs(y,l,e,t,0,h,r,c,i,1),e=fs(y,l,e,t,1,h,r,d,o,1),e=fs(y,l,e,t,2,h,r,u,p,1),e=fs(y,l,e,t,3,h,r,m,x,1),e=fs(y,l,e,t,4,h,r,f,w,1),e=fs(y,l,e,t,5,h,r,g,b,1)),h=r,c=i,d=o,u=p,m=x,f=w,m=x,a=s}r.push(l)}if(t.path)for(let e in t.path){let a=t.path[e],i=s.findPathConstraint(e);if(!i)throw new Error("Path constraint not found: "+e);let o=s.pathConstraints.indexOf(i);for(let t in a){let e=a[t],s=e[0];if(!s)continue;let l=e.length;if("position"===t){let t=new st(l,l,o);r.push(us(e,t,0,0==i.positionMode?n:1))}else if("spacing"===t){let t=new nt(l,l,o);r.push(us(e,t,0,0==i.spacingMode||1==i.spacingMode?n:1))}else if("mix"===t){let t=new rt(l,3*l,o),n=gs(s,"time",0),a=gs(s,"mixRotate",1),i=gs(s,"mixX",1),h=gs(s,"mixY",i);for(let r=0,o=0;;r++){t.setFrame(r,n,a,i,h);let l=e[r+1];if(!l){t.shrink(o);break}let c=gs(l,"time",0),d=gs(l,"mixRotate",1),u=gs(l,"mixX",1),m=gs(l,"mixY",u),f=s.curve;f&&(o=fs(f,t,o,r,0,n,c,a,d,1),o=fs(f,t,o,r,1,n,c,i,u,1),o=fs(f,t,o,r,2,n,c,h,m,1)),n=c,a=d,i=u,h=m,s=l}r.push(t)}}}if(t.physics)for(let e in t.physics){let n=t.physics[e],a=-1;if(e.length>0){let t=s.findPhysicsConstraint(e);if(!t)throw new Error("Physics constraint not found: "+e);a=s.physicsConstraints.indexOf(t)}for(let t in n){let e=n[t],s=e[0];if(!s)continue;let i,o=e.length;if("reset"!=t){if("inertia"==t)i=new it(o,o,a);else if("strength"==t)i=new ot(o,o,a);else if("damping"==t)i=new lt(o,o,a);else if("mass"==t)i=new ht(o,o,a);else if("wind"==t)i=new ct(o,o,a);else if("gravity"==t)i=new dt(o,o,a);else{if("mix"!=t)continue;i=new ut(o,o,a)}r.push(us(e,i,0,1))}else{const t=new ft(o,a);for(let n=0;null!=s;s=e[n+1],n++)t.setFrame(n,gs(s,"time",0));r.push(t)}}}if(t.attachments)for(let e in t.attachments){let a=t.attachments[e],i=s.findSkin(e);if(!i)throw new Error("Skin not found: "+e);for(let t in a){let e=a[t],o=s.findSlot(t);if(!o)throw new Error("Slot not found: "+t);let l=o.index;for(let t in e){let s=e[t],a=i.getAttachment(l,t);for(let t in s){let e=s[t],i=e[0];if(i)if("deform"==t){let t=a.bones,s=a.vertices,o=t?s.length/3*2:s.length,h=new H(e.length,e.length,l,a),c=gs(i,"time",0);for(let r=0,a=0;;r++){let l,d=gs(i,"vertices",null);if(d){l=f.newFloatArray(o);let e=gs(i,"offset",0);if(f.arrayCopy(d,0,l,e,d.length),1!=n)for(let t=e,s=t+d.length;t<s;t++)l[t]*=n;if(!t)for(let t=0;t<o;t++)l[t]+=s[t]}else l=t?f.newFloatArray(o):s;h.setFrame(r,c,l);let u=e[r+1];if(!u){h.shrink(a);break}let m=gs(u,"time",0),g=i.curve;g&&(a=fs(g,h,a,r,0,c,m,0,1,1)),c=m,i=u}r.push(h)}else if("sequence"==t){let t=new pt(e.length,l,a),s=0;for(let n=0;n<e.length;n++){let r=gs(i,"delay",s),a=gs(i,"time",0),o=v[gs(i,"mode","hold")],l=gs(i,"index",0);t.setFrame(n,a,o,l,r),s=r,i=e[n+1]}r.push(t)}}}}}if(t.drawOrder){let e=new Z(t.drawOrder.length),n=s.slots.length,a=0;for(let r=0;r<t.drawOrder.length;r++,a++){let i=t.drawOrder[r],o=null,l=gs(i,"offsets",null);if(l){o=f.newArray(n,-1);let t=f.newArray(n-l.length,0),e=0,r=0;for(let n=0;n<l.length;n++){let a=l[n],i=s.findSlot(a.slot);if(!i)throw new Error("Slot not found: "+i);let h=i.index;for(;e!=h;)t[r++]=e++;o[e+a.offset]=e++}for(;e<n;)t[r++]=e++;for(let e=n-1;e>=0;e--)-1==o[e]&&(o[e]=t[--r])}e.setFrame(a,gs(i,"time",0),o)}r.push(e)}if(t.events){let e=new K(t.events.length),n=0;for(let r=0;r<t.events.length;r++,n++){let a=t.events[r],i=s.findEvent(a.name);if(!i)throw new Error("Event not found: "+a.name);let o=new Kt(f.toSinglePrecision(gs(a,"time",0)),i);o.intValue=gs(a,"int",i.intValue),o.floatValue=gs(a,"float",i.floatValue),o.stringValue=gs(a,"string",i.stringValue),o.data.audioPath&&(o.volume=gs(a,"volume",1),o.balance=gs(a,"balance",0)),e.setFrame(n,o)}r.push(e)}let a=0;for(let t=0,e=r.length;t<e;t++)a=Math.max(a,r[t].getDuration());s.animations.push(new S(e,r,a))}},ds=class{parent;skin;slotIndex;mesh;inheritTimeline;constructor(t,e,s,n,r){this.mesh=t,this.skin=e,this.slotIndex=s,this.parent=n,this.inheritTimeline=r}};function us(t,e,s,n){let r=t[0],a=gs(r,"time",0),i=gs(r,"value",s)*n,o=0;for(let l=0;;l++){e.setFrame(l,a,i);let h=t[l+1];if(!h)return e.shrink(o),e;let c=gs(h,"time",0),d=gs(h,"value",s)*n;r.curve&&(o=fs(r.curve,e,o,l,0,a,c,i,d,n)),a=c,i=d,r=h}}function ms(t,e,s,n,r,a){let i=t[0],o=gs(i,"time",0),l=gs(i,s,r)*a,h=gs(i,n,r)*a,c=0;for(let d=0;;d++){e.setFrame(d,o,l,h);let u=t[d+1];if(!u)return e.shrink(c),e;let m=gs(u,"time",0),f=gs(u,s,r)*a,g=gs(u,n,r)*a,p=i.curve;p&&(c=fs(p,e,c,d,0,o,m,l,f,a),c=fs(p,e,c,d,1,o,m,h,g,a)),o=m,l=f,h=g,i=u}}function fs(t,e,s,n,r,a,i,o,l,h){if("stepped"==t)return e.setStepped(n),s;let c=r<<2,d=t[c],u=t[c+1]*h,m=t[c+2],f=t[c+3]*h;return e.setBezier(s,n,r,a,o,d,u,m,f,i,l),s+1}function gs(t,e,s){return void 0!==t[e]?t[e]:s}void 0===Math.fround&&(Math.fround=(Me=new Float32Array(1),function(t){return Me[0]=t,Me[0]}));var ps=class extends Pt{static from(t){return ps.textureMap.has(t)?ps.textureMap.get(t):new ps(t)}texture;constructor(t){super(t.resource),this.texture=e.Texture.from(t)}setFilters(t,e){const s=this.texture.source.style;s.minFilter=ps.toPixiTextureFilter(t),s.magFilter=ps.toPixiTextureFilter(e),this.texture.source.autoGenerateMipmaps=ps.toPixiMipMap(t),this.texture.source.updateMipmaps()}setWraps(t,e){const s=this.texture.source.style;s.addressModeU=ps.toPixiTextureWrap(t),s.addressModeV=ps.toPixiTextureWrap(e)}dispose(){this.texture.destroy()}static toPixiMipMap(t){switch(t){case 9728:case 9729:return!1;case 9986:case 9984:case 9987:case 9985:return!0;default:throw new Error(`Unknown texture filter: ${String(t)}`)}}static toPixiTextureFilter(t){switch(t){case 9728:case 9986:case 9984:return"nearest";case 9729:case 9987:case 9985:return"linear";default:throw new Error(`Unknown texture filter: ${String(t)}`)}}static toPixiTextureWrap(t){switch(t){case 33071:return"clamp-to-edge";case 33648:return"mirror-repeat";case 10497:return"repeat";default:throw new Error(`Unknown texture wrap: ${String(t)}`)}}static toPixiBlending(t){switch(t){case 0:return"normal";case 1:return"add";case 2:return"multiply";case 3:return"screen";default:throw new Error(`Unknown blendMode: ${String(t)}`)}}},xs=ps;a(xs,"textureMap",new Map);var ws={extension:e.ExtensionType.Asset,resolver:{test:t=>e.checkExtension(t,".atlas"),parse:t=>{const s=t.split(".");return{resolution:parseFloat(e.Resolver.RETINA_PREFIX?.exec(t)?.[1]??"1"),format:s[s.length-2],src:t}}},loader:{extension:{type:e.ExtensionType.LoadParser,priority:e.LoaderParserPriority.Normal,name:"spineTextureAtlasLoader"},test:t=>e.checkExtension(t,".atlas"),async load(t){const s=await e.DOMAdapter.get().fetch(t);return await s.text()},testParse(t,s){const n=e.checkExtension(s.src,".atlas"),r="string"==typeof t;return Promise.resolve(n&&r)},unload(t){t.dispose()},async parse(t,s,n){const r=s.data||{};let a=e.path.dirname(s.src);a&&a.lastIndexOf("/")!==a.length-1&&(a+="/");const i=new Dt(t);if(r.images instanceof e.TextureSource||"string"==typeof r.images){const t=r.images;r.images={},r.images[i.pages[0].name]=t}const o=[];for(const t of i.pages){const s=t.name,i=r?.images?r.images[s]:void 0;if(i instanceof e.TextureSource)t.setTexture(xs.from(i));else{const l={src:i??e.path.normalize([...a.split(e.path.sep),s].join(e.path.sep)),data:{...r.imageMetadata,alphaMode:t.pma?"premultiplied-alpha":"premultiply-alpha-on-upload"}},h=n.load(l).then((e=>{t.setTexture(xs.from(e.source))}));o.push(h)}}return await Promise.all(o),i}}};e.extensions.add(ws);var bs={extension:e.ExtensionType.Asset,loader:{extension:{type:e.ExtensionType.LoadParser,priority:e.LoaderParserPriority.Normal,name:"spineSkeletonLoader"},test:t=>e.checkExtension(t,".skel"),async load(t){const s=await e.DOMAdapter.get().fetch(t);return new Uint8Array(await s.arrayBuffer())},testParse(t,s){const n=e.checkExtension(s.src,".json")&&(r=t,Object.prototype.hasOwnProperty.call(r,"bones"));var r;const a=e.checkExtension(s.src,".skel")&&function(t){return t instanceof Uint8Array}(t);return Promise.resolve(n||a)}}};e.extensions.add(bs);var ys=new Float32Array(1),ks=new Uint32Array(1),vs=class extends e.Geometry{constructor(){const t=new e.Buffer({data:ys,label:"attribute-batch-buffer",usage:e.BufferUsage.VERTEX|e.BufferUsage.COPY_DST,shrinkToFit:!1});super({attributes:{aPosition:{buffer:t,format:"float32x2",stride:28,offset:0},aUV:{buffer:t,format:"float32x2",stride:28,offset:8},aColor:{buffer:t,format:"unorm8x4",stride:28,offset:16},aDarkColor:{buffer:t,format:"unorm8x4",stride:28,offset:20},aTextureIdAndRound:{buffer:t,format:"uint16x2",stride:28,offset:24}},indexBuffer:new e.Buffer({data:ks,label:"index-batch-buffer",usage:e.BufferUsage.INDEX|e.BufferUsage.COPY_DST,shrinkToFit:!1})})}},Cs={name:"color-bit",vertex:{header:"\n @in aDarkColor: vec4<f32>;\n @out vDarkColor: vec4<f32>;\n ",main:"\n vDarkColor = aDarkColor;\n "},fragment:{header:"\n @in vDarkColor: vec4<f32>;\n ",end:"\n\n let alpha = outColor.a * vColor.a;\n let rgb = ((outColor.a - 1.0) * vDarkColor.a + 1.0 - outColor.rgb) * vDarkColor.rgb + outColor.rgb * vColor.rgb;\n\n finalColor = vec4<f32>(rgb, alpha);\n\n "}},Ss={name:"color-bit",vertex:{header:"\n in vec4 aDarkColor;\n out vec4 vDarkColor;\n ",main:"\n vDarkColor = aDarkColor;\n "},fragment:{header:"\n in vec4 vDarkColor;\n ",end:"\n\n finalColor.a = outColor.a * vColor.a;\n finalColor.rgb = ((outColor.a - 1.0) * vDarkColor.a + 1.0 - outColor.rgb) * vDarkColor.rgb + outColor.rgb * vColor.rgb;\n "}},As=class extends e.Shader{constructor(t){super({glProgram:e.compileHighShaderGlProgram({name:"dark-tint-batch",bits:[e.colorBitGl,Ss,e.generateTextureBatchBitGl(t),e.roundPixelsBitGl]}),gpuProgram:e.compileHighShaderGpuProgram({name:"dark-tint-batch",bits:[e.colorBit,Cs,e.generateTextureBatchBit(t),e.roundPixelsBit]}),resources:{batchSamplers:e.getBatchSamplersUniformGroup(t)}})}},Is=null,Ts=class extends e.Batcher{geometry=new vs;shader=Is||(Is=new As(this.maxTextures));name=Ts.extension.name;vertexSize=7;packAttributes(t,s,n,r,a){const i=a<<16|65535&t.roundPixels,o=t.transform,l=o.a,h=o.b,c=o.c,d=o.d,u=o.tx,m=o.ty,{positions:f,uvs:g}=t,p=t.color,x=(p>>24&255)/255,w=e.Color.shared.setValue(t.darkColor).premultiply(x,!0).toPremultiplied(1,!1),b=t.attributeOffset,y=b+t.attributeSize;for(let t=b;t<y;t++){const e=2*t,a=f[e],o=f[e+1];s[r++]=l*a+c*o+u,s[r++]=d*o+h*a+m,s[r++]=g[e],s[r++]=g[e+1],n[r++]=p,n[r++]=w,n[r++]=i}}packQuadAttributes(t,e,s,n,r){const a=t.texture,i=t.transform,o=i.a,l=i.b,h=i.c,c=i.d,d=i.tx,u=i.ty,m=t.bounds,f=m.maxX,g=m.minX,p=m.maxY,x=m.minY,w=a.uvs,b=t.color,y=t.darkColor,k=r<<16|65535&t.roundPixels;e[n+0]=o*g+h*x+d,e[n+1]=c*x+l*g+u,e[n+2]=w.x0,e[n+3]=w.y0,s[n+4]=b,s[n+5]=y,s[n+6]=k,e[n+7]=o*f+h*x+d,e[n+8]=c*x+l*f+u,e[n+9]=w.x1,e[n+10]=w.y1,s[n+11]=b,s[n+12]=y,s[n+13]=k,e[n+14]=o*f+h*p+d,e[n+15]=c*p+l*f+u,e[n+16]=w.x2,e[n+17]=w.y2,s[n+18]=b,s[n+19]=y,s[n+20]=k,e[n+21]=o*g+h*p+d,e[n+22]=c*p+l*g+u,e[n+23]=w.x3,e[n+24]=w.y3,s[n+25]=b,s[n+26]=y,s[n+27]=k}},Ms=Ts;a(Ms,"extension",{type:[e.ExtensionType.Batcher],name:"darkTint"}),e.extensions.add(Ms);var Fs=class{indexOffset=0;attributeOffset=0;indexSize;attributeSize;batcherName="darkTint";topology="triangle-list";packAsQuad=!1;renderable;positions;indices;uvs;roundPixels;data;blendMode;darkTint;texture;transform;_textureId;_attributeStart;_indexStart;_batcher;_batch;get color(){const t=this.data.color,e=this.renderable.groupColor,s=this.renderable.groupAlpha;let n;const r=t.a*s*255;if(16777215!==e){const s=e>>16&255,a=e>>8&255,i=255&e,o=t.r*i,l=t.g*a;n=r<<24|t.b*s<<16|l<<8|o}else n=r<<24|255*t.b<<16|255*t.g<<8|255*t.r;return n}get darkColor(){const t=this.data.darkColor;return 255*t.b<<16|255*t.g<<8|255*t.r}get groupTransform(){return this.renderable.groupTransform}setData(t,e,s,n){if(this.renderable=t,this.transform=t.groupTransform,this.data=e,e.clipped){const t=e.clippedData;this.indexSize=t.indicesCount,this.attributeSize=t.vertexCount,this.positions=t.vertices,this.indices=t.indices,this.uvs=t.uvs}else this.indexSize=e.indices.length,this.attributeSize=e.vertices.length/2,this.positions=e.vertices,this.indices=e.indices,this.uvs=e.uvs;this.texture=e.texture,this.roundPixels=n,this.blendMode=s,this.batcherName=e.darkTint?"darkTint":"default"}},Ys={0:"normal",1:"add",2:"multiply",3:"screen"},Xs=class{renderer;gpuSpineData={};_destroyRenderableBound=this.destroyRenderable.bind(this);constructor(t){this.renderer=t}validateRenderable(t){if(t._validateAndTransformAttachments(),t.spineAttachmentsDirty)return!0;if(t.spineTexturesDirty){const e=t.skeleton.drawOrder,s=this.gpuSpineData[t.uid];for(let n=0,r=e.length;n<r;n++){const r=e[n],a=r.getAttachment();if(a instanceof Wt||a instanceof Ot){const e=t._getCachedData(r,a),n=s.slotBatches[e.id],i=e.texture;if(i!==n.texture&&!n._batcher.checkAndUpdateTexture(n,i))return!0}}}return!1}addRenderable(t,s){const n=this._getSpineData(t),r=this.renderer.renderPipes.batch,a=t.skeleton.drawOrder,i=this.renderer._roundPixels|t._roundPixels;t._validateAndTransformAttachments();for(let o=0,l=a.length;o<l;o++){const l=a[o],h=l.getAttachment(),c=Ys[l.data.blendMode];if(h instanceof Wt||h instanceof Ot){const e=t._getCachedData(l,h),a=n.slotBatches[e.id]||=new Fs;a.setData(t,e,c,i),e.skipRender||r.addToBatch(a,s)}const d=t._slotsObject[l.data.name];if(d){const t=d.container;t.includeInBuild=!0,e.collectAllRenderables(t,s,this.renderer),t.includeInBuild=!1}}}updateRenderable(t){const e=this.gpuSpineData[t.uid];t._validateAndTransformAttachments();const s=t.skeleton.drawOrder;for(let n=0,r=s.length;n<r;n++){const r=s[n],a=r.getAttachment();if(a instanceof Wt||a instanceof Ot){if(!t._getCachedData(r,a).skipRender){const s=e.slotBatches[t._getCachedData(r,a).id];s._batcher?.updateElement(s)}}}}destroyRenderable(t){this.gpuSpineData[t.uid]=null,t.off("destroyed",this._destroyRenderableBound)}destroy(){this.gpuSpineData=null,this.renderer=null}_getSpineData(t){return this.gpuSpineData[t.uid]||this._initMeshData(t)}_initMeshData(t){return this.gpuSpineData[t.uid]={slotBatches:{}},t.on("destroyed",this._destroyRenderableBound),this.gpuSpineData[t.uid]}};a(Xs,"extension",{type:[e.ExtensionType.WebGLPipes,e.ExtensionType.WebGPUPipes,e.ExtensionType.CanvasPipes],name:"spine"}),e.extensions.add(Xs);var Ps=new p;de.yDown=!0;var Bs=new hs,Rs=new g((()=>new e.Graphics)),Es=class extends e.ViewContainer{batched=!0;buildId=0;renderPipeId="spine";_didSpineUpdate=!1;beforeUpdateWorldTransforms=()=>{};afterUpdateWorldTransforms=()=>{};skeleton;state;skeletonBounds;darkTint=!1;_debug=void 0;_slotsObject=Object.create(null);clippingSlotToPixiMasks=Object.create(null);getSlotFromRef(t){let e;if(e="number"==typeof t?this.skeleton.slots[t]:"string"==typeof t?this.skeleton.findSlot(t):t,!e)throw new Error(`No slot found with the given slot reference: ${t}`);return e}spineAttachmentsDirty=!0;spineTexturesDirty=!0;_lastAttachments=[];_stateChanged=!0;attachmentCacheData=[];get debug(){return this._debug}set debug(t){this._debug&&this._debug.unregisterSpine(this),t&&t.registerSpine(this),this._debug=t}_autoUpdate=!0;get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t?e.Ticker.shared.add(this.internalUpdate,this):e.Ticker.shared.remove(this.internalUpdate,this),this._autoUpdate=t}hasNeverUpdated=!0;constructor(t){t instanceof fe&&(t={skeletonData:t}),super();const e=t instanceof fe?t:t.skeletonData;this.skeleton=new de(e),this.state=new wt(new Ft(e)),this.autoUpdate=t?.autoUpdate??!0,this.darkTint=void 0===t?.darkTint?this.skeleton.slots.some((t=>!!t.data.darkColor)):t?.darkTint;const s=this.skeleton.slots;for(let t=0;t<s.length;t++)this.attachmentCacheData[t]=Object.create(null)}update(t){this.internalUpdate(0,t)}internalUpdate(t,s){this._updateAndApplyState(s??e.Ticker.shared.deltaMS/1e3)}get bounds(){return this._boundsDirty&&this.updateBounds(),this._bounds}setBonePosition(t,e){const s=t;if("string"==typeof t&&(t=this.skeleton.findBone(t)),!t)throw Error(`Cant set bone position, bone ${String(s)} not found`);if(Ps.set(e.x,e.y),t.parent){const e=t.parent.worldToLocal(Ps);t.x=e.x,t.y=-e.y}else t.x=Ps.x,t.y=Ps.y}getBonePosition(t,e){const s=t;return"string"==typeof t&&(t=this.skeleton.findBone(t)),t?(e||(e={x:0,y:0}),e.x=t.worldX,e.y=t.worldY,e):(console.error(`Cant set bone position! Bone ${String(s)} not found`),e)}_updateAndApplyState(t){this.hasNeverUpdated=!1,this.state.update(t),this.skeleton.update(t);const{skeleton:e}=this;this.state.apply(e),this.beforeUpdateWorldTransforms(this),e.updateWorldTransform(2),this.afterUpdateWorldTransforms(this),this.updateSlotObjects(),this._stateChanged=!0,this._boundsDirty=!0,this.onViewUpdate()}_validateAndTransformAttachments(){this._stateChanged&&(this._stateChanged=!1,this.validateAttachments(),this.transformAttachments())}validateAttachments(){const t=this.skeleton.drawOrder,e=this._lastAttachments;let s=0,n=!1;for(let r=0;r<t.length;r++){const a=t[r].getAttachment();a&&(a!==e[s]&&(n=!0,e[s]=a),s++)}s!==e.length&&(n=!0,e.length=s),this.spineAttachmentsDirty=n}updateAndSetPixiMask(t,e){const s=t.attachment;if(s&&s instanceof Xt){return(this.clippingSlotToPixiMasks[t.data.name]||={slot:t,vertices:new Array}).maskComputed=!1,void(this.currentClippingSlot=this.clippingSlotToPixiMasks[t.data.name])}let n=this.currentClippingSlot,r=this._slotsObject[t.data.name];if(n&&r){let t=n.slot,e=t.attachment,s=n.mask;if(s||(s=Rs.obtain(),n.mask=s,this.addChild(s)),!n.maskComputed){n.maskComputed=!0;const r=e.worldVerticesLength,a=n.vertices;e.computeWorldVertices(t,0,r,a,0,2),s.clear().poly(a).stroke({width:0}).fill({alpha:.25})}r.container.mask=s}else r?.container.mask&&(r.container.mask=null);if(n&&n.slot.attachment.endSlot==t.data&&(this.currentClippingSlot=void 0),e)for(const t in this.clippingSlotToPixiMasks){const e=this.clippingSlotToPixiMasks[t];e.slot.attachment instanceof Xt&&e.maskComputed||!e.mask||(this.removeChild(e.mask),Rs.free(e.mask),e.mask=void 0)}}currentClippingSlot;transformAttachments(){const t=this.skeleton.drawOrder;for(let s=0;s<t.length;s++){const n=t[s];this.updateAndSetPixiMask(n,s===t.length-1);const r=n.getAttachment();if(r)if(r instanceof Ot||r instanceof Wt){const t=this._getCachedData(n,r);r instanceof Wt?r.computeWorldVertices(n,t.vertices,0,2):r.computeWorldVertices(n,0,r.worldVerticesLength,t.vertices,0,2),t.uvs.length<r.uvs.length&&(t.uvs=new Float32Array(r.uvs.length)),e.fastCopy(r.uvs.buffer,t.uvs.buffer);const s=n.bone.skeleton.color,a=n.color,i=r.color;t.color.set(s.r*a.r*i.r,s.g*a.g*i.g,s.b*a.b*i.b,s.a*a.a*i.a),n.darkColor&&t.darkColor.setFromColor(n.darkColor),t.skipRender=t.clipped=!1;const o=r.region?.texture.texture||e.Texture.EMPTY;t.texture!==o&&(t.texture=o,this.spineTexturesDirty=!0),Bs.isClipping()&&this.updateClippingData(t)}else if(r instanceof Xt){Bs.clipStart(n,r);continue}Bs.clipEndWithSlot(n)}Bs.clipEnd()}updateClippingData(t){t.clipped=!0,Bs.clipTrianglesUnpacked(t.vertices,t.indices,t.indices.length,t.uvs);const{clippedVertices:e,clippedUVs:s,clippedTriangles:n}=Bs,r=e.length/2,a=n.length;t.clippedData||(t.clippedData={vertices:new Float32Array(2*r),uvs:new Float32Array(2*r),vertexCount:r,indices:new Uint16Array(a),indicesCount:a},this.spineAttachmentsDirty=!0);const i=t.clippedData,o=i.vertexCount!==r||a!==i.indicesCount;t.skipRender=0===r,o&&(this.spineAttachmentsDirty=!0,i.vertexCount<r&&(i.vertices=new Float32Array(2*r),i.uvs=new Float32Array(2*r)),i.indices.length<a&&(i.indices=new Uint16Array(a)));const{vertices:l,uvs:h,indices:c}=i;for(let t=0;t<r;t++)l[2*t]=e[2*t],l[2*t+1]=e[2*t+1],h[2*t]=s[2*t],h[2*t+1]=s[2*t+1];i.vertexCount=r;for(let t=0;t<a;t++)c[t]!==n[t]&&(this.spineAttachmentsDirty=!0,c[t]=n[t]);i.indicesCount=a}updateSlotObjects(){for(const t in this._slotsObject){const e=this._slotsObject[t];e&&this.updateSlotObject(e)}}updateSlotObject(t){const{slot:s,container:n}=t;if(n.visible=this.skeleton.drawOrder.includes(s),n.visible){const t=s.bone;n.position.set(t.worldX,t.worldY),n.scale.x=t.getWorldScaleX(),n.scale.y=t.getWorldScaleY(),n.rotation=t.getWorldRotationX()*e.DEG_TO_RAD,n.alpha=this.skeleton.color.a*s.color.a}}_getCachedData(t,e){return this.attachmentCacheData[t.data.index][e.name]||this.initCachedData(t,e)}initCachedData(t,e){let s;return e instanceof Wt?(s=new Float32Array(8),this.attachmentCacheData[t.data.index][e.name]={id:`${t.data.index}-${e.name}`,vertices:s,clipped:!1,indices:[0,1,2,0,2,3],uvs:new Float32Array(e.uvs.length),color:new l(1,1,1,1),darkColor:new l(0,0,0,0),darkTint:this.darkTint,skipRender:!1,texture:e.region?.texture.texture}):(s=new Float32Array(e.worldVerticesLength),this.attachmentCacheData[t.data.index][e.name]={id:`${t.data.index}-${e.name}`,vertices:s,clipped:!1,indices:e.triangles,uvs:new Float32Array(e.uvs.length),color:new l(1,1,1,1),darkColor:new l(0,0,0,0),darkTint:this.darkTint,skipRender:!1,texture:e.region?.texture.texture}),this.attachmentCacheData[t.data.index][e.name]}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this),this.debug?.renderDebug(this)}addSlotObject(t,e){t=this.getSlotFromRef(t);for(const t in this._slotsObject)this._slotsObject[t]?.container===e&&this.removeSlotObject(this._slotsObject[t].slot);this.removeSlotObject(t),e.includeInBuild=!1,this.addChild(e);const s={container:e,slot:t};this._slotsObject[t.data.name]=s,this.updateSlotObject(s)}removeSlotObject(t){let s;if(t instanceof e.Container){for(const e in this._slotsObject)if(this._slotsObject[e]?.container===t){this._slotsObject[e]=null,s=t;break}}else{const e=this.getSlotFromRef(t);s=this._slotsObject[e.data.name]?.container,this._slotsObject[e.data.name]=null}s&&(this.removeChild(s),s.includeInBuild=!0)}getSlotObject(t){return t=this.getSlotFromRef(t),this._slotsObject[t.data.name]?.container}updateBounds(){this._boundsDirty=!1,this.skeletonBounds||=new os;const t=this.skeletonBounds;if(t.update(this.skeleton,!0),t.minX===1/0){this.hasNeverUpdated&&(this._updateAndApplyState(0),this._boundsDirty=!1),this._validateAndTransformAttachments();const t=this.skeleton.drawOrder,e=this._bounds;e.clear();for(let s=0;s<t.length;s++){const n=t[s],r=n.getAttachment();if(r&&(r instanceof Wt||r instanceof Ot)){const t=this._getCachedData(n,r);e.addVertexData(t.vertices,0,t.vertices.length)}}}else this._bounds.minX=t.minX,this._bounds.minY=t.minY,this._bounds.maxX=t.maxX,this._bounds.maxY=t.maxY}addBounds(t){t.addBounds(this.bounds)}destroy(t=!1){super.destroy(t),e.Ticker.shared.remove(this.internalUpdate,this),this.state.clearListeners(),this.debug=void 0,this.skeleton=null,this.state=null,this._slotsObject=null,this._lastAttachments.length=0,this.attachmentCacheData=null}skeletonToPixiWorldCoordinates(t){this.worldTransform.apply(t,t)}pixiWorldCoordinatesToSkeleton(t){this.worldTransform.applyInverse(t,t)}pixiWorldCoordinatesToBone(t,e){this.pixiWorldCoordinatesToSkeleton(t),e.parent?e.parent.worldToLocal(t):e.worldToLocal(t)}static from({skeleton:t,atlas:s,scale:n=1,darkTint:r,autoUpdate:a=!0}){const i=`${t}-${s}-${n}`;if(e.Cache.has(i))return new Es(e.Cache.get(i));const o=e.Assets.get(t),l=e.Assets.get(s),h=new zt(l),c=o instanceof Uint8Array?new ye(h):new cs(h);c.scale=n;const d=c.readSkeletonData(o);return e.Cache.set(i,d),new Es({skeletonData:d,darkTint:r,autoUpdate:a})}},Ds={AlphaTimeline:z,Animation:S,AnimationState:wt,AnimationStateAdapter:class{start(t){}interrupt(t){}end(t){}dispose(t){}complete(t){}event(t,e){}},AnimationStateData:Ft,AssetManagerBase:class{pathPrefix="";textureLoader;downloader;assets={};errors={};toLoad=0;loaded=0;constructor(t,e="",s=new Jt){this.textureLoader=t,this.pathPrefix=e,this.downloader=s}start(t){return this.toLoad++,this.pathPrefix+t}success(t,e,s){this.toLoad--,this.loaded++,this.assets[e]=s,t&&t(e,s)}error(t,e,s){this.toLoad--,this.loaded++,this.errors[e]=s,t&&t(e,s)}loadAll(){return new Promise(((t,e)=>{let s=()=>{this.isLoadingComplete()?this.hasErrors()?e(this.errors):t(this):requestAnimationFrame(s)};requestAnimationFrame(s)}))}setRawDataURI(t,e){this.downloader.rawDataUris[this.pathPrefix+t]=e}loadBinary(t,e=()=>{},s=()=>{}){t=this.start(t),this.downloader.downloadBinary(t,(s=>{this.success(e,t,s)}),((e,n)=>{this.error(s,t,`Couldn't load binary ${t}: status ${e}, ${n}`)}))}loadText(t,e=()=>{},s=()=>{}){t=this.start(t),this.downloader.downloadText(t,(s=>{this.success(e,t,s)}),((e,n)=>{this.error(s,t,`Couldn't load text ${t}: status ${e}, ${n}`)}))}loadJson(t,e=()=>{},s=()=>{}){t=this.start(t),this.downloader.downloadJson(t,(s=>{this.success(e,t,s)}),((e,n)=>{this.error(s,t,`Couldn't load JSON ${t}: status ${e}, ${n}`)}))}loadTexture(t,e=()=>{},s=()=>{}){if(t=this.start(t),!!("undefined"==typeof window||"undefined"==typeof navigator||!window.document))fetch(t,{mode:"cors"}).then((e=>e.ok?e.blob():(this.error(s,t,`Couldn't load image: ${t}`),null))).then((t=>t?createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}):null)).then((s=>{s&&this.success(e,t,this.textureLoader(s))}));else{let n=new Image;n.crossOrigin="anonymous",n.onload=()=>{this.success(e,t,this.textureLoader(n))},n.onerror=()=>{this.error(s,t,`Couldn't load image: ${t}`)},this.downloader.rawDataUris[t]&&(t=this.downloader.rawDataUris[t]),n.src=t}}loadTextureAtlas(t,e=()=>{},s=()=>{},n){let r=t.lastIndexOf("/"),a=r>=0?t.substring(0,r+1):"";t=this.start(t),this.downloader.downloadText(t,(r=>{try{let i=new Dt(r),o=i.pages.length,l=!1;for(let r of i.pages)this.loadTexture(n?n[r.name]:a+r.name,((s,n)=>{l||(r.setTexture(n),0==--o&&this.success(e,t,i))}),((e,n)=>{l||this.error(s,t,`Couldn't load texture atlas ${t} page image: ${e}`),l=!0}))}catch(e){this.error(s,t,`Couldn't parse texture atlas ${t}: ${e.message}`)}}),((e,n)=>{this.error(s,t,`Couldn't load texture atlas ${t}: status ${e}, ${n}`)}))}get(t){return this.assets[this.pathPrefix+t]}require(t){t=this.pathPrefix+t;let e=this.assets[t];if(e)return e;let s=this.errors[t];throw Error("Asset not found: "+t+(s?"\n"+s:""))}remove(t){t=this.pathPrefix+t;let e=this.assets[t];return e.dispose&&e.dispose(),delete this.assets[t],e}removeAll(){for(let t in this.assets){let e=this.assets[t];e.dispose&&e.dispose()}this.assets={}}isLoadingComplete(){return 0==this.toLoad}getToLoad(){return this.toLoad}getLoaded(){return this.loaded}dispose(){this.removeAll()}hasErrors(){return Object.keys(this.errors).length>0}getErrors(){return this.errors}},AtlasAttachmentLoader:zt,Attachment:x,AttachmentTimeline:j,BinaryInput:ke,BlendMode:we,Bone:jt,BoneData:Gt,BoundingBoxAttachment:Yt,CURRENT:Mt,ClippingAttachment:Xt,Color:l,ConstraintData:Ht,CurveTimeline:F,CurveTimeline1:Y,CurveTimeline2:X,DebugUtils:class{static logBones(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e];console.log(s.data.name+", "+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.worldX+", "+s.worldY)}}},DeformTimeline:H,Downloader:Jt,DrawOrderTimeline:Z,Event:Kt,EventData:Qt,EventQueue:yt,EventTimeline:K,EventType:kt,FIRST:Ct,FakeTexture:class extends Pt{setFilters(t,e){}setWraps(t,e){}dispose(){}},HOLD_FIRST:At,HOLD_MIX:It,HOLD_SUBSEQUENT:St,IkConstraint:Zt,IkConstraintData:te,IkConstraintTimeline:tt,Inherit:$t,InheritTimeline:N,IntSet:class{array=new Array;add(t){let e=this.contains(t);return this.array[0|t]=0|t,!e}contains(t){return null!=this.array[0|t]}remove(t){this.array[0|t]=void 0}clear(){this.array.length=0}},Interpolation:d,MathUtils:c,MeshAttachment:Ot,MixBlend:A,MixDirection:I,PathAttachment:Ut,PathConstraint:ie,PathConstraintData:ee,PathConstraintMixTimeline:rt,PathConstraintPositionTimeline:st,PathConstraintSpacingTimeline:nt,Physics:ue,PhysicsConstraintDampingTimeline:lt,PhysicsConstraintGravityTimeline:dt,PhysicsConstraintInertiaTimeline:it,PhysicsConstraintMassTimeline:ht,PhysicsConstraintMixTimeline:ut,PhysicsConstraintResetTimeline:ft,PhysicsConstraintStrengthTimeline:ot,PhysicsConstraintTimeline:at,PhysicsConstraintWindTimeline:ct,PointAttachment:Nt,Pool:g,PositionMode:se,Pow:u,PowOut:class extends u{constructor(t){super(t)}applyInternal(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1}},RGB2Timeline:$,RGBA2Timeline:G,RGBATimeline:q,RGBTimeline:W,RegionAttachment:Wt,RotateMode:re,RotateTimeline:P,SETUP:Tt,SUBSEQUENT:vt,ScaleTimeline:D,ScaleXTimeline:V,ScaleYTimeline:L,SequenceTimeline:pt,ShearTimeline:_,ShearXTimeline:O,ShearYTimeline:U,Skeleton:de,SkeletonBinary:ye,SkeletonBounds:os,SkeletonClipping:hs,SkeletonData:fe,SkeletonJson:cs,Skin:pe,SkinEntry:ge,Slot:le,SlotData:xe,SpacingMode:ne,Spine:Es,SpineDebugRenderer:class{registeredSpines=new Map;drawMeshHull=!0;drawMeshTriangles=!0;drawBones=!0;drawPaths=!0;drawBoundingBoxes=!0;drawClipping=!0;drawRegionAttachments=!0;drawEvents=!0;lineWidth=1;regionAttachmentsColor=30975;meshHullColor=30975;meshTrianglesColor=16763904;clippingPolygonColor=16711935;boundingBoxesRectColor=65280;boundingBoxesPolygonColor=65280;boundingBoxesCircleColor=65280;pathsCurveColor=16711680;pathsLineColor=16711935;skeletonXYColor=16711680;bonesColor=61132;eventFontSize=24;eventFontColor=0;registerSpine(t){if(this.registeredSpines.has(t))return void console.warn("SpineDebugRenderer.registerSpine() - this spine is already registered!",t);const s={parentDebugContainer:new e.Container,bones:new e.Container,skeletonXY:new e.Graphics,regionAttachmentsShape:new e.Graphics,meshTrianglesLine:new e.Graphics,meshHullLine:new e.Graphics,clippingPolygon:new e.Graphics,boundingBoxesRect:new e.Graphics,boundingBoxesCircle:new e.Graphics,boundingBoxesPolygon:new e.Graphics,pathsCurve:new e.Graphics,pathsLine:new e.Graphics,eventText:new e.Container,eventCallback:{event:(n,r)=>{if(this.drawEvents){const n=Math.abs(t.scale.x||t.scale.y||1),a=new e.Text({text:r.data.name,style:{fontSize:this.eventFontSize/n,fill:this.eventFontColor,fontFamily:"monospace"}});a.scale.x=Math.sign(t.scale.x),a.anchor.set(.5),s.eventText.addChild(a),setTimeout((()=>{a.destroyed||a.destroy()}),250)}}}};s.parentDebugContainer.addChild(s.bones),s.parentDebugContainer.addChild(s.skeletonXY),s.parentDebugContainer.addChild(s.regionAttachmentsShape),s.parentDebugContainer.addChild(s.meshTrianglesLine),s.parentDebugContainer.addChild(s.meshHullLine),s.parentDebugContainer.addChild(s.clippingPolygon),s.parentDebugContainer.addChild(s.boundingBoxesRect),s.parentDebugContainer.addChild(s.boundingBoxesCircle),s.parentDebugContainer.addChild(s.boundingBoxesPolygon),s.parentDebugContainer.addChild(s.pathsCurve),s.parentDebugContainer.addChild(s.pathsLine),s.parentDebugContainer.addChild(s.eventText),s.parentDebugContainer.zIndex=9999999,s.parentDebugContainer.accessibleChildren=!1,s.parentDebugContainer.eventMode="none",s.parentDebugContainer.interactiveChildren=!1,t.addChild(s.parentDebugContainer),t.state.addListener(s.eventCallback),this.registeredSpines.set(t,s)}renderDebug(t){this.registeredSpines.has(t)||this.registerSpine(t);const e=this.registeredSpines.get(t);if(!e)return;t.addChild(e.parentDebugContainer),e.skeletonXY.clear(),e.regionAttachmentsShape.clear(),e.meshTrianglesLine.clear(),e.meshHullLine.clear(),e.clippingPolygon.clear(),e.boundingBoxesRect.clear(),e.boundingBoxesCircle.clear(),e.boundingBoxesPolygon.clear(),e.pathsCurve.clear(),e.pathsLine.clear();for(let t=e.bones.children.length;t>0;t--)e.bones.children[t-1].destroy({children:!0,texture:!0,textureSource:!0});const s=Math.abs(t.scale.x||t.scale.y||1),n=this.lineWidth/s;if(this.drawBones&&this.drawBonesFunc(t,e,n,s),this.drawPaths&&this.drawPathsFunc(t,e,n),this.drawBoundingBoxes&&this.drawBoundingBoxesFunc(t,e,n),this.drawClipping&&this.drawClippingFunc(t,e,n),(this.drawMeshHull||this.drawMeshTriangles)&&this.drawMeshHullAndMeshTriangles(t,e,n),this.drawRegionAttachments&&this.drawRegionAttachmentsFunc(t,e,n),this.drawEvents)for(const t of e.eventText.children)t.alpha-=.05,t.y-=2}drawBonesFunc(t,s,n,r){const a=t.skeleton,i=a.x,o=a.y,l=a.bones;s.skeletonXY.strokeStyle={width:n,color:this.skeletonXYColor};for(let t=0,a=l.length;t<a;t++){const a=l[t],h=a.data.length,c=i+a.worldX,d=o+a.worldY,u=i+h*a.a+a.worldX,m=o+h*a.b+a.worldY;if("root"===a.data.name||null===a.data.parent)continue;const f=Math.abs(c-u),g=Math.abs(d-m),p=Math.pow(f,2),x=g,w=Math.pow(g,2),b=Math.sqrt(p+w),y=Math.pow(b,2),k=Math.PI/180,v=Math.acos((y+w-p)/(2*x*b))||0;if(0===b)continue;const C=new e.Graphics;s.bones.addChild(C);const S=b/50/r;C.context.poly([0,0,0-S,b-3*S,0,b-S,0+S,b-3*S]).fill(this.bonesColor),C.x=c,C.y=d,C.pivot.y=b;let A=0;c<u&&d<m?A=180*k-v:c>u&&d<m?A=180*k+v:c>u&&d>m?A=-v:c<u&&d>m?A=v:d===m&&c<u?A=90*k:d===m&&c>u?A=-90*k:c===u&&d<m?A=180*k:c===u&&d>m&&(A=0),C.rotation=A,C.circle(0,b,1.2*S).fill({color:0,alpha:.6}).stroke({width:n+S/2.4,color:this.bonesColor})}const h=3*n;s.skeletonXY.context.moveTo(i-h,o-h).lineTo(i+h,o+h).moveTo(i+h,o-h).lineTo(i-h,o+h).stroke()}drawRegionAttachmentsFunc(t,e,s){const n=t.skeleton.slots;for(let t=0,s=n.length;t<s;t++){const s=n[t],r=s.getAttachment();if(null===r||!(r instanceof Wt))continue;const a=r,i=new Float32Array(8);a.computeWorldVertices(s,i,0,2),e.regionAttachmentsShape.poly(Array.from(i.slice(0,8)))}e.regionAttachmentsShape.stroke({color:this.regionAttachmentsColor,width:s})}drawMeshHullAndMeshTriangles(t,e,s){const n=t.skeleton.slots;for(let t=0,s=n.length;t<s;t++){const s=n[t];if(!s.bone.active)continue;const r=s.getAttachment();if(null===r||!(r instanceof Ot))continue;const a=r,i=new Float32Array(a.worldVerticesLength),o=a.triangles;let l=a.hullLength;if(a.computeWorldVertices(s,0,a.worldVerticesLength,i,0,2),this.drawMeshTriangles)for(let t=0,s=o.length;t<s;t+=3){const s=2*o[t],n=2*o[t+1],r=2*o[t+2];e.meshTrianglesLine.context.moveTo(i[s],i[s+1]).lineTo(i[n],i[n+1]).lineTo(i[r],i[r+1])}if(this.drawMeshHull&&l>0){l=2*(l>>1);let t=i[l-2],s=i[l-1];for(let n=0,r=l;n<r;n+=2){const r=i[n],a=i[n+1];e.meshHullLine.context.moveTo(r,a).lineTo(t,s),t=r,s=a}}}e.meshHullLine.stroke({width:s,color:this.meshHullColor}),e.meshTrianglesLine.stroke({width:s,color:this.meshTrianglesColor})}drawClippingFunc(t,e,s){const n=t.skeleton.slots;for(let t=0,s=n.length;t<s;t++){const s=n[t];if(!s.bone.active)continue;const r=s.getAttachment();if(null===r||!(r instanceof Xt))continue;const a=r,i=a.worldVerticesLength,o=new Float32Array(i);a.computeWorldVertices(s,0,i,o,0,2),e.clippingPolygon.poly(Array.from(o))}e.clippingPolygon.stroke({width:s,color:this.clippingPolygonColor,alpha:1})}drawBoundingBoxesFunc(t,e,s){const n=new os;n.update(t.skeleton,!0),n.minX!==1/0&&e.boundingBoxesRect.rect(n.minX,n.minY,n.getWidth(),n.getHeight()).stroke({width:s,color:this.boundingBoxesRectColor});const r=n.polygons,a=(t,n,r)=>{if(r<3)throw new Error("Polygon must contain at least 3 vertices");const a=[],i=2*s;for(let s=0,n=t.length;s<n;s+=2){const n=t[s],r=t[s+1];e.boundingBoxesCircle.beginFill(this.boundingBoxesCircleColor),e.boundingBoxesCircle.drawCircle(n,r,i),e.boundingBoxesCircle.fill(0),e.boundingBoxesCircle.circle(n,r,i).fill({color:this.boundingBoxesCircleColor}),a.push(n,r)}e.boundingBoxesPolygon.poly(a).fill({color:this.boundingBoxesPolygonColor,alpha:.1}).stroke({width:s,color:this.boundingBoxesPolygonColor})};for(let t=0,e=r.length;t<e;t++){const e=r[t];a(e,0,e.length)}}drawPathsFunc(t,e,s){const n=t.skeleton.slots;for(let t=0,s=n.length;t<s;t++){const s=n[t];if(!s.bone.active)continue;const r=s.getAttachment();if(null===r||!(r instanceof Ut))continue;const a=r;let i=a.worldVerticesLength;const o=new Float32Array(i);a.computeWorldVertices(s,0,i,o,0,2);let l=o[2],h=o[3],c=0,d=0;if(a.closed){const t=o[0],s=o[1],n=o[i-2],r=o[i-1];c=o[i-4],d=o[i-3],e.pathsCurve.moveTo(l,h),e.pathsCurve.bezierCurveTo(t,s,n,r,c,d),e.pathsLine.moveTo(l,h),e.pathsLine.lineTo(t,s),e.pathsLine.moveTo(c,d),e.pathsLine.lineTo(n,r)}i-=4;for(let t=4;t<i;t+=6){const s=o[t],n=o[t+1],r=o[t+2],a=o[t+3];c=o[t+4],d=o[t+5],e.pathsCurve.moveTo(l,h),e.pathsCurve.bezierCurveTo(s,n,r,a,c,d),e.pathsLine.moveTo(l,h),e.pathsLine.lineTo(s,n),e.pathsLine.moveTo(c,d),e.pathsLine.lineTo(r,a),l=c,h=d}}e.pathsCurve.stroke({width:s,color:this.pathsCurveColor}),e.pathsLine.stroke({width:s,color:this.pathsLineColor})}unregisterSpine(t){this.registeredSpines.has(t)||console.warn("SpineDebugRenderer.unregisterSpine() - spine is not registered, can't unregister!",t);const e=this.registeredSpines.get(t);e&&(t.state.removeListener(e.eventCallback),e.parentDebugContainer.destroy({textureSource:!0,children:!0,texture:!0}),this.registeredSpines.delete(t))}},SpinePipe:Xs,SpineTexture:xs,StringSet:i,Texture:Pt,TextureAtlas:Dt,TextureAtlasPage:Lt,TextureAtlasRegion:_t,TextureFilter:Bt,TextureRegion:Et,TextureWrap:Rt,TimeKeeper:class{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}},Timeline:M,TrackEntry:bt,TransformConstraint:he,TransformConstraintData:be,TransformConstraintTimeline:et,TranslateTimeline:B,TranslateXTimeline:R,TranslateYTimeline:E,Triangulator:ls,Utils:f,Vector2:p,VertexAttachment:b,WindowedMean:class{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(t=32){this.values=new Array(t)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let t=0;for(let e=0;e<this.values.length;e++)t+=this.values[e];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0}}},Vs=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(){t.prototype.init.call(this,{pixiSpine:Ds})},e}(t.SpineSystem),Ls=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(t.Spine);exports.Spine=Ls,exports.SpineSystem=Vs;
|