cocos2d-js-min.af4b0.js 1.9 MB

1
  1. (function(t,e,i){function n(i){var r=e[i];if(!r){var s=t[i];if(!s)return;var a={};r=e[i]={exports:a},s[0]((function(t){return n(s[1][t]||t)}),r,a)}return r.exports}for(var r=0;r<i.length;r++)n(i[r])})({1:[(function(t){"use strict";t("../core/platform/CCClass");var e=t("../core/utils/misc");cc.Action=cc.Class({name:"cc.Action",ctor:function(){this.originalTarget=null,this.target=null,this.tag=cc.Action.TAG_INVALID},clone:function(){var t=new cc.Action;return t.originalTarget=null,t.target=null,t.tag=this.tag,t},isDone:function(){return!0},startWithTarget:function(t){this.originalTarget=t,this.target=t},stop:function(){this.target=null},step:function(){cc.logID(1006)},update:function(){cc.logID(1007)},getTarget:function(){return this.target},setTarget:function(t){this.target=t},getOriginalTarget:function(){return this.originalTarget},setOriginalTarget:function(t){this.originalTarget=t},getTag:function(){return this.tag},setTag:function(t){this.tag=t},retain:function(){},release:function(){}}),cc.Action.TAG_INVALID=-1,cc.FiniteTimeAction=cc.Class({name:"cc.FiniteTimeAction",extends:cc.Action,ctor:function(){this._duration=0},getDuration:function(){return this._duration*(this._timesForRepeat||1)},setDuration:function(t){this._duration=t},reverse:function(){return cc.logID(1008),null},clone:function(){return new cc.FiniteTimeAction}}),cc.Speed=cc.Class({name:"cc.Speed",extends:cc.Action,ctor:function(t,e){this._speed=0,this._innerAction=null,t&&this.initWithAction(t,e)},getSpeed:function(){return this._speed},setSpeed:function(t){this._speed=t},initWithAction:function(t,e){return t?(this._innerAction=t,this._speed=e,!0):(cc.errorID(1021),!1)},clone:function(){var t=new cc.Speed;return t.initWithAction(this._innerAction.clone(),this._speed),t},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},step:function(t){this._innerAction.step(t*this._speed)},isDone:function(){return this._innerAction.isDone()},reverse:function(){return new cc.Speed(this._innerAction.reverse(),this._speed)},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.speed=function(t,e){return new cc.Speed(t,e)},cc.Follow=cc.Class({name:"cc.Follow",extends:cc.Action,ctor:function(t,e){this._followedNode=null,this._boundarySet=!1,this._boundaryFullyCovered=!1,this._halfScreenSize=null,this._fullScreenSize=null,this.leftBoundary=0,this.rightBoundary=0,this.topBoundary=0,this.bottomBoundary=0,this._worldRect=cc.rect(0,0,0,0),t&&(e?this.initWithTarget(t,e):this.initWithTarget(t))},clone:function(){var t=new cc.Follow,e=this._worldRect,i=new cc.Rect(e.x,e.y,e.width,e.height);return t.initWithTarget(this._followedNode,i),t},isBoundarySet:function(){return this._boundarySet},setBoudarySet:function(t){this._boundarySet=t},initWithTarget:function(t,e){if(!t)return cc.errorID(1022),!1;e=e||cc.rect(0,0,0,0),this._followedNode=t,this._worldRect=e,this._boundarySet=!(0===e.width&&0===e.height),this._boundaryFullyCovered=!1;var i=cc.winSize;return this._fullScreenSize=cc.v2(i.width,i.height),this._halfScreenSize=this._fullScreenSize.mul(.5),this._boundarySet&&(this.leftBoundary=-(e.x+e.width-this._fullScreenSize.x),this.rightBoundary=-e.x,this.topBoundary=-e.y,this.bottomBoundary=-(e.y+e.height-this._fullScreenSize.y),this.rightBoundary<this.leftBoundary&&(this.rightBoundary=this.leftBoundary=(this.leftBoundary+this.rightBoundary)/2),this.topBoundary<this.bottomBoundary&&(this.topBoundary=this.bottomBoundary=(this.topBoundary+this.bottomBoundary)/2),this.topBoundary===this.bottomBoundary&&this.leftBoundary===this.rightBoundary&&(this._boundaryFullyCovered=!0)),!0},step:function(){var t=this.target.convertToWorldSpaceAR(cc.Vec2.ZERO),i=this._followedNode.convertToWorldSpaceAR(cc.Vec2.ZERO),n=t.sub(i),r=this.target.parent.convertToNodeSpaceAR(n.add(this._halfScreenSize));if(this._boundarySet){if(this._boundaryFullyCovered)return;this.target.setPosition(e.clampf(r.x,this.leftBoundary,this.rightBoundary),e.clampf(r.y,this.bottomBoundary,this.topBoundary))}else this.target.setPosition(r.x,r.y)},isDone:function(){return!this._followedNode.activeInHierarchy},stop:function(){this.target=null,cc.Action.prototype.stop.call(this)}}),cc.follow=function(t,e){return new cc.Follow(t,e)}}),{"../core/platform/CCClass":238,"../core/utils/misc":323}],2:[(function(){"use strict";function t(t,e,i,n,r,s){var a=s*s,o=a*s,l=(1-r)/2,c=l*(2*a-o-s),h=l*(-o+a)+(2*o-3*a)+1,u=l*(o-2*a+s)+-2*o+3*a,_=l*(o-a),f=t.x*c+e.x*h+i.x*u+n.x*_,d=t.y*c+e.y*h+i.y*u+n.y*_;return cc.v2(f,d)}function e(t,e){return t[Math.min(t.length-1,Math.max(e,0))]}function i(t){for(var e=[],i=t.length-1;i>=0;i--)e.push(cc.v2(t[i].x,t[i].y));return e}function n(t){for(var e=[],i=0;i<t.length;i++)e.push(cc.v2(t[i].x,t[i].y));return e}cc.CardinalSplineTo=cc.Class({name:"cc.CardinalSplineTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._points=[],this._deltaT=0,this._tension=0,this._previousPosition=null,this._accumulatedDiff=null,void 0!==i&&cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return e&&0!==e.length?!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this.setPoints(e),this._tension=i,!0):(cc.errorID(1024),!1)},clone:function(){var t=new cc.CardinalSplineTo;return t.initWithDuration(this._duration,n(this._points),this._tension),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._deltaT=1/(this._points.length-1),this._previousPosition=cc.v2(this.target.x,this.target.y),this._accumulatedDiff=cc.v2(0,0)},update:function(i){var n,r;i=this._computeEaseTime(i);var s=this._points;if(1===i)n=s.length-1,r=1;else{var a=this._deltaT;r=(i-a*(n=0|i/a))/a}var o,l,c=t(e(s,n-1),e(s,n-0),e(s,n+1),e(s,n+2),this._tension,r);if(cc.macro.ENABLE_STACKABLE_ACTIONS&&(o=this.target.x-this._previousPosition.x,l=this.target.y-this._previousPosition.y,0!==o||0!==l)){var h=this._accumulatedDiff;o=h.x+o,l=h.y+l,h.x=o,h.y=l,c.x+=o,c.y+=l}this.updatePosition(c)},reverse:function(){var t=i(this._points);return cc.cardinalSplineTo(this._duration,t,this._tension)},updatePosition:function(t){this.target.setPosition(t),this._previousPosition=t},getPoints:function(){return this._points},setPoints:function(t){this._points=t}}),cc.cardinalSplineTo=function(t,e,i){return new cc.CardinalSplineTo(t,e,i)},cc.CardinalSplineBy=cc.Class({name:"cc.CardinalSplineBy",extends:cc.CardinalSplineTo,ctor:function(t,e,i){this._startPosition=cc.v2(0,0),void 0!==i&&this.initWithDuration(t,e,i)},startWithTarget:function(t){cc.CardinalSplineTo.prototype.startWithTarget.call(this,t),this._startPosition.x=t.x,this._startPosition.y=t.y},reverse:function(){for(var t,e=this._points.slice(),n=e[0],r=1;r<e.length;++r)t=e[r],e[r]=t.sub(n),n=t;var s=i(e);for(n=s[s.length-1],s.pop(),n.x=-n.x,n.y=-n.y,s.unshift(n),r=1;r<s.length;++r)(t=s[r]).x=-t.x,t.y=-t.y,t.x+=n.x,t.y+=n.y,s[r]=t,n=t;return cc.cardinalSplineBy(this._duration,s,this._tension)},updatePosition:function(t){var e=this._startPosition,i=t.x+e.x,n=t.y+e.y;this._previousPosition.x=i,this._previousPosition.y=n,this.target.setPosition(i,n)},clone:function(){var t=new cc.CardinalSplineBy;return t.initWithDuration(this._duration,n(this._points),this._tension),t}}),cc.cardinalSplineBy=function(t,e,i){return new cc.CardinalSplineBy(t,e,i)},cc.CatmullRomTo=cc.Class({name:"cc.CatmullRomTo",extends:cc.CardinalSplineTo,ctor:function(t,e){e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,.5)},clone:function(){var t=new cc.CatmullRomTo;return t.initWithDuration(this._duration,n(this._points)),t}}),cc.catmullRomTo=function(t,e){return new cc.CatmullRomTo(t,e)},cc.CatmullRomBy=cc.Class({name:"cc.CatmullRomBy",extends:cc.CardinalSplineBy,ctor:function(t,e){e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,.5)},clone:function(){var t=new cc.CatmullRomBy;return t.initWithDuration(this._duration,n(this._points)),t}}),cc.catmullRomBy=function(t,e){return new cc.CatmullRomBy(t,e)}}),{}],3:[(function(){"use strict";cc.easeIn=function(t){return{_rate:t,easing:function(t){return Math.pow(t,this._rate)},reverse:function(){return cc.easeIn(1/this._rate)}}},cc.easeOut=function(t){return{_rate:t,easing:function(t){return Math.pow(t,1/this._rate)},reverse:function(){return cc.easeOut(1/this._rate)}}},cc.easeInOut=function(t){return{_rate:t,easing:function(t){return(t*=2)<1?.5*Math.pow(t,this._rate):1-.5*Math.pow(2-t,this._rate)},reverse:function(){return cc.easeInOut(this._rate)}}};var t={easing:function(t){return 0===t?0:Math.pow(2,10*(t-1))},reverse:function(){return e}};cc.easeExponentialIn=function(){return t};var e={easing:function(t){return 1===t?1:1-Math.pow(2,-10*t)},reverse:function(){return t}};cc.easeExponentialOut=function(){return e};var i={easing:function(t){return 1!==t&&0!==t?(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1))):t},reverse:function(){return i}};cc.easeExponentialInOut=function(){return i};var n={easing:function(t){return 0===t||1===t?t:-1*Math.cos(t*Math.PI/2)+1},reverse:function(){return r}};cc.easeSineIn=function(){return n};var r={easing:function(t){return 0===t||1===t?t:Math.sin(t*Math.PI/2)},reverse:function(){return n}};cc.easeSineOut=function(){return r};var s={easing:function(t){return 0===t||1===t?t:-.5*(Math.cos(Math.PI*t)-1)},reverse:function(){return s}};cc.easeSineInOut=function(){return s};var a={easing:function(t){return 0===t||1===t?t:(t-=1,-Math.pow(2,10*t)*Math.sin((t-.075)*Math.PI*2/.3))},reverse:function(){return o}};cc.easeElasticIn=function(t){return t&&.3!==t?{_period:t,easing:function(t){return 0===t||1===t?t:(t-=1,-Math.pow(2,10*t)*Math.sin((t-this._period/4)*Math.PI*2/this._period))},reverse:function(){return cc.easeElasticOut(this._period)}}:a};var o={easing:function(t){return 0===t||1===t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*Math.PI*2/.3)+1},reverse:function(){return a}};function l(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}cc.easeElasticOut=function(t){return t&&.3!==t?{_period:t,easing:function(t){return 0===t||1===t?t:Math.pow(2,-10*t)*Math.sin((t-this._period/4)*Math.PI*2/this._period)+1},reverse:function(){return cc.easeElasticIn(this._period)}}:o},cc.easeElasticInOut=function(t){return{_period:t=t||.3,easing:function(t){var e=0,i=this._period;if(0===t||1===t)e=t;else{t*=2,i||(i=this._period=.3*1.5);var n=i/4;e=(t-=1)<0?-.5*Math.pow(2,10*t)*Math.sin((t-n)*Math.PI*2/i):Math.pow(2,-10*t)*Math.sin((t-n)*Math.PI*2/i)*.5+1}return e},reverse:function(){return cc.easeElasticInOut(this._period)}}};var c={easing:function(t){return 1-l(1-t)},reverse:function(){return h}};cc.easeBounceIn=function(){return c};var h={easing:function(t){return l(t)},reverse:function(){return c}};cc.easeBounceOut=function(){return h};var u={easing:function(t){return t<.5?.5*(1-l(1-(t*=2))):.5*l(2*t-1)+.5},reverse:function(){return u}};cc.easeBounceInOut=function(){return u};var _={easing:function(t){return 0===t||1===t?t:t*t*(2.70158*t-1.70158)},reverse:function(){return f}};cc.easeBackIn=function(){return _};var f={easing:function(t){return 0===t?0:(t-=1)*t*(2.70158*t+1.70158)+1},reverse:function(){return _}};cc.easeBackOut=function(){return f};var d={easing:function(t){return(t*=2)<1?t*t*(3.5949095*t-2.5949095)/2:(t-=2)*t*(3.5949095*t+2.5949095)/2+1},reverse:function(){return d}};cc.easeBackInOut=function(){return d},cc.easeBezierAction=function(t,e,i,n){return{easing:function(r){return Math.pow(1-r,3)*t+3*r*Math.pow(1-r,2)*e+3*Math.pow(r,2)*(1-r)*i+Math.pow(r,3)*n},reverse:function(){return cc.easeBezierAction(n,i,e,t)}}};var p={easing:function(t){return Math.pow(t,2)},reverse:function(){return p}};cc.easeQuadraticActionIn=function(){return p};var m={easing:function(t){return-t*(t-2)},reverse:function(){return m}};cc.easeQuadraticActionOut=function(){return m};var y={easing:function(t){return(t*=2)<1?t*t*.5:-.5*(--t*(t-2)-1)},reverse:function(){return y}};cc.easeQuadraticActionInOut=function(){return y};var v={easing:function(t){return t*t*t*t},reverse:function(){return v}};cc.easeQuarticActionIn=function(){return v};var g={easing:function(t){return-((t-=1)*t*t*t-1)},reverse:function(){return g}};cc.easeQuarticActionOut=function(){return g};var b={easing:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},reverse:function(){return b}};cc.easeQuarticActionInOut=function(){return b};var A={easing:function(t){return t*t*t*t*t},reverse:function(){return A}};cc.easeQuinticActionIn=function(){return A};var x={easing:function(t){return(t-=1)*t*t*t*t+1},reverse:function(){return x}};cc.easeQuinticActionOut=function(){return x};var C={easing:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},reverse:function(){return C}};cc.easeQuinticActionInOut=function(){return C};var T={easing:function(t){return-1*(Math.sqrt(1-t*t)-1)},reverse:function(){return T}};cc.easeCircleActionIn=function(){return T};var S={easing:function(t){return t-=1,Math.sqrt(1-t*t)},reverse:function(){return S}};cc.easeCircleActionOut=function(){return S};var w={easing:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):(t-=2,.5*(Math.sqrt(1-t*t)+1))},reverse:function(){return w}};cc.easeCircleActionInOut=function(){return w};var E={easing:function(t){return t*t*t},reverse:function(){return E}};cc.easeCubicActionIn=function(){return E};var M={easing:function(t){return(t-=1)*t*t+1},reverse:function(){return M}};cc.easeCubicActionOut=function(){return M};var D={easing:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},reverse:function(){return D}};cc.easeCubicActionInOut=function(){return D}}),{}],4:[(function(){"use strict";cc.ActionInstant=cc.Class({name:"cc.ActionInstant",extends:cc.FiniteTimeAction,isDone:function(){return!0},step:function(){this.update(1)},update:function(){},reverse:function(){return this.clone()},clone:function(){return new cc.ActionInstant}}),cc.Show=cc.Class({name:"cc.Show",extends:cc.ActionInstant,update:function(){for(var t=this.target.getComponentsInChildren(cc.RenderComponent),e=0;e<t.length;++e)t[e].enabled=!0},reverse:function(){return new cc.Hide},clone:function(){return new cc.Show}}),cc.show=function(){return new cc.Show},cc.Hide=cc.Class({name:"cc.Hide",extends:cc.ActionInstant,update:function(){for(var t=this.target.getComponentsInChildren(cc.RenderComponent),e=0;e<t.length;++e)t[e].enabled=!1},reverse:function(){return new cc.Show},clone:function(){return new cc.Hide}}),cc.hide=function(){return new cc.Hide},cc.ToggleVisibility=cc.Class({name:"cc.ToggleVisibility",extends:cc.ActionInstant,update:function(){for(var t=this.target.getComponentsInChildren(cc.RenderComponent),e=0;e<t.length;++e){var i=t[e];i.enabled=!i.enabled}},reverse:function(){return new cc.ToggleVisibility},clone:function(){return new cc.ToggleVisibility}}),cc.toggleVisibility=function(){return new cc.ToggleVisibility},cc.RemoveSelf=cc.Class({name:"cc.RemoveSelf",extends:cc.ActionInstant,ctor:function(t){this._isNeedCleanUp=!0,void 0!==t&&this.init(t)},update:function(){this.target.removeFromParent(this._isNeedCleanUp)},init:function(t){return this._isNeedCleanUp=t,!0},reverse:function(){return new cc.RemoveSelf(this._isNeedCleanUp)},clone:function(){return new cc.RemoveSelf(this._isNeedCleanUp)}}),cc.removeSelf=function(t){return new cc.RemoveSelf(t)},cc.DestroySelf=cc.Class({name:"cc.DestroySelf",extends:cc.ActionInstant,update:function(){this.target.destroy()},reverse:function(){return new cc.DestroySelf},clone:function(){return new cc.DestroySelf}}),cc.destroySelf=function(){return new cc.DestroySelf},cc.FlipX=cc.Class({name:"cc.FlipX",extends:cc.ActionInstant,ctor:function(t){this._flippedX=!1,void 0!==t&&this.initWithFlipX(t)},initWithFlipX:function(t){return this._flippedX=t,!0},update:function(){this.target.scaleX=Math.abs(this.target.scaleX)*(this._flippedX?-1:1)},reverse:function(){return new cc.FlipX(!this._flippedX)},clone:function(){var t=new cc.FlipX;return t.initWithFlipX(this._flippedX),t}}),cc.flipX=function(t){return new cc.FlipX(t)},cc.FlipY=cc.Class({name:"cc.FlipY",extends:cc.ActionInstant,ctor:function(t){this._flippedY=!1,void 0!==t&&this.initWithFlipY(t)},initWithFlipY:function(t){return this._flippedY=t,!0},update:function(){this.target.scaleY=Math.abs(this.target.scaleY)*(this._flippedY?-1:1)},reverse:function(){return new cc.FlipY(!this._flippedY)},clone:function(){var t=new cc.FlipY;return t.initWithFlipY(this._flippedY),t}}),cc.flipY=function(t){return new cc.FlipY(t)},cc.Place=cc.Class({name:"cc.Place",extends:cc.ActionInstant,ctor:function(t,e){this._x=0,this._y=0,void 0!==t&&(void 0!==t.x&&(e=t.y,t=t.x),this.initWithPosition(t,e))},initWithPosition:function(t,e){return this._x=t,this._y=e,!0},update:function(){this.target.setPosition(this._x,this._y)},clone:function(){var t=new cc.Place;return t.initWithPosition(this._x,this._y),t}}),cc.place=function(t,e){return new cc.Place(t,e)},cc.CallFunc=cc.Class({name:"cc.CallFunc",extends:cc.ActionInstant,ctor:function(t,e,i){this._selectorTarget=null,this._function=null,this._data=null,this.initWithFunction(t,e,i)},initWithFunction:function(t,e,i){return t&&(this._function=t),e&&(this._selectorTarget=e),void 0!==i&&(this._data=i),!0},execute:function(){this._function&&this._function.call(this._selectorTarget,this.target,this._data)},update:function(){this.execute()},getTargetCallback:function(){return this._selectorTarget},setTargetCallback:function(t){t!==this._selectorTarget&&(this._selectorTarget&&(this._selectorTarget=null),this._selectorTarget=t)},clone:function(){var t=new cc.CallFunc;return t.initWithFunction(this._function,this._selectorTarget,this._data),t}}),cc.callFunc=function(t,e,i){return new cc.CallFunc(t,e,i)}}),{}],5:[(function(){"use strict";function t(t,e,i,n,r){return Math.pow(1-r,3)*t+3*r*Math.pow(1-r,2)*e+3*Math.pow(r,2)*(1-r)*i+Math.pow(r,3)*n}cc.ActionInterval=cc.Class({name:"cc.ActionInterval",extends:cc.FiniteTimeAction,ctor:function(t){this.MAX_VALUE=2,this._elapsed=0,this._firstTick=!1,this._easeList=null,this._speed=1,this._timesForRepeat=1,this._repeatForever=!1,this._repeatMethod=!1,this._speedMethod=!1,void 0!==t&&cc.ActionInterval.prototype.initWithDuration.call(this,t)},getElapsed:function(){return this._elapsed},initWithDuration:function(t){return this._duration=0===t?cc.macro.FLT_EPSILON:t,this._elapsed=0,this._firstTick=!0,!0},isDone:function(){return this._elapsed>=this._duration},_cloneDecoration:function(t){t._repeatForever=this._repeatForever,t._speed=this._speed,t._timesForRepeat=this._timesForRepeat,t._easeList=this._easeList,t._speedMethod=this._speedMethod,t._repeatMethod=this._repeatMethod},_reverseEaseList:function(t){if(this._easeList){t._easeList=[];for(var e=0;e<this._easeList.length;e++)t._easeList.push(this._easeList[e].reverse())}},clone:function(){var t=new cc.ActionInterval(this._duration);return this._cloneDecoration(t),t},easing:function(){this._easeList?this._easeList.length=0:this._easeList=[];for(var t=0;t<arguments.length;t++)this._easeList.push(arguments[t]);return this},_computeEaseTime:function(t){var e=this._easeList;if(!e||0===e.length)return t;for(var i=0,n=e.length;i<n;i++)t=e[i].easing(t);return t},step:function(t){this._firstTick?(this._firstTick=!1,this._elapsed=0):this._elapsed+=t;var e=this._elapsed/(this._duration>1.192092896e-7?this._duration:1.192092896e-7);e=1>e?e:1,this.update(e>0?e:0),this._repeatMethod&&this._timesForRepeat>1&&this.isDone()&&(this._repeatForever||this._timesForRepeat--,this.startWithTarget(this.target),this.step(this._elapsed-this._duration))},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},reverse:function(){return cc.logID(1010),null},setAmplitudeRate:function(){cc.logID(1011)},getAmplitudeRate:function(){return cc.logID(1012),0},speed:function(t){return t<=0?(cc.logID(1013),this):(this._speedMethod=!0,this._speed*=t,this)},getSpeed:function(){return this._speed},setSpeed:function(t){return this._speed=t,this},repeat:function(t){return t=Math.round(t),isNaN(t)||t<1?(cc.logID(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},repeatForever:function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this}}),cc.actionInterval=function(t){return new cc.ActionInterval(t)},cc.Sequence=cc.Class({name:"cc.Sequence",extends:cc.ActionInterval,ctor:function(t){this._actions=[],this._split=null,this._last=0,this._reversed=!1;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s<i;s++)e[s]&&(n=r,r=cc.Sequence._actionOneTwo(n,e[s]));this.initWithTwoActions(r,e[i])}}else cc.errorID(1019)},initWithTwoActions:function(t,e){if(!t||!e)return cc.errorID(1025),!1;var i=t._duration,n=e._duration,r=(i*=t._repeatMethod?t._timesForRepeat:1)+(n*=e._repeatMethod?e._timesForRepeat:1);return this.initWithDuration(r),this._actions[0]=t,this._actions[1]=e,!0},clone:function(){var t=new cc.Sequence;return this._cloneDecoration(t),t.initWithTwoActions(this._actions[0].clone(),this._actions[1].clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._split=this._actions[0]._duration/this._duration,this._split*=this._actions[0]._repeatMethod?this._actions[0]._timesForRepeat:1,this._last=-1},stop:function(){-1!==this._last&&this._actions[this._last].stop(),cc.Action.prototype.stop.call(this)},update:function(t){var e,i,n=0,r=this._split,s=this._actions,a=this._last;(t=this._computeEaseTime(t))<r?(e=0!==r?t/r:1,0===n&&1===a&&this._reversed&&(s[1].update(0),s[1].stop())):(n=1,e=1===r?1:(t-r)/(1-r),-1===a&&(s[0].startWithTarget(this.target),s[0].update(1),s[0].stop()),0===a&&(s[0].update(1),s[0].stop())),i=s[n],a===n&&i.isDone()||(a!==n&&i.startWithTarget(this.target),e*=i._timesForRepeat,i.update(e>1?e%1:e),this._last=n)},reverse:function(){var t=cc.Sequence._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t}}),cc.sequence=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1019),null;var i=e.length-1;i>=0&&null==e[i]&&cc.logID(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=cc.Sequence._actionOneTwo(n,e[r]))}return n},cc.Sequence._actionOneTwo=function(t,e){var i=new cc.Sequence;return i.initWithTwoActions(t,e),i},cc.Repeat=cc.Class({name:"cc.Repeat",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._total=0,this._nextDt=0,this._actionInstant=!1,this._innerAction=null,void 0!==e&&this.initWithAction(t,e)},initWithAction:function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cc.ActionInstant&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},clone:function(){var t=new cc.Repeat;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},startWithTarget:function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,n=this._times,r=this._nextDt;if(t>=r){for(;t>r&&this._total<n;)e.update(1),this._total++,e.stop(),e.startWithTarget(this.target),r+=e._duration/i,this._nextDt=r>1?1:r;t>=1&&this._total<n&&(e.update(1),this._total++),this._actionInstant||(this._total===n?e.stop():e.update(t-(r-e._duration/i)))}else e.update(t*n%1)},isDone:function(){return this._total===this._times},reverse:function(){var t=new cc.Repeat(this._innerAction.reverse(),this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.repeat=function(t,e){return new cc.Repeat(t,e)},cc.RepeatForever=cc.Class({name:"cc.RepeatForever",extends:cc.ActionInterval,ctor:function(t){this._innerAction=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?(this._innerAction=t,!0):(cc.errorID(1026),!1)},clone:function(){var t=new cc.RepeatForever;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},step:function(t){var e=this._innerAction;e.step(t),e.isDone()&&(e.startWithTarget(this.target),e.step(e.getElapsed()-e._duration))},isDone:function(){return!1},reverse:function(){var t=new cc.RepeatForever(this._innerAction.reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.repeatForever=function(t){return new cc.RepeatForever(t)},cc.Spawn=cc.Class({name:"cc.Spawn",extends:cc.ActionInterval,ctor:function(t){this._one=null,this._two=null;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s<i;s++)e[s]&&(n=r,r=cc.Spawn._actionOneTwo(n,e[s]));this.initWithTwoActions(r,e[i])}}else cc.errorID(1020)},initWithTwoActions:function(t,e){if(!t||!e)return cc.errorID(1027),!1;var i=!1,n=t._duration,r=e._duration;return this.initWithDuration(Math.max(n,r))&&(this._one=t,this._two=e,n>r?this._two=cc.Sequence._actionOneTwo(e,cc.delayTime(n-r)):n<r&&(this._one=cc.Sequence._actionOneTwo(t,cc.delayTime(r-n))),i=!0),i},clone:function(){var t=new cc.Spawn;return this._cloneDecoration(t),t.initWithTwoActions(this._one.clone(),this._two.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._one.startWithTarget(t),this._two.startWithTarget(t)},stop:function(){this._one.stop(),this._two.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t),this._one&&this._one.update(t),this._two&&this._two.update(t)},reverse:function(){var t=cc.Spawn._actionOneTwo(this._one.reverse(),this._two.reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.spawn=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1020),null;e.length>0&&null==e[e.length-1]&&cc.logID(1015);for(var i=e[0],n=1;n<e.length;n++)null!=e[n]&&(i=cc.Spawn._actionOneTwo(i,e[n]));return i},cc.Spawn._actionOneTwo=function(t,e){var i=new cc.Spawn;return i.initWithTwoActions(t,e),i},cc.RotateTo=cc.Class({name:"cc.RotateTo",extends:cc.ActionInterval,statics:{_reverse:!1},ctor:function(t,e){this._startAngle=0,this._dstAngle=0,this._angle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._dstAngle=e,!0)},clone:function(){var t=new cc.RotateTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._dstAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.angle%360,i=cc.RotateTo._reverse?this._dstAngle-e:this._dstAngle+e;i>180&&(i-=360),i<-180&&(i+=360),this._startAngle=e,this._angle=cc.RotateTo._reverse?i:-i},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._angle*t)}}),cc.rotateTo=function(t,e){return new cc.RotateTo(t,e)},cc.RotateBy=cc.Class({name:"cc.RotateBy",extends:cc.ActionInterval,statics:{_reverse:!1},ctor:function(t,e){e*=cc.RotateBy._reverse?1:-1,this._deltaAngle=0,this._startAngle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaAngle=e,!0)},clone:function(){var t=new cc.RotateBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startAngle=t.angle},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._deltaAngle*t)},reverse:function(){var t=new cc.RotateBy;return t.initWithDuration(this._duration,-this._deltaAngle),this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.rotateBy=function(t,e){return new cc.RotateBy(t,e)},cc.MoveBy=cc.Class({name:"cc.MoveBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._positionDelta=cc.v2(0,0),this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),void 0!==e&&cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0!==e.x&&(i=e.y,e=e.x),this._positionDelta.x=e,this._positionDelta.y=i,!0)},clone:function(){var t=new cc.MoveBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._positionDelta),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._positionDelta.x*t,i=this._positionDelta.y*t,n=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var r=this.target.x,s=this.target.y,a=this._previousPosition;n.x=n.x+r-a.x,n.y=n.y+s-a.y,e+=n.x,i+=n.y,a.x=e,a.y=i,this.target.setPosition(e,i)}else this.target.setPosition(n.x+e,n.y+i)}},reverse:function(){var t=new cc.MoveBy(this._duration,cc.v2(-this._positionDelta.x,-this._positionDelta.y));return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.moveBy=function(t,e,i){return new cc.MoveBy(t,e,i)},cc.MoveTo=cc.Class({name:"cc.MoveTo",extends:cc.MoveBy,ctor:function(t,e,i){this._endPosition=cc.v2(0,0),void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)&&(void 0!==e.x&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},clone:function(){var t=new cc.MoveTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition),t},startWithTarget:function(t){cc.MoveBy.prototype.startWithTarget.call(this,t),this._positionDelta.x=this._endPosition.x-t.x,this._positionDelta.y=this._endPosition.y-t.y}}),cc.moveTo=function(t,e,i){return new cc.MoveTo(t,e,i)},cc.SkewTo=cc.Class({name:"cc.SkewTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._skewX=0,this._skewY=0,this._startSkewX=0,this._startSkewY=0,this._endSkewX=0,this._endSkewY=0,this._deltaX=0,this._deltaY=0,void 0!==i&&cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endSkewX=e,this._endSkewY=i,n=!0),n},clone:function(){var t=new cc.SkewTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endSkewX,this._endSkewY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startSkewX=t.skewX%180,this._deltaX=this._endSkewX-this._startSkewX,this._deltaX>180&&(this._deltaX-=360),this._deltaX<-180&&(this._deltaX+=360),this._startSkewY=t.skewY%360,this._deltaY=this._endSkewY-this._startSkewY,this._deltaY>180&&(this._deltaY-=360),this._deltaY<-180&&(this._deltaY+=360)},update:function(t){t=this._computeEaseTime(t),this.target.skewX=this._startSkewX+this._deltaX*t,this.target.skewY=this._startSkewY+this._deltaY*t}}),cc.skewTo=function(t,e,i){return new cc.SkewTo(t,e,i)},cc.SkewBy=cc.Class({name:"cc.SkewBy",extends:cc.SkewTo,ctor:function(t,e,i){void 0!==i&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)&&(this._skewX=e,this._skewY=i,n=!0),n},clone:function(){var t=new cc.SkewBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._skewX,this._skewY),t},startWithTarget:function(t){cc.SkewTo.prototype.startWithTarget.call(this,t),this._deltaX=this._skewX,this._deltaY=this._skewY,this._endSkewX=this._startSkewX+this._deltaX,this._endSkewY=this._startSkewY+this._deltaY},reverse:function(){var t=new cc.SkewBy(this._duration,-this._skewX,-this._skewY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.skewBy=function(t,e,i){return new cc.SkewBy(t,e,i)},cc.JumpBy=cc.Class({name:"cc.JumpBy",extends:cc.ActionInterval,ctor:function(t,e,i,n,r){this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),this._delta=cc.v2(0,0),this._height=0,this._jumps=0,void 0!==n&&cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0===r&&(r=n,n=i,i=e.y,e=e.x),this._delta.x=e,this._delta.y=i,this._height=n,this._jumps=r,!0)},clone:function(){var t=new cc.JumpBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._delta,this._height,this._jumps),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=t*this._jumps%1,i=4*this._height*e*(1-e);i+=this._delta.y*t;var n=this._delta.x*t,r=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var s=this.target.x,a=this.target.y,o=this._previousPosition;r.x=r.x+s-o.x,r.y=r.y+a-o.y,n+=r.x,i+=r.y,o.x=n,o.y=i,this.target.setPosition(n,i)}else this.target.setPosition(r.x+n,r.y+i)}},reverse:function(){var t=new cc.JumpBy(this._duration,cc.v2(-this._delta.x,-this._delta.y),this._height,this._jumps);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.jumpBy=function(t,e,i,n,r){return new cc.JumpBy(t,e,i,n,r)},cc.JumpTo=cc.Class({name:"cc.JumpTo",extends:cc.JumpBy,ctor:function(t,e,i,n,r){this._endPosition=cc.v2(0,0),void 0!==n&&this.initWithDuration(t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)&&(void 0===r&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},startWithTarget:function(t){cc.JumpBy.prototype.startWithTarget.call(this,t),this._delta.x=this._endPosition.x-this._startPosition.x,this._delta.y=this._endPosition.y-this._startPosition.y},clone:function(){var t=new cc.JumpTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition,this._height,this._jumps),t}}),cc.jumpTo=function(t,e,i,n,r){return new cc.JumpTo(t,e,i,n,r)},cc.BezierBy=cc.Class({name:"cc.BezierBy",extends:cc.ActionInterval,ctor:function(t,e){this._config=[],this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),e&&cc.BezierBy.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._config=e,!0)},clone:function(){var t=new cc.BezierBy;this._cloneDecoration(t);for(var e=[],i=0;i<this._config.length;i++){var n=this._config[i];e.push(cc.v2(n.x,n.y))}return t.initWithDuration(this._duration,e),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(e){if(e=this._computeEaseTime(e),this.target){var i=this._config,n=i[0].x,r=i[1].x,s=i[2].x,a=i[0].y,o=i[1].y,l=i[2].y,c=t(0,n,r,s,e),h=t(0,a,o,l,e),u=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var _=this.target.x,f=this.target.y,d=this._previousPosition;u.x=u.x+_-d.x,u.y=u.y+f-d.y,c+=u.x,h+=u.y,d.x=c,d.y=h,this.target.setPosition(c,h)}else this.target.setPosition(u.x+c,u.y+h)}},reverse:function(){var t=this._config,e=t[0].x,i=t[0].y,n=t[1].x,r=t[1].y,s=t[2].x,a=t[2].y,o=[cc.v2(n-s,r-a),cc.v2(e-s,i-a),cc.v2(-s,-a)],l=new cc.BezierBy(this._duration,o);return this._cloneDecoration(l),this._reverseEaseList(l),l}}),cc.bezierBy=function(t,e){return new cc.BezierBy(t,e)},cc.BezierTo=cc.Class({name:"cc.BezierTo",extends:cc.BezierBy,ctor:function(t,e){this._toConfig=[],e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toConfig=e,!0)},clone:function(){var t=new cc.BezierTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toConfig),t},startWithTarget:function(t){cc.BezierBy.prototype.startWithTarget.call(this,t);var e=this._startPosition,i=this._toConfig,n=this._config;n[0]=i[0].sub(e),n[1]=i[1].sub(e),n[2]=i[2].sub(e)}}),cc.bezierTo=function(t,e){return new cc.BezierTo(t,e)},cc.ScaleTo=cc.Class({name:"cc.ScaleTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._scaleX=1,this._scaleY=1,this._startScaleX=1,this._startScaleY=1,this._endScaleX=0,this._endScaleY=0,this._deltaX=0,this._deltaY=0,void 0!==e&&cc.ScaleTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endScaleX=e,this._endScaleY=null!=i?i:e,!0)},clone:function(){var t=new cc.ScaleTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endScaleX,this._endScaleY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startScaleX=t.scaleX,this._startScaleY=t.scaleY,this._deltaX=this._endScaleX-this._startScaleX,this._deltaY=this._endScaleY-this._startScaleY},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.scaleX=this._startScaleX+this._deltaX*t,this.target.scaleY=this._startScaleY+this._deltaY*t)}}),cc.scaleTo=function(t,e,i){return new cc.ScaleTo(t,e,i)},cc.ScaleBy=cc.Class({name:"cc.ScaleBy",extends:cc.ScaleTo,startWithTarget:function(t){cc.ScaleTo.prototype.startWithTarget.call(this,t),this._deltaX=this._startScaleX*this._endScaleX-this._startScaleX,this._deltaY=this._startScaleY*this._endScaleY-this._startScaleY},reverse:function(){var t=new cc.ScaleBy(this._duration,1/this._endScaleX,1/this._endScaleY);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.ScaleBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endScaleX,this._endScaleY),t}}),cc.scaleBy=function(t,e,i){return new cc.ScaleBy(t,e,i)},cc.Blink=cc.Class({name:"cc.Blink",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._originalState=!1,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._times=e,!0)},clone:function(){var t=new cc.Blink;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._times),t},update:function(t){if(t=this._computeEaseTime(t),this.target&&!this.isDone()){var e=1/this._times,i=t%e;this.target.opacity=i>e/2?255:0}},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._originalState=t.opacity},stop:function(){this.target.opacity=this._originalState,cc.ActionInterval.prototype.stop.call(this)},reverse:function(){var t=new cc.Blink(this._duration,this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.blink=function(t,e){return new cc.Blink(t,e)},cc.FadeTo=cc.Class({name:"cc.FadeTo",extends:cc.ActionInterval,ctor:function(t,e){this._toOpacity=0,this._fromOpacity=0,void 0!==e&&cc.FadeTo.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toOpacity=e,!0)},clone:function(){var t=new cc.FadeTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},update:function(t){t=this._computeEaseTime(t);var e=void 0!==this._fromOpacity?this._fromOpacity:255;this.target.opacity=e+(this._toOpacity-e)*t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._fromOpacity=t.opacity}}),cc.fadeTo=function(t,e){return new cc.FadeTo(t,e)},cc.FadeIn=cc.Class({name:"cc.FadeIn",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,255)},reverse:function(){var t=new cc.FadeOut;return t.initWithDuration(this._duration,0),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeIn;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},startWithTarget:function(t){this._reverseAction&&(this._toOpacity=this._reverseAction._fromOpacity),cc.FadeTo.prototype.startWithTarget.call(this,t)}}),cc.fadeIn=function(t){return new cc.FadeIn(t)},cc.FadeOut=cc.Class({name:"cc.FadeOut",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,0)},reverse:function(){var t=new cc.FadeIn;return t._reverseAction=this,t.initWithDuration(this._duration,255),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeOut;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t}}),cc.fadeOut=function(t){return new cc.FadeOut(t)},cc.TintTo=cc.Class({name:"cc.TintTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._to=cc.color(0,0,0),this._from=cc.color(0,0,0),e instanceof cc.Color&&(n=e.b,i=e.g,e=e.r),void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._to=cc.color(e,i,n),!0)},clone:function(){var t=new cc.TintTo;this._cloneDecoration(t);var e=this._to;return t.initWithDuration(this._duration,e.r,e.g,e.b),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._from=this.target.color},update:function(t){t=this._computeEaseTime(t);var e=this._from,i=this._to;e&&(this.target.color=cc.color(e.r+(i.r-e.r)*t,e.g+(i.g-e.g)*t,e.b+(i.b-e.b)*t))}}),cc.tintTo=function(t,e,i,n){return new cc.TintTo(t,e,i,n)},cc.TintBy=cc.Class({name:"cc.TintBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._deltaR=0,this._deltaG=0,this._deltaB=0,this._fromR=0,this._fromG=0,this._fromB=0,void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaR=e,this._deltaG=i,this._deltaB=n,!0)},clone:function(){var t=new cc.TintBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaR,this._deltaG,this._deltaB),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.color;this._fromR=e.r,this._fromG=e.g,this._fromB=e.b},update:function(t){t=this._computeEaseTime(t),this.target.color=cc.color(this._fromR+this._deltaR*t,this._fromG+this._deltaG*t,this._fromB+this._deltaB*t)},reverse:function(){var t=new cc.TintBy(this._duration,-this._deltaR,-this._deltaG,-this._deltaB);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.tintBy=function(t,e,i,n){return new cc.TintBy(t,e,i,n)},cc.DelayTime=cc.Class({name:"cc.DelayTime",extends:cc.ActionInterval,update:function(){},reverse:function(){var t=new cc.DelayTime(this._duration);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.DelayTime;return this._cloneDecoration(t),t.initWithDuration(this._duration),t}}),cc.delayTime=function(t){return new cc.DelayTime(t)},cc.ReverseTime=cc.Class({name:"cc.ReverseTime",extends:cc.ActionInterval,ctor:function(t){this._other=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?t===this._other?(cc.errorID(1029),!1):!!cc.ActionInterval.prototype.initWithDuration.call(this,t._duration)&&(this._other=t,!0):(cc.errorID(1028),!1)},clone:function(){var t=new cc.ReverseTime;return this._cloneDecoration(t),t.initWithAction(this._other.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._other.startWithTarget(t)},update:function(t){t=this._computeEaseTime(t),this._other&&this._other.update(1-t)},reverse:function(){return this._other.clone()},stop:function(){this._other.stop(),cc.Action.prototype.stop.call(this)}}),cc.reverseTime=function(t){return new cc.ReverseTime(t)},cc.TargetedAction=cc.Class({name:"cc.TargetedAction",extends:cc.ActionInterval,ctor:function(t,e){this._action=null,this._forcedTarget=null,e&&this.initWithTarget(t,e)},initWithTarget:function(t,e){return!!this.initWithDuration(e._duration)&&(this._forcedTarget=t,this._action=e,!0)},clone:function(){var t=new cc.TargetedAction;return this._cloneDecoration(t),t.initWithTarget(this._forcedTarget,this._action.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._action.startWithTarget(this._forcedTarget)},stop:function(){this._action.stop()},update:function(t){t=this._computeEaseTime(t),this._action.update(t)},getForcedTarget:function(){return this._forcedTarget},setForcedTarget:function(t){this._forcedTarget!==t&&(this._forcedTarget=t)}}),cc.targetedAction=function(t,e){return new cc.TargetedAction(t,e)}}),{}],6:[(function(t){"use strict";t("../core/platform/CCClass");var e=t("../core/platform/js"),i=function(){this.actions=[],this.target=null,this.actionIndex=0,this.currentAction=null,this.paused=!1,this.lock=!1};cc.ActionManager=function(){this._hashTargets=e.createMap(!0),this._arrayTargets=[],this._currentTarget=null,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},cc.ActionManager.prototype={constructor:cc.ActionManager,_elementPool:[],_searchElementByTarget:function(t,e){for(var i=0;i<t.length;i++)if(e===t[i].target)return t[i];return null},_getElement:function(t,e){var n=this._elementPool.pop();return n||(n=new i),n.target=t,n.paused=!!e,n},_putElement:function(t){t.actions.length=0,t.actionIndex=0,t.currentAction=null,t.paused=!1,t.target=null,t.lock=!1,this._elementPool.push(t)},addAction:function(t,e,i){if(t&&e){var n=this._hashTargets[e._id];n?n.actions||(n.actions=[]):(n=this._getElement(e,i),this._hashTargets[e._id]=n,this._arrayTargets.push(n)),n.actions.push(t),t.startWithTarget(e)}else cc.errorID(1e3)},removeAllActions:function(){for(var t=this._arrayTargets,i=0;i<t.length;i++){var n=t[i];n&&this._putElement(n)}this._arrayTargets.length=0,this._hashTargets=e.createMap(!0)},removeAllActionsFromTarget:function(t){if(null!=t){var e=this._hashTargets[t._id];e&&(e.actions.length=0,this._deleteHashElement(e))}},removeAction:function(t){if(t){var e=t.getOriginalTarget(),i=this._hashTargets[e._id];if(i)for(var n=0;n<i.actions.length;n++)if(i.actions[n]===t){i.actions.splice(n,1),i.actionIndex>=n&&i.actionIndex--;break}}},_removeActionByTag:function(t,e,i){for(var n=0,r=e.actions.length;n<r;++n){var s=e.actions[n];if(s&&s.getTag()===t){if(i&&s.getOriginalTarget()!==i)continue;this._removeActionAtIndex(n,e);break}}},removeActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeActionByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeActionByTag(t,s)}},getActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1004);var i=this._hashTargets[e._id];if(i){if(null!=i.actions)for(var n=0;n<i.actions.length;++n){var r=i.actions[n];if(r&&r.getTag()===t)return r}cc.logID(1005,t)}return null},getNumberOfRunningActionsInTarget:function(t){var e=this._hashTargets[t._id];return e&&e.actions?e.actions.length:0},pauseTarget:function(t){var e=this._hashTargets[t._id];e&&(e.paused=!0)},resumeTarget:function(t){var e=this._hashTargets[t._id];e&&(e.paused=!1)},pauseAllRunningActions:function(){for(var t=[],e=this._arrayTargets,i=0;i<e.length;i++){var n=e[i];n&&!n.paused&&(n.paused=!0,t.push(n.target))}return t},resumeTargets:function(t){if(t)for(var e=0;e<t.length;e++)t[e]&&this.resumeTarget(t[e])},pauseTargets:function(t){if(t)for(var e=0;e<t.length;e++)t[e]&&this.pauseTarget(t[e])},purgeSharedManager:function(){cc.director.getScheduler().unscheduleUpdate(this)},_removeActionAtIndex:function(t,e){e.actions[t],e.actions.splice(t,1),e.actionIndex>=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},_deleteHashElement:function(t){var e=!1;if(t&&!t.lock&&this._hashTargets[t.target._id]){delete this._hashTargets[t.target._id];for(var i=this._arrayTargets,n=0,r=i.length;n<r;n++)if(i[n]===t){i.splice(n,1);break}this._putElement(t),e=!0}return e},update:function(t){for(var e,i=this._arrayTargets,n=0;n<i.length;n++){if(this._currentTarget=i[n],!(e=this._currentTarget).paused&&e.actions){for(e.lock=!0,e.actionIndex=0;e.actionIndex<e.actions.length;e.actionIndex++)if(e.currentAction=e.actions[e.actionIndex],e.currentAction){if(e.currentAction.step(t*(e.currentAction._speedMethod?e.currentAction._speed:1)),e.currentAction&&e.currentAction.isDone()){e.currentAction.stop();var r=e.currentAction;e.currentAction=null,this.removeAction(r)}e.currentAction=null}e.lock=!1}0===e.actions.length&&this._deleteHashElement(e)&&n--}}}}),{"../core/platform/CCClass":238,"../core/platform/js":259}],7:[(function(t){"use strict";t("./CCActionManager"),t("./CCAction"),t("./CCActionInterval"),t("./CCActionInstant"),t("./CCActionEase"),t("./CCActionCatmullRom"),t("./tween")}),{"./CCAction":1,"./CCActionCatmullRom":2,"./CCActionEase":3,"./CCActionInstant":4,"./CCActionInterval":5,"./CCActionManager":6,"./tween":8}],8:[(function(t){"use strict";var e=t("../animation/bezier"),i=0,n=cc.Class({name:"cc.TweenAction",extends:cc.ActionInterval,ctor:function(t,e,i){if(this._opts=i=i||Object.create(null),this._props=Object.create(null),i.progress=i.progress||this.progress,i.easing&&"string"==typeof i.easing){var n=i.easing;i.easing=cc.easing[n],!i.easing&&cc.warnID(1031,n)}var r=this._opts.relative;for(var s in e){var a=e[s],o=void 0,l=void 0;if(void 0!==a.value&&(a.easing||a.progress)&&("string"==typeof a.easing?!(o=cc.easing[a.easing])&&cc.warnID(1031,a.easing):o=a.easing,l=a.progress,a=a.value),"number"==typeof a||a.lerp&&(!r||a.add||a.mul)&&a.clone){var c=Object.create(null);c.value=a,c.easing=o,c.progress=l,this._props[s]=c}else cc.warn("Can not animate "+s+" property, because it do not have [lerp, (add|mul), clone] function.")}this._originProps=e,this.initWithDuration(t)},clone:function(){var t=new n(this._duration,this._originProps,this._opts);return this._cloneDecoration(t),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=!!this._opts.relative,i=this._props;for(var n in i){var r=t[n],s=i[n];"number"==typeof r?(s.start=r,s.current=r,s.end=e?r+s.value:s.value):(s.start=r.clone(),s.current=r.clone(),s.end=e?(r.add||r.mul).call(r,s.value):s.value)}},update:function(t){var e=this._opts,i=t;e.easing&&(i=e.easing(t));var n=this.target;if(n){var r=this._props,s=e.progress;for(var a in r){var o=r[a],l=o.easing?o.easing(t):i,c=o.current=(o.progress||s)(o.start,o.end,o.current,l);n[a]=c}var h=e.onUpdate;h&&h(n,t)}},progress:function(t,e,i,n){return"number"==typeof t?i=t+(e-t)*n:t.lerp(e,n,i),i}}),r=cc.Class({name:"cc.SetAction",extends:cc.ActionInstant,ctor:function(t){this._props={},void 0!==t&&this.init(t)},init:function(t){for(var e in t)this._props[e]=t[e];return!0},update:function(){var t=this._props,e=this.target;for(var i in t)e[i]=t[i]},clone:function(){var t=new r;return t.init(this._props),t}});function s(t){this._actions=[],this._finalAction=null,this._target=t,this._tag=cc.Action.TAG_INVALID}s.stopAll=function(){cc.director.getActionManager().removeAllActions()},s.stopAllByTag=function(t){cc.director.getActionManager().removeActionByTag(t)},s.stopAllByTarget=function(t){cc.director.getActionManager().removeAllActionsFromTarget(t)},s.prototype.then=function(t){return t instanceof cc.Action?this._actions.push(t.clone()):this._actions.push(t._union()),this},s.prototype.target=function(t){return this._target=t,this},s.prototype.start=function(){var t=this._target;return t?t instanceof cc.Object&&!t.isValid?void 0:(this._finalAction&&cc.director.getActionManager().removeAction(this._finalAction),this._finalAction=this._union(),void 0===t._id&&(t._id=++i),this._finalAction.setTag(this._tag),cc.director.getActionManager().addAction(this._finalAction,t,!1),this):(cc.warn("Please set target to tween first"),this)},s.prototype.stop=function(){return this._finalAction&&cc.director.getActionManager().removeAction(this._finalAction),this},s.prototype.tag=function(t){return this._tag=t,this},s.prototype.clone=function(t){var e=this._union();return cc.tween(t).then(e.clone())},s.prototype.union=function(){var t=this._union();return this._actions.length=0,this._actions.push(t),this},s.prototype._union=function(){var t=this._actions;return 1===t.length?t[0]:cc.sequence(t)},Object.assign(s.prototype,{bezierTo:function(t,i,n,r,s){var a=i.x,o=i.y,l=n.x,c=n.y;return(s=s||Object.create(null)).progress=function(t,i,n,r){return n.x=(0,e.bezier)(t.x,a,l,i.x,r),n.y=(0,e.bezier)(t.y,o,c,i.y,r),n},this.to(t,{position:r},s)},bezierBy:function(t,i,n,r,s){var a=i.x,o=i.y,l=n.x,c=n.y;return(s=s||Object.create(null)).progress=function(t,i,n,r){var s=t.x,h=t.y;return n.x=(0,e.bezier)(s,a+s,l+s,i.x,r),n.y=(0,e.bezier)(h,o+h,c+h,i.y,r),n},this.by(t,{position:r},s)},flipX:function(){var t=this;return this.call((function(){t._target.scaleX*=-1}),this)},flipY:function(){var t=this;return this.call((function(){t._target.scaleY*=-1}),this)},blink:function(t,e,i){var n=1/e;return(i=i||Object.create(null)).progress=function(t,e,i,r){return r>=1?t:r%n>n/2?255:0},this.to(t,{opacity:1},i)}});var a=[];function o(t){return function(){a.length=0;for(var e=arguments.length,i=0;i<e;i++){var n=a[i]=arguments[i];n instanceof s&&(a[i]=n._union())}return t.apply(this,a)}}for(var l={to:function(t,e,i){return(i=i||Object.create(null)).relative=!1,new n(t,e,i)},by:function(t,e,i){return(i=i||Object.create(null)).relative=!0,new n(t,e,i)},set:function(t){return new r(t)},delay:cc.delayTime,call:cc.callFunc,hide:cc.hide,show:cc.show,removeSelf:cc.removeSelf,sequence:o(cc.sequence),parallel:o(cc.spawn)},c={repeat:cc.repeat,repeatForever:function(t){return cc.repeat(t,1e9)},reverseTime:cc.reverseTime},h=Object.keys(l),u=function(t){var e=h[t];s.prototype[e]=function(){var t=l[e].apply(this,arguments);return this._actions.push(t),this}},_=0;_<h.length;_++)u(_);h=Object.keys(c);for(var f=function(t){var e=h[t];s.prototype[e]=function(){var t=this._actions,i=arguments[arguments.length-1],n=arguments.length-1;i instanceof cc.Tween?i=i._union():i instanceof cc.Action||(i=t[t.length-1],t.length-=1,n+=1);for(var r=[i],s=0;s<n;s++)r.push(arguments[s]);return i=c[e].apply(this,r),t.push(i),this}},d=0;d<h.length;d++)f(d);cc.tween=function(t){return new s(t)},cc.Tween=s}),{"../animation/bezier":14}],9:[(function(t,e){"use strict";var i=cc.js,n=t("./playable"),r=t("./animation-curves"),s=r.EventAnimCurve,a=r.EventInfo,o=t("./types").WrapModeMask,l=t("../core/utils/binary-search").binarySearchEpsilon;function c(t,e){n.call(this),this.target=t,this.animation=e,this._anims=new i.array.MutableForwardIterator([])}i.extend(c,n);var h=c.prototype;function u(t,e){var i=e.clip;e.duration=i.duration,e.speed=i.speed,e.wrapMode=i.wrapMode,e.frameRate=i.sample,(e.wrapMode&o.Loop)===o.Loop?e.repeatCount=1/0:e.repeatCount=1;var n=e.curves=i.createCurves(e,t),r=i.events;if(r)for(var c,h=0,u=r.length;h<u;h++){c||((c=new s).target=t,n.push(c));var _=r[h],f=_.frame/e.duration,d=void 0,p=l(c.ratios,f);p>=0?d=c.events[p]:(d=new a,c.ratios.push(f),c.events.push(d)),d.add(_.func,_.params)}}h.playState=function(t,e){t.clip&&(t.curveLoaded||u(this.target,t),t.animator=this,t.play(),"number"==typeof e&&t.setTime(e),this.play())},h.stopStatesExcept=function(t){var e=this._anims,i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];n!==t&&this.stopState(n)}},h.addAnimation=function(t){-1===this._anims.array.indexOf(t)&&this._anims.push(t),t._setEventTarget(this.animation)},h.removeAnimation=function(t){var e=this._anims.array.indexOf(t);e>=0?(this._anims.fastRemoveAt(e),0===this._anims.array.length&&this.stop()):cc.errorID(3907),t.animator=null},h.sample=function(){var t=this._anims,e=t.array;for(t.i=0;t.i<e.length;++t.i)e[t.i].sample()},h.stopState=function(t){t&&t.stop()},h.pauseState=function(t){t&&t.pause()},h.resumeState=function(t){t&&t.resume(),this.isPaused&&this.resume()},h.setStateTime=function(t,e){if(void 0!==e)t&&(t.setTime(e),t.sample());else{e=t;for(var i=this._anims.array,n=0;n<i.length;++n){var r=i[n];r.setTime(e),r.sample()}}},h.onStop=function(){var t=this._anims,e=t.array;for(t.i=0;t.i<e.length;++t.i)e[t.i].stop()},h.onPause=function(){for(var t=this._anims.array,e=0;e<t.length;++e){var i=t[e];i.pause(),i.animator=null}},h.onResume=function(){for(var t=this._anims.array,e=0;e<t.length;++e){var i=t[e];i.animator=this,i.resume()}},h._reloadClip=function(t){u(this.target,t)},e.exports=c}),{"../core/utils/binary-search":316,"./animation-curves":11,"./playable":18,"./types":19}],10:[(function(t,e){"use strict";var i=t("./types").WrapMode,n=t("./animation-curves"),r=n.DynamicAnimCurve,s=n.quickFindIndex,a=t("./motion-path-helper").sampleMotionPaths,o=t("../core/utils/binary-search").binarySearchEpsilon,l=cc.Class({name:"cc.AnimationClip",extends:cc.Asset,properties:{_duration:{default:0,type:cc.Float},duration:{get:function(){return this._duration}},sample:{default:60},speed:{default:1},wrapMode:{default:i.Normal},curveData:{default:{},visible:!1},events:{default:[],visible:!1}},statics:{createWithSpriteFrames:function(t,e){if(!Array.isArray(t))return cc.errorID(3905),null;var i=new l;i.sample=e||i.sample,i._duration=t.length/i.sample;for(var n=[],r=1/i.sample,s=0,a=t.length;s<a;s++)n[s]={frame:s*r,value:t[s]};return i.curveData={comps:{"cc.Sprite":{spriteFrame:n}}},i}},onLoad:function(){this._duration=Number.parseFloat(this.duration),this.speed=Number.parseFloat(this.speed),this.wrapMode=Number.parseInt(this.wrapMode),this.frameRate=Number.parseFloat(this.sample)},createPropCurve:function(t,e,i){var n=[],l=t instanceof cc.Node&&"position"===e,c=new r;c.target=t,c.prop=e;for(var h=0,u=i.length;h<u;h++){var _=i[h],f=_.frame/this.duration;c.ratios.push(f),l&&n.push(_.motionPath);var d=_.value;c.values.push(d);var p=_.curve;if(p){if("string"==typeof p){c.types.push(p);continue}if(Array.isArray(p)){p[0]===p[1]&&p[2]===p[3]?c.types.push(r.Linear):c.types.push(r.Bezier(p));continue}}c.types.push(r.Linear)}l&&a(n,c,this.duration,this.sample,t);for(var m,y,v=c.ratios,g=!0,b=1,A=v.length;b<A;b++)if(m=v[b]-v[b-1],1===b)y=m;else if(Math.abs(m-y)>1e-6){g=!1;break}c._findFrameIndex=g?s:o;var x=c.values[0];return null==x||c._lerp||("number"==typeof x?c._lerp=r.prototype._lerpNumber:x instanceof cc.Quat?c._lerp=r.prototype._lerpQuat:x instanceof cc.Vec2?c._lerp=r.prototype._lerpVector2:x instanceof cc.Vec3?c._lerp=r.prototype._lerpVector3:x.lerp&&(c._lerp=r.prototype._lerpObject)),c},createTargetCurves:function(t,e,i){var n=e.props,r=e.comps;if(n)for(var s in n){var a=n[s],o=this.createPropCurve(t,s,a);i.push(o)}if(r)for(var l in r){var c=t.getComponent(l);if(c){var h=r[l];for(var u in h){var _=h[u],f=this.createPropCurve(c,u,_);i.push(f)}}}},createCurves:function(t,e){var i=this.curveData,n=i.paths,r=[];for(var s in this.createTargetCurves(e,i,r),n){var a=cc.find(s,e);if(a){var o=n[s];this.createTargetCurves(a,o,r)}}return r}});cc.AnimationClip=e.exports=l}),{"../core/utils/binary-search":316,"./animation-curves":11,"./motion-path-helper":17,"./types":19}],11:[(function(t,e){"use strict";var i=t("./bezier").bezierByTime,n=t("../core/utils/binary-search").binarySearchEpsilon,r=t("./types").WrapModeMask,s=t("./types").WrappedInfo;function a(t,e){if("string"==typeof e){var n=cc.easing[e];n?t=n(t):cc.errorID(3906,e)}else Array.isArray(e)&&(t=i(e,t));return t}var o=cc.Class({name:"cc.AnimCurve",sample:function(){},onTimeChangedManually:void 0});var l,c=cc.Class({name:"cc.DynamicAnimCurve",extends:o,ctor:function(){this._cachedIndex=0},properties:{target:null,prop:"",values:[],ratios:[],types:[]},_findFrameIndex:n,_lerp:void 0,_lerpNumber:function(t,e,i){return t+(e-t)*i},_lerpObject:function(t,e,i){return t.lerp(e,i)},_lerpQuat:(l=cc.quat(),function(t,e,i){return t.lerp(e,i,l)}),_lerpVector2:(function(){var t=cc.v2();return function(e,i,n){return e.lerp(i,n,t)}})(),_lerpVector3:(function(){var t=cc.v3();return function(e,i,n){return e.lerp(i,n,t)}})(),sample:function(t,e){var i=this.values,n=this.ratios,r=n.length;if(0!==r){var s,o=!0,l=this._cachedIndex;if(l<0&&(l=~l)>0&&l<n.length){var c=n[l-1],h=n[l];e>c&&e<h&&(o=!1)}o&&(this._cachedIndex=this._findFrameIndex(n,e));var u=this._cachedIndex;if(u<0)if((u=~u)<=0)s=i[0];else if(u>=r)s=i[r-1];else{var _=i[u-1];if(this._lerp){var f=n[u-1],d=n[u],p=this.types[u-1],m=(e-f)/(d-f);p&&(m=a(m,p));var y=i[u];s=this._lerp(_,y,m)}else s=_}else s=i[u];this.target[this.prop]=s}}});c.Linear=null,c.Bezier=function(t){return t};var h=function(){this.events=[]};h.prototype.add=function(t,e){this.events.push({func:t||"",params:e||[]})};var u=cc.Class({name:"cc.EventAnimCurve",extends:o,properties:{target:null,ratios:[],events:[],_wrappedInfo:{default:function(){return new s}},_lastWrappedInfo:null,_ignoreIndex:NaN},_wrapIterations:function(t){return t-(0|t)==0&&(t-=1),0|t},sample:function(t,e,i){var a=this.ratios.length,o=i.getWrappedInfo(i.time,this._wrappedInfo),l=o.direction,c=n(this.ratios,o.ratio);if(c<0&&(c=~c-1,l<0&&(c+=1)),this._ignoreIndex!==c&&(this._ignoreIndex=NaN),o.frameIndex=c,!this._lastWrappedInfo)return this._fireEvent(c),void(this._lastWrappedInfo=new s(o));var h=i.wrapMode,u=this._wrapIterations(o.iterations),_=this._lastWrappedInfo,f=this._wrapIterations(_.iterations),d=_.frameIndex,p=_.direction,m=-1!==f&&u!==f;if(d===c&&m&&1===a)this._fireEvent(0);else if(d!==c||m){l=p;do{if(d!==c){if(-1===l&&0===d&&c>0?((h&r.PingPong)===r.PingPong?l*=-1:d=a,f++):1===l&&d===a-1&&c<a-1&&((h&r.PingPong)===r.PingPong?l*=-1:d=-1,f++),d===c)break;if(f>u)break}d+=l,cc.director.getAnimationManager().pushDelayEvent(this,"_fireEvent",[d])}while(d!==c&&d>-1&&d<a)}this._lastWrappedInfo.set(o)},_fireEvent:function(t){if(!(t<0||t>=this.events.length||this._ignoreIndex===t)){var e=this.events[t].events;if(this.target.isValid)for(var i=this.target._components,n=0;n<e.length;n++)for(var r=e[n],s=r.func,a=0;a<i.length;a++){var o=i[a],l=o[s];l&&l.apply(o,r.params)}}},onTimeChangedManually:function(t,e){this._lastWrappedInfo=null,this._ignoreIndex=NaN;var i=e.getWrappedInfo(t,this._wrappedInfo),r=i.direction,s=n(this.ratios,i.ratio);s<0&&(s=~s-1,r<0&&(s+=1),this._ignoreIndex=s)}});e.exports={AnimCurve:o,DynamicAnimCurve:c,EventAnimCurve:u,EventInfo:h,computeRatioByType:a,quickFindIndex:function(t,e){var i=t.length-1;if(0===i)return 0;var n=t[0];if(e<n)return 0;var r=t[i];if(e>r)return~t.length;var s=(e=(e-n)/(r-n))/(1/i),a=0|s;return s-a<1e-6?a:a+1-s<1e-6?a+1:~(a+1)}}}),{"../core/utils/binary-search":316,"./bezier":14,"./types":19}],12:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({ctor:function(){this._anims=new i.array.MutableForwardIterator([]),this._delayEvents=[],cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){var e=this._anims,i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];n._isPlaying&&!n._isPaused&&n.update(t)}for(var r=this._delayEvents,s=0;s<r.length;s++){var a=r[s];a.target[a.func].apply(a.target,a.args)}r.length=0},destruct:function(){},addAnimation:function(t){-1===this._anims.array.indexOf(t)&&this._anims.push(t)},removeAnimation:function(t){var e=this._anims.array.indexOf(t);e>=0?this._anims.fastRemoveAt(e):cc.errorID(3907)},pushDelayEvent:function(t,e,i){this._delayEvents.push({target:t,func:e,args:i})}});cc.AnimationManager=e.exports=n}),{}],13:[(function(t,e){"use strict";var i=cc.js,n=t("./playable"),r=t("./types"),s=r.WrappedInfo,a=r.WrapMode,o=r.WrapModeMask;function l(t,e){n.call(this),this._currentFramePlayed=!1,this._delay=0,this._delayTime=0,this._wrappedInfo=new s,this._lastWrappedInfo=null,this._process=h,this._clip=t,this._name=e||t&&t.name,this.animator=null,this.curves=[],this.delay=0,this.repeatCount=1,this.duration=1,this.speed=1,this.wrapMode=a.Normal,this.time=0,this._target=null,this._lastframeEventOn=!1,this.emit=function(){for(var t=new Array(arguments.length),e=0,i=t.length;e<i;e++)t[e]=arguments[e];cc.director.getAnimationManager().pushDelayEvent(this,"_emit",t)}}i.extend(l,n);var c=l.prototype;function h(){var t,e=this.sample();this._lastframeEventOn&&(t=this._lastWrappedInfo?this._lastWrappedInfo:this._lastWrappedInfo=new s(e),this.repeatCount>1&&(0|e.iterations)>(0|t.iterations)&&this.emit("lastframe",this),t.set(e)),e.stopped&&(this.stop(),this.emit("finished",this))}function u(){var t=this.time,e=this.duration;t>e?0==(t%=e)&&(t=e):t<0&&0!=(t%=e)&&(t+=e);for(var i=t/e,n=this.curves,r=0,s=n.length;r<s;r++)n[r].sample(t,i,this);this._lastframeEventOn&&(void 0===this._lastIterations&&(this._lastIterations=i),(this.time>0&&this._lastIterations>i||this.time<0&&this._lastIterations<i)&&this.emit("lastframe",this),this._lastIterations=i)}c._emit=function(t,e){this._target&&this._target.isValid&&this._target.emit(t,t,e)},c.on=function(t,e,i){return this._target&&this._target.isValid?("lastframe"===t&&(this._lastframeEventOn=!0),this._target.on(t,e,i)):null},c.once=function(t,e,i){if(this._target&&this._target.isValid){"lastframe"===t&&(this._lastframeEventOn=!0);var n=this;return this._target.once(t,(function(t){e.call(i,t),n._lastframeEventOn=!1}))}return null},c.off=function(t,e,i){this._target&&this._target.isValid&&("lastframe"===t&&(this._target.hasEventListener(t)||(this._lastframeEventOn=!1)),this._target.off(t,e,i))},c._setEventTarget=function(t){this._target=t},c.onPlay=function(){this.setTime(0),this._delayTime=this._delay,cc.director.getAnimationManager().addAnimation(this),this.animator&&this.animator.addAnimation(this),this.emit("play",this)},c.onStop=function(){this.isPaused||cc.director.getAnimationManager().removeAnimation(this),this.animator&&this.animator.removeAnimation(this),this.emit("stop",this)},c.onResume=function(){cc.director.getAnimationManager().addAnimation(this),this.emit("resume",this)},c.onPause=function(){cc.director.getAnimationManager().removeAnimation(this),this.emit("pause",this)},c.setTime=function(t){this._currentFramePlayed=!1,this.time=t||0;for(var e=this.curves,i=0,n=e.length;i<n;i++){var r=e[i];r.onTimeChangedManually&&r.onTimeChangedManually(t,this)}},c.update=function(t){this._delayTime>0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this.speed:this._currentFramePlayed=!0,this._process())},c._needRevers=function(t){var e=this.wrapMode,i=!1;return(e&o.PingPong)===o.PingPong&&(t-(0|t)==0&&t>0&&(t-=1),1&t&&(i=!i)),(e&o.Reverse)===o.Reverse&&(i=!i),i},c.getWrappedInfo=function(t,e){e=e||new s;var i=!1,n=this.duration,r=this.repeatCount,a=t>0?t/n:-t/n;if(a>=r){a=r,i=!0;var l=r-(0|r);0===l&&(l=1),t=l*n*(t>0?1:-1)}if(t>n){var c=t%n;t=0===c?n:c}else t<0&&0!=(t%=n)&&(t+=n);var h=!1,u=this._wrapMode&o.ShouldWrap;u&&(h=this._needRevers(a));var _=h?-1:1;return this.speed<0&&(_*=-1),u&&h&&(t=n-t),e.ratio=t/n,e.time=t,e.direction=_,e.stopped=i,e.iterations=a,e},c.sample=function(){for(var t=this.getWrappedInfo(this.time,this._wrappedInfo),e=this.curves,i=0,n=e.length;i<n;i++)e[i].sample(t.time,t.ratio,this);return t},i.get(c,"clip",(function(){return this._clip})),i.get(c,"name",(function(){return this._name})),i.obsolete(c,"AnimationState.length","duration"),i.getset(c,"curveLoaded",(function(){return this.curves.length>0}),(function(){this.curves.length=0})),i.getset(c,"wrapMode",(function(){return this._wrapMode}),(function(t){this._wrapMode=t,this.time=0,t&o.Loop?this.repeatCount=1/0:this.repeatCount=1})),i.getset(c,"repeatCount",(function(){return this._repeatCount}),(function(t){this._repeatCount=t;var e=this._wrapMode&o.ShouldWrap,i=(this.wrapMode&o.Reverse)===o.Reverse;this._process=t!==1/0||e||i?h:u})),i.getset(c,"delay",(function(){return this._delay}),(function(t){this._delayTime=this._delay=t})),cc.AnimationState=e.exports=l}),{"./playable":18,"./types":19}],14:[(function(t,e){"use strict";var i=Math.cos,n=Math.acos,r=Math.max,s=2*Math.PI,a=Math.sqrt;function o(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function l(t,e){var l,c,h,u,_=e-0,f=e-t[0],d=3*_,p=3*f,m=3*(e-t[2]),y=1/(-_+p-m+(e-1)),v=(d-6*f+m)*y,g=v*(1/3),b=(-d+p)*y,A=1/3*(3*b-v*v),x=A*(1/3),C=(2*v*v*v-9*v*b+_*y*27)/27,T=C/2,S=T*T+x*x*x;if(S<0){var w=1/3*-A,E=a(w*w*w),M=-C/(2*E),D=n(M<-1?-1:M>1?1:M),B=2*o(E);return c=B*i(D*(1/3))-g,h=B*i((D+s)*(1/3))-g,u=B*i((D+2*s)*(1/3))-g,0<=c&&c<=1?0<=h&&h<=1?0<=u&&u<=1?r(c,h,u):r(c,h):0<=u&&u<=1?r(c,u):c:0<=h&&h<=1?0<=u&&u<=1?r(h,u):h:u}if(0===S)return h=-(l=T<0?o(-T):-o(T))-g,0<=(c=2*l-g)&&c<=1?0<=h&&h<=1?r(c,h):c:h;var I=a(S);return(l=o(-T+I))-o(T+I)-g}e.exports={bezier:function(t,e,i,n,r){var s=1-r;return s*(s*(t+(3*e-t)*r)+3*i*r*r)+n*r*r*r},bezierByTime:function(t,e){var i=l(t,e),n=t[1];return((1-i)*(n+(t[3]-n)*i)*3+i*i)*i}}}),{}],15:[(function(t,e){"use strict";var i={constant:function(){return 0},linear:function(t){return t},quadIn:function(t){return t*t},quadOut:function(t){return t*(2-t)},quadInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quartIn:function(t){return t*t*t*t},quartOut:function(t){return 1- --t*t*t*t},quartInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quintIn:function(t){return t*t*t*t*t},quintOut:function(t){return--t*t*t*t*t+1},quintInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sineIn:function(t){return 1-Math.cos(t*Math.PI/2)},sineOut:function(t){return Math.sin(t*Math.PI/2)},sineInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},expoIn:function(t){return 0===t?0:Math.pow(1024,t-1)},expoOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},expoInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circIn:function(t){return 1-Math.sqrt(1-t*t)},circOut:function(t){return Math.sqrt(1- --t*t)},circInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-i.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},smooth:function(t){return t<=0?0:t>=1?1:t*t*(3-2*t)},fade:function(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}};function n(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}i.quadOutIn=n(i.quadIn,i.quadOut),i.cubicOutIn=n(i.cubicIn,i.cubicOut),i.quartOutIn=n(i.quartIn,i.quartOut),i.quintOutIn=n(i.quintIn,i.quintOut),i.sineOutIn=n(i.sineIn,i.sineOut),i.expoOutIn=n(i.expoIn,i.expoOut),i.circOutIn=n(i.circIn,i.circOut),i.backOutIn=n(i.backIn,i.backOut),i.bounceIn=function(t){return 1-i.bounceOut(1-t)},i.bounceInOut=function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},i.bounceOutIn=n(i.bounceIn,i.bounceOut),cc.easing=e.exports=i}),{}],16:[(function(t){"use strict";t("./bezier"),t("./easing"),t("./types"),t("./motion-path-helper"),t("./animation-curves"),t("./animation-clip"),t("./animation-manager"),t("./animation-state"),t("./animation-animator")}),{"./animation-animator":9,"./animation-clip":10,"./animation-curves":11,"./animation-manager":12,"./animation-state":13,"./bezier":14,"./easing":15,"./motion-path-helper":17,"./types":19}],17:[(function(t,e){"use strict";var i=t("./animation-curves").DynamicAnimCurve,n=t("./animation-curves").computeRatioByType,r=t("./bezier").bezier,s=t("../core/utils/binary-search").binarySearchEpsilon,a=cc.v2;function o(t){this.points=t||[],this.beziers=[],this.ratios=[],this.progresses=[],this.length=0,this.computeBeziers()}function l(){this.start=a(),this.end=a(),this.startCtrlPoint=a(),this.endCtrlPoint=a()}function c(t){if(!Array.isArray(t))return!1;for(var e=0,i=t.length;e<i;e++){var n=t[e];if(!Array.isArray(n)||6!==n.length)return!1}return!0}o.prototype.computeBeziers=function(){var t;this.beziers.length=0,this.ratios.length=0,this.progresses.length=0,this.length=0;for(var e=1;e<this.points.length;e++){var i=this.points[e-1],n=this.points[e];(t=new l).start=i.pos,t.startCtrlPoint=i.out,t.end=n.pos,t.endCtrlPoint=n.in,this.beziers.push(t),this.length+=t.getLength()}var r=0;for(e=0;e<this.beziers.length;e++)t=this.beziers[e],this.ratios[e]=t.getLength()/this.length,this.progresses[e]=r+=this.ratios[e];return this.beziers},l.prototype.getPointAt=function(t){var e=this.getUtoTmapping(t);return this.getPoint(e)},l.prototype.getPoint=function(t){var e=r(this.start.x,this.startCtrlPoint.x,this.endCtrlPoint.x,this.end.x,t),i=r(this.start.y,this.startCtrlPoint.y,this.endCtrlPoint.y,this.end.y,t);return new a(e,i)},l.prototype.getLength=function(){var t=this.getLengths();return t[t.length-1]},l.prototype.getLengths=function(t){if(t||(t=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===t+1)return this.cacheArcLengths;var e,i,n=[],r=this.getPoint(0),s=a(),o=0;for(n.push(0),i=1;i<=t;i++)e=this.getPoint(i/t),s.x=r.x-e.x,s.y=r.y-e.y,o+=s.mag(),n.push(o),r=e;return this.cacheArcLengths=n,n},l.prototype.getUtoTmapping=function(t,e){var i,n=this.getLengths(),r=0,s=n.length;i=e||t*n[s-1];for(var a,o=0,l=s-1;o<=l;)if((a=n[r=Math.floor(o+(l-o)/2)]-i)<0)o=r+1;else{if(!(a>0)){l=r;break}l=r-1}if(n[r=l]===i)return r/(s-1);var c=n[r];return(r+(i-c)/(n[r+1]-c))/(s-1)},e.exports={sampleMotionPaths:function(t,e,r,l,h){function u(t){return t instanceof cc.Vec2?{in:t,pos:t,out:t}:Array.isArray(t)&&6===t.length?{in:a(t[2],t[3]),pos:a(t[0],t[1]),out:a(t[4],t[5])}:{in:cc.Vec2.ZERO,pos:cc.Vec2.ZERO,out:cc.Vec2.ZERO}}var _=e.values=e.values.map((function(t){return Array.isArray(t)&&(t=2===t.length?cc.v2(t[0],t[1]):cc.v3(t[0],t[1],t[2])),t}));if(0!==t.length&&0!==_.length){for(var f=!1,d=0;d<t.length;d++){var p=t[d];if(p&&!c(p)&&(cc.errorID(3904,h?h.name:"","position",d),p=null),p&&p.length>0){f=!0;break}}if(f&&1!==_.length){for(var m=e.types,y=e.ratios,v=e.values=[],g=e.types=[],b=e.ratios=[],A=0,x=i.Linear,C=0,T=t.length;C<T-1;C++){var S,w=t[C],E=y[C],M=y[C+1]-E,D=_[C],B=_[C+1],I=m[C],P=[],R=A/M,O=1/(M*r*l);if(w&&w.length>0){var L=[];L.push(u(D));for(var F=0,V=w.length;F<V;F++){var N=u(w[F]);L.push(N)}L.push(u(B));var k=new o(L);k.computeBeziers();for(var z=k.progresses;1-R>1e-6;){var G,U,j,H;if((S=n(S=R,I))<0)H=(0-S)*(U=k.beziers[0]).getLength(),j=U.start.sub(U.endCtrlPoint).normalize(),G=U.start.add(j.mul(H));else if(S>1)H=(S-1)*(U=k.beziers[k.beziers.length-1]).getLength(),j=U.end.sub(U.startCtrlPoint).normalize(),G=U.end.add(j.mul(H));else{var W=s(z,S);W<0&&(W=~W),S-=W>0?z[W-1]:0,S/=k.ratios[W],G=k.beziers[W].getPointAt(S)}P.push(G),R+=O}}else for(;1-R>1e-6;)S=n(S=R,I),P.push(D.lerp(B,S)),R+=O;for(x="constant"===I?I:i.Linear,F=0,V=P.length;F<V;F++){var X=E+A+O*F*M;Y(P[F],x,X)}A=Math.abs(R-1)>1e-6?(R-1)*M:0}y[y.length-1]!==b[b.length-1]&&Y(_[_.length-1],x,y[y.length-1])}}function Y(t,e,i){v.push(t),g.push(e),b.push(i)}},Curve:o,Bezier:l}}),{"../core/utils/binary-search":316,"./animation-curves":11,"./bezier":14}],18:[(function(t,e){"use strict";var i=cc.js,n=t("../core/CCDebug");function r(){this._isPlaying=!1,this._isPaused=!1,this._stepOnce=!1}var s=r.prototype;i.get(s,"isPlaying",(function(){return this._isPlaying}),!0),i.get(s,"isPaused",(function(){return this._isPaused}),!0);var a=function(){};s.onPlay=a,s.onPause=a,s.onResume=a,s.onStop=a,s.onError=a,s.play=function(){this._isPlaying?this._isPaused?(this._isPaused=!1,this.onResume()):this.onError(n.getError(3912)):(this._isPlaying=!0,this.onPlay())},s.stop=function(){this._isPlaying&&(this._isPlaying=!1,this.onStop(),this._isPaused=!1)},s.pause=function(){this._isPlaying&&!this._isPaused&&(this._isPaused=!0,this.onPause())},s.resume=function(){this._isPlaying&&this._isPaused&&(this._isPaused=!1,this.onResume())},s.step=function(){this.pause(),this._stepOnce=!0,this._isPlaying||this.play()},e.exports=r}),{"../core/CCDebug":69}],19:[(function(t,e){"use strict";var i={Loop:2,ShouldWrap:4,PingPong:22,Reverse:36},n=cc.Enum({Default:0,Normal:1,Reverse:i.Reverse,Loop:i.Loop,LoopReverse:i.Loop|i.Reverse,PingPong:i.PingPong,PingPongReverse:i.PingPong|i.Reverse});function r(t){t?this.set(t):(this.ratio=0,this.time=0,this.direction=1,this.stopped=!0,this.iterations=0,this.frameIndex=void 0)}cc.WrapMode=n,r.prototype.set=function(t){this.ratio=t.ratio,this.time=t.time,this.direction=t.direction,this.stopped=t.stopped,this.iterations=t.iterations,this.frameIndex=t.frameIndex},e.exports={WrapModeMask:i,WrapMode:n,WrappedInfo:r}}),{}],20:[(function(t,e){"use strict";var i,n,r=t("../core/event/event-target"),s=t("../core/platform/CCSys"),a=t("../core/assets/CCAudioClip").LoadMode,o=!1,l=[],c=function t(e){r.call(this),this._shouldRecycleOnEnded=!1,this._src=e,this._element=null,this.id=0,this._state=t.State.INITIALZING;var i=this;this._onended=function(){i._state=t.State.STOPPED,i.emit("ended")},this._onendedSecond=function(){i._unbindEnded(i._onendedSecond),i._bindEnded()}};cc.js.extend(c,r),c.State={ERROR:-1,INITIALZING:0,PLAYING:1,PAUSED:2,STOPPED:3},(i=c.prototype)._bindEnded=function(t){if(!(t=t||this._onended)._binded){t._binded=!0;var e=this._element;this._src&&e instanceof HTMLAudioElement?e.addEventListener("ended",t):e.onended=t}},i._unbindEnded=function(t){if((t=t||this._onended)._binded){t._binded=!1;var e=this._element;e instanceof HTMLAudioElement?e.removeEventListener("ended",t):e&&(e.onended=null)}},i._onLoaded=function(){this._createElement(),this._state=c.State.INITIALZING,this.setVolume(1),this.setLoop(!1)},i._createElement=function(){var t=this._src._nativeAsset;t instanceof HTMLAudioElement?(this._element||(this._element=document.createElement("audio")),this._element.src=t.src):this._element=new h(t,this)},i.play=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._state=c.State.PLAYING,t._bindEnded();var e=t._element.play();window.Promise&&e instanceof Promise&&e.catch((function(){})),t._touchToPlay()}))},i._touchToPlay=function(){if(this._src&&this._src.loadMode===a.DOM_AUDIO&&this._element.paused&&l.push({instance:this,offset:0,audio:this._element}),!o){o=!0;var t="ontouchend"in window?"touchend":"mousedown";cc.game.canvas.addEventListener(t,(function(){for(var t;t=l.pop();)t.audio.play(t.offset)}))}},i.destroy=function(){this._element=null},i.pause=function(){if(this.getState()===c.State.PLAYING){var t=this;this._src&&this._src._ensureLoaded((function(){t._unbindEnded(),t._element.pause(),t._state=c.State.PAUSED}))}},i.resume=function(){if(this.getState()===c.State.PAUSED){var t=this;this._src&&this._src._ensureLoaded((function(){t._bindEnded(),t._element.play(),t._state=c.State.PLAYING}))}},i.stop=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._element.pause(),t._element.currentTime=0;for(var e=0;e<l.length;e++)if(l[e].instance===t){l.splice(e,1);break}t._unbindEnded(),t.emit("stop"),t._state=c.State.STOPPED}))},i.setLoop=function(t){var e=this;this._src&&this._src._ensureLoaded((function(){e._element.loop=t}))},i.getLoop=function(){return!!this._element&&this._element.loop},i.setVolume=function(t){var e=this;this._src&&this._src._ensureLoaded((function(){e._element.volume=t}))},i.getVolume=function(){return this._element?this._element.volume:1},i.setCurrentTime=function(t){var e=this;this._src&&this._src._ensureLoaded((function(){e._unbindEnded(),e._bindEnded(e._onendedSecond),e._element.currentTime=t}))},i.getCurrentTime=function(){return this._element?this._element.currentTime:0},i.getDuration=function(){return this._src?this._src.duration:0},i.getState=function(t){return void 0===t&&(t=!0),t&&this._forceUpdatingState(),this._state},i._forceUpdatingState=function(){var t=this._element;t&&(c.State.PLAYING===this._state&&t.paused?this._state=c.State.STOPPED:c.State.STOPPED!==this._state||t.paused||(this._state=c.State.PLAYING))},Object.defineProperty(i,"src",{get:function(){return this._src},set:function(t){if(this._unbindEnded(),t){if(t!==this._src)if(this._src=t,t.loaded)this._onLoaded();else{var e=this;t.once("load",(function(){t===e._src&&e._onLoaded()}))}}else this._src=null,this._element instanceof h?this._element=null:this._element&&(this._element.src=""),this._state=c.State.INITIALZING;return t},enumerable:!0,configurable:!0}),Object.defineProperty(i,"paused",{get:function(){return!this._element||this._element.paused},enumerable:!0,configurable:!0}),n=cc.sys.browserType===cc.sys.BROWSER_TYPE_EDGE||cc.sys.browserType===cc.sys.BROWSER_TYPE_BAIDU||cc.sys.browserType===cc.sys.BROWSER_TYPE_UC?.01:0;var h=function(t,e){this._audio=e,this._context=s.__audioSupport.context,this._buffer=t,this._gainObj=this._context.createGain(),this.volume=1,this._gainObj.connect(this._context.destination),this._loop=!1,this._startTime=-1,this._currentSource=null,this.playedLength=0,this._currentTimer=null,this._endCallback=function(){this.onended&&this.onended(this)}.bind(this)};(function(t){t.play=function(t){this._currentSource&&!this.paused&&(this._currentSource.onended=null,this._currentSource.stop(0),this.playedLength=0);var e=this._context.createBufferSource();e.buffer=this._buffer,e.connect(this._gainObj),e.loop=this._loop,this._startTime=this._context.currentTime,(t=t||this.playedLength)&&(this._startTime-=t);var i,n=this._buffer.duration,r=t;if(this._loop?e.start?e.start(0,r):e.notoGrainOn?e.noteGrainOn(0,r):e.noteOn(0,r):(i=n-t,e.start?e.start(0,r,i):e.noteGrainOn?e.noteGrainOn(0,r,i):e.noteOn(0,r,i)),this._currentSource=e,e.onended=this._endCallback,(!e.context.state||"suspended"===e.context.state)&&0===this._context.currentTime){var s=this;clearTimeout(this._currentTimer),this._currentTimer=setTimeout((function(){0===s._context.currentTime&&l.push({instance:s._audio,offset:t,audio:s})}),10)}var a=cc.sys;a.os===a.OS_IOS&&a.isBrowser&&a.isMobile&&("suspended"===e.context.state&&0!==this._context.currentTime||"interrupted"===e.context.state)&&e.context.resume()},t.pause=function(){if(clearTimeout(this._currentTimer),!this.paused){this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration;var t=this._currentSource;this._currentSource=null,this._startTime=-1,t&&t.stop(0)}},Object.defineProperty(t,"paused",{get:function(){return(!this._currentSource||!this._currentSource.loop)&&(-1===this._startTime||this._context.currentTime-this._startTime>this._buffer.duration)},enumerable:!0,configurable:!0}),Object.defineProperty(t,"loop",{get:function(){return this._loop},set:function(t){return this._currentSource&&(this._currentSource.loop=t),this._loop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"volume",{get:function(){return this._volume},set:function(t){if(this._volume=t,this._gainObj.gain.setTargetAtTime)try{this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,n)}catch(e){this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,.01)}else this._gainObj.gain.value=t;s.os===s.OS_IOS&&!this.paused&&this._currentSource&&(this._currentSource.onended=null,this.pause(),this.play())},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTime",{get:function(){return this.paused?this.playedLength:(this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration,this.playedLength)},set:function(t){return this.paused?this.playedLength=t:(this.pause(),this.playedLength=t,this.play()),t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"duration",{get:function(){return this._buffer.duration},enumerable:!0,configurable:!0})})(h.prototype),e.exports=cc._Audio=c}),{"../core/assets/CCAudioClip":106,"../core/event/event-target":185,"../core/platform/CCSys":247}],21:[(function(t,e){"use strict";var i=t("./CCAudio"),n=t("../core/assets/CCAudioClip"),r=cc.js,s=0,a=r.createMap(!0),o={},l=[],c=function(t){t._shouldRecycleOnEnded&&(t._finishCallback=null,t.off("ended"),t.off("stop"),t.src=null,l.includes(t)||(l.length<32?l.push(t):t.destroy()),t._shouldRecycleOnEnded=!1)},h=function(t){var e=s++,n=o[t];if(n||(n=o[t]=[]),f._maxAudioInstance<=n.length){var r=n.shift();u(r).stop()}var h=l.pop()||new i,_=function(){if(u(this.id)){delete a[this.id];var t=n.indexOf(this.id);cc.js.array.fastRemoveAt(n,t)}c(this)};return h.on("ended",(function(){this._finishCallback&&this._finishCallback(),this.getLoop()||_.call(this)}),h),h.on("stop",_,h),h.id=e,a[e]=h,n.push(e),h},u=function(t){return a[t]},_=function(t){return void 0===t?t=1:"string"==typeof t&&(t=Number.parseFloat(t)),t},f={AudioState:i.State,_maxAudioInstance:24,_id2audio:a,play:function(t,e,i){if(!(t instanceof n))return cc.error("Wrong type of AudioClip.");var r=t.nativeUrl,s=h(r);return s.src=t,t._ensureLoaded(),s._shouldRecycleOnEnded=!0,s.setLoop(e||!1),i=_(i),s.setVolume(i),s.play(),s.id},setLoop:function(t,e){var i=u(t);i&&i.setLoop&&i.setLoop(e)},isLoop:function(t){var e=u(t);return!(!e||!e.getLoop)&&e.getLoop()},setVolume:function(t,e){var i=u(t);i&&i.setVolume(e)},getVolume:function(t){var e=u(t);return e?e.getVolume():1},setCurrentTime:function(t,e){var i=u(t);return!!i&&(i.setCurrentTime(e),!0)},getCurrentTime:function(t){var e=u(t);return e?e.getCurrentTime():0},getDuration:function(t){var e=u(t);return e?e.getDuration():0},getState:function(t){var e=u(t);return e?e.getState():this.AudioState.ERROR},setFinishCallback:function(t,e){var i=u(t);i&&(i._finishCallback=e)},pause:function(t){var e=u(t);return!!e&&(e.pause(),!0)},_pauseIDCache:[],pauseAll:function(){for(var t in a){var e=a[t];e.getState()===i.State.PLAYING&&(this._pauseIDCache.push(t),e.pause())}},resume:function(t){var e=u(t);e&&e.resume()},resumeAll:function(){for(var t=0;t<this._pauseIDCache.length;++t){var e=this._pauseIDCache[t],i=u(e);i&&i.resume()}this._pauseIDCache.length=0},stop:function(t){var e=u(t);return!!e&&(e.stop(),!0)},stopAll:function(){for(var t in a){var e=a[t];e&&e.stop()}},setMaxAudioInstance:function(){},getMaxAudioInstance:function(){return this._maxAudioInstance},uncache:function(t){var e=t;if("string"==typeof t)cc.warnID(8401,"cc.audioEngine","cc.AudioClip","AudioClip","cc.AudioClip","audio"),e=t;else{if(!t)return;e=t.nativeUrl}var i=o[e];if(i)for(;i.length>0;){var n=i.pop(),r=a[n];r&&(r.stop(),delete a[n])}},uncacheAll:function(){var t;for(var e in this.stopAll(),a)(t=a[e])&&t.destroy();for(;t=l.pop();)t.destroy();a=r.createMap(!0),o={}},_breakCache:null,_break:function(){for(var t in this._breakCache=[],a){var e=a[t];e.getState()===i.State.PLAYING&&(this._breakCache.push(t),e.pause())}},_restore:function(){if(this._breakCache){for(;this._breakCache.length>0;){var t=this._breakCache.pop(),e=u(t);e&&e.resume&&e.resume()}this._breakCache=null}},_music:{id:-1,loop:!1,volume:1},_effect:{volume:1,pauseCache:[]},playMusic:function(t,e){var i=this._music;return this.stop(i.id),i.id=this.play(t,e,i.volume),i.loop=e,i.id},stopMusic:function(){this.stop(this._music.id)},pauseMusic:function(){return this.pause(this._music.id),this._music.id},resumeMusic:function(){return this.resume(this._music.id),this._music.id},getMusicVolume:function(){return this._music.volume},setMusicVolume:function(t){t=_(t);var e=this._music;return e.volume=t,this.setVolume(e.id,e.volume),e.volume},isMusicPlaying:function(){return this.getState(this._music.id)===this.AudioState.PLAYING},playEffect:function(t,e){return this.play(t,e||!1,this._effect.volume)},setEffectsVolume:function(t){t=_(t);var e=this._music.id;for(var i in this._effect.volume=t,a){var n=a[i];n&&n.id!==e&&f.setVolume(i,t)}},getEffectsVolume:function(){return this._effect.volume},pauseEffect:function(t){return this.pause(t)},pauseAllEffects:function(){var t=this._music.id,e=this._effect;for(var i in e.pauseCache.length=0,a){var n=a[i];n&&n.id!==t&&n.getState()===this.AudioState.PLAYING&&(e.pauseCache.push(i),n.pause())}},resumeEffect:function(t){this.resume(t)},resumeAllEffects:function(){for(var t=this._effect.pauseCache,e=0;e<t.length;++e){var i=t[e],n=a[i];n&&n.resume()}},stopEffect:function(t){return this.stop(t)},stopAllEffects:function(){var t=this._music.id;for(var e in a){var i=a[e];i&&i.id!==t&&i.getState()===f.AudioState.PLAYING&&i.stop()}}};e.exports=cc.audioEngine=f}),{"../core/assets/CCAudioClip":106,"./CCAudio":20}],22:[(function(t,e){"use strict";var i={name:"Jacob__Codec"};i.Base64=t("./base64"),i.GZip=t("./gzip"),i.unzip=function(){return i.GZip.gunzip.apply(i.GZip,arguments)},i.unzipBase64=function(){var t=i.Base64.decode.apply(i.Base64,arguments);try{return i.GZip.gunzip.call(i.GZip,t)}catch(e){return t.slice(7)}},i.unzipBase64AsArray=function(t,e){e=e||1;var i,n,r,s=this.unzipBase64(t),a=[];for(i=0,r=s.length/e;i<r;i++)for(a[i]=0,n=e-1;n>=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},i.unzipAsArray=function(t,e){e=e||1;var i,n,r,s=this.unzip(t),a=[];for(i=0,r=s.length/e;i<r;i++)for(a[i]=0,n=e-1;n>=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},cc.codec=e.exports=i}),{"./base64":23,"./gzip":24}],23:[(function(t,e){"use strict";var i=t("../core/utils/misc").BASE64_VALUES,n={name:"Jacob__Codec__Base64",decode:function(t){var e,n,r,s,a,o,l=[],c=0;for(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<t.length;)e=i[t.charCodeAt(c++)]<<2|(s=i[t.charCodeAt(c++)])>>4,n=(15&s)<<4|(a=i[t.charCodeAt(c++)])>>2,r=(3&a)<<6|(o=i[t.charCodeAt(c++)]),l.push(String.fromCharCode(e)),64!==a&&l.push(String.fromCharCode(n)),64!==o&&l.push(String.fromCharCode(r));return l.join("")},decodeAsArray:function(t,e){var i,n,r,s=this.decode(t),a=[];for(i=0,r=s.length/e;i<r;i++)for(a[i]=0,n=e-1;n>=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a}};e.exports=n}),{"../core/utils/misc":323}],24:[(function(t,e){"use strict";var i=function(t){this.data=t,this.debug=!1,this.gpflags=void 0,this.files=0,this.unzipped=[],this.buf32k=new Array(32768),this.bIdx=0,this.modeZIP=!1,this.bytepos=0,this.bb=1,this.bits=0,this.nameBuf=[],this.fileout=void 0,this.literalTree=new Array(i.LITERALS),this.distanceTree=new Array(32),this.treepos=0,this.Places=null,this.len=0,this.fpos=new Array(17),this.fpos[0]=0,this.flens=void 0,this.fmax=void 0};i.gunzip=function(t){return t.constructor===Array||(t.constructor,String),new i(t).gunzip()[0][0]},i.HufNode=function(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1},i.LITERALS=288,i.NAMEMAX=256,i.bitReverse=[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255],i.cplens=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],i.cplext=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],i.cpdist=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],i.cpdext=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],i.border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],i.prototype.gunzip=function(){return this.outputArr=[],this.nextFile(),this.unzipped},i.prototype.readByte=function(){return this.bits+=8,this.bytepos<this.data.length?this.data.charCodeAt(this.bytepos++):-1},i.prototype.byteAlign=function(){this.bb=1},i.prototype.readBit=function(){var t;return this.bits++,t=1&this.bb,this.bb>>=1,0===this.bb&&(this.bb=this.readByte(),t=1&this.bb,this.bb=this.bb>>1|128),t},i.prototype.readBits=function(t){for(var e=0,n=t;n--;)e=e<<1|this.readBit();return t&&(e=i.bitReverse[e]>>8-t),e},i.prototype.flushBuffer=function(){this.bIdx=0},i.prototype.addBuffer=function(t){this.buf32k[this.bIdx++]=t,this.outputArr.push(String.fromCharCode(t)),32768===this.bIdx&&(this.bIdx=0)},i.prototype.IsPat=function(){for(;;){if(this.fpos[this.len]>=this.fmax)return-1;if(this.flens[this.fpos[this.len]]===this.len)return this.fpos[this.len]++;this.fpos[this.len]++}},i.prototype.Rec=function(){var t,e=this.Places[this.treepos];if(17===this.len)return-1;if(this.treepos++,this.len++,(t=this.IsPat())>=0)e.b0=t;else if(e.b0=32768,this.Rec())return-1;if((t=this.IsPat())>=0)e.b1=t,e.jump=null;else if(e.b1=32768,e.jump=this.Places[this.treepos],e.jumppos=this.treepos,this.Rec())return-1;return this.len--,0},i.prototype.CreateTree=function(t,e,i){var n;for(this.Places=t,this.treepos=0,this.flens=i,this.fmax=e,n=0;n<17;n++)this.fpos[n]=0;return this.len=0,this.Rec()?-1:0},i.prototype.DecodeValue=function(t){for(var e,i,n=0,r=t[n];;)if(this.readBit()){if(!(32768&r.b1))return r.b1;for(r=r.jump,e=t.length,i=0;i<e;i++)if(t[i]===r){n=i;break}}else{if(!(32768&r.b0))return r.b0;r=t[++n]}return-1},i.prototype.DeflateLoop=function(){var t,e,n;do{var r,s;if(t=this.readBit(),0===(e=this.readBits(2)))for(this.byteAlign(),r=this.readByte(),r|=this.readByte()<<8,s=this.readByte(),65535&(r^~(s|=this.readByte()<<8))&&document.write("BlockLen checksum mismatch\n");r--;)a=this.readByte(),this.addBuffer(a);else if(1===e)for(;;)if((o=i.bitReverse[this.readBits(7)]>>1)>23?(o=o<<1|this.readBit())>199?o=(o-=128)<<1|this.readBit():(o-=48)>143&&(o+=136):o+=256,o<256)this.addBuffer(o);else{if(256===o)break;for(o-=257,p=this.readBits(i.cplext[o])+i.cplens[o],o=i.bitReverse[this.readBits(5)]>>3,i.cpdext[o]>8?(m=this.readBits(8),m|=this.readBits(i.cpdext[o]-8)<<8):m=this.readBits(i.cpdext[o]),m+=i.cpdist[o],o=0;o<p;o++){var a=this.buf32k[this.bIdx-m&32767];this.addBuffer(a)}}else if(2===e){var o,l,c,h,u,_=new Array(320);for(c=257+this.readBits(5),h=1+this.readBits(5),u=4+this.readBits(4),o=0;o<19;o++)_[o]=0;for(o=0;o<u;o++)_[i.border[o]]=this.readBits(3);for(p=this.distanceTree.length,n=0;n<p;n++)this.distanceTree[n]=new i.HufNode;if(this.CreateTree(this.distanceTree,19,_,0))return this.flushBuffer(),1;for(l=c+h,n=0;n<l;)if((o=this.DecodeValue(this.distanceTree))<16)_[n++]=o;else if(16===o){var f;if(n+(o=3+this.readBits(2))>l)return this.flushBuffer(),1;for(f=n?_[n-1]:0;o--;)_[n++]=f}else{if(n+(o=17===o?3+this.readBits(3):11+this.readBits(7))>l)return this.flushBuffer(),1;for(;o--;)_[n++]=0}for(p=this.literalTree.length,n=0;n<p;n++)this.literalTree[n]=new i.HufNode;if(this.CreateTree(this.literalTree,c,_,0))return this.flushBuffer(),1;for(p=this.literalTree.length,n=0;n<p;n++)this.distanceTree[n]=new i.HufNode;var d=new Array;for(n=c;n<_.length;n++)d[n-c]=_[n];if(this.CreateTree(this.distanceTree,h,d,0))return this.flushBuffer(),1;for(;;)if((o=this.DecodeValue(this.literalTree))>=256){var p,m;if(0==(o-=256))break;for(o--,p=this.readBits(i.cplext[o])+i.cplens[o],o=this.DecodeValue(this.distanceTree),i.cpdext[o]>8?(m=this.readBits(8),m|=this.readBits(i.cpdext[o]-8)<<8):m=this.readBits(i.cpdext[o]),m+=i.cpdist[o];p--;)a=this.buf32k[this.bIdx-m&32767],this.addBuffer(a)}else this.addBuffer(o)}}while(!t);return this.flushBuffer(),this.byteAlign(),0},i.prototype.unzipFile=function(t){var e;for(this.gunzip(),e=0;e<this.unzipped.length;e++)if(this.unzipped[e][1]===t)return this.unzipped[e][0]},i.prototype.nextFile=function(){this.outputArr=[],this.modeZIP=!1;var t=[];if(t[0]=this.readByte(),t[1]=this.readByte(),120===t[0]&&218===t[1]&&(this.DeflateLoop(),this.unzipped[this.files]=[this.outputArr.join(""),"geonext.gxt"],this.files++),31===t[0]&&139===t[1]&&(this.skipdir(),this.unzipped[this.files]=[this.outputArr.join(""),"file"],this.files++),80===t[0]&&75===t[1]&&(this.modeZIP=!0,t[2]=this.readByte(),t[3]=this.readByte(),3===t[2]&&4===t[3])){t[0]=this.readByte(),t[1]=this.readByte(),this.gpflags=this.readByte(),this.gpflags|=this.readByte()<<8;var e=this.readByte();e|=this.readByte()<<8,this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte();var n=this.readByte();n|=this.readByte()<<8;var r=this.readByte();for(r|=this.readByte()<<8,a=0,this.nameBuf=[];n--;){var s=this.readByte();"/"===s|":"===s?a=0:a<i.NAMEMAX-1&&(this.nameBuf[a++]=String.fromCharCode(s))}this.fileout||(this.fileout=this.nameBuf);for(var a=0;a<r;)s=this.readByte(),a++;8===e&&(this.DeflateLoop(),this.unzipped[this.files]=[this.outputArr.join(""),this.nameBuf.join("")],this.files++),this.skipdir()}},i.prototype.skipdir=function(){var t,e,n=[];if(8&this.gpflags&&(n[0]=this.readByte(),n[1]=this.readByte(),n[2]=this.readByte(),n[3]=this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte()),this.modeZIP&&this.nextFile(),n[0]=this.readByte(),8!==n[0])return 0;if(this.gpflags=this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),4&this.gpflags)for(n[0]=this.readByte(),n[2]=this.readByte(),this.len=n[0]+256*n[1],t=0;t<this.len;t++)this.readByte();if(8&this.gpflags)for(t=0,this.nameBuf=[];e=this.readByte();)"7"!==e&&":"!==e||(t=0),t<i.NAMEMAX-1&&(this.nameBuf[t++]=e);if(16&this.gpflags)for(;e=this.readByte(););2&this.gpflags&&(this.readByte(),this.readByte()),this.DeflateLoop(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.modeZIP&&this.nextFile()},e.exports=i}),{}],25:[(function(t,e){"use strict";(function(){function t(t){throw t}var e=void 0,i=!0,n=this;function r(t,i){var r,s=t.split("."),a=n;!(s[0]in a)&&a.execScript&&a.execScript("var "+s[0]);for(;s.length&&(r=s.shift());)s.length||i===e?a=a[r]?a[r]:a[r]={}:a[r]=i}var s="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;function a(t){if("string"==typeof t){var e,i,n=t.split("");for(e=0,i=n.length;e<i;e++)n[e]=(255&n[e].charCodeAt(0))>>>0;t=n}for(var r,s=1,a=0,o=t.length,l=0;0<o;){o-=r=1024<o?1024:o;do{a+=s+=t[l++]}while(--r);s%=65521,a%=65521}return(a<<16|s)>>>0}function o(e,i){this.index="number"==typeof i?i:0,this.i=0,this.buffer=e instanceof(s?Uint8Array:Array)?e:new(s?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&t(Error("invalid index")),this.buffer.length<=this.index&&this.f()}o.prototype.f=function(){var t,e=this.buffer,i=e.length,n=new(s?Uint8Array:Array)(i<<1);if(s)n.set(e);else for(t=0;t<i;++t)n[t]=e[t];return this.buffer=n},o.prototype.d=function(t,e,i){var n,r=this.buffer,s=this.index,a=this.i,o=r[s];if(i&&1<e&&(t=8<e?(f[255&t]<<24|f[t>>>8&255]<<16|f[t>>>16&255]<<8|f[t>>>24&255])>>32-e:f[t]>>8-e),8>e+a)o=o<<e|t,a+=e;else for(n=0;n<e;++n)o=o<<1|t>>e-n-1&1,8==++a&&(a=0,r[s++]=f[o],o=0,s===r.length&&(r=this.f()));r[s]=o,this.buffer=r,this.i=a,this.index=s},o.prototype.finish=function(){var t,e=this.buffer,i=this.index;return 0<this.i&&(e[i]<<=8-this.i,e[i]=f[e[i]],i++),s?t=e.subarray(0,i):(e.length=i,t=e),t};var l,c=new(s?Uint8Array:Array)(256);for(l=0;256>l;++l){for(var h=_=l,u=7,_=_>>>1;_;_>>>=1)h<<=1,h|=1&_,--u;c[l]=(h<<u&255)>>>0}var f=c;function d(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function p(t){var e,i,n,r,a,o,l,c,h,u=t.length,_=0,f=Number.POSITIVE_INFINITY;for(c=0;c<u;++c)t[c]>_&&(_=t[c]),t[c]<f&&(f=t[c]);for(e=1<<_,i=new(s?Uint32Array:Array)(e),n=1,r=0,a=2;n<=_;){for(c=0;c<u;++c)if(t[c]===n){for(o=0,l=r,h=0;h<n;++h)o=o<<1|1&l,l>>=1;for(h=o;h<e;h+=a)i[h]=n<<16|c;++r}++n,r<<=1,a<<=1}return[i,_,f]}function m(t,e){this.h=v,this.w=0,this.input=t,this.b=0,e&&(e.lazy&&(this.w=e.lazy),"number"==typeof e.compressionType&&(this.h=e.compressionType),e.outputBuffer&&(this.a=s&&e.outputBuffer instanceof Array?new Uint8Array(e.outputBuffer):e.outputBuffer),"number"==typeof e.outputIndex&&(this.b=e.outputIndex)),this.a||(this.a=new(s?Uint8Array:Array)(32768))}s&&new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),d.prototype.getParent=function(t){return 2*((t-2)/4|0)},d.prototype.push=function(t,e){var i,n,r,s=this.buffer;for(i=this.length,s[this.length++]=e,s[this.length++]=t;0<i&&(n=this.getParent(i),s[i]>s[n]);)r=s[i],s[i]=s[n],s[n]=r,r=s[i+1],s[i+1]=s[n+1],s[n+1]=r,i=n;return this.length},d.prototype.pop=function(){var t,e,i,n,r,s=this.buffer;for(e=s[0],t=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],r=0;!((n=2*r+2)>=this.length)&&(n+2<this.length&&s[n+2]>s[n]&&(n+=2),s[n]>s[r]);)i=s[r],s[r]=s[n],s[n]=i,i=s[r+1],s[r+1]=s[n+1],s[n+1]=i,r=n;return{index:t,value:e,length:this.length}};var y,v=2,g={NONE:0,r:1,j:v,N:3},b=[];for(y=0;288>y;y++)switch(i){case 143>=y:b.push([y+48,8]);break;case 255>=y:b.push([y-144+400,9]);break;case 279>=y:b.push([y-256+0,7]);break;case 287>=y:b.push([y-280+192,8]);break;default:t("invalid literal: "+y)}function A(t,e){this.length=t,this.G=e}function x(){var e=C;switch(i){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:t("invalid length: "+e)}}m.prototype.n=function(){var n,r,a,l,c=this.input;switch(this.h){case 0:for(a=0,l=c.length;a<l;){var h,u,_,f=r=s?c.subarray(a,a+65535):c.slice(a,a+65535),d=(a+=r.length)===l,p=e,m=e,y=this.a,g=this.b;if(s){for(y=new Uint8Array(this.a.buffer);y.length<=g+f.length+5;)y=new Uint8Array(y.length<<1);y.set(this.a)}if(h=d?1:0,y[g++]=0|h,_=65536+~(u=f.length)&65535,y[g++]=255&u,y[g++]=u>>>8&255,y[g++]=255&_,y[g++]=_>>>8&255,s)y.set(f,g),g+=f.length,y=y.subarray(0,g);else{for(p=0,m=f.length;p<m;++p)y[g++]=f[p];y.length=g}this.b=g,this.a=y}break;case 1:var A=new o(new Uint8Array(this.a.buffer),this.b);A.d(1,1,i),A.d(1,2,i);var x,C,T,S=E(this,c);for(x=0,C=S.length;x<C;x++)if(T=S[x],o.prototype.d.apply(A,b[T]),256<T)A.d(S[++x],S[++x],i),A.d(S[++x],5),A.d(S[++x],S[++x],i);else if(256===T)break;this.a=A.finish(),this.b=this.a.length;break;case v:var w,B,I,P,R,O,L,F,V,N,k,z,G,U,j,H=new o(new Uint8Array(this.a),this.b),W=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=Array(19);for(w=v,H.d(1,1,i),H.d(w,2,i),B=E(this,c),L=D(O=M(this.L,15)),V=D(F=M(this.K,7)),I=286;257<I&&0===O[I-1];I--);for(P=30;1<P&&0===F[P-1];P--);var Y,q,J,Z,K,Q,$=I,tt=P,et=new(s?Uint32Array:Array)($+tt),it=new(s?Uint32Array:Array)(316),nt=new(s?Uint8Array:Array)(19);for(Y=q=0;Y<$;Y++)et[q++]=O[Y];for(Y=0;Y<tt;Y++)et[q++]=F[Y];if(!s)for(Y=0,Z=nt.length;Y<Z;++Y)nt[Y]=0;for(Y=K=0,Z=et.length;Y<Z;Y+=q){for(q=1;Y+q<Z&&et[Y+q]===et[Y];++q);if(J=q,0===et[Y])if(3>J)for(;0<J--;)it[K++]=0,nt[0]++;else for(;0<J;)(Q=138>J?J:138)>J-3&&Q<J&&(Q=J-3),10>=Q?(it[K++]=17,it[K++]=Q-3,nt[17]++):(it[K++]=18,it[K++]=Q-11,nt[18]++),J-=Q;else if(it[K++]=et[Y],nt[et[Y]]++,3>--J)for(;0<J--;)it[K++]=et[Y],nt[et[Y]]++;else for(;0<J;)(Q=6>J?J:6)>J-3&&Q<J&&(Q=J-3),it[K++]=16,it[K++]=Q-3,nt[16]++,J-=Q}for(n=s?it.subarray(0,K):it.slice(0,K),N=M(nt,7),U=0;19>U;U++)X[U]=N[W[U]];for(R=19;4<R&&0===X[R-1];R--);for(k=D(N),H.d(I-257,5,i),H.d(P-1,5,i),H.d(R-4,4,i),U=0;U<R;U++)H.d(X[U],3,i);for(U=0,j=n.length;U<j;U++)if(z=n[U],H.d(k[z],N[z],i),16<=z){switch(U++,z){case 16:G=2;break;case 17:G=3;break;case 18:G=7;break;default:t("invalid code: "+z)}H.d(n[U],G,i)}var rt,st,at,ot,lt,ct,ht,ut,_t=[L,O],ft=[V,F];for(lt=_t[0],ct=_t[1],ht=ft[0],ut=ft[1],rt=0,st=B.length;rt<st;++rt)if(at=B[rt],H.d(lt[at],ct[at],i),256<at)H.d(B[++rt],B[++rt],i),ot=B[++rt],H.d(ht[ot],ut[ot],i),H.d(B[++rt],B[++rt],i);else if(256===at)break;this.a=H.finish(),this.b=this.a.length;break;default:t("invalid compression type")}return this.a};var C,T,S=[];for(C=3;258>=C;C++)T=x(),S[C]=T[2]<<24|T[1]<<16|T[0];var w=s?new Uint32Array(S):S;function E(n,r){function a(e,n){var r,s,a,o,l=e.G,c=[],h=0;switch(r=w[e.length],c[h++]=65535&r,c[h++]=r>>16&255,c[h++]=r>>24,i){case 1===l:s=[0,l-1,0];break;case 2===l:s=[1,l-2,0];break;case 3===l:s=[2,l-3,0];break;case 4===l:s=[3,l-4,0];break;case 6>=l:s=[4,l-5,1];break;case 8>=l:s=[5,l-7,1];break;case 12>=l:s=[6,l-9,2];break;case 16>=l:s=[7,l-13,2];break;case 24>=l:s=[8,l-17,3];break;case 32>=l:s=[9,l-25,3];break;case 48>=l:s=[10,l-33,4];break;case 64>=l:s=[11,l-49,4];break;case 96>=l:s=[12,l-65,5];break;case 128>=l:s=[13,l-97,5];break;case 192>=l:s=[14,l-129,6];break;case 256>=l:s=[15,l-193,6];break;case 384>=l:s=[16,l-257,7];break;case 512>=l:s=[17,l-385,7];break;case 768>=l:s=[18,l-513,8];break;case 1024>=l:s=[19,l-769,8];break;case 1536>=l:s=[20,l-1025,9];break;case 2048>=l:s=[21,l-1537,9];break;case 3072>=l:s=[22,l-2049,10];break;case 4096>=l:s=[23,l-3073,10];break;case 6144>=l:s=[24,l-4097,11];break;case 8192>=l:s=[25,l-6145,11];break;case 12288>=l:s=[26,l-8193,12];break;case 16384>=l:s=[27,l-12289,12];break;case 24576>=l:s=[28,l-16385,13];break;case 32768>=l:s=[29,l-24577,13];break;default:t("invalid distance")}for(r=s,c[h++]=r[0],c[h++]=r[1],c[h++]=r[2],a=0,o=c.length;a<o;++a)y[v++]=c[a];b[c[0]]++,x[c[3]]++,g=e.length+n-1,d=null}var o,l,c,h,u,_,f,d,p,m={},y=s?new Uint16Array(2*r.length):[],v=0,g=0,b=new(s?Uint32Array:Array)(286),x=new(s?Uint32Array:Array)(30),C=n.w;if(!s){for(c=0;285>=c;)b[c++]=0;for(c=0;29>=c;)x[c++]=0}for(b[256]=1,o=0,l=r.length;o<l;++o){for(c=u=0,h=3;c<h&&o+c!==l;++c)u=u<<8|r[o+c];if(m[u]===e&&(m[u]=[]),_=m[u],!(0<g--)){for(;0<_.length&&32768<o-_[0];)_.shift();if(o+3>=l){for(d&&a(d,-1),c=0,h=l-o;c<h;++c)p=r[o+c],y[v++]=p,++b[p];break}if(0<_.length){var T=e,S=e,E=0,M=e,D=e,B=e,I=r.length,P=(D=0,_.length);t:for(;D<P;D++){if(T=_[P-D-1],M=3,3<E){for(B=E;3<B;B--)if(r[T+B-1]!==r[o+B-1])continue t;M=E}for(;258>M&&o+M<I&&r[T+M]===r[o+M];)++M;if(M>E&&(S=T,E=M),258===M)break}f=new A(E,o-S),d?d.length<f.length?(p=r[o-1],y[v++]=p,++b[p],a(f,0)):a(d,-1):f.length<C?d=f:a(f,0)}else d?a(d,-1):(p=r[o],y[v++]=p,++b[p])}_.push(o)}return y[v++]=256,b[256]++,n.L=b,n.K=x,s?y.subarray(0,v):y}function M(t,e){function i(t){var e=C[t][T[t]];e===v?(i(t+1),i(t+1)):--A[e],++T[t]}var n,r,a,o,l,c=t.length,h=new d(572),u=new(s?Uint8Array:Array)(c);if(!s)for(o=0;o<c;o++)u[o]=0;for(o=0;o<c;++o)0<t[o]&&h.push(o,t[o]);if(n=Array(h.length/2),r=new(s?Uint32Array:Array)(h.length/2),1===n.length)return u[h.pop().index]=1,u;for(o=0,l=h.length/2;o<l;++o)n[o]=h.pop(),r[o]=n[o].value;var _,f,p,m,y,v=r.length,g=new(s?Uint16Array:Array)(e),b=new(s?Uint8Array:Array)(e),A=new(s?Uint8Array:Array)(v),x=Array(e),C=Array(e),T=Array(e),S=(1<<e)-v,w=1<<e-1;for(g[e-1]=v,f=0;f<e;++f)S<w?b[f]=0:(b[f]=1,S-=w),S<<=1,g[e-2-f]=(g[e-1-f]/2|0)+v;for(g[0]=b[0],x[0]=Array(g[0]),C[0]=Array(g[0]),f=1;f<e;++f)g[f]>2*g[f-1]+b[f]&&(g[f]=2*g[f-1]+b[f]),x[f]=Array(g[f]),C[f]=Array(g[f]);for(_=0;_<v;++_)A[_]=e;for(p=0;p<g[e-1];++p)x[e-1][p]=r[p],C[e-1][p]=p;for(_=0;_<e;++_)T[_]=0;for(1===b[e-1]&&(--A[0],++T[e-1]),f=e-2;0<=f;--f){for(m=_=0,y=T[f+1],p=0;p<g[f];p++)(m=x[f+1][y]+x[f+1][y+1])>r[_]?(x[f][p]=m,C[f][p]=v,y+=2):(x[f][p]=r[_],C[f][p]=_,++_);T[f]=0,1===b[f]&&i(f)}for(a=A,o=0,l=n.length;o<l;++o)u[n[o].index]=a[o];return u}function D(e){var i,n,r,a,o=new(s?Uint16Array:Array)(e.length),l=[],c=[],h=0;for(i=0,n=e.length;i<n;i++)l[e[i]]=1+(0|l[e[i]]);for(i=1,n=16;i<=n;i++)c[i]=h,(h+=0|l[i])>1<<i&&t("overcommitted"),h<<=1;for(65536>h&&t("undercommitted"),i=0,n=e.length;i<n;i++)for(h=c[e[i]],c[e[i]]+=1,r=o[i]=0,a=e[i];r<a;r++)o[i]=o[i]<<1|1&h,h>>>=1;return o}function B(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.h=I.j;var i,n={};for(i in!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType),e)n[i]=e[i];n.outputBuffer=this.a,this.z=new m(this.input,n)}var I=g;function P(e,i){switch(this.k=[],this.l=32768,this.e=this.g=this.c=this.q=0,this.input=s?new Uint8Array(e):e,this.s=!1,this.m=O,this.B=!1,!i&&(i={})||(i.index&&(this.c=i.index),i.bufferSize&&(this.l=i.bufferSize),i.bufferType&&(this.m=i.bufferType),i.resize&&(this.B=i.resize)),this.m){case R:this.b=32768,this.a=new(s?Uint8Array:Array)(32768+this.l+258);break;case O:this.b=0,this.a=new(s?Uint8Array:Array)(this.l),this.f=this.J,this.t=this.H,this.o=this.I;break;default:t(Error("invalid inflate mode"))}}B.prototype.n=function(){var e,i,n,r,o,l,c,h=0;switch(c=this.a,e=ht){case ht:i=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(n=i<<4|e,c[h++]=n,e){case ht:switch(this.h){case I.NONE:o=0;break;case I.r:o=1;break;case I.j:o=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return r=o<<6|0,c[h++]=r|31-(256*n+r)%31,l=a(this.input),this.z.b=h,h=(c=this.z.n()).length,s&&((c=new Uint8Array(c.buffer)).length<=h+4&&(this.a=new Uint8Array(c.length+4),this.a.set(c),c=this.a),c=c.subarray(0,h+4)),c[h++]=l>>24&255,c[h++]=l>>16&255,c[h++]=l>>8&255,c[h++]=255&l,c},r("Zlib.Deflate",B),r("Zlib.Deflate.compress",(function(t,e){return new B(t,e).n()})),r("Zlib.Deflate.CompressionType",I),r("Zlib.Deflate.CompressionType.NONE",I.NONE),r("Zlib.Deflate.CompressionType.FIXED",I.r),r("Zlib.Deflate.CompressionType.DYNAMIC",I.j);var R=0,O=1,L={D:R,C:O};P.prototype.p=function(){for(;!this.s;){var n=tt(this,3);switch(1&n&&(this.s=i),n>>>=1){case 0:var r=this.input,a=this.c,o=this.a,l=this.b,c=e,h=e,u=e,_=o.length,f=e;switch(this.e=this.g=0,(c=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (first byte)")),h=c,(c=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (second byte)")),h|=c<<8,(c=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (first byte)")),u=c,(c=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (second byte)")),h===~(u|=c<<8)&&t(Error("invalid uncompressed block header: length verify")),a+h>r.length&&t(Error("input buffer is broken")),this.m){case R:for(;l+h>o.length;){if(h-=f=_-l,s)o.set(r.subarray(a,a+f),l),l+=f,a+=f;else for(;f--;)o[l++]=r[a++];this.b=l,o=this.f(),l=this.b}break;case O:for(;l+h>o.length;)o=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(s)o.set(r.subarray(a,a+h),l),l+=h,a+=h;else for(;h--;)o[l++]=r[a++];this.c=a,this.b=l,this.a=o;break;case 1:this.o(K,$);break;case 2:it(this);break;default:t(Error("unknown BTYPE: "+n))}}return this.t()};var F,V,N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],k=s?new Uint16Array(N):N,z=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],G=s?new Uint16Array(z):z,U=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],j=s?new Uint8Array(U):U,H=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],W=s?new Uint16Array(H):H,X=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Y=s?new Uint8Array(X):X,q=new(s?Uint8Array:Array)(288);for(F=0,V=q.length;F<V;++F)q[F]=143>=F?8:255>=F?9:279>=F?7:8;var J,Z,K=p(q),Q=new(s?Uint8Array:Array)(30);for(J=0,Z=Q.length;J<Z;++J)Q[J]=5;var $=p(Q);function tt(i,n){for(var r,s=i.g,a=i.e,o=i.input,l=i.c;a<n;)(r=o[l++])===e&&t(Error("input buffer is broken")),s|=r<<a,a+=8;return r=s&(1<<n)-1,i.g=s>>>n,i.e=a-n,i.c=l,r}function et(i,n){for(var r,s,a,o=i.g,l=i.e,c=i.input,h=i.c,u=n[0],_=n[1];l<_;)(r=c[h++])===e&&t(Error("input buffer is broken")),o|=r<<l,l+=8;return a=(s=u[o&(1<<_)-1])>>>16,i.g=o>>a,i.e=l-a,i.c=h,65535&s}function it(t){function e(t,e,i){var n,r,s,a;for(a=0;a<t;)switch(n=et(this,e)){case 16:for(s=3+tt(this,2);s--;)i[a++]=r;break;case 17:for(s=3+tt(this,3);s--;)i[a++]=0;r=0;break;case 18:for(s=11+tt(this,7);s--;)i[a++]=0;r=0;break;default:r=i[a++]=n}return i}var i,n,r,a,o=tt(t,5)+257,l=tt(t,5)+1,c=tt(t,4)+4,h=new(s?Uint8Array:Array)(k.length);for(a=0;a<c;++a)h[k[a]]=tt(t,3);i=p(h),n=new(s?Uint8Array:Array)(o),r=new(s?Uint8Array:Array)(l),t.o(p(e.call(t,o,i,n)),p(e.call(t,l,i,r)))}function nt(e,i){var n,r;switch(this.input=e,this.c=0,!i&&(i={})||(i.index&&(this.c=i.index),i.verify&&(this.M=i.verify)),n=e[this.c++],r=e[this.c++],15&n){case ht:this.method=ht;break;default:t(Error("unsupported compression method"))}0!=((n<<8)+r)%31&&t(Error("invalid fcheck flag:"+((n<<8)+r)%31)),32&r&&t(Error("fdict flag is not supported")),this.A=new P(e,{index:this.c,bufferSize:i.bufferSize,bufferType:i.bufferType,resize:i.resize})}P.prototype.o=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,a,o,l=i.length-258;256!==(r=et(this,t));)if(256>r)n>=l&&(this.b=n,i=this.f(),n=this.b),i[n++]=r;else for(o=G[s=r-257],0<j[s]&&(o+=tt(this,j[s])),r=et(this,e),a=W[r],0<Y[r]&&(a+=tt(this,Y[r])),n>=l&&(this.b=n,i=this.f(),n=this.b);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},P.prototype.I=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,a,o,l=i.length;256!==(r=et(this,t));)if(256>r)n>=l&&(l=(i=this.f()).length),i[n++]=r;else for(o=G[s=r-257],0<j[s]&&(o+=tt(this,j[s])),r=et(this,e),a=W[r],0<Y[r]&&(a+=tt(this,Y[r])),n+o>l&&(l=(i=this.f()).length);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},P.prototype.f=function(){var t,e,i=new(s?Uint8Array:Array)(this.b-32768),n=this.b-32768,r=this.a;if(s)i.set(r.subarray(32768,i.length));else for(t=0,e=i.length;t<e;++t)i[t]=r[t+32768];if(this.k.push(i),this.q+=i.length,s)r.set(r.subarray(n,n+32768));else for(t=0;32768>t;++t)r[t]=r[n+t];return this.b=32768,r},P.prototype.J=function(t){var e,i,n,r=this.input.length/this.c+1|0,a=this.input,o=this.a;return t&&("number"==typeof t.v&&(r=t.v),"number"==typeof t.F&&(r+=t.F)),i=2>r?(n=(a.length-this.c)/this.u[2]/2*258|0)<o.length?o.length+n:o.length<<1:o.length*r,s?(e=new Uint8Array(i)).set(o):e=o,this.a=e},P.prototype.t=function(){var t,e,i,n,r,a=0,o=this.a,l=this.k,c=new(s?Uint8Array:Array)(this.q+(this.b-32768));if(0===l.length)return s?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);for(e=0,i=l.length;e<i;++e)for(n=0,r=(t=l[e]).length;n<r;++n)c[a++]=t[n];for(e=32768,i=this.b;e<i;++e)c[a++]=o[e];return this.k=[],this.buffer=c},P.prototype.H=function(){var t,e=this.b;return s?this.B?(t=new Uint8Array(e)).set(this.a.subarray(0,e)):t=this.a.subarray(0,e):(this.a.length>e&&(this.a.length=e),t=this.a),this.buffer=t},nt.prototype.p=function(){var e,i=this.input;return e=this.A.p(),this.c=this.A.c,this.M&&(i[this.c++]<<24|i[this.c++]<<16|i[this.c++]<<8|i[this.c++])>>>0!==a(e)&&t(Error("invalid adler-32 checksum")),e},r("Zlib.Inflate",nt),r("Zlib.Inflate.BufferType",L),L.ADAPTIVE=L.C,L.BLOCK=L.D,r("Zlib.Inflate.prototype.decompress",nt.prototype.p),s&&new Uint16Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s&&new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258]),s&&new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0]),s&&new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577]),s&&new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);var rt,st,at=new(s?Uint8Array:Array)(288);for(rt=0,st=at.length;rt<st;++rt)at[rt]=143>=rt?8:255>=rt?9:279>=rt?7:8;p(at);var ot,lt,ct=new(s?Uint8Array:Array)(30);for(ot=0,lt=ct.length;ot<lt;++ot)ct[ot]=5;p(ct);var ht=8}).call(window);var i=window.Zlib;i.Deflate=i.Deflate,i.Deflate.compress=i.Deflate.compress,i.Inflate=i.Inflate,i.Inflate.BufferType=i.Inflate.BufferType,i.Inflate.prototype.decompress=i.Inflate.prototype.decompress,e.exports=i}),{}],26:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S=P(t("../../renderer/enums")),w=P(t("../value-types/color")),E=t("../value-types"),M=P(t("../renderer/index")),D=P(t("../platform/CCEnum")),B=P(t("../components/CCComponent")),I=t("../platform/CCClassDecorator");function P(t){return t&&t.__esModule?t:{default:t}}function R(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function O(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function L(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function F(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var V=null;V=t("../../renderer/scene/light");var N=(0,D.default)({DIRECTIONAL:0,POINT:1,SPOT:2,AMBIENT:3}),k=(0,D.default)({NONE:0,HARD:2,SOFT_PCF3X3:3,SOFT_PCF5X5:4}),z=(n=(0,I.ccclass)("cc.Light"),r=(0,I.menu)("i18n:MAIN_MENU.component.renderers/Light"),s=(0,I.inspector)("packages://inspector/inspectors/comps/light.js"),a=(0,I.property)({type:N}),o=(0,I.property)({type:k}),n(l=r(l=(0,I.executeInEditMode)(l=s((T=C=(function(t){var e,i,n,r;function s(){var e;return R(e=t.call(this)||this,"_type",h,O(e)),R(e,"_color",u,O(e)),R(e,"_intensity",_,O(e)),R(e,"_range",f,O(e)),R(e,"_spotAngle",d,O(e)),R(e,"_spotExp",p,O(e)),R(e,"_shadowType",m,O(e)),R(e,"_shadowResolution",y,O(e)),R(e,"_shadowDarkness",v,O(e)),R(e,"_shadowMinDepth",g,O(e)),R(e,"_shadowMaxDepth",b,O(e)),R(e,"_shadowFrustumSize",A,O(e)),R(e,"_shadowBias",x,O(e)),e._light=new V,e}i=t,(e=s).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n=s,(r=[{key:"type",get:function(){return this._type},set:function(t){this._type=t;var e=S.default.LIGHT_DIRECTIONAL;t===N.POINT?e=S.default.LIGHT_POINT:t===N.SPOT?e=S.default.LIGHT_SPOT:t===N.AMBIENT&&(e=S.default.LIGHT_AMBIENT),this._light.setType(e)}},{key:"color",get:function(){return this._color},set:function(t){this._color.equals(t)||this._color.set(t),this._light.setColor(t.r/255,t.g/255,t.b/255)}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity=t,this._light.setIntensity(t)}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._light.setRange(t)}},{key:"spotAngle",get:function(){return this._spotAngle},set:function(t){this._spotAngle=t,this._light.setSpotAngle((0,E.toRadian)(t))}},{key:"spotExp",get:function(){return this._spotExp},set:function(t){this._spotExp=t,this._light.setSpotExp(t)}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){this._shadowType=t,this._light.setShadowType(t)}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution=t,this._light.setShadowResolution(t)}},{key:"shadowDarkness",get:function(){return this._shadowDarkness},set:function(t){this._shadowDarkness=t,this._light.setShadowDarkness(t)}},{key:"shadowMinDepth",get:function(){return this._shadowMinDepth},set:function(t){this._shadowMinDepth=t,this._light.setShadowMinDepth(t)}},{key:"shadowMaxDepth",get:function(){return this._shadowMaxDepth},set:function(t){this._shadowMaxDepth=t,this._light.setShadowMaxDepth(t)}},{key:"shadowFrustumSize",get:function(){return this._shadowFrustumSize},set:function(t){this._shadowFrustumSize=t,this._light.setShadowFrustumSize(t)}}])&&L(n.prototype,r);var a=s.prototype;return a.onLoad=function(){this._light.setNode(this.node),this.type=this._type,this.color=this._color,this.intensity=this._intensity,this.range=this._range,this.spotAngle=this._spotAngle,this.spotExp=this._spotExp,this.shadowType=this._shadowType,this.shadowResolution=this._shadowResolution,this.shadowDarkness=this._shadowDarkness,this.shadowMaxDepth=this._shadowMaxDepth,this.shadowFrustumSize=this._shadowFrustumSize,this.shadowBias=this._shadowBias},a.onEnable=function(){M.default.scene.addLight(this._light)},a.onDisable=function(){M.default.scene.removeLight(this._light)},s})(B.default),C.Type=N,C.ShadowType=k,h=F((c=T).prototype,"_type",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return N.DIRECTIONAL}}),u=F(c.prototype,"_color",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return w.default.WHITE}}),_=F(c.prototype,"_intensity",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),f=F(c.prototype,"_range",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1e3}}),d=F(c.prototype,"_spotAngle",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 60}}),p=F(c.prototype,"_spotExp",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),m=F(c.prototype,"_shadowType",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return k.NONE}}),y=F(c.prototype,"_shadowResolution",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1024}}),v=F(c.prototype,"_shadowDarkness",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.5}}),g=F(c.prototype,"_shadowMinDepth",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),b=F(c.prototype,"_shadowMaxDepth",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 4096}}),A=F(c.prototype,"_shadowFrustumSize",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1024}}),x=F(c.prototype,"_shadowBias",[I.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5e-4}}),F(c.prototype,"type",[a],Object.getOwnPropertyDescriptor(c.prototype,"type"),c.prototype),F(c.prototype,"color",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"color"),c.prototype),F(c.prototype,"intensity",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"intensity"),c.prototype),F(c.prototype,"range",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"range"),c.prototype),F(c.prototype,"spotAngle",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"spotAngle"),c.prototype),F(c.prototype,"spotExp",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"spotExp"),c.prototype),F(c.prototype,"shadowType",[o],Object.getOwnPropertyDescriptor(c.prototype,"shadowType"),c.prototype),F(c.prototype,"shadowResolution",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"shadowResolution"),c.prototype),F(c.prototype,"shadowDarkness",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"shadowDarkness"),c.prototype),F(c.prototype,"shadowMinDepth",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"shadowMinDepth"),c.prototype),F(c.prototype,"shadowMaxDepth",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"shadowMaxDepth"),c.prototype),F(c.prototype,"shadowFrustumSize",[I.property],Object.getOwnPropertyDescriptor(c.prototype,"shadowFrustumSize"),c.prototype),l=c))||l)||l)||l)||l);i.default=z,cc.Light=z,e.exports=i.default}),{"../../renderer/enums":366,"../../renderer/scene/light":392,"../components/CCComponent":148,"../platform/CCClassDecorator":239,"../platform/CCEnum":240,"../renderer/index":270,"../value-types":338,"../value-types/color":337}],27:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Model",extends:cc.Asset,ctor:function(){this._rootNode=null,this.loaded=!1},properties:{_nodes:{default:[]},_precomputeJointMatrix:!1,nodes:{get:function(){return this._nodes}},rootNode:{get:function(){return this._rootNode}},precomputeJointMatrix:{get:function(){return this._precomputeJointMatrix}}},onLoad:function(){var t=this._nodes;this._rootNode=t[0];for(var e=0;e<t.length;e++){var i=t[e];i.position=cc.v3.apply(this,i.position),i.scale=cc.v3.apply(this,i.scale),i.quat=cc.quat.apply(this,i.quat),i.uniqueBindPose&&(i.uniqueBindPose=cc.mat4.apply(this,i.uniqueBindPose));var n=i.bindpose;if(n)for(var r in n)n[r]=cc.mat4.apply(this,n[r]);var s=i.children;if(s)for(var a=0;a<s.length;a++)s[a]=t[s[a]]}}});cc.Model=e.exports=i}),{}],28:[(function(t){"use strict";var e=n(t("../value-types/quat")),i=n(t("../value-types/vec3"));function n(t){return t&&t.__esModule?t:{default:t}}var r=cc.quat(),s=cc.v3();cc.Rotate3DTo=cc.Class({name:"cc.Rotate3DTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._startQuat=cc.quat(),this._dstQuat=cc.quat(),void 0!==e&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,i,n,r){if(cc.ActionInterval.prototype.initWithDuration.call(this,t)){var s=this._dstQuat;return i instanceof cc.Quat?s.set(i):(i instanceof cc.Vec3?(n=i.y,r=i.z,i=i.x):(n=n||0,r=r||0),e.default.fromEuler(s,i,n,r)),!0}return!1},clone:function(){var t=new cc.Rotate3DTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._dstQuat),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startQuat.set(t.quat)},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(e.default.slerp(r,this._startQuat,this._dstQuat,t),this.target.setRotation(r))}}),cc.rotate3DTo=function(t,e,i,n){return new cc.Rotate3DTo(t,e,i,n)},cc.Rotate3DBy=cc.Class({name:"cc.Rotate3DBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._startQuat=cc.quat(),this._dstQuat=cc.quat(),this._deltaAngle=cc.v3(),void 0!==e&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(e instanceof cc.Vec3?(n=e.y,r=e.z,e=e.x):(n=n||0,r=r||0),i.default.set(this._deltaAngle,e,n,r),!0)},clone:function(){var t=new cc.Rotate3DBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._angle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var i=t.eulerAngles,n=this._deltaAngle;e.default.fromEuler(this._dstQuat,i.x+n.x,i.y+n.y,i.z+n.z),this._startQuat.set(t.quat)},update:(Math.PI,function(t){t=this._computeEaseTime(t),this.target&&(e.default.slerp(r,this._startQuat,this._dstQuat,t),this.target.setRotation(r))}),reverse:function(){var t=this._angle;s.x=-t.x,s.y=-t.y,s.z=-t.z;var e=new cc.Rotate3DBy(this._duration,s);return this._cloneDecoration(e),this._reverseEaseList(e),e}}),cc.rotate3DBy=function(t,e,i,n){return new cc.Rotate3DBy(t,e,i,n)}}),{"../value-types/quat":341,"../value-types/vec3":348}],29:[(function(t){"use strict";t("./primitive"),t("./physics/exports/physics-builtin"),t("./physics/exports/physics-cannon"),t("./physics/exports/physics-framework"),t("./CCModel"),t("./skeleton/CCSkeleton"),t("./skeleton/CCSkeletonAnimationClip"),t("./actions"),t("./physics/framework/assets/physics-material"),t("./skeleton/CCSkeletonAnimation"),t("./skeleton/CCSkinnedMeshRenderer"),t("./skeleton/skinned-mesh-renderer"),t("./CCLightComponent"),t("./particle/particle-system-3d"),t("./particle/renderer/particle-system-3d-renderer")}),{"./CCLightComponent":26,"./CCModel":27,"./actions":28,"./particle/particle-system-3d":45,"./particle/renderer/particle-system-3d-renderer":48,"./physics/exports/physics-builtin":void 0,"./physics/exports/physics-cannon":void 0,"./physics/exports/physics-framework":void 0,"./physics/framework/assets/physics-material":void 0,"./primitive":55,"./skeleton/CCSkeleton":64,"./skeleton/CCSkeletonAnimation":65,"./skeleton/CCSkeletonAnimationClip":66,"./skeleton/CCSkinnedMeshRenderer":67,"./skeleton/skinned-mesh-renderer":68}],30:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h=t("../../../platform/CCClassDecorator"),u=t("../../../value-types"),_=(n=t("./gradient-range"))&&n.__esModule?n:{default:n};function f(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function d(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var p=(r=(0,h.ccclass)("cc.ColorOvertimeModule"),s=(0,h.property)({type:_.default}),r((l=d((o=(function(){function t(){f(this,"enable",l,this),f(this,"color",c,this)}return t.prototype.animate=function(t){this.enable&&(t.color.set(t.startColor),t.color.multiply(this.color.evaluate(1-t.remainingLifetime/t.startLifetime,(0,u.pseudoRandom)(t.randomSeed+91041))))},t})()).prototype,"enable",[h.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),c=d(o.prototype,"color",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new _.default}}),a=o))||a);i.default=p,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"./gradient-range":33}],31:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=i.Mode=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A=t("../../../platform/CCClassDecorator"),x=(n=t("../../../platform/CCEnum"))&&n.__esModule?n:{default:n},C=t("../../../value-types"),T=t("../curve");function S(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function w(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var E=(0,x.default)({Constant:0,Curve:1,TwoCurves:2,TwoConstants:3});i.Mode=E;var M=(r=(0,A.ccclass)("cc.CurveRange"),s=(0,A.property)({type:E}),a=(0,A.property)({type:T.AnimationCurve}),o=(0,A.property)({type:T.AnimationCurve}),l=(0,A.property)({type:T.AnimationCurve}),r((b=g=(function(){function t(){S(this,"mode",u,this),S(this,"curve",_,this),S(this,"curveMin",f,this),S(this,"curveMax",d,this),S(this,"constant",p,this),S(this,"constantMin",m,this),S(this,"constantMax",y,this),S(this,"multiplier",v,this)}var e=t.prototype;return e.evaluate=function(t,e){switch(this.mode){case E.Constant:return this.constant;case E.Curve:return this.curve.evaluate(t)*this.multiplier;case E.TwoCurves:return(0,C.lerp)(this.curveMin.evaluate(t),this.curveMax.evaluate(t),e)*this.multiplier;case E.TwoConstants:return(0,C.lerp)(this.constantMin,this.constantMax,e)}},e.getMax=function(){switch(this.mode){case E.Constant:return this.constant;case E.Curve:return this.multiplier;case E.TwoConstants:return this.constantMax;case E.TwoCurves:return this.multiplier}return 0},t})(),g.Mode=E,u=w((h=b).prototype,"mode",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return E.Constant}}),_=w(h.prototype,"curve",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new T.AnimationCurve}}),f=w(h.prototype,"curveMin",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new T.AnimationCurve}}),d=w(h.prototype,"curveMax",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new T.AnimationCurve}}),p=w(h.prototype,"constant",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),m=w(h.prototype,"constantMin",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),y=w(h.prototype,"constantMax",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),v=w(h.prototype,"multiplier",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),c=h))||c);i.default=M,cc.CurveRange=M}),{"../../../platform/CCClassDecorator":239,"../../../platform/CCEnum":240,"../../../value-types":338,"../curve":41}],32:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m=t("../../../platform/CCClassDecorator"),y=t("../../../value-types"),v=t("../enum"),g=t("../particle-general-function"),b=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function A(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function x(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var C=cc.v3(),T=(r=(0,m.ccclass)("cc.ForceOvertimeModule"),s=(0,m.property)({type:v.Space}),a=(0,m.property)({type:b.default,range:[-1,1]}),o=(0,m.property)({type:b.default,range:[-1,1]}),l=(0,m.property)({type:b.default,range:[-1,1],displayOrder:4}),r((u=x((h=(function(){function t(){A(this,"enable",u,this),A(this,"space",_,this),A(this,"x",f,this),A(this,"y",d,this),A(this,"z",p,this),this.randomized=!1,this.rotation=null,this.needTransform=!1,this.rotation=new y.Quat,this.needTransform=!1}var e=t.prototype;return e.update=function(t,e){this.needTransform=(0,g.calculateTransform)(t,this.space,e,this.rotation)},e.animate=function(t,e){var i=1-t.remainingLifetime/t.startLifetime,n=y.Vec3.set(C,this.x.evaluate(i,(0,y.pseudoRandom)(t.randomSeed+212165)),this.y.evaluate(i,(0,y.pseudoRandom)(t.randomSeed+212165)),this.z.evaluate(i,(0,y.pseudoRandom)(t.randomSeed+212165)));this.needTransform&&y.Vec3.transformQuat(n,n,this.rotation),y.Vec3.scaleAndAdd(t.velocity,t.velocity,n,e)},t})()).prototype,"enable",[m.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=x(h.prototype,"space",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return v.Space.Local}}),f=x(h.prototype,"x",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new b.default}}),d=x(h.prototype,"y",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new b.default}}),p=x(h.prototype,"z",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new b.default}}),c=h))||c);i.default=T,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"../enum":43,"../particle-general-function":44,"./curve-range":31}],33:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A=t("../../../platform/CCClassDecorator"),x=(n=t("../../../platform/CCEnum"))&&n.__esModule?n:{default:n},C=t("./gradient");function T(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function S(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function w(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var E=(0,x.default)({Color:0,Gradient:1,TwoColors:2,TwoGradients:3,RandomColor:4}),M=(r=(0,A.ccclass)("cc.GradientRange"),s=(0,A.property)({type:E}),a=(0,A.property)({type:C.Gradient}),o=(0,A.property)({type:C.Gradient}),l=(0,A.property)({type:C.Gradient}),r((b=g=(function(){function t(){T(this,"_mode",u,this),T(this,"_color",_,this),T(this,"color",f,this),T(this,"colorMin",d,this),T(this,"colorMax",p,this),T(this,"gradient",m,this),T(this,"gradientMin",y,this),T(this,"gradientMax",v,this)}var e,i;return t.prototype.evaluate=function(t,e){switch(this._mode){case E.Color:return this.color;case E.TwoColors:return this.colorMin.lerp(this.colorMax,e,this._color),this._color;case E.RandomColor:return this.gradient.randomColor();case E.Gradient:return this.gradient.evaluate(t);case E.TwoGradients:return this.gradientMin.evaluate(t).lerp(this.gradientMax.evaluate(t),e,this._color),this._color;default:return this.color}},e=t,(i=[{key:"mode",get:function(){return this._mode},set:function(t){this._mode=t}}])&&S(e.prototype,i),t})(),g.Mode=E,u=w((h=b).prototype,"_mode",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return E.Color}}),w(h.prototype,"mode",[s],Object.getOwnPropertyDescriptor(h.prototype,"mode"),h.prototype),_=w(h.prototype,"_color",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return cc.Color.WHITE.clone()}}),f=w(h.prototype,"color",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return cc.Color.WHITE.clone()}}),d=w(h.prototype,"colorMin",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return cc.Color.WHITE.clone()}}),p=w(h.prototype,"colorMax",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return cc.Color.WHITE.clone()}}),m=w(h.prototype,"gradient",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.Gradient}}),y=w(h.prototype,"gradientMin",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.Gradient}}),v=w(h.prototype,"gradientMax",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.Gradient}}),c=h))||c);i.default=M,cc.GradientRange=M,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../platform/CCEnum":240,"./gradient":34}],34:[(function(t,e,i){"use strict";i.__esModule=!0,i.Gradient=i.AlphaKey=i.ColorKey=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C=t("../../../platform/CCClassDecorator"),T=(n=t("../../../platform/CCEnum"))&&n.__esModule?n:{default:n},S=t("../../../value-types");function w(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function E(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var M=(0,T.default)({Blend:0,Fixed:1}),D=(0,C.ccclass)("cc.ColorKey")((a=E((s=function(){w(this,"color",a,this),w(this,"time",o,this)}).prototype,"color",[C.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return cc.Color.WHITE.clone()}}),o=E(s.prototype,"time",[C.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),r=s))||r;i.ColorKey=D;var B=(0,C.ccclass)("cc.AlphaKey")((h=E((c=function(){w(this,"alpha",h,this),w(this,"time",u,this)}).prototype,"alpha",[C.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),u=E(c.prototype,"time",[C.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=c))||l;i.AlphaKey=B;var I=(_=(0,C.ccclass)("cc.Gradient"),f=(0,C.property)({type:[D]}),d=(0,C.property)({type:[B]}),p=(0,C.property)({type:M}),_((x=A=(function(){function t(){w(this,"colorKeys",v,this),w(this,"alphaKeys",g,this),w(this,"mode",b,this),this._color=null,this._color=cc.Color.WHITE.clone()}var e=t.prototype;return e.setKeys=function(t,e){this.colorKeys=t,this.alphaKeys=e},e.sortKeys=function(){this.colorKeys.length>1&&this.colorKeys.sort((function(t,e){return t.time-e.time})),this.alphaKeys.length>1&&this.alphaKeys.sort((function(t,e){return t.time-e.time}))},e.evaluate=function(t){return this.getRGB(t),this._color._fastSetA(this.getAlpha(t)),this._color},e.randomColor=function(){var t=this.colorKeys[Math.trunc(Math.random()*this.colorKeys.length)],e=this.alphaKeys[Math.trunc(Math.random()*this.alphaKeys.length)];return this._color.set(t.color),this._color._fastSetA(e.alpha),this._color},e.getRGB=function(t){if(!(this.colorKeys.length>1))return 1===this.colorKeys.length?(this._color.set(this.colorKeys[0].color),this._color):(this._color.set(cc.Color.WHITE),this._color);t=(0,S.repeat)(t,1);for(var e=1;e<this.colorKeys.length;++e){var i=this.colorKeys[e-1].time,n=this.colorKeys[e].time;if(t>=i&&t<n){if(this.mode===M.Fixed)return this.colorKeys[e].color;var r=(t-i)/(n-i);return this.colorKeys[e-1].color.lerp(this.colorKeys[e].color,r,this._color),this._color}}var s=this.colorKeys.length-1;t<this.colorKeys[0].time?cc.Color.BLACK.lerp(this.colorKeys[0].color,t/this.colorKeys[0].time,this._color):t>this.colorKeys[s].time&&this.colorKeys[s].color.lerp(cc.Color.BLACK,(t-this.colorKeys[s].time)/(1-this.colorKeys[s].time),this._color)},e.getAlpha=function(t){if(!(this.alphaKeys.length>1))return 1===this.alphaKeys.length?this.alphaKeys[0].alpha:255;t=(0,S.repeat)(t,1);for(var e=1;e<this.alphaKeys.length;++e){var i=this.alphaKeys[e-1].time,n=this.alphaKeys[e].time;if(t>=i&&t<n){if(this.mode===M.Fixed)return this.alphaKeys[e].alpha;var r=(t-i)/(n-i);return(0,S.lerp)(this.alphaKeys[e-1].alpha,this.alphaKeys[e].alpha,r)}}var s=this.alphaKeys.length-1;return t<this.alphaKeys[0].time?(0,S.lerp)(255,this.alphaKeys[0].alpha,t/this.alphaKeys[0].time):t>this.alphaKeys[s].time?(0,S.lerp)(this.alphaKeys[s].alpha,255,(t-this.alphaKeys[s].time)/(1-this.alphaKeys[s].time)):void 0},t})(),A.Mode=M,v=E((y=x).prototype,"colorKeys",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),g=E(y.prototype,"alphaKeys",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),b=E(y.prototype,"mode",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return M.Blend}}),m=y))||m);i.Gradient=I,cc.ColorKey=D,cc.AlphaKey=B,cc.Gradient=I}),{"../../../platform/CCClassDecorator":239,"../../../platform/CCEnum":240,"../../../value-types":338}],35:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b=t("../../../platform/CCClassDecorator"),A=t("../../../value-types"),x=t("../enum"),C=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function T(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function S(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var w=cc.v3(),E=cc.v3();function M(t,e,i){var n=Math.sign(t),r=Math.abs(t);return r>e&&(r=(0,A.lerp)(r,e,i)),r*n}var D=(r=(0,b.ccclass)("cc.LimitVelocityOvertimeModule"),s=(0,b.property)({type:x.Space}),a=(0,b.property)({type:C.default,range:[-1,1]}),o=(0,b.property)({type:C.default,range:[-1,1]}),l=(0,b.property)({type:C.default,range:[-1,1]}),c=(0,b.property)({type:C.default,range:[-1,1]}),r((_=S((u=(function(){function t(){T(this,"enable",_,this),T(this,"space",f,this),T(this,"separateAxes",d,this),T(this,"limit",p,this),T(this,"limitX",m,this),T(this,"limitY",y,this),T(this,"limitZ",v,this),T(this,"dampen",g,this),this.drag=null,this.multiplyDragByParticleSize=!1,this.multiplyDragByParticleVelocity=!1,this.rotation=null,this.needTransform=!1,this.rotation=new A.Quat,this.needTransform=!1}var e=t.prototype;return e.update=function(t,e){this.needTransform=calculateTransform(t,this.space,e,this.rotation)},e.animate=function(t){var e=1-t.remainingLifetime/t.startLifetime,i=w;this.separateAxes?(A.Vec3.set(E,this.limitX.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541)),this.limitY.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541)),this.limitZ.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541))),this.needTransform&&A.Vec3.transformQuat(E,E,this.rotation),A.Vec3.set(i,M(t.ultimateVelocity.x,E.x,this.dampen),M(t.ultimateVelocity.y,E.y,this.dampen),M(t.ultimateVelocity.z,E.z,this.dampen))):(A.Vec3.normalize(i,t.ultimateVelocity),A.Vec3.scale(i,i,M(t.ultimateVelocity.len(),this.limit.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541)),this.dampen))),A.Vec3.copy(t.ultimateVelocity,i)},t})()).prototype,"enable",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=S(u.prototype,"space",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return x.Space.Local}}),d=S(u.prototype,"separateAxes",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=S(u.prototype,"limit",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),m=S(u.prototype,"limitX",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),y=S(u.prototype,"limitY",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),v=S(u.prototype,"limitZ",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),g=S(u.prototype,"dampen",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 3}}),h=u))||h);i.default=D,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"../enum":43,"./curve-range":31}],36:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p=t("../../../platform/CCClassDecorator"),m=t("../../../value-types"),y=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function v(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function g(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function b(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var A=(r=(0,p.ccclass)("cc.RotationOvertimeModule"),s=(0,p.property)({type:y.default,range:[-1,1],radian:!0}),a=(0,p.property)({type:y.default,range:[-1,1],radian:!0}),o=(0,p.property)({type:y.default,range:[-1,1],radian:!0}),r((h=b((c=(function(){var t,e;function i(){v(this,"enable",h,this),v(this,"_separateAxes",u,this),v(this,"x",_,this),v(this,"y",f,this),v(this,"z",d,this)}return t=i,(e=[{key:"separateAxes",get:function(){return this._separateAxes},set:function(t){t?console.error("rotation overtime separateAxes is not supported!"):this._separateAxes=t}}])&&g(t.prototype,e),i.prototype.animate=function(t,e){var i=1-t.remainingLifetime/t.startLifetime;if(this._separateAxes){var n=(0,m.pseudoRandom)(t.randomSeed+125292);t.rotation.x+=this.x.evaluate(i,n)*e,t.rotation.y+=this.y.evaluate(i,n)*e,t.rotation.z+=this.z.evaluate(i,n)*e}else t.rotation.x+=this.z.evaluate(i,(0,m.pseudoRandom)(t.randomSeed+125292))*e},i})()).prototype,"enable",[p.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),u=b(c.prototype,"_separateAxes",[p.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),b(c.prototype,"separateAxes",[p.property],Object.getOwnPropertyDescriptor(c.prototype,"separateAxes"),c.prototype),_=b(c.prototype,"x",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new y.default}}),f=b(c.prototype,"y",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new y.default}}),d=b(c.prototype,"z",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new y.default}}),l=c))||l);i.default=A,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"./curve-range":31}],37:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y=t("../../../platform/CCClassDecorator"),v=t("../../../value-types"),g=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function b(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function A(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var x=(r=(0,y.ccclass)("cc.SizeOvertimeModule"),s=(0,y.property)({type:g.default}),a=(0,y.property)({type:g.default}),o=(0,y.property)({type:g.default}),l=(0,y.property)({type:g.default}),r((u=A((h=(function(){function t(){b(this,"enable",u,this),b(this,"separateAxes",_,this),b(this,"size",f,this),b(this,"x",d,this),b(this,"y",p,this),b(this,"z",m,this)}return t.prototype.animate=function(t){if(this.separateAxes){var e=1-t.remainingLifetime/t.startLifetime,i=(0,v.pseudoRandom)(t.randomSeed+39825);t.size.x=t.startSize.x*this.x.evaluate(e,i),t.size.y=t.startSize.y*this.y.evaluate(e,i),t.size.z=t.startSize.z*this.z.evaluate(e,i)}else v.Vec3.scale(t.size,t.startSize,this.size.evaluate(1-t.remainingLifetime/t.startLifetime,(0,v.pseudoRandom)(t.randomSeed+39825)))},t})()).prototype,"enable",[y.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=A(h.prototype,"separateAxes",[y.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=A(h.prototype,"size",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new g.default}}),d=A(h.prototype,"x",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new g.default}}),p=A(h.prototype,"y",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new g.default}}),m=A(h.prototype,"z",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new g.default}}),c=h))||c);i.default=x,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"./curve-range":31}],38:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b=t("../../../platform/CCClassDecorator"),A=T(t("../../../platform/CCEnum")),x=t("../../../value-types"),C=T(t("./curve-range"));function T(t){return t&&t.__esModule?t:{default:t}}function S(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function w(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function E(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var M=(0,A.default)({Grid:0}),D=(0,A.default)({WholeSheet:0,SingleRow:1}),B=(n=(0,b.ccclass)("cc.TextureAnimationModule"),r=(0,b.property)({type:M}),s=(0,b.property)({type:D}),a=(0,b.property)({type:C.default}),o=(0,b.property)({type:C.default}),n((h=E((c=(function(){function t(){S(this,"_enable",h,this),S(this,"_mode",u,this),S(this,"numTilesX",_,this),S(this,"numTilesY",f,this),S(this,"animation",d,this),S(this,"randomRow",p,this),S(this,"rowIndex",m,this),S(this,"frameOverTime",y,this),S(this,"startFrame",v,this),S(this,"cycleCount",g,this),this._flipU=0,this._flipV=0,this._uvChannelMask=-1,this.ps=null}var e,i,n=t.prototype;return n.onInit=function(t){this.ps=t},n.init=function(t){t.startRow=Math.floor(Math.random()*this.numTilesY)},n.animate=function(t){var e=1-t.remainingLifetime/t.startLifetime,i=this.startFrame.evaluate(e,(0,x.pseudoRandom)(t.randomSeed+90794))/(this.numTilesX*this.numTilesY);if(this.animation===D.WholeSheet)t.frameIndex=(0,x.repeat)(this.cycleCount*(this.frameOverTime.evaluate(e,(0,x.pseudoRandom)(t.randomSeed+90794))+i),1);else if(this.animation===D.SingleRow){var n=1/this.numTilesY;if(this.randomRow){var r=(0,x.repeat)(this.cycleCount*(this.frameOverTime.evaluate(e,(0,x.pseudoRandom)(t.randomSeed+90794))+i),1),s=t.startRow*n,a=s+n;t.frameIndex=(0,x.lerp)(s,a,r)}else{var o=this.rowIndex*n,l=o+n;t.frameIndex=(0,x.lerp)(o,l,(0,x.repeat)(this.cycleCount*(this.frameOverTime.evaluate(e,(0,x.pseudoRandom)(t.randomSeed+90794))+i),1))}}},e=t,(i=[{key:"enable",get:function(){return this._enable},set:function(t){this._enable=t,this.ps._assembler._updateMaterialParams()}},{key:"mode",get:function(){return this._mode},set:function(t){t===M.Grid||console.error("particle texture animation's sprites is not supported!")}},{key:"flipU",get:function(){return this._flipU},set:function(){console.error("particle texture animation's flipU is not supported!")}},{key:"flipV",get:function(){return this._flipV},set:function(){console.error("particle texture animation's flipV is not supported!")}},{key:"uvChannelMask",get:function(){return this._uvChannelMask},set:function(){console.error("particle texture animation's uvChannelMask is not supported!")}}])&&w(e.prototype,i),t})()).prototype,"_enable",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),E(c.prototype,"enable",[b.property],Object.getOwnPropertyDescriptor(c.prototype,"enable"),c.prototype),u=E(c.prototype,"_mode",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return M.Grid}}),E(c.prototype,"mode",[r],Object.getOwnPropertyDescriptor(c.prototype,"mode"),c.prototype),_=E(c.prototype,"numTilesX",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),f=E(c.prototype,"numTilesY",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),d=E(c.prototype,"animation",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return D.WholeSheet}}),p=E(c.prototype,"randomRow",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),m=E(c.prototype,"rowIndex",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),y=E(c.prototype,"frameOverTime",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),v=E(c.prototype,"startFrame",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),g=E(c.prototype,"cycleCount",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),E(c.prototype,"flipU",[b.property],Object.getOwnPropertyDescriptor(c.prototype,"flipU"),c.prototype),E(c.prototype,"flipV",[b.property],Object.getOwnPropertyDescriptor(c.prototype,"flipV"),c.prototype),E(c.prototype,"uvChannelMask",[b.property],Object.getOwnPropertyDescriptor(c.prototype,"uvChannelMask"),c.prototype),l=c))||l);i.default=B,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../platform/CCEnum":240,"../../../value-types":338,"./curve-range":31}],39:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v=t("../../../platform/CCClassDecorator"),g=t("../../../value-types"),b=t("../enum"),A=t("../particle-general-function"),x=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function C(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function T(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var S=cc.v3(),w=(r=(0,v.ccclass)("cc.VelocityOvertimeModule"),s=(0,v.property)({type:b.Space}),a=(0,v.property)({type:x.default,range:[-1,1]}),o=(0,v.property)({type:x.default,range:[-1,1]}),l=(0,v.property)({type:x.default,range:[-1,1]}),c=(0,v.property)({type:x.default,range:[-1,1]}),r((_=T((u=(function(){function t(){C(this,"enable",_,this),C(this,"space",f,this),C(this,"x",d,this),C(this,"y",p,this),C(this,"z",m,this),C(this,"speedModifier",y,this),this.rotation=null,this.needTransform=!1,this.rotation=new g.Quat,this.speedModifier.constant=1,this.needTransform=!1}var e=t.prototype;return e.update=function(t,e){this.needTransform=(0,A.calculateTransform)(t,this.space,e,this.rotation)},e.animate=function(t){var e=1-t.remainingLifetime/t.startLifetime,i=g.Vec3.set(S,this.x.evaluate(e,(0,g.pseudoRandom)(t.randomSeed+197866)),this.y.evaluate(e,(0,g.pseudoRandom)(t.randomSeed+197866)),this.z.evaluate(e,(0,g.pseudoRandom)(t.randomSeed+197866)));this.needTransform&&g.Vec3.transformQuat(i,i,this.rotation),g.Vec3.add(t.animatedVelocity,t.animatedVelocity,i),g.Vec3.add(t.ultimateVelocity,t.velocity,t.animatedVelocity),g.Vec3.scale(t.ultimateVelocity,t.ultimateVelocity,this.speedModifier.evaluate(1-t.remainingLifetime/t.startLifetime,(0,g.pseudoRandom)(t.randomSeed+197866)))},t})()).prototype,"enable",[v.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=T(u.prototype,"space",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return b.Space.Local}}),d=T(u.prototype,"x",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new x.default}}),p=T(u.prototype,"y",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new x.default}}),m=T(u.prototype,"z",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new x.default}}),y=T(u.prototype,"speedModifier",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new x.default}}),h=u))||h);i.default=w,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"../enum":43,"../particle-general-function":44,"./curve-range":31}],40:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d=t("../../platform/CCClassDecorator"),p=t("../../value-types"),m=(n=t("./animator/curve-range"))&&n.__esModule?n:{default:n};function y(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function v(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function g(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var b=(r=(0,d.ccclass)("cc.Burst"),s=(0,d.property)({type:m.default}),r((l=g((o=(function(){var t,e;function i(){y(this,"_time",l,this),y(this,"minCount",c,this),y(this,"maxCount",h,this),y(this,"_repeatCount",u,this),y(this,"repeatInterval",_,this),y(this,"count",f,this),this._remainingCount=0,this._curTime=0,this._remainingCount=0,this._curTime=0}t=i,(e=[{key:"time",get:function(){return this._time},set:function(t){this._time=t,this._curTime=t}},{key:"repeatCount",get:function(){return this._repeatCount},set:function(t){this._repeatCount=t,this._remainingCount=t}}])&&v(t.prototype,e);var n=i.prototype;return n.update=function(t,e){if(0===this._remainingCount&&(this._remainingCount=this._repeatCount,this._curTime=this._time),this._remainingCount>0){var i=(0,p.repeat)(t._time-t.startDelay.evaluate(0,1),t.duration)-e;i=i>0?i:0;var n=(0,p.repeat)(t.time-t.startDelay.evaluate(0,1),t.duration);this._curTime>=i&&this._curTime<n&&(t.emit(this.count.evaluate(this._curTime/t.duration,1),e-(n-this._curTime)),this._curTime+=this.repeatInterval,--this._remainingCount)}},n.getMaxCount=function(t){return this.count.getMax()*Math.min(Math.ceil(t.duration/this.repeatInterval),this.repeatCount)},i})()).prototype,"_time",[d.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),g(o.prototype,"time",[d.property],Object.getOwnPropertyDescriptor(o.prototype,"time"),o.prototype),c=g(o.prototype,"minCount",[d.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 30}}),h=g(o.prototype,"maxCount",[d.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 30}}),u=g(o.prototype,"_repeatCount",[d.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),g(o.prototype,"repeatCount",[d.property],Object.getOwnPropertyDescriptor(o.prototype,"repeatCount"),o.prototype),_=g(o.prototype,"repeatInterval",[d.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),f=g(o.prototype,"count",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new m.default}}),a=o))||a);i.default=b,e.exports=i.default}),{"../../platform/CCClassDecorator":239,"../../value-types":338,"./animator/curve-range":31}],41:[(function(t,e,i){"use strict";i.__esModule=!0,i.evalOptCurve=E,i.AnimationCurve=i.OptimizedKey=i.Keyframe=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g=(n=t("../../platform/CCEnum"))&&n.__esModule?n:{default:n},b=t("../../value-types"),A=t("../../platform/CCClassDecorator");function x(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function C(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var T=(0,g.default)({Default:0,Once:1,Loop:2,PingPong:3,ClampForever:4}),S=(0,A.ccclass)("cc.Keyframe")((a=C((s=function(t,e,i,n){x(this,"time",a,this),x(this,"value",o,this),x(this,"inTangent",l,this),x(this,"outTangent",c,this),this.time=t||0,this.value=e||0,this.inTangent=i||0,this.outTangent=n||0}).prototype,"time",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),o=C(s.prototype,"value",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l=C(s.prototype,"inTangent",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=C(s.prototype,"outTangent",[A.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),r=s))||r;i.Keyframe=S;var w=(function(){function t(){this.index=0,this.time=0,this.endTime=0,this.coefficient=null,this.index=-1,this.time=0,this.endTime=0,this.coefficient=new Float32Array(4)}return t.prototype.evaluate=function(t){return E(t-this.time,this.coefficient)},t})();function E(t,e){return t*(t*(t*e[0]+e[1])+e[2])+e[3]}i.OptimizedKey=w;var M=new S(0,1,0,0),D=new S(1,1,0,0),B=(h=(0,A.ccclass)("cc.AnimationCurve"),u=(0,A.property)({type:[S]}),_=(0,A.property)({type:cc.Enum(T),visible:!1}),f=(0,A.property)({type:cc.Enum(T),visible:!1}),h((m=C((p=(function(){function t(t){void 0===t&&(t=null),x(this,"keyFrames",m,this),x(this,"preWrapMode",y,this),x(this,"postWrapMode",v,this),this.cachedKey=null,t?this.keyFrames=t:(this.keyFrames.push(M),this.keyFrames.push(D)),this.cachedKey=new w}var e=t.prototype;return e.addKey=function(t){null==this.keyFrames&&(this.keyFrames=[]),this.keyFrames.push(t)},e.evaluate_slow=function(t){var e=t,i=t<0?this.preWrapMode:this.postWrapMode,n=this.keyFrames[0].time,r=this.keyFrames[this.keyFrames.length-1].time;switch(i){case T.Loop:e=(0,b.repeat)(t-n,r-n)+n;break;case T.PingPong:e=(0,b.pingPong)(t-n,r-n)+n;break;case T.ClampForever:e=(0,b.clamp)(t,n,r)}var s=0;if(e>this.keyFrames[0].time)if(e>=this.keyFrames[this.keyFrames.length-1].time)s=this.keyFrames.length-2;else for(var a=0;a<this.keyFrames.length-1;a++)if(e>=this.keyFrames[0].time&&e<=this.keyFrames[a+1].time){s=a;break}var o=this.keyFrames[s],l=this.keyFrames[s+1],c=(0,b.inverseLerp)(o.time,l.time,e),h=l.time-o.time,u=o.outTangent*h,_=l.inTangent*h,f=c*c,d=f*c,p=d-2*f+c,m=d-f,y=-2*d+3*f;return(2*d-3*f+1)*o.value+p*u+m*_+y*l.value},e.evaluate=function(t){var e=t,i=t<0?this.preWrapMode:this.postWrapMode,n=this.keyFrames[0].time,r=this.keyFrames[this.keyFrames.length-1].time;switch(i){case T.Loop:e=(0,b.repeat)(t-n,r-n)+n;break;case T.PingPong:e=(0,b.pingPong)(t-n,r-n)+n;break;case T.ClampForever:e=(0,b.clamp)(t,n,r)}if(e>=this.cachedKey.time&&e<this.cachedKey.endTime)return this.cachedKey.evaluate(e);var s=this.findIndex(this.cachedKey,e),a=s+1;return a===this.keyFrames.length&&(a-=1),this.calcOptimizedKey(this.cachedKey,s,a),this.cachedKey.evaluate(e)},e.calcOptimizedKey=function(t,e,i){var n=this.keyFrames[e],r=this.keyFrames[i];t.index=e,t.time=n.time,t.endTime=r.time;var s=r.time-n.time,a=r.value-n.value,o=1/(s*s),l=n.outTangent*s,c=r.inTangent*s;t.coefficient[0]=(l+c-a-a)*o/s,t.coefficient[1]=(a+a+a-l-l-c)*o,t.coefficient[2]=n.outTangent,t.coefficient[3]=n.value},e.findIndex=function(t,e){var i=t.index;if(-1!==i)if(e>this.keyFrames[i].time)for(var n=0;n<3;n++){var r=i+n;if(r+1<this.keyFrames.length&&this.keyFrames[r+1].time>e)return r}else for(var s=0;s<3;s++){var a=i-s;if(a>=0&&this.keyFrames[a-1].time<=e)return a-1}for(var o=0,l=this.keyFrames.length,c=Math.floor((o+l)/2);l-o>1;)this.keyFrames[c].time>=e?l=c:o=c+1,c=Math.floor((o+l)/2);return o},t})()).prototype,"keyFrames",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),y=C(p.prototype,"preWrapMode",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return T.Loop}}),v=C(p.prototype,"postWrapMode",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return T.Loop}}),d=p))||d);i.AnimationCurve=B,cc.Keyframe=S,cc.AnimationCurve=B}),{"../../platform/CCClassDecorator":239,"../../platform/CCEnum":240,"../../value-types":338}],42:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D,B=t("../../../platform/CCClassDecorator"),I=t("../../../value-types"),P=(n=t("../animator/curve-range"))&&n.__esModule?n:{default:n},R=t("../particle-general-function"),O=t("../enum");function L(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function F(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function V(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var N=new I.Vec3(0,0,0),k=new Array,z=new I.Vec3(.5,.5,.5),G=(r=(0,B.ccclass)("cc.ShapeModule"),s=(0,B.property)({type:O.ShapeType}),a=(0,B.property)({type:O.EmitLocation}),o=(0,B.property)({type:O.ArcMode}),l=(0,B.property)({type:P.default}),r((u=V((h=(function(){var t,e;function i(){L(this,"enable",u,this),L(this,"_shapeType",_,this),L(this,"emitFrom",f,this),L(this,"radius",d,this),L(this,"radiusThickness",p,this),L(this,"_angle",m,this),L(this,"_arc",y,this),L(this,"arcMode",v,this),L(this,"arcSpread",g,this),L(this,"arcSpeed",b,this),L(this,"length",A,this),L(this,"boxThickness",x,this),L(this,"_position",C,this),L(this,"_rotation",T,this),L(this,"_scale",S,this),L(this,"alignToDirection",w,this),L(this,"randomDirectionAmount",E,this),L(this,"sphericalDirectionAmount",M,this),L(this,"randomPositionAmount",D,this),this.mat=null,this.Quat=null,this.particleSystem=null,this.lastTime=null,this.totalAngle=null,this.mat=new I.Mat4,this.quat=new I.Quat,this.particleSystem=null,this.lastTime=0,this.totalAngle=0}t=i,(e=[{key:"shapeType",get:function(){return this._shapeType},set:function(t){switch(this._shapeType=t,this._shapeType){case O.ShapeType.Box:this.emitFrom===O.EmitLocation.Base&&(this.emitFrom=O.EmitLocation.Volume);break;case O.ShapeType.Cone:this.emitFrom===O.EmitLocation.Edge&&(this.emitFrom=O.EmitLocation.Base);break;case O.ShapeType.Sphere:case O.ShapeType.Hemisphere:this.emitFrom!==O.EmitLocation.Base&&this.emitFrom!==O.EmitLocation.Edge||(this.emitFrom=O.EmitLocation.Volume)}}},{key:"angle",get:function(){return Math.round(100*(0,I.toDegree)(this._angle))/100},set:function(t){this._angle=(0,I.toRadian)(t)}},{key:"arc",get:function(){return(0,I.toDegree)(this._arc)},set:function(t){this._arc=(0,I.toRadian)(t)}},{key:"position",get:function(){return this._position},set:function(t){this._position=t,this.constructMat()}},{key:"rotation",get:function(){return this._rotation},set:function(t){this._rotation=t,this.constructMat()}},{key:"scale",get:function(){return this._scale},set:function(t){this._scale=t,this.constructMat()}}])&&F(t.prototype,e);var n=i.prototype;return n.onInit=function(t){this.particleSystem=t,this.constructMat(),this.lastTime=this.particleSystem._time},n.constructMat=function(){I.Quat.fromEuler(this.quat,this._rotation.x,this._rotation.y,this._rotation.z),I.Mat4.fromRTS(this.mat,this.quat,this._position,this._scale)},n.emit=function(t){switch(this.shapeType){case O.ShapeType.Box:W(this.emitFrom,this.boxThickness,t.position,t.velocity);break;case O.ShapeType.Circle:e=this.radius,i=this.radiusThickness,n=this.generateArcAngle(),r=t.position,s=t.velocity,(0,R.randomPointBetweenCircleAtFixedAngle)(r,e*(1-i),e,n),I.Vec3.normalize(s,r);break;case O.ShapeType.Cone:H(this.emitFrom,this.radius,this.radiusThickness,this.generateArcAngle(),this._angle,this.length,t.position,t.velocity);break;case O.ShapeType.Sphere:U(this.emitFrom,this.radius,this.radiusThickness,t.position,t.velocity);break;case O.ShapeType.Hemisphere:j(this.emitFrom,this.radius,this.radiusThickness,t.position,t.velocity);break;default:console.warn(this.shapeType+" shapeType is not supported by ShapeModule.")}var e,i,n,r,s;if(this.randomPositionAmount>0&&(t.position.x+=(0,I.randomRange)(-this.randomPositionAmount,this.randomPositionAmount),t.position.y+=(0,I.randomRange)(-this.randomPositionAmount,this.randomPositionAmount),t.position.z+=(0,I.randomRange)(-this.randomPositionAmount,this.randomPositionAmount)),I.Vec3.transformQuat(t.velocity,t.velocity,this.quat),I.Vec3.transformMat4(t.position,t.position,this.mat),this.sphericalDirectionAmount>0){var a=I.Vec3.normalize(N,t.position);I.Vec3.lerp(t.velocity,t.velocity,a,this.sphericalDirectionAmount)}this.lastTime=this.particleSystem._time},n.generateArcAngle=function(){if(this.arcMode===O.ArcMode.Random)return(0,I.randomRange)(0,this._arc);var t=this.totalAngle+2*Math.PI*this.arcSpeed.evaluate(this.particleSystem._time,1)*(this.particleSystem._time-this.lastTime);switch(this.totalAngle=t,0!==this.arcSpread&&(t=Math.floor(t/(this._arc*this.arcSpread))*this._arc*this.arcSpread),this.arcMode){case O.ArcMode.Loop:return(0,I.repeat)(t,this._arc);case O.ArcMode.PingPong:return(0,I.pingPong)(t,this._arc)}},i})()).prototype,"enable",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=V(h.prototype,"_shapeType",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return O.ShapeType.Cone}}),V(h.prototype,"shapeType",[s],Object.getOwnPropertyDescriptor(h.prototype,"shapeType"),h.prototype),f=V(h.prototype,"emitFrom",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return O.EmitLocation.Volume}}),d=V(h.prototype,"radius",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),p=V(h.prototype,"radiusThickness",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),m=V(h.prototype,"_angle",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,I.toRadian)(25)}}),V(h.prototype,"angle",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"angle"),h.prototype),y=V(h.prototype,"_arc",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,I.toRadian)(360)}}),V(h.prototype,"arc",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"arc"),h.prototype),v=V(h.prototype,"arcMode",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return O.ArcMode.Random}}),g=V(h.prototype,"arcSpread",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),b=V(h.prototype,"arcSpeed",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new P.default}}),A=V(h.prototype,"length",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),x=V(h.prototype,"boxThickness",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new I.Vec3(0,0,0)}}),C=V(h.prototype,"_position",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new I.Vec3(0,0,0)}}),V(h.prototype,"position",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"position"),h.prototype),T=V(h.prototype,"_rotation",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new I.Vec3(0,0,0)}}),V(h.prototype,"rotation",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"rotation"),h.prototype),S=V(h.prototype,"_scale",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new I.Vec3(1,1,1)}}),V(h.prototype,"scale",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"scale"),h.prototype),w=V(h.prototype,"alignToDirection",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),E=V(h.prototype,"randomDirectionAmount",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),M=V(h.prototype,"sphericalDirectionAmount",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),D=V(h.prototype,"randomPositionAmount",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=h))||c);function U(t,e,i,n,r){switch(t){case O.EmitLocation.Volume:(0,R.randomPointBetweenSphere)(n,e*(1-i),e),I.Vec3.copy(r,n),I.Vec3.normalize(r,r);break;case O.EmitLocation.Shell:(0,R.randomUnitVector)(n),I.Vec3.scale(n,n,e),I.Vec3.copy(r,n);break;default:console.warn(t+" is not supported for sphere emitter.")}}function j(t,e,i,n,r){switch(t){case O.EmitLocation.Volume:(0,R.randomPointBetweenSphere)(n,e*(1-i),e),n.z>0&&(n.z*=-1),I.Vec3.copy(r,n),I.Vec3.normalize(r,r);break;case O.EmitLocation.Shell:(0,R.randomUnitVector)(n),I.Vec3.scale(n,n,e),n.z<0&&(n.z*=-1),I.Vec3.copy(r,n);break;default:console.warn(t+" is not supported for hemisphere emitter.")}}function H(t,e,i,n,r,s,a,o){switch(t){case O.EmitLocation.Base:(0,R.randomPointBetweenCircleAtFixedAngle)(a,e*(1-i),e,n),I.Vec2.scale(o,a,Math.sin(r)),o.z=-Math.cos(r)*e,I.Vec3.normalize(o,o),a.z=0;break;case O.EmitLocation.Shell:(0,R.fixedAngleUnitVector2)(a,n),I.Vec2.scale(o,a,Math.sin(r)),o.z=-Math.cos(r),I.Vec3.normalize(o,o),I.Vec2.scale(a,a,e),a.z=0;break;case O.EmitLocation.Volume:(0,R.randomPointBetweenCircleAtFixedAngle)(a,e*(1-i),e,n),I.Vec2.scale(o,a,Math.sin(r)),o.z=-Math.cos(r)*e,I.Vec3.normalize(o,o),a.z=0,I.Vec3.add(a,a,I.Vec3.scale(N,o,s*(0,I.random)()/-o.z));break;default:console.warn(t+" is not supported for cone emitter.")}}function W(t,e,i,n){switch(t){case O.EmitLocation.Volume:(0,R.randomPointInCube)(i,z);break;case O.EmitLocation.Shell:k.splice(0,k.length),k.push((0,I.randomRange)(-.5,.5)),k.push((0,I.randomRange)(-.5,.5)),k.push(.5*(0,R.randomSign)()),(0,R.randomSortArray)(k),X(k,e),I.Vec3.set(i,k[0],k[1],k[2]);break;case O.EmitLocation.Edge:k.splice(0,k.length),k.push((0,I.randomRange)(-.5,.5)),k.push(.5*(0,R.randomSign)()),k.push(.5*(0,R.randomSign)()),(0,R.randomSortArray)(k),X(k,e),I.Vec3.set(i,k[0],k[1],k[2]);break;default:console.warn(t+" is not supported for box emitter.")}I.Vec3.copy(n,R.particleEmitZAxis)}function X(t,e){e.x>0&&(t[0]+=.5*(0,I.randomRange)(-e.x,e.x),t[0]=(0,I.clamp)(t[0],-.5,.5)),e.y>0&&(t[1]+=.5*(0,I.randomRange)(-e.y,e.y),t[1]=(0,I.clamp)(t[1],-.5,.5)),e.z>0&&(t[2]+=.5*(0,I.randomRange)(-e.z,e.z),t[2]=(0,I.clamp)(t[2],-.5,.5))}i.default=G,e.exports=i.default}),{"../../../platform/CCClassDecorator":239,"../../../value-types":338,"../animator/curve-range":31,"../enum":43,"../particle-general-function":44}],43:[(function(t,e,i){"use strict";i.__esModule=!0,i.TextureMode=i.TrailMode=i.ArcMode=i.EmitLocation=i.ShapeType=i.RenderMode=i.Space=void 0;var n,r=(n=t("../../platform/CCEnum"))&&n.__esModule?n:{default:n},s=(0,r.default)({World:0,Local:1,Custom:2});i.Space=s;var a=(0,r.default)({Billboard:0,StrecthedBillboard:1,HorizontalBillboard:2,VerticalBillboard:3,Mesh:4});i.RenderMode=a;var o=(0,r.default)({Box:0,Circle:1,Cone:2,Sphere:3,Hemisphere:4});i.ShapeType=o;var l=(0,r.default)({Base:0,Edge:1,Shell:2,Volume:3});i.EmitLocation=l;var c=(0,r.default)({Random:0,Loop:1,PingPong:2});i.ArcMode=c;var h=(0,r.default)({Particles:0,Ribbon:1});i.TrailMode=h;var u=(0,r.default)({Stretch:0,Repeat:1});i.TextureMode=u}),{"../../platform/CCEnum":240}],44:[(function(t,e,i){"use strict";i.__esModule=!0,i.calculateTransform=function(t,e,i,r){return e!==t?(t===s.Space.World?n.Mat4.getRotation(r,i):(n.Mat4.invert(i,i),n.Mat4.getRotation(r,i)),!0):(n.Quat.set(r,0,0,0,1),!1)},i.fixedAngleUnitVector2=o,i.randomUnitVector2=l,i.randomUnitVector=c,i.randomPointInUnitSphere=function(t){c(t),n.Vec3.scale(t,t,(0,n.random)())},i.randomPointBetweenSphere=function(t,e,i){c(t),n.Vec3.scale(t,t,e+(i-e)*(0,n.random)())},i.randomPointInUnitCircle=function(t){l(t),t.z=0,n.Vec3.scale(t,t,(0,n.random)())},i.randomPointBetweenCircle=function(t,e,i){l(t),t.z=0,n.Vec3.scale(t,t,e+(i-e)*(0,n.random)())},i.randomPointBetweenCircleAtFixedAngle=function(t,e,i,r){o(t,r),t.z=0,n.Vec3.scale(t,t,e+(i-e)*(0,n.random)())},i.randomPointInCube=function(t,e){n.Vec3.set(t,(0,n.randomRange)(-e.x,e.x),(0,n.randomRange)(-e.y,e.y),(0,n.randomRange)(-e.z,e.z))},i.randomPointBetweenCube=function(t,e,i){for(var r=["x","y","z"],s=(0,n.randomRangeInt)(0,3),a=0;a<3;a++)if(a!==s){var o=2*(0,n.random)()-1;t[r[a]]=o<0?-e[r[a]]+o*(i[r[a]]-e[r[a]]):e[r[a]]+o*(i[r[a]]-e[r[a]])}else t[r[a]]=(0,n.randomRange)(-i[r[a]],i[r[a]])},i.randomSortArray=function(t){for(var e=0;e<t.length;e++){var i=e+(0,n.randomRangeInt)(0,t.length-e),r=t[i];t[i]=t[e],t[e]=r}},i.randomSign=function(){var t=(0,n.randomRange)(-1,1);return 0===t&&t++,(0,r.sign)(t)},i.particleEmitZAxis=void 0;var n=t("../../value-types"),r=t("../../value-types/utils"),s=t("./enum"),a=new n.Vec3(0,0,-1);function o(t,e){n.Vec2.set(t,Math.cos(e),Math.sin(e))}function l(t){var e=(0,n.randomRange)(0,2*Math.PI),i=Math.cos(e),r=Math.sin(e);n.Vec2.set(t,i,r)}function c(t){var e=(0,n.randomRange)(-1,1),i=(0,n.randomRange)(0,2*Math.PI),r=Math.sqrt(1-e*e),s=r*Math.cos(i),a=r*Math.sin(i);n.Vec3.set(t,s,a,e)}i.particleEmitZAxis=a}),{"../../value-types":338,"../../value-types/utils":345,"./enum":43}],45:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D,B,I,P,R,O,L,F,V,N,k,z,G,U,j,H,W,X,Y,q,J,Z,K,Q,$,tt,et,it,nt,rt,st,at,ot,lt,ct,ht,ut,_t,ft,dt,pt=t("../../value-types"),mt=t("../../value-types/utils"),yt=Ot(t("../../assets/material/CCMaterial")),vt=Ot(t("./animator/color-overtime")),gt=(function(t){if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var e=Rt();if(e&&e.has(t))return e.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var s=n?Object.getOwnPropertyDescriptor(t,r):null;s&&(s.get||s.set)?Object.defineProperty(i,r,s):i[r]=t[r]}return i.default=t,e&&e.set(t,i),i})(t("./animator/curve-range")),bt=Ot(t("./animator/force-overtime")),At=Ot(t("./animator/gradient-range")),xt=Ot(t("./animator/limit-velocity-overtime")),Ct=Ot(t("./animator/rotation-overtime")),Tt=Ot(t("./animator/size-overtime")),St=Ot(t("./animator/texture-animation")),wt=Ot(t("./animator/velocity-overtime")),Et=Ot(t("./burst")),Mt=Ot(t("./emitter/shape-module")),Dt=t("./enum"),Bt=t("./particle-general-function"),It=Ot(t("./renderer/trail")),Pt=Ot(t("../../mesh/CCMesh"));function Rt(){if("function"!=typeof WeakMap)return null;var t=new WeakMap;return Rt=function(){return t},t}function Ot(t){return t&&t.__esModule?t:{default:t}}function Lt(t,e){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=Ft(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function Ft(t,e){if(t){if("string"==typeof t)return Vt(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Vt(t,e):void 0}}function Vt(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function Nt(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function kt(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function zt(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Gt(t,e,i){return e&&zt(t.prototype,e),i&&zt(t,i),t}function Ut(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var jt=t("../../platform/CCClassDecorator"),Ht=jt.ccclass,Wt=jt.menu,Xt=jt.property,Yt=jt.executeInEditMode,qt=jt.executionOrder,Jt=t("../../components/CCRenderComponent"),Zt=new pt.Mat4,Kt=(n=Ht("cc.ParticleSystem3D"),r=Wt("i18n:MAIN_MENU.component.renderers/ParticleSystem3D"),s=qt(99),a=Xt({animatable:!1}),o=Xt({animatable:!1}),l=Xt({type:Dt.Space,animatable:!1}),c=Xt({type:gt.default}),h=Xt({type:gt.default}),u=Xt({type:At.default}),_=Xt({type:Dt.Space}),f=Xt({type:gt.default}),d=Xt({type:gt.default,range:[-1,1]}),p=Xt({type:gt.default,range:[-1,1],radian:!0}),m=Xt({type:gt.default,range:[-1,1]}),y=Xt({type:gt.default}),v=Xt({type:gt.default}),g=Xt({type:[Et.default],animatable:!1}),b=Xt({type:[yt.default],displayName:"Materials",visible:!1,override:!0}),A=Xt({type:Mt.default,animatable:!1}),x=Xt({type:vt.default,animatable:!1}),C=Xt({type:Tt.default,animatable:!1}),T=Xt({type:wt.default,animatable:!1}),S=Xt({type:bt.default,animatable:!1}),w=Xt({type:xt.default,animatable:!1}),E=Xt({type:Ct.default,animatable:!1}),M=Xt({type:St.default,animatable:!1}),D=Xt({type:It.default,animatable:!1}),B=Xt({type:Dt.RenderMode,animatable:!1}),I=Xt({animatable:!1}),P=Xt({animatable:!1}),R=Xt({type:Pt.default,animatable:!1}),O=Xt({type:yt.default,animatable:!1}),L=Xt({type:yt.default,animatable:!1}),n(F=r(F=s(F=Yt((N=Ut((V=(function(t){var e,i;function n(){var e;return Nt(e=t.call(this)||this,"duration",N,kt(e)),Nt(e,"_capacity",k,kt(e)),Nt(e,"loop",z,kt(e)),Nt(e,"playOnAwake",G,kt(e)),Nt(e,"_prewarm",U,kt(e)),Nt(e,"_simulationSpace",j,kt(e)),Nt(e,"simulationSpeed",H,kt(e)),Nt(e,"startDelay",W,kt(e)),Nt(e,"startLifetime",X,kt(e)),Nt(e,"startColor",Y,kt(e)),Nt(e,"scaleSpace",q,kt(e)),Nt(e,"startSize",J,kt(e)),Nt(e,"startSpeed",Z,kt(e)),Nt(e,"startRotation",K,kt(e)),Nt(e,"gravityModifier",Q,kt(e)),Nt(e,"rateOverTime",$,kt(e)),Nt(e,"rateOverDistance",tt,kt(e)),Nt(e,"bursts",et,kt(e)),Nt(e,"_shapeModule",it,kt(e)),Nt(e,"_colorOverLifetimeModule",nt,kt(e)),Nt(e,"_sizeOvertimeModule",rt,kt(e)),Nt(e,"_velocityOvertimeModule",st,kt(e)),Nt(e,"_forceOvertimeModule",at,kt(e)),Nt(e,"_limitVelocityOvertimeModule",ot,kt(e)),Nt(e,"_rotationOvertimeModule",lt,kt(e)),Nt(e,"_textureAnimationModule",ct,kt(e)),Nt(e,"_trailModule",ht,kt(e)),Nt(e,"_renderMode",ut,kt(e)),Nt(e,"_velocityScale",_t,kt(e)),Nt(e,"_lengthScale",ft,kt(e)),Nt(e,"_mesh",dt,kt(e)),e._isPlaying=void 0,e._isPaused=void 0,e._isStopped=void 0,e._isEmitting=void 0,e._time=void 0,e._emitRateTimeCounter=void 0,e._emitRateDistanceCounter=void 0,e._oldWPos=void 0,e._curWPos=void 0,e._customData1=void 0,e._customData2=void 0,e._subEmitters=void 0,e.rateOverTime.constant=10,e.startLifetime.constant=5,e.startSize.constant=1,e.startSpeed.constant=5,e._isPlaying=!1,e._isPaused=!1,e._isStopped=!0,e._isEmitting=!1,e._time=0,e._emitRateTimeCounter=0,e._emitRateDistanceCounter=0,e._oldWPos=new pt.Vec3(0,0,0),e._curWPos=new pt.Vec3(0,0,0),e._customData1=new pt.Vec2(0,0),e._customData2=new pt.Vec2(0,0),e._subEmitters=[],e}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,Gt(n,[{key:"capacity",get:function(){return this._capacity},set:function(t){this._capacity=t,this._assembler&&this._assembler.setCapacity(this._capacity)}},{key:"prewarm",get:function(){return this._prewarm},set:function(t){!0===t&&this.loop,this._prewarm=t}},{key:"simulationSpace",get:function(){return this._simulationSpace},set:function(t){t!==this._simulationSpace&&(this._simulationSpace=t,this._assembler._updateMaterialParams(),this._assembler._updateTrailMaterial())}},{key:"materials",get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial()}},{key:"shapeModule",get:function(){return this._shapeModule},set:function(t){this._shapeModule=t,this._shapeModule.onInit(this)}},{key:"colorOverLifetimeModule",get:function(){return this._colorOverLifetimeModule},set:function(t){this._colorOverLifetimeModule=t}},{key:"sizeOvertimeModule",get:function(){return this._sizeOvertimeModule},set:function(t){this._sizeOvertimeModule=t}},{key:"velocityOvertimeModule",get:function(){return this._velocityOvertimeModule},set:function(t){this._velocityOvertimeModule=t}},{key:"forceOvertimeModule",get:function(){return this._forceOvertimeModule},set:function(t){this._forceOvertimeModule=t}},{key:"limitVelocityOvertimeModule",get:function(){return this._limitVelocityOvertimeModule},set:function(t){this._limitVelocityOvertimeModule=t}},{key:"rotationOvertimeModule",get:function(){return this._rotationOvertimeModule},set:function(t){this._rotationOvertimeModule=t}},{key:"textureAnimationModule",get:function(){return this._textureAnimationModule},set:function(t){this._textureAnimationModule=t,this._textureAnimationModule.onInit(this)}},{key:"trailModule",get:function(){return this._trailModule},set:function(t){this._trailModule=t,this._trailModule.onInit(this)}},{key:"renderMode",get:function(){return this._renderMode},set:function(t){this._renderMode!==t&&(this._renderMode=t,this._assembler._setVertexAttrib(),this._assembler._updateModel(),this._assembler._updateMaterialParams())}},{key:"velocityScale",get:function(){return this._velocityScale},set:function(t){this._velocityScale=t,this._assembler._updateMaterialParams()}},{key:"lengthScale",get:function(){return this._lengthScale},set:function(t){this._lengthScale=t,this._assembler._updateMaterialParams()}},{key:"mesh",get:function(){return this._mesh},set:function(t){this._mesh=t,this._assembler._updateModel()}},{key:"particleMaterial",get:function(){return this.getMaterial(0)},set:function(t){this.setMaterial(0,t),this._onMaterialModified(0,t)}},{key:"trailMaterial",get:function(){return this.getMaterial(1)},set:function(t){this.setMaterial(1,t),this._onMaterialModified(1,t)}}]);var r=n.prototype;return r.onLoad=function(){this._assembler.onInit(this),this.shapeModule.onInit(this),this.trailModule.onInit(this),this.textureAnimationModule.onInit(this),this._resetPosition()},r._onMaterialModified=function(t,e){this._assembler._onMaterialModified(t,e)},r._onRebuildPSO=function(t,e){this._assembler._onRebuildPSO(t,e)},r.play=function(){this._isPaused&&(this._isPaused=!1),this._isStopped&&(this._isStopped=!1),this._isPlaying=!0,this._isEmitting=!0,this._resetPosition(),this._prewarm&&this._prewarmSystem()},r.pause=function(){this._isStopped?console.warn("pause(): particle system is already stopped."):(this._isPlaying&&(this._isPlaying=!1),this._isPaused=!0)},r.stop=function(){(this._isPlaying||this._isPaused)&&this.clear(),this._isPlaying&&(this._isPlaying=!1),this._isPaused&&(this._isPaused=!1),this._time=0,this._emitRateTimeCounter=0,this._emitRateDistanceCounter=0,this._isStopped=!0},r.clear=function(){this.enabledInHierarchy&&(this._assembler.clear(),this.trailModule.clear())},r.getParticleCount=function(){return this._assembler.getParticleCount()},r.setCustomData1=function(t,e){pt.Vec2.set(this._customData1,t,e)},r.setCustomData2=function(t,e){pt.Vec2.set(this._customData2,t,e)},r.onDestroy=function(){this._assembler.onDestroy(),this.trailModule.destroy()},r.onEnable=function(){t.prototype.onEnable.call(this),this.playOnAwake&&this.play(),this._assembler.onEnable(),this.trailModule.onEnable()},r.onDisable=function(){t.prototype.onDisable.call(this),this._assembler.onDisable(),this.trailModule.onDisable()},r.update=function(t){var e=t*this.simulationSpeed;this._isPlaying&&(this._time+=e,this._emit(e),0!==this._assembler._updateParticles(e)||this._isEmitting||this.stop(),this._assembler.updateParticleBuffer(),this.trailModule.enable&&this.trailModule.updateTrailBuffer())},r.emit=function(t,e){this._simulationSpace===Dt.Space.World&&this.node.getWorldMatrix(Zt);for(var i=0;i<t;++i){var n=this._assembler._getFreeParticle();if(null===n)return;var r=(0,pt.pseudoRandom)((0,pt.randomRangeInt)(0,mt.INT_MAX));switch(this.shapeModule.enable?this.shapeModule.emit(n):(pt.Vec3.set(n.position,0,0,0),pt.Vec3.copy(n.velocity,Bt.particleEmitZAxis)),this.textureAnimationModule.enable&&this.textureAnimationModule.init(n),pt.Vec3.scale(n.velocity,n.velocity,this.startSpeed.evaluate(this._time/this.duration,r)),this._simulationSpace){case Dt.Space.Local:break;case Dt.Space.World:pt.Vec3.transformMat4(n.position,n.position,Zt);var s=new pt.Quat;this.node.getWorldRotation(s),pt.Vec3.transformQuat(n.velocity,n.velocity,s);break;case Dt.Space.Custom:}pt.Vec3.copy(n.ultimateVelocity,n.velocity),pt.Vec3.set(n.rotation,0,0,this.startRotation.evaluate(this._time/this.duration,r)),pt.Vec3.set(n.startSize,this.startSize.evaluate(this._time/this.duration,r),1,1),n.startSize.y=n.startSize.x,pt.Vec3.copy(n.size,n.startSize),n.startColor.set(this.startColor.evaluate(this._time/this.duration,r)),n.color.set(n.startColor),n.startLifetime=this.startLifetime.evaluate(this._time/this.duration,r)+e,n.remainingLifetime=n.startLifetime,n.randomSeed=(0,pt.randomRangeInt)(0,233280),this._assembler._setNewParticle(n)}},r._prewarmSystem=function(){this.startDelay.mode=gt.Mode.Constant,this.startDelay.constant=0;for(var t=this.duration/1,e=0;e<t;++e)this._time+=1,this._emit(1),this._assembler._updateParticles(1)},r._emit=function(t){var e=this.startDelay.evaluate(0,1);if(this._time>e){if(this._time>this.duration+e&&!this.loop)return void(this._isEmitting=!1);if(this._emitRateTimeCounter+=this.rateOverTime.evaluate(this._time/this.duration,1)*t,this._emitRateTimeCounter>1&&this._isEmitting){var i=Math.floor(this._emitRateTimeCounter);this._emitRateTimeCounter-=i,this.emit(i,t)}this.node.getWorldPosition(this._curWPos);var n=pt.Vec3.distance(this._curWPos,this._oldWPos);if(pt.Vec3.copy(this._oldWPos,this._curWPos),this._emitRateDistanceCounter+=n*this.rateOverDistance.evaluate(this._time/this.duration,1),this._emitRateDistanceCounter>1&&this._isEmitting){var r=Math.floor(this._emitRateDistanceCounter);this._emitRateDistanceCounter-=r,this.emit(r,t)}for(var s,a=Lt(this.bursts);!(s=a()).done;)s.value.update(this,t)}},r._activateMaterial=function(){},r._resetPosition=function(){this.node.getWorldPosition(this._oldWPos),pt.Vec3.copy(this._curWPos,this._oldWPos)},r.addSubEmitter=function(t){this._subEmitters.push(t)},r.removeSubEmitter=function(t){this._subEmitters.splice(this._subEmitters.indexOf(t),1)},r.addBurst=function(t){this.bursts.push(t)},r.removeBurst=function(t){this.bursts.splice(this.bursts.indexOf(t),1)},r._checkBacth=function(){},Gt(n,[{key:"isPlaying",get:function(){return this._isPlaying}},{key:"isPaused",get:function(){return this._isPaused}},{key:"isStopped",get:function(){return this._isStopped}},{key:"isEmitting",get:function(){return this._isEmitting}},{key:"time",get:function(){return this._time}}]),n})(Jt)).prototype,"duration",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),k=Ut(V.prototype,"_capacity",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 100}}),Ut(V.prototype,"capacity",[Xt],Object.getOwnPropertyDescriptor(V.prototype,"capacity"),V.prototype),z=Ut(V.prototype,"loop",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),G=Ut(V.prototype,"playOnAwake",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),U=Ut(V.prototype,"_prewarm",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ut(V.prototype,"prewarm",[o],Object.getOwnPropertyDescriptor(V.prototype,"prewarm"),V.prototype),j=Ut(V.prototype,"_simulationSpace",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Dt.Space.Local}}),Ut(V.prototype,"simulationSpace",[l],Object.getOwnPropertyDescriptor(V.prototype,"simulationSpace"),V.prototype),H=Ut(V.prototype,"simulationSpeed",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),W=Ut(V.prototype,"startDelay",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),X=Ut(V.prototype,"startLifetime",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),Y=Ut(V.prototype,"startColor",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new At.default}}),q=Ut(V.prototype,"scaleSpace",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Dt.Space.Local}}),J=Ut(V.prototype,"startSize",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),Z=Ut(V.prototype,"startSpeed",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),K=Ut(V.prototype,"startRotation",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),Q=Ut(V.prototype,"gravityModifier",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),$=Ut(V.prototype,"rateOverTime",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),tt=Ut(V.prototype,"rateOverDistance",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),et=Ut(V.prototype,"bursts",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),Ut(V.prototype,"materials",[b],Object.getOwnPropertyDescriptor(V.prototype,"materials"),V.prototype),it=Ut(V.prototype,"_shapeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Mt.default}}),Ut(V.prototype,"shapeModule",[A],Object.getOwnPropertyDescriptor(V.prototype,"shapeModule"),V.prototype),nt=Ut(V.prototype,"_colorOverLifetimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new vt.default}}),Ut(V.prototype,"colorOverLifetimeModule",[x],Object.getOwnPropertyDescriptor(V.prototype,"colorOverLifetimeModule"),V.prototype),rt=Ut(V.prototype,"_sizeOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Tt.default}}),Ut(V.prototype,"sizeOvertimeModule",[C],Object.getOwnPropertyDescriptor(V.prototype,"sizeOvertimeModule"),V.prototype),st=Ut(V.prototype,"_velocityOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new wt.default}}),Ut(V.prototype,"velocityOvertimeModule",[T],Object.getOwnPropertyDescriptor(V.prototype,"velocityOvertimeModule"),V.prototype),at=Ut(V.prototype,"_forceOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new bt.default}}),Ut(V.prototype,"forceOvertimeModule",[S],Object.getOwnPropertyDescriptor(V.prototype,"forceOvertimeModule"),V.prototype),ot=Ut(V.prototype,"_limitVelocityOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new xt.default}}),Ut(V.prototype,"limitVelocityOvertimeModule",[w],Object.getOwnPropertyDescriptor(V.prototype,"limitVelocityOvertimeModule"),V.prototype),lt=Ut(V.prototype,"_rotationOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ct.default}}),Ut(V.prototype,"rotationOvertimeModule",[E],Object.getOwnPropertyDescriptor(V.prototype,"rotationOvertimeModule"),V.prototype),ct=Ut(V.prototype,"_textureAnimationModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new St.default}}),Ut(V.prototype,"textureAnimationModule",[M],Object.getOwnPropertyDescriptor(V.prototype,"textureAnimationModule"),V.prototype),ht=Ut(V.prototype,"_trailModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new It.default}}),Ut(V.prototype,"trailModule",[D],Object.getOwnPropertyDescriptor(V.prototype,"trailModule"),V.prototype),ut=Ut(V.prototype,"_renderMode",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Dt.RenderMode.Billboard}}),Ut(V.prototype,"renderMode",[B],Object.getOwnPropertyDescriptor(V.prototype,"renderMode"),V.prototype),_t=Ut(V.prototype,"_velocityScale",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Ut(V.prototype,"velocityScale",[I],Object.getOwnPropertyDescriptor(V.prototype,"velocityScale"),V.prototype),ft=Ut(V.prototype,"_lengthScale",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Ut(V.prototype,"lengthScale",[P],Object.getOwnPropertyDescriptor(V.prototype,"lengthScale"),V.prototype),dt=Ut(V.prototype,"_mesh",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Ut(V.prototype,"mesh",[R],Object.getOwnPropertyDescriptor(V.prototype,"mesh"),V.prototype),Ut(V.prototype,"particleMaterial",[O],Object.getOwnPropertyDescriptor(V.prototype,"particleMaterial"),V.prototype),Ut(V.prototype,"trailMaterial",[L],Object.getOwnPropertyDescriptor(V.prototype,"trailMaterial"),V.prototype),F=V))||F)||F)||F)||F);i.default=Kt,cc.ParticleSystem3D=Kt,e.exports=i.default}),{"../../assets/material/CCMaterial":123,"../../components/CCRenderComponent":159,"../../mesh/CCMesh":206,"../../platform/CCClassDecorator":239,"../../value-types":338,"../../value-types/utils":345,"./animator/color-overtime":30,"./animator/curve-range":31,"./animator/force-overtime":32,"./animator/gradient-range":33,"./animator/limit-velocity-overtime":35,"./animator/rotation-overtime":36,"./animator/size-overtime":37,"./animator/texture-animation":38,"./animator/velocity-overtime":39,"./burst":40,"./emitter/shape-module":42,"./enum":43,"./particle-general-function":44,"./renderer/trail":49}],46:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../value-types");i.default=function(t){this.particleSystem=null,this.position=null,this.velocity=null,this.animatedVelocity=null,this.ultimateVelocity=null,this.angularVelocity=null,this.axisOfRotation=null,this.rotation=null,this.startSize=null,this.size=null,this.startColor=null,this.color=cc.Color.WHITE,this.randomSeed=null,this.remainingLifetime=null,this.startLifetime=null,this.emitAccumulator0=null,this.emitAccumulator1=null,this.frameIndex=null,this.particleSystem=t,this.position=new n.Vec3(0,0,0),this.velocity=new n.Vec3(0,0,0),this.animatedVelocity=new n.Vec3(0,0,0),this.ultimateVelocity=new n.Vec3(0,0,0),this.angularVelocity=new n.Vec3(0,0,0),this.axisOfRotation=new n.Vec3(0,0,0),this.rotation=new n.Vec3(0,0,0),this.startSize=new n.Vec3(0,0,0),this.size=new n.Vec3(0,0,0),this.startColor=cc.Color.WHITE.clone(),this.color=cc.Color.WHITE.clone(),this.randomSeed=0,this.remainingLifetime=0,this.startLifetime=0,this.emitAccumulator0=0,this.emitAccumulator1=0,this.frameIndex=0},e.exports=i.default}),{"../../value-types":338}],47:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../../../renderer/gfx")),r=a(t("../../../../renderer/core/input-assembler")),s=t("../../../mesh/mesh-data");function a(t){return t&&t.__esModule?t:{default:t}}var o=t("../../../renderer"),l=(function(){function t(){this._capacity=0,this._vertFormat=null,this._vertAttrsFloatCount=0,this._mesh=null,this._vertCount=0,this._indexCount=0,this._material=null,this._capacity=0,this._vertFormat=null,this._vertAttrsFloatCount=0,this._mesh=null,this._subDatas=[],this._subMeshes=[]}var e=t.prototype;return e.setCapacity=function(t){var e=this._capacity!==t;this._capacity=t,this._inited&&e&&this._recreateBuffer()},e.setVertexAttributes=function(t,e){this._mesh===t&&this._vertFormat===e||(this._mesh=t,this._vertFormat=e,this._vertAttrsFloatCount=this._vertFormat._bytes/4,this._createParticleData(),this._inited=!0)},e._recreateBuffer=function(){this._createParticleData()},e._createParticleData=function(){this.destroyIAData(),this._vertCount=4,this._indexCount=6;var t=null,e=null,i=this._vertFormat._bytes;if(this._mesh){var a=this._mesh._subDatas[0];this._vertCount=a.vData.byteLength/a.vfm._bytes,this._indexCount=a.iData.byteLength/2,t=new Float32Array(i*this._capacity*this._vertCount/4),e=new Uint16Array(this._capacity*this._indexCount);var l=this._vertFormat.element(n.default.ATTR_TEX_COORD3),c=this._vertFormat.element(n.default.ATTR_NORMAL),h=this._vertFormat.element(n.default.ATTR_TEX_COORD),u=this._vertFormat.element(n.default.ATTR_COLOR1);if(this._mesh.copyAttribute(0,n.default.ATTR_POSITION,t.buffer,i,l.offset),this._mesh.copyAttribute(0,n.default.ATTR_NORMAL,t.buffer,i,c.offset),this._mesh.copyAttribute(0,n.default.ATTR_UV0,t.buffer,i,h.offset),!this._mesh.copyAttribute(0,n.default.ATTR_COLOR,t.buffer,i,u.offset))for(var _=new Uint32Array(t.buffer),f=0;f<this._vertCount;++f)_[f*this._vertAttrsFloatCount+u.offset/4]=cc.Color.WHITE._val;var d=new Float32Array(t.buffer);for(f=1;f<this._capacity;f++)d.copyWithin(f*i*this._vertCount/4,0,i*this._vertCount/4);for(this._mesh.copyIndices(0,e),f=1;f<this._capacity;f++)for(var p=0;p<this._indexCount;p++)e[f*this._indexCount+p]=e[p]+f*this._vertCount}else{t=new Float32Array(i*this._capacity*this._vertCount/4),e=new Uint16Array(this._capacity*this._indexCount);var m=0;for(f=0;f<this._capacity;++f){var y=4*f;e[m++]=y,e[m++]=y+1,e[m++]=y+2,e[m++]=y+3,e[m++]=y+2,e[m++]=y+1}}var v=new s.MeshData;v.vData=t,v.iData=e,v.vfm=this._vertFormat,v.vDirty=!0,v.iDirty=!0,v.enable=!0,this._subDatas[0]=v;var g=new n.default.VertexBuffer(o.device,this._vertFormat,n.default.USAGE_DYNAMIC,t),b=new n.default.IndexBuffer(o.device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,e,e.length);this._subMeshes[0]=new r.default(g,b)},e.createTrailData=function(t,e){if(!this._subDatas[1]){var i=t._bytes,a=new ArrayBuffer(i*(e+1)*2),l=new Uint16Array(6*e),c=new s.MeshData;c.vData=new Float32Array(a),c.iData=l,c.vfm=t,c.vDirty=!0,c.iDirty=!0,c.enable=!0,this._subDatas[1]=c;var h=new n.default.VertexBuffer(o.device,t,n.default.USAGE_DYNAMIC,a),u=new n.default.IndexBuffer(o.device,n.default.INDEX_FMT_UINT16,n.default.USAGE_DYNAMIC,l,6*e);this._subMeshes[1]=new r.default(h,u)}},e.setModelMaterial=function(t){this._material=t},e.addParticleVertexData=function(t,e){var i=this._subDatas[0],n=i.getVData(),r=i.getVData(Uint32Array);if(this._mesh)for(var s=0;s<this._vertCount;s++){var a=(t*this._vertCount+s)*this._vertAttrsFloatCount;n[a++]=e[0].x,n[a++]=e[0].y,n[a++]=e[0].z,a+=2,n[a++]=e[1].z,n[a++]=e[2].x,n[a++]=e[2].y,n[a++]=e[2].z,n[a++]=e[3].x,n[a++]=e[3].y,n[a++]=e[3].z,r[a++]=e[4]}else{var o=t*this._vertAttrsFloatCount;n[o++]=e[0].x,n[o++]=e[0].y,n[o++]=e[0].z,n[o++]=e[1].x,n[o++]=e[1].y,n[o++]=e[1].z,n[o++]=e[2].x,n[o++]=e[2].y,n[o++]=e[2].z,n[o++]=e[3].x,n[o++]=e[3].y,n[o++]=e[3].z,r[o++]=e[4],e[5]&&(n[o++]=e[5].x,n[o++]=e[5].y,n[o++]=e[5].z)}},e._uploadData=function(){for(var t=this._subDatas,e=this._subMeshes,i=0,n=t.length;i<n;i++){var r=t[i],s=e[i];if(r.vDirty){var a=s._vertexBuffer,o=r.vData;a.update(0,o),r.vDirty=!1}if(r.iDirty){var l=s._indexBuffer,c=r.iData;l.update(0,c),r.iDirty=!1}}},e.updateIA=function(t,e,i,n){this._subMeshes[t]._count=e;var r=this._subDatas[t];r.vDirty=i,r.iDirty=n},e.clear=function(){var t=this._subMeshes[0];t&&(t.indexCount=0)},e.destroy=function(){this._subDatas.length=0;for(var t=this._subMeshes,e=0,i=t.length;e<i;e++){var n=t[e]._vertexBuffer;n&&n.destroy();var r=t[e]._indexBuffer;r&&r.destroy()}t.length=0},e.destroyIAData=function(){this._subMeshes[0]&&(this._subMeshes[0]._vertexBuffer.destroy(),this._subMeshes[0]._indexBuffer.destroy(),this._subMeshes[0]=null),this._subDatas[0]=null},t})();i.default=l,e.exports=i.default}),{"../../../../renderer/core/input-assembler":361,"../../../../renderer/gfx":371,"../../../mesh/mesh-data":209,"../../../renderer":270}],48:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../../../value-types"),s=f(t("../../../../renderer/gfx")),a=f(t("./particle-batch-model")),o=f(t("../../../assets/material/material-variant")),l=f(t("../../../../renderer/memop/recycle-pool")),c=t("../enum"),h=f(t("../particle")),u=f(t("../../../renderer/assembler")),_=f(t("../particle-system-3d"));function f(t){return t&&t.__esModule?t:{default:t}}var d=t("../../../platform/CCClassDecorator"),p=d.ccclass,m=(d.property,new r.Vec3),y=(new r.Vec2,new r.Vec4,new r.Mat4),v=[0,0,1,0,0,1,1,1],g=new s.default.VertexFormat([{name:s.default.ATTR_POSITION,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD1,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD2,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_COLOR,type:s.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);g.name="vfmtNormal";var b=new s.default.VertexFormat([{name:s.default.ATTR_POSITION,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD1,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD2,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_COLOR,type:s.default.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:s.default.ATTR_COLOR1,type:s.default.ATTR_TYPE_FLOAT32,num:3}]);b.name="vfmtStretch";var A=new s.default.VertexFormat([{name:s.default.ATTR_POSITION,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD1,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_TEX_COORD2,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_COLOR,type:s.default.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:s.default.ATTR_TEX_COORD3,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_NORMAL,type:s.default.ATTR_TYPE_FLOAT32,num:3},{name:s.default.ATTR_COLOR1,type:s.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);A.name="vfmtMesh";var x=p("cc.ParticleSystem3DAssembler")(n=(function(t){var e,i;function n(){var e;return(e=t.call(this)||this)._defines=null,e._trailDefines=null,e._model=null,e.frameTile_velLenScale=null,e.attrs=[],e._vertFormat=[],e._particleSystem=null,e._particles=null,e._defaultMat=null,e._isAssetReady=!1,e._defaultTrailMat=null,e._customProperties=null,e._node_scale=null,e._model=null,e.frameTile_velLenScale=cc.v4(1,1,0,0),e._node_scale=cc.v4(),e.attrs=new Array(5),e._trailDefines={CC_USE_WORLD_SPACE:!0},e}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=n.prototype;return s.onInit=function(t){var e=this;this._particleSystem=t,this._particles=new l.default(function(){return new h.default(e)},16),this._setVertexAttrib(),this.onEnable(),this._updateModel(),this._updateMaterialParams(),this._updateTrailMaterial()},s.onEnable=function(){this._particleSystem&&(null==this._model&&(this._model=new a.default),this._model.inited||this._model.setCapacity(this._particleSystem.capacity),this._model.enabled=this._particleSystem.enabledInHierarchy)},s.onDisable=function(){this._model&&(this._model.enabled=this._particleSystem.enabledInHierarchy)},s.onDestroy=function(){this._model=null},s.clear=function(){this._particles.reset(),this.updateParticleBuffer()},s._getFreeParticle=function(){return this._particles.length>=this._particleSystem.capacity?null:this._particles.add()},s._setNewParticle=function(){},s._updateParticles=function(t){switch(this._particleSystem.node.getWorldMatrix(y),this._particleSystem.scaleSpace){case c.Space.Local:this._particleSystem.node.getScale(this._node_scale);break;case c.Space.World:this._particleSystem.node.getWorldScale(this._node_scale)}(this._particleSystem.materials[0]?this._particleSystem.particleMaterial:this._defaultMat).setProperty("scale",this._node_scale),this._particleSystem.velocityOvertimeModule.enable&&this._particleSystem.velocityOvertimeModule.update(this._particleSystem._simulationSpace,y),this._particleSystem.forceOvertimeModule.enable&&this._particleSystem.forceOvertimeModule.update(this._particleSystem._simulationSpace,y),this._particleSystem.trailModule.enable&&this._particleSystem.trailModule.update();for(var e=0;e<this._particles.length;++e){var i=this._particles.data[e];i.remainingLifetime-=t,r.Vec3.set(i.animatedVelocity,0,0,0),i.remainingLifetime<0?(this._particleSystem.trailModule.enable&&this._particleSystem.trailModule.removeParticle(i),this._particles.remove(e),--e):(i.velocity.y-=9.8*this._particleSystem.gravityModifier.evaluate(1-i.remainingLifetime/i.startLifetime,i.randomSeed)*t,this._particleSystem.sizeOvertimeModule.enable&&this._particleSystem.sizeOvertimeModule.animate(i),this._particleSystem.colorOverLifetimeModule.enable&&this._particleSystem.colorOverLifetimeModule.animate(i),this._particleSystem.forceOvertimeModule.enable&&this._particleSystem.forceOvertimeModule.animate(i,t),this._particleSystem.velocityOvertimeModule.enable?this._particleSystem.velocityOvertimeModule.animate(i):r.Vec3.copy(i.ultimateVelocity,i.velocity),this._particleSystem.limitVelocityOvertimeModule.enable&&this._particleSystem.limitVelocityOvertimeModule.animate(i),this._particleSystem.rotationOvertimeModule.enable&&this._particleSystem.rotationOvertimeModule.animate(i,t),this._particleSystem.textureAnimationModule.enable&&this._particleSystem.textureAnimationModule.animate(i),r.Vec3.scaleAndAdd(i.position,i.position,i.ultimateVelocity,t),this._particleSystem.trailModule.enable&&this._particleSystem.trailModule.animate(i,t))}return this._particles.length},s.updateParticleBuffer=function(){for(var t=0,e=this._particleSystem.renderMode===c.RenderMode.StrecthedBillboard,i=0;i<this._particles.length;++i){var n=this._particles.data[i],r=0;this._particleSystem.textureAnimationModule.enable&&(r=n.frameIndex),t=4*i;var s=0;if(this._particleSystem.renderMode!==c.RenderMode.Mesh)for(var a=0;a<4;++a)s=0,this.attrs[s++]=n.position,m.x=v[2*a],m.y=v[2*a+1],m.z=r,this.attrs[s++]=m,this.attrs[s++]=n.size,this.attrs[s++]=n.rotation,this.attrs[s++]=n.color._val,this.attrs[s++]=e?n.ultimateVelocity:null,this._model.addParticleVertexData(t++,this.attrs);else s=0,this.attrs[s++]=n.position,m.z=r,this.attrs[s++]=m,this.attrs[s++]=n.size,this.attrs[s++]=n.rotation,this.attrs[s++]=n.color._val,this._model.addParticleVertexData(i,this.attrs)}this.updateIA(0,this._particles.length*this._model._indexCount,!0)},s.updateShaderUniform=function(){},s.updateIA=function(t,e,i,n){this._model&&this._model.updateIA(t,e,i,n)},s.getParticleCount=function(){return this._particles.data.length},s._onMaterialModified=function(t){0===t?(this._updateModel(),this._updateMaterialParams()):this._updateTrailMaterial()},s._onRebuildPSO=function(t,e){this._model&&0===t&&this._model.setModelMaterial(e),this._particleSystem.trailModule._trailModel&&1===t&&this._particleSystem.trailModule._trailModel.setModelMaterial(e)},s._ensureLoadMesh=function(){this._particleSystem.mesh&&!this._particleSystem.mesh.loaded&&cc.assetManager.postLoadNative(this._particleSystem.mesh)},s.setCapacity=function(t){this._model&&this._model.setCapacity(t)},s._setVertexAttrib=function(){switch(this._particleSystem.renderMode){case c.RenderMode.StrecthedBillboard:this._vertFormat=b;break;case c.RenderMode.Mesh:this._vertFormat=A;break;default:this._vertFormat=g}},s._updateMaterialParams=function(){if(this._particleSystem){var t=this._particleSystem.materials[0];t=(t=null==t&&null==this._defaultMat?this._defaultMat=o.default.createWithBuiltin("3d-particle",this):o.default.create(t,this._particleSystem))||this._defaultMat,this._particleSystem._simulationSpace===c.Space.World?t.define("CC_USE_WORLD_SPACE",!0):t.define("CC_USE_WORLD_SPACE",!1),this._particleSystem.renderMode===c.RenderMode.Billboard?(t.define("CC_USE_BILLBOARD",!0),t.define("CC_USE_STRETCHED_BILLBOARD",!1),t.define("CC_USE_HORIZONTAL_BILLBOARD",!1),t.define("CC_USE_VERTICAL_BILLBOARD",!1),t.define("CC_USE_MESH",!1)):this._particleSystem.renderMode===c.RenderMode.StrecthedBillboard?(t.define("CC_USE_BILLBOARD",!1),t.define("CC_USE_STRETCHED_BILLBOARD",!0),t.define("CC_USE_HORIZONTAL_BILLBOARD",!1),t.define("CC_USE_VERTICAL_BILLBOARD",!1),t.define("CC_USE_MESH",!1),this.frameTile_velLenScale.z=this._particleSystem.velocityScale,this.frameTile_velLenScale.w=this._particleSystem.lengthScale):this._particleSystem.renderMode===c.RenderMode.HorizontalBillboard?(t.define("CC_USE_BILLBOARD",!1),t.define("CC_USE_STRETCHED_BILLBOARD",!1),t.define("CC_USE_HORIZONTAL_BILLBOARD",!0),t.define("CC_USE_VERTICAL_BILLBOARD",!1),t.define("CC_USE_MESH",!1)):this._particleSystem.renderMode===c.RenderMode.VerticalBillboard?(t.define("CC_USE_BILLBOARD",!1),t.define("CC_USE_STRETCHED_BILLBOARD",!1),t.define("CC_USE_HORIZONTAL_BILLBOARD",!1),t.define("CC_USE_VERTICAL_BILLBOARD",!0),t.define("CC_USE_MESH",!1)):this._particleSystem.renderMode===c.RenderMode.Mesh?(t.define("CC_USE_BILLBOARD",!1),t.define("CC_USE_STRETCHED_BILLBOARD",!1),t.define("CC_USE_HORIZONTAL_BILLBOARD",!1),t.define("CC_USE_VERTICAL_BILLBOARD",!1),t.define("CC_USE_MESH",!0)):console.warn("particle system renderMode "+this._particleSystem.renderMode+" not support."),this._particleSystem.textureAnimationModule.enable&&r.Vec2.set(this.frameTile_velLenScale,this._particleSystem.textureAnimationModule.numTilesX,this._particleSystem.textureAnimationModule.numTilesY),t.setProperty("frameTile_velLenScale",this.frameTile_velLenScale),this._particleSystem.setMaterial(0,t)}},s._updateTrailMaterial=function(){var t=this._particleSystem.trailMaterial;this._particleSystem.trailModule.enable&&(null===t&&null===this._defaultTrailMat&&(this._defaultTrailMat=o.default.createWithBuiltin("3d-trail",this)),null===t&&(t=this._defaultTrailMat,this._particleSystem.trailMaterial=t),this._particleSystem._simulationSpace===c.Space.World||this._particleSystem.trailModule.space===c.Space.World?t.define("CC_USE_WORLD_SPACE",!0):t.define("CC_USE_WORLD_SPACE",!1),this._particleSystem.trailModule._updateMaterial())},s._updateTrailEnable=function(t){if(this._model){var e=this._model._subDatas[1];e&&(e.enable=t)}},s._updateModel=function(){this._model&&this._model.setVertexAttributes(this._particleSystem.renderMode===c.RenderMode.Mesh?this._particleSystem.mesh:null,this._vertFormat)},s.setVertexAttributes=function(t,e){this._model&&this._model.setVertexAttributes(t,e)},s.fillBuffers=function(t,e){if(this._model){this._model._uploadData();var i=this._model._subMeshes,n=this._model._subDatas,r=t.materials;e._flush();for(var s=0,a=i.length;s<a;s++){var o=i[s],l=n[s],c=r[s];l.enable&&(e.material=c,e.cullingMask=t.node._cullingMask,e.node=t.node,e._flushIA(o))}}},n})(u.default))||n;i.default=x,Object.assign(x,{uv:v}),u.default.register(_.default,x),e.exports=i.default}),{"../../../../renderer/gfx":371,"../../../../renderer/memop/recycle-pool":386,"../../../assets/material/material-variant":130,"../../../platform/CCClassDecorator":239,"../../../renderer/assembler":267,"../../../value-types":338,"../enum":43,"../particle":46,"../particle-system-3d":45,"./particle-batch-model":47}],49:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S=t("../../../platform/CCClassDecorator"),w=t("../../../value-types"),E=R(t("../../../../renderer/gfx")),M=R(t("../../../../renderer/memop/pool")),D=R(t("../animator/curve-range")),B=R(t("../animator/gradient-range")),I=t("../enum"),P=R(t("../utils"));function R(t){return t&&t.__esModule?t:{default:t}}function O(t,e){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=L(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function L(t,e){if(t){if("string"==typeof t)return F(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?F(t,e):void 0}}function F(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function V(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function N(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function k(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var z=Math.cos((0,w.toRadian)(100)),G={position:cc.v3(),velocity:cc.v3()},U=cc.quat(),j=cc.mat4(),H=cc.v3(),W=cc.v3(),X=cc.color(),Y=(function(){function t(t){for(this.start=void 0,this.end=void 0,this.trailElements=[],this.start=-1,this.end=-1,this.trailElements=[];t--;)this.trailElements.push({position:cc.v3(),lifetime:0,width:0,velocity:cc.v3(),direction:0,color:cc.color()})}var e=t.prototype;return e.getElement=function(t){return-1===this.start?null:(t<0&&(t=(t+this.trailElements.length)%this.trailElements.length),t>=this.trailElements.length&&(t%=this.trailElements.length),this.trailElements[t])},e.addElement=function(){if(0===this.trailElements.length)return null;if(-1===this.start)return this.start=0,this.end=1,this.trailElements[0];this.start===this.end&&(this.trailElements.splice(this.end,0,{position:cc.v3(),lifetime:0,width:0,velocity:cc.v3(),direction:0,color:cc.color()}),this.start++,this.start%=this.trailElements.length);var t=this.end++;return this.end%=this.trailElements.length,this.trailElements[t]},e.iterateElement=function(t,e,i,n){for(var r=this.start>=this.end?this.end+this.trailElements.length:this.end,s=this.start;s<r;s++)e(t,this.trailElements[s%this.trailElements.length],i,n)&&(this.start++,this.start%=this.trailElements.length);this.start===r&&(this.start=-1,this.end=-1)},e.count=function(){return this.start<this.end?this.end-this.start:this.trailElements.length+this.end-this.start},e.clear=function(){this.start=-1,this.end=-1},t})(),q=(n=(0,S.ccclass)("cc.TrailModule"),r=(0,S.property)({type:I.TrailMode}),s=(0,S.property)({type:D.default}),a=(0,S.property)({type:I.Space}),o=(0,S.property)({type:I.TextureMode}),l=(0,S.property)({type:D.default}),c=(0,S.property)({type:B.default}),h=(0,S.property)({type:B.default}),n((f=k((_=(function(){var t,e;function i(){V(this,"_enable",f,this),V(this,"mode",d,this),V(this,"lifeTime",p,this),V(this,"_minParticleDistance",m,this),V(this,"_space",y,this),V(this,"existWithParticles",v,this),V(this,"textureMode",g,this),V(this,"widthFromParticle",b,this),V(this,"widthRatio",A,this),V(this,"colorFromParticle",x,this),V(this,"colorOverTrail",C,this),V(this,"colorOvertime",T,this),this._particleSystem=null,this._minSquaredDistance=0,this._vertSize=0,this._trailNum=0,this._trailLifetime=0,this.vbOffset=0,this.ibOffset=0,this._trailSegments=null,this._particleTrail=null,this._ia=null,this._gfxVFmt=null,this._vbF32=null,this._vbUint32=null,this._iBuffer=null,this._needTransform=null,this._defaultMat=null,this._material=null,this._gfxVFmt=new E.default.VertexFormat([{name:E.default.ATTR_POSITION,type:E.default.ATTR_TYPE_FLOAT32,num:3},{name:E.default.ATTR_TEX_COORD,type:E.default.ATTR_TYPE_FLOAT32,num:4},{name:E.default.ATTR_TEX_COORD1,type:E.default.ATTR_TYPE_FLOAT32,num:3},{name:E.default.ATTR_COLOR,type:E.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]),this._vertSize=this._gfxVFmt._bytes,this._particleTrail=new P.default}t=i,(e=[{key:"enable",get:function(){return this._enable},set:function(t){t&&this._createTrailData(),t&&!this._enable&&(this._enable=t,this._particleSystem._assembler._updateTrailMaterial()),this._enable=t,this._particleSystem._assembler._updateTrailEnable(this._enable)}},{key:"minParticleDistance",get:function(){return this._minParticleDistance},set:function(t){this._minParticleDistance=t,this._minSquaredDistance=t*t}},{key:"space",get:function(){return this._space},set:function(t){this._space=t,this._particleSystem&&this._particleSystem._assembler._updateTrailMaterial()}}])&&N(t.prototype,e);var n=i.prototype;return n.onInit=function(t){this._particleSystem=t,this.minParticleDistance=this._minParticleDistance;for(var e,i=0,n=O(t.bursts);!(e=n()).done;)i+=e.value.getMaxCount(t);this.lifeTime.constant=1,this._trailNum=Math.ceil(t.startLifetime.getMax()*this.lifeTime.getMax()*60*(t.rateOverTime.getMax()*t.duration+i)),this._trailSegments=new M.default(function(){return new Y(10)},Math.ceil(t.rateOverTime.getMax()*t.duration)),this._enable&&(this.enable=this._enable,this._updateMaterial())},n.onEnable=function(){},n.onDisable=function(){},n.destroy=function(){this._trailSegments&&(this._trailSegments.clear((function(t){t.trailElements.length=0})),this._trailSegments=null)},n.clear=function(){if(this.enable){for(var t=this._particleTrail.values(),e=t.next();!e.done;)e.value.clear(),e=t.next();this._particleTrail.clear(),this.updateTrailBuffer()}},n._createTrailData=function(){var t=this._particleSystem._assembler._model;if(t){t.createTrailData(this._gfxVFmt,this._trailNum);var e=t._subDatas[1];this._vbF32=e.getVData(),this._vbUint32=e.getVData(Uint32Array),this._iBuffer=e.iData}},n._updateMaterial=function(){if(this._particleSystem){var t=this._particleSystem.trailMaterial;this._material=t||this._particleSystem._assembler._defaultTrailMat}},n.update=function(){this._trailLifetime=this.lifeTime.evaluate(this._particleSystem._time,1),this.space===I.Space.World&&this._particleSystem._simulationSpace===I.Space.Local?(this._needTransform=!0,this._particleSystem.node.getWorldMatrix(j),this._particleSystem.node.getWorldRotation(U)):this._needTransform=!1},n.animate=function(t,e){if(this._trailSegments){var i=this._particleTrail.get(t);if(!i)return i=this._trailSegments.alloc(),void this._particleTrail.set(t,i);var n=i.getElement(i.end-1);if(this._needTransform?w.Vec3.transformMat4(H,t.position,j):w.Vec3.copy(H,t.position),!(n&&(i.iterateElement(this,this._updateTrailElement,t,e),w.Vec3.squaredDistance(n.position,H)<this._minSquaredDistance))&&(n=i.addElement())){w.Vec3.copy(n.position,H),n.lifetime=0,this.widthFromParticle?n.width=t.size.x*this.widthRatio.evaluate(0,1):n.width=this.widthRatio.evaluate(0,1);var r=i.count();if(2===r){var s=i.getElement(i.end-2);w.Vec3.subtract(s.velocity,n.position,s.position)}else if(r>2){var a=i.getElement(i.end-2),o=i.getElement(i.end-3);w.Vec3.subtract(H,o.position,a.position),w.Vec3.subtract(W,n.position,a.position),w.Vec3.subtract(a.velocity,W,H),w.Vec3.equals(cc.Vec3.ZERO,a.velocity)&&w.Vec3.copy(a.velocity,H)}this.colorFromParticle?n.color.set(t.color):n.color.set(this.colorOvertime.evaluate(0,1))}}},n._updateTrailElement=function(t,e,i,n){return e.lifetime+=n,t.colorFromParticle?(e.color.set(i.color),e.color.multiply(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1))):e.color.set(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1)),t.widthFromParticle?e.width=i.size.x*t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1):e.width=t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1),e.lifetime>t._trailLifetime},n.removeParticle=function(t){var e=this._particleTrail.get(t);e&&this._trailSegments&&(e.clear(),this._trailSegments.free(e),this._particleTrail.delete(t))},n.updateTrailBuffer=function(){this.vbOffset=0,this.ibOffset=0;for(var t,e=O(this._particleTrail.keys());!(t=e()).done;){var i=t.value,n=this._particleTrail.get(i);if(-1!==n.start){var r=4*this.vbOffset/this._vertSize,s=n.start>=n.end?n.end+n.trailElements.length:n.end,a=s-n.start,o=1/a,l=n.trailElements[n.start];this._fillVertexBuffer(l,this.colorOverTrail.evaluate(1,1),r,1,0,4);for(var c=n.start+1;c<s;c++){var h=n.trailElements[c%n.trailElements.length],u=c-n.start;this._fillVertexBuffer(h,this.colorOverTrail.evaluate(1-u/a,1),r,1-u*o,u,5)}if(this._needTransform?w.Vec3.transformMat4(G.position,i.position,j):w.Vec3.copy(G.position,i.position),1===a||2===a){var _=n.getElement(n.end-1);w.Vec3.subtract(_.velocity,G.position,_.position),this._vbF32[this.vbOffset-this._vertSize/4-4]=_.velocity.x,this._vbF32[this.vbOffset-this._vertSize/4-3]=_.velocity.y,this._vbF32[this.vbOffset-this._vertSize/4-2]=_.velocity.z,this._vbF32[this.vbOffset-4]=_.velocity.x,this._vbF32[this.vbOffset-3]=_.velocity.y,this._vbF32[this.vbOffset-2]=_.velocity.z,w.Vec3.subtract(G.velocity,G.position,_.position),this._checkDirectionReverse(G,_)}else if(a>2){var f=n.getElement(n.end-1),d=n.getElement(n.end-2);w.Vec3.subtract(H,d.position,f.position),w.Vec3.subtract(W,G.position,f.position),w.Vec3.normalize(H,H),w.Vec3.normalize(W,W),w.Vec3.subtract(f.velocity,W,H),w.Vec3.normalize(f.velocity,f.velocity),this._checkDirectionReverse(f,d),this.vbOffset-=this._vertSize/4*2,this.ibOffset-=6,this._fillVertexBuffer(f,this.colorOverTrail.evaluate(o,1),r,o,a-1,5),w.Vec3.subtract(G.velocity,G.position,f.position),w.Vec3.normalize(G.velocity,G.velocity),this._checkDirectionReverse(G,f)}this.widthFromParticle?G.width=i.size.x*this.widthRatio.evaluate(0,1):G.width=this.widthRatio.evaluate(0,1),G.color=i.color,w.Vec3.equals(G.velocity,cc.Vec3.ZERO)?this.ibOffset-=3:this._fillVertexBuffer(G,this.colorOverTrail.evaluate(0,1),r,0,a,1)}}this._updateIA(this.ibOffset)},n._fillVertexBuffer=function(t,e,i,n,r,s){this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=0,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=n,this._vbF32[this.vbOffset++]=0,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,X.set(t.color),X.multiply(e),this._vbUint32[this.vbOffset++]=X._val,this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=1,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=n,this._vbF32[this.vbOffset++]=1,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,this._vbUint32[this.vbOffset++]=X._val,1&s&&(this._iBuffer[this.ibOffset++]=i+2*r,this._iBuffer[this.ibOffset++]=i+2*r-1,this._iBuffer[this.ibOffset++]=i+2*r+1),4&s&&(this._iBuffer[this.ibOffset++]=i+2*r,this._iBuffer[this.ibOffset++]=i+2*r+1,this._iBuffer[this.ibOffset++]=i+2*r+2)},n._updateIA=function(t){this._particleSystem&&this._particleSystem._assembler&&this._particleSystem._assembler.updateIA(1,t,!0,!0)},n._checkDirectionReverse=function(t,e){w.Vec3.dot(t.velocity,e.velocity)<z?t.direction=1-e.direction:t.direction=e.direction},i})()).prototype,"_enable",[S.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k(_.prototype,"enable",[S.property],Object.getOwnPropertyDescriptor(_.prototype,"enable"),_.prototype),d=k(_.prototype,"mode",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return I.TrailMode.Particles}}),p=k(_.prototype,"lifeTime",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new D.default}}),m=k(_.prototype,"_minParticleDistance",[S.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.1}}),k(_.prototype,"minParticleDistance",[S.property],Object.getOwnPropertyDescriptor(_.prototype,"minParticleDistance"),_.prototype),y=k(_.prototype,"_space",[S.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return I.Space.World}}),k(_.prototype,"space",[a],Object.getOwnPropertyDescriptor(_.prototype,"space"),_.prototype),v=k(_.prototype,"existWithParticles",[S.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),g=k(_.prototype,"textureMode",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return I.TextureMode.Stretch}}),b=k(_.prototype,"widthFromParticle",[S.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),A=k(_.prototype,"widthRatio",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new D.default}}),x=k(_.prototype,"colorFromParticle",[S.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=k(_.prototype,"colorOverTrail",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new B.default}}),T=k(_.prototype,"colorOvertime",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new B.default}}),u=_))||u);i.default=q,e.exports=i.default}),{"../../../../renderer/gfx":371,"../../../../renderer/memop/pool":385,"../../../platform/CCClassDecorator":239,"../../../value-types":338,"../animator/curve-range":31,"../animator/gradient-range":33,"../enum":43,"../utils":50}],50:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,Object.is||(Object.is=function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e});var n=(function(){function t(t){this.datas=[],!t&&(t=[]),this.datas=[];var e=this;t.forEach((function(t){e.has(t[0])||e.datas.push({key:t[0],value:t[1]})}))}var e=t.prototype;return e.size=function(){return this.datas.length},e.set=function(t,e){this.delete(t),this.datas.push({key:t,value:e})},e.get=function(t){for(var e=void 0,i=this.datas,n=0,r=i.length;n<r;n++)if(Object.is(t,i[n].key)){e=i[n].value;break}return e},e.has=function(t){for(var e=!1,i=this.datas,n=0,r=i.length;n<r;n++)if(Object.is(t,i[n].key)){e=!0;break}return e},e.clear=function(){this.datas.length=0},e.delete=function(t){for(var e=!1,i=this.datas,n=0,r=i.length;n<r;n++)if(Object.is(t,i[n].key)){i.splice(n,1),e=!0;break}return e},e.keys=function(){for(var t=this.datas,e=[],i=0,n=t.length;i<n;i++)e.push(t[i].key);return e},e.values=function(){var t=0,e=this.datas;return{next:function(){return 0===e.length||void 0===e[t]?{value:void 0,done:!0}:{value:e[t++].value,done:!1}}}},t})();i.default=n,e.exports=i.default}),{}],51:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,s){void 0===t&&(t=1),void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s={widthSegments:1,heightSegments:1,lengthSegments:1,invWinding:!1});var v=s.widthSegments,g=s.heightSegments,b=s.lengthSegments,A=s.invWinding,x=.5*t,C=.5*e,T=.5*i,S=[n.default.set(h,-x,-C,T),n.default.set(u,x,-C,T),n.default.set(_,x,C,T),n.default.set(f,-x,C,T),n.default.set(d,x,-C,-T),n.default.set(p,-x,-C,-T),n.default.set(m,-x,C,-T),n.default.set(y,x,C,-T)],w=[[2,3,1],[4,5,7],[7,6,2],[1,0,4],[1,4,2],[5,0,6]],E=[[0,0,1],[0,0,-1],[0,1,0],[0,-1,0],[1,0,0],[-1,0,0]],M=[],D=[],B=[],I=[],P=new n.default(-x,-C,-T),R=new n.default(x,C,T),O=Math.sqrt(x*x+C*C+T*T);function L(t,e,i){var r,s,h,u,_=M.length/3,f=w[t],d=E[t];for(u=0;u<=i;u++)for(h=0;h<=e;h++)if(r=h/e,s=u/i,n.default.lerp(a,S[f[0]],S[f[1]],r),n.default.lerp(o,S[f[0]],S[f[2]],s),n.default.subtract(l,o,S[f[0]]),n.default.add(c,a,l),M.push(c.x,c.y,c.z),D.push(d[0],d[1],d[2]),B.push(r,s),h<e&&u<i){var p=e+1,m=h+u*p,y=h+(u+1)*p,v=h+1+(u+1)*p,g=h+1+u*p;A?(I.push(_+m,_+y,_+g),I.push(_+g,_+y,_+v)):(I.push(_+m,_+g,_+y),I.push(_+y,_+g,_+v))}}return L(0,v,g),L(4,b,g),L(1,v,g),L(5,b,g),L(3,v,b),L(2,v,b),new r.default(M,D,B,I,P,R,O)};var n=s(t("../../value-types/vec3")),r=s(t("./vertex-data"));function s(t){return t&&t.__esModule?t:{default:t}}var a=new n.default,o=new n.default,l=new n.default,c=new n.default,h=new n.default,u=new n.default,_=new n.default,f=new n.default,d=new n.default,p=new n.default,m=new n.default,y=new n.default;e.exports=i.default}),{"../../value-types/vec3":348,"./vertex-data":62}],52:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,s){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=2),void 0===s&&(s={sides:32,heightSegments:32,arc:2*Math.PI});var l=i-t-e,c=s.sides,h=s.heightSegments,u=e/i,_=l/i,f=t/i,d=Math.floor(h*u),p=Math.floor(h*f),m=Math.floor(h*_),y=l+e-i/2,v=e-i/2,g=e-i/2,b=s.arc,A=[],x=[],C=[],T=[],S=Math.max(t,e),w=cc.v3(-S,-i/2,-S),E=cc.v3(S,i/2,S),M=i/2,D=0,B=[];return (function(){for(var t=0;t<=d;++t)for(var i=t*Math.PI/d/2,n=Math.sin(i),r=-Math.cos(i),s=0;s<=c;++s){var a=2*s*Math.PI/c-Math.PI/2,o=Math.sin(a)*n,l=r,u=Math.cos(a)*n,_=s/c,f=t/h;if(A.push(o*e,l*e+g,u*e),x.push(o,l,u),C.push(_,f),t<d&&s<c){var p=c+1,m=p*t+s,y=p*(t+1)+s,v=p*(t+1)+s+1,b=p*t+s+1;T.push(m,b,y),T.push(b,v,y)}++D}})(),(function(){for(var i=(t-e)/l,r=0;r<=m;r++){for(var s=[],h=r/m,f=h*(t-e)+e,d=0;d<=c;++d){var p=d/c,y=h*_+u,g=p*b-b/4,S=Math.sin(g),w=Math.cos(g);A.push(f*S),A.push(h*l+v),A.push(f*w),n.default.normalize(a,n.default.set(o,S,-i,w)),x.push(a.x),x.push(a.y),x.push(a.z),C.push(p,y),s.push(D),++D}B.push(s)}for(var E=0;E<m;++E)for(var M=0;M<c;++M){var I=B[E][M],P=B[E+1][M],R=B[E+1][M+1],O=B[E][M+1];T.push(I),T.push(O),T.push(P),T.push(O),T.push(R),T.push(P)}})(),(function(){for(var e=0;e<=p;++e)for(var i=e*Math.PI/p/2+Math.PI/2,n=Math.sin(i),r=-Math.cos(i),s=0;s<=c;++s){var a=2*s*Math.PI/c-Math.PI/2,o=Math.sin(a)*n,l=r,u=Math.cos(a)*n,_=s/c,d=e/h+(1-f);if(A.push(o*t,l*t+y,u*t),x.push(o,l,u),C.push(_,d),e<p&&s<c){var v=c+1,g=v*e+s+B[m][c]+1,b=v*(e+1)+s+B[m][c]+1,S=v*(e+1)+s+1+B[m][c]+1,w=v*e+s+1+B[m][c]+1;T.push(g,w,b),T.push(w,S,b)}}})(),new r.default(A,x,C,T,w,E,M)};var n=s(t("../../value-types/vec3")),r=s(t("./vertex-data"));function s(t){return t&&t.__esModule?t:{default:t}}var a=cc.v3(0,0,0),o=cc.v3(0,0,0);e.exports=i.default}),{"../../value-types/vec3":348,"./vertex-data":62}],53:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i){return void 0===t&&(t=.5),void 0===e&&(e=1),void 0===i&&(i={radialSegments:32,heightSegments:1,capped:!0,arc:2*Math.PI}),(0,r.default)(0,t,e,i)};var n,r=(n=t("./cylinder"))&&n.__esModule?n:{default:n};e.exports=i.default}),{"./cylinder":54}],54:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,s){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=2),void 0===s&&(s={radialSegments:32,heightSegments:1,capped:!0,arc:2*Math.PI});var l=.5*i,c=s.radialSegments,h=s.heightSegments,u=s.capped,_=s.arc,f=0;u||(t>0&&f++,e>0&&f++);var d=(c+1)*(h+1);u&&(d+=(c+1)*f+c*f);var p=c*h*6;u&&(p+=c*f*3);var m=new Array(p),y=new Array(3*d),v=new Array(3*d),g=new Array(2*d),b=Math.max(t,e),A=new n.default(-b,-l,-b),x=new n.default(b,l,b),C=Math.sqrt(b*b+l*l),T=0,S=0;return (function(){for(var r=[],s=t-e,u=s*s/i*Math.sign(s),f=0;f<=h;f++){for(var d=[],p=f/h,b=p*s+e,A=0;A<=c;++A){var x=A/c,C=x*_,w=Math.sin(C),E=Math.cos(C);y[3*T]=b*w,y[3*T+1]=p*i-l,y[3*T+2]=b*E,n.default.normalize(a,n.default.set(o,w,-u,E)),v[3*T]=a.x,v[3*T+1]=a.y,v[3*T+2]=a.z,g[2*T]=2*(1-x)%1,g[2*T+1]=p,d.push(T),++T}r.push(d)}for(var M=0;M<h;++M)for(var D=0;D<c;++D){var B=r[M][D],I=r[M+1][D],P=r[M+1][D+1],R=r[M][D+1];m[S]=B,m[++S]=R,m[++S]=I,m[++S]=R,m[++S]=P,m[++S]=I,++S}})(),u&&(e>0&&w(!1),t>0&&w(!0)),new r.default(y,v,g,m,A,x,C);function w(i){var n,r,s=i?t:e,a=i?1:-1;n=T;for(var o=1;o<=c;++o)y[3*T]=0,y[3*T+1]=l*a,y[3*T+2]=0,v[3*T]=0,v[3*T+1]=a,v[3*T+2]=0,g[2*T]=.5,g[2*T+1]=.5,++T;r=T;for(var h=0;h<=c;++h){var u=h/c*_,f=Math.cos(u),d=Math.sin(u);y[3*T]=s*d,y[3*T+1]=l*a,y[3*T+2]=s*f,v[3*T]=0,v[3*T+1]=a,v[3*T+2]=0,g[2*T]=.5-.5*d*a,g[2*T+1]=.5+.5*f,++T}for(var p=0;p<c;++p){var b=n+p,A=r+p;i?(m[S]=A+1,m[++S]=b,m[++S]=A,++S):(m[S]=b,m[++S]=A+1,m[++S]=A,++S)}}};var n=s(t("../../value-types/vec3")),r=s(t("./vertex-data"));function s(t){return t&&t.__esModule?t:{default:t}}var a=new n.default,o=new n.default;e.exports=i.default}),{"../../value-types/vec3":348,"./vertex-data":62}],55:[(function(t){"use strict";var e=(function(t){if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var e=f();if(e&&e.has(t))return e.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var s=n?Object.getOwnPropertyDescriptor(t,r):null;s&&(s.get||s.set)?Object.defineProperty(i,r,s):i[r]=t[r]}return i.default=t,e&&e.set(t,i),i})(t("./utils")),i=_(t("./box")),n=_(t("./cone")),r=_(t("./cylinder")),s=_(t("./plane")),a=_(t("./quad")),o=_(t("./sphere")),l=_(t("./torus")),c=_(t("./capsule")),h=t("./polyhedron"),u=_(t("./vertex-data"));function _(t){return t&&t.__esModule?t:{default:t}}function f(){if("function"!=typeof WeakMap)return null;var t=new WeakMap;return f=function(){return t},t}cc.primitive=Object.assign({box:i.default,cone:n.default,cylinder:r.default,plane:s.default,quad:a.default,sphere:o.default,torus:l.default,capsule:c.default,polyhedron:h.polyhedron,PolyhedronType:h.PolyhedronType,VertexData:u.default},e)}),{"./box":51,"./capsule":52,"./cone":53,"./cylinder":54,"./plane":56,"./polyhedron":57,"./quad":58,"./sphere":59,"./torus":60,"./utils":61,"./vertex-data":62}],56:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i){void 0===t&&(t=10),void 0===e&&(e=10),void 0===i&&(i={widthSegments:10,lengthSegments:10});var s=i.widthSegments,f=i.lengthSegments,d=.5*t,p=.5*e,m=[],y=[],v=[],g=[],b=new n.default(-d,0,-p),A=new n.default(d,0,p),x=Math.sqrt(t*t+e*e);n.default.set(h,-d,0,p),n.default.set(u,d,0,p),n.default.set(_,-d,0,-p);for(var C=0;C<=f;C++)for(var T=0;T<=s;T++){var S=T/s,w=C/f;if(n.default.lerp(a,h,u,S),n.default.lerp(o,h,_,w),n.default.sub(l,o,h),n.default.add(c,a,l),m.push(c.x,c.y,c.z),y.push(0,1,0),v.push(S,w),T<s&&C<f){var E=s+1,M=T+C*E,D=T+(C+1)*E,B=T+1+(C+1)*E,I=T+1+C*E;g.push(M,I,D),g.push(I,B,D)}}return new r.default(m,y,v,g,b,A,x)};var n=s(t("../../value-types/vec3")),r=s(t("./vertex-data"));function s(t){return t&&t.__esModule?t:{default:t}}var a=new n.default,o=new n.default,l=new n.default,c=new n.default,h=new n.default,u=new n.default,_=new n.default;e.exports=i.default}),{"../../value-types/vec3":348,"./vertex-data":62}],57:[(function(t,e,i){"use strict";i.__esModule=!0,i.polyhedron=i.PolyhedronType=void 0;var n,r=t("./utils"),s=(n=t("./vertex-data"))&&n.__esModule?n:{default:n},a=t("../../value-types"),o=cc.Enum({Tetrahedron:0,Octahedron:1,Dodecahedron:2,Icosahedron:3,Rhombicuboctahedron:4,TriangularPrism:5,PentagonalPrism:6,HexagonalPrism:7,SquarePyramid:8,PentagonalPyramid:9,TriangularDipyramid:10,PentagonalDipyramid:11,ElongatedSquareDipyramid:12,ElongatedPentagonalDipyramid:13,ElongatedPentagonalCupola:14});i.PolyhedronType=o;var l=[];l[0]={vertex:[[0,0,1.732051],[1.632993,0,-.5773503],[-.8164966,1.414214,-.5773503],[-.8164966,-1.414214,-.5773503]],face:[[0,1,2],[0,2,3],[0,3,1],[1,3,2]]},l[1]={vertex:[[0,0,1.414214],[1.414214,0,0],[0,1.414214,0],[-1.414214,0,0],[0,-1.414214,0],[0,0,-1.414214]],face:[[0,1,2],[0,2,3],[0,3,4],[0,4,1],[1,4,5],[1,5,2],[2,5,3],[3,5,4]]},l[2]={vertex:[[0,0,1.070466],[.7136442,0,.7978784],[-.3568221,.618034,.7978784],[-.3568221,-.618034,.7978784],[.7978784,.618034,.3568221],[.7978784,-.618034,.3568221],[-.9341724,.381966,.3568221],[.1362939,1,.3568221],[.1362939,-1,.3568221],[-.9341724,-.381966,.3568221],[.9341724,.381966,-.3568221],[.9341724,-.381966,-.3568221],[-.7978784,.618034,-.3568221],[-.1362939,1,-.3568221],[-.1362939,-1,-.3568221],[-.7978784,-.618034,-.3568221],[.3568221,.618034,-.7978784],[.3568221,-.618034,-.7978784],[-.7136442,0,-.7978784],[0,0,-1.070466]],face:[[0,1,4,7,2],[0,2,6,9,3],[0,3,8,5,1],[1,5,11,10,4],[2,7,13,12,6],[3,9,15,14,8],[4,10,16,13,7],[5,8,14,17,11],[6,12,18,15,9],[10,11,17,19,16],[12,13,16,19,18],[14,15,18,19,17]]},l[3]={vertex:[[0,0,1.175571],[1.051462,0,.5257311],[.3249197,1,.5257311],[-.8506508,.618034,.5257311],[-.8506508,-.618034,.5257311],[.3249197,-1,.5257311],[.8506508,.618034,-.5257311],[.8506508,-.618034,-.5257311],[-.3249197,1,-.5257311],[-1.051462,0,-.5257311],[-.3249197,-1,-.5257311],[0,0,-1.175571]],face:[[0,1,2],[0,2,3],[0,3,4],[0,4,5],[0,5,1],[1,5,7],[1,7,6],[1,6,2],[2,6,8],[2,8,3],[3,8,9],[3,9,4],[4,9,10],[4,10,5],[5,10,7],[6,7,11],[6,11,8],[7,10,11],[8,11,9],[9,11,10]]},l[4]={vertex:[[0,0,1.070722],[.7148135,0,.7971752],[-.104682,.7071068,.7971752],[-.6841528,.2071068,.7971752],[-.104682,-.7071068,.7971752],[.6101315,.7071068,.5236279],[1.04156,.2071068,.1367736],[.6101315,-.7071068,.5236279],[-.3574067,1,.1367736],[-.7888348,-.5,.5236279],[-.9368776,.5,.1367736],[-.3574067,-1,.1367736],[.3574067,1,-.1367736],[.9368776,-.5,-.1367736],[.7888348,.5,-.5236279],[.3574067,-1,-.1367736],[-.6101315,.7071068,-.5236279],[-1.04156,-.2071068,-.1367736],[-.6101315,-.7071068,-.5236279],[.104682,.7071068,-.7971752],[.6841528,-.2071068,-.7971752],[.104682,-.7071068,-.7971752],[-.7148135,0,-.7971752],[0,0,-1.070722]],face:[[0,2,3],[1,6,5],[4,9,11],[7,15,13],[8,16,10],[12,14,19],[17,22,18],[20,21,23],[0,1,5,2],[0,3,9,4],[0,4,7,1],[1,7,13,6],[2,5,12,8],[2,8,10,3],[3,10,17,9],[4,11,15,7],[5,6,14,12],[6,13,20,14],[8,12,19,16],[9,17,18,11],[10,16,22,17],[11,18,21,15],[13,15,21,20],[14,20,23,19],[16,19,23,22],[18,22,23,21]]},l[5]={vertex:[[0,0,1.322876],[1.309307,0,.1889822],[-.9819805,.8660254,.1889822],[.1636634,-1.299038,.1889822],[.3273268,.8660254,-.9449112],[-.8183171,-.4330127,-.9449112]],face:[[0,3,1],[2,4,5],[0,1,4,2],[0,2,5,3],[1,3,5,4]]},l[6]={vertex:[[0,0,1.159953],[1.013464,0,.5642542],[-.3501431,.9510565,.5642542],[-.7715208,-.6571639,.5642542],[.6633206,.9510565,-.03144481],[.8682979,-.6571639,-.3996071],[-1.121664,.2938926,-.03144481],[-.2348831,-1.063314,-.3996071],[.5181548,.2938926,-.9953061],[-.5850262,-.112257,-.9953061]],face:[[0,1,4,2],[0,2,6,3],[1,5,8,4],[3,6,9,7],[5,7,9,8],[0,3,7,5,1],[2,4,8,9,6]]},l[7]={vertex:[[0,0,1.118034],[.8944272,0,.6708204],[-.2236068,.8660254,.6708204],[-.7826238,-.4330127,.6708204],[.6708204,.8660254,.2236068],[1.006231,-.4330127,-.2236068],[-1.006231,.4330127,.2236068],[-.6708204,-.8660254,-.2236068],[.7826238,.4330127,-.6708204],[.2236068,-.8660254,-.6708204],[-.8944272,0,-.6708204],[0,0,-1.118034]],face:[[0,1,4,2],[0,2,6,3],[1,5,8,4],[3,6,10,7],[5,9,11,8],[7,10,11,9],[0,3,7,9,5,1],[2,4,8,11,10,6]]},l[8]={vertex:[[-.729665,.670121,.319155],[-.655235,-.29213,-.754096],[-.093922,-.607123,.537818],[.702196,.595691,.485187],[.776626,-.36656,-.588064]],face:[[1,4,2],[0,1,2],[3,0,2],[4,3,2],[4,1,0,3]]},l[9]={vertex:[[-.868849,-.100041,.61257],[-.329458,.976099,.28078],[-.26629,-.013796,-.477654],[-.13392,-1.034115,.229829],[.738834,.707117,-.307018],[.859683,-.535264,-.338508]],face:[[3,0,2],[5,3,2],[4,5,2],[1,4,2],[0,1,2],[0,3,5,4,1]]},l[10]={vertex:[[-.610389,.243975,.531213],[-.187812,-.48795,-.664016],[-.187812,.9759,-.664016],[.187812,-.9759,.664016],[.798201,.243975,.132803]],face:[[1,3,0],[3,4,0],[3,1,4],[0,2,1],[0,4,2],[2,4,1]]},l[11]={vertex:[[-1.028778,.392027,-.048786],[-.640503,-.646161,.621837],[-.125162,-.395663,-.540059],[.004683,.888447,-.651988],[.125161,.395663,.540059],[.632925,-.791376,.433102],[1.031672,.157063,-.354165]],face:[[3,2,0],[2,1,0],[2,5,1],[0,4,3],[0,1,4],[4,1,5],[2,3,6],[3,4,6],[5,2,6],[4,5,6]]},l[12]={vertex:[[-.669867,.334933,-.529576],[-.669867,.334933,.529577],[-.4043,1.212901,0],[-.334933,-.669867,-.529576],[-.334933,-.669867,.529577],[.334933,.669867,-.529576],[.334933,.669867,.529577],[.4043,-1.212901,0],[.669867,-.334933,-.529576],[.669867,-.334933,.529577]],face:[[8,9,7],[6,5,2],[3,8,7],[5,0,2],[4,3,7],[0,1,2],[9,4,7],[1,6,2],[9,8,5,6],[8,3,0,5],[3,4,1,0],[4,9,6,1]]},l[13]={vertex:[[-.931836,.219976,-.264632],[-.636706,.318353,.692816],[-.613483,-.735083,-.264632],[-.326545,.979634,0],[-.318353,-.636706,.692816],[-.159176,.477529,-.856368],[.159176,-.477529,-.856368],[.318353,.636706,.692816],[.326545,-.979634,0],[.613482,.735082,-.264632],[.636706,-.318353,.692816],[.931835,-.219977,-.264632]],face:[[11,10,8],[7,9,3],[6,11,8],[9,5,3],[2,6,8],[5,0,3],[4,2,8],[0,1,3],[10,4,8],[1,7,3],[10,11,9,7],[11,6,5,9],[6,2,0,5],[2,4,1,0],[4,10,7,1]]},l[14]={vertex:[[-.93465,.300459,-.271185],[-.838689,-.260219,-.516017],[-.711319,.717591,.128359],[-.710334,-.156922,.080946],[-.599799,.556003,-.725148],[-.503838,-.004675,-.969981],[-.487004,.26021,.48049],[-.460089,-.750282,-.512622],[-.376468,.973135,-.325605],[-.331735,-.646985,.084342],[-.254001,.831847,.530001],[-.125239,-.494738,-.966586],[.029622,.027949,.730817],[.056536,-.982543,-.262295],[.08085,1.087391,.076037],[.125583,-.532729,.485984],[.262625,.599586,.780328],[.391387,-.726999,-.716259],[.513854,-.868287,.139347],[.597475,.85513,.326364],[.641224,.109523,.783723],[.737185,-.451155,.538891],[.848705,-.612742,-.314616],[.976075,.365067,.32976],[1.072036,-.19561,.084927]],face:[[15,18,21],[12,20,16],[6,10,2],[3,0,1],[9,7,13],[2,8,4,0],[0,4,5,1],[1,5,11,7],[7,11,17,13],[13,17,22,18],[18,22,24,21],[21,24,23,20],[20,23,19,16],[16,19,14,10],[10,14,8,2],[15,9,13,18],[12,15,21,20],[6,12,16,10],[3,6,2,0],[9,3,1,7],[9,15,12,6,3],[22,17,11,5,4,8,14,19,23,24]]},i.polyhedron=function(t,e,i){void 0===e&&(e=1),void 0===i&&(i={sizeX:0,sizeY:0,sizeZ:0}),t=t&&(t<0||t>=l.length)?0:t||0;for(var n=i.sizeX||e,o=i.sizeY||e,c=i.sizeZ||e,h=l[t],u=h.face.length,_=[],f=[],d=[],p=[],m=new a.Vec3(1/0,1/0,1/0),y=new a.Vec3(-1/0,-1/0,-1/0),v=0;v<h.vertex.length;v++){var g=h.vertex[v][0]*n,b=h.vertex[v][1]*o,A=h.vertex[v][2]*c;m.x=Math.min(m.x,g),m.y=Math.min(m.y,b),m.z=Math.min(m.z,A),y.x=Math.max(y.x,g),y.y=Math.max(y.y,b),y.z=Math.max(y.z,A),_.push(g,b,A),p.push(0,0)}for(var x=0;x<u;x++)for(var C=0;C<h.face[x].length-2;C++)f.push(h.face[x][0],h.face[x][C+2],h.face[x][C+1]);(0,r.calcNormals)(_,f,d);var T=Math.sqrt(Math.pow(y.x-m.x,2),Math.pow(y.y-m.y,2),Math.pow(y.z-m.z,2));return new s.default(_,d,p,f,m,y,T)}}),{"../../value-types":338,"./utils":61,"./vertex-data":62}],58:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(){return new r.default(a,o,l,c,h,u,_)};var n,r=(n=t("./vertex-data"))&&n.__esModule?n:{default:n},s=t("../../value-types"),a=[-.5,-.5,0,-.5,.5,0,.5,.5,0,.5,-.5,0],o=[0,0,1,0,0,1,0,0,1,0,0,1],l=[0,0,0,1,1,1,1,0],c=[0,3,1,3,2,1],h=new s.Vec3(-.5,-.5,0),u=new s.Vec3(.5,.5,0),_=Math.sqrt(.5);e.exports=i.default}),{"../../value-types":338,"./vertex-data":62}],59:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e){void 0===t&&(t=.5),void 0===e&&(e={segments:32});for(var i=e.segments,n=[],a=[],o=[],l=[],c=new s.Vec3(-t,-t,-t),h=new s.Vec3(t,t,t),u=t,_=0;_<=i;++_)for(var f=_*Math.PI/i,d=Math.sin(f),p=-Math.cos(f),m=0;m<=i;++m){var y=2*m*Math.PI/i-Math.PI/2,v=Math.sin(y)*d,g=p,b=Math.cos(y)*d,A=m/i,x=_/i;if(n.push(v*t,g*t,b*t),a.push(v,g,b),o.push(A,x),_<i&&m<i){var C=i+1,T=C*_+m,S=C*(_+1)+m,w=C*(_+1)+m+1,E=C*_+m+1;l.push(T,E,S),l.push(E,w,S)}}return new r.default(n,a,o,l,c,h,u)};var n,r=(n=t("./vertex-data"))&&n.__esModule?n:{default:n},s=t("../../value-types");e.exports=i.default}),{"../../value-types":338,"./vertex-data":62}],60:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i){void 0===t&&(t=.4),void 0===e&&(e=.1),void 0===i&&(i={radialSegments:32,tubularSegments:32,arc:2*Math.PI});for(var n=i.radialSegments,a=i.tubularSegments,o=i.arc,l=[],c=[],h=[],u=[],_=new s.Vec3(-t-e,-e,-t-e),f=new s.Vec3(t+e,e,t+e),d=t+e,p=0;p<=n;p++)for(var m=0;m<=a;m++){var y=m/a,v=p/n,g=y*o,b=v*Math.PI*2,A=(t+e*Math.cos(b))*Math.sin(g),x=e*Math.sin(b),C=(t+e*Math.cos(b))*Math.cos(g),T=Math.sin(g)*Math.cos(b),S=Math.sin(b),w=Math.cos(g)*Math.cos(b);if(l.push(A,x,C),c.push(T,S,w),h.push(y,v),m<a&&p<n){var E=a+1,M=E*p+m,D=E*(p+1)+m,B=E*(p+1)+m+1,I=E*p+m+1;u.push(M,I,D),u.push(I,B,D)}}return new r.default(l,c,h,u,_,f,d)};var n,r=(n=t("./vertex-data"))&&n.__esModule?n:{default:n},s=t("../../value-types");e.exports=i.default}),{"../../value-types":338,"./vertex-data":62}],61:[(function(t,e,i){"use strict";i.__esModule=!0,i.wireframe=function(t){for(var e=[[0,1],[1,2],[2,0]],i=[],n={},r=0;r<t.length;r+=3)for(var s=0;s<3;++s){var a=t[r+e[s][0]],o=t[r+e[s][1]],l=a>o?o<<16|a:a<<16|o;void 0===n[l]&&(n[l]=0,i.push(a,o))}return i},i.invWinding=function(t){for(var e=[],i=0;i<t.length;i+=3)e.push(t[i],t[i+2],t[i+1]);return e},i.toWavefrontOBJ=function(t,e){void 0===e&&(e=1);for(var i=t.positions,n=t.uvs,r=t.normals,s=t.indices,a=function(t){return s[t]+1+"/"+(s[t]+1)+"/"+(s[t]+1)},o="",l=0;l<i.length;l+=3)o+="v "+i[l]*e+" "+i[l+1]*e+" "+i[l+2]*e+"\n";for(var c=0;c<n.length;c+=2)o+="vt "+n[c]+" "+n[c+1]+"\n";for(var h=0;h<r.length;h+=3)o+="vn "+r[h]+" "+r[h+1]+" "+r[h+2]+"\n";for(var u=0;u<s.length;u+=3)o+="f "+a(u)+" "+a(u+1)+" "+a(u+2)+"\n";return o},i.normals=function(t,e,i){void 0===i&&(i=1);for(var n=new Array(2*t.length),r=0;r<t.length/3;++r){var s=3*r,a=6*r;n[a+0]=t[s+0],n[a+1]=t[s+1],n[a+2]=t[s+2],n[a+3]=t[s+0]+e[s+0]*i,n[a+4]=t[s+1]+e[s+1]*i,n[a+5]=t[s+2]+e[s+2]*i}return n},i.calcNormals=function(t,e,i){for(var n=0,a=(i=i||new Array(t.length)).length;n<a;n++)i[n]=0;for(var o,l,c,h=cc.v3(),u=cc.v3(),_=cc.v3(),f=cc.v3(),d=cc.v3(),p=0,m=e.length;p<m;p+=3)o=3*e[p+0],l=3*e[p+1],c=3*e[p+2],s(h,t,o),s(u,t,l),s(_,t,c),r.default.subtract(f,_,u),r.default.subtract(d,h,u),r.default.cross(f,f,d),i[o]+=f.x,i[o+1]+=f.y,i[o+2]+=f.z,i[l]+=f.x,i[l+1]+=f.y,i[l+2]+=f.z,i[c]+=f.x,i[c+1]+=f.y,i[c+2]+=f.z;for(var y=cc.v3(),v=0,g=i.length;v<g;v+=3)y.x=i[v],y.y=i[v+1],y.z=i[v+2],y.normalizeSelf(),i[v]=y.x,i[v+1]=y.y,i[v+2]=y.z;return i};var n,r=(n=t("../../value-types/vec3"))&&n.__esModule?n:{default:n};function s(t,e,i){t.x=e[i],t.y=e[i+1],t.z=e[i+2]}}),{"../../value-types/vec3":348}],62:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.default=function(t,e,i,n,r,s,a){this.positions=void 0,this.normals=void 0,this.uvs=void 0,this.indices=void 0,this.minPos=void 0,this.maxPos=void 0,this.boundingRadius=void 0,this.positions=t,this.normals=e,this.uvs=i,this.indices=n,this.minPos=r,this.maxPos=s,this.boundingRadius=a},e.exports=i.default}),{}],63:[(function(t,e){"use strict";var i=t("../../../animation/animation-curves"),n=i.DynamicAnimCurve,r=i.quickFindIndex,s=cc.Class({name:"cc.JointMatrixCurve",extends:n,_findFrameIndex:r,sample:function(t,e){var i=this.ratios,n=this._findFrameIndex(i,e);n<-1&&(n=~n-1);for(var r=this.pairs,s=0;s<r.length;s++){var a=r[s];a.target._jointMatrix=a.values[n]}}});e.exports=s}),{"../../../animation/animation-curves":11}],64:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Skeleton",extends:cc.Asset,ctor:function(){this.loaded=!1,this._bindposes=[],this._uniqueBindPoses=[],this._jointPaths=[]},properties:{_model:cc.Model,_jointIndices:[],_skinIndex:-1,jointPaths:{get:function(){return this._jointPaths}},bindposes:{get:function(){return this._bindposes}},uniqueBindPoses:{get:function(){return this._uniqueBindPoses}},model:{get:function(){return this._model}}},onLoad:function(){for(var t=this._model.nodes,e=this._jointIndices,i=this._jointPaths,n=this._bindposes,r=this._uniqueBindPoses,s=0;s<e.length;s++){var a=t[e[s]];i[s]=a.path,a.uniqueBindPose?n[s]=r[s]=a.uniqueBindPose:n[s]=a.bindpose[this._skinIndex]}}});cc.Skeleton=e.exports=i}),{}],65:[(function(t,e){"use strict";var i=t("../../components/CCAnimation"),n=t("../CCModel"),r=t("./CCSkeletonAnimationClip"),s=cc.Class({name:"cc.SkeletonAnimation",extends:i,editor:!1,properties:{_model:{default:null,type:n},_defaultClip:{override:!0,default:null,type:r},_clips:{override:!0,default:[],type:[r],visible:!0},defaultClip:{override:!0,get:function(){return this._defaultClip},set:function(t){this._defaultClip=t},type:r},model:{get:function(){return this._model},set:function(t){this._model=t,this._updateClipModel()},type:n}},__preload:function(){this._updateClipModel()},_updateClipModel:function(){this._defaultClip&&(this._defaultClip._model=this._model);for(var t=this._clips,e=0;e<t.length;e++)t[e]._model=this._model},addClip:function(t,e){return t._model=this._model,i.prototype.addClip.call(this,t,e)},searchClips:!1});cc.SkeletonAnimation=e.exports=s}),{"../../components/CCAnimation":143,"../CCModel":27,"./CCSkeletonAnimationClip":66,"fire-path":void 0}],66:[(function(t,e){"use strict";var i,n=(i=t("../../value-types/mat4"))&&i.__esModule?i:{default:i},r=t("../../../animation/animation-clip"),s=t("./CCJointMatrixCurve");function a(t){var e=new Float32Array(16);return e.set(t.m),e}var o=cc.Class({name:"cc.SkeletonAnimationClip",extends:r,properties:{_nativeAsset:{override:!0,get:function(){return this._buffer},set:function(t){var e=ArrayBuffer.isView(t)?t.buffer:t;this._buffer=new Float32Array(e||t,0,e.byteLength/4)}},description:{default:null,type:Object},curveData:{visible:!1,override:!0,get:function(){return this._curveData||{}},set:function(){}}},statics:{preventDeferredLoadDependents:!0},_init:function(){return this._curveData?this._curveData:(this._curveData={},this._generateCommonCurve(),this._model.precomputeJointMatrix&&this._generateJointMatrixCurve(),this._curveData)},_generateCommonCurve:function(){var t=this._buffer,e=this.description,i=0;function n(){return t[i++]}this._curveData.paths||(this._curveData.paths={});var r=this._curveData.paths;for(var s in e){var a=e[s],o={};for(var l in r[s]={props:o},a){var c=[],h=a[l].frameCount;i=a[l].offset;for(var u=0;u<h;u++){var _=n(),f=void 0;"position"===l||"scale"===l?f=cc.v3(n(),n(),n()):"quat"===l&&(f=cc.quat(n(),n(),n(),n())),c.push({frame:_,value:f})}o[l]=c}}},_generateJointMatrixCurve:function(){var t=this._model.rootNode,e=this._curveData.paths,i={ratios:[],jointMatrixMap:{}},r=i.jointMatrixMap;function s(i,o,l){var c,h=e[i.path];if(i!==t&&h){var u,_=h.props;for(var f in _)for(var d=_[f],p=0;p<d.length;p++){var m=d[p];if(Math.abs(m.frame-o)<1e-4){i[f].set(m.value);break}if(m.frame>o){var y=d[p-1],v=(o-y.frame)/(m.frame-y.frame);y.value.lerp(m.value,v,i[f]);break}}c=cc.mat4(),n.default.fromRTS(c,i.quat,i.position,i.scale),l&&n.default.mul(c,l,c),_._jointMatrix||(_._jointMatrix=[]),i.uniqueBindPose&&(u=cc.mat4(),n.default.mul(u,c,i.uniqueBindPose)),r[i.path]||(r[i.path]=[]),u?r[i.path].push(a(u)):r[i.path].push(c)}var g=i.children;for(var b in g)s(g[b],o,c)}for(var o=0,l=this.duration,c=1/this.sample;o<l;)i.ratios.push(o/l),s(t,o),o+=c;this._curveData=i},_createJointMatrixCurve:function(t,e){var i=new s;i.ratios=this.curveData.ratios,i.pairs=[];var n=this.curveData.jointMatrixMap;for(var r in n){var a=cc.find(r,e);a&&i.pairs.push({target:a,values:n[r]})}return[i]},createCurves:function(t,e){return this._model?(this._init(),this._model.precomputeJointMatrix?this._createJointMatrixCurve(t,e):r.prototype.createCurves.call(this,t,e)):(cc.warn("Skeleton Animation Clip ["+this.name+"] Can not find model"),[])}});cc.SkeletonAnimationClip=e.exports=o}),{"../../../animation/animation-clip":10,"../../value-types/mat4":340,"./CCJointMatrixCurve":63}],67:[(function(t,e){"use strict";var i,n=(i=t("../../value-types/mat4"))&&i.__esModule?i:{default:i},r=t("./CCSkeleton"),s=t("../../mesh/CCMeshRenderer"),a=t("../../renderer/render-flow"),o=(t("../../../renderer/enums"),cc.mat4()),l=cc.mat4(),c=cc.Class({name:"cc.SkinnedMeshRenderer",extends:s,editor:!1,ctor:function(){this._jointsData=this._jointsFloat32Data=null,this._jointsTexture=null,this._joints=[],this._dummyNode=new cc.Node,this._jointsTextureOptions=null,this._usingRGBA8Texture=!1},properties:{_skeleton:r,_rootBone:cc.Node,skeleton:{get:function(){return this._skeleton},set:function(t){this._skeleton=t,this._init()},type:r},rootBone:{get:function(){return this._rootBone},set:function(t){this._rootBone=t,this._init()},type:cc.Node},enableAutoBatch:{get:function(){return!1},visible:!1,override:!0}},__preload:function(){this._super(),this._init()},_init:function(){this._model=this._skeleton&&this._skeleton.model,this._calFunc=null,this._initJoints(),this._initJointsTexture(),this._initCalcFunc(),this._updateRenderNode()},_calcWorldMatrixToRoot:function(t){var e=t._worldMatrixToRoot;if(!e){t._worldMatrixToRoot=e=cc.mat4(),t.getLocalMatrix(e);var i=t.parent;i!==this.rootBone&&(i._worldMatrixToRoot||this._calcWorldMatrixToRoot(i),n.default.mul(e,i._worldMatrixToRoot,e))}},_validateRender:function(){this._jointsData?this._super():this.disableRender()},_initJoints:function(){var t=this._joints;if(t.length=0,this.skeleton&&this.rootBone){for(var e=this._useJointMatrix(),i=this.skeleton.jointPaths,r=this.rootBone,s=0;s<i.length;s++){var l=cc.find(i[s],r);l||cc.warn("Can not find joint in root bone [%s] with path [%s]",r.name,i[s]),e&&(l._renderFlag&=~a.FLAG_CHILDREN,this._calcWorldMatrixToRoot(l)),t.push(l)}if(e)for(var c=this.skeleton.uniqueBindPoses,h=0;h<i.length;h++){var u=t[h];c[h]?(n.default.mul(o,u._worldMatrixToRoot,c[h]),u._jointMatrix=n.default.toArray([],o)):u._jointMatrix=u._worldMatrixToRoot}}},_initJointsTexture:function(){if(this._skeleton){var t=this._joints.length,e=!1;if(t<=cc.sys.getMaxJointMatrixSize()&&(e=!0,this._jointsData=this._jointsFloat32Data=new Float32Array(16*t)),!e){var i,n=!!cc.sys.glExtension("OES_texture_float");i=t>256?64:t>64?32:t>16?16:8,this._jointsData=this._jointsFloat32Data=new Float32Array(i*i*4);var r=cc.Texture2D.PixelFormat.RGBA32F,s=i,a=i;n||(this._jointsData=new Uint8Array(this._jointsFloat32Data.buffer),r=cc.Texture2D.PixelFormat.RGBA8888,s*=4,this._usingRGBA8Texture=!0,cc.warn("SkinnedMeshRenderer ["+this.node.name+"] has too many joints ["+t+"] and device do not support float32 texture, fallback to use RGBA8888 texture, which is much slower."));var o=this._jointsTexture||new cc.Texture2D,l=cc.Texture2D.Filter.NEAREST;o.setFilters(l,l),o.initWithData(this._jointsData,r,s,a),this._jointsTexture=o,this._jointsTextureOptions={format:r,width:o.width,height:o.height,images:[]}}this._updateMaterial()}},_updateMaterial:function(){s.prototype._updateMaterial.call(this);for(var t=this.getMaterials(),e=0;e<t.length;e++){var i=t[e];this._jointsTexture?(i.setProperty("jointsTexture",this._jointsTexture),i.setProperty("jointsTextureSize",new Float32Array([this._jointsTexture.width,this._jointsTexture.height])),i.define("CC_JOINTS_TEXTURE_FLOAT32",!!cc.sys.glExtension("OES_texture_float")),i.define("CC_USE_JOINTS_TEXTRUE",!0)):(this._jointsFloat32Data&&i.setProperty("jointMatrices",this._jointsFloat32Data,void 0,!0),i.define("CC_USE_JOINTS_TEXTRUE",!1)),i.define("CC_USE_SKINNING",!0)}},_setJointsDataWithArray:function(t,e){this._jointsFloat32Data.set(e,16*t)},_setJointsDataWithMatrix:function(t,e){this._jointsFloat32Data.set(e.m,16*t)},_commitJointsData:function(){this._jointsTexture&&(this._jointsTextureOptions.images[0]=this._jointsData,this._jointsTexture.update(this._jointsTextureOptions))},_useJointMatrix:function(){return this._model&&this._model.precomputeJointMatrix},_updateRenderNode:function(){this._useJointMatrix()||this._usingRGBA8Texture?this._assembler.setRenderNode(this.rootBone):this._assembler.setRenderNode(this._dummyNode)},_initCalcFunc:function(){this._useJointMatrix()?this._calFunc=this._calJointMatrix:this._usingRGBA8Texture?this._calFunc=this._calRGBA8WorldMatrix:this._calFunc=this._calWorldMatrix},_calJointMatrix:function(){for(var t=this._joints,e=this.skeleton.bindposes,i=this.skeleton.uniqueBindPoses,r=0;r<t.length;++r){var s=t[r]._jointMatrix;i[r]?this._setJointsDataWithArray(r,s):(n.default.multiply(o,s,e[r]),this._setJointsDataWithMatrix(r,o))}},_calRGBA8WorldMatrix:function(){var t=this._joints,e=this.skeleton.bindposes;this.rootBone._updateWorldMatrix();for(var i=this.rootBone._worldMatrix,r=n.default.invert(l,i),s=0;s<t.length;++s){var a=t[s];a._updateWorldMatrix(),n.default.multiply(o,r,a._worldMatrix),n.default.multiply(o,o,e[s]),this._setJointsDataWithMatrix(s,o)}},_calWorldMatrix:function(){for(var t=this._joints,e=this.skeleton.bindposes,i=0;i<t.length;++i){var r=t[i];r._updateWorldMatrix(),n.default.multiply(o,r._worldMatrix,e[i]),this._setJointsDataWithMatrix(i,o)}},calcJointMatrix:function(){this.skeleton&&this.rootBone&&(this._calFunc.call(this),this._commitJointsData())}});cc.SkinnedMeshRenderer=e.exports=c}),{"../../../renderer/enums":366,"../../mesh/CCMeshRenderer":207,"../../renderer/render-flow":271,"../../value-types/mat4":340,"./CCSkeleton":64}],68:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./CCSkinnedMeshRenderer"),r=t("../../mesh/mesh-renderer"),s=(t("../../renderer/render-flow"),(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n.prototype.fillBuffers=function(e,i){e.calcJointMatrix(),t.prototype.fillBuffers.call(this,e,i)},n})(r));i.default=s,cc.Assembler.register(n,s),e.exports=i.default}),{"../../mesh/mesh-renderer":210,"../../renderer/render-flow":271,"./CCSkinnedMeshRenderer":67}],69:[(function(t,e){"use strict";var i,n=t("./platform/utils"),r=(t("../../DebugInfos"),"https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md");function s(t){return function(){var e=arguments[0],i=t+" "+e+", please go to "+r+"#"+e+" to see details.";if(1===arguments.length)return i;if(2===arguments.length)return i+" Arguments: "+arguments[1];var n=cc.js.shiftArguments.apply(null,arguments);return i+" Arguments: "+n.join(", ")}}cc.log=cc.warn=cc.error=cc.assert=console.log.bind?console.log.bind(console):console.log,cc._throw=function(t){n.callInNextTick((function(){throw t}))};var a=s("Log");cc.logID=function(){cc.log(a.apply(null,arguments))};var o=s("Warning");cc.warnID=function(){cc.warn(o.apply(null,arguments))};var l=s("Error");cc.errorID=function(){cc.error(l.apply(null,arguments))};var c=s("Assert");cc.assertID=function(t){t||cc.assert(!1,c.apply(null,cc.js.shiftArguments.apply(null,arguments)))};var h=cc.Enum({NONE:0,INFO:1,WARN:2,ERROR:3,INFO_FOR_WEB_PAGE:4,WARN_FOR_WEB_PAGE:5,ERROR_FOR_WEB_PAGE:6});e.exports=cc.debug={DebugMode:h,_resetDebugSetting:function(t){if(cc.log=cc.warn=cc.error=cc.assert=function(){},t!==h.NONE){if(t>h.ERROR){var e=function(t){if(cc.game.canvas){if(!i){var e=document.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",cc.game.canvas.height);var n=e.style;n.zIndex="99999",n.position="absolute",n.top=n.left="0",(i=document.createElement("textarea")).setAttribute("rows","20"),i.setAttribute("cols","30"),i.setAttribute("disabled","true");var r=i.style;r.backgroundColor="transparent",r.borderBottom="1px solid #cccccc",r.borderTopWidth=r.borderLeftWidth=r.borderRightWidth="0px",r.borderTopStyle=r.borderLeftStyle=r.borderRightStyle="none",r.padding="0px",r.margin=0,e.appendChild(i),cc.game.canvas.parentNode.appendChild(e)}i.value=i.value+t+"\r\n",i.scrollTop=i.scrollHeight}};cc.error=function(){e("ERROR : "+cc.js.formatStr.apply(null,arguments))},cc.assert=function(t,i){!t&&i&&(i=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments)),e("ASSERT: "+i))},t!==h.ERROR_FOR_WEB_PAGE&&(cc.warn=function(){e("WARN : "+cc.js.formatStr.apply(null,arguments))}),t===h.INFO_FOR_WEB_PAGE&&(cc.log=function(){e(cc.js.formatStr.apply(null,arguments))})}else console&&console.log.apply&&(console.error||(console.error=console.log),console.warn||(console.warn=console.log),console.error.bind?cc.error=console.error.bind(console):cc.error=function(){return console.error.apply(console,arguments)},cc.assert=function(t,e){if(!t)throw e&&(e=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))),new Error(e)});t!==h.ERROR&&(console.warn.bind?cc.warn=console.warn.bind(console):cc.warn=function(){return console.warn.apply(console,arguments)}),t===h.INFO&&(console.log.bind?cc.log=console.log.bind(console):cc.log=function(){return console.log.apply(console,arguments)})}},getError:s("ERROR"),isDisplayStats:function(){return!!cc.profiler&&cc.profiler.isShowingStats()},setDisplayStats:function(t){cc.profiler&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(t?cc.profiler.showStats():cc.profiler.hideStats(),cc.game.config.showFPS=!!t)}}}),{"../../DebugInfos":void 0,"./platform/utils":262}],70:[(function(t,e){"use strict";var i=t("./event/event-target"),n=t("./component-scheduler"),r=t("./node-activator"),s=t("./platform/CCObject"),a=t("./CCGame"),o=t("./renderer"),l=t("./event-manager"),c=t("./CCScheduler");cc.Director=function(){i.call(this),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=null,this._scene=null,this._loadingScene="",this._totalFrames=0,this._lastUpdate=0,this._deltaTime=0,this._startTime=0,this._maxParticleDeltaTime=0,this._scheduler=null,this._compScheduler=null,this._nodeActivator=null,this._actionManager=null;var t=this;a.on(a.EVENT_SHOW,(function(){t._lastUpdate=performance.now()})),a.once(a.EVENT_ENGINE_INITED,this.init,this)},cc.Director.prototype={constructor:cc.Director,init:function(){return this._totalFrames=0,this._lastUpdate=performance.now(),this._startTime=this._lastUpdate,this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=cc.size(0,0),this._scheduler=new c,cc.ActionManager?(this._actionManager=new cc.ActionManager,this._scheduler.scheduleUpdate(this._actionManager,c.PRIORITY_SYSTEM,!1)):this._actionManager=null,this.sharedInit(),!0},sharedInit:function(){this._compScheduler=new n,this._nodeActivator=new r,l&&l.setEnabled(!0),cc.AnimationManager?(this._animationManager=new cc.AnimationManager,this._scheduler.scheduleUpdate(this._animationManager,c.PRIORITY_SYSTEM,!1)):this._animationManager=null,cc.CollisionManager?(this._collisionManager=new cc.CollisionManager,this._scheduler.scheduleUpdate(this._collisionManager,c.PRIORITY_SYSTEM,!1)):this._collisionManager=null,cc.PhysicsManager?(this._physicsManager=new cc.PhysicsManager,this._scheduler.scheduleUpdate(this._physicsManager,c.PRIORITY_SYSTEM,!1)):this._physicsManager=null,cc.Physics3DManager?(this._physics3DManager=new cc.Physics3DManager,this._scheduler.scheduleUpdate(this._physics3DManager,c.PRIORITY_SYSTEM,!1)):this._physics3DManager=null,cc._widgetManager&&cc._widgetManager.init(this)},calculateDeltaTime:function(t){t||(t=performance.now()),this._deltaTime=t>this._lastUpdate?(t-this._lastUpdate)/1e3:0,this._lastUpdate=t},convertToGL:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=i._devicePixelRatio*(t.x-r),l=i._devicePixelRatio*(s+n.height-t.y);return i._isRotated?cc.v2(i._viewportRect.width-l,o):cc.v2(o,l)},convertToUI:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=cc.v2(0,0);return i._isRotated?(o.x=r+t.y/i._devicePixelRatio,o.y=s+n.height-(i._viewportRect.width-t.x)/i._devicePixelRatio):(o.x=r+t.x*i._devicePixelRatio,o.y=s+n.height-t.y*i._devicePixelRatio),o},end:function(){this._purgeDirectorInNextLoop=!0},getWinSize:function(){return cc.size(cc.winSize)},getWinSizeInPixels:function(){return cc.size(cc.winSize)},pause:function(){this._paused||(this._paused=!0)},purgeCachedData:function(){cc.assetManager.releaseAll()},purgeDirector:function(){this._scheduler.unscheduleAll(),this._compScheduler.unscheduleAll(),this._nodeActivator.reset(),l&&l.setEnabled(!1),cc.isValid(this._scene)&&this._scene.destroy(),this._scene=null,cc.renderer.clear(),cc.assetManager.builtins.clear(),cc.game.pause(),cc.assetManager.releaseAll()},reset:function(){this.purgeDirector(),l&&l.setEnabled(!0),this._actionManager&&this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._animationManager&&this._scheduler.scheduleUpdate(this._animationManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._collisionManager&&this._scheduler.scheduleUpdate(this._collisionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._physicsManager&&this._scheduler.scheduleUpdate(this._physicsManager,cc.Scheduler.PRIORITY_SYSTEM,!1),cc.game.resume()},runSceneImmediate:function(t,e,i){cc.assertID(t instanceof cc.Scene||t instanceof cc.SceneAsset,1216),t instanceof cc.SceneAsset&&(t=t.scene),t._load();for(var n=Object.keys(a._persistRootNodes).map((function(t){return a._persistRootNodes[t]})),r=0;r<n.length;r++){var o=n[r],l=t.getChildByUuid(o.uuid);if(l){var c=l.getSiblingIndex();l._destroyImmediate(),t.insertChild(o,c)}else o.parent=t}var h=this._scene;cc.assetManager._releaseManager._autoRelease(h,t,n),cc.isValid(h)&&h.destroy(),this._scene=null,s._deferredDestroy(),e&&e(),this.emit(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,t),this._scene=t,t._activate(),cc.game.resume(),i&&i(null,t),this.emit(cc.Director.EVENT_AFTER_SCENE_LAUNCH,t)},runScene:function(t,e,i){cc.assertID(t,1205),cc.assertID(t instanceof cc.Scene||t instanceof cc.SceneAsset,1216),t instanceof cc.SceneAsset&&(t=t.scene),t._load(),this.once(cc.Director.EVENT_AFTER_DRAW,(function(){this.runSceneImmediate(t,e,i)}),this)},loadScene:function(t,e,i){if(this._loadingScene)return cc.warnID(1208,t,this._loadingScene),!1;var n=cc.assetManager.bundles.find((function(e){return e.getSceneInfo(t)}));if(n){this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING,t),this._loadingScene=t;var r=this;return console.time("LoadScene "+t),n.loadScene(t,(function(n,s){console.timeEnd("LoadScene "+t),r._loadingScene="",n?(n="Failed to load scene: "+n,cc.error(n),e&&e(n)):r.runSceneImmediate(s,i,e)})),!0}return cc.errorID(1209,t),!1},preloadScene:function(t,e,i){var n=cc.assetManager.bundles.find((function(e){return e.getSceneInfo(t)}));if(!n)return cc.errorID(1209,t),null;n.preloadScene(t,null,e,i)},resume:function(){this._paused&&(this._lastUpdate=performance.now(),this._lastUpdate||cc.logID(1200),this._paused=!1,this._deltaTime=0)},setDepthTest:function(t){cc.Camera.main&&(cc.Camera.main.depth=!!t)},setClearColor:function(t){cc.Camera.main&&(cc.Camera.main.backgroundColor=t)},getRunningScene:function(){return this._scene},getScene:function(){return this._scene},getAnimationInterval:function(){return 1e3/a.getFrameRate()},setAnimationInterval:function(t){a.setFrameRate(Math.round(1e3/t))},getDeltaTime:function(){return this._deltaTime},getTotalTime:function(){return performance.now()-this._startTime},getTotalFrames:function(){return this._totalFrames},isPaused:function(){return this._paused},getScheduler:function(){return this._scheduler},setScheduler:function(t){this._scheduler!==t&&(this._scheduler=t)},getActionManager:function(){return this._actionManager},setActionManager:function(t){this._actionManager!==t&&(this._actionManager&&this._scheduler.unscheduleUpdate(this._actionManager),this._actionManager=t,this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1))},getAnimationManager:function(){return this._animationManager},getCollisionManager:function(){return this._collisionManager},getPhysicsManager:function(){return this._physicsManager},getPhysics3DManager:function(){return this._physics3DManager},startAnimation:function(){cc.game.resume()},stopAnimation:function(){cc.game.pause()},_resetDeltaTime:function(){this._lastUpdate=performance.now(),this._deltaTime=0},mainLoop:function(t){this._purgeDirectorInNextLoop?(this._purgeDirectorInNextLoop=!1,this.purgeDirector()):(this.calculateDeltaTime(t),this._paused||(this.emit(cc.Director.EVENT_BEFORE_UPDATE),this._compScheduler.startPhase(),this._compScheduler.updatePhase(this._deltaTime),this._scheduler.update(this._deltaTime),this._compScheduler.lateUpdatePhase(this._deltaTime),this.emit(cc.Director.EVENT_AFTER_UPDATE),s._deferredDestroy()),this.emit(cc.Director.EVENT_BEFORE_DRAW),o.render(this._scene,this._deltaTime),this.emit(cc.Director.EVENT_AFTER_DRAW),l.frameUpdateListeners(),this._totalFrames++)},__fastOn:function(t,e,i){this.on(t,e,i)},__fastOff:function(t,e,i){this.off(t,e,i)}},cc.js.addon(cc.Director.prototype,i.prototype),cc.Director.EVENT_PROJECTION_CHANGED="director_projection_changed",cc.Director.EVENT_BEFORE_SCENE_LOADING="director_before_scene_loading",cc.Director.EVENT_BEFORE_SCENE_LAUNCH="director_before_scene_launch",cc.Director.EVENT_AFTER_SCENE_LAUNCH="director_after_scene_launch",cc.Director.EVENT_BEFORE_UPDATE="director_before_update",cc.Director.EVENT_AFTER_UPDATE="director_after_update",cc.Director.EVENT_BEFORE_VISIT="director_before_draw",cc.Director.EVENT_AFTER_VISIT="director_before_draw",cc.Director.EVENT_BEFORE_DRAW="director_before_draw",cc.Director.EVENT_AFTER_DRAW="director_after_draw",cc.Director.PROJECTION_2D=0,cc.Director.PROJECTION_3D=1,cc.Director.PROJECTION_CUSTOM=3,cc.Director.PROJECTION_DEFAULT=cc.Director.PROJECTION_2D,cc.Director.EVENT_BEFORE_PHYSICS="director_before_physics",cc.Director.EVENT_AFTER_PHYSICS="director_after_physics",cc.director=new cc.Director,e.exports=cc.director}),{"./CCGame":71,"./CCScheduler":75,"./component-scheduler":142,"./event-manager":183,"./event/event-target":185,"./node-activator":211,"./platform/CCObject":244,"./renderer":270}],71:[(function(t,e){"use strict";var i=t("./event/event-target");t("../audio/CCAudioEngine");var n=t("./CCDebug"),r=t("./renderer/index.js"),s=t("../core/renderer/utils/dynamic-atlas/manager"),a={EVENT_HIDE:"game_on_hide",EVENT_SHOW:"game_on_show",EVENT_RESTART:"game_on_restart",EVENT_GAME_INITED:"game_inited",EVENT_ENGINE_INITED:"engine_inited",EVENT_RENDERER_INITED:"engine_inited",RENDER_TYPE_CANVAS:0,RENDER_TYPE_WEBGL:1,RENDER_TYPE_OPENGL:2,_persistRootNodes:{},_paused:!0,_configLoaded:!1,_isCloning:!1,_prepared:!1,_rendererInitialized:!1,_renderContext:null,_intervalId:null,_lastTime:null,_frameTime:null,frame:null,container:null,canvas:null,renderType:-1,config:null,onStart:null,setFrameRate:function(t){this.config.frameRate=t,this._intervalId&&window.cancelAnimFrame(this._intervalId),this._intervalId=0,this._paused=!0,this._setAnimFrame(),this._runMainLoop()},getFrameRate:function(){return this.config.frameRate},step:function(){cc.director.mainLoop()},pause:function(){this._paused||(this._paused=!0,cc.audioEngine&&cc.audioEngine._break(),this._intervalId&&window.cancelAnimFrame(this._intervalId),this._intervalId=0)},resume:function(){this._paused&&(this._paused=!1,cc.audioEngine&&cc.audioEngine._restore(),cc.director._resetDeltaTime(),this._runMainLoop())},isPaused:function(){return this._paused},restart:function(){cc.director.once(cc.Director.EVENT_AFTER_DRAW,(function(){for(var t in a._persistRootNodes)a.removePersistRootNode(a._persistRootNodes[t]);cc.director.getScene().destroy(),cc.Object._deferredDestroy(),cc.audioEngine&&cc.audioEngine.uncacheAll(),cc.director.reset(),a.pause(),cc.assetManager.builtins.init((function(){a.onStart(),a.emit(a.EVENT_RESTART)}))}))},end:function(){close()},_initEngine:function(){this._rendererInitialized||(this._initRenderer(),this._initEvents(),this.emit(this.EVENT_ENGINE_INITED))},_loadPreviewScript:function(t){t()},_prepareFinished:function(t){var e=this;this._initEngine(),this._setAnimFrame(),cc.assetManager.builtins.init((function(){console.log("Cocos Creator v"+cc.ENGINE_VERSION),e._prepared=!0,e._runMainLoop(),e.emit(e.EVENT_GAME_INITED),t&&t()}))},eventTargetOn:i.prototype.on,eventTargetOnce:i.prototype.once,on:function(t,e,i,n){this._prepared&&t===this.EVENT_ENGINE_INITED||!this._paused&&t===this.EVENT_GAME_INITED?e.call(i):this.eventTargetOn(t,e,i,n)},once:function(t,e,i){this._prepared&&t===this.EVENT_ENGINE_INITED||!this._paused&&t===this.EVENT_GAME_INITED?e.call(i):this.eventTargetOnce(t,e,i)},prepare:function(t){var e=this;this._prepared?t&&t():this._loadPreviewScript((function(){e._prepareFinished(t)}))},run:function(t,e){this._initConfig(t),this.onStart=e,this.prepare(a.onStart&&a.onStart.bind(a))},addPersistRootNode:function(t){if(cc.Node.isNode(t)&&t.uuid){var e=t.uuid;if(!this._persistRootNodes[e]){var i=cc.director._scene;if(cc.isValid(i))if(t.parent){if(!(t.parent instanceof cc.Scene))return void cc.warnID(3801);if(t.parent!==i)return void cc.warnID(3802)}else t.parent=i;this._persistRootNodes[e]=t,t._persistNode=!0,cc.assetManager._releaseManager._addPersistNodeRef(t)}}else cc.warnID(3800)},removePersistRootNode:function(t){var e=t.uuid||"";t===this._persistRootNodes[e]&&(delete this._persistRootNodes[e],t._persistNode=!1,cc.assetManager._releaseManager._removePersistNodeRef(t))},isPersistRootNode:function(t){return t._persistNode},_setAnimFrame:function(){this._lastTime=performance.now();var t=a.config.frameRate;this._frameTime=1e3/t,cc.director._maxParticleDeltaTime=this._frameTime/1e3*2;var e=window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;60!==t&&30!==t?(window.requestAnimFrame=e?this._stTimeWithRAF:this._stTime,window.cancelAnimFrame=this._ctTime):(window.requestAnimFrame=e||this._stTime,window.cancelAnimFrame=window.cancelAnimationFrame||window.cancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.msCancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.oCancelAnimationFrame||this._ctTime)},_stTimeWithRAF:function(t){var e=performance.now(),i=Math.max(0,a._frameTime-(e-a._lastTime)),n=window.setTimeout((function(){window.requestAnimationFrame(t)}),i);return a._lastTime=e+i,n},_stTime:function(t){var e=performance.now(),i=Math.max(0,a._frameTime-(e-a._lastTime)),n=window.setTimeout((function(){t()}),i);return a._lastTime=e+i,n},_ctTime:function(t){window.clearTimeout(t)},_runMainLoop:function(){if(this._prepared){var t,e=this,i=e.config,r=cc.director,s=!0,a=i.frameRate;n.setDisplayStats(i.showFPS),t=function(i){if(!e._paused){if(e._intervalId=window.requestAnimFrame(t),30===a&&(s=!s))return;r.mainLoop(i)}},e._intervalId=window.requestAnimFrame(t),e._paused=!1}},_initConfig:function(t){"number"!=typeof t.debugMode&&(t.debugMode=0),t.exposeClassName=!!t.exposeClassName,"number"!=typeof t.frameRate&&(t.frameRate=60);var e=t.renderMode;("number"!=typeof e||e>2||e<0)&&(t.renderMode=0),"boolean"!=typeof t.registerSystemEvent&&(t.registerSystemEvent=!0),t.showFPS=1!==e&&!!t.showFPS,this.collisionMatrix=t.collisionMatrix||[],this.groupList=t.groupList||[],n._resetDebugSetting(t.debugMode),this.config=t,this._configLoaded=!0},_determineRenderType:function(){var t=this.config,e=parseInt(t.renderMode)||0;this.renderType=this.RENDER_TYPE_CANVAS;var i=!1;if(0===e?cc.sys.capabilities.opengl?(this.renderType=this.RENDER_TYPE_WEBGL,i=!0):cc.sys.capabilities.canvas&&(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):1===e&&cc.sys.capabilities.canvas?(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):2===e&&cc.sys.capabilities.opengl&&(this.renderType=this.RENDER_TYPE_WEBGL,i=!0),!i)throw new Error(n.getError(3820,e))},_initRenderer:function(){if(!this._rendererInitialized){var t,e,i,n,a=this.config.id,o=a instanceof HTMLElement?a:document.querySelector(a)||document.querySelector("#"+a);if("CANVAS"===o.tagName?(t=o.width,e=o.height,this.canvas=i=o,this.container=n=document.createElement("DIV"),i.parentNode&&i.parentNode.insertBefore(n,i)):("DIV"!==o.tagName&&cc.warnID(3819),t=o.clientWidth,e=o.clientHeight,this.canvas=i=document.createElement("CANVAS"),this.container=n=document.createElement("DIV"),o.appendChild(n)),n.setAttribute("id","Cocos2dGameContainer"),n.appendChild(i),this.frame=n.parentNode===document.body?document.documentElement:n.parentNode,(function(t){(" "+t.className+" ").indexOf(" gameCanvas ")>-1||(t.className&&(t.className+=" "),t.className+="gameCanvas")})(i),i.setAttribute("width",t||480),i.setAttribute("height",e||320),i.setAttribute("tabindex",99),this._determineRenderType(),this.renderType===this.RENDER_TYPE_WEBGL){var l={stencil:!0,antialias:cc.macro.ENABLE_WEBGL_ANTIALIAS,alpha:cc.macro.ENABLE_TRANSPARENT_CANVAS};r.initWebGL(i,l),this._renderContext=r.device._gl,!cc.macro.CLEANUP_IMAGE_CACHE&&s&&(s.enabled=!0)}this._renderContext||(this.renderType=this.RENDER_TYPE_CANVAS,r.initCanvas(i),this._renderContext=r.device._ctx),this.canvas.oncontextmenu=function(){if(!cc._isContextMenuEnable)return!1},this._rendererInitialized=!0}},_initEvents:function(){var t,e=window;this.config.registerSystemEvent&&cc.internal.inputManager.registerSystemEvent(this.canvas),void 0!==document.hidden?t="hidden":void 0!==document.mozHidden?t="mozHidden":void 0!==document.msHidden?t="msHidden":void 0!==document.webkitHidden&&(t="webkitHidden");var i=!1;function n(){i||(i=!0,a.emit(a.EVENT_HIDE))}function r(t,e,n,r,s){i&&(i=!1,a.emit(a.EVENT_SHOW,t,e,n,r,s))}if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],o=0;o<s.length;o++)document.addEventListener(s[o],(function(e){var i=document[t];(i=i||e.hidden)?n():r()}));else e.addEventListener("blur",n),e.addEventListener("focus",r);navigator.userAgent.indexOf("MicroMessenger")>-1&&(e.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(e.addEventListener("pagehide",n),e.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r)),this.on(a.EVENT_HIDE,(function(){a.pause()})),this.on(a.EVENT_SHOW,(function(){a.resume()}))}};i.call(a),cc.js.addon(a,i.prototype),cc.game=e.exports=a}),{"../audio/CCAudioEngine":21,"../core/renderer/utils/dynamic-atlas/manager":273,"./CCDebug":69,"./event/event-target":185,"./renderer/index.js":270}],72:[(function(t,e){"use strict";var i=t("./value-types"),n=t("./utils/base-node"),r=t("./utils/prefab-helper"),s=t("./utils/trans-pool").NodeMemPool,a=t("./utils/affine-transform"),o=t("./event-manager"),l=t("./platform/CCMacro"),c=t("./platform/js"),h=(t("./event/event"),t("./event/event-target")),u=t("./renderer/render-flow"),_=cc.Object.Flags.Destroying,f=Math.PI/180,d=!!cc.ActionManager,p=function(){},m=new i.Vec3,y=new i.Quat,v=new i.Vec3,g=new i.Vec3,b=new i.Quat,A=new i.Quat,x=new i.Vec3,C=new i.Vec3,T=new i.Vec3,S=new i.Vec3,w=new i.Vec3,E=new i.Quat,M=new i.Quat,D=new i.Vec3,B=new i.Quat,I=new i.Vec3,P=new i.Quat,R=new i.Vec3,O=new i.Vec3,L=new i.Quat,F=new i.Quat,V=(new i.Quat,cc.mat4()),N=new i.Vec3,k=new Array(16);k.length=0;var z=cc.Enum({DEBUG:31}),G=cc.Enum({POSITION:1,SCALE:2,ROTATION:4,SKEW:8,TRS:7,RS:6,TRSS:15,PHYSICS_POSITION:16,PHYSICS_SCALE:32,PHYSICS_ROTATION:64,PHYSICS_TRS:112,PHYSICS_RS:96,ALL_POSITION:17,ALL_SCALE:34,ALL_ROTATION:68,ALL_TRS:119,ALL:65535}),U=cc.Enum({TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_WHEEL:"mousewheel",POSITION_CHANGED:"position-changed",ROTATION_CHANGED:"rotation-changed",SCALE_CHANGED:"scale-changed",SIZE_CHANGED:"size-changed",ANCHOR_CHANGED:"anchor-changed",COLOR_CHANGED:"color-changed",CHILD_ADDED:"child-added",CHILD_REMOVED:"child-removed",CHILD_REORDER:"child-reorder",GROUP_CHANGED:"group-changed",SIBLING_ORDER_CHANGED:"sibling-order-changed"}),j=[U.TOUCH_START,U.TOUCH_MOVE,U.TOUCH_END,U.TOUCH_CANCEL],H=[U.MOUSE_DOWN,U.MOUSE_ENTER,U.MOUSE_MOVE,U.MOUSE_LEAVE,U.MOUSE_UP,U.MOUSE_WHEEL],W=!0,X=function(t){if(0!==t){W&&cc.warn("`cc.Node.skewX/Y` is deprecated since v2.2.1, please use 3D node instead.",""),W=!1}},Y=null,q=function(t,e){var i=t.getLocation(),n=this.owner;return!!n._hitTest(i,this)&&(e.type=U.TOUCH_START,e.touch=t,e.bubbles=!0,n.dispatchEvent(e),!0)},J=function(t,e){var i=this.owner;e.type=U.TOUCH_MOVE,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},Z=function(t,e){var i=t.getLocation(),n=this.owner;n._hitTest(i,this)?e.type=U.TOUCH_END:e.type=U.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,n.dispatchEvent(e)},K=function(t,e){t.getLocation();var i=this.owner;e.type=U.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},Q=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=U.MOUSE_DOWN,t.bubbles=!0,i.dispatchEvent(t))},$=function(t){var e=t.getLocation(),i=this.owner;if(i._hitTest(e,this))this._previousIn||(Y&&Y._mouseListener&&(t.type=U.MOUSE_LEAVE,Y.dispatchEvent(t),Y._mouseListener._previousIn=!1),Y=this.owner,t.type=U.MOUSE_ENTER,i.dispatchEvent(t),this._previousIn=!0),t.type=U.MOUSE_MOVE,t.bubbles=!0,i.dispatchEvent(t);else{if(!this._previousIn)return;t.type=U.MOUSE_LEAVE,i.dispatchEvent(t),this._previousIn=!1,Y=null}t.stopPropagation()},tt=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=U.MOUSE_UP,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())},et=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=U.MOUSE_WHEEL,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())};function it(t,e){if(e){for(var i=0,n=null,r=t;r&&cc.Node.isNode(r);r=r._parent,++i)if(r.getComponent(e)){var s={index:i,node:r};n?n.push(s):n=[s]}return n}return null}function nt(t,e){if(!(t._objFlags&_)){if(t._bubblingListeners)for(var i=0,n=e.length;i<n;++i)if(t._bubblingListeners.hasEventListener(e[i]))return!0;if(t._capturingListeners)for(var r=0,s=e.length;r<s;++r)if(t._capturingListeners.hasEventListener(e[r]))return!0;return!1}return!0}function rt(t,e){var i,n;for(e.target=t,k.length=0,t._getCapturingTargets(e.type,k),e.eventPhase=1,n=k.length-1;n>=0;--n)if((i=k[n])._capturingListeners&&(e.currentTarget=i,i._capturingListeners.emit(e.type,e,k),e._propagationStopped))return void(k.length=0);if(k.length=0,e.eventPhase=2,e.currentTarget=t,t._capturingListeners&&t._capturingListeners.emit(e.type,e),!e._propagationImmediateStopped&&t._bubblingListeners&&t._bubblingListeners.emit(e.type,e),!e._propagationStopped&&e.bubbles)for(t._getBubblingTargets(e.type,k),e.eventPhase=3,n=0;n<k.length;++n)if((i=k[n])._bubblingListeners&&(e.currentTarget=i,i._bubblingListeners.emit(e.type,e),e._propagationStopped))return void(k.length=0);k.length=0}function st(t){var e=t.groupIndex;return 0===e&&t.parent&&(e=st(t.parent)),e}function at(t){var e=st(t);t._cullingMask=1<<e;for(var i=0;i<t._children.length;i++)at(t._children[i])}function ot(){if(this._localMatDirty&G.TRSS){var t=this._matrix,e=t.m;if(i.Trs.toMat4(t,this._trs),this._skewX||this._skewY){var n=e[0],r=e[1],s=e[4],a=e[5],o=Math.tan(this._skewX*f),l=Math.tan(this._skewY*f);o===1/0&&(o=99999999),l===1/0&&(l=99999999),e[0]=n+s*l,e[1]=r+a*l,e[4]=s+n*o,e[5]=a+r*o}this._localMatDirty&=~G.TRSS,this._worldMatDirty=!0}}function lt(){var t=this._localMatDirty;if(t&G.TRSS){var e=this._matrix.m,i=this._trs;if(t&(G.RS|G.SKEW)){var n=-this._eulerAngles.z,r=this._skewX||this._skewY,s=i[7],a=i[8];if(n||r){var o=1,l=0,c=0,h=1;if(n){var u=n*f;c=Math.sin(u),o=h=Math.cos(u),l=-c}if(e[0]=o*=s,e[1]=l*=s,e[4]=c*=a,e[5]=h*=a,r){var _=e[0],d=e[1],p=e[4],m=e[5],y=Math.tan(this._skewX*f),v=Math.tan(this._skewY*f);y===1/0&&(y=99999999),v===1/0&&(v=99999999),e[0]=_+p*v,e[1]=d+m*v,e[4]=p+_*y,e[5]=m+d*y}}else e[0]=s,e[1]=0,e[4]=0,e[5]=a}e[12]=i[0],e[13]=i[1],this._localMatDirty&=~G.TRSS,this._worldMatDirty=!0}}function ct(){if(this._localMatDirty&G.TRSS&&this._updateLocalMatrix(),this._parent){var t=this._parent._worldMatrix;i.Mat4.mul(this._worldMatrix,t,this._matrix)}else i.Mat4.copy(this._worldMatrix,this._matrix);this._worldMatDirty=!1}function ht(){this._localMatDirty&G.TRSS&&this._updateLocalMatrix();var t=this._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):i.Mat4.copy(this._worldMatrix,this._matrix),this._worldMatDirty=!1}function ut(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],l=n[4],c=n[5],h=n[12],u=n[13],_=r[0],f=r[1],d=r[4],p=r[5],m=r[12],y=r[13];0!==o||0!==l?(s[0]=_*a+f*l,s[1]=_*o+f*c,s[4]=d*a+p*l,s[5]=d*o+p*c,s[12]=a*m+l*y+h,s[13]=o*m+c*y+u):(s[0]=_*a,s[1]=f*c,s[4]=d*a,s[5]=p*c,s[12]=a*m+h,s[13]=c*y+u)}var _t=i.Mat4.mul,ft={name:"cc.Node",extends:n,properties:{_opacity:255,_color:cc.Color.WHITE,_contentSize:cc.Size,_anchorPoint:cc.v2(.5,.5),_position:void 0,_scale:void 0,_trs:null,_eulerAngles:cc.Vec3,_skewX:0,_skewY:0,_zIndex:{default:void 0,type:cc.Integer},_localZOrder:{default:0,serializable:!1},_is3DNode:!1,_groupIndex:{default:0,formerlySerializedAs:"groupIndex"},groupIndex:{get:function(){return this._groupIndex},set:function(t){this._groupIndex=t,at(this),this.emit(U.GROUP_CHANGED,this)}},group:{get:function(){return cc.game.groupList[this.groupIndex]||""},set:function(t){this.groupIndex=cc.game.groupList.indexOf(t)}},x:{get:function(){return this._trs[0]},set:function(t){var e=this._trs;t!==e[0]&&(e[0]=t,this.setLocalDirty(G.ALL_POSITION),1&this._eventMask&&this.emit(U.POSITION_CHANGED))}},y:{get:function(){return this._trs[1]},set:function(t){var e=this._trs;t!==e[1]&&(e[1]=t,this.setLocalDirty(G.ALL_POSITION),1&this._eventMask&&this.emit(U.POSITION_CHANGED))}},z:{get:function(){return this._trs[2]},set:function(t){var e=this._trs;t!==e[2]&&(e[2]=t,this.setLocalDirty(G.ALL_POSITION),this._renderFlag|=u.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(U.POSITION_CHANGED))}},rotation:{get:function(){return-this.angle},set:function(t){this.angle=-t}},angle:{get:function(){return this._eulerAngles.z},set:function(t){i.Vec3.set(this._eulerAngles,0,0,t),i.Trs.fromAngleZ(this._trs,t),this.setLocalDirty(G.ALL_ROTATION),4&this._eventMask&&this.emit(U.ROTATION_CHANGED)}},rotationX:{get:function(){return this._eulerAngles.x},set:function(t){this._eulerAngles.x!==t&&(this._eulerAngles.x=t,this._eulerAngles.x===this._eulerAngles.y?i.Trs.fromAngleZ(this._trs,-t):i.Trs.fromEulerNumber(this._trs,t,this._eulerAngles.y,0),this.setLocalDirty(G.ALL_ROTATION),4&this._eventMask&&this.emit(U.ROTATION_CHANGED))}},rotationY:{get:function(){return this._eulerAngles.y},set:function(t){this._eulerAngles.y!==t&&(this._eulerAngles.y=t,this._eulerAngles.x===this._eulerAngles.y?i.Trs.fromAngleZ(this._trs,-t):i.Trs.fromEulerNumber(this._trs,this._eulerAngles.x,t,0),this.setLocalDirty(G.ALL_ROTATION),4&this._eventMask&&this.emit(U.ROTATION_CHANGED))}},eulerAngles:{get:function(){return i.Trs.toEuler(this._eulerAngles,this._trs)},set:function(t){i.Trs.fromEuler(this._trs,t),this.setLocalDirty(G.ALL_ROTATION),this._renderFlag|=u.FLAG_TRANSFORM,4&this._eventMask&&this.emit(U.ROTATION_CHANGED)}},quat:{get:function(){var t=this._trs;return new i.Quat(t[3],t[4],t[5],t[6])},set:function(t){this.setRotation(t)}},scale:{get:function(){return this._trs[7]},set:function(t){this.setScale(t)}},scaleX:{get:function(){return this._trs[7]},set:function(t){this._trs[7]!==t&&(this._trs[7]=t,this.setLocalDirty(G.ALL_SCALE),2&this._eventMask&&this.emit(U.SCALE_CHANGED))}},scaleY:{get:function(){return this._trs[8]},set:function(t){this._trs[8]!==t&&(this._trs[8]=t,this.setLocalDirty(G.ALL_SCALE),2&this._eventMask&&this.emit(U.SCALE_CHANGED))}},scaleZ:{get:function(){return this._trs[9]},set:function(t){this._trs[9]!==t&&(this._trs[9]=t,this.setLocalDirty(G.ALL_SCALE),this._renderFlag|=u.FLAG_TRANSFORM,2&this._eventMask&&this.emit(U.SCALE_CHANGED))}},skewX:{get:function(){return this._skewX},set:function(t){X(t),this._skewX=t,this.setLocalDirty(G.SKEW)}},skewY:{get:function(){return this._skewY},set:function(t){X(t),this._skewY=t,this.setLocalDirty(G.SKEW)}},opacity:{get:function(){return this._opacity},set:function(t){t=cc.misc.clampf(t,0,255),this._opacity!==t&&(this._opacity=t,this._renderFlag|=u.FLAG_OPACITY_COLOR)},range:[0,255]},color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||(this._color.set(t),this._renderFlag|=u.FLAG_COLOR,32&this._eventMask&&this.emit(U.COLOR_CHANGED,t))}},anchorX:{get:function(){return this._anchorPoint.x},set:function(t){var e=this._anchorPoint;e.x!==t&&(e.x=t,16&this._eventMask&&this.emit(U.ANCHOR_CHANGED))}},anchorY:{get:function(){return this._anchorPoint.y},set:function(t){var e=this._anchorPoint;e.y!==t&&(e.y=t,16&this._eventMask&&this.emit(U.ANCHOR_CHANGED))}},width:{get:function(){return this._contentSize.width},set:function(t){t!==this._contentSize.width&&(this._contentSize.width=t,8&this._eventMask&&this.emit(U.SIZE_CHANGED))}},height:{get:function(){return this._contentSize.height},set:function(t){t!==this._contentSize.height&&(this._contentSize.height=t,8&this._eventMask&&this.emit(U.SIZE_CHANGED))}},zIndex:{get:function(){return this._localZOrder>>16},set:function(t){t>l.MAX_ZINDEX?(cc.warnID(1636),t=l.MAX_ZINDEX):t<l.MIN_ZINDEX&&(cc.warnID(1637),t=l.MIN_ZINDEX),this.zIndex!==t&&(this._localZOrder=65535&this._localZOrder|t<<16,this.emit(U.SIBLING_ORDER_CHANGED),this._onSiblingIndexChanged())}},is3DNode:{get:function(){return this._is3DNode},set:function(t){this._is3DNode=t,this._update3DFunction()}},up:{get:function(){return i.Vec3.transformQuat(I,i.Vec3.UP,this.getWorldRotation(P)).clone()}},right:{get:function(){return i.Vec3.transformQuat(I,i.Vec3.RIGHT,this.getWorldRotation(P)).clone()}},forward:{get:function(){return i.Vec3.transformQuat(I,i.Vec3.FORWARD,this.getWorldRotation(P)).clone()}}},ctor:function(){this._reorderChildDirty=!1,this._widget=null,this._renderComponent=null,this._capturingListeners=null,this._bubblingListeners=null,this._touchListener=null,this._mouseListener=null,this._initDataFromPool(),this._eventMask=0,this._cullingMask=1,this._childArrivalOrder=1,this._renderFlag=u.FLAG_TRANSFORM|u.FLAG_OPACITY_COLOR},statics:{EventType:U,_LocalDirtyFlag:G,isNode:function(t){return t instanceof dt&&(t.constructor===dt||!(t instanceof cc.Scene))},BuiltinGroupIndex:z},_onSiblingIndexChanged:function(){this._parent&&this._parent._delaySort()},_onPreDestroy:function(){this._onPreDestroyBase(),d&&cc.director.getActionManager().removeAllActionsFromTarget(this),Y===this&&(Y=null),this._bubblingListeners&&this._bubblingListeners.clear(),this._capturingListeners&&this._capturingListeners.clear(),(this._touchListener||this._mouseListener)&&(o.removeListeners(this),this._touchListener&&(this._touchListener.owner=null,this._touchListener.mask=null,this._touchListener=null),this._mouseListener&&(this._mouseListener.owner=null,this._mouseListener.mask=null,this._mouseListener=null)),this._backDataIntoPool(),this._reorderChildDirty&&cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)},_onPostActivated:function(t){var e=d?cc.director.getActionManager():null;t?(this._renderFlag|=u.FLAG_WORLD_TRANSFORM,e&&e.resumeTarget(this),o.resumeTarget(this),this._checkListenerMask()):(e&&e.pauseTarget(this),o.pauseTarget(this))},_onHierarchyChanged:function(t){this._updateOrderOfArrival(),at(this),this._parent&&this._parent._delaySort(),this._renderFlag|=u.FLAG_WORLD_TRANSFORM,this._onHierarchyChangedBase(t),cc._widgetManager&&(cc._widgetManager._nodesOrderDirty=!0),t&&this._activeInHierarchy&&this._checkListenerMask()},_update3DFunction:function(){this._is3DNode?(this._updateLocalMatrix=ot,this._calculWorldMatrix=ct,this._mulMat=_t):(this._updateLocalMatrix=lt,this._calculWorldMatrix=ht,this._mulMat=ut),this._renderComponent&&this._renderComponent._on3DNodeChanged&&this._renderComponent._on3DNodeChanged(),this._renderFlag|=u.FLAG_TRANSFORM,this._localMatDirty=G.ALL},_initDataFromPool:function(){this._spaceInfo||(this._spaceInfo=s.pop());var t=this._spaceInfo;this._matrix=cc.mat4(t.localMat),i.Mat4.identity(this._matrix),this._worldMatrix=cc.mat4(t.worldMat),i.Mat4.identity(this._worldMatrix),this._localMatDirty=G.ALL,this._worldMatDirty=!0;var e=this._trs=t.trs;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=1,e[7]=1,e[8]=1,e[9]=1},_backDataIntoPool:function(){s.push(this._spaceInfo),this._matrix=null,this._worldMatrix=null,this._trs=null,this._spaceInfo=null},_toEuler:function(){if(this.is3DNode)i.Trs.toEuler(this._eulerAngles,this._trs);else{var t=Math.asin(this._trs[5])/f*2;i.Vec3.set(this._eulerAngles,0,0,t)}},_fromEuler:function(){this.is3DNode?i.Trs.fromEuler(this._trs,this._eulerAngles):i.Trs.fromAngleZ(this._trs,this._eulerAngles.z)},_initProperties:function(){this._is3DNode&&this._update3DFunction();var t=this._trs;if(t){var e=t;t=this._trs=this._spaceInfo.trs,11===e.length?t.set(e.subarray(1)):t.set(e)}else t=this._trs=this._spaceInfo.trs;this._fromEuler()},_onBatchCreated:function(t){this._initProperties(),this._cullingMask=1<<st(this),this._activeInHierarchy||(d&&cc.director.getActionManager().pauseTarget(this),o.pauseTarget(this));for(var e=this._children,i=0,n=e.length;i<n;i++){var s=e[i];if(!t){var a=s._prefab;a&&a.sync&&a.root===s&&r.syncWithPrefab(s),s._updateOrderOfArrival()}s._onBatchCreated(t)}e.length>0&&(this._renderFlag|=u.FLAG_CHILDREN)},_checkListenerMask:function(){if(this._touchListener){var t=this._touchListener.mask=it(this,cc.Mask);this._mouseListener&&(this._mouseListener.mask=t)}else this._mouseListener&&(this._mouseListener.mask=it(this,cc.Mask))},_checknSetupSysEvent:function(t){var e=!1,i=!1;return-1!==j.indexOf(t)?(this._touchListener||(this._touchListener=cc.EventListener.create({event:cc.EventListener.TOUCH_ONE_BY_ONE,swallowTouches:!0,owner:this,mask:it(this,cc.Mask),onTouchBegan:q,onTouchMoved:J,onTouchEnded:Z,onTouchCancelled:K}),o.addListener(this._touchListener,this),e=!0),i=!0):-1!==H.indexOf(t)&&(this._mouseListener||(this._mouseListener=cc.EventListener.create({event:cc.EventListener.MOUSE,_previousIn:!1,owner:this,mask:it(this,cc.Mask),onMouseDown:Q,onMouseMove:$,onMouseUp:tt,onMouseScroll:et}),o.addListener(this._mouseListener,this),e=!0),i=!0),e&&!this._activeInHierarchy&&cc.director.getScheduler().schedule((function(){this._activeInHierarchy||o.pauseTarget(this)}),this,0,0,0,!1),i},on:function(t,e,i,n){if(this._checknSetupSysEvent(t))return this._onDispatch(t,e,i,n);switch(t){case U.POSITION_CHANGED:this._eventMask|=1;break;case U.SCALE_CHANGED:this._eventMask|=2;break;case U.ROTATION_CHANGED:this._eventMask|=4;break;case U.SIZE_CHANGED:this._eventMask|=8;break;case U.ANCHOR_CHANGED:this._eventMask|=16;break;case U.COLOR_CHANGED:this._eventMask|=32}return this._bubblingListeners||(this._bubblingListeners=new h),this._bubblingListeners.on(t,e,i)},once:function(t,e,i,n){var r=this,s=null;(s=this._checknSetupSysEvent(t)&&n?this._capturingListeners=this._capturingListeners||new h:this._bubblingListeners=this._bubblingListeners||new h).once(t,e,i),s.once(t,(function(){r.off(t,e,i)}),void 0)},_onDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=null;return(r=n?this._capturingListeners=this._capturingListeners||new h:this._bubblingListeners=this._bubblingListeners||new h).hasEventListener(t,e,i)||(r.on(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e}cc.errorID(6800)},off:function(t,e,i,n){var r=-1!==j.indexOf(t),s=!r&&-1!==H.indexOf(t);if(r||s)this._offDispatch(t,e,i,n),r?this._touchListener&&!nt(this,j)&&(o.removeListener(this._touchListener),this._touchListener=null):s&&this._mouseListener&&!nt(this,H)&&(o.removeListener(this._mouseListener),this._mouseListener=null);else if(this._bubblingListeners&&(this._bubblingListeners.off(t,e,i),!this._bubblingListeners.hasEventListener(t)))switch(t){case U.POSITION_CHANGED:this._eventMask&=-2;break;case U.SCALE_CHANGED:this._eventMask&=-3;break;case U.ROTATION_CHANGED:this._eventMask&=-5;break;case U.SIZE_CHANGED:this._eventMask&=-9;break;case U.ANCHOR_CHANGED:this._eventMask&=-17;break;case U.COLOR_CHANGED:this._eventMask&=-33}},_offDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=n?this._capturingListeners:this._bubblingListeners;r&&(r.off(t,e,i),i&&i.__eventTargets&&c.array.fastRemove(i.__eventTargets,this))}else this._capturingListeners&&this._capturingListeners.removeAll(t),this._bubblingListeners&&this._bubblingListeners.removeAll(t)},targetOff:function(t){var e=this._bubblingListeners;e&&(e.targetOff(t),1&this._eventMask&&!e.hasEventListener(U.POSITION_CHANGED)&&(this._eventMask&=-2),2&this._eventMask&&!e.hasEventListener(U.SCALE_CHANGED)&&(this._eventMask&=-3),4&this._eventMask&&!e.hasEventListener(U.ROTATION_CHANGED)&&(this._eventMask&=-5),8&this._eventMask&&!e.hasEventListener(U.SIZE_CHANGED)&&(this._eventMask&=-9),16&this._eventMask&&!e.hasEventListener(U.ANCHOR_CHANGED)&&(this._eventMask&=-17),32&this._eventMask&&!e.hasEventListener(U.COLOR_CHANGED)&&(this._eventMask&=-33)),this._capturingListeners&&this._capturingListeners.targetOff(t),t&&t.__eventTargets&&c.array.fastRemove(t.__eventTargets,this),this._touchListener&&!nt(this,j)&&(o.removeListener(this._touchListener),this._touchListener=null),this._mouseListener&&!nt(this,H)&&(o.removeListener(this._mouseListener),this._mouseListener=null)},hasEventListener:function(t){var e=!1;return this._bubblingListeners&&(e=this._bubblingListeners.hasEventListener(t)),!e&&this._capturingListeners&&(e=this._capturingListeners.hasEventListener(t)),e},emit:function(t,e,i,n,r,s){this._bubblingListeners&&this._bubblingListeners.emit(t,e,i,n,r,s)},dispatchEvent:function(t){rt(this,t),k.length=0},pauseSystemEvents:function(t){o.pauseTarget(this,t)},resumeSystemEvents:function(t){o.resumeTarget(this,t)},_hitTest:function(t,e){var n=this._contentSize.width,r=this._contentSize.height,s=R,a=O,o=cc.Camera.findCamera(this);if(o?o.getScreenToWorldPoint(t,s):s.set(t),this._updateWorldMatrix(),!i.Mat4.invert(V,this._worldMatrix))return!1;i.Vec2.transformMat4(a,s,V),a.x+=this._anchorPoint.x*n,a.y+=this._anchorPoint.y*r;var l=!1;if(a.x>=0&&a.y>=0&&a.x<=n&&a.y<=r&&(l=!0,e&&e.mask))for(var c=e.mask,h=this,u=c?c.length:0,_=0,f=0;h&&f<u;++_,h=h.parent){var d=c[f];if(_===d.index){if(h!==d.node){c.length=f;break}var p=h.getComponent(cc.Mask);if(p&&p._enabled&&!p._hitTest(s)){l=!1;break}f++}else if(_>d.index){c.length=f;break}}return l},_getCapturingTargets:function(t,e){for(var i=this.parent;i;)i._capturingListeners&&i._capturingListeners.hasEventListener(t)&&e.push(i),i=i.parent},_getBubblingTargets:function(t,e){for(var i=this.parent;i;)i._bubblingListeners&&i._bubblingListeners.hasEventListener(t)&&e.push(i),i=i.parent},runAction:d?function(t){if(this.active){cc.assertID(t,1618);var e=cc.director.getActionManager();return e._suppressDeprecation||(e._suppressDeprecation=!0,cc.warnID(1639)),e.addAction(t,this,!1),t}}:p,pauseAllActions:d?function(){cc.director.getActionManager().pauseTarget(this)}:p,resumeAllActions:d?function(){cc.director.getActionManager().resumeTarget(this)}:p,stopAllActions:d?function(){cc.director.getActionManager().removeAllActionsFromTarget(this)}:p,stopAction:d?function(t){cc.director.getActionManager().removeAction(t)}:p,stopActionByTag:d?function(t){t!==cc.Action.TAG_INVALID?cc.director.getActionManager().removeActionByTag(t,this):cc.logID(1612)}:p,getActionByTag:d?function(t){return t===cc.Action.TAG_INVALID?(cc.logID(1613),null):cc.director.getActionManager().getActionByTag(t,this)}:function(){return null},getNumberOfRunningActions:d?function(){return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this)}:function(){return 0},getPosition:function(t){return t=t||new i.Vec3,i.Trs.toPosition(t,this._trs)},setPosition:function(t,e,i){var n;void 0===e?(n=t.x,e=t.y,i=t.z):n=t;var r=this._trs;void 0===i&&(i=r[2]),(r[0]!==n||r[1]!==e||r[2]!==i)&&(r[0]=n,r[1]=e,r[2]=i,this.setLocalDirty(G.ALL_POSITION),this._renderFlag|=u.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(U.POSITION_CHANGED))},getScale:function(t){return void 0!==t?i.Trs.toScale(t,this._trs):(cc.errorID(1400,"cc.Node.getScale","cc.Node.scale or cc.Node.getScale(cc.Vec3)"),this._trs[7])},setScale:function(t,e,i){var n;t&&"number"!=typeof t?(n=t.x,e=t.y,i=t.z):void 0!==t&&void 0===e?(n=t,e=t,i=t):n=t;var r=this._trs;void 0===i&&(i=r[9]),r[7]===n&&r[8]===e&&r[9]===i||(r[7]=n,r[8]=e,r[9]=i,this.setLocalDirty(G.ALL_SCALE),this._renderFlag|=u.FLAG_TRANSFORM,2&this._eventMask&&this.emit(U.SCALE_CHANGED))},getRotation:function(t){return t instanceof i.Quat?i.Trs.toRotation(t,this._trs):-this.angle},setRotation:function(t,e,i,n){if("number"==typeof t&&void 0===e)this.angle=-t;else{var r=t;void 0===e&&(r=t.x,e=t.y,i=t.z,n=t.w);var s=this._trs;s[3]===r&&s[4]===e&&s[5]===i&&s[6]===n||(s[3]=r,s[4]=e,s[5]=i,s[6]=n,this.setLocalDirty(G.ALL_ROTATION),4&this._eventMask&&this.emit(U.ROTATION_CHANGED))}},getContentSize:function(){return cc.size(this._contentSize.width,this._contentSize.height)},setContentSize:function(t,e){var i=this._contentSize;if(void 0===e){if(t.width===i.width&&t.height===i.height)return;i.width=t.width,i.height=t.height}else{if(t===i.width&&e===i.height)return;i.width=t,i.height=e}8&this._eventMask&&this.emit(U.SIZE_CHANGED)},getAnchorPoint:function(){return cc.v2(this._anchorPoint)},setAnchorPoint:function(t,e){var i=this._anchorPoint;if(void 0===e){if(t.x===i.x&&t.y===i.y)return;i.x=t.x,i.y=t.y}else{if(t===i.x&&e===i.y)return;i.x=t,i.y=e}this.setLocalDirty(G.ALL_POSITION),16&this._eventMask&&this.emit(U.ANCHOR_CHANGED)},_invTransformPoint:function(t,e){this._parent?this._parent._invTransformPoint(t,e):i.Vec3.copy(t,e);var n=this._trs;return i.Trs.toPosition(v,n),i.Vec3.sub(t,t,v),i.Trs.toRotation(b,n),i.Quat.conjugate(A,b),i.Vec3.transformQuat(t,t,A),i.Trs.toScale(v,n),i.Vec3.inverseSafe(g,v),i.Vec3.mul(t,t,g),t},getWorldPosition:function(t){i.Trs.toPosition(t,this._trs);for(var e,n=this._parent;n;)e=n._trs,i.Trs.toScale(m,e),i.Vec3.mul(t,t,m),i.Trs.toRotation(y,e),i.Vec3.transformQuat(t,t,y),i.Trs.toPosition(m,e),i.Vec3.add(t,t,m),n=n._parent;return t},setWorldPosition:function(t){var e=this._trs;this._parent?this._parent._invTransformPoint(x,t):i.Vec3.copy(x,t),i.Trs.fromPosition(e,x),this.setLocalDirty(G.ALL_POSITION),1&this._eventMask&&this.emit(U.POSITION_CHANGED)},getWorldRotation:function(t){i.Trs.toRotation(L,this._trs),i.Quat.copy(t,L);for(var e=this._parent;e;)i.Trs.toRotation(L,e._trs),i.Quat.mul(t,L,t),e=e._parent;return t},setWorldRotation:function(t){this._parent?(this._parent.getWorldRotation(F),i.Quat.conjugate(F,F),i.Quat.mul(F,F,t)):i.Quat.copy(F,t),i.Trs.fromRotation(this._trs,F),this.setLocalDirty(G.ALL_ROTATION)},getWorldScale:function(t){i.Trs.toScale(C,this._trs),i.Vec3.copy(t,C);for(var e=this._parent;e;)i.Trs.toScale(C,e._trs),i.Vec3.mul(t,t,C),e=e._parent;return t},setWorldScale:function(t){this._parent?(this._parent.getWorldScale(T),i.Vec3.div(T,t,T)):i.Vec3.copy(T,t),i.Trs.fromScale(this._trs,T),this.setLocalDirty(G.ALL_SCALE)},getWorldRT:function(t){var e=S,n=E,r=this._trs;i.Trs.toPosition(e,r),i.Trs.toRotation(n,r);for(var s=this._parent;s;)r=s._trs,i.Trs.toScale(w,r),i.Vec3.mul(e,e,w),i.Trs.toRotation(M,r),i.Vec3.transformQuat(e,e,M),i.Trs.toPosition(w,r),i.Vec3.add(e,e,w),i.Quat.mul(n,M,n),s=s._parent;return i.Mat4.fromRT(t,n,e),t},lookAt:function(t,e){this.getWorldPosition(D),i.Vec3.sub(D,D,t),i.Vec3.normalize(D,D),i.Quat.fromViewUp(B,D,e),this.setWorldRotation(B)},_updateLocalMatrix:lt,_calculWorldMatrix:function(){this._localMatDirty&G.TRSS&&this._updateLocalMatrix();var t=this._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):i.Mat4.copy(this._worldMatrix,this._matrix),this._worldMatDirty=!1},_mulMat:ut,_updateWorldMatrix:function(){if(this._parent&&this._parent._updateWorldMatrix(),this._worldMatDirty){this._calculWorldMatrix();for(var t=this._children,e=0,i=t.length;e<i;e++)t[e]._worldMatDirty=!0}},setLocalDirty:function(t){this._localMatDirty|=t,this._worldMatDirty=!0,t===G.ALL_POSITION||t===G.POSITION?this._renderFlag|=u.FLAG_WORLD_TRANSFORM:this._renderFlag|=u.FLAG_TRANSFORM},setWorldDirty:function(){this._worldMatDirty=!0},getLocalMatrix:function(t){return this._updateLocalMatrix(),i.Mat4.copy(t,this._matrix)},getWorldMatrix:function(t){return this._updateWorldMatrix(),i.Mat4.copy(t,this._worldMatrix)},convertToNodeSpaceAR:function(t,e){return this._updateWorldMatrix(),i.Mat4.invert(V,this._worldMatrix),t instanceof cc.Vec2?(e=e||new cc.Vec2,i.Vec2.transformMat4(e,t,V)):(e=e||new cc.Vec3,i.Vec3.transformMat4(e,t,V))},convertToWorldSpaceAR:function(t,e){return this._updateWorldMatrix(),t instanceof cc.Vec2?(e=e||new cc.Vec2,i.Vec2.transformMat4(e,t,this._worldMatrix)):(e=e||new cc.Vec3,i.Vec3.transformMat4(e,t,this._worldMatrix))},convertToNodeSpace:function(t){this._updateWorldMatrix(),i.Mat4.invert(V,this._worldMatrix);var e=new cc.Vec2;return i.Vec2.transformMat4(e,t,V),e.x+=this._anchorPoint.x*this._contentSize.width,e.y+=this._anchorPoint.y*this._contentSize.height,e},convertToWorldSpace:function(t){this._updateWorldMatrix();var e=new cc.Vec2(t.x-this._anchorPoint.x*this._contentSize.width,t.y-this._anchorPoint.y*this._contentSize.height);return i.Vec2.transformMat4(e,e,this._worldMatrix)},getNodeToParentTransform:function(t){t||(t=a.identity()),this._updateLocalMatrix();var e=this._contentSize;return N.x=-this._anchorPoint.x*e.width,N.y=-this._anchorPoint.y*e.height,i.Mat4.copy(V,this._matrix),i.Mat4.transform(V,V,N),a.fromMat4(t,V)},getNodeToParentTransformAR:function(t){return t||(t=a.identity()),this._updateLocalMatrix(),a.fromMat4(t,this._matrix)},getNodeToWorldTransform:function(t){t||(t=a.identity()),this._updateWorldMatrix();var e=this._contentSize;return N.x=-this._anchorPoint.x*e.width,N.y=-this._anchorPoint.y*e.height,i.Mat4.copy(V,this._worldMatrix),i.Mat4.transform(V,V,N),a.fromMat4(t,V)},getNodeToWorldTransformAR:function(t){return t||(t=a.identity()),this._updateWorldMatrix(),a.fromMat4(t,this._worldMatrix)},getParentToNodeTransform:function(t){return t||(t=a.identity()),this._updateLocalMatrix(),i.Mat4.invert(V,this._matrix),a.fromMat4(t,V)},getWorldToNodeTransform:function(t){return t||(t=a.identity()),this._updateWorldMatrix(),i.Mat4.invert(V,this._worldMatrix),a.fromMat4(t,V)},convertTouchToNodeSpace:function(t){return this.convertToNodeSpace(t.getLocation())},convertTouchToNodeSpaceAR:function(t){return this.convertToNodeSpaceAR(t.getLocation())},getBoundingBox:function(){this._updateLocalMatrix();var t=this._contentSize.width,e=this._contentSize.height,i=cc.rect(-this._anchorPoint.x*t,-this._anchorPoint.y*e,t,e);return i.transformMat4(i,this._matrix)},getBoundingBoxToWorld:function(){return this._parent?(this._parent._updateWorldMatrix(),this._getBoundingBoxTo()):this.getBoundingBox()},_getBoundingBoxTo:function(){var t=this._contentSize.width,e=this._contentSize.height,i=cc.rect(-this._anchorPoint.x*t,-this._anchorPoint.y*e,t,e);if(this._calculWorldMatrix(),i.transformMat4(i,this._worldMatrix),!this._children)return i;for(var n=this._children,r=0;r<n.length;r++){var s=n[r];if(s&&s.active){var a=s._getBoundingBoxTo();a&&i.union(i,a)}}return i},_updateOrderOfArrival:function(){var t=this._parent?++this._parent._childArrivalOrder:0;this._localZOrder=4294901760&this._localZOrder|t,this.emit(U.SIBLING_ORDER_CHANGED)},addChild:function(t,e,i){cc.assertID(t,1606),cc.assertID(null===t._parent,1605),t.parent=this,void 0!==e&&(t.zIndex=e),void 0!==i&&(t.name=i)},cleanup:function(){d&&cc.director.getActionManager().removeAllActionsFromTarget(this),o.removeListeners(this);var t,e,i=this._children.length;for(t=0;t<i;++t)(e=this._children[t])&&e.cleanup()},sortAllChildren:function(){if(this._reorderChildDirty){this._reorderChildDirty=!1;var t=this._children;this._childArrivalOrder=1;for(var e=0,i=t.length;e<i;e++)t[e]._updateOrderOfArrival();if(o._setDirtyForNode(this),t.length>1){for(var n,r,s=1,a=t.length;s<a;s++){n=t[s];for(var l=s;l>0&&(r=t[l-1])._localZOrder>n._localZOrder;l--)t[l]=r;t[l]=n}this.emit(U.CHILD_REORDER,this)}cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)}},_delaySort:function(){this._reorderChildDirty||(this._reorderChildDirty=!0,cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this))},_restoreProperties:!1,onRestore:!1},dt=cc.Class(ft),pt=dt.prototype;c.getset(pt,"position",pt.getPosition,pt.setPosition,!1,!0),cc.Node=e.exports=dt}),{"./event-manager":183,"./event/event":186,"./event/event-target":185,"./platform/CCMacro":243,"./platform/js":259,"./renderer/render-flow":271,"./utils/affine-transform":314,"./utils/base-node":315,"./utils/prefab-helper":326,"./utils/trans-pool":332,"./value-types":338}],73:[(function(t,e){"use strict";var i=t("./CCNode"),n=t("./renderer/render-flow"),r=(cc.Object.Flags.HideInHierarchy,i._LocalDirtyFlag),s=cc.Class({name:"cc.PrivateNode",extends:i,properties:{x:{get:function(){return this._originPos.x},set:function(t){var e=this._originPos;t!==e.x&&(e.x=t,this._posDirty(!0))},override:!0},y:{get:function(){return this._originPos.y},set:function(t){var e=this._originPos;t!==e.y&&(e.y=t,this._posDirty(!0))},override:!0},zIndex:{get:function(){return cc.macro.MIN_ZINDEX},set:function(){},override:!0},showInEditor:{default:!1,editorOnly:!0,override:!0}},ctor:function(){this._localZOrder=cc.macro.MIN_ZINDEX<<16,this._originPos=cc.v2()},_posDirty:function(t){this.setLocalDirty(r.POSITION),this._renderFlag|=n.FLAG_TRANSFORM,!0===t&&1&this._eventMask&&this.emit(i.EventType.POSITION_CHANGED)},_updateLocalMatrix:function(){if(this._localMatDirty){var t=this.parent;t&&(this._trs[0]=this._originPos.x-(t._anchorPoint.x-.5)*t._contentSize.width,this._trs[1]=this._originPos.y-(t._anchorPoint.y-.5)*t._contentSize.height),this._super()}},getPosition:function(){return new cc.Vec2(this._originPos)},setPosition:function(t,e){void 0===e&&(e=(t=t.x).y);var i=this._originPos;i.x===t&&i.y===e||(i.x=t,i.y=e,this._posDirty(!0))},setParent:function(t){var e=this._parent;this._super(t),e!==t&&(e&&e.off(i.EventType.ANCHOR_CHANGED,this._posDirty,this),t&&t.on(i.EventType.ANCHOR_CHANGED,this._posDirty,this))},_updateOrderOfArrival:function(){}}),a=s.prototype;cc.js.getset(a,"parent",a.getParent,a.setParent),cc.js.getset(a,"position",a.getPosition,a.setPosition),cc.PrivateNode=e.exports=s}),{"./CCNode":72,"./renderer/render-flow":271}],74:[(function(t,e){"use strict";cc.Scene=cc.Class({name:"cc.Scene",extends:t("./CCNode"),properties:{_is3DNode:{default:!0,override:!0},autoReleaseAssets:!1},ctor:function(){this._anchorPoint.x=0,this._anchorPoint.y=0,this._activeInHierarchy=!1,this._inited=!cc.game._isCloning,this.dependAssets=null},destroy:function(){if(cc.Object.prototype.destroy.call(this))for(var t=this._children,e=0;e<t.length;++e)t[e].active=!1;this._active=!1,this._activeInHierarchy=!1},_onHierarchyChanged:function(){},_instantiate:null,_load:function(){this._inited||(this._onBatchCreated(!1),this._inited=!0)},_activate:function(t){t=!1!==t,cc.director._nodeActivator.activateNode(this,t)}}),e.exports=cc.Scene}),{"./CCNode":72}],75:[(function(t,e){"use strict";var i=t("./platform/js"),n=new(t("./platform/id-generater"))("Scheduler"),r=function(t,e,i,n){this.target=t,this.priority=e,this.paused=i,this.markedForDeletion=n},s=[];r.get=function(t,e,i,n){var a=s.pop();return a?(a.target=t,a.priority=e,a.paused=i,a.markedForDeletion=n):a=new r(t,e,i,n),a},r.put=function(t){s.length<20&&(t.target=null,s.push(t))};var a=function(t,e,i,n){this.list=t,this.entry=e,this.target=i,this.callback=n},o=[];a.get=function(t,e,i,n){var r=o.pop();return r?(r.list=t,r.entry=e,r.target=i,r.callback=n):r=new a(t,e,i,n),r},a.put=function(t){o.length<20&&(t.list=t.entry=t.target=t.callback=null,o.push(t))};var l=function(t,e,i,n,r,s){var a=this;a.timers=t,a.target=e,a.timerIndex=i,a.currentTimer=n,a.currentTimerSalvaged=r,a.paused=s},c=[];function h(){this._lock=!1,this._scheduler=null,this._elapsed=-1,this._runForever=!1,this._useDelay=!1,this._timesExecuted=0,this._repeat=0,this._delay=0,this._interval=0,this._target=null,this._callback=null}l.get=function(t,e,i,n,r,s){var a=c.pop();return a?(a.timers=t,a.target=e,a.timerIndex=i,a.currentTimer=n,a.currentTimerSalvaged=r,a.paused=s):a=new l(t,e,i,n,r,s),a},l.put=function(t){c.length<20&&(t.timers=t.target=t.currentTimer=null,c.push(t))};var u=h.prototype;u.initWithCallback=function(t,e,i,n,r,s){return this._lock=!1,this._scheduler=t,this._target=i,this._callback=e,this._elapsed=-1,this._interval=n,this._delay=s,this._useDelay=this._delay>0,this._repeat=r,this._runForever=this._repeat===cc.macro.REPEAT_FOREVER,!0},u.getInterval=function(){return this._interval},u.setInterval=function(t){this._interval=t},u.update=function(t){-1===this._elapsed?(this._elapsed=0,this._timesExecuted=0):(this._elapsed+=t,this._runForever&&!this._useDelay?this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0):(this._useDelay?this._elapsed>=this._delay&&(this.trigger(),this._elapsed-=this._delay,this._timesExecuted+=1,this._useDelay=!1):this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0,this._timesExecuted+=1),this._callback&&!this._runForever&&this._timesExecuted>this._repeat&&this.cancel()))},u.getCallback=function(){return this._callback},u.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},u.cancel=function(){this._scheduler.unschedule(this._callback,this._target)};var _=[];h.get=function(){return _.pop()||new h},h.put=function(t){_.length<20&&!t._lock&&(t._scheduler=t._target=t._callback=null,_.push(t))},cc.Scheduler=function(){this._timeScale=1,this._updatesNegList=[],this._updates0List=[],this._updatesPosList=[],this._hashForUpdates=i.createMap(!0),this._hashForTimers=i.createMap(!0),this._currentTarget=null,this._currentTargetSalvaged=!1,this._updateHashLocked=!1,this._arrayForTimers=[]},cc.Scheduler.prototype={constructor:cc.Scheduler,_removeHashElement:function(t){delete this._hashForTimers[t.target._id];for(var e=this._arrayForTimers,i=0,n=e.length;i<n;i++)if(e[i]===t){e.splice(i,1);break}l.put(t)},_removeUpdateFromHash:function(t){var e=t.target._id,i=this._hashForUpdates[e];if(i){for(var n=i.list,s=i.entry,o=0,l=n.length;o<l;o++)if(n[o]===s){n.splice(o,1);break}delete this._hashForUpdates[e],r.put(s),a.put(i)}},_priorityIn:function(t,e,i){for(var n=0;n<t.length;n++)if(i<t[n].priority)return void t.splice(n,0,e);t.push(e)},_appendIn:function(t,e){t.push(e)},enableForTarget:function(t){t._id||(t.__instanceId?cc.warnID(1513):t._id=n.getNewId())},setTimeScale:function(t){this._timeScale=t},getTimeScale:function(){return this._timeScale},update:function(t){var e,i,n,r;for(this._updateHashLocked=!0,1!==this._timeScale&&(t*=this._timeScale),e=0,n=(i=this._updatesNegList).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);for(e=0,n=(i=this._updates0List).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);for(e=0,n=(i=this._updatesPosList).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);var s,a=this._arrayForTimers;for(e=0;e<a.length;e++){if(s=a[e],this._currentTarget=s,this._currentTargetSalvaged=!1,!s.paused)for(s.timerIndex=0;s.timerIndex<s.timers.length;++s.timerIndex)s.currentTimer=s.timers[s.timerIndex],s.currentTimerSalvaged=!1,s.currentTimer.update(t),s.currentTimer=null;this._currentTargetSalvaged&&0===this._currentTarget.timers.length&&(this._removeHashElement(this._currentTarget),--e)}for(e=0,i=this._updatesNegList;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;for(e=0,i=this._updates0List;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;for(e=0,i=this._updatesPosList;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;this._updateHashLocked=!1,this._currentTarget=null},schedule:function(t,e,i,n,r,s){if("function"!=typeof t){var a=t;t=e,e=a}4!==arguments.length&&5!==arguments.length||(s=!!n,n=cc.macro.REPEAT_FOREVER,r=0),cc.assertID(e,1502);var o=e._id;o||(e.__instanceId?(cc.warnID(1513),o=e._id=e.__instanceId):cc.errorID(1510));var c,u,_=this._hashForTimers[o];if(_?_.paused!==s&&cc.warnID(1511):(_=l.get(null,e,0,null,null,s),this._arrayForTimers.push(_),this._hashForTimers[o]=_),null==_.timers)_.timers=[];else for(u=0;u<_.timers.length;++u)if((c=_.timers[u])&&t===c._callback)return cc.logID(1507,c.getInterval(),i),void(c._interval=i);(c=h.get()).initWithCallback(this,t,e,i,n,r),_.timers.push(c),this._currentTarget===_&&this._currentTargetSalvaged&&(this._currentTargetSalvaged=!1)},scheduleUpdate:function(t,e,i){var n=t._id;n||(t.__instanceId?(cc.warnID(1513),n=t._id=t.__instanceId):cc.errorID(1510));var s=this._hashForUpdates[n];if(s&&s.entry){if(s.entry.priority===e)return s.entry.markedForDeletion=!1,void(s.entry.paused=i);if(this._updateHashLocked)return cc.logID(1506),s.entry.markedForDeletion=!1,void(s.entry.paused=i);this.unscheduleUpdate(t)}var o,l=r.get(t,e,i,!1);0===e?(o=this._updates0List,this._appendIn(o,l)):(o=e<0?this._updatesNegList:this._updatesPosList,this._priorityIn(o,l,e)),this._hashForUpdates[n]=a.get(o,l,t,null)},unschedule:function(t,e){if(e&&t){var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(n)for(var r=n.timers,s=0,a=r.length;s<a;s++){var o=r[s];if(t===o._callback)return o!==n.currentTimer||n.currentTimerSalvaged||(n.currentTimerSalvaged=!0),r.splice(s,1),h.put(o),n.timerIndex>=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}},unscheduleUpdate:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForUpdates[e];i&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}},unscheduleAllForTarget:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i){var n=i.timers;n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r<s;r++)h.put(n[r]);n.length=0,this._currentTarget===i?this._currentTargetSalvaged=!0:this._removeHashElement(i)}this.unscheduleUpdate(t)}},unscheduleAll:function(){this.unscheduleAllWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)},unscheduleAllWithMinPriority:function(t){var e,i,n,r=this._arrayForTimers;for(e=r.length-1;e>=0;e--)i=r[e],this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e<this._updatesNegList.length;)s=this._updatesNegList.length,(n=this._updatesNegList[e])&&n.priority>=t&&this.unscheduleUpdate(n.target),s==this._updatesNegList.length&&e++;if(t<=0)for(e=0;e<this._updates0List.length;)s=this._updates0List.length,(n=this._updates0List[e])&&this.unscheduleUpdate(n.target),s==this._updates0List.length&&e++;for(e=0;e<this._updatesPosList.length;)s=this._updatesPosList.length,(n=this._updatesPosList[e])&&n.priority>=t&&this.unscheduleUpdate(n.target),s==this._updatesPosList.length&&e++},isScheduled:function(t,e){cc.assertID(t,1508),cc.assertID(e,1509);var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s<r.length;++s)if(t===r[s]._callback)return!0;return!1},pauseAllTargets:function(){return this.pauseAllTargetsWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)},pauseAllTargetsWithMinPriority:function(t){var e,i,n,r,s=[],a=this._arrayForTimers;for(i=0,n=a.length;i<n;i++)(e=a[i])&&(e.paused=!0,s.push(e.target));if(t<0)for(i=0;i<this._updatesNegList.length;i++)(r=this._updatesNegList[i])&&r.priority>=t&&(r.paused=!0,s.push(r.target));if(t<=0)for(i=0;i<this._updates0List.length;i++)(r=this._updates0List[i])&&(r.paused=!0,s.push(r.target));for(i=0;i<this._updatesPosList.length;i++)(r=this._updatesPosList[i])&&r.priority>=t&&(r.paused=!0,s.push(r.target));return s},resumeTargets:function(t){if(t)for(var e=0;e<t.length;e++)this.resumeTarget(t[e])},pauseTarget:function(t){cc.assertID(t,1503);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];i&&(i.paused=!0);var n=this._hashForUpdates[e];n&&(n.entry.paused=!0)},resumeTarget:function(t){cc.assertID(t,1504);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];i&&(i.paused=!1);var n=this._hashForUpdates[e];n&&(n.entry.paused=!1)},isTargetPaused:function(t){cc.assertID(t,1505);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i)return i.paused;var n=this._hashForUpdates[e];return!!n&&n.entry.paused}},cc.Scheduler.PRIORITY_SYSTEM=1<<31,cc.Scheduler.PRIORITY_NON_SYSTEM=cc.Scheduler.PRIORITY_SYSTEM+1,e.exports=cc.Scheduler}),{"./platform/id-generater":255,"./platform/js":259}],76:[(function(t,e){"use strict";var i=t("./preprocess"),n=t("./fetch"),r=t("./cache"),s=t("./helper"),a=t("./releaseManager"),o=t("./depend-util"),l=t("./load"),c=t("./pipeline"),h=t("./task"),u=t("./request-item"),_=t("./downloader"),f=t("./parser"),d=t("./pack-manager"),p=t("./bundle"),m=t("./builtins"),y=t("./factory"),v=t("./urlTransformer"),g=v.parse,b=v.combine,A=t("./utilities"),x=A.parseParameters,C=A.asyncify,T=t("./shared"),S=T.assets,w=T.files,E=T.parsed,M=T.pipeline,D=T.transformPipeline,B=T.fetchPipeline,I=T.RequestType,P=T.bundles,R=T.BuiltinBundleName;function O(){this._preprocessPipe=i,this._fetchPipe=n,this._loadPipe=l,this.pipeline=M.append(i).append(l),this.fetchPipeline=B.append(i).append(n),this.transformPipeline=D.append(g).append(b),this.bundles=P,this.assets=S,this._files=w,this._parsed=E,this.generalImportBase="",this.generalNativeBase="",this.dependUtil=o,this._releaseManager=a,this.cacheAsset=!0,this.force=!1,this.utils=s,this.downloader=_,this.parser=f,this.builtins=m,this.packManager=d,this.factory=y,this.cacheManager=null,this.presets={default:{priority:0},preload:{maxConcurrency:2,maxRequestsPerFrame:2,priority:-1},scene:{maxConcurrency:8,maxRequestsPerFrame:8,priority:1},bundle:{maxConcurrency:8,maxRequestsPerFrame:8,priority:2},remote:{maxRetryCount:4},script:{maxConcurrency:1024,maxRequestsPerFrame:1024,priority:2}}}O.Pipeline=c,O.Task=h,O.Cache=r,O.RequestItem=u,O.Bundle=p,O.BuiltinBundleName=R,O.prototype={constructor:O,get main(){return P.get(R.MAIN)},get resources(){return P.get(R.RESOURCES)},get internal(){return P.get(R.INTERNAL)},init:function(t){t=t||Object.create(null),this._files.clear(),this._parsed.clear(),this._releaseManager.init(),this.assets.clear(),this.bundles.clear(),this.packManager.init(),this.downloader.init(t.bundleVers,t.server),this.parser.init(),this.dependUtil.init(),this.generalImportBase=t.importBase,this.generalNativeBase=t.nativeBase},getBundle:function(t){return P.get(t)},removeBundle:function(t){t._destroy(),P.remove(t.name)},loadAny:function(t,e,i,n){var r=x(e,i,n);e=r.options,i=r.onProgress,n=r.onComplete,e.preset=e.preset||"default",t=Array.isArray(t)?t.concat():t;var s=new h({input:t,onProgress:i,onComplete:C(n),options:e});M.async(s)},preloadAny:function(t,e,i,n){var r=x(e,i,n);e=r.options,i=r.onProgress,n=r.onComplete,e.preset=e.preset||"preload",t=Array.isArray(t)?t.concat():t;var s=new h({input:t,onProgress:i,onComplete:C(n),options:e});B.async(s)},postLoadNative:function(t,e,i){if(!(t instanceof cc.Asset))throw new Error("input is not asset");var n=x(e,void 0,i);if(e=n.options,i=n.onComplete,!t._native||t._nativeAsset)return C(i)(null);var r=o.getNativeDep(t._uuid);if(r){if(!P.has(r.bundle)){var s=P.find((function(e){return e.getAssetInfo(t._uuid)}));s&&(r.bundle=s.name)}this.loadAny(r,e,(function(e,n){e?cc.error(e.message,e.stack):t.isValid&&!t._nativeAsset&&(t._nativeAsset=n),i&&i(e)}))}},loadRemote:function(t,e,i){var n=x(e,void 0,i);if(e=n.options,i=n.onComplete,this.assets.has(t))return C(i)(null,this.assets.get(t));e.__isNative__=!0,e.preset=e.preset||"remote",this.loadAny({url:t},e,null,(function(n,r){n?(cc.error(n.message,n.stack),i&&i(n,null)):y.create(t,r,e.ext||cc.path.extname(t),e,(function(t,e){i&&i(t,e)}))}))},loadScript:function(t,e,i){var n=x(e,void 0,i);e=n.options,i=n.onComplete,e.__requestType__=I.URL,e.preset=e.preset||"script",this.loadAny(t,e,i)},loadBundle:function(t,e,i){var n=x(e,void 0,i),r=(e=n.options,i=n.onComplete,cc.path.basename(t));if(this.bundles.has(r))return C(i)(null,this.getBundle(r));e.preset=e.preset||"bundle",e.ext="bundle",this.loadRemote(t,e,i)},releaseAsset:function(t){a.tryRelease(t,!0)},releaseUnusedAssets:function(){S.forEach((function(t){a.tryRelease(t)}))},releaseAll:function(){S.forEach((function(t){a.tryRelease(t,!0)}))},_transform:function(t,e){var i=h.create({input:t,options:e}),n=[];try{for(var r=D.sync(i),s=0,a=r.length;s<a;s++){var o=r[s],l=o.url;o.recycle(),n.push(l)}}catch(c){for(s=0,a=i.output.length;s<a;s++)i.output[s].recycle();cc.error(c.message,c.stack)}return i.recycle(),n.length>1?n:n[0]}},cc.AssetManager=O,cc.assetManager=new O,Object.defineProperty(cc,"resources",{get:function(){return P.get(R.RESOURCES)}}),e.exports=cc.assetManager}),{"./builtins":77,"./bundle":78,"./cache":79,"./depend-util":81,"./downloader":88,"./factory":89,"./fetch":90,"./helper":92,"./load":94,"./pack-manager":95,"./parser":96,"./pipeline":97,"./preprocess":98,"./releaseManager":99,"./request-item":100,"./shared":101,"./task":102,"./urlTransformer":103,"./utilities":104}],77:[(function(t,e){"use strict";var i=t("./cache"),n=t("./releaseManager"),r=t("./shared").BuiltinBundleName,s={_assets:new i({material:new i,effect:new i}),_loadBuiltins:function(t,e){var i=t+"s",n=this._assets.get(t);return cc.assetManager.internal.loadDir(i,null,null,(function(t,i){if(t)cc.error(t.message,t.stack);else for(var r=0;r<i.length;r++){var s=i[r];n.add(s.name,s.addRef())}e()}))},init:function(t){var e=this;if(this.clear(),cc.game.renderType===cc.game.RENDER_TYPE_CANVAS||!cc.assetManager.bundles.has(r.INTERNAL))return t&&t();this._loadBuiltins("effect",(function(){e._loadBuiltins("material",t)}))},getBuiltin:function(t,e){return 0===arguments.length?this._assets:1===arguments.length?this._assets.get(t):this._assets.get(t).get(e)},clear:function(){this._assets.forEach((function(t){t.forEach((function(t){n.tryRelease(t,!0)})),t.clear()}))}};e.exports=s}),{"./cache":79,"./releaseManager":99,"./shared":101}],78:[(function(t,e){"use strict";var i=t("./config"),n=t("./releaseManager"),r=t("./utilities"),s=r.parseParameters,a=r.parseLoadResArgs,o=t("./shared"),l=o.RequestType,c=o.assets,h=o.bundles;function u(){this._config=new i}u.prototype={constructor:u,get name(){return this._config.name},get deps(){return this._config.deps},get base(){return this._config.base},getInfoWithPath:function(t,e){return this._config.getInfoWithPath(t,e)},getDirWithPath:function(t,e,i){return this._config.getDirWithPath(t,e,i)},getAssetInfo:function(t){return this._config.getAssetInfo(t)},getSceneInfo:function(t){return this._config.getSceneInfo(t)},init:function(t){this._config.init(t),h.add(t.name,this)},load:function(t,e,i,n){var r=a(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete,cc.assetManager.loadAny(t,{__requestType__:l.PATH,type:e,bundle:this.name,__outputAsArray__:Array.isArray(t)},i,n)},preload:function(t,e,i,n){var r=a(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete,cc.assetManager.preloadAny(t,{__requestType__:l.PATH,type:e,bundle:this.name},i,n)},loadDir:function(t,e,i,n){var r=a(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete,cc.assetManager.loadAny(t,{__requestType__:l.DIR,type:e,bundle:this.name,__outputAsArray__:!0},i,n)},preloadDir:function(t,e,i,n){var r=a(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete,cc.assetManager.preloadAny(t,{__requestType__:l.DIR,type:e,bundle:this.name},i,n)},loadScene:function(t,e,i,n){var r=s(e,i,n);e=r.options,i=r.onProgress,n=r.onComplete,e.preset=e.preset||"scene",e.bundle=this.name,cc.assetManager.loadAny({scene:t},e,i,(function(t,e){if(t)cc.error(t.message,t.stack),n&&n(t);else if(e instanceof cc.SceneAsset){var i=e.scene;i._id=e._uuid,i._name=e._name,n&&n(null,e)}else n&&n(new Error("The asset "+e._uuid+" is not a scene"))}))},preloadScene:function(t,e,i,n){var r=s(e,i,n);e=r.options,i=r.onProgress,n=r.onComplete,e.bundle=this.name,cc.assetManager.preloadAny({scene:t},e,i,(function(e){e&&cc.errorID(1210,t,e.message),n&&n(e)}))},get:function(t,e){var i=this.getInfoWithPath(t,e);return c.get(i&&i.uuid)},release:function(t,e){n.tryRelease(this.get(t,e),!0)},releaseUnusedAssets:function(){var t=this;c.forEach((function(e){var i=t.getAssetInfo(e._uuid);i&&!i.redirect&&n.tryRelease(e)}))},releaseAll:function(){var t=this;c.forEach((function(e){var i=t.getAssetInfo(e._uuid);i&&!i.redirect&&n.tryRelease(e,!0)}))},_destroy:function(){this._config.destroy()}},e.exports=u}),{"./config":80,"./releaseManager":99,"./shared":101,"./utilities":104}],79:[(function(t,e){"use strict";var i=t("../platform/js");function n(t){t?(this._map=t,this._count=Object.keys(t).length):(this._map=i.createMap(!0),this._count=0)}n.prototype={constructor:n,add:function(t,e){return t in this._map||this._count++,this._map[t]=e},get:function(t){return this._map[t]},has:function(t){return t in this._map},remove:function(t){var e=this._map[t];return t in this._map&&(delete this._map[t],this._count--),e},clear:function(){0!==this._count&&(this._map=i.createMap(!0),this._count=0)},forEach:function(t){for(var e in this._map)t(this._map[e],e)},find:function(t){for(var e in this._map)if(t(this._map[e],e))return this._map[e];return null},get count(){return this._count},destroy:function(){this._map=null}},e.exports=n}),{"../platform/js":259}],80:[(function(t,e){"use strict";var i=t("../platform/js"),n=t("./cache"),r=t("./helper").normalize,s=t("./utilities").processOptions;function a(){this.name="",this.base="",this.importBase="",this.nativeBase="",this.deps=null,this.assetInfos=new n,this.scenes=new n,this.paths=new n}a.prototype={constructor:a,init:function(t){s(t),this.importBase=t.importBase||"",this.nativeBase=t.nativeBase||"",this.base=t.base||"",this.name=t.name||"",this.deps=t.deps||[],this._initUuid(t.uuids),this._initPath(t.paths),this._initScene(t.scenes),this._initPackage(t.packs),this._initVersion(t.versions),this._initRedirect(t.redirect)},_initUuid:function(t){if(t){this.assetInfos.clear();for(var e=0,i=t.length;e<i;e++){var n=t[e];this.assetInfos.add(n,{uuid:n})}}},_initPath:function(t){if(t){var e=this.paths;for(var n in e.clear(),t){var r=t[n],s=r[0],a=r[1],o=3===r.length,l=this.assetInfos.get(n);l.path=s,l.ctor=i._getClassById(a),e.has(s)?o?e.get(s).push(l):e.get(s).splice(0,0,l):e.add(s,[l])}}},_initScene:function(t){if(t){var e=this.scenes;e.clear();var i=this.assetInfos;for(var n in t){var r=t[n],s=i.get(r);s.url=n,e.add(n,s)}}},_initPackage:function(t){if(t){var e=this.assetInfos;for(var i in t){var n=t[i],r={uuid:i,packs:n,ext:".json"};e.add(i,r);for(var s=0,a=n.length;s<a;s++){var o=n[s],l=e.get(o),c=l.packs;c?1===a?c.splice(0,0,r):c.push(r):l.packs=[r]}}}},_initVersion:function(t){if(t){var e=this.assetInfos,i=t.import;if(i)for(var n=0,r=i.length;n<r;n+=2){var s=i[n];e.get(s).ver=i[n+1]}if(i=t.native)for(n=0,r=i.length;n<r;n+=2)s=i[n],e.get(s).nativeVer=i[n+1]}},_initRedirect:function(t){if(t)for(var e=this.assetInfos,i=0,n=t.length;i<n;i+=2){var r=t[i];e.get(r).redirect=t[i+1]}},getInfoWithPath:function(t,e){if(!t)return null;t=r(t);var n=this.paths.get(t);if(n){if(!e)return n[0];for(var s=0,a=n.length;s<a;s++){var o=n[s];if(i.isChildClassOf(o.ctor,e))return o}}return null},getDirWithPath:function(t,e,n){"/"===(t=r(t))[t.length-1]&&(t=t.slice(0,-1));var s=n||[];function a(t,e){return!(t.length>e.length)||47===t.charCodeAt(e.length)}return this.paths.forEach((function(n,r){if(r.startsWith(t)&&a(r,t)||!t)for(var o=0,l=n.length;o<l;o++){var c=n[o];e&&!i.isChildClassOf(c.ctor,e)||s.push(c)}})),s},getAssetInfo:function(t){return this.assetInfos.get(t)},getSceneInfo:function(t){return t.endsWith(".fire")||(t+=".fire"),"/"===t[0]||t.startsWith("db://")||(t="/"+t),this.scenes.find((function(e,i){return i.endsWith(t)}))},destroy:function(){this.paths.destroy(),this.scenes.destroy(),this.assetInfos.destroy()}},e.exports=a}),{"../platform/js":259,"./cache":79,"./helper":92,"./utilities":104}],81:[(function(t,e){"use strict";var i=(function(t){if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var e=n();if(e&&e.has(t))return e.get(t);var i={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){var a=r?Object.getOwnPropertyDescriptor(t,s):null;a&&(a.get||a.set)?Object.defineProperty(i,s,a):i[s]=t[s]}return i.default=t,e&&e.set(t,i),i})(t("../platform/deserialize-compiled"));function n(){if("function"!=typeof WeakMap)return null;var t=new WeakMap;return n=function(){return t},t}var r=t("./cache"),s=t("./deserialize"),a=t("./shared"),o=a.files,l=a.parsed,c={_depends:new r,init:function(){this._depends.clear()},getNativeDep:function(t){var e=this._depends.get(t);return e?e.nativeDep&&Object.assign({},e.nativeDep):null},getDeps:function(t){return this._depends.has(t)?this._depends.get(t).deps:[]},getDepsRecursively:function(t){var e=Object.create(null),i=[];return this._descend(t,e,i),i},_descend:function(t,e,i){for(var n=this.getDeps(t),r=0;r<n.length;r++){var s=n[r];e[s]||(e[s]=!0,i.push(s),this._descend(s,e,i))}},remove:function(t){this._depends.remove(t)},parse:function(t,e){var n=null;if(Array.isArray(e)||e.__type__){if(n=this._depends.get(t))return n;if(Array.isArray(e)&&!(0,i.hasNativeDep)(e))n={deps:this._parseDepsFromJson(e)};else try{var r=s(e);(n=this._parseDepsFromAsset(r)).nativeDep&&(n.nativeDep.uuid=t),l.add(t+"@import",r)}catch(a){o.remove(t+"@import"),n={deps:[]}}}else{if((n=this._depends.get(t))&&n.parsedFromExistAsset)return n;n=this._parseDepsFromAsset(e)}return this._depends.add(t,n),n},_parseDepsFromAsset:function(t){for(var e={deps:[],parsedFromExistAsset:!0,preventPreloadNativeObject:t.constructor.preventPreloadNativeObject,preventDeferredLoadDependents:t.constructor.preventDeferredLoadDependents},i=t.__depends__,n=0,r=i.length;n<r;n++){var s=i[n].uuid;e.deps.push(s)}return t.__nativeDepend__&&(e.nativeDep=t._nativeDep),e},_parseDepsFromJson:function(t){var e=(0,i.getDependUuidList)(t);return e.forEach((function(t,i){return e[i]=cc.assetManager.utils.decodeUuid(t)})),e}};e.exports=c}),{"../platform/deserialize-compiled":253,"./cache":79,"./deserialize":83,"./shared":101}],82:[(function(t){"use strict";var e=t("../platform/js");t("../CCDirector");var i=t("./utilities"),n=t("./depend-util"),r=t("./releaseManager"),s=t("./downloader"),a=t("./factory"),o=t("./helper"),l=[".png",".jpg",".bmp",".jpeg",".gif",".ico",".tiff",".webp",".image",".pvr",".pkm"],c=[".mp3",".ogg",".wav",".m4a"];function h(){return!0}var u={transformURL:function(t){var e=o.getUuidFromURL(t);if(!e)return t;var i=cc.assetManager.bundles.find((function(t){return!!t.getAssetInfo(e)}));if(!i)return t;var n,r=i.getAssetInfo(e);if(!(n=t.startsWith(i.base+i._config.nativeBase)?r.nativeVer||"":r.ver||"")||-1!==t.indexOf(n))return t;var s=!1;if(".ttf"===cc.path.extname(t)&&(s=!0),s){var a=cc.path.dirname(t),l=cc.path.basename(t);t=a+"."+n+"/"+l}else t=t.replace(/.*[\/\\][0-9a-fA-F]{2}[\/\\]([0-9a-fA-F-]{8,})/,(function(t){return t+"."+n}));return t}},_={onProgress:null,_autoReleaseSetting:Object.create(null),get _cache(){return cc.assetManager.assets._map},load:function(t,e,i){void 0===i&&void 0!==e&&(i=e,e=null),t=Array.isArray(t)?t:[t];for(var n=0;n<t.length;n++){var r=t[n];"string"==typeof r?t[n]={url:r,__isNative__:!0}:(r.type&&(r.ext="."+r.type,r.type=void 0),r.url&&(r.__isNative__=!0))}var s=[],o=[];cc.assetManager.loadAny(t,null,(function(t,i,n){n.content&&(l.includes(n.ext)?s.push(n.content):c.includes(n.ext)&&o.push(n.content)),e&&e(t,i,n)}),(function(e,n){var r=null;if(!e){n=Array.isArray(n)?n:[n];for(var l=0;l<n.length;l++){var c=n[l];if(!(c instanceof cc.Asset)){var u=c,_=t[l].url;s.includes(u)?a.create(_,c,".png",null,(function(t,e){u=n[l]=e})):o.includes(u)&&a.create(_,c,".mp3",null,(function(t,e){u=n[l]=e})),cc.assetManager.assets.add(_,u)}}if(n.length>1){var f=Object.create(null);n.forEach((function(t){f[t._uuid]=t})),r={isCompleted:h,_map:f}}else r=n[0]}i&&i(e,r)}))},getXMLHttpRequest:function(){return new XMLHttpRequest},_parseLoadResArgs:i.parseLoadResArgs,getItem:function(t){return cc.assetManager.assets.has(t)?{content:cc.assetManager.assets.get(t)}:null},loadRes:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete,o=cc.path.extname(t);o&&(t=t.slice(0,-o.length)),cc.resources.load(t,e,s,a)},loadResArray:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;t.forEach((function(e,i){var n=cc.path.extname(e);n&&(t[i]=e.slice(0,-n.length))})),cc.resources.load(t,e,s,a)},loadResDir:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;cc.resources.loadDir(t,e,s,(function(i,n){var r=[];i||(r=cc.resources.getDirWithPath(t,e).map((function(t){return t.path}))),a&&a(i,n,r)}))},getRes:function(t,e){return cc.assetManager.assets.has(t)?cc.assetManager.assets.get(t):cc.resources.get(t,e)},getResCount:function(){return cc.assetManager.assets.count},getDependsRecursively:function(t){return t?n.getDepsRecursively("string"==typeof t?t:t._uuid).concat([t._uuid]):[]},get assetLoader(){},get md5Pipe(){return u},get downloader(){return cc.assetManager.downloader},get loader(){return cc.assetManager.parser},addDownloadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({url:t},i)}}cc.assetManager.downloader.register(e)},addLoadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({content:t},i)}}cc.assetManager.parser.register(e)},flowInDeps:function(){},release:function(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var i=t[e];"string"==typeof i&&(i=cc.assetManager.assets.get(i)),cc.assetManager.builtins._assets.find((function(t){return t.find((function(t){return t===i}))}))||cc.assetManager.releaseAsset(i)}else if(t){if("string"==typeof t&&(t=cc.assetManager.assets.get(t)),cc.assetManager.builtins._assets.find((function(e){return e.find((function(e){return e===t}))})))return;cc.assetManager.releaseAsset(t)}},releaseAsset:function(t){cc.assetManager.releaseAsset(t)},releaseRes:function(t,e){cc.resources.release(t,e)},releaseResDir:function(){},releaseAll:function(){cc.assetManager.releaseAll(),cc.assetManager.assets.clear()},removeItem:function(t){cc.assetManager.assets.remove(t)},setAutoRelease:function(t,e){"object"==typeof t&&(t=t._uuid),this._autoReleaseSetting[t]=!!e},setAutoReleaseRecursively:function(t,e){"object"==typeof t&&(t=t._uuid),e=!!e,this._autoReleaseSetting[t]=e;for(var i=n.getDepsRecursively(t),r=0;r<i.length;r++){var s=i[r];this._autoReleaseSetting[s]=e}},isAutoRelease:function(t){return"object"==typeof t&&(t=t._uuid),!!this._autoReleaseSetting[t]}};s.loadSubpackage=function(t,e){cc.assetManager.loadBundle(t,null,e)};var f={init:function(t){t.importBase=t.libraryPath,t.nativeBase=t.rawAssetsBase,cc.assetManager.init(t),t.rawAssets&&(new cc.AssetManager.Bundle).init({name:cc.AssetManager.BuiltinBundleName.RESOURCES,importBase:t.importBase,nativeBase:t.nativeBase,paths:t.rawAssets.assets,uuids:Object.keys(t.rawAssets.assets)})},loadAsset:function(t,e){cc.assetManager.loadAny(t,e)},getLibUrlNoExt:function(){},queryAssetInfo:function(){}};cc.url={normalize:function(t){return cc.warnID(1400,"cc.url.normalize","cc.assetManager.utils.normalize"),cc.assetManager.utils.normalize(t)},raw:function(t){return cc.warnID(1400,"cc.url.raw","cc.resources.load"),t.startsWith("resources/")?cc.assetManager._transform({path:cc.path.changeExtname(t.substr(10)),bundle:cc.AssetManager.BuiltinBundleName.RESOURCES,__isNative__:!0,ext:cc.path.extname(t)}):""}},Object.defineProperties(cc,{loader:{get:function(){return _}},AssetLibrary:{get:function(){return f}},LoadingItems:{get:function(){return cc.warnID(1400,"cc.LoadingItems","cc.AssetManager.Task"),cc.AssetManager.Task}},Pipeline:{get:function(){return cc.warnID(1400,"cc.Pipeline","cc.AssetManager.Pipeline"),cc.AssetManager.Pipeline}}}),e.obsolete(cc,"cc.RawAsset","cc.Asset"),e.obsolete(cc.Asset.prototype,"cc.Asset.url","nativeUrl"),Object.defineProperties(cc.macro,{DOWNLOAD_MAX_CONCURRENT:{get:function(){return cc.assetManager.downloader.maxConcurrency},set:function(t){cc.assetManager.downloader.maxConcurrency=t}}}),Object.assign(cc.director,{_getSceneUuid:function(t){cc.assetManager.main.getSceneInfo(t)}}),Object.defineProperties(cc.game,{_sceneInfos:{get:function(){var t=[];return cc.assetManager.main._config.scenes.forEach((function(e){t.push(e)})),t}}});var d=i.parseParameters;i.parseParameters=function(t,e,i){var n=d(t,e,i);return n.onProgress=n.onProgress||_.onProgress,n};var p=r._autoRelease;r._autoRelease=function(){p.apply(this,arguments);for(var t=_._autoReleaseSetting,e=Object.keys(t),i=0;i<e.length;i++){var n=e[i];if(!0===t[n]){var s=cc.assetManager.assets.get(n);s&&r.tryRelease(s)}}}}),{"../CCDirector":70,"../platform/js":259,"./depend-util":81,"./downloader":88,"./factory":89,"./helper":92,"./releaseManager":99,"./utilities":104}],83:[(function(t,e){"use strict";var i=t("./helper");t("../platform/deserialize"),e.exports=function(t,e){var n;n=cc._MissingScript.safeFindClass;var r,s=null,a=(s=cc.deserialize.Details.pool).get();try{r=cc.deserialize(t,a,{classFinder:n,customEnv:e})}catch(f){throw s.put(a),f}for(var o=a.uuidList,l=a.uuidObjList,c=a.uuidPropList,h=[],u=0;u<o.length;u++){var _=o[u];h[u]={uuid:i.decodeUuid(_),owner:l[u],prop:c[u]}}return r.__depends__=h,r._native&&(r.__nativeDepend__=!0),s.put(a),r}}),{"../platform/deserialize":254,"../platform/deserialize-compiled":253,"../platform/deserialize-editor":void 0,"./helper":92}],84:[(function(t,e){"use strict";var i=cc.sys.__audioSupport,n=t("./utilities").parseParameters;e.exports=function(t,e,r){var s=n(e,void 0,r),a=(e=s.options,r=s.onComplete,document.createElement("audio"));a.src=t;var o=function(){clearTimeout(l),a.removeEventListener("canplaythrough",c,!1),a.removeEventListener("error",h,!1),i.USE_LOADER_EVENT&&a.removeEventListener(i.USE_LOADER_EVENT,c,!1)},l=setTimeout((function(){0===a.readyState?h():c()}),8e3),c=function(){o(),r&&r(null,a)},h=function(){o();var e="load audio failure - "+t;cc.log(e),r&&r(new Error(e))};return a.addEventListener("canplaythrough",c,!1),a.addEventListener("error",h,!1),i.USE_LOADER_EVENT&&a.addEventListener(i.USE_LOADER_EVENT,c,!1),a}}),{"./utilities":104}],85:[(function(t,e){"use strict";var i=t("./utilities").parseParameters;e.exports=function(t,e,n){var r=i(e,void 0,n),s=(e=r.options,n=r.onComplete,new Image);function a(){s.removeEventListener("load",a),s.removeEventListener("error",o),n&&n(null,s)}function o(){s.removeEventListener("load",a),s.removeEventListener("error",o),n&&n(new Error(cc.debug.getError(4930,t)))}return"file:"!==window.location.protocol&&(s.crossOrigin="anonymous"),s.addEventListener("load",a),s.addEventListener("error",o),s.src=t,s}}),{"./utilities":104}],86:[(function(t,e){"use strict";var i=t("./utilities").parseParameters;e.exports=function(t,e,n,r){var s=i(e,n,r),a=(e=s.options,n=s.onProgress,r=s.onComplete,new XMLHttpRequest),o="download failed: "+t+", status: ";if(a.open("GET",t,!0),void 0!==e.responseType&&(a.responseType=e.responseType),void 0!==e.withCredentials&&(a.withCredentials=e.withCredentials),void 0!==e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),void 0!==e.timeout&&(a.timeout=e.timeout),e.header)for(var l in e.header)a.setRequestHeader(l,e.header[l]);return a.onload=function(){200===a.status||0===a.status?r&&r(null,a.response):r&&r(new Error(o+a.status+"(no response)"))},n&&(a.onprogress=function(t){t.lengthComputable&&n(t.loaded,t.total)}),a.onerror=function(){r&&r(new Error(o+a.status+"(error)"))},a.ontimeout=function(){r&&r(new Error(o+a.status+"(time out)"))},a.onabort=function(){r&&r(new Error(o+a.status+"(abort)"))},a.send(null),a}}),{"./utilities":104}],87:[(function(t,e){"use strict";var i=t("./utilities").parseParameters,n={};e.exports=function(t,e,r){var s=i(e,void 0,r);if(e=s.options,r=s.onComplete,n[t])return r&&r(null);var a=document,o=document.createElement("script");function l(){o.parentNode.removeChild(o),o.removeEventListener("load",l,!1),o.removeEventListener("error",c,!1),n[t]=!0,r&&r(null)}function c(){o.parentNode.removeChild(o),o.removeEventListener("load",l,!1),o.removeEventListener("error",c,!1),r&&r(new Error(cc.debug.getError(4928,t)))}"file:"!==window.location.protocol&&(o.crossOrigin="anonymous"),o.async=e.async,o.src=t,o.addEventListener("load",l,!1),o.addEventListener("error",c,!1),a.body.appendChild(o)}}),{"./utilities":104}],88:[(function(t,e){"use strict";var i=t("../platform/js"),n=t("../CCDebug"),r=t("./font-loader").loadFont,s=t("../platform/utils").callInNextTick,a=t("./download-dom-image"),o=t("./download-dom-audio"),l=t("./download-file"),c=t("./download-script.js"),h=t("./cache"),u=t("./shared").files,_=t("../platform/CCSys"),f=_.__audioSupport,d=_.capabilities,p=t("./utilities"),m=p.urlAppendTimestamp,y=p.retry,v=/^(?:\w+:\/\/|\.+\/).+/,g=function(t,e,i){e.audioLoadMode!==cc.AudioClip.LoadMode.DOM_AUDIO?C(t,e,i):o(t,e,i)},b=(g=0===(f.format||[]).length?function(t,e,i){i(new Error(n.getError(4927)))}:f.WEB_AUDIO?g:o,function(){var t=d.imageBitmap&&cc.macro.ALLOW_IMAGE_BITMAP?A:a;t.apply(this,arguments)}),A=function(t,e,i){e.responseType="blob",l(t,e,e.onFileProgress,i)},x=function(t,e,i){e.responseType="json",l(t,e,e.onFileProgress,(function(t,e){if(!t&&"string"==typeof e)try{e=JSON.parse(e)}catch(n){t=n}i&&i(t,e)}))},C=function(t,e,i){e.responseType="arraybuffer",l(t,e,e.onFileProgress,i)},T=function(t,e,i){e.responseType="text",l(t,e,e.onFileProgress,i)},S=function(t,e,i){i(null,t)},w=new h,E=[],M=!1,D=0,B=0,I=-1,P=!1,R=function(){var t=Date.now(),e=cc.director._deltaTime>L._maxInterval?L._maxInterval:cc.director._deltaTime;t-I>1e3*e&&(B=0,I=t)},O=function t(e,i){for(P=!1,R();E.length>0&&D<e&&B<i;){M&&(E.sort((function(t,e){return t.priority-e.priority})),M=!1);var n=E.pop();if(!n)break;D++,B++,n.invoke()}E.length>0&&D<e&&(s(t,e,i),P=!0)},L={_remoteServerAddress:"",_maxInterval:1/30,get remoteServerAddress(){return this._remoteServerAddress},maxConcurrency:6,maxRequestsPerFrame:6,maxRetryCount:3,appendTimeStamp:!1,limited:!0,retryInterval:2e3,bundleVers:null,downloadDomImage:a,downloadDomAudio:o,downloadFile:l,downloadScript:c,init:function(t,e){w.clear(),E.length=0,this._remoteServerAddress=e||"",this.bundleVers=t||Object.create(null)},register:function(t,e){"object"==typeof t?i.mixin(F,t):F[t]=e},download:function(t,e,i,n,r){var a,o,l=F[i]||F.default,c=this;if(a=u.get(t))r(null,a);else if(o=w.get(t)){o.push(r);for(var h=0,_=E.length;h<_;h++){var f=E[h];if(f.id===t){var d=n.priority||0;return void(f.priority<d&&(f.priority=d,M=!0))}}}else{var p=void 0!==n.maxRetryCount?n.maxRetryCount:this.maxRetryCount,v=void 0!==n.maxConcurrency?n.maxConcurrency:this.maxConcurrency,g=void 0!==n.maxRequestsPerFrame?n.maxRequestsPerFrame:this.maxRequestsPerFrame;y((function(i,a){if(0===i&&w.add(t,[r]),!c.limited)return l(m(e),n,a);function o(){l(m(e),n,(function(){D--,!P&&E.length>0&&(s(O,v,g),P=!0),a.apply(this,arguments)}))}R(),D<v&&B<g?(o(),D++,B++):(E.push({id:t,priority:n.priority||0,invoke:o}),M=!0,!P&&D<v&&(s(O,v,g),P=!0))}),p,this.retryInterval,(function(e,i){e||u.add(t,i);for(var n=w.remove(t),r=0,s=n.length;r<s;r++)n[r](e,i)}))}}},F={".png":b,".jpg":b,".bmp":b,".jpeg":b,".gif":b,".ico":b,".tiff":b,".webp":b,".image":b,".pvr":C,".pkm":C,".mp3":g,".ogg":g,".wav":g,".m4a":g,".txt":T,".xml":T,".vsh":T,".fsh":T,".atlas":T,".tmx":T,".tsx":T,".json":x,".ExportJson":x,".plist":T,".fnt":T,".font":r,".eot":r,".ttf":r,".woff":r,".svg":r,".ttc":r,".mp4":S,".avi":S,".mov":S,".mpg":S,".mpeg":S,".rm":S,".rmvb":S,".binary":C,".bin":C,".dbbin":C,".skel":C,".js":c,bundle:function(t,e,i){var n=cc.path.basename(t),r=t;v.test(r)||(r="assets/"+n);var s=e.version||L.bundleVers[n],a=0,o=null,l=null;x(r+"/config."+(s?s+".":"")+"json",e,(function(t,e){t&&(l=t),(o=e)&&(o.base=r+"/"),2==++a&&i(l,o)})),c(r+"/index."+(s?s+".":"")+"js",e,(function(t){t&&(l=t),2==++a&&i(l,o)}))},default:T};L._downloaders=F,e.exports=L}),{"../CCDebug":69,"../platform/CCSys":247,"../platform/js":259,"../platform/utils":262,"./cache":79,"./download-dom-audio":84,"./download-dom-image":85,"./download-file":86,"./download-script.js":87,"./font-loader":91,"./shared":101,"./utilities":104}],89:[(function(t,e){"use strict";var i=t("./bundle"),n=t("./cache"),r=t("./shared"),s=r.assets,a=r.bundles,o=new n;function l(t,e,i,n){var r=null,s=null;try{(r=new cc.Texture2D)._nativeUrl=t,r._nativeAsset=e}catch(a){s=a}n&&n(s,r)}function c(t,e,i,n){var r=new cc.AudioClip;r._nativeUrl=t,r._nativeAsset=e,r.duration=e.duration,n&&n(null,r)}function h(t,e,i,n){var r=new cc.JsonAsset;r.json=e,n&&n(null,r)}function u(t,e,i,n){var r=new cc.TextAsset;r.text=e,n&&n(null,r)}function _(t,e,i,n){var r=new cc.TTFFont;r._nativeUrl=t,r._nativeAsset=e,n&&n(null,r)}function f(t,e,i,n){var r=new cc.BufferAsset;r._nativeUrl=t,r._nativeAsset=e,n&&n(null,r)}var d={register:function(t,e){"object"==typeof t?cc.js.mixin(p,t):p[t]=e},create:function(t,e,i,n,r){var a,l,c=p[i]||p.default;(a=s.get(t))?r(null,a):(l=o.get(t))?l.push(r):(o.add(t,[r]),c(t,e,n,(function(e,i){!e&&i instanceof cc.Asset&&(i._uuid=t,s.add(t,i));for(var n=o.remove(t),r=0,a=n.length;r<a;r++)n[r](e,i)})))}},p={".png":l,".jpg":l,".bmp":l,".jpeg":l,".gif":l,".ico":l,".tiff":l,".webp":l,".image":l,".pvr":l,".pkm":l,".mp3":c,".ogg":c,".wav":c,".m4a":c,".txt":u,".xml":u,".vsh":u,".fsh":u,".atlas":u,".tmx":u,".tsx":u,".fnt":u,".json":h,".ExportJson":h,".font":_,".eot":_,".ttf":_,".woff":_,".svg":_,".ttc":_,".binary":f,".bin":f,".dbbin":f,".skel":f,bundle:function(t,e,n,r){var s=a.get(e.name);s||(s=new i,e.base=e.base||t+"/",s.init(e)),r&&r(null,s)},default:function(t,e,i,n){var r=new cc.Asset;r._nativeUrl=t,r._nativeAsset=e,n&&n(null,r)}};e.exports=d}),{"./bundle":78,"./cache":79,"./shared":101}],90:[(function(t,e){"use strict";var i=t("./pack-manager"),n=t("./task"),r=t("./utilities"),s=r.getDepends,a=r.clear,o=r.forEach,l=t("./shared"),c=l.assets,h=l.fetchPipeline;function u(t){for(var e=t.output,i=0,n=e.length;i<n;i++)e[i].content&&e[i].content.decRef(!1)}function _(t,e,i,n,r,a,o){var l=e.options.__exclude__,c=e.progress;t.content=i,t.file=n,e.output.push(t),r&&(l[t.uuid]=!0,s(t.uuid,n||i,l,a,!0,!1,t.config),c.total=o+a.length),c.canInvoke&&e.dispatch("progress",++c.finish,c.total,t)}e.exports=function(t,e){var r=!1;t.progress||(t.progress={finish:0,total:t.input.length,canInvoke:!0},r=!0);var s=t.options,l=[],f=t.progress,d=f.total;s.__exclude__=s.__exclude__||Object.create(null),t.output=[],o(t.input,(function(n,s){if(!n.isNative&&c.has(n.uuid)){var a=c.get(n.uuid);return a.addRef(),_(n,t,a,null,a.__asyncLoadAssets__,l,d),s()}i.load(n,t.options,(function(i,a){i?t.isFinish||(!cc.assetManager.force||r?(cc.error(i.message,i.stack),f.canInvoke=!1,e(i)):_(n,t,null,null,!1,l,d)):t.isFinish||_(n,t,null,a,!n.isNative,l,d),s()}))}),(function(){if(t.isFinish)return a(t,!0),t.dispatch("error");if(l.length>0){var i=n.create({name:t.name+" dependencies",input:l,progress:f,options:s,onProgress:t.onProgress,onError:n.prototype.recycle,onComplete:function(n){n||(t.output.push.apply(t.output,this.output),i.recycle()),r&&u(t),e(n)}});h.async(i)}else r&&u(t),e()}))}}),{"./pack-manager":95,"./shared":101,"./task":102,"./utilities":104}],91:[(function(t,e){"use strict";var i,n=t("../utils/text-utils"),r=null,s="BES bswy:->@123\u4e01\u3041\u1101",a=Object.create(null),o=-1,l=[],c=3e3,h=(i=void 0,function(){if(void 0===i)if(window.FontFace){var t=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),e=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);i=t?parseInt(t[1],10)>42:!e}else i=!1;return i});function u(){for(var t=!0,e=Date.now(),i=l.length-1;i>=0;i--){var a=l[i],h=a.fontFamilyName;if(e-a.startTime>c)cc.warnID(4933,h),a.onComplete(null,h),l.splice(i,1);else{var u=a.refWidth,_="40px "+h;r.font=_,u!==n.safeMeasureText(r,s,_)?(l.splice(i,1),a.onComplete(null,h)):t=!1}}t&&(clearInterval(o),o=-1)}var _={loadFont:function(t,e,i){var f=_._getFontFamily(t);if(a[f])return i(null,f);if(!r){var d=document.createElement("canvas");d.width=100,d.height=100,r=d.getContext("2d")}var p="40px "+f;r.font=p;var m=n.safeMeasureText(r,s,p),y=document.createElement("style");y.type="text/css";var v="";isNaN(f-0)?v+="@font-face { font-family:"+f+"; src:":v+="@font-face { font-family:'"+f+"'; src:",v+="url('"+t+"');",y.textContent=v+"}",document.body.appendChild(y);var g,b,A,x,C,T,S=document.createElement("div"),w=S.style;if(w.fontFamily=f,S.innerHTML=".",w.position="absolute",w.left="-100px",w.top="-100px",document.body.appendChild(S),h())g=Date.now(),b=f,A=i,x=new Promise(function(t,e){(function i(){Date.now()-g>=c?e():document.fonts.load("40px "+b).then((function(e){e.length>=1?t():setTimeout(i,100)}),(function(){e()}))})()}),C=null,T=new Promise(function(t,e){C=setTimeout(e,c)}),Promise.race([T,x]).then((function(){C&&(clearTimeout(C),C=null),A(null,b)}),(function(){cc.warnID(4933,b),A(null,b)}));else{var E={fontFamilyName:f,refWidth:m,onComplete:i,startTime:Date.now()};l.push(E),-1===o&&(o=setInterval(u,100))}a[f]=y},_getFontFamily:function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,n=t.lastIndexOf("/");return-1!==(i=-1===n?t.substring(0,e)+"_LABEL":t.substring(n+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}};e.exports=_}),{"../utils/text-utils":330}],92:[(function(t,e){"use strict";var i,n=t("./shared").bundles,r={decodeUuid:t("../utils/decode-uuid"),getUuidFromURL:(i=/.*[\/\\][0-9a-fA-F]{2}[\/\\]([0-9a-fA-F-]{8,})/,function(t){var e=t.match(i);return e?e[1]:""}),getUrlWithUuid:function(t,e){(e=e||Object.create(null)).__isNative__=e.isNative,e.ext=e.nativeExt;var i=n.find((function(e){return e.getAssetInfo(t)}));return i&&(e.bundle=i.name),cc.assetManager._transform(t,e)},isScene:function(t){return t&&(t.constructor===cc.SceneAsset||t instanceof cc.Scene)},normalize:function(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t}};e.exports=r}),{"../utils/decode-uuid":318,"./shared":101}],93:[(function(t){"use strict";t("./deprecated"),t("./CCAssetManager")}),{"./CCAssetManager":76,"./deprecated":82}],94:[(function(t,e){"use strict";var i=t("./pack-manager"),n=t("./pipeline"),r=t("./parser"),s=t("./utilities"),a=s.getDepends,o=s.cache,l=s.gatherAsset,c=s.setProperties,h=s.forEach,u=s.clear,_=s.checkCircleReference,f=t("./shared"),d=f.assets,p=f.files,m=f.parsed,y=f.pipeline,v=t("./task"),g=new n("loadOneAsset",[function(t,e){var n=t.output=t.input,r=n.options,s=n.isNative,a=n.uuid,o=n.file,l=r.reload;if(o||!l&&!s&&d.has(a))return e();i.load(n,t.options,(function(t,i){n.file=i,e(t)}))},function(t,e){var i=t.output=t.input,n=t.progress,s=t.options.__exclude__,a=i.id,o=i.file,l=i.options;if(i.isNative)r.parse(a,o,i.ext,l,(function(r,s){if(r)return e(r);i.content=s,n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),p.remove(a),m.remove(a),e()}));else{var c=i.uuid;if(c in s){var h=s[c],u=h.finish,f=h.content,y=h.err,v=h.callbacks;n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),u||_(c,c,s)?(f&&f.addRef&&f.addRef(),i.content=f,e(y)):v.push({done:e,item:i})}else if(!l.reload&&d.has(c)){var g=d.get(c);l.__asyncLoadAssets__||!g.__asyncLoadAssets__?(i.content=g.addRef(),n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),e()):b(t,g,e,!1)}else r.parse(a,o,"import",l,(function(i,n){if(i)return e(i);n._uuid=c,b(t,n,e,!0)}))}}]);function b(t,e,i,n){var r=t.input,s=t.progress,l=r.uuid,h=r.id,u=r.options,_=r.config,f=u.__asyncLoadAssets__,d=u.cacheAsset,g=[];e.addRef&&e.addRef(),a(l,e,Object.create(null),g,!1,f,_),s.canInvoke&&t.dispatch("progress",++s.finish,s.total+=g.length,r);var b=t.options.__exclude__[l]={content:e,finish:!1,callbacks:[{done:i,item:r}]},A=v.create({input:g,options:t.options,onProgress:t.onProgress,onError:v.prototype.recycle,progress:s,onComplete:function(t){if(e.decRef&&e.decRef(!1),e.__asyncLoadAssets__=f,b.finish=!0,b.err=t,!t){for(var i=Array.isArray(A.output)?A.output:[A.output],r=Object.create(null),s=0,a=i.length;s<a;s++){var u=i[s];u&&(r[u instanceof cc.Asset?u._uuid+"@import":l+"@native"]=u)}if(n){if(!c(l,e,r)&&!e.__onLoadInvoked__)try{e.onLoad&&e.onLoad(),e.__onLoadInvoked__=!0}catch(x){cc.error(x.message,x.stack)}p.remove(h),m.remove(h),o(l,e,void 0!==d?d:cc.assetManager.cacheAsset)}else if(e.__nativeDepend__&&!e._nativeAsset&&!c(l,e,r)&&!e.__onLoadInvoked__)try{e.onLoad&&e.onLoad(),e.__onLoadInvoked__=!0}catch(x){cc.error(x.message,x.stack)}A.recycle()}for(var _=b.callbacks,y=0,v=_.length;y<v;y++){var g=_[y];e.addRef&&e.addRef(),g.item.content=e,g.done(t)}_.length=0}});y.async(A)}e.exports=function(t,e){var i=!1;t.progress||(t.progress={finish:0,total:t.input.length,canInvoke:!0},i=!0);var n=t.options,r=t.progress;n.__exclude__=n.__exclude__||Object.create(null),t.output=[],h(t.input,(function(s,a){var o=v.create({input:s,onProgress:t.onProgress,options:n,progress:r,onComplete:function(n,s){n&&!t.isFinish&&(!cc.assetManager.force||i?(cc.error(n.message,n.stack),r.canInvoke=!1,e(n)):r.canInvoke&&t.dispatch("progress",++r.finish,r.total,s)),t.output.push(s),o.recycle(),a()}});g.async(o)}),(function(){if(n.__exclude__=null,t.isFinish)return u(t,!0),t.dispatch("error");l(t),u(t,!0),e()}))}}),{"./pack-manager":95,"./parser":96,"./pipeline":97,"./shared":101,"./task":102,"./utilities":104}],95:[(function(t,e){"use strict";var i=t("../platform/deserialize-compiled"),n=t("./downloader"),r=t("./cache"),s=t("../platform/js"),a=t("./shared").files,o=new r;function l(t){return o.has(t.uuid)}var c={unpackJson:function(t,e,n,r){var a=s.createMap(!0),o=null;if(Array.isArray(e)){(e=(0,i.unpackJSONs)(e)).length!==t.length&&cc.errorID(4915);for(var l=0;l<t.length;l++)a[t[l]+"@import"]=e[l]}else{var c=s._getClassId(cc.Texture2D);if(e.type===c){if(e.data){var h=e.data.split("|");h.length!==t.length&&cc.errorID(4915);for(var u=0;u<t.length;u++)a[t[u]+"@import"]=(0,i.packCustomObjData)(c,h[u],!0)}}else o=new Error("unmatched type pack!"),a=null}r&&r(o,a)},init:function(){o.clear()},register:function(t,e){"object"==typeof t?s.mixin(h,t):h[t]=e},unpack:function(t,e,i,n,r){e?(0,h[i])(t,e,n,r):r&&r(new Error("package data is wrong!"))},load:function(t,e,i){if(t.isNative||!t.info||!t.info.packs)return n.download(t.id,t.url,t.ext,t.options,i);if(a.has(t.id))return i(null,a.get(t.id));var r=t.info.packs,s=r.find(l);if(s)return o.get(s.uuid).push({onComplete:i,id:t.id});s=r[0],o.add(s.uuid,[{onComplete:i,id:t.id}]);var h=cc.assetManager._transform(s.uuid,{ext:s.ext,bundle:t.config.name});n.download(s.uuid,h,s.ext,t.options,(function(e,i){a.remove(s.uuid),e&&cc.error(e.message,e.stack),c.unpack(s.packs,i,s.ext,t.options,(function(t,e){if(!t)for(var i in e)a.add(i,e[i]);for(var n=o.remove(s.uuid),r=0,l=n.length;r<l;r++){var c=n[r];if(t)c.onComplete(t);else{var h=e[c.id];h?c.onComplete(null,h):c.onComplete(new Error("can not retrieve data from package"))}}}))}))}},h={".json":c.unpackJson};e.exports=c}),{"../platform/deserialize-compiled":253,"../platform/js":259,"./cache":79,"./downloader":88,"./shared":101}],96:[(function(t,e){"use strict";var i=t("../platform/CCSAXParser").plistParser,n=t("../platform/js"),r=t("./deserialize"),s=t("./cache"),a=t("./helper").isScene,o=t("./shared"),l=o.parsed,c=o.files,h=t("../platform/CCSys"),u=h.__audioSupport,_=h.capabilities,f=new s,d={parseImage:function(t,e,i){if(_.imageBitmap&&t instanceof Blob){var n={};n.imageOrientation=e.__flipY__?"flipY":"none",n.premultiplyAlpha=e.__premultiplyAlpha__?"premultiply":"none",createImageBitmap(t,n).then((function(t){t.flipY=!!e.__flipY__,t.premultiplyAlpha=!!e.__premultiplyAlpha__,i&&i(null,t)}),(function(t){i&&i(t,null)}))}else i&&i(null,t)},parseAudio:function(t,e,i){t instanceof ArrayBuffer?u.context.decodeAudioData(t,(function(t){i&&i(null,t)}),(function(t){i&&i(t,null)})):i&&i(null,t)},parsePVRTex:function(t,e,i){var n=null,r=null;try{var s=t instanceof ArrayBuffer?t:t.buffer,a=new Int32Array(s,0,13);if(55727696!=a[0])throw new Error("Invalid magic number in PVR header");var o=a[7],l=a[6],c=a[12]+52;r={_data:new Uint8Array(s,c),_compressed:!0,width:o,height:l}}catch(h){n=h}i&&i(n,r)},parsePKMTex:(function(){function t(t,e){return t[e]<<8|t[e+1]}return function(e,i,n){var r=null,s=null;try{var a=e instanceof ArrayBuffer?e:e.buffer,o=new Uint8Array(a),l=t(o,6);if(0!==l&&1!==l&&3!==l)return new Error("Invalid magic number in ETC header");var c=t(o,12),h=t(o,14);t(o,8),t(o,10),s={_data:new Uint8Array(a,16),_compressed:!0,width:c,height:h}}catch(u){r=u}n&&n(r,s)}})(),parsePlist:function(t,e,n){var r=null,s=i.parse(t);s||(r=new Error("parse failed")),n&&n(r,s)},parseImport:function(t,e,i){if(!t)return i&&i(new Error("Json is empty"));var n,s=null;try{n=r(t,e)}catch(a){s=a}i&&i(s,n)},init:function(){f.clear()},register:function(t,e){"object"==typeof t?n.mixin(p,t):p[t]=e},parse:function(t,e,i,n,r){var s,o,h;(s=l.get(t))?r(null,s):(o=f.get(t))?o.push(r):(h=p[i])?(f.add(t,[r]),h(e,n,(function(e,i){e?c.remove(t):a(i)||l.add(t,i);for(var n=f.remove(t),r=0,s=n.length;r<s;r++)n[r](e,i)}))):r(null,e)}},p={".png":d.parseImage,".jpg":d.parseImage,".bmp":d.parseImage,".jpeg":d.parseImage,".gif":d.parseImage,".ico":d.parseImage,".tiff":d.parseImage,".webp":d.parseImage,".image":d.parseImage,".pvr":d.parsePVRTex,".pkm":d.parsePKMTex,".mp3":d.parseAudio,".ogg":d.parseAudio,".wav":d.parseAudio,".m4a":d.parseAudio,".plist":d.parsePlist,import:d.parseImport};e.exports=d}),{"../platform/CCSAXParser":245,"../platform/CCSys":247,"../platform/js":259,"./cache":79,"./deserialize":83,"./helper":92,"./shared":101}],97:[(function(t,e){"use strict";var i=t("./task"),n=0;function r(t,e){if(Array.isArray(e)){this.id=n++,this.name=t,this.pipes=[];for(var i=0,r=e.length;i<r;i++)"function"==typeof e[i]&&this.pipes.push(e[i])}else cc.warn("funcs must be an array")}r.prototype={constructor:r,insert:function(t,e){if(!("function"!=typeof t||e>this.pipes.length))return this.pipes.splice(e,0,t),this;cc.warnID(4921)},append:function(t){if("function"==typeof t)return this.pipes.push(t),this},remove:function(t){if("number"==typeof t)return this.pipes.splice(t,1),this},sync:function(t){var e=this.pipes;if(t instanceof i&&0!==e.length){null!=t.output&&(t.input=t.output,t.output=null),t._isFinish=!1;for(var n=0,r=e.length;n<r;){var s=(0,e[n])(t);if(s)return t._isFinish=!0,s;++n!==r&&(t.input=t.output,t.output=null)}return t._isFinish=!0,t.output}},async:function(t){var e=this.pipes;t instanceof i&&0!==e.length&&(null!=t.output&&(t.input=t.output,t.output=null),t._isFinish=!1,this._flow(0,t))},_flow:function(t,e){var i=this;(0,this.pipes[t])(e,(function(n){n?(e._isFinish=!0,e.onComplete&&e.onComplete(n)):++t<i.pipes.length?(e.input=e.output,e.output=null,i._flow(t,e)):(e._isFinish=!0,e.onComplete&&e.onComplete(n,e.output))}))}},e.exports=r}),{"./task":102}],98:[(function(t,e){"use strict";var i=t("./task"),n=t("./shared"),r=n.transformPipeline,s=n.RequestType;e.exports=function(t,e){var n=t.options,a=Object.create(null),o=Object.create(null);for(var l in n)switch(l){case s.PATH:case s.UUID:case s.DIR:case s.SCENE:case s.URL:break;case"__requestType__":case"__isNative__":case"ext":case"type":case"__nativeName__":case"audioLoadMode":case"bundle":a[l]=n[l];break;case"__exclude__":case"__outputAsArray__":o[l]=n[l];break;default:a[l]=n[l],o[l]=n[l]}t.options=o;var c=i.create({input:t.input,options:a}),h=null;try{t.output=t.source=r.sync(c)}catch(f){h=f;for(var u=0,_=c.output.length;u<_;u++)c.output[u].recycle()}c.recycle(),e(h)}}),{"./shared":101,"./task":102}],99:[(function(t,e){"use strict";var i=t("./depend-util"),n=t("./cache");t("../assets/CCAsset");var r=t("./shared").assets,s=t("../platform/utils").callInNextTick;function a(t,e){t._uuid&&e.push(t._uuid)}function o(t,e){for(var i=Object.getOwnPropertyNames(t),n=0;n<i.length;n++){var r=i[n];if("node"!==r&&"__eventTargets"!==r){var s=t[r];if("object"==typeof s&&s)if(Array.isArray(s))for(var o=0;o<s.length;o++){var l=s[o];l instanceof cc.Asset&&a(l,e)}else if(s.constructor&&s.constructor!==Object)s instanceof cc.Asset&&a(s,e);else for(var c=Object.getOwnPropertyNames(s),h=0;h<c.length;h++){var u=s[c[h]];u instanceof cc.Asset&&a(u,e)}}}}var l=[];function c(t,e){for(var i=0;i<t._components.length;i++)o(t._components[i],e);for(var n=0;n<t._children.length;n++)c(t._children[n],e)}function h(t,e,n,s){n.push(t._uuid);for(var a=i.getDeps(t._uuid),o=0,l=a.length;o<l;o++){var c=r.get(a[o]);if(c){var u=c._uuid;if(u in e?e[u]+=s:e[u]=c.refCount+s,n.includes(u))continue;h(c,e,n,s)}}}function u(t){var e=Object.create(null);if(e[t._uuid]=t.refCount,h(t,e,l,-1),l.length=0,0!==e[t._uuid])return e[t._uuid];for(var i in e)0!==e[i]&&h(r.get(i),e,l,1);return l.length=0,e[t._uuid]}var _=new n,f=new n,d=!1;function p(){d=!1,f.forEach((function(t){m._free(t)})),f.clear()}var m={init:function(){_.clear(),f.clear()},_addPersistNodeRef:function(t){var e=[];c(t,e);for(var i=0,n=e.length;i<n;i++){var s=r.get(e[i]);s&&s.addRef()}_.add(t.uuid,e)},_removePersistNodeRef:function(t){if(_.has(t.uuid)){for(var e=_.get(t.uuid),i=0,n=e.length;i<n;i++){var s=r.get(e[i]);s&&s.decRef()}_.remove(t.uuid)}},_autoRelease:function(t,e,n){if(t){for(var s=i.getDeps(t._id),a=0,o=s.length;a<o;a++){var l=r.get(s[a]);l&&l.decRef(t.autoReleaseAssets)}var c=i._depends.get(t._id);if(c&&c.persistDeps)for(var h=c.persistDeps,u=0,f=h.length;u<f;u++){var d=r.get(h[u]);d&&d.decRef(t.autoReleaseAssets)}t._id!==e._id&&i.remove(t._id)}var p=i._depends.get(e._id);p&&(p.persistDeps=[]);for(var m=0,y=n.length;m<y;m++){for(var v=n[m],g=_.get(v.uuid),b=0,A=g.length;b<A;b++){var x=r.get(g[b]);x&&x.addRef()}p&&p.persistDeps.push.apply(p.persistDeps,g)}},_free:function(t,e){if(f.remove(t._uuid),cc.isValid(t,!0)&&!(!e&&t.refCount>0&&u(t)>0)){r.remove(t._uuid);for(var n=i.getDeps(t._uuid),s=0,a=n.length;s<a;s++){var o=r.get(n[s]);o&&(o.decRef(!1),m._free(o,!1))}t.destroy(),i.remove(t._uuid)}},tryRelease:function(t,e){t instanceof cc.Asset&&(e?m._free(t,e):(f.add(t._uuid,t),d||(d=!0,s(p))))}};e.exports=m}),{"../assets/CCAsset":105,"../platform/utils":262,"./cache":79,"./depend-util":81,"./shared":101}],100:[(function(t,e){"use strict";var i=[];function n(){this._id="",this.uuid="",this.url="",this.ext=".json",this.content=null,this.file=null,this.info=null,this.config=null,this.isNative=!1,this.options=Object.create(null)}n.prototype={constructor:n,get id(){return this._id||(this._id=this.uuid+"@"+(this.isNative?"native":"import")),this._id},recycle:function(){500!==i.length&&(this._id="",this.uuid="",this.url="",this.ext=".json",this.content=null,this.file=null,this.info=null,this.config=null,this.isNative=!1,this.options=Object.create(null),i.push(this))}},n.create=function(){return 0!==i.length?i.pop():new n},e.exports=n}),{}],101:[(function(t,e){"use strict";var i=t("./cache"),n=t("./pipeline"),r=new i,s=new i,a=new i,o=new i,l=new n("normal load",[]),c=new n("fetch",[]),h=new n("transform url",[]);e.exports={assets:r,files:s,parsed:a,pipeline:l,fetchPipeline:c,transformPipeline:h,RequestType:{UUID:"uuid",PATH:"path",DIR:"dir",URL:"url",SCENE:"scene"},bundles:o,BuiltinBundleName:{RESOURCES:"resources",INTERNAL:"internal",MAIN:"main",START_SCENE:"start-scene"}}}),{"./cache":79,"./pipeline":97}],102:[(function(t,e){"use strict";var i=0,n=[];function r(t){this.id=i++,this._isFinish=!0,this.onComplete=null,this.onProgress=null,this.onError=null,this.source=null,this.output=null,this.input=null,this.progress=null,this.options=null,this.set(t)}r.prototype={constructor:r,set:function(t){t=t||Object.create(null),this.onComplete=t.onComplete,this.onProgress=t.onProgress,this.onError=t.onError,this.source=this.input=t.input,this.output=null,this.progress=t.progress,this.options=t.options||Object.create(null)},dispatch:function(t,e,i,n,r){switch(t){case"complete":this.onComplete&&this.onComplete(e,i,n,r);break;case"progress":this.onProgress&&this.onProgress(e,i,n,r);break;case"error":this.onError&&this.onError(e,i,n,r);break;default:var s="on"+t[0].toUpperCase()+t.substr(1);"function"==typeof this[s]&&this[s](e,i,n,r)}},recycle:function(){500!==n.length&&(this.onComplete=null,this.onProgress=null,this.onError=null,this.source=this.output=this.input=null,this.progress=null,this.options=null,n.push(this))},get isFinish(){return this._isFinish}},r.create=function(t){var e=null;return 0!==n.length?(e=n.pop()).set(t):e=new r(t),e},e.exports=r}),{}],103:[(function(t,e){"use strict";var i=t("./helper").decodeUuid,n=t("./request-item"),r=t("./shared"),s=r.RequestType,a=r.bundles;e.exports={parse:function(t){var e=t.input,r=t.options;e=Array.isArray(e)?e:[e],t.output=[];for(var o=0;o<e.length;o++){var l=e[o],c=n.create();if("string"==typeof l&&((l=Object.create(null))[r.__requestType__||s.UUID]=e[o]),"object"==typeof l)for(var h in cc.js.addon(l,r),l.preset&&cc.js.addon(l,cc.assetManager.presets[l.preset]),l){switch(h){case s.UUID:var u=c.uuid=i(l.uuid);if(a.has(l.bundle)){if((p=(m=a.get(l.bundle)._config).getAssetInfo(u))&&p.redirect){if(!a.has(p.redirect))throw new Error("Please load bundle "+p.redirect+" first");p=(m=a.get(p.redirect)._config).getAssetInfo(u)}c.config=m,c.info=p}c.ext=l.ext||".json";break;case"__requestType__":case"ext":case"bundle":case"preset":case"type":break;case s.DIR:if(a.has(l.bundle)){var _=[];a.get(l.bundle)._config.getDirWithPath(l.dir,l.type,_);for(var f=0,d=_.length;f<d;f++){var p=_[f];e.push({uuid:p.uuid,__isNative__:!1,ext:".json",bundle:l.bundle})}}c.recycle(),c=null;break;case s.PATH:if(a.has(l.bundle)){if((p=(m=a.get(l.bundle)._config).getInfoWithPath(l.path,l.type))&&p.redirect){if(!a.has(p.redirect))throw new Error("you need to load bundle "+p.redirect+" first");p=(m=a.get(p.redirect)._config).getAssetInfo(p.uuid)}if(!p)throw c.recycle(),new Error("Bundle "+l.bundle+" doesn't contain "+l.path);c.config=m,c.uuid=p.uuid,c.info=p}c.ext=l.ext||".json";break;case s.SCENE:if(a.has(l.bundle)){var m;if((p=(m=a.get(l.bundle)._config).getSceneInfo(l.scene))&&p.redirect){if(!a.has(p.redirect))throw new Error("you need to load bundle "+p.redirect+" first");p=(m=a.get(p.redirect)._config).getAssetInfo(p.uuid)}if(!p)throw c.recycle(),new Error("Bundle "+m.name+" doesn't contain scene "+l.scene);c.config=m,c.uuid=p.uuid,c.info=p}break;case"__isNative__":c.isNative=l.__isNative__;break;case s.URL:c.url=l.url,c.uuid=l.uuid||l.url,c.ext=l.ext||cc.path.extname(l.url),c.isNative=void 0===l.__isNative__||l.__isNative__;break;default:c.options[h]=l[h]}if(!c)break}if(c&&(t.output.push(c),!c.uuid&&!c.url))throw new Error("Can not parse this input:"+JSON.stringify(l))}return null},combine:function(t){for(var e=t.output=t.input,i=0;i<e.length;i++){var n=e[i];if(!n.url){var r,s,a=n.config;s=n.isNative?a&&a.nativeBase?a.base+a.nativeBase:cc.assetManager.generalNativeBase:a&&a.importBase?a.base+a.importBase:cc.assetManager.generalImportBase;var o=n.uuid,l="";n.info&&(l=n.isNative?n.info.nativeVer?"."+n.info.nativeVer:"":n.info.ver?"."+n.info.ver:""),r=".ttf"===n.ext?s+"/"+o.slice(0,2)+"/"+o+l+"/"+n.options.__nativeName__:s+"/"+o.slice(0,2)+"/"+o+l+n.ext,n.url=r}}return null}}}),{"./helper":92,"./request-item":100,"./shared":101}],104:[(function(t,e){"use strict";var i=t("./depend-util"),n=t("./helper"),r=n.isScene,s=n.decodeUuid,a=t("./shared").assets,o=t("../platform/utils").callInNextTick;t("../assets/CCAsset");var l={processOptions:function(t){var e=t.uuids,i=t.paths,n=t.types,r=t.deps,a=t.paths=Object.create(null);if(!1===t.debug){for(var o=0,l=e.length;o<l;o++)e[o]=s(e[o]);for(var c in i){var h=i[c],u=h[1];h[1]=n[u]}}else{for(var _=Object.create(null),f=0,d=e.length;f<d;f++){var p=e[f];e[f]=_[p]=s(p)}e=_}for(var m in i){var y=i[m];a[e[m]]=y}var v=t.scenes;for(var g in v){var b=v[g];v[g]=e[b]}var A=t.packs;for(var x in A)for(var C=A[x],T=0;T<C.length;++T)C[T]=e[C[T]];var S=t.versions;if(S)for(var w in S)for(var E=S[w],M=0;M<E.length;M+=2){var D=E[M];E[M]=e[D]||D}var B=t.redirect;if(B)for(var I=0;I<B.length;I+=2)B[I]=e[B[I]],B[I+1]=r[B[I+1]]},clear:function(t,e){for(var i=0,n=t.input.length;i<n;i++){var r=t.input[i];e&&!r.isNative&&r.content&&r.content.decRef&&r.content.decRef(!1),r.recycle()}t.input=null},urlAppendTimestamp:function(t){return cc.assetManager.downloader.appendTimeStamp&&"string"==typeof t?/\?/.test(t)?t+"&_t="+(new Date-0):t+"?_t="+(new Date-0):t},retry:function(t,e,i,n,r){t(r=r||0,(function(s,a){r++,!s||r>e?n&&n(s,a):setTimeout((function(){l.retry(t,e,i,n,r)}),i)}))},getDepends:function(t,e,n,r,s,a,o){try{var l=i.parse(t,e),c=!0;if(e instanceof cc.Asset&&(!e.__nativeDepend__||e._nativeAsset)&&(c=!1),s){for(var h=0,u=l.deps.length;h<u;h++){var _=l.deps[h];_ in n||(n[_]=!0,r.push({uuid:_,bundle:o&&o.name}))}c&&l.nativeDep&&(o&&(l.nativeDep.bundle=o.name),r.push(Object.assign({},l.nativeDep)))}else{a=!!e.asyncLoadAssets||a&&!l.preventDeferredLoadDependents;for(var f=0,d=l.deps.length;f<d;f++){var p=l.deps[f];p in n||(n[p]=!0,r.push({uuid:p,__asyncLoadAssets__:a,bundle:o&&o.name}))}c&&!a&&!l.preventPreloadNativeObject&&l.nativeDep&&(o&&(l.nativeDep.bundle=o.name),r.push(Object.assign({},l.nativeDep)))}}catch(m){cc.error(m.message,m.stack)}},cache:function(t,e,i){e&&(!r(e)&&i&&a.add(t,e))},setProperties:function(t,e,i){var n=!1,r=e.__depends__;if(r){for(var s=0,a=r.length;s<a;s++){var o=r[s],l=i[o.uuid+"@import"];l?o.owner[o.prop]=l.addRef():(cc.error("The asset "+o.uuid+" is missing!"),n=!0)}e.__depends__=void 0}return e.__nativeDepend__&&(e._nativeAsset||(i[t+"@native"]?e._nativeAsset=i[t+"@native"]:n=!0),e.__nativeDepend__=void 0),n},gatherAsset:function(t){var e=t.source;if(t.options.__outputAsArray__||1!==e.length)for(var i=t.output=[],n=0,r=e.length;n<r;n++)i.push(e[n].content);else t.output=e[0].content},forEach:function(t,e,i){var n=0,r=[];0===t.length&&i&&i(r);for(var s=0,a=t.length;s<a;s++)e(t[s],(function(t){t&&r.push(t),++n===a&&i&&i(r)}))},parseParameters:function(t,e,i){if(void 0===i){var n="function"==typeof t;e?(i=e,n||(e=null)):void 0===e&&n&&(i=t,t=null,e=null),void 0!==e&&n&&(e=t,t=null)}return{options:t=t||Object.create(null),onProgress:e,onComplete:i}},parseLoadResArgs:function(t,e,i){if(void 0===i){var n=cc.js.isChildClassOf(t,cc.Asset);e?(i=e,n&&(e=null)):void 0!==e||n||(i=t,e=null,t=null),void 0===e||n||(e=t,t=null)}return{type:t,onProgress:e,onComplete:i}},checkCircleReference:function(t,e,n,r){if(r||(r=Object.create(null)),!n[e]||r[e])return!1;r[e]=!0;var s=!1,a=i.getDeps(e);if(a)for(var o=0,c=a.length;o<c;o++){var h=a[o];if(h===t||l.checkCircleReference(t,h,n,r)){s=!0;break}}return s},asyncify:function(t){return function(e,i){if(t){var n=[];Array.isArray(i)?i.forEach((function(t){return t instanceof cc.Asset&&n.push(t.addRef())})):i instanceof cc.Asset&&n.push(i.addRef()),o((function(){n.forEach((function(t){return t.decRef(!1)})),t(e,i)}))}}}};e.exports=l}),{"../assets/CCAsset":105,"../platform/utils":262,"./depend-util":81,"./helper":92,"./shared":101}],105:[(function(t,e){"use strict";var i=t("../platform/CCObject");cc.Asset=cc.Class({name:"cc.Asset",extends:i,ctor:function(){Object.defineProperty(this,"_uuid",{value:"",writable:!0}),this.loaded=!0,this._nativeUrl="",this._ref=0},properties:{nativeUrl:{get:function(){if(!this._nativeUrl&&this._native){var t=this._native;if(47===t.charCodeAt(0))return t.slice(1);46===t.charCodeAt(0)?this._nativeUrl=cc.assetManager.utils.getUrlWithUuid(this._uuid,{nativeExt:t,isNative:!0}):this._nativeUrl=cc.assetManager.utils.getUrlWithUuid(this._uuid,{__nativeName__:t,nativeExt:cc.path.extname(t),isNative:!0})}return this._nativeUrl},visible:!1},refCount:{get:function(){return this._ref}},_native:"",_nativeAsset:{get:function(){return this._$nativeAsset},set:function(t){this._$nativeAsset=t}},_nativeDep:{get:function(){if(this._native)return{__isNative__:!0,uuid:this._uuid,ext:this._native}}}},statics:{deserialize:!1,preventDeferredLoadDependents:!1,preventPreloadNativeObject:!1},toString:function(){return this.nativeUrl},serialize:!1,createNode:null,_setRawAsset:function(t,e){this._native=!1!==e?t||void 0:"/"+t},addRef:function(){return this._ref++,this},decRef:function(t){return this._ref>0&&this._ref--,!1!==t&&cc.assetManager._releaseManager.tryRelease(this),this}}),e.exports=cc.Asset}),{"../platform/CCObject":244}],106:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Enum({WEB_AUDIO:0,DOM_AUDIO:1}),s=cc.Class({name:"cc.AudioClip",extends:i,mixins:[n],ctor:function(){this._loading=!1,this.loaded=!1,this._audio=null},properties:{duration:0,loadMode:{default:r.WEB_AUDIO,type:r},_nativeAsset:{get:function(){return this._audio},set:function(t){t instanceof cc.AudioClip?this._audio=t._nativeAsset:this._audio=t,this._audio&&(this.loaded=!0,this.emit("load"))},override:!0},_nativeDep:{get:function(){return{uuid:this._uuid,audioLoadMode:this.loadMode,ext:cc.path.extname(this._native),__isNative__:!0}},override:!0}},statics:{LoadMode:r,_loadByUrl:function(t,e){var i=cc.assetManager.assets.get(t);i?e(null,i):cc.assetManager.loadRemote(t,(function(t,i){if(t)return e(t);e(null,i)}))}},_ensureLoaded:function(t){if(this.loaded)return t&&t();if(t&&this.once("load",t),!this._loading){this._loading=!0;var e=this;cc.assetManager.postLoadNative(this,(function(){e._loading=!1}))}},destroy:function(){cc.audioEngine.uncache(this),this._super()}});cc.AudioClip=s,e.exports=s}),{"../event/event-target":185,"./CCAsset":105}],107:[(function(t,e){"use strict";var i=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.offsetX=0,this.offsetY=0,this.textureID=0,this.valid=!1,this.xAdvance=0},n=function(t){this._letterDefinitions={},this._texture=t};n.prototype={constructor:n,addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var n=new i;cc.js.mixin(n,this._letterDefinitions[e]),t[e]=n}return t},getTexture:function(){return this._texture},getLetter:function(t){return this._letterDefinitions[t]},getLetterDefinitionForChar:function(t){var e=t.charCodeAt(0);return this._letterDefinitions.hasOwnProperty(e)?this._letterDefinitions[e]:null},clear:function(){this._letterDefinitions={}}};var r=cc.Class({name:"cc.BitmapFont",extends:cc.Font,properties:{fntDataStr:{default:""},spriteFrame:{default:null,type:cc.SpriteFrame},fontSize:{default:-1},_fntConfig:null,_fontDefDictionary:null},onLoad:function(){var t=this.spriteFrame;this._fontDefDictionary||(this._fontDefDictionary=new n,t&&(this._fontDefDictionary._texture=t._texture));var e=this._fntConfig;if(e){var r=e.fontDefDictionary;for(var s in r){var a=new i,o=r[s].rect;a.offsetX=r[s].xOffset,a.offsetY=r[s].yOffset,a.w=o.width,a.h=o.height,a.u=o.x,a.v=o.y,a.textureID=0,a.valid=!0,a.xAdvance=r[s].xAdvance,this._fontDefDictionary.addLetterDefinitions(s,a)}}}});cc.BitmapFont=r,cc.BitmapFont.FontLetterDefinition=i,cc.BitmapFont.FontAtlas=n,e.exports=r}),{}],108:[(function(t,e){"use strict";var i=cc.Class({name:"cc.BufferAsset",extends:cc.Asset,ctor:function(){this._buffer=null},properties:{_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t},override:!0},buffer:function(){return this._buffer}}});cc.BufferAsset=e.exports=i}),{}],109:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Font",extends:cc.Asset});cc.Font=e.exports=i}),{}],110:[(function(t,e){"use strict";var i=cc.Class({name:"cc.JsonAsset",extends:cc.Asset,properties:{json:null}});e.exports=cc.JsonAsset=i}),{}],111:[(function(t,e){"use strict";var i=cc.Class({name:"cc.LabelAtlas",extends:cc.BitmapFont,onLoad:function(){this.spriteFrame?this._fntConfig?this._super():cc.warnID(9101,this.name):cc.warnID(9100,this.name)}});cc.LabelAtlas=i,e.exports=i}),{}],112:[(function(t,e){"use strict";var i=cc.Enum({AUTO:0,SINGLE_INSTANCE:1,MULTI_INSTANCE:2}),n=cc.Class({name:"cc.Prefab",extends:cc.Asset,ctor:function(){this._createFunction=null,this._instantiatedTimes=0},properties:{data:null,optimizationPolicy:i.AUTO,asyncLoadAssets:!1,readonly:{default:!1,editorOnly:!0}},statics:{OptimizationPolicy:i,OptimizationPolicyThreshold:3},createNode:!1,compileCreateFunction:function(){var e=t("../platform/instantiate-jit");this._createFunction=e.compile(this.data)},_doInstantiate:function(t){return this.data._prefab||cc.warnID(3700),this._createFunction||this.compileCreateFunction(),this._createFunction(t)},_instantiate:function(){var t;return this.optimizationPolicy!==i.SINGLE_INSTANCE&&(this.optimizationPolicy===i.MULTI_INSTANCE||this._instantiatedTimes+1>=n.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):t=this.data._instantiate(),++this._instantiatedTimes,t},destroy:function(){this.data&&this.data.destroy(),this._super()}});cc.Prefab=e.exports=n,cc.js.obsolete(cc,"cc._Prefab","Prefab")}),{"../platform/instantiate-jit":257}],113:[(function(t,e){"use strict";var i,n=(i=t("../../renderer/gfx"))&&i.__esModule?i:{default:i},r=t("../renderer"),s=t("./CCTexture2D"),a=cc.Enum({RB_FMT_D24S8:n.default.RB_FMT_D24S8,RB_FMT_S8:n.default.RB_FMT_S8,RB_FMT_D16:n.default.RB_FMT_D16}),o=cc.Class({name:"cc.RenderTexture",extends:s,statics:{DepthStencilFormat:a},ctor:function(){this._framebuffer=null},initWithSize:function(t,e,i){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var s,a={colors:[this._texture]};this._depthStencilBuffer&&this._depthStencilBuffer.destroy(),i&&(s=new n.default.RenderBuffer(r.device,i,t,e),i===n.default.RB_FMT_D24S8?a.depthStencil=s:i===n.default.RB_FMT_S8?a.stencil=s:i===n.default.RB_FMT_D16&&(a.depth=s)),this._depthStencilBuffer=s,this._framebuffer&&this._framebuffer.destroy(),this._framebuffer=new n.default.FrameBuffer(r.device,t,e,a),this._packable=!1,this.loaded=!0,this.emit("load")},updateSize:function(t,e){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var i=this._depthStencilBuffer;i&&i.update(this.width,this.height),this._framebuffer._width=t,this._framebuffer._height=e},drawTextureAt:function(t,e,i){t._image&&0!==t._image.width&&this._texture.updateSubImage({x:e,y:i,image:t._image,width:t.width,height:t.height,level:0,flipY:!1,premultiplyAlpha:t._premultiplyAlpha})},readPixels:function(t,e,i,n,r){if(!this._framebuffer||!this._texture)return t;e=e||0,i=i||0;var s=n||this.width,a=r||this.height;t=t||new Uint8Array(s*a*4);var o=cc.game._renderContext,l=o.getParameter(o.FRAMEBUFFER_BINDING);return o.bindFramebuffer(o.FRAMEBUFFER,this._framebuffer.getHandle()),o.readPixels(e,i,s,a,o.RGBA,o.UNSIGNED_BYTE,t),o.bindFramebuffer(o.FRAMEBUFFER,l),t},destroy:function(){this._super(),this._framebuffer&&(this._framebuffer.destroy(),this._framebuffer=null)}});cc.RenderTexture=e.exports=o}),{"../../renderer/gfx":371,"../renderer":270,"./CCTexture2D":120}],114:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SceneAsset",extends:cc.Asset,properties:{scene:null,asyncLoadAssets:void 0}});cc.SceneAsset=i,e.exports=i}),{}],115:[(function(){"use strict";var t=cc.Class({name:"cc.Script",extends:cc.Asset});cc._Script=t;var e=cc.Class({name:"cc.JavaScript",extends:t});cc._JavaScript=e;var i=cc.Class({name:"cc.TypeScript",extends:t});cc._TypeScript=i}),{}],116:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SpriteAtlas",extends:cc.Asset,properties:{_spriteFrames:{default:{}}},getTexture:function(){var t=Object.keys(this._spriteFrames);if(t.length>0){var e=this._spriteFrames[t[0]];return e?e.getTexture():null}return null},getSpriteFrame:function(t){var e=this._spriteFrames[t];return e?(e.name||(e.name=t),e):null},getSpriteFrames:function(){var t=[],e=this._spriteFrames;for(var i in e)t.push(this.getSpriteFrame(i));return t}});cc.SpriteAtlas=i,e.exports=i}),{}],117:[(function(t,e){"use strict";var i=t("../event/event-target"),n=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],r=cc.Class({name:"cc.SpriteFrame",extends:t("../assets/CCAsset"),mixins:[i],properties:{_textureSetter:{set:function(t){t&&this._texture!==t&&this._refreshTexture(t)}},insetTop:{get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]=t,this._texture&&this._calculateSlicedUV()}},insetBottom:{get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]=t,this._texture&&this._calculateSlicedUV()}},insetLeft:{get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]=t,this._texture&&this._calculateSlicedUV()}},insetRight:{get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]=t,this._texture&&this._calculateSlicedUV()}}},ctor:function(){i.call(this);var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3],s=arguments[4];this._rect=null,this.uv=[],this._texture=null,this._original=null,this._offset=null,this._originalSize=null,this._rotated=!1,this._flipX=!1,this._flipY=!1,this.vertices=null,this._capInsets=[0,0,0,0],this.uvSliced=[],void 0!==t&&this.setTexture(t,e,n,r,s)},textureLoaded:function(){return this._texture&&this._texture.loaded},onTextureLoaded:function(t,e){return this.textureLoaded()?(t.call(e),!0):(this.once("load",t,e),this.ensureLoadTexture(),!1)},isRotated:function(){return this._rotated},setRotated:function(t){this._rotated=t,this._texture&&this._calculateUV()},isFlipX:function(){return this._flipX},isFlipY:function(){return this._flipY},setFlipX:function(t){this._flipX=t,this._texture&&this._calculateUV()},setFlipY:function(t){this._flipY=t,this._texture&&this._calculateUV()},getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},getOriginalSize:function(){return cc.size(this._originalSize)},setOriginalSize:function(t){this._originalSize?(this._originalSize.width=t.width,this._originalSize.height=t.height):this._originalSize=cc.size(t)},getTexture:function(){return this._texture},_textureLoadedCallback:function(){var t=this._texture;if(t){var e=t.width,i=t.height;this._rect?this._checkRect(this._texture):this._rect=cc.rect(0,0,e,i),this._originalSize||this.setOriginalSize(cc.size(e,i)),this._offset||this.setOffset(cc.v2(0,0)),this._calculateUV(),this.emit("load")}},_refreshTexture:function(t){this._texture=t,t.loaded?this._textureLoadedCallback():t.once("load",this._textureLoadedCallback,this)},getOffset:function(){return cc.v2(this._offset)},setOffset:function(t){this._offset=cc.v2(t)},clone:function(){return new r(this._texture,this.getRect(),this._rotated,this.getOffset(),this.getOriginalSize())},setTexture:function(t,e,i,n,r){if(1!==arguments.length||t!==this._texture){if(this._rect=e||null,n?this.setOffset(n):this._offset=null,r?this.setOriginalSize(r):this._originalSize=null,this._rotated=i||!1,"string"!=typeof t)return t instanceof cc.Texture2D&&this._refreshTexture(t),!0;cc.errorID(3401)}},ensureLoadTexture:function(){this._texture&&(this._texture.loaded||(this._refreshTexture(this._texture),cc.assetManager.postLoadNative(this._texture)))},_checkRect:function(t){var e=this._rect,i=e.x,n=e.y;this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width&&cc.errorID(3300,t.nativeUrl+"/"+this.name,i,t.width),n>t.height&&cc.errorID(3400,t.nativeUrl+"/"+this.name,n,t.height)},_flipXY:function(t){if(this._flipX){var e=t[0];t[0]=t[1],t[1]=e,e=t[2],t[2]=t[3],t[3]=e}if(this._flipY){var i=t[0];t[0]=t[2],t[2]=i,i=t[1],t[1]=t[3],t[3]=i}},_calculateSlicedUV:function(){var t=this._rect,e=this._texture.width,i=this._texture.height,r=this._capInsets[0],s=this._capInsets[2],a=t.width-r-s,o=this._capInsets[1],l=this._capInsets[3],c=t.height-o-l,h=this.uvSliced;if(h.length=0,this._rotated){n[0].u=t.x/e,n[1].u=(t.x+l)/e,n[2].u=(t.x+l+c)/e,n[3].u=(t.x+t.height)/e,n[3].v=t.y/i,n[2].v=(t.y+r)/i,n[1].v=(t.y+r+a)/i,n[0].v=(t.y+t.width)/i,this._flipXY(n);for(var u=0;u<4;++u)for(var _=n[u],f=0;f<4;++f){var d=n[3-f];h.push({u:_.u,v:d.v})}}else{n[0].u=t.x/e,n[1].u=(t.x+r)/e,n[2].u=(t.x+r+a)/e,n[3].u=(t.x+t.width)/e,n[3].v=t.y/i,n[2].v=(t.y+o)/i,n[1].v=(t.y+o+c)/i,n[0].v=(t.y+t.height)/i,this._flipXY(n);for(var p=0;p<4;++p)for(var m=n[p],y=0;y<4;++y){var v=n[y];h.push({u:v.u,v:m.v})}}},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._calculateUV())},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height;if(this._rotated){var s=0===n?0:t.x/n,a=0===n?0:(t.x+t.height)/n,o=0===r?0:(t.y+t.width)/r,l=0===r?0:t.y/r;i[0]=s,i[1]=l,i[2]=s,i[3]=o,i[4]=a,i[5]=l,i[6]=a,i[7]=o}else{var c=0===n?0:t.x/n,h=0===n?0:(t.x+t.width)/n,u=0===r?0:(t.y+t.height)/r,_=0===r?0:t.y/r;i[0]=c,i[1]=u,i[2]=h,i[3]=u,i[4]=c,i[5]=_,i[6]=h,i[7]=_}if(this._flipX){var f=i[0];i[0]=i[2],i[2]=f,f=i[1],i[1]=i[3],i[3]=f,f=i[4],i[4]=i[6],i[6]=f,f=i[5],i[5]=i[7],i[7]=f}if(this._flipY){var d=i[0];i[0]=i[4],i[4]=d,d=i[1],i[1]=i[5],i[5]=d,d=i[2],i[2]=i[6],i[6]=d,d=i[3],i[3]=i[7],i[7]=d}var p=this.vertices;if(p){p.nu.length=0,p.nv.length=0;for(var m=0;m<p.u.length;m++)p.nu[m]=p.u[m]/n,p.nv[m]=p.v[m]/r}this._calculateSlicedUV()},_serialize:!1,_deserialize:function(t){var e=t.rect;e&&(this._rect=new cc.Rect(e[0],e[1],e[2],e[3])),t.offset&&this.setOffset(new cc.Vec2(t.offset[0],t.offset[1])),t.originalSize&&this.setOriginalSize(new cc.Size(t.originalSize[0],t.originalSize[1])),this._rotated=1===t.rotated,this._name=t.name;var i=t.capInsets;i&&(this._capInsets[0]=i[0],this._capInsets[1]=i[1],this._capInsets[2]=i[2],this._capInsets[3]=i[3]),this.vertices=t.vertices,this.vertices&&(this.vertices.nu=[],this.vertices.nv=[])}}),s=r.prototype;s.copyWithZone=s.clone,s.copy=s.clone,s.initWithTexture=s.setTexture,cc.SpriteFrame=r,e.exports=r}),{"../assets/CCAsset":105,"../event/event-target":185}],118:[(function(t,e){"use strict";var i=t("./CCFont"),n=cc.Class({name:"cc.TTFFont",extends:i,properties:{_fontFamily:null,_nativeAsset:{type:cc.String,get:function(){return this._fontFamily},set:function(t){this._fontFamily=t||"Arial"},override:!0},_nativeDep:{get:function(){return{uuid:this._uuid,__nativeName__:this._native,ext:cc.path.extname(this._native),__isNative__:!0}},override:!0}}});cc.TTFFont=e.exports=n}),{"./CCFont":109}],119:[(function(t,e){"use strict";var i=cc.Class({name:"cc.TextAsset",extends:cc.Asset,properties:{text:""},toString:function(){return this.text}});e.exports=cc.TextAsset=i}),{}],120:[(function(t,e){"use strict";var i,n=(i=t("../../renderer/gfx"))&&i.__esModule?i:{default:i},r=t("../event/event-target"),s=t("../renderer");t("../platform/CCClass");var a=new(t("../platform/id-generater"))("Tex"),o=1024,l=cc.Enum({RGB565:n.default.TEXTURE_FMT_R5_G6_B5,RGB5A1:n.default.TEXTURE_FMT_R5_G5_B5_A1,RGBA4444:n.default.TEXTURE_FMT_R4_G4_B4_A4,RGB888:n.default.TEXTURE_FMT_RGB8,RGBA8888:n.default.TEXTURE_FMT_RGBA8,RGBA32F:n.default.TEXTURE_FMT_RGBA32F,A8:n.default.TEXTURE_FMT_A8,I8:n.default.TEXTURE_FMT_L8,AI8:n.default.TEXTURE_FMT_L8_A8,RGB_PVRTC_2BPPV1:n.default.TEXTURE_FMT_RGB_PVRTC_2BPPV1,RGBA_PVRTC_2BPPV1:n.default.TEXTURE_FMT_RGBA_PVRTC_2BPPV1,RGB_A_PVRTC_2BPPV1:o++,RGB_PVRTC_4BPPV1:n.default.TEXTURE_FMT_RGB_PVRTC_4BPPV1,RGBA_PVRTC_4BPPV1:n.default.TEXTURE_FMT_RGBA_PVRTC_4BPPV1,RGB_A_PVRTC_4BPPV1:o++,RGB_ETC1:n.default.TEXTURE_FMT_RGB_ETC1,RGBA_ETC1:o++,RGB_ETC2:n.default.TEXTURE_FMT_RGB_ETC2,RGBA_ETC2:n.default.TEXTURE_FMT_RGBA_ETC2}),c=cc.Enum({REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648}),h=cc.Enum({LINEAR:9729,NEAREST:9728}),u={9728:0,9729:1},_=[],f={width:void 0,height:void 0,minFilter:void 0,magFilter:void 0,wrapS:void 0,wrapT:void 0,format:void 0,genMipmaps:void 0,images:void 0,image:void 0,flipY:void 0,premultiplyAlpha:void 0};function d(){for(var t in f)f[t]=void 0;return _.length=0,f.images=_,f}var p=cc.Class({name:"cc.Texture2D",extends:t("../assets/CCAsset"),mixins:[r],properties:{_nativeAsset:{get:function(){return this._image},set:function(t){t._compressed&&t._data?this.initWithData(t._data,this._format,t.width,t.height):this.initWithElement(t)},override:!0},_format:l.RGBA8888,_premultiplyAlpha:!1,_flipY:!1,_minFilter:h.LINEAR,_magFilter:h.LINEAR,_mipFilter:h.LINEAR,_wrapS:c.CLAMP_TO_EDGE,_wrapT:c.CLAMP_TO_EDGE,_isAlphaAtlas:!1,_genMipmaps:!1,genMipmaps:{get:function(){return this._genMipmaps},set:function(t){if(this._genMipmaps!==t){var e=d();e.genMipmaps=t,this.update(e)}}},_packable:!0,packable:{get:function(){return this._packable},set:function(t){this._packable=t}},_nativeDep:{get:function(){return{__isNative__:!0,uuid:this._uuid,ext:this._native,__flipY__:this._flipY,__premultiplyAlpha__:this._premultiplyAlpha}},override:!0}},statics:{PixelFormat:l,WrapMode:c,Filter:h,_FilterIndex:u,extnames:[".png",".jpg",".jpeg",".bmp",".webp",".pvr",".pkm"],_parseExt:function(t,e){for(var i=cc.renderer.device,n=t.split("_"),r="",s="",a=999,o=e,c=cc.macro.SUPPORT_TEXTURE_FORMATS,h=0;h<n.length;h++){var u=n[h].split("@"),_=u[0];_=p.extnames[_.charCodeAt(0)-48]||_;var f=c.indexOf(_);if(-1!==f&&f<a){var d=u[1]?parseInt(u[1]):e;if(".pvr"===_&&!i.ext("WEBGL_compressed_texture_pvrtc"))continue;if(!(d!==l.RGB_ETC1&&d!==l.RGBA_ETC1||i.ext("WEBGL_compressed_texture_etc1")))continue;if(!(d!==l.RGB_ETC2&&d!==l.RGBA_ETC2||i.ext("WEBGL_compressed_texture_etc")))continue;if(".webp"===_&&!cc.sys.capabilities.webp)continue;a=f,s=_,o=d}else r||(r=_)}return{bestExt:s,bestFormat:o,defaultExt:r}}},ctor:function(){this._id=a.getNewId(),this.loaded=!1,this.width=0,this.height=0,this._hashDirty=!0,this._hash=0,this._texture=null},getImpl:function(){return this._texture||(this._texture=new s.Texture2D(s.device,{})),this._texture},getId:function(){return this._id},toString:function(){return this.nativeUrl||""},update:function(t){if(t){var e=!1;void 0!==t.width&&(this.width=t.width),void 0!==t.height&&(this.height=t.height),void 0!==t.minFilter&&(this._minFilter=t.minFilter,t.minFilter=u[t.minFilter]),void 0!==t.magFilter&&(this._magFilter=t.magFilter,t.magFilter=u[t.magFilter]),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter,t.mipFilter=u[t.mipFilter]),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format),void 0!==t.flipY&&(this._flipY=t.flipY,e=!0),void 0!==t.premultiplyAlpha&&(this._premultiplyAlpha=t.premultiplyAlpha,e=!0),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps),cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap?this._checkImageBitmap(this._upload.bind(this,t,e)):this._upload(t,e)}},_upload:function(t,e){e&&this._image&&(t.image=this._image),t.images&&t.images.length>0?this._image=t.images[0]:void 0!==t.image&&(this._image=t.image,t.images||(_.length=0,t.images=_),t.images.push(t.image)),this._texture&&this._texture.update(t),this._hashDirty=!0},initWithElement:function(t){if(t)if(this._image=t,t.complete||t instanceof HTMLCanvasElement)this.handleLoadedTexture();else if(cc.sys.capabilities.imageBitmap&&t instanceof ImageBitmap)this._checkImageBitmap(this.handleLoadedTexture.bind(this));else{var e=this;t.addEventListener("load",(function(){e.handleLoadedTexture()})),t.addEventListener("error",(function(t){cc.warnID(3119,t.message)}))}},initWithData:function(t,e,i,n){var r=d();return r.image=t,r.images=[r.image],r.genMipmaps=this._genMipmaps,r.premultiplyAlpha=this._premultiplyAlpha,r.flipY=this._flipY,r.minFilter=u[this._minFilter],r.magFilter=u[this._magFilter],r.wrapS=this._wrapS,r.wrapT=this._wrapT,r.format=this._getGFXPixelFormat(e),r.width=i,r.height=n,this._texture?this._texture.update(r):this._texture=new s.Texture2D(s.device,r),this.width=i,this.height=n,this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),!0},getHtmlElementObj:function(){return this._image},destroy:function(){cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close(),this._packable&&cc.dynamicAtlasManager&&cc.dynamicAtlasManager.deleteAtlasTexture(this),this._image=null,this._texture&&this._texture.destroy(),this._super()},getPixelFormat:function(){return this._format},hasPremultipliedAlpha:function(){return this._premultiplyAlpha||!1},isAlphaAtlas:function(){return this._isAlphaAtlas},handleLoadedTexture:function(){if(this._image&&this._image.width&&this._image.height){this.width=this._image.width,this.height=this._image.height;var t=d();t.image=this._image,t.images=[t.image],t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._getGFXPixelFormat(this._format),t.premultiplyAlpha=this._premultiplyAlpha,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,this._texture?this._texture.update(t):this._texture=new s.Texture2D(s.device,t),this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),cc.macro.CLEANUP_IMAGE_CACHE&&(this._image instanceof HTMLImageElement?this._clearImage():cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close())}},description:function(){return"<cc.Texture2D | Name = "+this.nativeUrl+" | Dimensions = "+this.width+" x "+this.height+">"},releaseTexture:function(){this._image=null,this._texture&&this._texture.destroy()},setWrapMode:function(t,e){if(this._wrapS!==t||this._wrapT!==e){var i=d();i.wrapS=t,i.wrapT=e,this.update(i)}},setFilters:function(t,e){if(this._minFilter!==t||this._magFilter!==e){var i=d();i.minFilter=t,i.magFilter=e,this.update(i)}},setFlipY:function(t){if(this._flipY!==t){var e=d();e.flipY=t,e.premultiplyAlpha=this._premultiplyAlpha,this.update(e)}},setPremultiplyAlpha:function(t){if(this._premultiplyAlpha!==t){var e=d();e.flipY=this._flipY,e.premultiplyAlpha=t,this.update(e)}},_updateFormat:function(){this._isAlphaAtlas=this._format===l.RGBA_ETC1||this._format===l.RGB_A_PVRTC_4BPPV1||this._format===l.RGB_A_PVRTC_2BPPV1},_checkPackable:function(){var t=cc.dynamicAtlasManager;if(t)if(this._isCompressed())this._packable=!1;else{var e=this.width,i=this.height;!this._image||e>t.maxFrameSize||i>t.maxFrameSize||this._getHash()!==t.Atlas.DEFAULT_HASH?this._packable=!1:this._image&&this._image instanceof HTMLCanvasElement&&(this._packable=!0)}},_getOpts:function(){var t=d();return t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._format,t.premultiplyAlpha=this._premultiplyAlpha,t.anisotropy=this._anisotropy,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.mipFilter=u[this._mipFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,t},_getGFXPixelFormat:function(t){return t===l.RGBA_ETC1?t=l.RGB_ETC1:t===l.RGB_A_PVRTC_4BPPV1?t=l.RGB_PVRTC_4BPPV1:t===l.RGB_A_PVRTC_2BPPV1&&(t=l.RGB_PVRTC_2BPPV1),t},_resetUnderlyingMipmaps:function(t){var e=this._getOpts();e.images=t||[null],this._texture?this._texture.update(e):this._texture=new s.Texture2D(s.device,e)},_serialize:!1,_deserialize:function(t){var e=t.split(","),i=e[0];if(i){var n=p._parseExt(i,this._format);if(n.bestExt)this._setRawAsset(n.bestExt),this._format=n.bestFormat;else{if(!n.defaultExt)throw new Error(cc.debug.getError(3121));this._setRawAsset(n.defaultExt),cc.warnID(3120,n.defaultExt,n.defaultExt)}}8===e.length&&(this._minFilter=parseInt(e[1]),this._magFilter=parseInt(e[2]),this._wrapS=parseInt(e[3]),this._wrapT=parseInt(e[4]),this._premultiplyAlpha=49===e[5].charCodeAt(0),this._genMipmaps=49===e[6].charCodeAt(0),this._packable=49===e[7].charCodeAt(0))},_getHash:function(){if(!this._hashDirty)return this._hash;var t=this._genMipmaps?1:0,e=this._premultiplyAlpha?1:0,i=this._flipY?1:0,n=this._minFilter===h.LINEAR?1:2,r=this._magFilter===h.LINEAR?1:2,s=this._wrapS===c.REPEAT?1:this._wrapS===c.CLAMP_TO_EDGE?2:3,a=this._wrapT===c.REPEAT?1:this._wrapT===c.CLAMP_TO_EDGE?2:3,o=this._format;return this._image,this._hash=Number(""+n+r+o+s+a+t+e+i),this._hashDirty=!1,this._hash},_isCompressed:function(){return this._format<l.A8||this._format>l.RGBA32F},_clearImage:function(){this._image.src=""},_checkImageBitmap:function(t){var e=this,i=this._image,n=this._flipY,r=this._premultiplyAlpha;this._flipY!==i.flipY||this._premultiplyAlpha!==i.premultiplyAlpha?createImageBitmap(i,{imageOrientation:n!==i.flipY?"flipY":"none",premultiplyAlpha:r?"premultiply":"none"}).then((function(s){i.close&&i.close(),s.flipY=n,s.premultiplyAlpha=r,e._image=s,t()}),(function(t){cc.error(t.message)})):t()}});cc.Texture2D=e.exports=p}),{"../../renderer/gfx":371,"../assets/CCAsset":105,"../event/event-target":185,"../platform/CCClass":238,"../platform/id-generater":255,"../renderer":270}],121:[(function(t){"use strict";t("./CCAsset"),t("./CCFont"),t("./CCPrefab"),t("./CCAudioClip"),t("./CCScripts"),t("./CCSceneAsset"),t("./CCSpriteFrame"),t("./CCTexture2D"),t("./CCRenderTexture"),t("./CCTTFFont"),t("./CCSpriteAtlas"),t("./CCBitmapFont"),t("./CCLabelAtlas"),t("./CCTextAsset"),t("./CCJsonAsset"),t("./CCBufferAsset"),t("./material")}),{"./CCAsset":105,"./CCAudioClip":106,"./CCBitmapFont":107,"./CCBufferAsset":108,"./CCFont":109,"./CCJsonAsset":110,"./CCLabelAtlas":111,"./CCPrefab":112,"./CCRenderTexture":113,"./CCSceneAsset":114,"./CCScripts":115,"./CCSpriteAtlas":116,"./CCSpriteFrame":117,"./CCTTFFont":118,"./CCTextAsset":119,"./CCTexture2D":120,"./material":128}],122:[(function(t,e){"use strict";var i,n=(i=t("../CCAsset"))&&i.__esModule?i:{default:i},r=t("./effect-parser"),s=cc.Class({name:"cc.EffectAsset",extends:n.default,ctor:function(){this._effect=null},properties:{properties:Object,techniques:[],shaders:[]},onLoad:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){for(var t=cc.renderer._forward._programLib,e=0;e<this.shaders.length;e++)t.define(this.shaders[e]);this._initEffect()}},_initEffect:function(){this._effect||(this._effect=(0,r.parseEffect)(this),Object.freeze(this._effect))},getInstantiatedEffect:function(){return this._initEffect(),this._effect.clone()},getEffect:function(){return this._initEffect(),this._effect}});e.exports=cc.EffectAsset=s}),{"../CCAsset":105,"./effect-parser":125}],123:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../CCAsset"),r=t("../CCTexture2D"),s=(r.PixelFormat,t("./CCEffectAsset")),a=(t("../../utils/texture-util"),cc.gfx),o=cc.Enum({SPRITE:"2d-sprite",GRAY_SPRITE:"2d-gray-sprite",UNLIT:"unlit"}),l=cc.Class({name:"cc.Material",extends:n,ctor:function(){this.loaded=!1,this._manualHash=!1,this._dirty=!0,this._effect=null},properties:{_defines:{default:void 0,type:Object},_props:{default:void 0,type:Object},_effectAsset:{type:s,default:null},_techniqueIndex:0,_techniqueData:Object,effectName:void 0,effectAsset:{get:function(){return this._effectAsset},set:function(t){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(this._effectAsset=t,t?this._effect=this._effectAsset.getInstantiatedEffect():cc.error("Can not set an empty effect asset."))}},effect:{get:function(){return this._effect}},techniqueIndex:{get:function(){return this._techniqueIndex},set:function(t){this._techniqueIndex=t,this._effect.switchTechnique(t)}}},statics:{getBuiltinMaterial:function(t){return cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?new cc.Material:cc.assetManager.builtins.getBuiltin("material","builtin-"+t)},BUILTIN_NAME:o,createWithBuiltin:function(t,e){void 0===e&&(e=0);var i=cc.assetManager.builtins.getBuiltin("effect","builtin-"+t);return l.create(i,e)},create:function(t,e){if(void 0===e&&(e=0),!t)return null;var i=new l;return i.effectAsset=t,i.techniqueIndex=e,i}},setProperty:function(t,e,i,n){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){if("string"==typeof i&&(i=parseInt(i)),e instanceof r){var s=e.isAlphaAtlas(),a="CC_USE_ALPHA_ATLAS_"+t,o=this.getDefine(a,i);(s||o)&&this.define(a,s),e.loaded||cc.assetManager.postLoadNative(e)}this._effect.setProperty(t,e,i,n)}},getProperty:function(t,e){return"string"==typeof e&&(e=parseInt(e)),this._effect.getProperty(t,e)},define:function(t,e,i,n){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&("string"==typeof i&&(i=parseInt(i)),this._effect.define(t,e,i,n))},getDefine:function(t,e){return"string"==typeof e&&(e=parseInt(e)),this._effect.getDefine(t,e)},setCullMode:function(t,e){void 0===t&&(t=a.CULL_BACK),this._effect.setCullMode(t,e)},setDepth:function(t,e,i,n){void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=a.DS_FUNC_LESS),this._effect.setDepth(t,e,i,n)},setBlend:function(t,e,i,n,r,s,o,l,c){void 0===t&&(t=!1),void 0===e&&(e=a.BLEND_FUNC_ADD),void 0===i&&(i=a.BLEND_SRC_ALPHA),void 0===n&&(n=a.BLEND_ONE_MINUS_SRC_ALPHA),void 0===r&&(r=a.BLEND_FUNC_ADD),void 0===s&&(s=a.BLEND_SRC_ALPHA),void 0===o&&(o=a.BLEND_ONE_MINUS_SRC_ALPHA),void 0===l&&(l=4294967295),this._effect.setBlend(t,e,i,n,r,s,o,l,c)},setStencilEnabled:function(t,e){void 0===t&&(t=a.STENCIL_INHERIT),this._effect.setStencilEnabled(t,e)},setStencil:function(t,e,i,n,r,s,o,l,c){void 0===t&&(t=a.STENCIL_INHERIT),void 0===e&&(e=a.DS_FUNC_ALWAYS),void 0===i&&(i=0),void 0===n&&(n=255),void 0===r&&(r=a.STENCIL_OP_KEEP),void 0===s&&(s=a.STENCIL_OP_KEEP),void 0===o&&(o=a.STENCIL_OP_KEEP),void 0===l&&(l=255),this._effect.setStencil(t,e,i,n,r,s,o,l,c)},updateHash:function(t){this._manualHash=t,this._effect&&this._effect.updateHash(t)},getHash:function(){return this._manualHash||this._effect&&this._effect.getHash()},onLoad:function(){if(this.effectAsset=this._effectAsset,this._effect){this._techniqueIndex&&this._effect.switchTechnique(this._techniqueIndex),this._techniqueData=this._techniqueData||{};var t=this._techniqueData;for(var e in t){var i=t[e=parseInt(e)];if(i){for(var n in i.defines)this.define(n,i.defines[n],e);for(var r in i.props)this.setProperty(r,i.props[r],e)}}}}}),c=l;i.default=c,cc.Material=l,e.exports=i.default}),{"../../utils/texture-util":331,"../CCAsset":105,"../CCTexture2D":120,"./CCEffectAsset":122}],124:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../renderer/core/pass"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=cc.gfx,o=(function(){function t(){this._dirty=!0,this._name="",this._technique=null}var e,i,n=t.prototype;return n._createPassProp=function(t,e){var i=e._properties[t];if(i){var n=Object.create(null);return n.name=t,n.type=i.type,i.value instanceof Float32Array?n.value=new Float32Array(i.value):i.value instanceof Float64Array?n.value=new Float64Array(i.value):n.value=i.value,e._properties[t]=n,n}},n._setPassProperty=function(t,e,i,n){var s=i._properties;return s.hasOwnProperty(t)||this._createPassProp(t,i),s[t].value===e||(this._dirty=!0,r.default.prototype.setProperty.call(i,t,e,n))},n.setProperty=function(t,e,i,n){var r=!1,s=this.passes,a=0,o=s.length;void 0!==i&&(a=i,o=i+1);for(var l=a;l<o;l++)this._setPassProperty(t,e,s[l],n)&&(r=!0);r||cc.warnID(9103,this.name,t)},n.getProperty=function(t,e){var i=this.passes;if(!(e>=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s<r;s++){var a=i[s].getProperty(t);if(void 0!==a)return a}}},n.define=function(t,e,i,n){var r=!1,s=this.passes,a=0,o=s.length;void 0!==i&&(a=i,o=i+1);for(var l=a;l<o;l++)s[l].define(t,e,n)&&(r=!0);r||cc.warnID(9104,this.name,t)},n.getDefine=function(t,e){var i=this.passes;if(!(e>=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s<r;s++){var a=i[s].getDefine(t);if(void 0!==a)return a}}},n.setCullMode=function(t,e){void 0===t&&(t=a.CULL_BACK);var i=this.passes,n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s<r;s++)i[s].setCullMode(t);this._dirty=!0},n.setDepth=function(t,e,i,n){var r=this.passes,s=0,a=r.length;void 0!==n&&(s=n,a=n+1);for(var o=s;o<a;o++)r[o].setDepth(t,e,i);this._dirty=!0},n.setBlend=function(t,e,i,n,r,s,a,o,l){var c=this.passes,h=0,u=c.length;void 0!==l&&(h=l,u=l+1);for(var _=h;_<u;_++)c[_].setBlend(t,e,i,n,r,s,a,o);this._dirty=!0},n.setStencilEnabled=function(t,e){void 0===t&&(t=a.STENCIL_INHERIT);var i=this.passes,n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s<r;s++)i[s].setStencilEnabled(t);this._dirty=!0},n.setStencil=function(t,e,i,n,r,s,a,o,l){var c=this.passes,h=0,u=c.length;void 0!==l&&(h=l,u=l+1);for(var _=h;_<u;_++){var f=c[_];f.setStencilFront(t,e,i,n,r,s,a,o),f.setStencilBack(t,e,i,n,r,s,a,o)}this._dirty=!0},e=t,(i=[{key:"name",get:function(){return this._name}},{key:"technique",get:function(){return this._technique}},{key:"passes",get:function(){return[]}}])&&s(e.prototype,i),t})();i.default=o,cc.EffectBase=o,e.exports=i.default}),{"../../../renderer/core/pass":362}],125:[(function(t,e,i){"use strict";i.__esModule=!0,i.parseEffect=function(t){var e=_(t);return new a.default(t.name,e,0,t)};var n=l(t("../../../renderer/core/pass")),r=t("../../../renderer/types"),s=l(t("../../../renderer/enums")),a=l(t("./effect")),o=l(t("../../../renderer/core/technique"));function l(t){return t&&t.__esModule?t:{default:t}}function c(t){return cc.renderer._forward._programLib.getTemplate(t)}function h(t,e){var i=e.properties||{},n=c(e.program),a=function(e){if(!n.uniforms.find((function(t){return t.name===e})))return cc.warnID(9107,t.name,e),"continue"};for(var o in i)a(o);var l={};return n.uniforms.forEach((function(t){var e,n=t.name,a=l[n]=Object.assign({},t),o=i[n];void 0===(e=o?o.type===s.default.PARAM_TEXTURE_2D?null:o.type===s.default.PARAM_INT||o.type===s.default.PARAM_FLOAT?Array.isArray(o.value)?o.value[0]:o.value:new Float32Array(o.value):r.enums2default[t.type])&&(e=null),a.value=e})),l}function u(t){var e={};return c(t.program).defines.forEach((function(t){e[t.name]=r.enums2default[t.type]})),e}function _(t){for(var e=t.techniques.length,i=new Array(e),r=0;r<e;++r){for(var s=t.techniques[r],a=s.name||r,l=s.passes.length,c=new Array(l),_=0;_<l;++_){var f=s.passes[_],d=f.name||_,p=t.name+"-"+a+"-"+d,m=f.stage||"opaque",y=h(t,f),v=u(f),g=c[_]=new n.default(d,p,f.program,m,y,v);f.rasterizerState&&g.setCullMode(f.rasterizerState.cullMode);var b=f.blendState&&f.blendState.targets[0];b&&g.setBlend(b.blend,b.blendEq,b.blendSrc,b.blendDst,b.blendAlphaEq,b.blendSrcAlpha,b.blendDstAlpha,b.blendColor);var A=f.depthStencilState;A&&(g.setDepth(A.depthTest,A.depthWrite,A.depthFunc),g.setStencilFront(A.stencilTest,A.stencilFuncFront,A.stencilRefFront,A.stencilMaskFront,A.stencilFailOpFront,A.stencilZFailOpFront,A.stencilZPassOpFront,A.stencilWriteMaskFront),g.setStencilBack(A.stencilTest,A.stencilFuncBack,A.stencilRefBack,A.stencilMaskBack,A.stencilFailOpBack,A.stencilZFailOpBack,A.stencilZPassOpBack,A.stencilWriteMaskBack))}i[r]=new o.default(a,c)}return i}}),{"../../../renderer/core/pass":362,"../../../renderer/core/technique":364,"../../../renderer/enums":366,"../../../renderer/types":395,"./effect":127}],126:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../../renderer/murmurhash2_gc")),r=a(t("./utils")),s=a(t("./effect-base"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}cc.gfx;var l=(function(t){var e,i,s,a;function l(e){var i;return(i=t.call(this)||this)._effect=void 0,i._passes=[],i._stagePasses={},i._hash=0,i.init(e),i}i=t,(e=l).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,s=l,(a=[{key:"effect",get:function(){return this._effect}},{key:"name",get:function(){return this._effect&&this._effect.name+" (variant)"}},{key:"passes",get:function(){return this._passes}},{key:"stagePasses",get:function(){return this._stagePasses}}])&&o(s.prototype,a);var c=l.prototype;return c._onEffectChanged=function(){},c.init=function(t){if(t instanceof l&&(t=t.effect),this._effect=t,this._dirty=!0,t){var e=t.passes,i=this._passes;i.length=0;for(var n=this._stagePasses={},r=0;r<e.length;r++){var s=i[r]=Object.setPrototypeOf({},e[r]);s._properties=Object.setPrototypeOf({},e[r]._properties),s._defines=Object.setPrototypeOf({},e[r]._defines),n[s._stage]||(n[s._stage]=[]),n[s._stage].push(s)}}},c.updateHash=function(){},c.getHash=function(){if(!this._dirty)return this._hash;this._dirty=!1;var t="";t+=r.default.serializePasses(this._passes);var e=this._effect;return e&&(t+=r.default.serializePasses(e.passes)),this._hash=(0,n.default)(t,666),this.updateHash(this._hash),this._hash},l})(s.default);i.default=l,cc.EffectVariant=l,e.exports=i.default}),{"../../../renderer/murmurhash2_gc":389,"./effect-base":124,"./utils":131}],127:[(function(t,e,i){"use strict";var n;function r(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i,n,s;function a(e,i,n,r){var s;return(s=t.call(this)||this)._techniques=[],s._asset=null,s.init(e,i,n,r,!0),s}i=t,(e=a).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n=a,(s=[{key:"technique",get:function(){return this._technique}},{key:"passes",get:function(){return this._technique.passes}}])&&r(n.prototype,s);var o=a.prototype;return o.init=function(t,e,i,n){this._name=t,this._techniques=e,this._technique=e[i],this._asset=n},o.switchTechnique=function(t){t>=this._techniques.length?cc.warn("Can not switch to technique with index ["+t+"]"):this._technique=this._techniques[t]},o.clear=function(){this._techniques=[]},o.clone=function(){for(var t=[],e=0;e<this._techniques.length;e++)t.push(this._techniques[e].clone());var i=this._techniques.indexOf(this._technique);return new a(this._name,t,i,this._asset)},a})(((n=t("./effect-base"))&&n.__esModule?n:{default:n}).default);i.default=s,cc.Effect=s,e.exports=i.default}),{"./effect-base":124}],128:[(function(t){"use strict";t("./CCEffectAsset"),t("./CCMaterial"),t("./material-variant")}),{"./CCEffectAsset":122,"./CCMaterial":123,"./material-variant":130}],129:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("./utils")),r=s(t("../../utils/pool"));function s(t){return t&&t.__esModule?t:{default:t}}var a=new(function(t){var e,i;function r(){for(var e,i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r];return(e=t.call.apply(t,[this].concat(n))||this).enabled=!1,e._pool={},e}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=r.prototype;return s.get=function(t,e){var i,r=this._pool;if(t instanceof cc.MaterialVariant){if(!t._owner)return t._owner=e,t;if(t._owner===e)return t;t=t.material}if(this.enabled){var s=t.effectAsset._uuid;if(r[s]){var a=n.default.serializeDefines(t._effect._defines)+n.default.serializeTechniques(t._effect._techniques);i=r[s][a]&&r[s][a].pop()}}return i?this.count--:((i=new cc.MaterialVariant(t))._name=t._name+" (Instance)",i._uuid=t._uuid),i._owner=e,i},s.put=function(t){if(this.enabled&&t._owner){var e=this._pool,i=t.effectAsset._uuid;e[i]||(e[i]={});var r=n.default.serializeDefines(t._effect._defines)+n.default.serializeTechniques(t._effect._techniques);e[i][r]||(e[i][r]=[]),this.count>this.maxSize||(this._clean(t),e[i][r].push(t),this.count++)}},s.clear=function(){this._pool={},this.count=0},s._clean=function(t){t._owner=null},r}(r.default));r.default.register("material",a);var o=a;i.default=o,e.exports=i.default}),{"../../utils/pool":325,"./utils":131}],130:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=o(t("./CCMaterial")),s=o(t("./effect-variant")),a=o(t("./material-pool"));function o(t){return t&&t.__esModule?t:{default:t}}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var c=(0,cc._decorator.ccclass)("cc.MaterialVariant")(n=(function(t){var e,i,n,o;function c(e){var i;return(i=t.call(this)||this)._owner=null,i._material=null,i.init(e),i}return i=t,(e=c).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,c.createWithBuiltin=function(t,e){return c.create(r.default.getBuiltinMaterial(t),e)},c.create=function(t,e){return t?a.default.get(t,e):null},n=c,(o=[{key:"uuid",get:function(){return this._material._uuid}},{key:"owner",get:function(){return this._owner}},{key:"material",get:function(){return this._material}}])&&l(n.prototype,o),c.prototype.init=function(t){this._effect=new s.default(t.effect),this._effectAsset=t._effectAsset,this._material=t},c})(r.default))||n;i.default=c,cc.MaterialVariant=c,e.exports=i.default}),{"./CCMaterial":123,"./effect-variant":126,"./material-pool":129}],131:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../renderer/enums"))&&n.__esModule?n:{default:n};function s(t){var e="";for(var i in t)e+=i+t[i];return e}function a(t){var e="";for(var i in t){var n=t[i],s=n.value;s&&(n.type===r.default.PARAM_TEXTURE_2D||n.type===r.default.PARAM_TEXTURE_CUBE?e+=s._id+";":e+=s.toString()+";")}return e}var o={serializeDefines:s,serializePasses:function(t){for(var e,i,n="",r=0;r<t.length;r++)n+=(void 0,i=void 0,i=(e=t[r])._programName+e._cullMode,e._blend&&(i+=e._blendEq+e._blendAlphaEq+e._blendSrc+e._blendDst+e._blendSrcAlpha+e._blendDstAlpha+e._blendColor),e._depthTest&&(i+=e._depthWrite+e._depthFunc),e._stencilTest&&(i+=e._stencilFuncFront+e._stencilRefFront+e._stencilMaskFront+e._stencilFailOpFront+e._stencilZFailOpFront+e._stencilZPassOpFront+e._stencilWriteMaskFront+e._stencilFuncBack+e._stencilRefBack+e._stencilMaskBack+e._stencilFailOpBack+e._stencilZFailOpBack+e._stencilZPassOpBack+e._stencilWriteMaskBack),i+=a(e._properties),i+=s(e._defines));return n},serializeUniforms:a};i.default=o,e.exports=i.default}),{"../../../renderer/enums":366}],132:[(function(t,e){"use strict";t("../CCNode").EventType;var i=56,n=7,r=cc.Enum({ONCE:0,ON_WINDOW_RESIZE:1,ALWAYS:2});function s(t,e,i,n){for(var r=t._parent.scaleX,s=t._parent.scaleY,a=0,o=0,l=t._parent;;){if(a+=l.x,o+=l.y,!(l=l._parent))return i.x=i.y=0,void(n.x=n.y=1);if(l===e)break;var c=l.scaleX,h=l.scaleY;a*=c,o*=h,r*=c,s*=h}n.x=0!==r?1/r:1,n.y=0!==s?1/s:1,i.x=-a,i.y=-o}var a=cc.Vec2.ZERO,o=cc.Vec2.ONE;function l(t,e){var r,l,c,h=e._target;h?s(t,r=h,l=a,c=o):r=t._parent;var u,_=(u=r)instanceof cc.Scene?cc.visibleRect:u._contentSize,f=r._anchorPoint,d=r instanceof cc.Scene,p=t.x,m=t.y,y=t._anchorPoint;if(e._alignFlags&i){var v,g,b=_.width;d?(v=cc.visibleRect.left.x,g=cc.visibleRect.right.x):g=(v=-f.x*b)+b,v+=e._isAbsLeft?e._left:e._left*b,g-=e._isAbsRight?e._right:e._right*b,h&&(v+=l.x,v*=c.x,g+=l.x,g*=c.x);var A,x=y.x,C=t.scaleX;if(C<0&&(x=1-x,C=-C),e.isStretchWidth)A=g-v,0!==C&&(t.width=A/C),p=v+x*A;else if(A=t.width*C,e.isAlignHorizontalCenter){var T=e._isAbsHorizontalCenter?e._horizontalCenter:e._horizontalCenter*b,S=(.5-f.x)*_.width;h&&(T*=c.x,S+=l.x,S*=c.x),p=S+(x-.5)*A+T}else p=e.isAlignLeft?v+x*A:g+(x-1)*A}if(e._alignFlags&n){var w,E,M=_.height;d?(E=cc.visibleRect.bottom.y,w=cc.visibleRect.top.y):w=(E=-f.y*M)+M,E+=e._isAbsBottom?e._bottom:e._bottom*M,w-=e._isAbsTop?e._top:e._top*M,h&&(E+=l.y,E*=c.y,w+=l.y,w*=c.y);var D,B=y.y,I=t.scaleY;if(I<0&&(B=1-B,I=-I),e.isStretchHeight)D=w-E,0!==I&&(t.height=D/I),m=E+B*D;else if(D=t.height*I,e.isAlignVerticalCenter){var P=e._isAbsVerticalCenter?e._verticalCenter:e._verticalCenter*M,R=(.5-f.y)*_.height;h&&(P*=c.y,R+=l.y,R*=c.y),m=R+(B-.5)*D+P}else m=e.isAlignBottom?E+B*D:w+(B-1)*D}t.setPosition(p,m)}function c(t){var e=t._widget;e&&(l(t,e),e.alignMode!==r.ALWAYS?_.remove(e):u.push(e));for(var i=t._children,n=0;n<i.length;n++){var s=i[n];s._active&&c(s)}}function h(){var t=cc.director.getScene();if(t){if(_.isAligning=!0,_._nodesOrderDirty)u.length=0,c(t),_._nodesOrderDirty=!1;else{var e,i=_._activeWidgetsIterator;for(i.i=0;i.i<u.length;++i.i)l((e=u[i.i]).node,e)}_.isAligning=!1}}var u=[],_=cc._widgetManager=e.exports={_AlignFlags:{TOP:1,MID:2,BOT:4,LEFT:8,CENTER:16,RIGHT:32},isAligning:!1,_nodesOrderDirty:!1,_activeWidgetsIterator:new cc.js.array.MutableForwardIterator(u),init:function(t){t.on(cc.Director.EVENT_AFTER_UPDATE,h);var e=this.onResized.bind(this);cc.view.on("canvas-resize",e),window.addEventListener("orientationchange",e)},add:function(t){t.node._widget=t,this._nodesOrderDirty=!0},remove:function(t){t.node._widget=null,this._activeWidgetsIterator.remove(t)},onResized:function(){var t=cc.director.getScene();t&&this.refreshWidgetOnResized(t)},refreshWidgetOnResized:function(t){var e=cc.Node.isNode(t)&&t.getComponent(cc.Widget);e&&e.enabled&&e.alignMode===r.ON_WINDOW_RESIZE&&this.add(e);for(var i=t._children,n=0;n<i.length;n++){var s=i[n];this.refreshWidgetOnResized(s)}},updateAlignment:function t(e){var i=e._parent;cc.Node.isNode(i)&&t(i);var n=e._widget||e.getComponent(cc.Widget);n&&i&&l(e,n)},AlignMode:r}}),{"../CCNode":72}],133:[(function(t,e){"use strict";var i=t("../value-types"),n=t("../geom-utils"),r=t("../utils/affine-transform"),s=t("../renderer/index"),a=t("../renderer/render-flow"),o=t("../CCGame"),l=null;l=t("../../renderer/scene/camera");var c=cc.mat4(),h=cc.mat4(),u=cc.v3(),_=cc.v3(),f=cc.v3(),d=[];function p(){for(var t=0,e=Number.MAX_VALUE;t<d.length;t++){var i=d[t];i._depth<e&&(b.main=i,e=i._depth)}}var m=null;function y(){if(m){var t=m.getNode(),e=cc.game.canvas;t.z=e.height/1.1566,t.x=e.width/2,t.y=e.height/2}}var v=cc.Enum({COLOR:1,DEPTH:2,STENCIL:4}),g=cc.Enum({OPAQUE:1,TRANSPARENT:2}),b=cc.Class({name:"cc.Camera",extends:cc.Component,ctor:function(){if(o.renderType!==o.RENDER_TYPE_CANVAS){var t=new l;t.setStages(["opaque"]),t.dirty=!0,this._inited=!1,this._camera=t}else this._inited=!0},editor:!1,properties:{_cullingMask:4294967295,_clearFlags:v.DEPTH|v.STENCIL,_backgroundColor:cc.color(0,0,0,255),_depth:0,_zoomRatio:1,_targetTexture:null,_fov:60,_orthoSize:10,_nearClip:1,_farClip:4096,_ortho:!0,_rect:cc.rect(0,0,1,1),_renderStages:1,_alignWithScreen:!0,zoomRatio:{get:function(){return this._zoomRatio},set:function(t){this._zoomRatio=t},tooltip:!1},fov:{get:function(){return this._fov},set:function(t){this._fov=t},tooltip:!1},orthoSize:{get:function(){return this._orthoSize},set:function(t){this._orthoSize=t},tooltip:!1},nearClip:{get:function(){return this._nearClip},set:function(t){this._nearClip=t,this._updateClippingpPlanes()},tooltip:!1},farClip:{get:function(){return this._farClip},set:function(t){this._farClip=t,this._updateClippingpPlanes()},tooltip:!1},ortho:{get:function(){return this._ortho},set:function(t){this._ortho=t,this._updateProjection()},tooltip:!1},rect:{get:function(){return this._rect},set:function(t){this._rect=t,this._updateRect()},tooltip:!1},cullingMask:{get:function(){return this._cullingMask},set:function(t){this._cullingMask=t,this._updateCameraMask()},tooltip:!1},clearFlags:{get:function(){return this._clearFlags},set:function(t){this._clearFlags=t,this._camera&&this._camera.setClearFlags(t)},tooltip:!1},backgroundColor:{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor.equals(t)||(this._backgroundColor.set(t),this._updateBackgroundColor())},tooltip:!1},depth:{get:function(){return this._depth},set:function(t){b.main===this?this._depth<t&&p():b.main&&t<b.main._depth&&d.includes(this)&&(b.main=this),this._depth=t,this._camera&&this._camera.setPriority(t)},tooltip:!1},targetTexture:{get:function(){return this._targetTexture},set:function(t){this._targetTexture=t,this._updateTargetTexture()},tooltip:!1},renderStages:{get:function(){return this._renderStages},set:function(t){this._renderStages=t,this._updateStages()},tooltip:!1},alignWithScreen:{get:function(){return this._alignWithScreen},set:function(t){this._alignWithScreen=t}},_is3D:{get:function(){return this.node&&this.node._is3DNode}}},statics:{main:null,cameras:d,ClearFlags:v,findCamera:function(t){for(var e=0,i=d.length;e<i;e++){var n=d[e];if(n.containsNode(t))return n}return null},_findRendererCamera:function(t){for(var e=s.scene._cameras,i=0;i<e._count;i++)if(e._data[i]._cullingMask&t._cullingMask)return e._data[i];return null},_setupDebugCamera:function(){if(!m&&o.renderType!==o.RENDER_TYPE_CANVAS){var t=new l;m=t,t.setStages(["opaque"]),t.setFov(60*Math.PI/180),t.setNear(.1),t.setFar(4096),t.dirty=!0,t.cullingMask=1<<cc.Node.BuiltinGroupIndex.DEBUG,t.setPriority(cc.macro.MAX_ZINDEX),t.setClearFlags(0),t.setColor(0,0,0,0);var e=new cc.Node;t.setNode(e),y(),cc.view.on("design-resolution-changed",y),s.scene.addCamera(t)}}},_updateCameraMask:function(){if(this._camera){var t=this._cullingMask&~(1<<cc.Node.BuiltinGroupIndex.DEBUG);this._camera.cullingMask=t}},_updateBackgroundColor:function(){if(this._camera){var t=this._backgroundColor;this._camera.setColor(t.r/255,t.g/255,t.b/255,t.a/255)}},_updateTargetTexture:function(){if(this._camera){var t=this._targetTexture;this._camera.setFrameBuffer(t?t._framebuffer:null)}},_updateClippingpPlanes:function(){this._camera&&(this._camera.setNear(this._nearClip),this._camera.setFar(this._farClip))},_updateProjection:function(){if(this._camera){var t=this._ortho?1:0;this._camera.setType(t)}},_updateRect:function(){if(this._camera){var t=this._rect;this._camera.setRect(t.x,t.y,t.width,t.height)}},_updateStages:function(){var t=this._renderStages,e=[];t&g.OPAQUE&&e.push("opaque"),t&g.TRANSPARENT&&e.push("transparent"),this._camera.setStages(e)},_init:function(){if(!this._inited){this._inited=!0;var t=this._camera;t&&(t.setNode(this.node),t.setClearFlags(this._clearFlags),t.setPriority(this._depth),this._updateBackgroundColor(),this._updateCameraMask(),this._updateTargetTexture(),this._updateClippingpPlanes(),this._updateProjection(),this._updateStages(),this._updateRect(),this.beforeDraw())}},__preload:function(){this._init()},onEnable:function(){o.renderType!==o.RENDER_TYPE_CANVAS&&(cc.director.on(cc.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),s.scene.addCamera(this._camera)),d.push(this),(!b.main||this._depth<b.main._depth)&&(b.main=this)},onDisable:function(){o.renderType!==o.RENDER_TYPE_CANVAS&&(cc.director.off(cc.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),s.scene.removeCamera(this._camera)),cc.js.array.fastRemove(d,this),b.main===this&&(b.main=null,p())},getScreenToWorldMatrix2D:function(t){return this.getWorldToScreenMatrix2D(t),i.Mat4.invert(t,t),t},getWorldToScreenMatrix2D:function(t){this.node.getWorldRT(c);var e=this.zoomRatio,n=c.m;n[0]*=e,n[1]*=e,n[4]*=e,n[5]*=e;var r=n[12],s=n[13],a=cc.visibleRect.center;return n[12]=a.x-(n[0]*r+n[4]*s),n[13]=a.y-(n[1]*r+n[5]*s),t!==c&&i.Mat4.copy(t,c),t},getScreenToWorldPoint:function(t,e){return this.node.is3DNode?(e=e||new cc.Vec3,this._camera.screenToWorld(e,t,cc.visibleRect.width,cc.visibleRect.height)):(e=e||new cc.Vec2,this.getScreenToWorldMatrix2D(c),i.Vec2.transformMat4(e,t,c)),e},getWorldToScreenPoint:function(t,e){return this.node.is3DNode?(e=e||new cc.Vec3,this._camera.worldToScreen(e,t,cc.visibleRect.width,cc.visibleRect.height)):(e=e||new cc.Vec2,this.getWorldToScreenMatrix2D(c),i.Vec2.transformMat4(e,t,c)),e},getRay:function(t){return cc.geomUtils?(i.Vec3.set(f,t.x,t.y,1),this._camera.screenToWorld(_,f,cc.visibleRect.width,cc.visibleRect.height),this.ortho?(i.Vec3.set(f,t.x,t.y,-1),this._camera.screenToWorld(u,f,cc.visibleRect.width,cc.visibleRect.height)):this.node.getWorldPosition(u),n.Ray.fromPoints(new n.Ray,u,_)):t},containsNode:function(t){return(t._cullingMask&this.cullingMask)>0},render:function(t){if(!(t=t||cc.director.getScene()))return null;this.node.getWorldMatrix(c),this.beforeDraw(),a.renderCamera(this._camera,t)},_onAlignWithScreen:function(){var t=cc.game.canvas.height/cc.view._scaleY;this._targetTexture&&(t=cc.visibleRect.height);var e=this._fov*cc.macro.RAD;this.node.z=t/(2*Math.tan(e/2)),e=2*Math.atan(Math.tan(e/2)/this.zoomRatio),this._camera.setFov(e),this._camera.setOrthoHeight(t/2/this.zoomRatio),this.node.setRotation(0,0,0,1)},beforeDraw:function(){if(this._camera){if(this._alignWithScreen)this._onAlignWithScreen();else{var t=this._fov*cc.macro.RAD;t=2*Math.atan(Math.tan(t/2)/this.zoomRatio),this._camera.setFov(t),this._camera.setOrthoHeight(this._orthoSize/this.zoomRatio)}this._camera.dirty=!0}}});cc.js.mixin(b.prototype,{getNodeToCameraTransform:function(t){var e=r.identity();return t.getWorldMatrix(h),this.containsNode(t)&&(this.getWorldToCameraMatrix(c),i.Mat4.mul(h,h,c)),r.fromMat4(e,h),e},getCameraToWorldPoint:function(t,e){return this.getScreenToWorldPoint(t,e)},getWorldToCameraPoint:function(t,e){return this.getWorldToScreenPoint(t,e)},getCameraToWorldMatrix:function(t){return this.getScreenToWorldMatrix2D(t)},getWorldToCameraMatrix:function(t){return this.getWorldToScreenMatrix2D(t)}}),e.exports=cc.Camera=b}),{"../../renderer/scene/camera":391,"../CCGame":71,"../geom-utils":193,"../renderer/index":270,"../renderer/render-flow":271,"../utils/affine-transform":314,"../value-types":338}],134:[(function(t,e){"use strict";cc.Collider.Box=cc.Class({properties:{_offset:cc.v2(0,0),_size:cc.size(100,100),offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},size:{tooltip:!1,get:function(){return this._size},set:function(t){this._size.width=t.width<0?0:t.width,this._size.height=t.height<0?0:t.height},type:cc.Size}},resetInEditor:!1});var i=cc.Class({name:"cc.BoxCollider",extends:cc.Collider,mixins:[cc.Collider.Box],editor:!1});cc.BoxCollider=e.exports=i}),{}],135:[(function(t,e){"use strict";cc.Collider.Circle=cc.Class({properties:{_offset:cc.v2(0,0),_radius:50,offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},radius:{tooltip:!1,get:function(){return this._radius},set:function(t){this._radius=t<0?0:t}}},resetInEditor:!1});var i=cc.Class({name:"cc.CircleCollider",extends:cc.Collider,mixins:[cc.Collider.Circle],editor:!1});cc.CircleCollider=e.exports=i}),{}],136:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Collider",extends:cc.Component,properties:{editing:{default:!1,serializable:!1,tooltip:!1},tag:{tooltip:!1,default:0,range:[0,1e7],type:cc.Integer}},onDisable:function(){cc.director.getCollisionManager().removeCollider(this)},onEnable:function(){cc.director.getCollisionManager().addCollider(this)}});cc.Collider=e.exports=i}),{}],137:[(function(t,e){"use strict";var i,n=(i=t("../value-types/vec2"))&&i.__esModule?i:{default:i},r=t("./CCContact"),s=r.CollisionType,a=t("../CCNode").EventType,o=new n.default;function l(t,e,i,n,r,s){var a=t.x,o=t.y,l=t.width,c=t.height,h=e.m,u=h[0],_=h[1],f=h[4],d=h[5],p=u*a+f*o+h[12],m=_*a+d*o+h[13],y=u*l,v=_*l,g=f*c,b=d*c;n.x=p,n.y=m,r.x=y+p,r.y=v+m,i.x=g+p,i.y=b+m,s.x=y+g+p,s.y=v+b+m}var c=cc.Class({mixins:[cc.EventTarget],properties:{enabled:!1,enabledDrawBoundingBox:!1},ctor:function(){this._contacts=[],this._colliders=[],this._debugDrawer=null,this._enabledDebugDraw=!1,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(){if(this.enabled){var t,e,i=this._colliders;for(t=0,e=i.length;t<e;t++)this.updateCollider(i[t]);var n=this._contacts,r=[];for(t=0,e=n.length;t<e;t++){var a=n[t].updateState();a!==s.None&&r.push([a,n[t]])}for(t=0,e=r.length;t<e;t++){var o=r[t];this._doCollide(o[0],o[1])}this.drawColliders()}},_doCollide:function(t,e){var i;switch(t){case s.CollisionEnter:i="onCollisionEnter";break;case s.CollisionStay:i="onCollisionStay";break;case s.CollisionExit:i="onCollisionExit"}var n,r,a,o=e.collider1,l=e.collider2,c=o.node._components,h=l.node._components;for(n=0,r=c.length;n<r;n++)(a=c[n])[i]&&a[i](l,o);for(n=0,r=h.length;n<r;n++)(a=h[n])[i]&&a[i](o,l)},shouldCollide:function(t,e){var i=t.node,n=e.node,r=cc.game.collisionMatrix;return i!==n&&r[i.groupIndex][n.groupIndex]},initCollider:function(t){if(!t.world){var e=t.world={};e.aabb=cc.rect(),e.preAabb=cc.rect(),e.matrix=cc.mat4(),e.radius=0,t instanceof cc.BoxCollider?(e.position=null,e.points=[cc.v2(),cc.v2(),cc.v2(),cc.v2()]):t instanceof cc.PolygonCollider?(e.position=null,e.points=t.points.map((function(t){return cc.v2(t.x,t.y)}))):t instanceof cc.CircleCollider&&(e.position=cc.v2(),e.points=null)}},updateCollider:function(t){var e=t.offset,i=t.world,r=i.aabb,s=i.matrix;t.node.getWorldMatrix(s);var a=i.preAabb;if(a.x=r.x,a.y=r.y,a.width=r.width,a.height=r.height,t instanceof cc.BoxCollider){var c=t.size;r.x=e.x-c.width/2,r.y=e.y-c.height/2,r.width=c.width,r.height=c.height;var h=i.points,u=h[0],_=h[1],f=h[2],d=h[3];l(r,s,u,_,f,d);var p=Math.min(u.x,_.x,f.x,d.x),m=Math.min(u.y,_.y,f.y,d.y),y=Math.max(u.x,_.x,f.x,d.x),v=Math.max(u.y,_.y,f.y,d.y);r.x=p,r.y=m,r.width=y-p,r.height=v-m}else if(t instanceof cc.CircleCollider){n.default.transformMat4(o,t.offset,s),i.position.x=o.x,i.position.y=o.y;var g=s.m,b=g[12],A=g[13];g[12]=g[13]=0,o.x=t.radius,o.y=0,n.default.transformMat4(o,o,s);var x=Math.sqrt(o.x*o.x+o.y*o.y);i.radius=x,r.x=i.position.x-x,r.y=i.position.y-x,r.width=2*x,r.height=2*x,g[12]=b,g[13]=A}else if(t instanceof cc.PolygonCollider){var C=t.points,T=i.points;T.length=C.length;for(var S=1e6,w=1e6,E=-1e6,M=-1e6,D=0,B=C.length;D<B;D++){T[D]||(T[D]=cc.v2()),o.x=C[D].x+e.x,o.y=C[D].y+e.y,n.default.transformMat4(o,o,s);var I=o.x,P=o.y;T[D].x=I,T[D].y=P,I>E&&(E=I),I<S&&(S=I),P>M&&(M=P),P<w&&(w=P)}r.x=S,r.y=w,r.width=E-S,r.height=M-w}},addCollider:function(t){var e=this._colliders;if(-1===e.indexOf(t)){for(var i=0,n=e.length;i<n;i++){var s=e[i];if(this.shouldCollide(t,s)){var o=new r(t,s);this._contacts.push(o)}}e.push(t),this.initCollider(t)}t.node.on(a.GROUP_CHANGED,this.onNodeGroupChanged,this)},removeCollider:function(t){var e=this._colliders,i=e.indexOf(t);if(i>=0){e.splice(i,1);for(var n=this._contacts,r=n.length-1;r>=0;r--){var o=n[r];o.collider1!==t&&o.collider2!==t||(o.touching&&this._doCollide(s.CollisionExit,o),n.splice(r,1))}t.node.off(a.GROUP_CHANGED,this.onNodeGroupChanged,this)}else cc.errorID(6600)},onNodeGroupChanged:function(t){for(var e=t.getComponents(cc.Collider),i=0,n=e.length;i<n;i++){var r=e[i];cc.PhysicsCollider&&r instanceof cc.PhysicsCollider||(this.removeCollider(r),this.addCollider(r))}},drawColliders:function(){if(this._enabledDebugDraw){this._checkDebugDrawValid();var t=this._debugDrawer;t.clear();for(var e=this._colliders,i=0,n=e.length;i<n;i++){var r=e[i];if(t.strokeColor=cc.Color.WHITE,r instanceof cc.BoxCollider||r instanceof cc.PolygonCollider){var s=r.world.points;if(s.length>0){t.moveTo(s[0].x,s[0].y);for(var a=1;a<s.length;a++)t.lineTo(s[a].x,s[a].y);t.close(),t.stroke()}}else r instanceof cc.CircleCollider&&(t.circle(r.world.position.x,r.world.position.y,r.world.radius),t.stroke());if(this.enabledDrawBoundingBox){var o=r.world.aabb;t.strokeColor=cc.Color.BLUE,t.moveTo(o.xMin,o.yMin),t.lineTo(o.xMin,o.yMax),t.lineTo(o.xMax,o.yMax),t.lineTo(o.xMax,o.yMin),t.close(),t.stroke()}}}},_checkDebugDrawValid:function(){if(!this._debugDrawer||!this._debugDrawer.isValid){var t=new cc.Node("COLLISION_MANAGER_DEBUG_DRAW");t.zIndex=cc.macro.MAX_ZINDEX,cc.game.addPersistRootNode(t),this._debugDrawer=t.addComponent(cc.Graphics)}}});cc.js.getset(c.prototype,"enabledDebugDraw",(function(){return this._enabledDebugDraw}),(function(t){t&&!this._enabledDebugDraw?(this._checkDebugDrawValid(),this._debugDrawer.node.active=!0):!t&&this._enabledDebugDraw&&(this._debugDrawer.clear(!0),this._debugDrawer.node.active=!1),this._enabledDebugDraw=t})),cc.CollisionManager=e.exports=c}),{"../CCNode":72,"../value-types/vec2":347,"./CCContact":138}],138:[(function(t,e){"use strict";var i=t("./CCIntersection"),n=cc.Enum({None:0,CollisionEnter:1,CollisionStay:2,CollisionExit:3});function r(t,e){this.collider1=t,this.collider2=e,this.touching=!1;var n=t instanceof cc.BoxCollider||t instanceof cc.PolygonCollider,r=e instanceof cc.BoxCollider||e instanceof cc.PolygonCollider,s=t instanceof cc.CircleCollider,a=e instanceof cc.CircleCollider;n&&r?this.testFunc=i.polygonPolygon:s&&a?this.testFunc=i.circleCircle:n&&a?this.testFunc=i.polygonCircle:s&&r?(this.testFunc=i.polygonCircle,this.collider1=e,this.collider2=t):cc.errorID(6601,cc.js.getClassName(t),cc.js.getClassName(e))}r.prototype.test=function(){var t=this.collider1.world,e=this.collider2.world;return!!t.aabb.intersects(e.aabb)&&(this.testFunc===i.polygonPolygon?this.testFunc(t.points,e.points):this.testFunc===i.circleCircle?this.testFunc(t,e):this.testFunc===i.polygonCircle&&this.testFunc(t.points,e))},r.prototype.updateState=function(){var t=this.test(),e=n.None;return t&&!this.touching?(this.touching=!0,e=n.CollisionEnter):t&&this.touching?e=n.CollisionStay:!t&&this.touching&&(this.touching=!1,e=n.CollisionExit),e},r.CollisionType=n,e.exports=r}),{"./CCIntersection":139}],139:[(function(t,e){"use strict";var i={};function n(t,e,i,n){var r=(n.x-i.x)*(t.y-i.y)-(n.y-i.y)*(t.x-i.x),s=(e.x-t.x)*(t.y-i.y)-(e.y-t.y)*(t.x-i.x),a=(n.y-i.y)*(e.x-t.x)-(n.x-i.x)*(e.y-t.y);if(0!==a){var o=r/a,l=s/a;if(0<=o&&o<=1&&0<=l&&l<=1)return!0}return!1}function r(t,e,i){for(var r=i.length,s=0;s<r;++s)if(n(t,e,i[s],i[(s+1)%r]))return!0;return!1}function s(t,e){for(var i=!1,n=t.x,r=t.y,s=e.length,a=0,o=s-1;a<s;o=a++){var l=e[a].x,c=e[a].y,h=e[o].x,u=e[o].y;c>r!=u>r&&n<(h-l)*(r-c)/(u-c)+l&&(i=!i)}return i}function a(t,e,i,n){var r,s=i.x-e.x,a=i.y-e.y,o=s*s+a*a,l=((t.x-e.x)*s+(t.y-e.y)*a)/o;return r=n?o?l<0?e:l>1?i:cc.v2(e.x+l*s,e.y+l*a):e:cc.v2(e.x+l*s,e.y+l*a),s=t.x-r.x,a=t.y-r.y,Math.sqrt(s*s+a*a)}i.lineLine=n,i.lineRect=function(t,e,i){var r=new cc.Vec2(i.x,i.y),s=new cc.Vec2(i.x,i.yMax),a=new cc.Vec2(i.xMax,i.yMax),o=new cc.Vec2(i.xMax,i.y);return!!(n(t,e,r,s)||n(t,e,s,a)||n(t,e,a,o)||n(t,e,o,r))},i.linePolygon=r,i.rectRect=function(t,e){var i=t.x,n=t.y,r=t.x+t.width,s=t.y+t.height,a=e.x,o=e.y,l=e.x+e.width,c=e.y+e.height;return i<=l&&r>=a&&n<=c&&s>=o},i.rectPolygon=function(t,e){var i,n,a=new cc.Vec2(t.x,t.y),o=new cc.Vec2(t.x,t.yMax),l=new cc.Vec2(t.xMax,t.yMax),c=new cc.Vec2(t.xMax,t.y);if(r(a,o,e))return!0;if(r(o,l,e))return!0;if(r(l,c,e))return!0;if(r(c,a,e))return!0;for(i=0,n=e.length;i<n;++i)if(s(e[i],t))return!0;return!!(s(a,e)||s(o,e)||s(l,e)||s(c,e))},i.polygonPolygon=function(t,e){var i,n;for(i=0,n=t.length;i<n;++i)if(r(t[i],t[(i+1)%n],e))return!0;for(i=0,n=e.length;i<n;++i)if(s(e[i],t))return!0;for(i=0,n=t.length;i<n;++i)if(s(t[i],e))return!0;return!1},i.circleCircle=function(t,e){return t.position.sub(e.position).mag()<t.radius+e.radius},i.polygonCircle=function(t,e){var i=e.position;if(s(i,t))return!0;for(var n=0,r=t.length;n<r;n++)if(a(i,0===n?t[t.length-1]:t[n-1],t[n],!0)<e.radius)return!0;return!1},i.pointInPolygon=s,i.pointLineDistance=a,cc.Intersection=e.exports=i}),{}],140:[(function(t,e){"use strict";cc.Collider.Polygon=cc.Class({properties:{threshold:{default:1,serializable:!1,visible:!1},_offset:cc.v2(0,0),offset:{get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},points:{tooltip:!1,default:function(){return[cc.v2(-50,-50),cc.v2(50,-50),cc.v2(50,50),cc.v2(-50,50)]},type:[cc.Vec2]}},resetPointsByContour:!1});var i=cc.Class({name:"cc.PolygonCollider",extends:cc.Collider,mixins:[cc.Collider.Polygon],editor:!1});cc.PolygonCollider=e.exports=i}),{}],141:[(function(t){"use strict";t("./CCCollisionManager"),t("./CCCollider"),t("./CCBoxCollider"),t("./CCCircleCollider"),t("./CCPolygonCollider")}),{"./CCBoxCollider":134,"./CCCircleCollider":135,"./CCCollider":136,"./CCCollisionManager":137,"./CCPolygonCollider":140}],142:[(function(t,e){"use strict";t("./platform/CCClass");var i=t("./platform/CCObject").Flags,n=t("./platform/js").array,r=i.IsStartCalled,s=i.IsOnEnableCalled;function a(t,e){for(var i=e.constructor._executionOrder,n=e._id,r=0,s=t.length-1,a=s>>>1;r<=s;a=r+s>>>1){var o=t[a],l=o.constructor._executionOrder;if(l>i)s=a-1;else if(l<i)r=a+1;else{var c=o._id;if(c>n)s=a-1;else{if(!(c<n))return a;r=a+1}}}return~r}function o(t,e){for(var i=t.array,n=t.i+1;n<i.length;){var r=i[n];r._enabled&&r.node._activeInHierarchy?++n:(t.removeAt(n),e&&(r._objFlags&=~e))}}i.IsEditorOnEnableCalled;var l=cc.Class({__ctor__:function(t){var e=n.MutableForwardIterator;this._zero=new e([]),this._neg=new e([]),this._pos=new e([]),this._invoke=t},statics:{stableRemoveInactive:o},add:null,remove:null,invoke:null});function c(t,e){return t.constructor._executionOrder-e.constructor._executionOrder}var h=cc.Class({extends:l,add:function(t){var e=t.constructor._executionOrder;(0===e?this._zero:e<0?this._neg:this._pos).array.push(t)},remove:function(t){var e=t.constructor._executionOrder;(0===e?this._zero:e<0?this._neg:this._pos).fastRemove(t)},cancelInactive:function(t){o(this._zero,t),o(this._neg,t),o(this._pos,t)},invoke:function(){var t=this._neg;t.array.length>0&&(t.array.sort(c),this._invoke(t),t.array.length=0),this._invoke(this._zero),this._zero.array.length=0;var e=this._pos;e.array.length>0&&(e.array.sort(c),this._invoke(e),e.array.length=0)}}),u=cc.Class({extends:l,add:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.array.push(t);else{var i=e<0?this._neg.array:this._pos.array,n=a(i,t);n<0&&i.splice(~n,0,t)}},remove:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.fastRemove(t);else{var i=e<0?this._neg:this._pos,n=a(i.array,t);n>=0&&i.removeAt(n)}},invoke:function(t){this._neg.array.length>0&&this._invoke(this._neg,t),this._invoke(this._zero,t),this._pos.array.length>0&&this._invoke(this._pos,t)}});function _(t,e,i,n){var r="var a=it.array;for(it.i=0;it.i<a.length;++it.i){var c=a[it.i];"+t+"}";return n=e?Function("it","dt",r):Function("it",r),t=Function("c","dt",t),function(e,r){try{n(e,r)}catch(a){cc._throw(a);var s=e.array;for(i&&(s[e.i]._objFlags|=i),++e.i;e.i<s.length;++e.i)try{t(s[e.i],r)}catch(a){cc._throw(a),i&&(s[e.i]._objFlags|=i)}}}}var f=_("c.start();c._objFlags|="+r,!1,r),d=_("c.update(dt)",!0),p=_("c.lateUpdate(dt)",!0);function m(){this.startInvoker=new h(f),this.updateInvoker=new u(d),this.lateUpdateInvoker=new u(p),this._deferredComps=[],this._updating=!1}var y=cc.Class({ctor:m,unscheduleAll:m,statics:{LifeCycleInvoker:l,OneOffInvoker:h,createInvokeImpl:_,invokeOnEnable:function(t){var e=cc.director._compScheduler,i=t.array;for(t.i=0;t.i<i.length;++t.i){var n=i[t.i];n._enabled&&(n.onEnable(),!n.node._activeInHierarchy||e._onEnabled(n))}}},_onEnabled:function(t){cc.director.getScheduler().resumeTarget(t),t._objFlags|=s,this._updating?this._deferredComps.push(t):this._scheduleImmediate(t)},_onDisabled:function(t){cc.director.getScheduler().pauseTarget(t),t._objFlags&=~s;var e=this._deferredComps.indexOf(t);e>=0?n.fastRemoveAt(this._deferredComps,e):(!t.start||t._objFlags&r||this.startInvoker.remove(t),t.update&&this.updateInvoker.remove(t),t.lateUpdate&&this.lateUpdateInvoker.remove(t))},enableComp:function(t,e){if(!(t._objFlags&s)){if(t.onEnable){if(e)return void e.add(t);if(t.onEnable(),!t.node._activeInHierarchy)return}this._onEnabled(t)}},disableComp:function(t){t._objFlags&s&&(t.onDisable&&t.onDisable(),this._onDisabled(t))},_scheduleImmediate:function(t){"function"!=typeof t.start||t._objFlags&r||this.startInvoker.add(t),"function"==typeof t.update&&this.updateInvoker.add(t),"function"==typeof t.lateUpdate&&this.lateUpdateInvoker.add(t)},_deferredSchedule:function(){for(var t=this._deferredComps,e=0,i=t.length;e<i;e++)this._scheduleImmediate(t[e]);t.length=0},_startForNewComps:function(){this._deferredComps.length>0&&(this._deferredSchedule(),this.startInvoker.invoke())},startPhase:function(){this._updating=!0,this.startInvoker.invoke(),this._startForNewComps()},updatePhase:function(t){this.updateInvoker.invoke(t)},lateUpdatePhase:function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1,this._startForNewComps()}});e.exports=y}),{"./platform/CCClass":238,"./platform/CCObject":244,"./platform/js":259,"./utils/misc":323}],143:[(function(t,e){"use strict";var i=t("../../animation/animation-animator"),n=t("../../animation/animation-clip"),r=t("../event/event-target"),s=t("../platform/js"),a=function(t,e){return t===e},o=cc.Enum({PLAY:"play",STOP:"stop",PAUSE:"pause",RESUME:"resume",LASTFRAME:"lastframe",FINISHED:"finished"}),l=cc.Class({name:"cc.Animation",extends:t("./CCComponent"),mixins:[r],editor:!1,statics:{EventType:o},ctor:function(){cc.EventTarget.call(this),this._animator=null,this._nameToState=s.createMap(!0),this._didInit=!1,this._currentClip=null},properties:{_defaultClip:{default:null,type:n},defaultClip:{type:n,get:function(){return this._defaultClip},set:function(){},tooltip:!1},currentClip:{get:function(){return this._currentClip},set:function(t){this._currentClip=t},type:n,visible:!1},_writableClips:{get:function(){return this._clips},set:function(t){this._didInit=!1,this._clips=t,this._init()},type:[n]},_clips:{default:[],type:[n],tooltip:!1,visible:!0},playOnLoad:{default:!1,tooltip:!1}},start:function(){if(this.playOnLoad&&this._defaultClip&&(!this._animator||!this._animator.isPlaying)){var t=this.getAnimationState(this._defaultClip.name);this._animator.playState(t)}},onEnable:function(){this._animator&&this._animator.resume()},onDisable:function(){this._animator&&this._animator.pause()},onDestroy:function(){this.stop()},getClips:function(){return this._clips},play:function(t,e){var i=this.playAdditive(t,e);return this._animator.stopStatesExcept(i),i},playAdditive:function(t,e){this._init();var i=this.getAnimationState(t||this._defaultClip&&this._defaultClip.name);if(i){this.enabled=!0;var n=this._animator;n.isPlaying&&i.isPlaying?i.isPaused?n.resumeState(i):(n.stopState(i),n.playState(i,e)):n.playState(i,e),this.enabledInHierarchy||n.pause(),this.currentClip=i.clip}return i},stop:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.stopState(e)}else this._animator.stop()},pause:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.pauseState(e)}else this.enabled=!1},resume:function(t){if(this._didInit)if(t){var e=this.getAnimationState(t);e&&this._animator.resumeState(e)}else this.enabled=!0},setCurrentTime:function(t,e){if(this._init(),e){var i=this.getAnimationState(e);i&&this._animator.setStateTime(i,t)}else this._animator.setStateTime(t)},getAnimationState:function(t){this._init();var e=this._nameToState[t];return e&&!e.curveLoaded&&this._animator._reloadClip(e),e||null},addClip:function(t,e){if(t){this._init(),cc.js.array.contains(this._clips,t)||this._clips.push(t),e=e||t.name;var i=this._nameToState[e];if(i){if(i.clip===t)return i;var n=this._clips.indexOf(i.clip);-1!==n&&this._clips.splice(n,1)}var r=new cc.AnimationState(t,e);return this._nameToState[e]=r,r}cc.warnID(3900)},removeClip:function(t,e){if(t){var i;for(var n in this._init(),this._nameToState)if(i=this._nameToState[n],a(i.clip,t))break;if(t===this._defaultClip){if(!e)return void cc.warnID(3902);this._defaultClip=null}if(i&&i.isPlaying){if(!e)return void cc.warnID(3903);this.stop(i.name)}this._clips=this._clips.filter((function(e){return!a(e,t)})),i&&delete this._nameToState[i.name]}else cc.warnID(3901)},sample:function(t){if(this._init(),t){var e=this.getAnimationState(t);e&&e.sample()}else this._animator.sample()},on:function(t,e,i,n){this._init();var r=this._EventTargetOn(t,e,i,n);if("lastframe"===t){var s=this._nameToState;for(var a in s)s[a]._lastframeEventOn=!0}return r},off:function(t,e,i,n){if(this._init(),"lastframe"===t){var r=this._nameToState;for(var s in r)r[s]._lastframeEventOn=!1}this._EventTargetOff(t,e,i,n)},_init:function(){this._didInit||(this._didInit=!0,this._animator=new i(this.node,this),this._createStates())},_createStates:function(){this._nameToState=s.createMap(!0);for(var t=null,e=!1,i=0;i<this._clips.length;++i){var n=this._clips[i];n&&(t=new cc.AnimationState(n),this._nameToState[t.name]=t,a(this._defaultClip,n)&&(e=t))}this._defaultClip&&!e&&(t=new cc.AnimationState(this._defaultClip),this._nameToState[t.name]=t)}});l.prototype._EventTargetOn=r.prototype.on,l.prototype._EventTargetOff=r.prototype.off,cc.Animation=e.exports=l}),{"../../animation/animation-animator":9,"../../animation/animation-clip":10,"../event/event-target":185,"../platform/js":259,"./CCComponent":148}],144:[(function(t,e){"use strict";var i=t("../utils/misc"),n=t("./CCComponent"),r=t("../assets/CCAudioClip"),s=cc.Class({name:"cc.AudioSource",extends:n,editor:!1,ctor:function(){this.audio=new cc._Audio},properties:{_clip:{default:null,type:r},_volume:1,_mute:!1,_loop:!1,_pausedFlag:{default:!1,serializable:!1},_firstlyEnabled:!0,isPlaying:{get:function(){return this.audio.getState()===cc._Audio.State.PLAYING},visible:!1},clip:{get:function(){return this._clip},set:function(t){if(t!==this._clip){if(!(t instanceof r))return cc.error("Wrong type of AudioClip.");this._clip=t,this.audio.stop(),this.audio.src=this._clip,this.preload&&this._clip._ensureLoaded()}},type:r,tooltip:!1,animatable:!1},volume:{get:function(){return this._volume},set:function(t){return t=i.clamp01(t),this._volume=t,this._mute||this.audio.setVolume(t),t},tooltip:!1},mute:{get:function(){return this._mute},set:function(t){return this._mute=t,this.audio.setVolume(t?0:this._volume),t},animatable:!1,tooltip:!1},loop:{get:function(){return this._loop},set:function(t){return this._loop=t,this.audio.setLoop(t),t},animatable:!1,tooltip:!1},playOnLoad:{default:!1,tooltip:!1,animatable:!1},preload:{default:!1,animatable:!1}},_pausedCallback:function(){this.audio.getState()===cc._Audio.State.PLAYING&&(this.audio.pause(),this._pausedFlag=!0)},_restoreCallback:function(){this._pausedFlag&&this.audio.resume(),this._pausedFlag=!1},onLoad:function(){this.audio.src||(this.audio.src=this._clip),this.preload&&this._clip._ensureLoaded()},onEnable:function(){this.playOnLoad&&this._firstlyEnabled&&(this._firstlyEnabled=!1,this.play()),cc.game.on(cc.game.EVENT_HIDE,this._pausedCallback,this),cc.game.on(cc.game.EVENT_SHOW,this._restoreCallback,this)},onDisable:function(){this.stop(),cc.game.off(cc.game.EVENT_HIDE,this._pausedCallback,this),cc.game.off(cc.game.EVENT_SHOW,this._restoreCallback,this)},onDestroy:function(){this.audio.destroy()},play:function(){if(this._clip){var t=this.audio;t.setVolume(this._mute?0:this._volume),t.setLoop(this._loop),t.setCurrentTime(0),t.play()}},stop:function(){this.audio.stop()},pause:function(){this.audio.pause()},resume:function(){this.audio.resume()},rewind:function(){this.audio.setCurrentTime(0)},getCurrentTime:function(){return this.audio.getCurrentTime()},setCurrentTime:function(t){return this.audio.setCurrentTime(t),t},getDuration:function(){return this.audio.getDuration()}});cc.AudioSource=e.exports=s}),{"../assets/CCAudioClip":106,"../utils/misc":323,"./CCComponent":148}],145:[(function(t,e){"use strict";var i=["touchstart","touchmove","touchend","mousedown","mousemove","mouseup","mouseenter","mouseleave","mousewheel"];function n(t){t.stopPropagation()}var r=cc.Class({name:"cc.BlockInputEvents",extends:t("./CCComponent"),editor:{menu:"i18n:MAIN_MENU.component.ui/Block Input Events",inspector:"packages://inspector/inspectors/comps/block-input-events.js",help:"i18n:COMPONENT.help_url.block_input_events"},onEnable:function(){for(var t=0;t<i.length;t++)this.node.on(i[t],n,this)},onDisable:function(){for(var t=0;t<i.length;t++)this.node.off(i[t],n,this)}});cc.BlockInputEvents=e.exports=r}),{"./CCComponent":148}],146:[(function(t,e){"use strict";var i=t("./CCComponent"),n=t("../utils/gray-sprite-state"),r=cc.Enum({NONE:0,COLOR:1,SPRITE:2,SCALE:3}),s=cc.Enum({NORMAL:0,HOVER:1,PRESSED:2,DISABLED:3}),a=cc.Class({name:"cc.Button",extends:i,mixins:[n],ctor:function(){this._pressed=!1,this._hovered=!1,this._fromColor=null,this._toColor=null,this._time=0,this._transitionFinished=!0,this._fromScale=cc.Vec2.ZERO,this._toScale=cc.Vec2.ZERO,this._originalScale=null,this._graySpriteMaterial=null,this._spriteMaterial=null,this._sprite=null},editor:!1,properties:{interactable:{default:!0,tooltip:!1,notify:function(){this._updateState(),this.interactable||this._resetState()},animatable:!1},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}},enableAutoGrayEffect:{default:!1,tooltip:!1,notify:function(){this._updateDisabledState(!0)}},transition:{default:r.NONE,tooltip:!1,type:r,animatable:!1,notify:function(t){this._updateTransition(t)},formerlySerializedAs:"transition"},normalColor:{default:cc.Color.WHITE,displayName:"Normal",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.NORMAL&&(this._getTarget().opacity=this.normalColor.a),this._updateState()}},pressedColor:{default:cc.color(211,211,211),displayName:"Pressed",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.PRESSED&&(this._getTarget().opacity=this.pressedColor.a),this._updateState()},formerlySerializedAs:"pressedColor"},hoverColor:{default:cc.Color.WHITE,displayName:"Hover",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.HOVER&&(this._getTarget().opacity=this.hoverColor.a),this._updateState()},formerlySerializedAs:"hoverColor"},disabledColor:{default:cc.color(124,124,124),displayName:"Disabled",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.DISABLED&&(this._getTarget().opacity=this.disabledColor.a),this._updateState()}},duration:{default:.1,range:[0,10],tooltip:!1},zoomScale:{default:1.2,tooltip:!1},normalSprite:{default:null,type:cc.SpriteFrame,displayName:"Normal",tooltip:!1,notify:function(){this._updateState()}},pressedSprite:{default:null,type:cc.SpriteFrame,displayName:"Pressed",tooltip:!1,formerlySerializedAs:"pressedSprite",notify:function(){this._updateState()}},hoverSprite:{default:null,type:cc.SpriteFrame,displayName:"Hover",tooltip:!1,formerlySerializedAs:"hoverSprite",notify:function(){this._updateState()}},disabledSprite:{default:null,type:cc.SpriteFrame,displayName:"Disabled",tooltip:!1,notify:function(){this._updateState()}},target:{default:null,type:cc.Node,tooltip:!1,notify:function(t){this._applyTarget(),t&&this.target!==t&&this._unregisterTargetEvent(t)}},clickEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{Transition:r},__preload:function(){this._applyTarget(),this._resetState()},_resetState:function(){this._pressed=!1,this._hovered=!1;var t=this._getTarget(),e=this.transition,i=this._originalScale;e===r.COLOR&&this.interactable?this._setTargetColor(this.normalColor):e===r.SCALE&&i&&t.setScale(i.x,i.y),this._transitionFinished=!0},onEnable:function(){this.normalSprite&&this.normalSprite.ensureLoadTexture(),this.hoverSprite&&this.hoverSprite.ensureLoadTexture(),this.pressedSprite&&this.pressedSprite.ensureLoadTexture(),this.disabledSprite&&this.disabledSprite.ensureLoadTexture(),this._registerNodeEvent(),this._updateState()},onDisable:function(){this._resetState(),this._unregisterNodeEvent()},_getTarget:function(){return this.target?this.target:this.node},_onTargetSpriteFrameChanged:function(t){this.transition===r.SPRITE&&this._setCurrentStateSprite(t.spriteFrame)},_onTargetColorChanged:function(t){this.transition===r.COLOR&&this._setCurrentStateColor(t)},_onTargetScaleChanged:function(){var t=this._getTarget();this._originalScale&&(this.transition!==r.SCALE||this._transitionFinished)&&(this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY)},_setTargetColor:function(t){var e=this._getTarget(),i=t.clone();e.opacity=i.a,i.a=255,e.color=i},_getStateColor:function(t){switch(t){case s.NORMAL:return this.normalColor;case s.HOVER:return this.hoverColor;case s.PRESSED:return this.pressedColor;case s.DISABLED:return this.disabledColor}},_getStateSprite:function(t){switch(t){case s.NORMAL:return this.normalSprite;case s.HOVER:return this.hoverSprite;case s.PRESSED:return this.pressedSprite;case s.DISABLED:return this.disabledSprite}},_setCurrentStateColor:function(t){switch(this._getButtonState()){case s.NORMAL:this.normalColor=t;break;case s.HOVER:this.hoverColor=t;break;case s.PRESSED:this.pressedColor=t;break;case s.DISABLED:this.disabledColor=t}},_setCurrentStateSprite:function(t){switch(this._getButtonState()){case s.NORMAL:this.normalSprite=t;break;case s.HOVER:this.hoverSprite=t;break;case s.PRESSED:this.pressedSprite=t;break;case s.DISABLED:this.disabledSprite=t}},update:function(t){var e=this._getTarget();if(!this._transitionFinished&&(this.transition===r.COLOR||this.transition===r.SCALE)){this.time+=t;var i=1;if(this.duration>0&&(i=this.time/this.duration),i>=1&&(i=1),this.transition===r.COLOR){var n=this._fromColor.lerp(this._toColor,i);this._setTargetColor(n)}else this.transition===r.SCALE&&this._originalScale&&(e.scale=this._fromScale.lerp(this._toScale,i));1===i&&(this._transitionFinished=!0)}},_registerNodeEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_unregisterNodeEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_registerTargetEvent:function(t){t.on(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_unregisterTargetEvent:function(t){t.off(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_getTargetSprite:function(t){var e=null;return t&&(e=t.getComponent(cc.Sprite)),e},_applyTarget:function(){var t=this._getTarget();this._sprite=this._getTargetSprite(t),this._originalScale||(this._originalScale=cc.Vec2.ZERO),this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY,this._registerTargetEvent(t)},_onTouchBegan:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t.stopPropagation())},_onTouchMove:function(t){if(this.interactable&&this.enabledInHierarchy&&this._pressed){var e,i=t.touch,n=this.node._hitTest(i.getLocation()),a=this._getTarget(),o=this._originalScale;this.transition===r.SCALE&&o?n?(this._fromScale.x=o.x,this._fromScale.y=o.y,this._toScale.x=o.x*this.zoomScale,this._toScale.y=o.y*this.zoomScale,this._transitionFinished=!1):(this.time=0,this._transitionFinished=!0,a.setScale(o.x,o.y)):(e=n?s.PRESSED:s.NORMAL,this._applyTransition(e)),t.stopPropagation()}},_onTouchEnded:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed&&(cc.Component.EventHandler.emitEvents(this.clickEvents,t),this.node.emit("click",this)),this._pressed=!1,this._updateState(),t.stopPropagation())},_onTouchCancel:function(){this.interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},_onMouseMoveIn:function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this.transition!==r.SPRITE||this.hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},_onMouseMoveOut:function(){this._hovered&&(this._hovered=!1,this._updateState())},_updateState:function(){var t=this._getButtonState();this._applyTransition(t),this._updateDisabledState()},_getButtonState:function(){return this.interactable?this._pressed?s.PRESSED:this._hovered?s.HOVER:s.NORMAL:s.DISABLED},_updateColorTransitionImmediately:function(t){var e=this._getStateColor(t);this._setTargetColor(e),this._fromColor=e.clone(),this._toColor=e},_updateColorTransition:function(t){if(t===s.DISABLED)this._updateColorTransitionImmediately(t);else{var e=this._getTarget(),i=this._getStateColor(t);this._fromColor=e.color.clone(),this._toColor=i,this.time=0,this._transitionFinished=!1}},_updateSpriteTransition:function(t){var e=this._getStateSprite(t);this._sprite&&e&&(this._sprite.spriteFrame=e)},_updateScaleTransition:function(t){t===s.PRESSED?this._zoomUp():this._zoomBack()},_zoomUp:function(){this._originalScale&&(this._fromScale.x=this._originalScale.x,this._fromScale.y=this._originalScale.y,this._toScale.x=this._originalScale.x*this.zoomScale,this._toScale.y=this._originalScale.y*this.zoomScale,this.time=0,this._transitionFinished=!1)},_zoomBack:function(){if(this._originalScale){var t=this._getTarget();this._fromScale.x=t.scaleX,this._fromScale.y=t.scaleY,this._toScale.x=this._originalScale.x,this._toScale.y=this._originalScale.y,this.time=0,this._transitionFinished=!1}},_updateTransition:function(t){t===r.COLOR?this._updateColorTransitionImmediately(s.NORMAL):t===r.SPRITE&&this._updateSpriteTransition(s.NORMAL),this._updateState()},_applyTransition:function(t){var e=this.transition;e===r.COLOR?this._updateColorTransition(t):e===r.SPRITE?this._updateSpriteTransition(t):e===r.SCALE&&this._updateScaleTransition(t)},_resizeNodeToTargetNode:!1,_updateDisabledState:function(t){if(this._sprite&&(this.enableAutoGrayEffect||t)){var e=!1;this.transition===r.SPRITE&&this.disabledSprite||(e=this.enableAutoGrayEffect&&!this.interactable),this._switchGrayMaterial(e,this._sprite)}}});cc.Button=e.exports=a}),{"../utils/gray-sprite-state":320,"./CCComponent":148}],147:[(function(t,e){"use strict";var i=t("../camera/CCCamera"),n=t("./CCComponent"),r=cc.Class({name:"cc.Canvas",extends:n,editor:!1,resetInEditor:!1,statics:{instance:null},properties:{_designResolution:cc.size(960,640),designResolution:{get:function(){return cc.size(this._designResolution)},set:function(t){this._designResolution.width=t.width,this._designResolution.height=t.height,this.applySettings()},tooltip:!1},_fitWidth:!1,_fitHeight:!0,fitHeight:{get:function(){return this._fitHeight},set:function(t){this._fitHeight!==t&&(this._fitHeight=t,this.applySettings())},tooltip:!1},fitWidth:{get:function(){return this._fitWidth},set:function(t){this._fitWidth!==t&&(this._fitWidth=t,this.applySettings())},tooltip:!1}},_fitDesignResolution:!1,__preload:function(){if(r.instance)return cc.warnID(6700,this.node.name,r.instance.node.name);r.instance=this,this.applySettings();var t=this.getComponent(cc.Widget);t&&t.updateAlignment()},start:function(){if(!i.main&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=new cc.Node("Main Camera");t.parent=this.node,t.setSiblingIndex(0);var e=t.addComponent(i),n=i.ClearFlags;e.clearFlags=n.COLOR|n.DEPTH|n.STENCIL,e.depth=-1}},onDestroy:function(){r.instance===this&&(r.instance=null)},applySettings:function(){var t,e=cc.ResolutionPolicy;t=this.fitHeight&&this.fitWidth?e.SHOW_ALL:this.fitHeight||this.fitWidth?this.fitWidth?e.FIXED_WIDTH:e.FIXED_HEIGHT:e.NO_BORDER;var i=this._designResolution;cc.view.setDesignResolutionSize(i.width,i.height,t)}});cc.Canvas=e.exports=r}),{"../camera/CCCamera":133,"./CCComponent":148}],148:[(function(t,e){"use strict";var i=t("../platform/CCObject"),n=t("../platform/js"),r=new(t("../platform/id-generater"))("Comp"),s=(i.Flags.IsOnEnableCalled,i.Flags.IsOnLoadCalled),a=!!cc.ActionManager,o=cc.Class({name:"cc.Component",extends:i,ctor:function(){this._id=r.getNewId(),this.__eventTargets=[]},properties:{node:{default:null,visible:!1},name:{get:function(){if(this._name)return this._name;var t=cc.js.getClassName(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node.name+"<"+t+">"},set:function(t){this._name=t},visible:!1},uuid:{get:function(){return this._id},visible:!1},__scriptAsset:!1,_enabled:!0,enabled:{get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node._activeInHierarchy)){var e=cc.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}},visible:!1,animatable:!0},enabledInHierarchy:{get:function(){return this._enabled&&this.node._activeInHierarchy},visible:!1},_isOnLoadCalled:{get:function(){return this._objFlags&s}}},update:null,lateUpdate:null,__preload:null,onLoad:null,start:null,onEnable:null,onDisable:null,onDestroy:null,onFocusInEditor:null,onLostFocusInEditor:null,resetInEditor:null,addComponent:function(t){return this.node.addComponent(t)},getComponent:function(t){return this.node.getComponent(t)},getComponents:function(t){return this.node.getComponents(t)},getComponentInChildren:function(t){return this.node.getComponentInChildren(t)},getComponentsInChildren:function(t){return this.node.getComponentsInChildren(t)},_getLocalBounds:null,onRestore:null,destroy:function(){this._super()&&this._enabled&&this.node._activeInHierarchy&&cc.director._compScheduler.disableComp(this)},_onPreDestroy:function(){a&&cc.director.getActionManager().removeAllActionsFromTarget(this),this.unscheduleAllCallbacks();for(var t=this.__eventTargets,e=t.length-1;e>=0;--e){var i=t[e];i&&i.targetOff(this)}t.length=0,cc.director._nodeActivator.destroyComp(this),this.node._removeComponent(this)},_instantiate:function(t){return t||(t=cc.instantiate._clone(this,this)),t.node=null,t},schedule:function(t,e,i,n){cc.assertID(t,1619),e=e||0,cc.assertID(e>=0,1620),i=isNaN(i)?cc.macro.REPEAT_FOREVER:i,n=n||0;var r=cc.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},scheduleOnce:function(t,e){this.schedule(t,0,0,e)},unschedule:function(t){t&&cc.director.getScheduler().unschedule(t,this)},unscheduleAllCallbacks:function(){cc.director.getScheduler().unscheduleAllForTarget(this)}});o._requireComponent=null,o._executionOrder=0,n.value(o,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),o.prototype.__scriptUuid="",cc.Component=e.exports=o}),{"../platform/CCObject":244,"../platform/id-generater":255,"../platform/js":259}],149:[(function(){"use strict";cc.Component.EventHandler=cc.Class({name:"cc.ClickEvent",properties:{target:{default:null,type:cc.Node},component:"",_componentId:"",_componentName:{get:function(){return this._genCompIdIfNeeded(),this._compId2Name(this._componentId)},set:function(t){this._componentId=this._compName2Id(t)}},handler:{default:""},customEventData:{default:""}},statics:{emitEvents:function(t){var e;if(arguments.length>0)for(var i=0,n=(e=new Array(arguments.length-1)).length;i<n;i++)e[i]=arguments[i+1];for(var r=0,s=t.length;r<s;r++){var a=t[r];a instanceof cc.Component.EventHandler&&a.emit(e)}}},emit:function(t){var e=this.target;if(cc.isValid(e)){this._genCompIdIfNeeded();var i=cc.js._getClassById(this._componentId),n=e.getComponent(i);if(cc.isValid(n)){var r=n[this.handler];"function"==typeof r&&(null!=this.customEventData&&""!==this.customEventData&&(t=t.slice()).push(this.customEventData),r.apply(n,t))}}},_compName2Id:function(t){var e=cc.js.getClassByName(t);return cc.js._getClassId(e)},_compId2Name:function(t){var e=cc.js._getClassById(t);return cc.js.getClassName(e)},_genCompIdIfNeeded:function(){this._componentId||(this._componentName=this.component,this.component="")}})}),{}],150:[(function(t,e){"use strict";var i=t("../platform/CCMacro"),n=t("./CCRenderComponent"),r=(t("../assets/material/CCMaterial"),t("../renderer/utils/label/label-frame")),s=t("../utils/blend-func"),a=t("../renderer/utils/utils").deleteFromDynamicAtlas,o=i.TextAlignment,l=i.VerticalTextAlignment,c=cc.Enum({NONE:0,CLAMP:1,SHRINK:2,RESIZE_HEIGHT:3}),h=cc.Enum({NONE:0,BITMAP:1,CHAR:2}),u=cc.Class({name:"cc.Label",extends:n,mixins:[s],ctor:function(){this._actualFontSize=0,this._assemblerData=null,this._frame=null,this._ttfTexture=null,this._letterTexture=null,cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?this._updateMaterial=this._updateMaterialCanvas:this._updateMaterial=this._updateMaterialWebgl},editor:!1,properties:{_string:{default:"",formerlySerializedAs:"_N$string"},string:{get:function(){return this._string},set:function(t){var e=this._string;this._string=""+t,this.string!==e&&this.setVertsDirty(),this._checkStringEmpty()},multiline:!0,tooltip:!1},horizontalAlign:{default:o.LEFT,type:o,tooltip:!1,notify:function(t){this.horizontalAlign!==t&&this.setVertsDirty()},animatable:!1},verticalAlign:{default:l.TOP,type:l,tooltip:!1,notify:function(t){this.verticalAlign!==t&&this.setVertsDirty()},animatable:!1},actualFontSize:{displayName:"Actual Font Size",animatable:!1,readonly:!0,get:function(){return this._actualFontSize},tooltip:!1},_fontSize:40,fontSize:{get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this.setVertsDirty())},range:[0,512],tooltip:!1},fontFamily:{default:"Arial",tooltip:!1,notify:function(t){this.fontFamily!==t&&this.setVertsDirty()},animatable:!1},_lineHeight:40,lineHeight:{get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this.setVertsDirty())},tooltip:!1},overflow:{default:c.NONE,type:c,tooltip:!1,notify:function(t){this.overflow!==t&&this.setVertsDirty()},animatable:!1},_enableWrapText:!0,enableWrapText:{get:function(){return this._enableWrapText},set:function(t){this._enableWrapText!==t&&(this._enableWrapText=t,this.setVertsDirty())},animatable:!1,tooltip:!1},_N$file:null,font:{get:function(){return this._N$file},set:function(t){this.font!==t&&(t||(this._isSystemFontUsed=!0),this._N$file=t,t&&this._isSystemFontUsed&&(this._isSystemFontUsed=!1),this.enabledInHierarchy&&this._forceUpdateRenderData())},type:cc.Font,tooltip:!1,animatable:!1},_isSystemFontUsed:!0,useSystemFont:{get:function(){return this._isSystemFontUsed},set:function(t){if(this._isSystemFontUsed!==t){if(this._isSystemFontUsed=!!t,t){if(this.font=null,!this.enabledInHierarchy)return;this._forceUpdateRenderData()}this.markForValidate()}},animatable:!1,tooltip:!1},_bmFontOriginalSize:{displayName:"BMFont Original Size",get:function(){return this._N$file instanceof cc.BitmapFont?this._N$file.fontSize:-1},visible:!0,animatable:!1},_spacingX:0,spacingX:{get:function(){return this._spacingX},set:function(t){this._spacingX=t,this.setVertsDirty()},tooltip:!1},_batchAsBitmap:!1,cacheMode:{default:h.NONE,type:h,tooltip:!1,notify:function(t){this.cacheMode!==t&&(t!==h.BITMAP||this.font instanceof cc.BitmapFont||this._frame&&this._frame._resetDynamicAtlasFrame(),t===h.CHAR&&(this._ttfTexture=null),this.enabledInHierarchy&&this._forceUpdateRenderData())},animatable:!1},_styleFlags:0,enableBold:{get:function(){return!!(1&this._styleFlags)},set:function(t){t?this._styleFlags|=1:this._styleFlags&=-2,this.setVertsDirty()},animatable:!1,tooltip:!1},enableItalic:{get:function(){return!!(2&this._styleFlags)},set:function(t){t?this._styleFlags|=2:this._styleFlags&=-3,this.setVertsDirty()},animatable:!1,tooltip:!1},enableUnderline:{get:function(){return!!(4&this._styleFlags)},set:function(t){t?this._styleFlags|=4:this._styleFlags&=-5,this.setVertsDirty()},animatable:!1,tooltip:!1},_underlineHeight:0,underlineHeight:{get:function(){return this._underlineHeight},set:function(t){this._underlineHeight!==t&&(this._underlineHeight=t,this.setVertsDirty())},tooltip:!1}},statics:{HorizontalAlign:o,VerticalAlign:l,Overflow:c,CacheMode:h,_shareAtlas:null,clearCharCache:function(){u._shareAtlas&&u._shareAtlas.clearAllCache()}},onLoad:function(){this._batchAsBitmap&&this.cacheMode===h.NONE&&(this.cacheMode=h.BITMAP,this._batchAsBitmap=!1),cc.game.renderType===cc.game.RENDER_TYPE_CANVAS&&(this.cacheMode=h.NONE)},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._nodeSizeChanged,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this.setVertsDirty,this),this.node.on(cc.Node.EventType.COLOR_CHANGED,this._nodeColorChanged,this),this._forceUpdateRenderData()},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._nodeSizeChanged,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this.setVertsDirty,this),this.node.off(cc.Node.EventType.COLOR_CHANGED,this._nodeColorChanged,this)},onDestroy:function(){this._assembler&&this._assembler._resetAssemblerData&&this._assembler._resetAssemblerData(this._assemblerData),this._assemblerData=null,this._letterTexture=null,this._ttfTexture&&(this._ttfTexture.destroy(),this._ttfTexture=null),this._super()},_nodeSizeChanged:function(){this.overflow!==c.NONE&&this.setVertsDirty()},_nodeColorChanged:function(){this.font instanceof cc.BitmapFont||this.setVertsDirty()},setVertsDirty:function(){this._super()},_updateColor:function(){this.font instanceof cc.BitmapFont||this._srcBlendFactor===cc.macro.BlendFactor.SRC_ALPHA&&this.node._renderFlag&cc.RenderFlow.FLAG_OPACITY||this.setVertsDirty(),n.prototype._updateColor.call(this)},_validateRender:function(){if(this.string){if(this._materials[0]){var t=this.font;if(!(t instanceof cc.BitmapFont))return;var e=t.spriteFrame;if(e&&e.textureLoaded()&&t._fntConfig)return}this.disableRender()}else this.disableRender()},_resetAssembler:function(){this._resetFrame(),n.prototype._resetAssembler.call(this)},_resetFrame:function(){!this._frame||this.font instanceof cc.BitmapFont||(a(this,this._frame),this._frame=null)},_checkStringEmpty:function(){this.markForRender(!!this.string)},_on3DNodeChanged:function(){this._resetAssembler(),this._applyFontTexture()},_onBMFontTextureLoaded:function(){this._frame._texture=this.font.spriteFrame._texture,this.markForRender(!0),this._updateMaterial(),this._assembler&&this._assembler.updateRenderData(this)},_onBlendChanged:function(){this.useSystemFont&&this.enabledInHierarchy&&this._forceUpdateRenderData()},_applyFontTexture:function(){var t=this.font;if(t instanceof cc.BitmapFont){var e=t.spriteFrame;this._frame=e,e&&e.onTextureLoaded(this._onBMFontTextureLoaded,this)}else this._nativeTTF()||(this._frame||(this._frame=new r),this.cacheMode===h.CHAR?(this._letterTexture=this._assembler._getAssemblerData(),this._frame._refreshTexture(this._letterTexture)):this._ttfTexture||(this._ttfTexture=new cc.Texture2D,this._assemblerData=this._assembler._getAssemblerData(),this._ttfTexture.initWithElement(this._assemblerData.canvas)),this.cacheMode!==h.CHAR&&(this._frame._resetDynamicAtlasFrame(),this._frame._refreshTexture(this._ttfTexture),this._srcBlendFactor===cc.macro.BlendFactor.ONE&&this._ttfTexture.setPremultiplyAlpha(!0)),this._updateMaterial()),this._assembler&&this._assembler.updateRenderData(this);this.markForValidate()},_updateMaterialCanvas:function(){this._frame&&(this._frame._texture._nativeUrl=this.uuid+"_texture")},_updateMaterialWebgl:function(){var t=this.getMaterial(0);this._nativeTTF()?t&&this._assembler._updateTTFMaterial(this):this._frame&&(t&&t.setProperty("texture",this._frame._texture),s.prototype._updateMaterial.call(this))},_forceUseCanvas:!1,_useNativeTTF:function(){return cc.macro.ENABLE_NATIVE_TTF_RENDERER&&!this._forceUseCanvas},_nativeTTF:function(){return this._useNativeTTF()&&!!this._assembler&&!!this._assembler._updateTTFMaterial},_forceUpdateRenderData:function(){this.setVertsDirty(),this._resetAssembler(),this._applyFontTexture()},_enableBold:function(t){this.enableBold=!!t},_enableItalics:function(t){this.enableItalic=!!t},_enableUnderline:function(t){this.enableUnderline=!!t}});cc.Label=e.exports=u}),{"../assets/material/CCMaterial":123,"../platform/CCMacro":243,"../renderer/utils/label/label-frame":275,"../renderer/utils/utils":278,"../utils/blend-func":317,"./CCRenderComponent":159}],151:[(function(t,e){"use strict";var i=cc.Class({name:"cc.LabelOutline",extends:t("./CCComponent"),editor:!1,properties:{_color:cc.Color.WHITE,_width:1,color:{tooltip:!1,get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||this._color.set(t),this._updateRenderData()}},width:{tooltip:!1,get:function(){return this._width},set:function(t){this._width!==t&&(this._width=t,this._updateRenderData())},range:[0,512]}},onEnable:function(){this._updateRenderData()},onDisable:function(){this._updateRenderData()},_updateRenderData:function(){var t=this.node.getComponent(cc.Label);t&&t.setVertsDirty()}});cc.LabelOutline=e.exports=i}),{"./CCComponent":148}],152:[(function(t,e){"use strict";var i=cc.Class({name:"cc.LabelShadow",extends:t("./CCComponent"),editor:!1,properties:{_color:cc.Color.WHITE,_offset:cc.v2(2,2),_blur:2,color:{tooltip:!1,get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||this._color.set(t),this._updateRenderData()}},offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t,this._updateRenderData()}},blur:{tooltip:!1,get:function(){return this._blur},set:function(t){this._blur=t,this._updateRenderData()},range:[0,1024]}},onEnable:function(){this._updateRenderData()},onDisable:function(){this._updateRenderData()},_updateRenderData:function(){var t=this.node.getComponent(cc.Label);t&&t.markForRender(!0)}});cc.LabelShadow=e.exports=i}),{"./CCComponent":148}],153:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=cc.Enum({NONE:0,HORIZONTAL:1,VERTICAL:2,GRID:3}),r=cc.Enum({NONE:0,CONTAINER:1,CHILDREN:2}),s=cc.Enum({HORIZONTAL:0,VERTICAL:1}),a=cc.Enum({BOTTOM_TO_TOP:0,TOP_TO_BOTTOM:1}),o=cc.Enum({LEFT_TO_RIGHT:0,RIGHT_TO_LEFT:1}),l=cc.Class({name:"cc.Layout",extends:t("./CCComponent"),editor:!1,properties:{_layoutSize:cc.size(300,200),_layoutDirty:{default:!0,serializable:!1},_resize:r.NONE,_N$layoutType:n.NONE,type:{type:n,get:function(){return this._N$layoutType},set:function(t){this._N$layoutType=t,this._doLayoutDirty()},tooltip:!1,animatable:!1},resizeMode:{type:r,tooltip:!1,animatable:!1,get:function(){return this._resize},set:function(t){this.type===n.NONE&&t===r.CHILDREN||(this._resize=t,this._doLayoutDirty())}},cellSize:{default:cc.size(40,40),tooltip:!1,type:cc.Size,notify:function(){this._doLayoutDirty()}},startAxis:{default:s.HORIZONTAL,tooltip:!1,type:s,notify:function(){this._doLayoutDirty()},animatable:!1},paddingLeft:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingRight:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingTop:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingBottom:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},spacingX:{default:0,notify:function(){this._doLayoutDirty()},tooltip:!1},spacingY:{default:0,notify:function(){this._doLayoutDirty()},tooltip:!1},verticalDirection:{default:a.TOP_TO_BOTTOM,type:a,notify:function(){this._doLayoutDirty()},tooltip:!1,animatable:!1},horizontalDirection:{default:o.LEFT_TO_RIGHT,type:o,notify:function(){this._doLayoutDirty()},tooltip:!1,animatable:!1},affectedByScale:{default:!1,notify:function(){this._doLayoutDirty()},animatable:!1,tooltip:!1}},statics:{Type:n,VerticalDirection:a,HorizontalDirection:o,ResizeMode:r,AxisDirection:s},onEnable:function(){this._addEventListeners(),this.node.getContentSize().equals(cc.size(0,0))&&this.node.setContentSize(this._layoutSize),this._doLayoutDirty()},onDisable:function(){this._removeEventListeners()},_doLayoutDirty:function(){this._layoutDirty=!0},_doScaleDirty:function(){this._layoutDirty=this._layoutDirty||this.affectedByScale},_addEventListeners:function(){cc.director.on(cc.Director.EVENT_AFTER_UPDATE,this.updateLayout,this),this.node.on(i.SIZE_CHANGED,this._resized,this),this.node.on(i.ANCHOR_CHANGED,this._doLayoutDirty,this),this.node.on(i.CHILD_ADDED,this._childAdded,this),this.node.on(i.CHILD_REMOVED,this._childRemoved,this),this.node.on(i.CHILD_REORDER,this._doLayoutDirty,this),this._addChildrenEventListeners()},_removeEventListeners:function(){cc.director.off(cc.Director.EVENT_AFTER_UPDATE,this.updateLayout,this),this.node.off(i.SIZE_CHANGED,this._resized,this),this.node.off(i.ANCHOR_CHANGED,this._doLayoutDirty,this),this.node.off(i.CHILD_ADDED,this._childAdded,this),this.node.off(i.CHILD_REMOVED,this._childRemoved,this),this.node.off(i.CHILD_REORDER,this._doLayoutDirty,this),this._removeChildrenEventListeners()},_addChildrenEventListeners:function(){for(var t=this.node.children,e=0;e<t.length;++e){var n=t[e];n.on(i.SCALE_CHANGED,this._doScaleDirty,this),n.on(i.SIZE_CHANGED,this._doLayoutDirty,this),n.on(i.POSITION_CHANGED,this._doLayoutDirty,this),n.on(i.ANCHOR_CHANGED,this._doLayoutDirty,this),n.on("active-in-hierarchy-changed",this._doLayoutDirty,this)}},_removeChildrenEventListeners:function(){for(var t=this.node.children,e=0;e<t.length;++e){var n=t[e];n.off(i.SCALE_CHANGED,this._doScaleDirty,this),n.off(i.SIZE_CHANGED,this._doLayoutDirty,this),n.off(i.POSITION_CHANGED,this._doLayoutDirty,this),n.off(i.ANCHOR_CHANGED,this._doLayoutDirty,this),n.off("active-in-hierarchy-changed",this._doLayoutDirty,this)}},_childAdded:function(t){t.on(i.SCALE_CHANGED,this._doScaleDirty,this),t.on(i.SIZE_CHANGED,this._doLayoutDirty,this),t.on(i.POSITION_CHANGED,this._doLayoutDirty,this),t.on(i.ANCHOR_CHANGED,this._doLayoutDirty,this),t.on("active-in-hierarchy-changed",this._doLayoutDirty,this),this._doLayoutDirty()},_childRemoved:function(t){t.off(i.SCALE_CHANGED,this._doScaleDirty,this),t.off(i.SIZE_CHANGED,this._doLayoutDirty,this),t.off(i.POSITION_CHANGED,this._doLayoutDirty,this),t.off(i.ANCHOR_CHANGED,this._doLayoutDirty,this),t.off("active-in-hierarchy-changed",this._doLayoutDirty,this),this._doLayoutDirty()},_resized:function(){this._layoutSize=this.node.getContentSize(),this._doLayoutDirty()},_doLayoutHorizontally:function(t,e,i,s){var l=this.node.getAnchorPoint(),c=this.node.children,h=1,u=this.paddingLeft,_=-l.x*t;this.horizontalDirection===o.RIGHT_TO_LEFT&&(h=-1,_=(1-l.x)*t,u=this.paddingRight);for(var f=_+h*u-h*this.spacingX,d=0,p=0,m=0,y=0,v=0,g=0,b=0,A=0;A<c.length;++A)(C=c[A]).activeInHierarchy&&b++;var x=this.cellSize.width;for(this.type!==n.GRID&&this.resizeMode===r.CHILDREN&&(x=(t-(this.paddingLeft+this.paddingRight)-(b-1)*this.spacingX)/b),A=0;A<c.length;++A){var C=c[A],T=this._getUsedScaleValue(C.scaleX),S=this._getUsedScaleValue(C.scaleY);if(C.activeInHierarchy){this._resize===r.CHILDREN&&(C.width=x/T,this.type===n.GRID&&(C.height=this.cellSize.height/S));var w=C.anchorX,E=C.width*T,M=C.height*S;m>p&&(p=m),M>=p&&(m=p,p=M,g=C.getAnchorPoint().y),this.horizontalDirection===o.RIGHT_TO_LEFT&&(w=1-C.anchorX),f=f+h*w*E+h*this.spacingX;var D=h*(1-w)*E;if(e){var B=f+D+h*(h>0?this.paddingRight:this.paddingLeft),I=this.horizontalDirection===o.LEFT_TO_RIGHT&&B>(1-l.x)*t,P=this.horizontalDirection===o.RIGHT_TO_LEFT&&B<-l.x*t;(I||P)&&(M>=p?(0===m&&(m=p),d+=m,m=p):(d+=p,m=M,p=0),f=_+h*(u+w*E),y++)}var R=i(C,d,y);t>=E+this.paddingLeft+this.paddingRight&&s&&C.setPosition(cc.v2(f,R));var O,L=1,F=0===p?M:p;this.verticalDirection===a.TOP_TO_BOTTOM?(v=v||this.node._contentSize.height,(O=R+(L=-1)*(F*g+this.paddingBottom))<v&&(v=O)):(v=v||-this.node._contentSize.height,(O=R+L*(F*g+this.paddingTop))>v&&(v=O)),f+=D}}return v},_getVerticalBaseHeight:function(t){var e=0,i=0;if(this.resizeMode===r.CONTAINER){for(var n=0;n<t.length;++n){var s=t[n];s.activeInHierarchy&&(i++,e+=s.height*this._getUsedScaleValue(s.scaleY))}e+=(i-1)*this.spacingY+this.paddingBottom+this.paddingTop}else e=this.node.getContentSize().height;return e},_doLayoutVertically:function(t,e,i,s){var l=this.node.getAnchorPoint(),c=this.node.children,h=1,u=this.paddingBottom,_=-l.y*t;this.verticalDirection===a.TOP_TO_BOTTOM&&(h=-1,_=(1-l.y)*t,u=this.paddingTop);for(var f=_+h*u-h*this.spacingY,d=0,p=0,m=0,y=0,v=0,g=0,b=0,A=0;A<c.length;++A)(C=c[A]).activeInHierarchy&&b++;var x=this.cellSize.height;for(this.type!==n.GRID&&this.resizeMode===r.CHILDREN&&(x=(t-(this.paddingTop+this.paddingBottom)-(b-1)*this.spacingY)/b),A=0;A<c.length;++A){var C=c[A],T=this._getUsedScaleValue(C.scaleX),S=this._getUsedScaleValue(C.scaleY);if(C.activeInHierarchy){this.resizeMode===r.CHILDREN&&(C.height=x/S,this.type===n.GRID&&(C.width=this.cellSize.width/T));var w=C.anchorY,E=C.width*T,M=C.height*S;m>p&&(p=m),E>=p&&(m=p,p=E,g=C.getAnchorPoint().x),this.verticalDirection===a.TOP_TO_BOTTOM&&(w=1-C.anchorY),f=f+h*w*M+h*this.spacingY;var D=h*(1-w)*M;if(e){var B=f+D+h*(h>0?this.paddingTop:this.paddingBottom),I=this.verticalDirection===a.BOTTOM_TO_TOP&&B>(1-l.y)*t,P=this.verticalDirection===a.TOP_TO_BOTTOM&&B<-l.y*t;(I||P)&&(E>=p?(0===m&&(m=p),d+=m,m=p):(d+=p,m=E,p=0),f=_+h*(u+w*M),y++)}var R=i(C,d,y);t>=M+(this.paddingTop+this.paddingBottom)&&s&&C.setPosition(cc.v2(R,f));var O,L=1,F=0===p?E:p;this.horizontalDirection===o.RIGHT_TO_LEFT?(L=-1,v=v||this.node._contentSize.width,(O=R+L*(F*g+this.paddingLeft))<v&&(v=O)):(v=v||-this.node._contentSize.width,(O=R+L*(F*g+this.paddingRight))>v&&(v=O)),f+=D}}return v},_doLayoutBasic:function(){for(var t=this.node.children,e=null,i=0;i<t.length;++i){var n=t[i];n.activeInHierarchy&&(e?e.union(e,n.getBoundingBoxToWorld()):e=n.getBoundingBoxToWorld())}if(e){var r=this.node.convertToNodeSpaceAR(cc.v2(e.x,e.y));r=cc.v2(r.x-this.paddingLeft,r.y-this.paddingBottom);var s=this.node.convertToNodeSpaceAR(cc.v2(e.xMax,e.yMax)),a=(s=cc.v2(s.x+this.paddingRight,s.y+this.paddingTop)).sub(r);if(0!==(a=cc.size(parseFloat(a.x.toFixed(2)),parseFloat(a.y.toFixed(2)))).width){var o=-r.x/a.width;this.node.anchorX=parseFloat(o.toFixed(2))}if(0!==a.height){var l=-r.y/a.height;this.node.anchorY=parseFloat(l.toFixed(2))}this.node.setContentSize(a)}},_doLayoutGridAxisHorizontal:function(t,e){var i=e.width,n=1,s=-t.y*e.height,o=this.paddingBottom;this.verticalDirection===a.TOP_TO_BOTTOM&&(n=-1,s=(1-t.y)*e.height,o=this.paddingTop);var l=function(t,e,i){return s+n*(e+t.anchorY*t.height*this._getUsedScaleValue(t.scaleY)+o+i*this.spacingY)}.bind(this),c=0;if(this.resizeMode===r.CONTAINER){var h=this._doLayoutHorizontally(i,!0,l,!1);(c=s-h)<0&&(c*=-1),s=-t.y*c,this.verticalDirection===a.TOP_TO_BOTTOM&&(n=-1,s=(1-t.y)*c)}this._doLayoutHorizontally(i,!0,l,!0),this.resizeMode===r.CONTAINER&&this.node.setContentSize(i,c)},_doLayoutGridAxisVertical:function(t,e){var i=e.height,n=1,s=-t.x*e.width,a=this.paddingLeft;this.horizontalDirection===o.RIGHT_TO_LEFT&&(n=-1,s=(1-t.x)*e.width,a=this.paddingRight);var l=function(t,e,i){return s+n*(e+t.anchorX*t.width*this._getUsedScaleValue(t.scaleX)+a+i*this.spacingX)}.bind(this),c=0;if(this.resizeMode===r.CONTAINER){var h=this._doLayoutVertically(i,!0,l,!1);(c=s-h)<0&&(c*=-1),s=-t.x*c,this.horizontalDirection===o.RIGHT_TO_LEFT&&(n=-1,s=(1-t.x)*c)}this._doLayoutVertically(i,!0,l,!0),this.resizeMode===r.CONTAINER&&this.node.setContentSize(c,i)},_doLayoutGrid:function(){var t=this.node.getAnchorPoint(),e=this.node.getContentSize();this.startAxis===s.HORIZONTAL?this._doLayoutGridAxisHorizontal(t,e):this.startAxis===s.VERTICAL&&this._doLayoutGridAxisVertical(t,e)},_getHorizontalBaseWidth:function(t){var e=0,i=0;if(this.resizeMode===r.CONTAINER){for(var n=0;n<t.length;++n){var s=t[n];s.activeInHierarchy&&(i++,e+=s.width*this._getUsedScaleValue(s.scaleX))}e+=(i-1)*this.spacingX+this.paddingLeft+this.paddingRight}else e=this.node.getContentSize().width;return e},_doLayout:function(){if(this.type===n.HORIZONTAL){var t=this._getHorizontalBaseWidth(this.node.children);this._doLayoutHorizontally(t,!1,(function(t){return t.y}),!0),this.node.width=t}else if(this.type===n.VERTICAL){var e=this._getVerticalBaseHeight(this.node.children);this._doLayoutVertically(e,!1,(function(t){return t.x}),!0),this.node.height=e}else this.type===n.NONE?this.resizeMode===r.CONTAINER&&this._doLayoutBasic():this.type===n.GRID&&this._doLayoutGrid()},_getUsedScaleValue:function(t){return this.affectedByScale?Math.abs(t):1},updateLayout:function(){this._layoutDirty&&this.node.children.length>0&&(this._doLayout(),this._layoutDirty=!1)}});cc.Layout=e.exports=l}),{"../CCNode":72,"./CCComponent":148}],154:[(function(t,e){"use strict";var i=a(t("../../renderer/gfx")),n=a(t("../value-types/mat4")),r=a(t("../value-types/vec2")),s=a(t("../assets/material/material-variant"));function a(t){return t&&t.__esModule?t:{default:t}}var o=t("../utils/misc"),l=t("./CCRenderComponent"),c=t("../renderer/render-flow"),h=t("../graphics/graphics"),u=new r.default,_=new n.default,f=[];function d(t,e,i){f.length=0;for(var n=2*Math.PI/i,r=0;r<i;++r)f.push(cc.v2(e.x*Math.cos(n*r)+t.x,e.y*Math.sin(n*r)+t.y));return f}var p=cc.Enum({RECT:0,ELLIPSE:1,IMAGE_STENCIL:2}),m=cc.Class({name:"cc.Mask",extends:l,editor:!1,ctor:function(){this._graphics=null,this._enableMaterial=null,this._exitMaterial=null,this._clearMaterial=null},properties:{_spriteFrame:{default:null,type:cc.SpriteFrame},_type:p.RECT,type:{get:function(){return this._type},set:function(t){this._type!==t&&this._resetAssembler(),this._type=t,this._type!==p.IMAGE_STENCIL&&(this.spriteFrame=null,this.alphaThreshold=0,this._updateGraphics()),this._activateMaterial()},type:p,tooltip:!1},spriteFrame:{type:cc.SpriteFrame,tooltip:!1,get:function(){return this._spriteFrame},set:function(t){this._spriteFrame!==t&&(this._spriteFrame=t,this.setVertsDirty(),this._updateMaterial())}},alphaThreshold:{default:.1,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS?this._updateMaterial():cc.warnID(4201)}},inverted:{default:!1,type:cc.Boolean,tooltip:!1,notify:function(){cc.game.renderType===cc.game.RENDER_TYPE_CANVAS&&cc.warnID(4202)}},_segments:64,segements:{get:function(){return this._segments},set:function(t){this._segments=o.clampf(t,3,1e4),this._updateGraphics()},type:cc.Integer,tooltip:!1},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}}},statics:{Type:p},onRestore:function(){this._activateMaterial()},onEnable:function(){this._super(),this._type!==p.IMAGE_STENCIL&&this._updateGraphics(),this.node.on(cc.Node.EventType.POSITION_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.ROTATION_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.SCALE_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._updateGraphics,this)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.POSITION_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.ROTATION_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.SCALE_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._updateGraphics,this),this.node._renderFlag&=~c.FLAG_POST_RENDER},onDestroy:function(){this._super(),this._removeGraphics()},_resizeNodeToTargetNode:!1,_validateRender:function(){if(this._type===p.IMAGE_STENCIL){var t=this._spriteFrame;t&&t.textureLoaded()||this.disableRender()}},_activateMaterial:function(){this._createGraphics();var t=this._materials[0];(t=t?s.default.create(t,this):s.default.createWithBuiltin("2d-sprite",this)).define("USE_ALPHA_TEST",!0),this._type===p.IMAGE_STENCIL?(t.define("CC_USE_MODEL",!1),t.define("USE_TEXTURE",!0)):(t.define("CC_USE_MODEL",!0),t.define("USE_TEXTURE",!1)),this._enableMaterial||(this._enableMaterial=s.default.createWithBuiltin("2d-sprite",this)),this._exitMaterial||(this._exitMaterial=s.default.createWithBuiltin("2d-sprite",this),this._exitMaterial.setStencilEnabled(i.default.STENCIL_DISABLE)),this._clearMaterial||(this._clearMaterial=s.default.createWithBuiltin("clear-stencil",this)),this.setMaterial(0,t),this._graphics._materials[0]=t,this._updateMaterial()},_updateMaterial:function(){var t=this._materials[0];if(t){if(this._type===p.IMAGE_STENCIL&&this.spriteFrame){var e=this.spriteFrame.getTexture();t.setProperty("texture",e)}t.setProperty("alphaThreshold",this.alphaThreshold)}},_createGraphics:function(){this._graphics||(this._graphics=new h,cc.Assembler.init(this._graphics),this._graphics.node=this.node,this._graphics.lineWidth=0,this._graphics.strokeColor=cc.color(0,0,0,0))},_updateGraphics:function(){if(this.enabledInHierarchy){var t=this.node,e=this._graphics;e.clear(!1);var i=t._contentSize.width,n=t._contentSize.height,r=-i*t._anchorPoint.x,s=-n*t._anchorPoint.y;if(this._type===p.RECT)e.rect(r,s,i,n);else if(this._type===p.ELLIPSE){for(var a=d(cc.v2(r+i/2,s+n/2),{x:i/2,y:n/2},this._segments),o=0;o<a.length;++o){var l=a[o];0===o?e.moveTo(l.x,l.y):e.lineTo(l.x,l.y)}e.close()}cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?e.stroke():e.fill()}},_removeGraphics:function(){this._graphics&&(this._graphics.destroy(),this._graphics._destroyImmediate(),this._graphics=null)},_hitTest:function(t){var e=this.node,i=e.getContentSize(),s=i.width,a=i.height,o=u;if(e._updateWorldMatrix(),!n.default.invert(_,e._worldMatrix))return!1;r.default.transformMat4(o,t,_),o.x+=e._anchorPoint.x*s,o.y+=e._anchorPoint.y*a;var l=!1;if(this.type===p.RECT||this.type===p.IMAGE_STENCIL)l=o.x>=0&&o.y>=0&&o.x<=s&&o.y<=a;else if(this.type===p.ELLIPSE){var c=s/2,h=a/2,f=o.x-.5*s,d=o.y-.5*a;l=f*f/(c*c)+d*d/(h*h)<1}return this.inverted&&(l=!l),l},markForRender:function(t){var e=c.FLAG_RENDER|c.FLAG_UPDATE_RENDER_DATA|c.FLAG_POST_RENDER;t?(this.node._renderFlag|=e,this.markForValidate()):t||(this.node._renderFlag&=~e)},disableRender:function(){this.node._renderFlag&=~(c.FLAG_RENDER|c.FLAG_UPDATE_RENDER_DATA|c.FLAG_POST_RENDER)}});cc.Mask=e.exports=m}),{"../../renderer/gfx":371,"../assets/material/material-variant":130,"../graphics/graphics":201,"../renderer/render-flow":271,"../utils/misc":323,"../value-types/mat4":340,"../value-types/vec2":347,"./CCRenderComponent":159}],155:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../../core/utils/blend-func"),r=cc.Class({name:"cc.MotionStreak",extends:i,mixins:[n],editor:!1,ctor:function(){this._points=[]},properties:{preview:{default:!1,editorOnly:!0,notify:!1,animatable:!1},_fadeTime:1,fadeTime:{get:function(){return this._fadeTime},set:function(t){this._fadeTime=t,this.reset()},animatable:!1,tooltip:!1},_minSeg:1,minSeg:{get:function(){return this._minSeg},set:function(t){this._minSeg=t},animatable:!1,tooltip:!1},_stroke:64,stroke:{get:function(){return this._stroke},set:function(t){this._stroke=t},animatable:!1,tooltip:!1},_texture:{default:null,type:cc.Texture2D},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this._updateMaterial())},type:cc.Texture2D,animatable:!1,tooltip:!1},_color:cc.Color.WHITE,color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||this._color.set(t)},type:cc.Color,tooltip:!1},_fastMode:!1,fastMode:{get:function(){return this._fastMode},set:function(t){this._fastMode=t},animatable:!1,tooltip:!1}},onEnable:function(){this._super(),this.reset()},_updateMaterial:function(){var t=this.getMaterial(0);t&&t.setProperty("texture",this._texture),n.prototype._updateMaterial.call(this)},onFocusInEditor:!1,onLostFocusInEditor:!1,reset:function(){this._points.length=0,this._assembler&&this._assembler._renderData.clear()},lateUpdate:function(t){this._assembler&&this._assembler.update(this,t)}});cc.MotionStreak=e.exports=r}),{"../../core/utils/blend-func":317,"../components/CCRenderComponent":159}],156:[(function(t,e){"use strict";var i=cc.Enum({Unified:0,Free:1}),n=cc.Enum({Horizontal:0,Vertical:1}),r=cc.Enum({PAGE_TURNING:0}),s=cc.Class({name:"cc.PageView",extends:cc.ScrollView,editor:!1,ctor:function(){this._curPageIdx=0,this._lastPageIdx=0,this._pages=[],this._initContentPos=cc.v2(),this._scrollCenterOffsetX=[],this._scrollCenterOffsetY=[]},properties:{sizeMode:{default:i.Unified,type:i,tooltip:!1,notify:function(){this._syncSizeMode()}},direction:{default:n.Horizontal,type:n,tooltip:!1,notify:function(){this._syncScrollDirection()}},scrollThreshold:{default:.5,type:cc.Float,slide:!0,range:[0,1,.01],tooltip:!1},autoPageTurningThreshold:{default:100,type:cc.Float,tooltip:!1},pageTurningEventTiming:{default:.1,type:cc.Float,range:[0,1,.01],tooltip:!1},indicator:{default:null,type:cc.PageViewIndicator,tooltip:!1,notify:function(){this.indicator&&this.indicator.setPageView(this)}},pageTurningSpeed:{default:.3,type:cc.Float,tooltip:!1},pageEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{SizeMode:i,Direction:n,EventType:r},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.on("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.off("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onLoad:function(){this._initPages(),this.indicator&&this.indicator.setPageView(this)},getCurrentPageIndex:function(){return this._curPageIdx},setCurrentPageIndex:function(t){this.scrollToPage(t,!0)},getPages:function(){return this._pages},addPage:function(t){t&&-1===this._pages.indexOf(t)&&this.content&&(this.content.addChild(t),this._pages.push(t),this._updatePageView())},insertPage:function(t,e){e<0||!t||-1!==this._pages.indexOf(t)||!this.content||(e>=this._pages.length?this.addPage(t):(this._pages.splice(e,0,t),this.content.addChild(t),this._updatePageView()))},removePage:function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):cc.warnID(4300,t.name)}},removePageAtIndex:function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},removeAllPages:function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e<i;e++)this.content.removeChild(t[e]);this._pages.length=0,this._updatePageView()}},scrollToPage:function(t,e){t<0||t>=this._pages.length||(e=void 0!==e?e:.3,this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},getScrollEndedEventTiming:function(){return this.pageTurningEventTiming},_syncScrollDirection:function(){this.horizontal=this.direction===n.Horizontal,this.vertical=this.direction===n.Vertical},_syncSizeMode:function(){if(this.content){var t=this.content.getComponent(cc.Layout);if(t){if(this.sizeMode===i.Free&&this._pages.length>0){var e=this._pages[this._pages.length-1];this.direction===n.Horizontal?(t.paddingLeft=(this._view.width-this._pages[0].width)/2,t.paddingRight=(this._view.width-e.width)/2):this.direction===n.Vertical&&(t.paddingTop=(this._view.height-this._pages[0].height)/2,t.paddingBottom=(this._view.height-e.height)/2)}t.updateLayout()}}},_updatePageView:function(){var t=this.content.getComponent(cc.Layout);t&&t.enabled&&t.updateLayout();var e=this._pages.length;this._curPageIdx>=e&&(this._curPageIdx=0===e?0:e-1,this._lastPageIdx=this._curPageIdx);for(var i=this._initContentPos,r=0;r<e;++r){var s=this._pages[r];s.setSiblingIndex(r),this.direction===n.Horizontal?this._scrollCenterOffsetX[r]=Math.abs(i.x+s.x):this._scrollCenterOffsetY[r]=Math.abs(i.y+s.y)}this.indicator&&this.indicator._refresh()},_updateAllPagesSize:function(){if(this.sizeMode===i.Unified&&this._view)for(var t=this._pages,e=this._view.getContentSize(),n=0,r=t.length;n<r;n++)t[n].setContentSize(e)},_initPages:function(){if(this.content){this._initContentPos=this.content.position;for(var t=this.content.children,e=0;e<t.length;++e){var i=t[e];this._pages.indexOf(i)>=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},_dispatchPageTurningEvent:function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,cc.Component.EventHandler.emitEvents(this.pageEvents,this,r.PAGE_TURNING),this.node.emit("page-turning",this))},_isScrollable:function(t,e,r){if(this.sizeMode===i.Free){var s,a;if(this.direction===n.Horizontal)return s=this._scrollCenterOffsetX[e],a=this._scrollCenterOffsetX[r],Math.abs(t.x)>=Math.abs(s-a)*this.scrollThreshold;if(this.direction===n.Vertical)return s=this._scrollCenterOffsetY[e],a=this._scrollCenterOffsetY[r],Math.abs(t.y)>=Math.abs(s-a)*this.scrollThreshold}else{if(this.direction===n.Horizontal)return Math.abs(t.x)>=this._view.width*this.scrollThreshold;if(this.direction===n.Vertical)return Math.abs(t.y)>=this._view.height*this.scrollThreshold}},_isQuicklyScrollable:function(t){if(this.direction===n.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===n.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},_moveOffsetValue:function(t){var e=cc.v2(0,0);return this.sizeMode===i.Free?this.direction===n.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===n.Vertical&&(e.y=this._scrollCenterOffsetY[t]):this.direction===n.Horizontal?e.x=t*this._view.width:this.direction===n.Vertical&&(e.y=t*this._view.height),e},_getDragDirection:function(t){return this.direction===n.Horizontal?0===t.x?0:t.x>0?1:-1:this.direction===n.Vertical?0===t.y?0:t.y<0?1:-1:void 0},_handleReleaseLogic:function(){this._autoScrollToPage(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_autoScrollToPage:function(){if(this._startBounceBackIfNeeded()){var t=this._getHowMuchOutOfBoundary();((t=this._clampDelta(t)).x>0||t.y<0)&&(this._curPageIdx=0===this._pages.length?0:this._pages.length-1),(t.x<0||t.y>0)&&(this._curPageIdx=0),this.indicator&&this.indicator._changedState()}else{var e=this._touchBeganPosition.sub(this._touchEndPosition),i=this._curPageIdx,n=i+this._getDragDirection(e),r=this.pageTurningSpeed*Math.abs(i-n);if(n<this._pages.length){if(this._isScrollable(e,i,n))return void this.scrollToPage(n,r);var s=this._calculateTouchMoveVelocity();if(this._isQuicklyScrollable(s))return void this.scrollToPage(n,r)}this.scrollToPage(i,r)}},_onTouchBegan:function(t,e){this._touchBeganPosition=t.touch.getLocation(),this._super(t,e)},_onTouchMoved:function(t,e){this._super(t,e)},_onTouchEnded:function(t,e){this._touchEndPosition=t.touch.getLocation(),this._super(t,e)},_onTouchCancelled:function(t,e){this._touchEndPosition=t.touch.getLocation(),this._super(t,e)},_onMouseWheel:function(){}});cc.PageView=e.exports=s}),{}],157:[(function(t,e){"use strict";var i=cc.Enum({HORIZONTAL:0,VERTICAL:1}),n=cc.Class({name:"cc.PageViewIndicator",extends:t("./CCComponent"),editor:!1,properties:{_layout:null,_pageView:null,_indicators:[],spriteFrame:{default:null,type:cc.SpriteFrame,tooltip:!1},direction:{default:i.HORIZONTAL,type:i,tooltip:!1},cellSize:{default:cc.size(20,20),tooltip:!1},spacing:{default:0,tooltip:!1}},statics:{Direction:i},onLoad:function(){this._updateLayout()},setPageView:function(t){this._pageView=t,this._refresh()},_updateLayout:function(){this._layout=this.getComponent(cc.Layout),this._layout||(this._layout=this.addComponent(cc.Layout)),this.direction===i.HORIZONTAL?(this._layout.type=cc.Layout.Type.HORIZONTAL,this._layout.spacingX=this.spacing):this.direction===i.VERTICAL&&(this._layout.type=cc.Layout.Type.VERTICAL,this._layout.spacingY=this.spacing),this._layout.resizeMode=cc.Layout.ResizeMode.CONTAINER},_createIndicator:function(){var t=new cc.Node,e=t.addComponent(cc.Sprite);return e.spriteFrame=this.spriteFrame,e.sizeMode=cc.Sprite.SizeMode.CUSTOM,t.parent=this.node,t.width=this.cellSize.width,t.height=this.cellSize.height,t},_changedState:function(){var t=this._indicators;if(0!==t.length){var e=this._pageView._curPageIdx;if(!(e>=t.length)){for(var i=0;i<t.length;++i)t[i].opacity=127.5;t[e].opacity=255}}},_refresh:function(){if(this._pageView){var t=this._indicators,e=this._pageView.getPages();if(e.length!==t.length){var i=0;if(e.length>t.length)for(i=0;i<e.length;++i)t[i]||(t[i]=this._createIndicator());else for(i=t.length-e.length;i>0;--i){var n=t[i-1];this.node.removeChild(n),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}}});cc.PageViewIndicator=e.exports=n}),{"./CCComponent":148}],158:[(function(t,e){"use strict";var i=t("../utils/misc"),n=t("./CCComponent"),r=cc.Enum({HORIZONTAL:0,VERTICAL:1,FILLED:2}),s=cc.Class({name:"cc.ProgressBar",extends:n,editor:!1,_initBarSprite:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=this.node.getContentSize(),i=this.node.getAnchorPoint(),n=t.getContentSize();t.parent===this.node&&this.node.setContentSize(n),this.barSprite.fillType===cc.Sprite.FillType.RADIAL&&(this.mode=r.FILLED);var s=t.getContentSize();if(this.mode===r.HORIZONTAL?this.totalLength=s.width:this.mode===r.VERTICAL?this.totalLength=s.height:this.totalLength=this.barSprite.fillRange,t.parent===this.node){var a=-e.width*i.x;t.setPosition(cc.v2(a,0))}}},_updateBarStatus:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e,n,s,a=t.getAnchorPoint(),o=t.getContentSize(),l=t.getPosition(),c=cc.v2(0,.5),h=i.clamp01(this.progress),u=this.totalLength*h;switch(this.mode){case r.HORIZONTAL:this.reverse&&(c=cc.v2(1,.5)),e=cc.size(u,o.height),n=this.totalLength,s=o.height;break;case r.VERTICAL:c=this.reverse?cc.v2(.5,1):cc.v2(.5,0),e=cc.size(o.width,u),n=o.width,s=this.totalLength}if(this.mode===r.FILLED)this.barSprite.type!==cc.Sprite.Type.FILLED?cc.warn("ProgressBar FILLED mode only works when barSprite's Type is FILLED!"):(this.reverse&&(u*=-1),this.barSprite.fillRange=u);else if(this.barSprite.type!==cc.Sprite.Type.FILLED){var _=c.x-a.x,f=c.y-a.y,d=cc.v2(n*_,s*f);t.setPosition(l.x+d.x,l.y+d.y),t.setAnchorPoint(c),t.setContentSize(e)}else cc.warn("ProgressBar non-FILLED mode only works when barSprite's Type is non-FILLED!")}},properties:{barSprite:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._initBarSprite()},animatable:!1},mode:{default:r.HORIZONTAL,type:r,tooltip:!1,notify:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=t.getContentSize();this.mode===r.HORIZONTAL?this.totalLength=e.width:this.mode===r.VERTICAL?this.totalLength=e.height:this.mode===r.FILLED&&(this.totalLength=this.barSprite.fillRange)}},animatable:!1},_N$totalLength:1,totalLength:{range:[0,Number.MAX_VALUE],tooltip:!1,get:function(){return this._N$totalLength},set:function(t){this.mode===r.FILLED&&(t=i.clamp01(t)),this._N$totalLength=t,this._updateBarStatus()}},progress:{default:1,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateBarStatus()}},reverse:{default:!1,tooltip:!1,notify:function(){this.barSprite&&(this.barSprite.fillStart=1-this.barSprite.fillStart),this._updateBarStatus()},animatable:!1}},statics:{Mode:r}});cc.ProgressBar=e.exports=s}),{"../utils/misc":323,"./CCComponent":148}],159:[(function(t,e){"use strict";var i=s(t("../renderer/assembler")),n=s(t("../assets/material/material-variant")),r=t("../value-types");function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./CCComponent"),o=t("../renderer/render-flow"),l=t("../assets/material/CCMaterial"),c=new r.Color,h=cc.Class({name:"RenderComponent",extends:a,editor:!1,properties:{_materials:{default:[],type:l},materials:{get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial()},type:[l],displayName:"Materials",animatable:!1}},ctor:function(){this._vertsDirty=!0,this._assembler=null},_resetAssembler:function(){i.default.init(this),this._updateColor(),this.setVertsDirty()},__preload:function(){this._resetAssembler(),this._activateMaterial()},onEnable:function(){this.node._renderComponent&&(this.node._renderComponent.enabled=!1),this.node._renderComponent=this,this.node._renderFlag|=o.FLAG_OPACITY_COLOR,this.setVertsDirty()},onDisable:function(){this.node._renderComponent=null,this.disableRender()},onDestroy:function(){for(var t=this._materials,e=0;e<t.length;e++)cc.pool.material.put(t[e]);t.length=0,cc.pool.assembler.put(this._assembler)},setVertsDirty:function(){this._vertsDirty=!0,this.markForRender(!0)},_on3DNodeChanged:function(){this._resetAssembler()},_validateRender:function(){},markForValidate:function(){cc.RenderFlow.registerValidate(this)},markForRender:function(t){var e=o.FLAG_RENDER|o.FLAG_UPDATE_RENDER_DATA;t?(this.node._renderFlag|=e,this.markForValidate()):this.node._renderFlag&=~e},disableRender:function(){this.node._renderFlag&=~(o.FLAG_RENDER|o.FLAG_UPDATE_RENDER_DATA)},getMaterial:function(t){if(t<0||t>=this._materials.length)return null;var e=this._materials[t];if(!e)return null;var i=n.default.create(e,this);return i!==e&&this.setMaterial(t,i),i},getMaterials:function(){for(var t=this._materials,e=0;e<t.length;e++)t[e]=n.default.create(t[e],this);return t},setMaterial:function(t,e){return e!==this._materials[t]&&(e=n.default.create(e,this),this._materials[t]=e),this._updateMaterial(),this.markForRender(!0),e},_getDefaultMaterial:function(){return l.getBuiltinMaterial("2d-sprite")},_activateMaterial:function(){var t=this._materials;if(!t[0]){var e=this._getDefaultMaterial();t[0]=e}for(var i=0;i<t.length;i++)t[i]=n.default.create(t[i],this);this._updateMaterial()},_updateMaterial:function(){},_updateColor:function(){if(this._assembler.updateColor){var t=this.srcBlendFactor===cc.macro.BlendFactor.ONE;t&&r.Color.premultiplyAlpha(c,this.node._color);var e=t?c._val:null;this._assembler.updateColor(this,e)}},_checkBacth:function(t,e){var i=this._materials[0];(i&&i.getHash()!==t.material.getHash()||t.cullingMask!==e)&&(t._flush(),t.node=i.getDefine("CC_USE_MODEL")?this.node:t._dummyNode,t.material=i,t.cullingMask=e)}});cc.RenderComponent=e.exports=h}),{"../assets/material/CCMaterial":123,"../assets/material/material-variant":130,"../renderer/assembler":267,"../renderer/render-flow":271,"../value-types":338,"./CCComponent":148}],160:[(function(t,e){"use strict";var i=t("../platform/js"),n=t("../platform/CCMacro"),r=t("../utils/text-utils"),s=new(t("../utils/html-text-parser")),a=n.TextAlignment,o=n.VerticalTextAlignment,l=cc.Label.CacheMode,c=new i.Pool(function(t){if(!cc.isValid(t))return!1;var e=t.getComponent(cc.LabelOutline);return e&&(e.width=0),!0},20);c.get=function(){var t=this._get();t||(t=new cc.PrivateNode("RICHTEXT_CHILD")),t.setPosition(0,0),t.setAnchorPoint(.5,.5),t.skewX=0;var e=t.getComponent(cc.Label);return e||(e=t.addComponent(cc.Label)),e.string="",e.horizontalAlign=a.LEFT,e.verticalAlign=o.CENTER,e._forceUseCanvas=!0,t};var h=cc.Class({name:"cc.RichText",extends:cc.Component,ctor:function(){this._textArray=null,this._labelSegments=[],this._labelSegmentsCache=[],this._linesWidth=[],this._updateRichTextStatus=this._updateRichText},editor:!1,properties:{string:{default:"<color=#00ff00>Rich</c><color=#0fffff>Text</color>",multiline:!0,tooltip:!1,notify:function(){this._updateRichTextStatus()}},horizontalAlign:{default:a.LEFT,type:a,tooltip:!1,animatable:!1,notify:function(t){this.horizontalAlign!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},fontSize:{default:40,tooltip:!1,notify:function(t){this.fontSize!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},_fontFamily:"Arial",fontFamily:{tooltip:!1,get:function(){return this._fontFamily},set:function(t){this._fontFamily!==t&&(this._fontFamily=t,this._layoutDirty=!0,this._updateRichTextStatus())},animatable:!1},font:{default:null,type:cc.TTFFont,tooltip:!1,notify:function(t){this.font!==t&&(this._layoutDirty=!0,this.font?(this.useSystemFont=!1,this._onTTFLoaded()):this.useSystemFont=!0,this._updateRichTextStatus())}},_isSystemFontUsed:!0,useSystemFont:{get:function(){return this._isSystemFontUsed},set:function(t){this._isSystemFontUsed!==t&&(this._isSystemFontUsed=t,this._layoutDirty=!0,this._updateRichTextStatus())},animatable:!1,tooltip:!1},cacheMode:{default:l.NONE,type:l,tooltip:!1,notify:function(t){this.cacheMode!==t&&this._updateRichTextStatus()},animatable:!1},maxWidth:{default:0,tooltip:!1,notify:function(t){this.maxWidth!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},lineHeight:{default:40,tooltip:!1,notify:function(t){this.lineHeight!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},imageAtlas:{default:null,type:cc.SpriteAtlas,tooltip:!1,notify:function(t){this.imageAtlas!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},handleTouchEvent:{default:!0,tooltip:!1,notify:function(t){this.handleTouchEvent!==t&&this.enabledInHierarchy&&(this.handleTouchEvent?this._addEventListeners():this._removeEventListeners())}}},statics:{HorizontalAlign:a,VerticalAlign:o},onEnable:function(){this.handleTouchEvent&&this._addEventListeners(),this._updateRichText(),this._activateChildren(!0)},onDisable:function(){this.handleTouchEvent&&this._removeEventListeners(),this._activateChildren(!1)},start:function(){this._onTTFLoaded()},_onColorChanged:function(t){this.node.children.forEach((function(e){e.color=t}))},_addEventListeners:function(){this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.COLOR_CHANGED,this._onColorChanged,this)},_removeEventListeners:function(){this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.COLOR_CHANGED,this._onColorChanged,this)},_updateLabelSegmentTextAttributes:function(){this._labelSegments.forEach(function(t){this._applyTextAttribute(t,null,!0)}.bind(this))},_createFontLabel:function(t){return c.get(t,this)},_onTTFLoaded:function(){if(this.font instanceof cc.TTFFont)if(this.font._nativeAsset)this._layoutDirty=!0,this._updateRichText();else{var t=this;cc.assetManager.postLoadNative(this.font,(function(){t._layoutDirty=!0,t._updateRichText()}))}else this._layoutDirty=!0,this._updateRichText()},_measureText:function(t,e){var i=this,n=function(e){var n;return 0===i._labelSegmentsCache.length?(n=i._createFontLabel(e),i._labelSegmentsCache.push(n)):n=i._labelSegmentsCache[0],n._styleIndex=t,i._applyTextAttribute(n,e,!0),n.getContentSize().width};return e?n(e):n},_onTouchEnded:function(t){for(var e=this,i=this.node.getComponents(cc.Component),n=function(n){var r=e._labelSegments[n],s=r._clickHandler,a=r._clickParam;s&&e._containsTouchLocation(r,t.touch.getLocation())&&(i.forEach((function(e){e.enabledInHierarchy&&e[s]&&e[s](t,a)})),t.stopPropagation())},r=0;r<this._labelSegments.length;++r)n(r)},_containsTouchLocation:function(t,e){return t.getBoundingBoxToWorld().contains(e)},_resetState:function(){for(var t=this.node.children,e=t.length-1;e>=0;e--){var i=t[e];"RICHTEXT_CHILD"!==i.name&&"RICHTEXT_Image_CHILD"!==i.name||(i.parent===this.node?i.parent=null:t.splice(e,1),"RICHTEXT_CHILD"===i.name&&c.put(i))}this._labelSegments.length=0,this._labelSegmentsCache.length=0,this._linesWidth.length=0,this._lineOffsetX=0,this._lineCount=1,this._labelWidth=0,this._labelHeight=0,this._layoutDirty=!0},onRestore:!1,_activateChildren:function(t){for(var e=this.node.children.length-1;e>=0;e--){var i=this.node.children[e];"RICHTEXT_CHILD"!==i.name&&"RICHTEXT_Image_CHILD"!==i.name||(i.active=t)}},_addLabelSegment:function(t,e){var i;return(i=0===this._labelSegmentsCache.length?this._createFontLabel(t):this._labelSegmentsCache.pop())._styleIndex=e,i._lineCount=this._lineCount,i.active=this.node.active,i.setAnchorPoint(0,0),this._applyTextAttribute(i,t),this.node.addChild(i),this._labelSegments.push(i),i},_updateRichTextWithMaxWidth:function(t,e,i){var n=e;if(this._lineOffsetX>0&&n+this._lineOffsetX>this.maxWidth)for(var s=0;this._lineOffsetX<=this.maxWidth;){var a=this._getFirstWordLen(t,s,t.length),o=t.substr(s,a),l=this._measureText(i,o);if(!(this._lineOffsetX+l<=this.maxWidth)){if(s>0){var c=t.substr(0,s);this._addLabelSegment(c,i),t=t.substr(s,t.length),n=this._measureText(i,t)}this._updateLineInfo();break}this._lineOffsetX+=l,s+=a}if(n>this.maxWidth)for(var h=r.fragmentText(t,n,this.maxWidth,this._measureText(i)),u=0;u<h.length;++u){var _=h[u],f=this._addLabelSegment(_,i).getContentSize();this._lineOffsetX+=f.width,h.length>1&&u<h.length-1&&this._updateLineInfo()}else this._lineOffsetX+=n,this._addLabelSegment(t,i)},_isLastComponentCR:function(t){return t.length-1===t.lastIndexOf("\n")},_updateLineInfo:function(){this._linesWidth.push(this._lineOffsetX),this._lineOffsetX=0,this._lineCount++},_needsUpdateTextLayout:function(t){if(this._layoutDirty||!this._textArray||!t)return!0;if(this._textArray.length!==t.length)return!0;for(var e=0;e<this._textArray.length;++e){var i=this._textArray[e],n=t[e];if(i.text!==n.text)return!0;var r=i.style,s=n.style;if(r){if(s){if(!r.outline!=!s.outline)return!0;if(r.size!==s.size||!r.italic!=!s.italic||r.isImage!==s.isImage)return!0;if(r.src!==s.src||r.imageAlign!==s.imageAlign||r.imageHeight!==s.imageHeight||r.imageWidth!==s.imageWidth||r.imageOffset!==s.imageOffset)return!0}else if(r.size||r.italic||r.isImage||r.outline)return!0}else if(s&&(s.size||s.italic||s.isImage||s.outline))return!0}return!1},_addRichTextImageElement:function(t){var e=t.style.src,i=this.imageAtlas.getSpriteFrame(e);if(i){var n=new cc.PrivateNode("RICHTEXT_Image_CHILD"),r=n.addComponent(cc.Sprite);switch(t.style.imageAlign){case"top":n.setAnchorPoint(0,1);break;case"center":n.setAnchorPoint(0,.5);break;default:n.setAnchorPoint(0,0)}t.style.imageOffset&&(n._imageOffset=t.style.imageOffset),r.type=cc.Sprite.Type.SLICED,r.sizeMode=cc.Sprite.SizeMode.CUSTOM,this.node.addChild(n),this._labelSegments.push(n);var s=i.getRect(),a=1,o=s.width,l=s.height,c=t.style.imageWidth,h=t.style.imageHeight;h>0?(o*=a=h/l,l*=a):(o*=a=this.lineHeight/l,l*=a),c>0&&(o=c),this.maxWidth>0?(this._lineOffsetX+o>this.maxWidth&&this._updateLineInfo(),this._lineOffsetX+=o):(this._lineOffsetX+=o,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX)),r.spriteFrame=i,n.setContentSize(o,l),n._lineCount=this._lineCount,t.style.event?(t.style.event.click&&(n._clickHandler=t.style.event.click),t.style.event.param?n._clickParam=t.style.event.param:n._clickParam=""):n._clickHandler=null}else cc.warnID(4400)},_updateRichText:function(){if(this.enabledInHierarchy){var t=s.parse(this.string);if(!this._needsUpdateTextLayout(t))return this._textArray=t,void this._updateLabelSegmentTextAttributes();this._textArray=t,this._resetState();for(var e,i=!1,n=0;n<this._textArray.length;++n){var a=this._textArray[n],o=a.text;if(""===o){if(a.style&&a.style.newline){this._updateLineInfo();continue}if(a.style&&a.style.isImage&&this.imageAtlas){this._addRichTextImageElement(a);continue}}for(var l=o.split("\n"),c=0;c<l.length;++c){var h=l[c];if(""!==h)if(i=!1,this.maxWidth>0){var u=this._measureText(n,h);this._updateRichTextWithMaxWidth(h,u,n),l.length>1&&c<l.length-1&&this._updateLineInfo()}else e=this._addLabelSegment(h,n).getContentSize(),this._lineOffsetX+=e.width,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX),l.length>1&&c<l.length-1&&this._updateLineInfo();else{if(this._isLastComponentCR(o)&&c===l.length-1)continue;this._updateLineInfo(),i=!0}}}i||this._linesWidth.push(this._lineOffsetX),this.maxWidth>0&&(this._labelWidth=this.maxWidth),this._labelHeight=(this._lineCount+r.BASELINE_RATIO)*this.lineHeight,this.node.setContentSize(this._labelWidth,this._labelHeight),this._updateRichTextPosition(),this._layoutDirty=!1}},_getFirstWordLen:function(t,e,i){var n=t.charAt(e);if(r.isUnicodeCJK(n)||r.isUnicodeSpace(n))return 1;for(var s=1,a=e+1;a<i&&(n=t.charAt(a),!r.isUnicodeSpace(n)&&!r.isUnicodeCJK(n));++a)s++;return s},_updateRichTextPosition:function(){for(var t=0,e=1,i=this._lineCount,n=0;n<this._labelSegments.length;++n){var s=this._labelSegments[n],o=s._lineCount;o>e&&(t=0,e=o);var l=0;switch(this.horizontalAlign){case a.LEFT:l=-this._labelWidth/2;break;case a.CENTER:l=-this._linesWidth[o-1]/2;break;case a.RIGHT:l=this._labelWidth/2-this._linesWidth[o-1]}s.x=t+l;var c=s.getContentSize();if(s.y=this.lineHeight*(i-o)-this._labelHeight/2,o===e&&(t+=c.width),s.getComponent(cc.Sprite)){var h=this.lineHeight,u=this.lineHeight*(1+r.BASELINE_RATIO);switch(s.anchorY){case 1:s.y+=h+(u-h)/2;break;case.5:s.y+=u/2;break;default:s.y+=(u-h)/2}if(s._imageOffset){var _=s._imageOffset.split(",");if(1===_.length&&_[0]){var f=parseFloat(_[0]);Number.isInteger(f)&&(s.y+=f)}else if(2===_.length){var d=parseFloat(_[0]),p=parseFloat(_[1]);Number.isInteger(d)&&(s.x+=d),Number.isInteger(p)&&(s.y+=p)}}}var m=s.getComponent(cc.LabelOutline);m&&m.width&&(s.y=s.y-m.width)}},_convertLiteralColorValue:function(t){var e=t.toUpperCase();return cc.Color[e]?cc.Color[e]:cc.color().fromHEX(t)},_applyTextAttribute:function(t,e,i){var n=t.getComponent(cc.Label);if(n){var r=t._styleIndex,s=null;if(this._textArray[r]&&(s=this._textArray[r].style),s&&s.color?t.color=this._convertLiteralColorValue(s.color):t.color=this.node.color,n.cacheMode=this.cacheMode,this.font instanceof cc.Font&&!this._isSystemFontUsed?n.font=this.font:n.fontFamily=this.fontFamily,n.useSystemFont=this._isSystemFontUsed,n.lineHeight=this.lineHeight,n.enableBold=s&&s.bold,n.enableItalics=s&&s.italic,s&&s.italic&&(t.skewX=12),n.enableUnderline=s&&s.underline,s&&s.outline){var a=t.getComponent(cc.LabelOutline);a||(a=t.addComponent(cc.LabelOutline)),a.color=this._convertLiteralColorValue(s.outline.color),a.width=s.outline.width}s&&s.size?n.fontSize=s.size:n.fontSize=this.fontSize,null!==e&&("string"!=typeof e&&(e=""+e),n.string=e),i&&n._forceUpdateRenderData(),s&&s.event?(s.event.click&&(t._clickHandler=s.event.click),s.event.param?t._clickParam=s.event.param:t._clickParam=""):t._clickHandler=null}},onDestroy:function(){for(var t=0;t<this._labelSegments.length;++t)this._labelSegments[t].removeFromParent(),c.put(this._labelSegments[t])}});cc.RichText=e.exports=h}),{"../platform/CCMacro":243,"../platform/js":259,"../utils/html-text-parser":321,"../utils/text-utils":330}],161:[(function(t,e){"use strict";var i=t("./CCWidget"),n=t("../base-ui/CCWidgetManager"),r=cc.Class({name:"cc.SafeArea",extends:t("./CCComponent"),editor:!1,onEnable:function(){this.updateArea(),cc.view.on("canvas-resize",this.updateArea,this)},onDisable:function(){cc.view.off("canvas-resize",this.updateArea,this)},updateArea:function(){var t=this.node.getComponent(i);if(t){t.updateAlignment();var e=this.node.position,r=this.node.getAnchorPoint();t.isAlignTop=t.isAlignBottom=t.isAlignLeft=t.isAlignRight=!0;var s=cc.winSize.width,a=cc.winSize.height,o=cc.sys.getSafeAreaRect();t.top=a-o.y-o.height,t.bottom=o.y,t.left=o.x,t.right=s-o.x-o.width,t.updateAlignment();var l=this.node.position,c=r.x-(l.x-e.x)/this.node.width,h=r.y-(l.y-e.y)/this.node.height;this.node.setAnchorPoint(c,h),n.add(t)}}});cc.SafeArea=e.exports=r}),{"../base-ui/CCWidgetManager":132,"./CCComponent":148,"./CCWidget":171}],162:[(function(t,e){"use strict";var i=t("../utils/misc"),n=(t("./CCComponent"),cc.Enum({HORIZONTAL:0,VERTICAL:1})),r=cc.Class({name:"cc.Scrollbar",extends:t("./CCComponent"),editor:!1,properties:{_scrollView:null,_touching:!1,_autoHideRemainingTime:{default:0,serializable:!1},_opacity:255,handle:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._onScroll(cc.v2(0,0))},animatable:!1},direction:{default:n.HORIZONTAL,type:n,tooltip:!1,notify:function(){this._onScroll(cc.v2(0,0))},animatable:!1},enableAutoHide:{default:!0,animatable:!1,tooltip:!1},autoHideTime:{default:1,animatable:!1,tooltip:!1}},statics:{Direction:n},setTargetScrollView:function(t){this._scrollView=t},_convertToScrollViewSpace:function(t){var e=this._scrollView.node,i=t.convertToWorldSpaceAR(cc.v2(-t.anchorX*t.width,-t.anchorY*t.height)),n=e.convertToNodeSpaceAR(i);return n.x+=e.anchorX*e.width,n.y+=e.anchorY*e.height,n},_setOpacity:function(t){this.handle&&(this.node.opacity=t,this.handle.node.opacity=t)},_onScroll:function(t){if(this._scrollView){var e=this._scrollView.content;if(e){var i=e.getContentSize(),r=this._scrollView.node.getContentSize(),s=this.node.getContentSize();if(this._conditionalDisableScrollBar(i,r))return;this.enableAutoHide&&(this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity));var a=0,o=0,l=0,c=0,h=0;this.direction===n.HORIZONTAL?(a=i.width,o=r.width,h=s.width,l=t.x,c=-this._convertToScrollViewSpace(e).x):this.direction===n.VERTICAL&&(a=i.height,o=r.height,h=s.height,l=t.y,c=-this._convertToScrollViewSpace(e).y);var u=this._calculateLength(a,o,h,l),_=this._calculatePosition(a,o,h,c,l,u);this._updateLength(u),this._updateHanlderPosition(_)}}},_updateHanlderPosition:function(t){if(this.handle){var e=this._fixupHandlerPosition();this.handle.node.setPosition(t.x+e.x,t.y+e.y)}},_fixupHandlerPosition:function(){var t=this.node.getContentSize(),e=this.node.getAnchorPoint(),i=this.handle.node.getContentSize(),r=this.handle.node.parent,s=this.node.convertToWorldSpaceAR(cc.v2(-t.width*e.x,-t.height*e.y)),a=r.convertToNodeSpaceAR(s);return this.direction===n.HORIZONTAL?a=cc.v2(a.x,a.y+(t.height-i.height)/2):this.direction===n.VERTICAL&&(a=cc.v2(a.x+(t.width-i.width)/2,a.y)),this.handle.node.setPosition(a),a},_onTouchBegan:function(){this.enableAutoHide&&(this._touching=!0)},_conditionalDisableScrollBar:function(t,e){return t.width<=e.width&&this.direction===n.HORIZONTAL||t.height<=e.height&&this.direction===n.VERTICAL},_onTouchEnded:function(){if(this.enableAutoHide&&(this._touching=!1,!(this.autoHideTime<=0))){if(this._scrollView){var t=this._scrollView.content;if(t){var e=t.getContentSize(),i=this._scrollView.node.getContentSize();if(this._conditionalDisableScrollBar(e,i))return}}this._autoHideRemainingTime=this.autoHideTime}},_calculateLength:function(t,e,i,n){var r=t;return n&&(r+=20*(n>0?n:-n)),i*(e/r)},_calculatePosition:function(t,e,r,s,a,o){var l=t-e;a&&(l+=Math.abs(a));var c=0;l&&(c=s/l,c=i.clamp01(c));var h=(r-o)*c;return this.direction===n.VERTICAL?cc.v2(0,h):cc.v2(h,0)},_updateLength:function(t){if(this.handle){var e=this.handle.node,i=e.getContentSize();e.setAnchorPoint(cc.v2(0,0)),this.direction===n.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},_processAutoHide:function(t){if(this.enableAutoHide&&!(this._autoHideRemainingTime<=0)&&!this._touching&&(this._autoHideRemainingTime-=t,this._autoHideRemainingTime<=this.autoHideTime)){this._autoHideRemainingTime=Math.max(0,this._autoHideRemainingTime);var e=this._opacity*(this._autoHideRemainingTime/this.autoHideTime);this._setOpacity(e)}},start:function(){this.enableAutoHide&&this._setOpacity(0)},hide:function(){this._autoHideRemainingTime=0,this._setOpacity(0)},show:function(){this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity)},update:function(t){this._processAutoHide(t)}});cc.Scrollbar=e.exports=r}),{"../utils/misc":323,"./CCComponent":148}],163:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=cc.v2(),r=cc.v2(),s=function(){return(new Date).getMilliseconds()},a=cc.Enum({SCROLL_TO_TOP:0,SCROLL_TO_BOTTOM:1,SCROLL_TO_LEFT:2,SCROLL_TO_RIGHT:3,SCROLLING:4,BOUNCE_TOP:5,BOUNCE_BOTTOM:6,BOUNCE_LEFT:7,BOUNCE_RIGHT:8,SCROLL_ENDED:9,TOUCH_UP:10,AUTOSCROLL_ENDED_WITH_THRESHOLD:11,SCROLL_BEGAN:12}),o={"scroll-to-top":a.SCROLL_TO_TOP,"scroll-to-bottom":a.SCROLL_TO_BOTTOM,"scroll-to-left":a.SCROLL_TO_LEFT,"scroll-to-right":a.SCROLL_TO_RIGHT,scrolling:a.SCROLLING,"bounce-bottom":a.BOUNCE_BOTTOM,"bounce-left":a.BOUNCE_LEFT,"bounce-right":a.BOUNCE_RIGHT,"bounce-top":a.BOUNCE_TOP,"scroll-ended":a.SCROLL_ENDED,"touch-up":a.TOUCH_UP,"scroll-ended-with-threshold":a.AUTOSCROLL_ENDED_WITH_THRESHOLD,"scroll-began":a.SCROLL_BEGAN},l=cc.Class({name:"cc.ScrollView",extends:t("./CCViewGroup"),editor:!1,ctor:function(){this._topBoundary=0,this._bottomBoundary=0,this._leftBoundary=0,this._rightBoundary=0,this._touchMoveDisplacements=[],this._touchMoveTimeDeltas=[],this._touchMovePreviousTimestamp=0,this._touchMoved=!1,this._autoScrolling=!1,this._autoScrollAttenuate=!1,this._autoScrollStartPosition=cc.v2(0,0),this._autoScrollTargetDelta=cc.v2(0,0),this._autoScrollTotalTime=0,this._autoScrollAccumulatedTime=0,this._autoScrollCurrentlyOutOfBoundary=!1,this._autoScrollBraking=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._outOfBoundaryAmount=cc.v2(0,0),this._outOfBoundaryAmountDirty=!0,this._stopMouseWheel=!1,this._mouseWheelEventElapsedTime=0,this._isScrollEndedWithThresholdEventFired=!1,this._scrollEventEmitMask=0,this._isBouncing=!1,this._scrolling=!1},properties:{content:{default:void 0,type:cc.Node,tooltip:!1,formerlySerializedAs:"content",notify:function(){this._calculateBoundary()}},horizontal:{default:!0,animatable:!1,tooltip:!1},vertical:{default:!0,animatable:!1,tooltip:!1},inertia:{default:!0,tooltip:!1},brake:{default:.5,type:cc.Float,range:[0,1,.1],tooltip:!1},elastic:{default:!0,animatable:!1,tooltip:!1},bounceDuration:{default:1,range:[0,10],tooltip:!1},horizontalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.horizontalScrollBar&&(this.horizontalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},verticalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.verticalScrollBar&&(this.verticalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},scrollEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1},cancelInnerEvents:{default:!0,animatable:!1,tooltip:!1},_view:{get:function(){if(this.content)return this.content.parent}}},statics:{EventType:a},scrollToBottom:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i,!0)},scrollToTop:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToOffset:function(t,e,i){var n=this.getMaxScrollOffset(),r=cc.v2(0,0);0===n.x?r.x=0:r.x=t.x/n.x,0===n.y?r.y=1:r.y=(n.y-t.y)/n.y,this.scrollTo(r,e,i)},getScrollOffset:function(){var t=this._getContentTopBoundary()-this._topBoundary,e=this._getContentLeftBoundary()-this._leftBoundary;return cc.v2(e,t)},getMaxScrollOffset:function(){var t=this._view.getContentSize(),e=this.content.getContentSize(),i=e.width-t.width,n=e.height-t.height;return i=i>=0?i:0,n=n>=0?n:0,cc.v2(i,n)},scrollToPercentHorizontal:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollTo:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollToPercentVertical:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},stopAutoScroll:function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},setContentPosition:function(t){t.fuzzyEquals(this.getContentPosition(),1e-4)||(this.content.setPosition(t),this._outOfBoundaryAmountDirty=!0)},getContentPosition:function(){return this.content.getPosition()},isScrolling:function(){return this._scrolling},isAutoScrolling:function(){return this._autoScrolling},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.on(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.off(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_onMouseWheel:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=cc.v2(0,0);this.vertical?i=cc.v2(0,-.1*t.getScrollY()):this.horizontal&&(i=cc.v2(-.1*t.getScrollY(),0)),this._mouseWheelEventElapsedTime=0,this._processDeltaMove(i),this._stopMouseWheel||(this._handlePressLogic(),this.schedule(this._checkMouseWheel,1/60),this._stopMouseWheel=!0),this._stopPropagationIfTargetIsMe(t)}},_checkMouseWheel:function(t){if(!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),this._stopMouseWheel=!1)},_calculateMovePercentDelta:function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e=e.clampf(cc.v2(0,0),cc.v2(1,1));var r=this._view.getContentSize(),s=this.content.getContentSize(),a=this._getContentBottomBoundary()-this._bottomBoundary;a=-a;var o=this._getContentLeftBoundary()-this._leftBoundary;o=-o;var l=cc.v2(0,0),c=0;return i&&(c=s.width-r.width,l.x=o-c*e.x),n&&(c=s.height-r.height,l.y=a-c*e.y),l},_moveContentToTopLeft:function(t){var e=this.content.getContentSize(),i=this._getContentBottomBoundary()-this._bottomBoundary;i=-i;var n=cc.v2(0,0),r=0,s=this._getContentLeftBoundary()-this._leftBoundary;s=-s,e.height<t.height&&(r=e.height-t.height,n.y=i-r),e.width<t.width&&(r=e.width-t.width,n.x=s),this._updateScrollBarState(),this._moveContent(n),this._adjustContentOutOfBoundary()},_calculateBoundary:function(){if(this.content){var t=this.content.getComponent(cc.Layout);t&&t.enabledInHierarchy&&t.updateLayout();var e=this._view.getContentSize(),i=e.width*this._view.anchorX,n=e.height*this._view.anchorY;this._leftBoundary=-i,this._bottomBoundary=-n,this._rightBoundary=this._leftBoundary+e.width,this._topBoundary=this._bottomBoundary+e.height,this._moveContentToTopLeft(e)}},_hasNestedViewGroup:function(t,e){if(t.eventPhase===cc.Event.CAPTURING_PHASE){if(e)for(var i=0;i<e.length;++i){var n=e[i];if(this.node===n)return!!t.target.getComponent(cc.ViewGroup);if(n.getComponent(cc.ViewGroup))return!0}return!1}},_stopPropagationIfTargetIsMe:function(t){t.eventPhase===cc.Event.AT_TARGET&&t.target===this.node&&t.stopPropagation()},_onTouchBegan:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=t.touch;this.content&&this._handlePressLogic(i),this._touchMoved=!1,this._stopPropagationIfTargetIsMe(t)}},_onTouchMoved:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=t.touch;if(this.content&&this._handleMoveLogic(i),this.cancelInnerEvents){if(i.getLocation().sub(i.getStartLocation()).mag()>7&&!this._touchMoved&&t.target!==this.node){var n=new cc.Event.EventTouch(t.getTouches(),t.bubbles);n.type=cc.Node.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},_onTouchEnded:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){this._dispatchEvent("touch-up");var i=t.touch;this.content&&this._handleReleaseLogic(i),this._touchMoved?t.stopPropagation():this._stopPropagationIfTargetIsMe(t)}},_onTouchCancelled:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){if(!t.simulate){var i=t.touch;this.content&&this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},_processDeltaMove:function(t){this._scrollChildren(t),this._gatherTouchMove(t)},_getLocalAxisAlignDelta:function(t){return this.node.convertToNodeSpaceAR(t.getLocation(),n),this.node.convertToNodeSpaceAR(t.getPreviousLocation(),r),n.sub(r)},_handleMoveLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._processDeltaMove(e)},_scrollChildren:function(t){var e,i=t=this._clampDelta(t);this.elastic&&(e=this._getHowMuchOutOfBoundary(),i.x*=0===e.x?1:.5,i.y*=0===e.y?1:.5),this.elastic||(e=this._getHowMuchOutOfBoundary(i),i=i.add(e));var n=-1;i.y>0?this.content.y-this.content.anchorY*this.content.height+i.y>=this._bottomBoundary&&(n="scroll-to-bottom"):i.y<0&&this.content.y-this.content.anchorY*this.content.height+this.content.height+i.y<=this._topBoundary&&(n="scroll-to-top"),i.x<0?this.content.x-this.content.anchorX*this.content.width+this.content.width+i.x<=this._rightBoundary&&(n="scroll-to-right"):i.x>0&&this.content.x-this.content.anchorX*this.content.width+i.x>=this._leftBoundary&&(n="scroll-to-left"),this._moveContent(i,!1),0===i.x&&0===i.y||(this._scrolling||(this._scrolling=!0,this._dispatchEvent("scroll-began")),this._dispatchEvent("scrolling")),-1!==n&&this._dispatchEvent(n)},_handlePressLogic:function(){this._autoScrolling&&this._dispatchEvent("scroll-ended"),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=s(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},_clampDelta:function(t){var e=this.content.getContentSize(),i=this._view.getContentSize();return e.width<i.width&&(t.x=0),e.height<i.height&&(t.y=0),t},_gatherTouchMove:function(t){for(t=this._clampDelta(t);this._touchMoveDisplacements.length>=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(t);var e=s();this._touchMoveTimeDeltas.push((e-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=e},_startBounceBackIfNeeded:function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if((t=this._clampDelta(t)).fuzzyEquals(cc.v2(0,0),1e-4))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent("bounce-top"),t.y<0&&this._dispatchEvent("bounce-bottom"),t.x>0&&this._dispatchEvent("bounce-right"),t.x<0&&this._dispatchEvent("bounce-left"),this._isBouncing=!0),!0},_processInertiaScroll:function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.fuzzyEquals(cc.v2(0,0),1e-4)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},_handleReleaseLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._gatherTouchMove(e),this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_isOutOfBoundary:function(){return!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)},_isNecessaryAutoScrollBrake:function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,this._autoScrollBrakingStartPosition=this.getContentPosition(),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},getScrollEndedEventTiming:function(){return 1e-4},_processAutoScrolling:function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n,r=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=r,r=(n-=1)*n*n*n*n+1);var s=this._autoScrollStartPosition.add(this._autoScrollTargetDelta.mul(r)),a=Math.abs(r-1)<=1e-4;if(Math.abs(r-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent("scroll-ended-with-threshold"),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var o=s.sub(this._autoScrollBrakingStartPosition);e&&(o=o.mul(i)),s=this._autoScrollBrakingStartPosition.add(o)}else{var l=s.sub(this.getContentPosition()),c=this._getHowMuchOutOfBoundary(l);c.fuzzyEquals(cc.v2(0,0),1e-4)||(s=s.add(c),a=!0)}a&&(this._autoScrolling=!1);var h=s.sub(this.getContentPosition());this._moveContent(this._clampDelta(h),a),this._dispatchEvent("scrolling"),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent("scroll-ended"))},_startInertiaScroll:function(t){var e=t.mul(.7);this._startAttenuatingAutoScroll(e,t)},_calculateAttenuatedFactor:function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},_startAttenuatingAutoScroll:function(t,e){var i=this._calculateAutoScrollTimeByInitalSpeed(e.mag()),n=t.normalize(),r=this.content.getContentSize(),s=this._view.getContentSize(),a=r.width-s.width,o=r.height-s.height,l=this._calculateAttenuatedFactor(a),c=this._calculateAttenuatedFactor(o);n=cc.v2(n.x*a*(1-this.brake)*l,n.y*o*c*(1-this.brake));var h=t.mag(),u=n.mag()/h;n=n.add(t),this.brake>0&&u>7&&(u=Math.sqrt(u),n=t.mul(u).add(t)),this.brake>0&&u>3&&(i*=u=3),0===this.brake&&u>1&&(i*=u),this._startAutoScroll(n,i,!0)},_calculateAutoScrollTimeByInitalSpeed:function(t){return Math.sqrt(Math.sqrt(t/5))},_startAutoScroll:function(t,e,i){var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,this._autoScrollStartPosition=this.getContentPosition(),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)||(this._autoScrollCurrentlyOutOfBoundary=!0)},_calculateTouchMoveVelocity:function(){var t=0;if((t=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),t))<=0||t>=.5)return cc.v2(0,0);var e=cc.v2(0,0);return e=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e)}),e),cc.v2(e.x*(1-this.brake)/t,e.y*(1-this.brake)/t)},_flattenVectorByDirection:function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},_moveContent:function(t,e){var i=this._flattenVectorByDirection(t),n=this.getContentPosition().add(i);this.setContentPosition(n);var r=this._getHowMuchOutOfBoundary();this._updateScrollBar(r),this.elastic&&e&&this._startBounceBackIfNeeded()},_getContentLeftBoundary:function(){return this.getContentPosition().x-this.content.getAnchorPoint().x*this.content.getContentSize().width},_getContentRightBoundary:function(){var t=this.content.getContentSize();return this._getContentLeftBoundary()+t.width},_getContentTopBoundary:function(){var t=this.content.getContentSize();return this._getContentBottomBoundary()+t.height},_getContentBottomBoundary:function(){return this.getContentPosition().y-this.content.getAnchorPoint().y*this.content.getContentSize().height},_getHowMuchOutOfBoundary:function(t){if((t=t||cc.v2(0,0)).fuzzyEquals(cc.v2(0,0),1e-4)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=cc.v2(0,0);return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.x<this._rightBoundary&&(e.x=this._rightBoundary-(this._getContentRightBoundary()+t.x)),this._getContentTopBoundary()+t.y<this._topBoundary?e.y=this._topBoundary-(this._getContentTopBoundary()+t.y):this._getContentBottomBoundary()+t.y>this._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.fuzzyEquals(cc.v2(0,0),1e-4)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),this._clampDelta(e)},_updateScrollBarState:function(){if(this.content){var t=this.content.getContentSize(),e=this._view.getContentSize();this.verticalScrollBar&&(t.height<e.height?this.verticalScrollBar.hide():this.verticalScrollBar.show()),this.horizontalScrollBar&&(t.width<e.width?this.horizontalScrollBar.hide():this.horizontalScrollBar.show())}},_updateScrollBar:function(t){this.horizontalScrollBar&&this.horizontalScrollBar._onScroll(t),this.verticalScrollBar&&this.verticalScrollBar._onScroll(t)},_onScrollBarTouchBegan:function(){this.horizontalScrollBar&&this.horizontalScrollBar._onTouchBegan(),this.verticalScrollBar&&this.verticalScrollBar._onTouchBegan()},_onScrollBarTouchEnded:function(){this.horizontalScrollBar&&this.horizontalScrollBar._onTouchEnded(),this.verticalScrollBar&&this.verticalScrollBar._onTouchEnded()},_dispatchEvent:function(t){if("scroll-ended"===t)this._scrollEventEmitMask=0;else if("scroll-to-top"===t||"scroll-to-bottom"===t||"scroll-to-left"===t||"scroll-to-right"===t){var e=1<<o[t];if(this._scrollEventEmitMask&e)return;this._scrollEventEmitMask|=e}cc.Component.EventHandler.emitEvents(this.scrollEvents,this,o[t]),this.node.emit(t,this)},_adjustContentOutOfBoundary:function(){if(this._outOfBoundaryAmountDirty=!0,this._isOutOfBoundary()){var t=this._getHowMuchOutOfBoundary(cc.v2(0,0)),e=this.getContentPosition().add(t);this.content&&(this.content.setPosition(e),this._updateScrollBar(0))}},start:function(){this._calculateBoundary(),this.content&&cc.director.once(cc.Director.EVENT_BEFORE_DRAW,this._adjustContentOutOfBoundary,this)},_hideScrollbar:function(){this.horizontalScrollBar&&this.horizontalScrollBar.hide(),this.verticalScrollBar&&this.verticalScrollBar.hide()},onDisable:function(){this._unregisterEvent(),this.content&&(this.content.off(i.SIZE_CHANGED,this._calculateBoundary,this),this.content.off(i.SCALE_CHANGED,this._calculateBoundary,this),this._view&&(this._view.off(i.POSITION_CHANGED,this._calculateBoundary,this),this._view.off(i.SCALE_CHANGED,this._calculateBoundary,this),this._view.off(i.SIZE_CHANGED,this._calculateBoundary,this))),this._hideScrollbar(),this.stopAutoScroll()},onEnable:function(){this._registerEvent(),this.content&&(this.content.on(i.SIZE_CHANGED,this._calculateBoundary,this),this.content.on(i.SCALE_CHANGED,this._calculateBoundary,this),this._view&&(this._view.on(i.POSITION_CHANGED,this._calculateBoundary,this),this._view.on(i.SCALE_CHANGED,this._calculateBoundary,this),this._view.on(i.SIZE_CHANGED,this._calculateBoundary,this))),this._updateScrollBarState()},update:function(t){this._autoScrolling&&this._processAutoScrolling(t)}});cc.ScrollView=e.exports=l}),{"../CCNode":72,"./CCViewGroup":170}],164:[(function(t,e){"use strict";var i=t("../utils/misc"),n=t("./CCComponent"),r=cc.Enum({Horizontal:0,Vertical:1}),s=cc.Class({name:"cc.Slider",extends:n,editor:!1,ctor:function(){this._offset=cc.v2(),this._touchHandle=!1,this._dragging=!1},properties:{handle:{default:null,type:cc.Button,tooltip:!1,notify:function(){}},direction:{default:r.Horizontal,type:r,tooltip:!1},progress:{default:.5,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateHandlePosition()}},slideEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{Direction:r},__preload:function(){this._updateHandlePosition()},onEnable:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this),this.handle&&this.handle.isValid&&(this.handle.node.on(cc.Node.EventType.TOUCH_START,this._onHandleDragStart,this),this.handle.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.handle.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this))},onDisable:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this),this.handle&&this.handle.isValid&&(this.handle.node.off(cc.Node.EventType.TOUCH_START,this._onHandleDragStart,this),this.handle.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.handle.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this))},_onHandleDragStart:function(t){this._dragging=!0,this._touchHandle=!0,this._offset=this.handle.node.convertToNodeSpaceAR(t.touch.getLocation()),t.stopPropagation()},_onTouchBegan:function(t){this.handle&&(this._dragging=!0,this._touchHandle||this._handleSliderLogic(t.touch),t.stopPropagation())},_onTouchMoved:function(t){this._dragging&&(this._handleSliderLogic(t.touch),t.stopPropagation())},_onTouchEnded:function(t){this._dragging=!1,this._touchHandle=!1,this._offset=cc.v2(),t.stopPropagation()},_onTouchCancelled:function(t){this._dragging=!1,t.stopPropagation()},_handleSliderLogic:function(t){this._updateProgress(t),this._emitSlideEvent()},_emitSlideEvent:function(){cc.Component.EventHandler.emitEvents(this.slideEvents,this),this.node.emit("slide",this)},_updateProgress:function(t){if(this.handle){var e=this.node,n=e.convertToNodeSpaceAR(t.getLocation());this.direction===r.Horizontal?this.progress=i.clamp01((n.x-this._offset.x+e.anchorX*e.width)/e.width):this.progress=i.clamp01((n.y-this._offset.y+e.anchorY*e.height)/e.height)}},_updateHandlePosition:function(){if(this.handle){var t;t=this.direction===r.Horizontal?cc.v2(-this.node.width*this.node.anchorX+this.progress*this.node.width,0):cc.v2(0,-this.node.height*this.node.anchorY+this.progress*this.node.height);var e=this.node.convertToWorldSpaceAR(t);this.handle.node.position=this.handle.node.parent.convertToNodeSpaceAR(e)}}});cc.Slider=e.exports=s}),{"../utils/misc":323,"./CCComponent":148}],165:[(function(t,e){"use strict";var i=t("../utils/misc"),n=(t("../CCNode").EventType,t("./CCRenderComponent")),r=t("../utils/blend-func"),s=cc.Enum({SIMPLE:0,SLICED:1,TILED:2,FILLED:3,MESH:4}),a=cc.Enum({HORIZONTAL:0,VERTICAL:1,RADIAL:2}),o=cc.Enum({CUSTOM:0,TRIMMED:1,RAW:2}),l=cc.Enum({NORMAL:0,GRAY:1}),c=cc.Class({name:"cc.Sprite",extends:n,mixins:[r],editor:!1,properties:{_spriteFrame:{default:null,type:cc.SpriteFrame},_type:s.SIMPLE,_sizeMode:o.TRIMMED,_fillType:0,_fillCenter:cc.v2(0,0),_fillStart:0,_fillRange:0,_isTrimmedMode:!0,_atlas:{default:null,type:cc.SpriteAtlas,tooltip:!1,editorOnly:!0,visible:!0,animatable:!1},spriteFrame:{get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;e!==t&&(this._spriteFrame=t,this._applySpriteFrame(e))},type:cc.SpriteFrame},type:{get:function(){return this._type},set:function(t){this._type!==t&&(this._type=t,this.setVertsDirty(),this._resetAssembler())},type:s,animatable:!1,tooltip:!1},fillType:{get:function(){return this._fillType},set:function(t){t!==this._fillType&&(this._fillType=t,this.setVertsDirty(),this._resetAssembler())},type:a,tooltip:!1},fillCenter:{get:function(){return this._fillCenter},set:function(t){this._fillCenter.x=t.x,this._fillCenter.y=t.y,this._type===s.FILLED&&this.setVertsDirty()},tooltip:!1},fillStart:{get:function(){return this._fillStart},set:function(t){this._fillStart=i.clampf(t,-1,1),this._type===s.FILLED&&this.setVertsDirty()},tooltip:!1},fillRange:{get:function(){return this._fillRange},set:function(t){this._fillRange=i.clampf(t,-1,1),this._type===s.FILLED&&this.setVertsDirty()},tooltip:!1},trim:{get:function(){return this._isTrimmedMode},set:function(t){this._isTrimmedMode!==t&&(this._isTrimmedMode=t,this._type!==s.SIMPLE&&this._type!==s.MESH||this.setVertsDirty())},animatable:!1,tooltip:!1},sizeMode:{get:function(){return this._sizeMode},set:function(t){this._sizeMode=t,t!==o.CUSTOM&&this._applySpriteSize()},animatable:!1,type:o,tooltip:!1}},statics:{FillType:a,Type:s,SizeMode:o,State:l},setVisible:function(t){this.enabled=t},setState:function(){},getState:function(){},__preload:function(){this._super(),this._applySpriteFrame()},onEnable:function(){this._super(),this._spriteFrame&&this._spriteFrame.ensureLoadTexture(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this.setVertsDirty,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this.setVertsDirty,this)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this.setVertsDirty,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this.setVertsDirty,this)},_updateMaterial:function(){var t=this._spriteFrame&&this._spriteFrame.getTexture(),e=this.getMaterial(0);e&&(void 0!==e.getDefine("USE_TEXTURE")&&e.define("USE_TEXTURE",!0),void 0!==e.getProperty("texture")&&e.setProperty("texture",t)),r.prototype._updateMaterial.call(this)},_applyAtlas:!1,_validateRender:function(){var t=this._spriteFrame;this._materials[0]&&t&&t.textureLoaded()||this.disableRender()},_applySpriteSize:function(){if(this._spriteFrame&&this.isValid){if(o.RAW===this._sizeMode){var t=this._spriteFrame._originalSize;this.node.setContentSize(t)}else if(o.TRIMMED===this._sizeMode){var e=this._spriteFrame._rect;this.node.setContentSize(e.width,e.height)}this.setVertsDirty()}},_applySpriteFrame:function(t){if(this.isValid){var e=t&&t.getTexture();e&&!e.loaded&&t.off("load",this._applySpriteSize,this),this._updateMaterial();var i=this._spriteFrame;if(i){var n=i.getTexture();n&&n.loaded?this._applySpriteSize():(this.disableRender(),i.once("load",this._applySpriteSize,this))}else this.disableRender()}}});cc.Sprite=e.exports=c}),{"../CCNode":72,"../utils/blend-func":317,"../utils/misc":323,"./CCRenderComponent":159}],166:[(function(t,e){"use strict";var i=cc.Enum({NONE:0,CHECKBOX:1,TEXT_ATLAS:2,SLIDER_BAR:3,LIST_VIEW:4,PAGE_VIEW:5}),n=cc.Enum({VERTICAL:0,HORIZONTAL:1}),r=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),s=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),a=cc.Class({name:"cc.StudioComponent",extends:cc.Component,editor:!1,properties:!1,statics:{ComponentType:i,ListDirection:n,VerticalAlign:r,HorizontalAlign:s}});cc.StudioComponent=e.exports=a;var o=cc.Class({name:"cc.StudioWidget",extends:cc.Widget,editor:!1,_validateTargetInDEV:function(){}});cc.StudioWidget=e.exports=o}),{}],167:[(function(t,e){"use strict";var i=t("../utils/gray-sprite-state"),n=cc.Class({name:"cc.Toggle",extends:t("./CCButton"),mixins:[i],editor:!1,properties:{_N$isChecked:!0,isChecked:{get:function(){return this._N$isChecked},set:function(t){if(t!==this._N$isChecked){var e=this.toggleGroup||this._toggleContainer;e&&e.enabled&&this._N$isChecked&&!e.allowSwitchOff||(this._N$isChecked=t,this._updateCheckMark(),e&&e.enabled&&e.updateToggles(this),cc.Toggle._triggerEventInScript_isChecked&&this._emitToggleEvents())}},tooltip:!1},toggleGroup:{default:null,tooltip:!1,type:t("./CCToggleGroup")},checkMark:{default:null,type:cc.Sprite,tooltip:!1},checkEvents:{default:[],type:cc.Component.EventHandler},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}}},statics:{_triggerEventInScript_check:!1,_triggerEventInScript_isChecked:!1},onEnable:function(){this._super(),this._registerToggleEvent(),this.toggleGroup&&this.toggleGroup.enabledInHierarchy&&this.toggleGroup.addToggle(this)},onDisable:function(){this._super(),this._unregisterToggleEvent(),this.toggleGroup&&this.toggleGroup.enabledInHierarchy&&this.toggleGroup.removeToggle(this)},_hideCheckMark:function(){this._N$isChecked=!1,this._updateCheckMark()},toggle:function(t){this.isChecked=!this.isChecked,cc.Toggle._triggerEventInScript_isChecked||!cc.Toggle._triggerEventInScript_check&&!t||this._emitToggleEvents()},check:function(){this.isChecked=!0,!cc.Toggle._triggerEventInScript_isChecked&&cc.Toggle._triggerEventInScript_check&&this._emitToggleEvents()},uncheck:function(){this.isChecked=!1,!cc.Toggle._triggerEventInScript_isChecked&&cc.Toggle._triggerEventInScript_check&&this._emitToggleEvents()},_updateCheckMark:function(){this.checkMark&&(this.checkMark.node.active=!!this.isChecked)},_updateDisabledState:function(){if(this._super(),this.enableAutoGrayEffect&&this.checkMark){var t=!this.interactable;this._switchGrayMaterial(t,this.checkMark)}},_registerToggleEvent:function(){this.node.on("click",this.toggle,this)},_unregisterToggleEvent:function(){this.node.off("click",this.toggle,this)},_emitToggleEvents:function(){this.node.emit("toggle",this),this.checkEvents&&cc.Component.EventHandler.emitEvents(this.checkEvents,this)}});cc.Toggle=e.exports=n,t("../platform/js").get(n.prototype,"_toggleContainer",(function(){var t=this.node.parent;return cc.Node.isNode(t)?t.getComponent(cc.ToggleContainer):null}))}),{"../platform/js":259,"../utils/gray-sprite-state":320,"./CCButton":146,"./CCToggleGroup":169}],168:[(function(t,e){"use strict";var i=cc.Class({name:"cc.ToggleContainer",extends:cc.Component,editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},checkEvents:{default:[],type:cc.Component.EventHandler}},updateToggles:function(t){this.enabledInHierarchy&&t.isChecked&&(this.toggleItems.forEach((function(e){e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()})),this.checkEvents&&cc.Component.EventHandler.emitEvents(this.checkEvents,t))},_allowOnlyOneToggleChecked:function(){var t=!1;return this.toggleItems.forEach((function(e){t?e._hideCheckMark():e.isChecked&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){if(!this._allowOnlyOneToggleChecked()&&!this.allowSwitchOff){var t=this.toggleItems;t.length>0&&t[0].check()}},onEnable:function(){this._makeAtLeastOneToggleChecked(),this.node.on("child-added",this._allowOnlyOneToggleChecked,this),this.node.on("child-removed",this._makeAtLeastOneToggleChecked,this)},onDisable:function(){this.node.off("child-added",this._allowOnlyOneToggleChecked,this),this.node.off("child-removed",this._makeAtLeastOneToggleChecked,this)}});t("../platform/js").get(i.prototype,"toggleItems",(function(){return this.node._children.map((function(t){return t.getComponent(cc.Toggle)})).filter(Boolean)})),cc.ToggleContainer=e.exports=i}),{"../platform/js":259}],169:[(function(t,e){"use strict";var i=cc.Class({name:"cc.ToggleGroup",extends:cc.Component,ctor:function(){this._toggleItems=[]},editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},toggleItems:{get:function(){return this._toggleItems}}},updateToggles:function(t){this.enabledInHierarchy&&this._toggleItems.forEach((function(e){t.isChecked&&e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()}))},addToggle:function(t){-1===this._toggleItems.indexOf(t)&&this._toggleItems.push(t),this._allowOnlyOneToggleChecked()},removeToggle:function(t){var e=this._toggleItems.indexOf(t);e>-1&&this._toggleItems.splice(e,1),this._makeAtLeastOneToggleChecked()},_allowOnlyOneToggleChecked:function(){var t=!1;return this._toggleItems.forEach((function(e){t&&e.enabled&&e._hideCheckMark(),e.isChecked&&e.enabled&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){this._allowOnlyOneToggleChecked()||this.allowSwitchOff||this._toggleItems.length>0&&(this._toggleItems[0].isChecked=!0)},start:function(){this._makeAtLeastOneToggleChecked()}}),n=t("../platform/js"),r=!1;n.get(cc,"ToggleGroup",(function(){return r||(cc.errorID(1405,"cc.ToggleGroup","cc.ToggleContainer"),r=!0),i})),e.exports=i}),{"../platform/js":259}],170:[(function(t,e){"use strict";var i=cc.Class({name:"cc.ViewGroup",extends:t("./CCComponent")});cc.ViewGroup=e.exports=i}),{"./CCComponent":148}],171:[(function(t,e){"use strict";var i=t("../base-ui/CCWidgetManager"),n=i.AlignMode,r=i._AlignFlags,s=r.TOP,a=r.MID,o=r.BOT,l=r.LEFT,c=r.CENTER,h=r.RIGHT,u=s|o,_=l|h,f=cc.Class({name:"cc.Widget",extends:t("./CCComponent"),editor:!1,properties:{target:{get:function(){return this._target},set:function(t){this._target=t},type:cc.Node,tooltip:!1},isAlignTop:{get:function(){return(this._alignFlags&s)>0},set:function(t){this._setAlign(s,t)},animatable:!1,tooltip:!1},isAlignVerticalCenter:{get:function(){return(this._alignFlags&a)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=a):this._alignFlags&=~a},animatable:!1,tooltip:!1},isAlignBottom:{get:function(){return(this._alignFlags&o)>0},set:function(t){this._setAlign(o,t)},animatable:!1,tooltip:!1},isAlignLeft:{get:function(){return(this._alignFlags&l)>0},set:function(t){this._setAlign(l,t)},animatable:!1,tooltip:!1},isAlignHorizontalCenter:{get:function(){return(this._alignFlags&c)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=c):this._alignFlags&=~c},animatable:!1,tooltip:!1},isAlignRight:{get:function(){return(this._alignFlags&h)>0},set:function(t){this._setAlign(h,t)},animatable:!1,tooltip:!1},isStretchWidth:{get:function(){return(this._alignFlags&_)===_},visible:!1},isStretchHeight:{get:function(){return(this._alignFlags&u)===u},visible:!1},top:{get:function(){return this._top},set:function(t){this._top=t},tooltip:!1},bottom:{get:function(){return this._bottom},set:function(t){this._bottom=t},tooltip:!1},left:{get:function(){return this._left},set:function(t){this._left=t},tooltip:!1},right:{get:function(){return this._right},set:function(t){this._right=t},tooltip:!1},horizontalCenter:{get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t},tooltip:!1},verticalCenter:{get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t},tooltip:!1},isAbsoluteHorizontalCenter:{get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter=t},animatable:!1},isAbsoluteVerticalCenter:{get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter=t},animatable:!1},isAbsoluteTop:{get:function(){return this._isAbsTop},set:function(t){this._isAbsTop=t},animatable:!1},isAbsoluteBottom:{get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom=t},animatable:!1},isAbsoluteLeft:{get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft=t},animatable:!1},isAbsoluteRight:{get:function(){return this._isAbsRight},set:function(t){this._isAbsRight=t},animatable:!1},alignMode:{default:n.ON_WINDOW_RESIZE,type:n,tooltip:!1},_wasAlignOnce:{default:void 0,formerlySerializedAs:"isAlignOnce"},_target:null,_alignFlags:0,_left:0,_right:0,_top:0,_bottom:0,_verticalCenter:0,_horizontalCenter:0,_isAbsLeft:!0,_isAbsRight:!0,_isAbsTop:!0,_isAbsBottom:!0,_isAbsHorizontalCenter:!0,_isAbsVerticalCenter:!0,_originalWidth:0,_originalHeight:0},statics:{AlignMode:n},onLoad:function(){void 0!==this._wasAlignOnce&&(this.alignMode=this._wasAlignOnce?n.ONCE:n.ALWAYS,this._wasAlignOnce=void 0)},onEnable:function(){i.add(this)},onDisable:function(){i.remove(this)},_validateTargetInDEV:!1,_setAlign:function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&_)>0;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=this.node.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=this.node.height))):(i?this.isStretchWidth&&(this.node.width=this._originalWidth):this.isStretchHeight&&(this.node.height=this._originalHeight),this._alignFlags&=~t)}},updateAlignment:function(){i.updateAlignment(this.node)}});Object.defineProperty(f.prototype,"isAlignOnce",{get:function(){return this.alignMode===n.ONCE},set:function(t){this.alignMode=t?n.ONCE:n.ALWAYS}}),cc.Widget=e.exports=f}),{"../base-ui/CCWidgetManager":132,"./CCComponent":148}],172:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("../editbox/EditBoxImplBase"),r=t("../CCLabel"),s=t("./types"),a=s.InputMode,o=s.InputFlag,l=s.KeyboardReturnType;function c(t){return t.charAt(0).toUpperCase()+t.slice(1)}var h=cc.Class({name:"cc.EditBox",extends:cc.Component,editor:!1,properties:{_string:"",string:{tooltip:!1,get:function(){return this._string},set:function(t){t=""+t,this.maxLength>=0&&t.length>=this.maxLength&&(t=t.slice(0,this.maxLength)),this._string=t,this._updateString(t)}},textLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.textLabel&&this.textLabel!==t&&(this._updateTextLabel(),this._updateLabels())}},placeholderLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.placeholderLabel&&this.placeholderLabel!==t&&(this._updatePlaceholderLabel(),this._updateLabels())}},background:{tooltip:!1,default:null,type:cc.Sprite,notify:function(t){this.background&&this.background!==t&&this._updateBackgroundSprite()}},_N$backgroundImage:{default:void 0,type:cc.SpriteFrame},backgroundImage:{get:function(){return this.background?this.background.spriteFrame:null},set:function(t){this.background&&(this.background.spriteFrame=t)}},returnType:{default:l.DEFAULT,tooltip:!1,displayName:"KeyboardReturnType",type:l},_N$returnType:{default:void 0,type:cc.Float},inputFlag:{tooltip:!1,default:o.DEFAULT,type:o,notify:function(){this._updateString(this._string)}},inputMode:{tooltip:!1,default:a.ANY,type:a,notify:function(t){this.inputMode!==t&&(this._updateTextLabel(),this._updatePlaceholderLabel())}},fontSize:{get:function(){return this.textLabel?this.textLabel.fontSize:0},set:function(t){this.textLabel&&(this.textLabel.fontSize=t)}},_N$fontSize:{default:void 0,type:cc.Float},lineHeight:{get:function(){return this.textLabel?this.textLabel.lineHeight:0},set:function(t){this.textLabel&&(this.textLabel.lineHeight=t)}},_N$lineHeight:{default:void 0,type:cc.Float},fontColor:{get:function(){return this.textLabel?this.textLabel.node.color:cc.Color.BLACK},set:function(t){this.textLabel&&(this.textLabel.node.color=t,this.textLabel.node.opacity=t.a)}},_N$fontColor:void 0,placeholder:{tooltip:!1,get:function(){return this.placeholderLabel?this.placeholderLabel.string:""},set:function(t){this.placeholderLabel&&(this.placeholderLabel.string=t)}},_N$placeholder:{default:void 0,type:cc.String},placeholderFontSize:{get:function(){return this.placeholderLabel?this.placeholderLabel.fontSize:0},set:function(t){this.placeholderLabel&&(this.placeholderLabel.fontSize=t)}},_N$placeholderFontSize:{default:void 0,type:cc.Float},placeholderFontColor:{get:function(){return this.placeholderLabel?this.placeholderLabel.node.color:cc.Color.BLACK},set:function(t){this.placeholderLabel&&(this.placeholderLabel.node.color=t,this.placeholderLabel.node.opacity=t.a)}},_N$placeholderFontColor:void 0,maxLength:{tooltip:!1,default:20},_N$maxLength:{default:void 0,type:cc.Float},stayOnTop:{default:!1,notify:function(){cc.warn("editBox.stayOnTop is removed since v2.1.")}},_tabIndex:0,tabIndex:{tooltip:!1,get:function(){return this._tabIndex},set:function(t){this._tabIndex!==t&&(this._tabIndex=t,this._impl&&this._impl.setTabIndex(t))}},editingDidBegan:{default:[],type:cc.Component.EventHandler},textChanged:{default:[],type:cc.Component.EventHandler},editingDidEnded:{default:[],type:cc.Component.EventHandler},editingReturn:{default:[],type:cc.Component.EventHandler}},statics:{_ImplClass:n,KeyboardReturnType:l,InputFlag:o,InputMode:a},_init:function(){this._upgradeComp(),this._isLabelVisible=!0,this.node.on(cc.Node.EventType.SIZE_CHANGED,this._syncSize,this),(this._impl=new h._ImplClass).init(this),this._updateString(this._string),this._syncSize()},_updateBackgroundSprite:function(){var t=this.background;if(!t){var e=this.node.getChildByName("BACKGROUND_SPRITE");e||(e=new cc.Node("BACKGROUND_SPRITE")),(t=e.getComponent(cc.Sprite))||(t=e.addComponent(cc.Sprite)),e.parent=this.node,this.background=t}t.type=cc.Sprite.Type.SLICED,void 0!==this._N$backgroundImage&&(t.spriteFrame=this._N$backgroundImage,this._N$backgroundImage=void 0)},_updateTextLabel:function(){var t=this.textLabel;if(!t){var e=this.node.getChildByName("TEXT_LABEL");e||(e=new cc.Node("TEXT_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.textLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this._updateLabelStringStyle(this._string),void 0!==this._N$fontColor&&(t.node.color=this._N$fontColor,t.node.opacity=this._N$fontColor.a,this._N$fontColor=void 0),void 0!==this._N$fontSize&&(t.fontSize=this._N$fontSize,this._N$fontSize=void 0),void 0!==this._N$lineHeight&&(t.lineHeight=this._N$lineHeight,this._N$lineHeight=void 0)},_updatePlaceholderLabel:function(){var t=this.placeholderLabel;if(!t){var e=this.node.getChildByName("PLACEHOLDER_LABEL");e||(e=new cc.Node("PLACEHOLDER_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.placeholderLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this.placeholder,void 0!==this._N$placeholderFontColor&&(t.node.color=this._N$placeholderFontColor,t.node.opacity=this._N$placeholderFontColor.a,this._N$placeholderFontColor=void 0),void 0!==this._N$placeholderFontSize&&(t.fontSize=this._N$placeholderFontSize,this._N$placeholderFontSize=void 0)},_upgradeComp:function(){void 0!==this._N$returnType&&(this.returnType=this._N$returnType,this._N$returnType=void 0),void 0!==this._N$maxLength&&(this.maxLength=this._N$maxLength,this._N$maxLength=void 0),void 0!==this._N$backgroundImage&&this._updateBackgroundSprite(),void 0===this._N$fontColor&&void 0===this._N$fontSize&&void 0===this._N$lineHeight||this._updateTextLabel(),void 0===this._N$placeholderFontColor&&void 0===this._N$placeholderFontSize||this._updatePlaceholderLabel(),void 0!==this._N$placeholder&&(this.placeholder=this._N$placeholder,this._N$placeholder=void 0)},_syncSize:function(){if(this._impl){var t=this.node.getContentSize();this._impl.setSize(t.width,t.height)}},_showLabels:function(){this._isLabelVisible=!0,this._updateLabels()},_hideLabels:function(){this._isLabelVisible=!1,this.textLabel&&(this.textLabel.node.active=!1),this.placeholderLabel&&(this.placeholderLabel.node.active=!1)},_updateLabels:function(){if(this._isLabelVisible){var t=this._string;this.textLabel&&(this.textLabel.node.active=""!==t),this.placeholderLabel&&(this.placeholderLabel.node.active=""===t)}},_updateString:function(t){var e=this.textLabel;if(e){var i=t;i&&(i=this._updateLabelStringStyle(i)),e.string=i,this._updateLabels()}},_updateLabelStringStyle:function(t,e){var i=this.inputFlag;if(e||i!==o.PASSWORD)i===o.INITIAL_CAPS_ALL_CHARACTERS?t=t.toUpperCase():i===o.INITIAL_CAPS_WORD?t=t.replace(/(?:^|\s)\S/g,(function(t){return t.toUpperCase()})):i===o.INITIAL_CAPS_SENTENCE&&(t=c(t));else{for(var n="",r=t.length,s=0;s<r;++s)n+="\u25cf";t=n}return t},editBoxEditingDidBegan:function(){cc.Component.EventHandler.emitEvents(this.editingDidBegan,this),this.node.emit("editing-did-began",this)},editBoxEditingDidEnded:function(){cc.Component.EventHandler.emitEvents(this.editingDidEnded,this),this.node.emit("editing-did-ended",this)},editBoxTextChanged:function(t){t=this._updateLabelStringStyle(t,!0),this.string=t,cc.Component.EventHandler.emitEvents(this.textChanged,t,this),this.node.emit("text-changed",this)},editBoxEditingReturn:function(){cc.Component.EventHandler.emitEvents(this.editingReturn,this),this.node.emit("editing-return",this)},onEnable:function(){this._registerEvent(),this._impl&&this._impl.enable()},onDisable:function(){this._unregisterEvent(),this._impl&&this._impl.disable()},onDestroy:function(){this._impl&&this._impl.clear()},__preload:function(){this._init()},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this)},_onTouchBegan:function(t){t.stopPropagation()},_onTouchCancel:function(t){t.stopPropagation()},_onTouchEnded:function(t){this._impl&&this._impl.beginEditing(),t.stopPropagation()},setFocus:function(){cc.errorID(1400,"setFocus()","focus()"),this._impl&&this._impl.setFocus(!0)},focus:function(){this._impl&&this._impl.setFocus(!0)},blur:function(){this._impl&&this._impl.setFocus(!1)},isFocused:function(){return!!this._impl&&this._impl.isFocused()},update:function(){this._impl&&this._impl.update()}});cc.EditBox=e.exports=h,cc.sys.isBrowser&&t("./WebEditBoxImpl")}),{"../../platform/CCMacro":243,"../CCLabel":150,"../editbox/EditBoxImplBase":173,"./WebEditBoxImpl":174,"./types":176}],173:[(function(t,e){"use strict";var i=cc.Class({ctor:function(){this._delegate=null,this._editing=!1},init:function(){},enable:function(){},disable:function(){this._editing&&this.endEditing()},clear:function(){},update:function(){},setTabIndex:function(){},setSize:function(){},setFocus:function(t){t?this.beginEditing():this.endEditing()},isFocused:function(){return this._editing},beginEditing:function(){},endEditing:function(){}});e.exports=i}),{}],174:[(function(t){"use strict";var e,i=(e=t("../../value-types/mat4"))&&e.__esModule?e:{default:e},n=t("../../platform/utils"),r=t("../../platform/CCMacro"),s=t("./types"),a=t("../CCLabel"),o=t("./tabIndexUtil"),l=cc.EditBox,c=cc.js,h=s.InputMode,u=s.InputFlag,_=s.KeyboardReturnType,f={zoomInvalid:!1};cc.sys.OS_ANDROID!==cc.sys.os||cc.sys.browserType!==cc.sys.BROWSER_TYPE_SOUGOU&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_360||(f.zoomInvalid=!0);var d=0,p=cc.v3(),m=null,y=!1,v=!1,g=l._ImplClass;function b(){g.call(this),this._domId="EditBoxId_"+ ++d,this._placeholderStyleSheet=null,this._elem=null,this._isTextArea=!1,this._worldMat=new i.default,this._cameraMat=new i.default,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0,this._cacheViewportRect=cc.rect(0,0,0,0),this._inputMode=null,this._inputFlag=null,this._returnType=null,this._eventListeners={},this._textLabelFont=null,this._textLabelFontSize=null,this._textLabelFontColor=null,this._textLabelAlign=null,this._placeholderLabelFont=null,this._placeholderLabelFontSize=null,this._placeholderLabelFontColor=null,this._placeholderLabelAlign=null,this._placeholderLineHeight=null}c.extend(b,g),l._ImplClass=b,Object.assign(b.prototype,{init:function(t){t&&(this._delegate=t,t.inputMode===h.ANY?this._createTextArea():this._createInput(),o.add(this),this.setTabIndex(t.tabIndex),this._initStyleSheet(),this._registerEventListeners(),this._addDomToGameContainer(),y=cc.view.isAutoFullScreenEnabled(),v=cc.view._resizeWithBrowserSize)},clear:function(){this._removeEventListeners(),this._removeDomFromGameContainer(),o.remove(this),m===this&&(m=null)},update:function(){this._updateMatrix()},setTabIndex:function(t){this._elem.tabIndex=t,o.resort()},setSize:function(t,e){var i=this._elem;i.style.width=t+"px",i.style.height=e+"px"},beginEditing:function(){m&&m!==this&&m.setFocus(!1),this._editing=!0,m=this,this._delegate.editBoxEditingDidBegan(),this._showDom(),this._elem.focus()},endEditing:function(){this._elem&&this._elem.blur()},_createInput:function(){this._isTextArea=!1,this._elem=document.createElement("input")},_createTextArea:function(){this._isTextArea=!0,this._elem=document.createElement("textarea")},_addDomToGameContainer:function(){cc.game.container.appendChild(this._elem),document.head.appendChild(this._placeholderStyleSheet)},_removeDomFromGameContainer:function(){n.contains(cc.game.container,this._elem)&&cc.game.container.removeChild(this._elem),n.contains(document.head,this._placeholderStyleSheet)&&document.head.removeChild(this._placeholderStyleSheet),delete this._elem,delete this._placeholderStyleSheet},_showDom:function(){this._updateMaxLength(),this._updateInputType(),this._updateStyleSheet(),this._elem.style.display="",this._delegate._hideLabels(),cc.sys.isMobile&&this._showDomOnMobile()},_hideDom:function(){this._elem.style.display="none",this._delegate._showLabels(),cc.sys.isMobile&&this._hideDomOnMobile()},_showDomOnMobile:function(){cc.sys.os===cc.sys.OS_ANDROID&&(y&&(cc.view.enableAutoFullScreen(!1),cc.screen.exitFullScreen()),v&&cc.view.resizeWithBrowserSize(!1),this._adjustWindowScroll())},_hideDomOnMobile:function(){cc.sys.os===cc.sys.OS_ANDROID&&(v&&cc.view.resizeWithBrowserSize(!0),setTimeout((function(){m||y&&cc.view.enableAutoFullScreen(!0)}),800)),this._scrollBackWindow()},_adjustWindowScroll:function(){var t=this;setTimeout((function(){window.scrollY<100&&t._elem.scrollIntoView({block:"start",inline:"nearest",behavior:"smooth"})}),800)},_scrollBackWindow:function(){setTimeout((function(){var t=cc.sys;t.browserType!==t.BROWSER_TYPE_WECHAT||t.os!==t.OS_IOS?window.scrollTo(0,0):window.top&&window.top.scrollTo(0,0)}),800)},_updateCameraMatrix:function(){var t=this._delegate.node;t.getWorldMatrix(this._worldMat);var e=this._worldMat,n=t._contentSize,r=t._anchorPoint;p.x=-r.x*n.width,p.y=-r.y*n.height,i.default.transform(e,e,p);var s=cc.Camera.findCamera(t);return!!s&&(s.getWorldToScreenMatrix2D(this._cameraMat),i.default.mul(this._cameraMat,this._cameraMat,e),!0)},_updateMatrix:function(){if(this._updateCameraMatrix()){var t=this._cameraMat.m,e=this._delegate.node,i=cc.view;if(this._m00!==t[0]||this._m01!==t[1]||this._m04!==t[4]||this._m05!==t[5]||this._m12!==t[12]||this._m13!==t[13]||this._w!==e._contentSize.width||this._h!==e._contentSize.height||!this._cacheViewportRect.equals(i._viewportRect)){this._m00=t[0],this._m01=t[1],this._m04=t[4],this._m05=t[5],this._m12=t[12],this._m13=t[13],this._w=e._contentSize.width,this._h=e._contentSize.height,this._cacheViewportRect.set(i._viewportRect);var n=i._scaleX,r=i._scaleY,s=i._viewportRect,a=i._devicePixelRatio;n/=a,r/=a;var o=cc.game.container,l=t[0]*n,c=t[1],h=t[4],u=t[5]*r,_=o&&o.style.paddingLeft&&parseInt(o.style.paddingLeft);_+=s.x/a;var d=o&&o.style.paddingBottom&&parseInt(o.style.paddingBottom);d+=s.y/a;var p=t[12]*n+_,m=t[13]*r+d;f.zoomInvalid&&(this.setSize(e.width*l,e.height*u),l=1,u=1);var y=this._elem,v="matrix("+l+","+-c+","+-h+","+u+","+p+","+-m+")";y.style.transform=v,y.style["-webkit-transform"]=v,y.style["transform-origin"]="0px 100% 0px",y.style["-webkit-transform-origin"]="0px 100% 0px"}}},_updateInputType:function(){var t=this._delegate,e=t.inputMode,i=t.inputFlag,n=t.returnType,r=this._elem;if(this._inputMode!==e||this._inputFlag!==i||this._returnType!==n){if(this._inputMode=e,this._inputFlag=i,this._returnType=n,this._isTextArea){var s="none";return i===u.INITIAL_CAPS_ALL_CHARACTERS?s="uppercase":i===u.INITIAL_CAPS_WORD&&(s="capitalize"),void(r.style.textTransform=s)}if(i===u.PASSWORD)return r.type="password",void(r.style.textTransform="none");var a=r.type;e===h.EMAIL_ADDR?a="email":e===h.NUMERIC||e===h.DECIMAL?a="number":e===h.PHONE_NUMBER?(a="number",r.pattern="[0-9]*"):e===h.URL?a="url":(a="text",n===_.SEARCH&&(a="search")),r.type=a;var o="none";i===u.INITIAL_CAPS_ALL_CHARACTERS?o="uppercase":i===u.INITIAL_CAPS_WORD&&(o="capitalize"),r.style.textTransform=o}},_updateMaxLength:function(){var t=this._delegate.maxLength;t<0&&(t=65535),this._elem.maxLength=t},_initStyleSheet:function(){var t=this._elem;t.style.display="none",t.style.border=0,t.style.background="transparent",t.style.width="100%",t.style.height="100%",t.style.active=0,t.style.outline="medium",t.style.padding="0",t.style.textTransform="none",t.style.position="absolute",t.style.bottom="0px",t.style.left="2px",t.className="cocosEditBox",t.id=this._domId,this._isTextArea?(t.style.resize="none",t.style.overflow_y="scroll"):(t.type="text",t.style["-moz-appearance"]="textfield"),this._placeholderStyleSheet=document.createElement("style")},_updateStyleSheet:function(){var t=this._delegate,e=this._elem;e.value=t.string,e.placeholder=t.placeholder,this._updateTextLabel(t.textLabel),this._updatePlaceholderLabel(t.placeholderLabel)},_updateTextLabel:function(t){if(t){var e=t.font;e=!e||e instanceof cc.BitmapFont?t.fontFamily:e._fontFamily;var i=t.fontSize*t.node.scaleY;if(this._textLabelFont!==e||this._textLabelFontSize!==i||this._textLabelFontColor!==t.fontColor||this._textLabelAlign!==t.horizontalAlign){this._textLabelFont=e,this._textLabelFontSize=i,this._textLabelFontColor=t.fontColor,this._textLabelAlign=t.horizontalAlign;var n=this._elem;switch(n.style.fontSize=i+"px",n.style.color=t.node.color.toCSS(),n.style.fontFamily=e,t.horizontalAlign){case a.HorizontalAlign.LEFT:n.style.textAlign="left";break;case a.HorizontalAlign.CENTER:n.style.textAlign="center";break;case a.HorizontalAlign.RIGHT:n.style.textAlign="right"}}}},_updatePlaceholderLabel:function(t){if(t){var e=t.font;e=!e||e instanceof cc.BitmapFont?t.fontFamily:t.font._fontFamily;var i=t.fontSize*t.node.scaleY;if(this._placeholderLabelFont!==e||this._placeholderLabelFontSize!==i||this._placeholderLabelFontColor!==t.fontColor||this._placeholderLabelAlign!==t.horizontalAlign||this._placeholderLineHeight!==t.fontSize){this._placeholderLabelFont=e,this._placeholderLabelFontSize=i,this._placeholderLabelFontColor=t.fontColor,this._placeholderLabelAlign=t.horizontalAlign,this._placeholderLineHeight=t.fontSize;var n,r=this._placeholderStyleSheet,s=t.node.color.toCSS(),o=t.fontSize;switch(t.horizontalAlign){case a.HorizontalAlign.LEFT:n="left";break;case a.HorizontalAlign.CENTER:n="center";break;case a.HorizontalAlign.RIGHT:n="right"}r.innerHTML="#"+this._domId+"::-webkit-input-placeholder,#"+this._domId+"::-moz-placeholder,#"+this._domId+":-ms-input-placeholder{text-transform: initial; font-family: "+e+"; font-size: "+i+"px; color: "+s+"; line-height: "+o+"px; text-align: "+n+";}",cc.sys.browserType===cc.sys.BROWSER_TYPE_EDGE&&(r.innerHTML+="#"+this._domId+"::-ms-clear{display: none;}")}}},_registerEventListeners:function(){var t=this,e=this._elem,i=!1,n=this._eventListeners;n.compositionStart=function(){i=!0},n.compositionEnd=function(){i=!1,t._delegate.editBoxTextChanged(e.value)},n.onInput=function(){if(!i){var n=t._delegate.maxLength;n>=0&&(e.value=e.value.slice(0,n)),t._delegate.editBoxTextChanged(e.value)}},n.onClick=function(){t._editing&&cc.sys.isMobile&&t._adjustWindowScroll()},n.onKeydown=function(i){i.keyCode===r.KEY.enter?(i.stopPropagation(),t._delegate.editBoxEditingReturn(),t._isTextArea||e.blur()):i.keyCode===r.KEY.tab&&(i.stopPropagation(),i.preventDefault(),o.next(t))},n.onBlur=function(){cc.sys.isMobile&&i&&n.compositionEnd(),t._editing=!1,m=null,t._hideDom(),t._delegate.editBoxEditingDidEnded()},e.addEventListener("compositionstart",n.compositionStart),e.addEventListener("compositionend",n.compositionEnd),e.addEventListener("input",n.onInput),e.addEventListener("keydown",n.onKeydown),e.addEventListener("blur",n.onBlur),e.addEventListener("touchstart",n.onClick)},_removeEventListeners:function(){var t=this._elem,e=this._eventListeners;t.removeEventListener("compositionstart",e.compositionStart),t.removeEventListener("compositionend",e.compositionEnd),t.removeEventListener("input",e.onInput),t.removeEventListener("keydown",e.onKeydown),t.removeEventListener("blur",e.onBlur),t.removeEventListener("touchstart",e.onClick),e.compositionStart=null,e.compositionEnd=null,e.onInput=null,e.onKeydown=null,e.onBlur=null,e.onClick=null}})}),{"../../platform/CCMacro":243,"../../platform/utils":262,"../../value-types/mat4":340,"../CCLabel":150,"./tabIndexUtil":175,"./types":176}],175:[(function(t,e){"use strict";e.exports={_tabIndexList:[],add:function(t){var e=this._tabIndexList;-1===e.indexOf(t)&&e.push(t)},remove:function(t){var e=this._tabIndexList,i=e.indexOf(t);-1!==i&&e.splice(i,1)},resort:function(){this._tabIndexList.sort((function(t,e){return t._delegate._tabIndex-e._delegate._tabIndex}))},next:function(t){var e=this._tabIndexList,i=e.indexOf(t);if(t.setFocus(!1),-1!==i){var n=e[i+1];n&&n._delegate._tabIndex>=0&&n.setFocus(!0)}}}}),{}],176:[(function(t,e){"use strict";var i=cc.Enum({DEFAULT:0,DONE:1,SEND:2,SEARCH:3,GO:4,NEXT:5}),n=cc.Enum({ANY:0,EMAIL_ADDR:1,NUMERIC:2,PHONE_NUMBER:3,URL:4,DECIMAL:5,SINGLE_LINE:6}),r=cc.Enum({PASSWORD:0,SENSITIVE:1,INITIAL_CAPS_WORD:2,INITIAL_CAPS_SENTENCE:3,INITIAL_CAPS_ALL_CHARACTERS:4,DEFAULT:5});e.exports={KeyboardReturnType:i,InputMode:n,InputFlag:r}}),{}],177:[(function(t,e){"use strict";t("./CCComponent"),t("./CCComponentEventHandler"),t("./missing-script");var i=t("./SubContextView");i||(i=cc.Class({name:"cc.SubContextView",extends:cc.Component}),cc.SubContextView=cc.WXSubContextView=cc.SwanSubContextView=i);var n=[t("./CCSprite"),t("./CCWidget"),t("./CCCanvas"),t("./CCAudioSource"),t("./CCAnimation"),t("./CCButton"),t("./CCLabel"),t("./CCProgressBar"),t("./CCMask"),t("./CCScrollBar"),t("./CCScrollView"),t("./CCPageViewIndicator"),t("./CCPageView"),t("./CCSlider"),t("./CCLayout"),t("./editbox/CCEditBox"),t("./CCLabelOutline"),t("./CCLabelShadow"),t("./CCRichText"),t("./CCToggleContainer"),t("./CCToggleGroup"),t("./CCToggle"),t("./CCBlockInputEvents"),t("./CCMotionStreak"),t("./CCSafeArea"),i];e.exports=n}),{"./CCAnimation":143,"./CCAudioSource":144,"./CCBlockInputEvents":145,"./CCButton":146,"./CCCanvas":147,"./CCComponent":148,"./CCComponentEventHandler":149,"./CCLabel":150,"./CCLabelOutline":151,"./CCLabelShadow":152,"./CCLayout":153,"./CCMask":154,"./CCMotionStreak":155,"./CCPageView":156,"./CCPageViewIndicator":157,"./CCProgressBar":158,"./CCRichText":160,"./CCSafeArea":161,"./CCScrollBar":162,"./CCScrollView":163,"./CCSlider":164,"./CCSprite":165,"./CCToggle":167,"./CCToggleContainer":168,"./CCToggleGroup":169,"./CCWidget":171,"./SubContextView":void 0,"./editbox/CCEditBox":172,"./missing-script":178}],178:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({name:"cc.MissingScript",extends:cc.Component,editor:{inspector:"packages://inspector/inspectors/comps/missing-script.js"},properties:{compiled:{default:!1,serializable:!1},_$erialized:{default:null,visible:!1,editorOnly:!0}},ctor:!1,statics:{safeFindClass:function(t){return i._getClassById(t)||(cc.deserialize.reportMissingClass(t),n)}},onLoad:function(){cc.warnID(4600,this.node.name)}});cc._MissingScript=e.exports=n}),{}],179:[(function(t,e){"use strict";var i=cc.js;t("../event/event");var n=function(t,e){cc.Event.call(this,cc.Event.MOUSE,e),this._eventType=t,this._button=0,this._x=0,this._y=0,this._prevX=0,this._prevY=0,this._scrollX=0,this._scrollY=0};i.extend(n,cc.Event);var r=n.prototype;r.setScrollData=function(t,e){this._scrollX=t,this._scrollY=e},r.getScrollX=function(){return this._scrollX},r.getScrollY=function(){return this._scrollY},r.setLocation=function(t,e){this._x=t,this._y=e},r.getLocation=function(){return cc.v2(this._x,this._y)},r.getLocationInView=function(){return cc.v2(this._x,cc.view._designResolutionSize.height-this._y)},r._setPrevCursor=function(t,e){this._prevX=t,this._prevY=e},r.getPreviousLocation=function(){return cc.v2(this._prevX,this._prevY)},r.getDelta=function(){return cc.v2(this._x-this._prevX,this._y-this._prevY)},r.getDeltaX=function(){return this._x-this._prevX},r.getDeltaY=function(){return this._y-this._prevY},r.setButton=function(t){this._button=t},r.getButton=function(){return this._button},r.getLocationX=function(){return this._x},r.getLocationY=function(){return this._y},n.NONE=0,n.DOWN=1,n.UP=2,n.MOVE=3,n.SCROLL=4,n.BUTTON_LEFT=0,n.BUTTON_RIGHT=2,n.BUTTON_MIDDLE=1,n.BUTTON_4=3,n.BUTTON_5=4,n.BUTTON_6=5,n.BUTTON_7=6,n.BUTTON_8=7;var s=function(t,e){cc.Event.call(this,cc.Event.TOUCH,e),this._eventCode=0,this._touches=t||[],this.touch=null,this.currentTouch=null};i.extend(s,cc.Event),(r=s.prototype).getEventCode=function(){return this._eventCode},r.getTouches=function(){return this._touches},r._setEventCode=function(t){this._eventCode=t},r._setTouches=function(t){this._touches=t},r.setLocation=function(t,e){this.touch&&this.touch.setTouchInfo(this.touch.getID(),t,e)},r.getLocation=function(){return this.touch?this.touch.getLocation():cc.v2()},r.getLocationInView=function(){return this.touch?this.touch.getLocationInView():cc.v2()},r.getPreviousLocation=function(){return this.touch?this.touch.getPreviousLocation():cc.v2()},r.getStartLocation=function(){return this.touch?this.touch.getStartLocation():cc.v2()},r.getID=function(){return this.touch?this.touch.getID():null},r.getDelta=function(){return this.touch?this.touch.getDelta():cc.v2()},r.getDeltaX=function(){return this.touch?this.touch.getDelta().x:0},r.getDeltaY=function(){return this.touch?this.touch.getDelta().y:0},r.getLocationX=function(){return this.touch?this.touch.getLocationX():0},r.getLocationY=function(){return this.touch?this.touch.getLocationY():0},s.MAX_TOUCHES=5,s.BEGAN=0,s.MOVED=1,s.ENDED=2,s.CANCELED=3;var a=function(t,e){cc.Event.call(this,cc.Event.ACCELERATION,e),this.acc=t};i.extend(a,cc.Event);var o=function(t,e,i){cc.Event.call(this,cc.Event.KEYBOARD,i),this.keyCode=t,this.isPressed=e};i.extend(o,cc.Event),cc.Event.EventMouse=n,cc.Event.EventTouch=s,cc.Event.EventAcceleration=a,cc.Event.EventKeyboard=o,e.exports=cc.Event}),{"../event/event":186}],180:[(function(t,e){"use strict";var i=t("../platform/js");cc.EventListener=function(t,e,i){this._onEvent=i,this._type=t||0,this._listenerID=e||"",this._registered=!1,this._fixedPriority=0,this._node=null,this._target=null,this._paused=!0,this._isEnabled=!0},cc.EventListener.prototype={constructor:cc.EventListener,_setPaused:function(t){this._paused=t},_isPaused:function(){return this._paused},_setRegistered:function(t){this._registered=t},_isRegistered:function(){return this._registered},_getType:function(){return this._type},_getListenerID:function(){return this._listenerID},_setFixedPriority:function(t){this._fixedPriority=t},_getFixedPriority:function(){return this._fixedPriority},_setSceneGraphPriority:function(t){this._target=t,this._node=t},_getSceneGraphPriority:function(){return this._node},checkAvailable:function(){return null!==this._onEvent},clone:function(){return null},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},retain:function(){},release:function(){}},cc.EventListener.UNKNOWN=0,cc.EventListener.TOUCH_ONE_BY_ONE=1,cc.EventListener.TOUCH_ALL_AT_ONCE=2,cc.EventListener.KEYBOARD=3,cc.EventListener.MOUSE=4,cc.EventListener.ACCELERATION=6,cc.EventListener.CUSTOM=8;var n=cc.EventListener.ListenerID={MOUSE:"__cc_mouse",TOUCH_ONE_BY_ONE:"__cc_touch_one_by_one",TOUCH_ALL_AT_ONCE:"__cc_touch_all_at_once",KEYBOARD:"__cc_keyboard",ACCELERATION:"__cc_acceleration"},r=function(t,e){this._onCustomEvent=e,cc.EventListener.call(this,cc.EventListener.CUSTOM,t,this._callback)};i.extend(r,cc.EventListener),i.mixin(r.prototype,{_onCustomEvent:null,_callback:function(t){null!==this._onCustomEvent&&this._onCustomEvent(t)},checkAvailable:function(){return cc.EventListener.prototype.checkAvailable.call(this)&&null!==this._onCustomEvent},clone:function(){return new r(this._listenerID,this._onCustomEvent)}});var s=function(){cc.EventListener.call(this,cc.EventListener.MOUSE,n.MOUSE,this._callback)};i.extend(s,cc.EventListener),i.mixin(s.prototype,{onMouseDown:null,onMouseUp:null,onMouseMove:null,onMouseScroll:null,_callback:function(t){var e=cc.Event.EventMouse;switch(t._eventType){case e.DOWN:this.onMouseDown&&this.onMouseDown(t);break;case e.UP:this.onMouseUp&&this.onMouseUp(t);break;case e.MOVE:this.onMouseMove&&this.onMouseMove(t);break;case e.SCROLL:this.onMouseScroll&&this.onMouseScroll(t)}},clone:function(){var t=new s;return t.onMouseDown=this.onMouseDown,t.onMouseUp=this.onMouseUp,t.onMouseMove=this.onMouseMove,t.onMouseScroll=this.onMouseScroll,t},checkAvailable:function(){return!0}});var a=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ONE_BY_ONE,n.TOUCH_ONE_BY_ONE,null),this._claimedTouches=[]};i.extend(a,cc.EventListener),i.mixin(a.prototype,{constructor:a,_claimedTouches:null,swallowTouches:!1,onTouchBegan:null,onTouchMoved:null,onTouchEnded:null,onTouchCancelled:null,setSwallowTouches:function(t){this.swallowTouches=t},isSwallowTouches:function(){return this.swallowTouches},clone:function(){var t=new a;return t.onTouchBegan=this.onTouchBegan,t.onTouchMoved=this.onTouchMoved,t.onTouchEnded=this.onTouchEnded,t.onTouchCancelled=this.onTouchCancelled,t.swallowTouches=this.swallowTouches,t},checkAvailable:function(){return!!this.onTouchBegan||(cc.logID(1801),!1)}});var o=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ALL_AT_ONCE,n.TOUCH_ALL_AT_ONCE,null)};i.extend(o,cc.EventListener),i.mixin(o.prototype,{constructor:o,onTouchesBegan:null,onTouchesMoved:null,onTouchesEnded:null,onTouchesCancelled:null,clone:function(){var t=new o;return t.onTouchesBegan=this.onTouchesBegan,t.onTouchesMoved=this.onTouchesMoved,t.onTouchesEnded=this.onTouchesEnded,t.onTouchesCancelled=this.onTouchesCancelled,t},checkAvailable:function(){return null!==this.onTouchesBegan||null!==this.onTouchesMoved||null!==this.onTouchesEnded||null!==this.onTouchesCancelled||(cc.logID(1802),!1)}});var l=function(t){this._onAccelerationEvent=t,cc.EventListener.call(this,cc.EventListener.ACCELERATION,n.ACCELERATION,this._callback)};i.extend(l,cc.EventListener),i.mixin(l.prototype,{constructor:l,_onAccelerationEvent:null,_callback:function(t){this._onAccelerationEvent(t.acc,t)},checkAvailable:function(){return cc.assertID(this._onAccelerationEvent,1803),!0},clone:function(){return new l(this._onAccelerationEvent)}});var c=function(){cc.EventListener.call(this,cc.EventListener.KEYBOARD,n.KEYBOARD,this._callback)};i.extend(c,cc.EventListener),i.mixin(c.prototype,{constructor:c,onKeyPressed:null,onKeyReleased:null,_callback:function(t){t.isPressed?this.onKeyPressed&&this.onKeyPressed(t.keyCode,t):this.onKeyReleased&&this.onKeyReleased(t.keyCode,t)},clone:function(){var t=new c;return t.onKeyPressed=this.onKeyPressed,t.onKeyReleased=this.onKeyReleased,t},checkAvailable:function(){return null!==this.onKeyPressed||null!==this.onKeyReleased||(cc.logID(1800),!1)}}),cc.EventListener.create=function(t){cc.assertID(t&&t.event,1900);var e=t.event;delete t.event;var i=null;for(var n in e===cc.EventListener.TOUCH_ONE_BY_ONE?i=new a:e===cc.EventListener.TOUCH_ALL_AT_ONCE?i=new o:e===cc.EventListener.MOUSE?i=new s:e===cc.EventListener.CUSTOM?(i=new r(t.eventName,t.callback),delete t.eventName,delete t.callback):e===cc.EventListener.KEYBOARD?i=new c:e===cc.EventListener.ACCELERATION&&(i=new l(t.callback),delete t.callback),t)i[n]=t[n];return i},e.exports=cc.EventListener}),{"../platform/js":259}],181:[(function(t,e){"use strict";var i=t("../platform/js");t("./CCEventListener");var n=cc.EventListener.ListenerID,r=function(){this._fixedListeners=[],this._sceneGraphListeners=[],this.gt0Index=0};r.prototype={constructor:r,size:function(){return this._fixedListeners.length+this._sceneGraphListeners.length},empty:function(){return 0===this._fixedListeners.length&&0===this._sceneGraphListeners.length},push:function(t){0===t._getFixedPriority()?this._sceneGraphListeners.push(t):this._fixedListeners.push(t)},clearSceneGraphListeners:function(){this._sceneGraphListeners.length=0},clearFixedListeners:function(){this._fixedListeners.length=0},clear:function(){this._sceneGraphListeners.length=0,this._fixedListeners.length=0},getFixedPriorityListeners:function(){return this._fixedListeners},getSceneGraphPriorityListeners:function(){return this._sceneGraphListeners}};var s=function(t){var e=cc.Event,i=t.type;return i===e.ACCELERATION?n.ACCELERATION:i===e.KEYBOARD?n.KEYBOARD:i.startsWith(e.MOUSE)?n.MOUSE:(i.startsWith(e.TOUCH)&&cc.logID(2e3),"")},a={DIRTY_NONE:0,DIRTY_FIXED_PRIORITY:1,DIRTY_SCENE_GRAPH_PRIORITY:2,DIRTY_ALL:3,_listenersMap:{},_priorityDirtyFlagMap:{},_nodeListenersMap:{},_toAddedListeners:[],_toRemovedListeners:[],_dirtyListeners:{},_inDispatch:0,_isEnabled:!1,_currentTouch:null,_currentTouchListener:null,_internalCustomListenerIDs:[],_setDirtyForNode:function(t){var e=this._nodeListenersMap[t._id];if(void 0!==e)for(var i=0,n=e.length;i<n;i++){var r=e[i]._getListenerID();null==this._dirtyListeners[r]&&(this._dirtyListeners[r]=!0)}if(t.childrenCount>0)for(var s=t._children,a=0,o=s.length;a<o;a++)this._setDirtyForNode(s[a])},pauseTarget:function(t,e){if(t instanceof cc._BaseNode){var i,n,r=this._nodeListenersMap[t._id];if(r)for(i=0,n=r.length;i<n;i++)r[i]._setPaused(!0);if(!0===e){var s=t._children;for(i=0,n=s?s.length:0;i<n;i++)this.pauseTarget(s[i],!0)}}else cc.warnID(3506)},resumeTarget:function(t,e){if(t instanceof cc._BaseNode){var i,n,r=this._nodeListenersMap[t._id];if(r)for(i=0,n=r.length;i<n;i++)r[i]._setPaused(!1);if(this._setDirtyForNode(t),!0===e){var s=t._children;for(i=0,n=s?s.length:0;i<n;i++)this.resumeTarget(s[i],!0)}}else cc.warnID(3506)},_addListener:function(t){0===this._inDispatch?this._forceAddEventListener(t):this._toAddedListeners.push(t)},_forceAddEventListener:function(t){var e=t._getListenerID(),i=this._listenersMap[e];if(i||(i=new r,this._listenersMap[e]=i),i.push(t),0===t._getFixedPriority()){this._setDirty(e,this.DIRTY_SCENE_GRAPH_PRIORITY);var n=t._getSceneGraphPriority();null===n&&cc.logID(3507),this._associateNodeAndEventListener(n,t),n.activeInHierarchy&&this.resumeTarget(n)}else this._setDirty(e,this.DIRTY_FIXED_PRIORITY)},_getListeners:function(t){return this._listenersMap[t]},_updateDirtyFlagForSceneGraph:function(){var t=this._dirtyListeners;for(var e in t)this._setDirty(e,this.DIRTY_SCENE_GRAPH_PRIORITY);this._dirtyListeners={}},_removeAllListenersInVector:function(t){if(t)for(var e,i=t.length-1;i>=0;i--)(e=t[i])._setRegistered(!1),null!=e._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(e._getSceneGraphPriority(),e),e._setSceneGraphPriority(null)),0===this._inDispatch&&cc.js.array.removeAt(t,i)},_removeListenersForListenerID:function(t){var e,i=this._listenersMap[t];if(i){var n=i.getFixedPriorityListeners(),r=i.getSceneGraphPriorityListeners();this._removeAllListenersInVector(r),this._removeAllListenersInVector(n),delete this._priorityDirtyFlagMap[t],this._inDispatch||(i.clear(),delete this._listenersMap[t])}var s,a=this._toAddedListeners;for(e=a.length-1;e>=0;e--)(s=a[e])&&s._getListenerID()===t&&cc.js.array.removeAt(a,e)},_sortEventListeners:function(t){var e=this.DIRTY_NONE,i=this._priorityDirtyFlagMap;i[t]&&(e=i[t]),e!==this.DIRTY_NONE&&(i[t]=this.DIRTY_NONE,e&this.DIRTY_FIXED_PRIORITY&&this._sortListenersOfFixedPriority(t),e&this.DIRTY_SCENE_GRAPH_PRIORITY&&cc.director.getScene()&&this._sortListenersOfSceneGraphPriority(t))},_sortListenersOfSceneGraphPriority:function(t){var e=this._getListeners(t);if(e){var i=e.getSceneGraphPriorityListeners();i&&0!==i.length&&e.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes)}},_sortEventListenersOfSceneGraphPriorityDes:function(t,e){var i=t._getSceneGraphPriority(),n=e._getSceneGraphPriority();if(!(e&&n&&n._activeInHierarchy&&null!==n._parent))return-1;if(!t||!i||!i._activeInHierarchy||null===i._parent)return 1;for(var r=i,s=n,a=!1;r._parent._id!==s._parent._id;)r=null===r._parent._parent?(a=!0)&&n:r._parent,s=null===s._parent._parent?(a=!0)&&i:s._parent;if(r._id===s._id){if(r._id===n._id)return-1;if(r._id===i._id)return 1}return a?r._localZOrder-s._localZOrder:s._localZOrder-r._localZOrder},_sortListenersOfFixedPriority:function(t){var e=this._listenersMap[t];if(e){var i=e.getFixedPriorityListeners();if(i&&0!==i.length){i.sort(this._sortListenersOfFixedPriorityAsc);for(var n=0,r=i.length;n<r&&!(i[n]._getFixedPriority()>=0);)++n;e.gt0Index=n}}},_sortListenersOfFixedPriorityAsc:function(t,e){return t._getFixedPriority()-e._getFixedPriority()},_onUpdateListeners:function(t){var e,i,n,r=t.getFixedPriorityListeners(),s=t.getSceneGraphPriorityListeners(),a=this._toRemovedListeners;if(s)for(e=s.length-1;e>=0;e--)(i=s[e])._isRegistered()||(cc.js.array.removeAt(s,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));if(r)for(e=r.length-1;e>=0;e--)(i=r[e])._isRegistered()||(cc.js.array.removeAt(r,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));s&&0===s.length&&t.clearSceneGraphListeners(),r&&0===r.length&&t.clearFixedListeners()},frameUpdateListeners:function(){var t=this._listenersMap,e=this._priorityDirtyFlagMap;for(var i in t)t[i].empty()&&(delete e[i],delete t[i]);var n=this._toAddedListeners;if(0!==n.length){for(var r=0,s=n.length;r<s;r++)this._forceAddEventListener(n[r]);n.length=0}0!==this._toRemovedListeners.length&&this._cleanToRemovedListeners()},_updateTouchListeners:function(){var t=this._inDispatch;if(cc.assertID(t>0,3508),!(t>1)){var e;(e=this._listenersMap[n.TOUCH_ONE_BY_ONE])&&this._onUpdateListeners(e),(e=this._listenersMap[n.TOUCH_ALL_AT_ONCE])&&this._onUpdateListeners(e),cc.assertID(1===t,3509);var i=this._toAddedListeners;if(0!==i.length){for(var r=0,s=i.length;r<s;r++)this._forceAddEventListener(i[r]);this._toAddedListeners.length=0}0!==this._toRemovedListeners.length&&this._cleanToRemovedListeners()}},_cleanToRemovedListeners:function(){for(var t=this._toRemovedListeners,e=0;e<t.length;e++){var i=t[e],n=this._listenersMap[i._getListenerID()];if(n){var r,s=n.getFixedPriorityListeners(),a=n.getSceneGraphPriorityListeners();a&&-1!==(r=a.indexOf(i))&&a.splice(r,1),s&&-1!==(r=s.indexOf(i))&&s.splice(r,1)}}t.length=0},_onTouchEventCallback:function(t,e){if(!t._isRegistered())return!1;var i=e.event,n=i.currentTouch;i.currentTarget=t._node;var r,s=!1,o=i.getEventCode(),l=cc.Event.EventTouch;if(o===l.BEGAN){if(!cc.macro.ENABLE_MULTI_TOUCH&&a._currentTouch){var c=a._currentTouchListener._node;if(c&&c.activeInHierarchy)return!1}t.onTouchBegan&&(s=t.onTouchBegan(n,i))&&t._registered&&(t._claimedTouches.push(n),a._currentTouchListener=t,a._currentTouch=n)}else if(t._claimedTouches.length>0&&-1!==(r=t._claimedTouches.indexOf(n))){if(s=!0,!cc.macro.ENABLE_MULTI_TOUCH&&a._currentTouch&&a._currentTouch!==n)return!1;o===l.MOVED&&t.onTouchMoved?t.onTouchMoved(n,i):o===l.ENDED?(t.onTouchEnded&&t.onTouchEnded(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch()):o===l.CANCELED&&(t.onTouchCancelled&&t.onTouchCancelled(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch())}return i.isStopped()?(a._updateTouchListeners(i),!0):!(!s||!t.swallowTouches||(e.needsMutableSet&&e.touches.splice(n,1),0))},_dispatchTouchEvent:function(t){this._sortEventListeners(n.TOUCH_ONE_BY_ONE),this._sortEventListeners(n.TOUCH_ALL_AT_ONCE);var e=this._getListeners(n.TOUCH_ONE_BY_ONE),i=this._getListeners(n.TOUCH_ALL_AT_ONCE);if(null!==e||null!==i){var r=t.getTouches(),s=cc.js.array.copy(r),a={event:t,needsMutableSet:e&&i,touches:s,selTouch:null};if(e)for(var o=0;o<r.length;o++)t.currentTouch=r[o],t._propagationStopped=t._propagationImmediateStopped=!1,this._dispatchEventToListeners(e,this._onTouchEventCallback,a);i&&s.length>0&&(this._dispatchEventToListeners(i,this._onTouchesEventCallback,{event:t,touches:s}),t.isStopped())||this._updateTouchListeners(t)}},_onTouchesEventCallback:function(t,e){if(!t._registered)return!1;var i=cc.Event.EventTouch,n=e.event,r=e.touches,s=n.getEventCode();return n.currentTarget=t._node,s===i.BEGAN&&t.onTouchesBegan?t.onTouchesBegan(r,n):s===i.MOVED&&t.onTouchesMoved?t.onTouchesMoved(r,n):s===i.ENDED&&t.onTouchesEnded?t.onTouchesEnded(r,n):s===i.CANCELED&&t.onTouchesCancelled&&t.onTouchesCancelled(r,n),!!n.isStopped()&&(a._updateTouchListeners(n),!0)},_associateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i||(i=[],this._nodeListenersMap[t._id]=i),i.push(e)},_dissociateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i&&(cc.js.array.remove(i,e),0===i.length&&delete this._nodeListenersMap[t._id])},_dispatchEventToListeners:function(t,e,i){var n,r,s=!1,a=t.getFixedPriorityListeners(),o=t.getSceneGraphPriorityListeners(),l=0;if(a&&0!==a.length)for(;l<t.gt0Index;++l)if((r=a[l]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}if(o&&!s)for(n=0;n<o.length;n++)if((r=o[n]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}if(a&&!s)for(;l<a.length;++l)if((r=a[l]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}},_setDirty:function(t,e){var i=this._priorityDirtyFlagMap;null==i[t]?i[t]=e:i[t]=e|i[t]},_sortNumberAsc:function(t,e){return t-e},hasEventListener:function(t){return!!this._getListeners(t)},addListener:function(t,e){if(cc.assertID(t&&e,3503),cc.js.isNumber(e)||e instanceof cc._BaseNode){if(t instanceof cc.EventListener){if(t._isRegistered())return void cc.logID(3505)}else cc.assertID(!cc.js.isNumber(e),3504),t=cc.EventListener.create(t);if(t.checkAvailable()){if(cc.js.isNumber(e)){if(0===e)return void cc.logID(3500);t._setSceneGraphPriority(null),t._setFixedPriority(e),t._setRegistered(!0),t._setPaused(!1),this._addListener(t)}else t._setSceneGraphPriority(e),t._setFixedPriority(0),t._setRegistered(!0),this._addListener(t);return t}}else cc.warnID(3506)},addCustomListener:function(t,e){var i=new cc.EventListener.create({event:cc.EventListener.CUSTOM,eventName:t,callback:e});return this.addListener(i,1),i},removeListener:function(t){if(null!=t){var e,i=this._listenersMap;for(var n in i){var r=i[n],s=r.getFixedPriorityListeners(),a=r.getSceneGraphPriorityListeners();if((e=this._removeListenerInVector(a,t))?this._setDirty(t._getListenerID(),this.DIRTY_SCENE_GRAPH_PRIORITY):(e=this._removeListenerInVector(s,t))&&this._setDirty(t._getListenerID(),this.DIRTY_FIXED_PRIORITY),r.empty()&&(delete this._priorityDirtyFlagMap[t._getListenerID()],delete i[n]),e)break}if(!e)for(var o=this._toAddedListeners,l=o.length-1;l>=0;l--){var c=o[l];if(c===t){cc.js.array.removeAt(o,l),c._setRegistered(!1);break}}this._currentTouchListener===t&&this._clearCurTouch()}},_clearCurTouch:function(){this._currentTouchListener=null,this._currentTouch=null},_removeListenerInCallback:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n._onCustomEvent===e||n._onEvent===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},_removeListenerInVector:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},removeListeners:function(t,e){var i=this;if(cc.js.isNumber(t)||t instanceof cc._BaseNode)if(void 0!==t._id){var r,s=i._nodeListenersMap[t._id];if(s){var a=cc.js.array.copy(s);for(r=0;r<a.length;r++)i.removeListener(a[r]);delete i._nodeListenersMap[t._id]}var o=i._toAddedListeners;for(r=0;r<o.length;){var l=o[r];l._getSceneGraphPriority()===t?(l._setSceneGraphPriority(null),l._setRegistered(!1),o.splice(r,1)):++r}if(!0===e){var c,h=t.children;for(r=0,c=h.length;r<c;r++)i.removeListeners(h[r],!0)}}else t===cc.EventListener.TOUCH_ONE_BY_ONE?i._removeListenersForListenerID(n.TOUCH_ONE_BY_ONE):t===cc.EventListener.TOUCH_ALL_AT_ONCE?i._removeListenersForListenerID(n.TOUCH_ALL_AT_ONCE):t===cc.EventListener.MOUSE?i._removeListenersForListenerID(n.MOUSE):t===cc.EventListener.ACCELERATION?i._removeListenersForListenerID(n.ACCELERATION):t===cc.EventListener.KEYBOARD?i._removeListenersForListenerID(n.KEYBOARD):cc.logID(3501);else cc.warnID(3506)},removeCustomListeners:function(t){this._removeListenersForListenerID(t)},removeAllListeners:function(){var t=this._listenersMap,e=this._internalCustomListenerIDs;for(var i in t)-1===e.indexOf(i)&&this._removeListenersForListenerID(i)},setPriority:function(t,e){if(null!=t){var i=this._listenersMap;for(var n in i){var r=i[n].getFixedPriorityListeners();if(r&&-1!==r.indexOf(t))return null!=t._getSceneGraphPriority()&&cc.logID(3502),void(t._getFixedPriority()!==e&&(t._setFixedPriority(e),this._setDirty(t._getListenerID(),this.DIRTY_FIXED_PRIORITY)))}}},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},dispatchEvent:function(t){if(this._isEnabled)if(this._updateDirtyFlagForSceneGraph(),this._inDispatch++,t&&t.getType){if(t.getType().startsWith(cc.Event.TOUCH))return this._dispatchTouchEvent(t),void this._inDispatch--;var e=s(t);this._sortEventListeners(e);var i=this._listenersMap[e];null!=i&&(this._dispatchEventToListeners(i,this._onListenerCallback,t),this._onUpdateListeners(i)),this._inDispatch--}else cc.errorID(3511)},_onListenerCallback:function(t,e){return e.currentTarget=t._target,t._onEvent(e),e.isStopped()},dispatchCustomEvent:function(t,e){var i=new cc.Event.EventCustom(t);i.setUserData(e),this.dispatchEvent(i)}};i.get(cc,"eventManager",(function(){return cc.errorID(1405,"cc.eventManager","cc.EventTarget or cc.systemEvent"),a})),e.exports=cc.internal.eventManager=a}),{"../platform/js":259,"./CCEventListener":180}],182:[(function(){"use strict";cc.Touch=function(t,e,i){this._lastModified=0,this.setTouchInfo(i,t,e)},cc.Touch.prototype={constructor:cc.Touch,getLocation:function(){return cc.v2(this._point.x,this._point.y)},getLocationX:function(){return this._point.x},getLocationY:function(){return this._point.y},getPreviousLocation:function(){return cc.v2(this._prevPoint.x,this._prevPoint.y)},getStartLocation:function(){return cc.v2(this._startPoint.x,this._startPoint.y)},getDelta:function(){return this._point.sub(this._prevPoint)},getLocationInView:function(){return cc.v2(this._point.x,cc.view._designResolutionSize.height-this._point.y)},getPreviousLocationInView:function(){return cc.v2(this._prevPoint.x,cc.view._designResolutionSize.height-this._prevPoint.y)},getStartLocationInView:function(){return cc.v2(this._startPoint.x,cc.view._designResolutionSize.height-this._startPoint.y)},getID:function(){return this._id},setTouchInfo:function(t,e,i){this._prevPoint=this._point,this._point=cc.v2(e||0,i||0),this._id=t,this._startPointCaptured||(this._startPoint=cc.v2(this._point),cc.view._convertPointWithScale(this._startPoint),this._startPointCaptured=!0)},_setPoint:function(t,e){void 0===e?(this._point.x=t.x,this._point.y=t.y):(this._point.x=t,this._point.y=e)},_setPrevPoint:function(t,e){this._prevPoint=void 0===e?cc.v2(t.x,t.y):cc.v2(t||0,e||0)}}}),{}],183:[(function(t,e){"use strict";t("./CCEvent"),t("./CCTouch"),t("./CCEventListener");var i=t("./CCEventManager");e.exports=i}),{"./CCEvent":179,"./CCEventListener":180,"./CCEventManager":181,"./CCTouch":182}],184:[(function(t,e){"use strict";var i=cc.js,n=t("../platform/callbacks-invoker");function r(){n.call(this)}i.extend(r,n),r.prototype.emit=function(t,e){var i=t.type,n=this._callbackTable[i];if(n){var r=!n.isInvoking;n.isInvoking=!0;for(var s=n.callbackInfos,a=0,o=s.length;a<o;++a){var l=s[a];if(l&&l.callback&&(l.callback.call(l.target,t,e),t._propagationImmediateStopped))break}r&&(n.isInvoking=!1,n.containCanceled&&n.purgeCanceled())}},e.exports=r}),{"../platform/callbacks-invoker":251}],185:[(function(t,e){"use strict";var i=t("../platform/js"),n=t("../platform/callbacks-invoker"),r=i.array.fastRemove;function s(){n.call(this)}i.extend(s,n);var a=s.prototype;a.__on=a.on,a.on=function(t,e,i,n){if(e)return this.hasEventListener(t,e,i)||(this.__on(t,e,i,n),i&&i.__eventTargets&&i.__eventTargets.push(this)),e;cc.errorID(6800)},a.__off=a.off,a.off=function(t,e,i){if(e)this.__off(t,e,i),i&&i.__eventTargets&&r(i.__eventTargets,this);else{var n=this._callbackTable[t];if(!n)return;for(var s=n.callbackInfos,a=0;a<s.length;++a){var o=s[a]&&s[a].target;o&&o.__eventTargets&&r(o.__eventTargets,this)}this.removeAll(t)}},a.targetOff=function(t){this.removeAll(t),t&&t.__eventTargets&&r(t.__eventTargets,this)},a.once=function(t,e,i){this.on(t,e,i,!0)},a.dispatchEvent=function(t){this.emit(t.type,t)},a.clear=function(){for(var t in this._callbackTable)for(var e=this._callbackTable[t].callbackInfos,i=e.length-1;i>=0;i--){var n=e[i];n&&this.off(t,n.callback,n.target)}},cc.EventTarget=e.exports=s}),{"../platform/callbacks-invoker":251,"../platform/js":259}],186:[(function(t,e){"use strict";var i=t("../platform/js");cc.Event=function(t,e){this.type=t,this.bubbles=!!e,this.target=null,this.currentTarget=null,this.eventPhase=0,this._propagationStopped=!1,this._propagationImmediateStopped=!1},cc.Event.prototype={constructor:cc.Event,unuse:function(){this.type=cc.Event.NO_TYPE,this.target=null,this.currentTarget=null,this.eventPhase=cc.Event.NONE,this._propagationStopped=!1,this._propagationImmediateStopped=!1},reuse:function(t,e){this.type=t,this.bubbles=e||!1},stopPropagation:function(){this._propagationStopped=!0},stopPropagationImmediate:function(){this._propagationImmediateStopped=!0},isStopped:function(){return this._propagationStopped||this._propagationImmediateStopped},getCurrentTarget:function(){return this.currentTarget},getType:function(){return this.type}},cc.Event.NO_TYPE="no_type",cc.Event.TOUCH="touch",cc.Event.MOUSE="mouse",cc.Event.KEYBOARD="keyboard",cc.Event.ACCELERATION="acceleration",cc.Event.NONE=0,cc.Event.CAPTURING_PHASE=1,cc.Event.AT_TARGET=2,cc.Event.BUBBLING_PHASE=3;var n=function(t,e){cc.Event.call(this,t,e),this.detail=null};i.extend(n,cc.Event),n.prototype.reset=n,n.prototype.setUserData=function(t){this.detail=t},n.prototype.getUserData=function(){return this.detail},n.prototype.getEventName=cc.Event.prototype.getType;var r=new i.Pool(10);n.put=function(t){r.put(t)},n.get=function(t,e){var i=r._get();return i?i.reset(t,e):i=new n(t,e),i},cc.Event.EventCustom=n,e.exports=cc.Event}),{"../platform/js":259}],187:[(function(t){"use strict";t("./event"),t("./event-listeners"),t("./event-target"),t("./system-event")}),{"./event":186,"./event-listeners":184,"./event-target":185,"./system-event":188}],188:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../event-manager"),r=t("../platform/CCInputManager"),s=cc.Enum({KEY_DOWN:"keydown",KEY_UP:"keyup",DEVICEMOTION:"devicemotion"}),a=null,o=null,l=cc.Class({name:"SystemEvent",extends:i,statics:{EventType:s},setAccelerometerEnabled:function(t){t&&window.DeviceMotionEvent&&"function"==typeof DeviceMotionEvent.requestPermission?DeviceMotionEvent.requestPermission().then((function(t){console.log("Device Motion Event request permission: "+t),r.setAccelerometerEnabled("granted"===t)})):r.setAccelerometerEnabled(t)},setAccelerometerInterval:function(t){r.setAccelerometerInterval(t)},on:function(t,e,i,r){this._super(t,e,i,r),t!==s.KEY_DOWN&&t!==s.KEY_UP||(a||(a=cc.EventListener.create({event:cc.EventListener.KEYBOARD,onKeyPressed:function(t,e){e.type=s.KEY_DOWN,cc.systemEvent.dispatchEvent(e)},onKeyReleased:function(t,e){e.type=s.KEY_UP,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.KEYBOARD)||n.addListener(a,1)),t===s.DEVICEMOTION&&(o||(o=cc.EventListener.create({event:cc.EventListener.ACCELERATION,callback:function(t,e){e.type=s.DEVICEMOTION,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.ACCELERATION)||n.addListener(o,1))},off:function(t,e,i){if(this._super(t,e,i),a&&(t===s.KEY_DOWN||t===s.KEY_UP)){var r=this.hasEventListener(s.KEY_DOWN),l=this.hasEventListener(s.KEY_UP);r||l||n.removeListener(a)}o&&t===s.DEVICEMOTION&&n.removeListener(o)}});cc.SystemEvent=e.exports=l,cc.systemEvent=new cc.SystemEvent}),{"../event-manager":183,"../event/event-target":185,"../platform/CCInputManager":242}],189:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../value-types/vec3")),r=a(t("../value-types/mat3")),s=a(t("./enums"));function a(t){return t&&t.__esModule?t:{default:t}}var o=new n.default,l=new n.default,c=new r.default,h=function(t,e,i){var r=c.m,s=i.m;r[0]=Math.abs(s[0]),r[1]=Math.abs(s[1]),r[2]=Math.abs(s[2]),r[3]=Math.abs(s[4]),r[4]=Math.abs(s[5]),r[5]=Math.abs(s[6]),r[6]=Math.abs(s[8]),r[7]=Math.abs(s[9]),r[8]=Math.abs(s[10]),n.default.transformMat3(t,e,c)},u=(function(){function t(t,e,i,r,a,o){this.center=void 0,this.halfExtents=void 0,this._type=void 0,this._type=s.default.SHAPE_AABB,this.center=new n.default(t,e,i),this.halfExtents=new n.default(r,a,o)}t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.halfExtents.x,e.halfExtents.y,e.halfExtents.z)},t.copy=function(t,e){return n.default.copy(t.center,e.center),n.default.copy(t.halfExtents,e.halfExtents),t},t.fromPoints=function(t,e,i){return n.default.scale(t.center,n.default.add(o,e,i),.5),n.default.scale(t.halfExtents,n.default.sub(l,i,e),.5),t},t.set=function(t,e,i,r,s,a,o){return n.default.set(t.center,e,i,r),n.default.set(t.halfExtents,s,a,o),t};var e=t.prototype;return e.getBoundary=function(t,e){n.default.sub(t,this.center,this.halfExtents),n.default.add(e,this.center,this.halfExtents)},e.transform=function(t,e,i,r,s){s||(s=this),n.default.transformMat4(s.center,this.center,t),h(s.halfExtents,this.halfExtents,t)},t})();i.default=u,e.exports=i.default}),{"../value-types/mat3":339,"../value-types/vec3":348,"./enums":191}],190:[(function(t,e,i){"use strict";i.__esModule=!0,i.point_plane=_,i.pt_point_plane=function(t,e,i){var r=_(e,i);return n.Vec3.subtract(t,e,n.Vec3.multiplyScalar(t,i.n,r))},i.pt_point_aabb=function(t,e,i){return n.Vec3.copy(t,e),n.Vec3.subtract(l,i.center,i.halfExtents),n.Vec3.add(c,i.center,i.halfExtents),t.x=t.x<l.x?l.x:t.x,t.y=t.y<l.x?l.y:t.y,t.z=t.z<l.x?l.z:t.z,t.x=t.x>c.x?c.x:t.x,t.y=t.y>c.x?c.y:t.y,t.z=t.z>c.x?c.z:t.z,t},i.pt_point_obb=function(t,e,i){var l=i.orientation.m;n.Vec3.set(r,l[0],l[1],l[2]),n.Vec3.set(s,l[3],l[4],l[5]),n.Vec3.set(a,l[6],l[7],l[8]),h[0]=r,h[1]=s,h[2]=a,u[0]=i.halfExtents.x,u[1]=i.halfExtents.y,u[2]=i.halfExtents.z,n.Vec3.subtract(o,e,i.center),n.Vec3.set(t,i.center.x,i.center.y,i.center.z);for(var c=0;c<3;c++){var _=n.Vec3.dot(o,h[c]);_>u[c]&&(_=u[c]),_<-u[c]&&(_=-u[c]),t.x+=_*h[c].x,t.y+=_*h[c].y,t.z+=_*h[c].z}return t};var n=t("../value-types"),r=new n.Vec3,s=new n.Vec3,a=new n.Vec3,o=new n.Vec3,l=new n.Vec3,c=new n.Vec3,h=new Array(3),u=new Array(3);function _(t,e){return n.Vec3.dot(e.n,t)-e.d}}),{"../value-types":338}],191:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.default={SHAPE_RAY:1,SHAPE_LINE:2,SHAPE_SPHERE:4,SHAPE_AABB:8,SHAPE_OBB:16,SHAPE_PLANE:32,SHAPE_TRIANGLE:64,SHAPE_FRUSTUM:128,SHAPE_FRUSTUM_ACCURATE:256},e.exports=i.default}),{}],192:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../value-types"),r=a(t("./enums")),s=a(t("./plane"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var l=new Array(8);l[0]=new n.Vec3(1,1,1),l[1]=new n.Vec3(-1,1,1),l[2]=new n.Vec3(-1,-1,1),l[3]=new n.Vec3(1,-1,1),l[4]=new n.Vec3(1,1,-1),l[5]=new n.Vec3(-1,1,-1),l[6]=new n.Vec3(-1,-1,-1),l[7]=new n.Vec3(1,-1,-1);var c,h=(function(){var t,e;function i(){this.planes=void 0,this.vertices=void 0,this._type=void 0,this._type=r.default.SHAPE_FRUSTUM,this.planes=new Array(6);for(var t=0;t<6;++t)this.planes[t]=s.default.create(0,0,0,0);this.vertices=new Array(8);for(var e=0;e<8;++e)this.vertices[e]=new n.Vec3}i.create=function(){return new i},i.clone=function(t){return i.copy(new i,t)},i.copy=function(t,e){t._type=e._type;for(var i=0;i<6;++i)s.default.copy(t.planes[i],e.planes[i]);for(var r=0;r<8;++r)n.Vec3.copy(t.vertices[r],e.vertices[r]);return t},t=i,(e=[{key:"accurate",set:function(t){this._type=t?r.default.SHAPE_FRUSTUM_ACCURATE:r.default.SHAPE_FRUSTUM}}])&&o(t.prototype,e);var a=i.prototype;return a.update=function(t,e){var i=t.m;if(n.Vec3.set(this.planes[0].n,i[3]+i[0],i[7]+i[4],i[11]+i[8]),this.planes[0].d=-(i[15]+i[12]),n.Vec3.set(this.planes[1].n,i[3]-i[0],i[7]-i[4],i[11]-i[8]),this.planes[1].d=-(i[15]-i[12]),n.Vec3.set(this.planes[2].n,i[3]+i[1],i[7]+i[5],i[11]+i[9]),this.planes[2].d=-(i[15]+i[13]),n.Vec3.set(this.planes[3].n,i[3]-i[1],i[7]-i[5],i[11]-i[9]),this.planes[3].d=-(i[15]-i[13]),n.Vec3.set(this.planes[4].n,i[3]+i[2],i[7]+i[6],i[11]+i[10]),this.planes[4].d=-(i[15]+i[14]),n.Vec3.set(this.planes[5].n,i[3]-i[2],i[7]-i[6],i[11]-i[10]),this.planes[5].d=-(i[15]-i[14]),this._type===r.default.SHAPE_FRUSTUM_ACCURATE){for(var s=0;s<6;s++){var a=this.planes[s],o=1/a.n.length();n.Vec3.multiplyScalar(a.n,a.n,o),a.d*=o}for(var c=0;c<8;c++)n.Vec3.transformMat4(this.vertices[c],l[c],e)}},a.transform=function(t){if(this._type===r.default.SHAPE_FRUSTUM_ACCURATE){for(var e=0;e<8;e++)n.Vec3.transformMat4(this.vertices[e],this.vertices[e],t);s.default.fromPoints(this.planes[0],this.vertices[1],this.vertices[5],this.vertices[6]),s.default.fromPoints(this.planes[1],this.vertices[3],this.vertices[7],this.vertices[4]),s.default.fromPoints(this.planes[2],this.vertices[6],this.vertices[7],this.vertices[3]),s.default.fromPoints(this.planes[3],this.vertices[0],this.vertices[4],this.vertices[5]),s.default.fromPoints(this.planes[4],this.vertices[2],this.vertices[3],this.vertices[0]),s.default.fromPoints(this.planes[0],this.vertices[7],this.vertices[6],this.vertices[5])}},i})();i.default=h,h.createOrtho=(c=new n.Vec3,function(t,e,i,r,a,o){var l=e/2,h=i/2;n.Vec3.set(c,l,h,r),n.Vec3.transformMat4(t.vertices[0],c,o),n.Vec3.set(c,-l,h,r),n.Vec3.transformMat4(t.vertices[1],c,o),n.Vec3.set(c,-l,-h,r),n.Vec3.transformMat4(t.vertices[2],c,o),n.Vec3.set(c,l,-h,r),n.Vec3.transformMat4(t.vertices[3],c,o),n.Vec3.set(c,l,h,a),n.Vec3.transformMat4(t.vertices[4],c,o),n.Vec3.set(c,-l,h,a),n.Vec3.transformMat4(t.vertices[5],c,o),n.Vec3.set(c,-l,-h,a),n.Vec3.transformMat4(t.vertices[6],c,o),n.Vec3.set(c,l,-h,a),n.Vec3.transformMat4(t.vertices[7],c,o),s.default.fromPoints(t.planes[0],t.vertices[1],t.vertices[6],t.vertices[5]),s.default.fromPoints(t.planes[1],t.vertices[3],t.vertices[4],t.vertices[7]),s.default.fromPoints(t.planes[2],t.vertices[6],t.vertices[3],t.vertices[7]),s.default.fromPoints(t.planes[3],t.vertices[0],t.vertices[5],t.vertices[4]),s.default.fromPoints(t.planes[4],t.vertices[2],t.vertices[0],t.vertices[3]),s.default.fromPoints(t.planes[0],t.vertices[7],t.vertices[5],t.vertices[6])}),e.exports=i.default}),{"../value-types":338,"./enums":191,"./plane":197}],193:[(function(t,e,i){"use strict";i.__esModule=!0;var n={enums:!0,Triangle:!0,Aabb:!0,Ray:!0,intersect:!0,Sphere:!0,Obb:!0,Frustum:!0,Line:!0,Plane:!0};i.Plane=i.Line=i.Frustum=i.Obb=i.Sphere=i.intersect=i.Ray=i.Aabb=i.Triangle=i.enums=void 0;var r=p(t("./enums"));i.enums=r.default;var s=p(t("./triangle"));i.Triangle=s.default;var a=p(t("./aabb"));i.Aabb=a.default;var o=p(t("./ray"));i.Ray=o.default;var l=p(t("./intersect"));i.intersect=l.default;var c=p(t("./sphere"));i.Sphere=c.default;var h=p(t("./obb"));i.Obb=h.default;var u=p(t("./frustum"));i.Frustum=u.default;var _=p(t("./line"));i.Line=_.default;var f=p(t("./plane"));i.Plane=f.default;var d=t("./distance");function p(t){return t&&t.__esModule?t:{default:t}}Object.keys(d).forEach((function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in i&&i[t]===d[t]||(i[t]=d[t]))})),cc.geomUtils=e.exports}),{"./aabb":189,"./distance":190,"./enums":191,"./frustum":192,"./intersect":194,"./line":195,"./obb":196,"./plane":197,"./ray":198,"./sphere":199,"./triangle":200}],194:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=_(t("../../renderer/gfx")),r=_(t("../../renderer/memop/recycle-pool")),s=t("../value-types"),a=_(t("./aabb")),o=(function(t){if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var e=u();if(e&&e.has(t))return e.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var s=n?Object.getOwnPropertyDescriptor(t,r):null;s&&(s.get||s.set)?Object.defineProperty(i,r,s):i[r]=t[r]}return i.default=t,e&&e.set(t,i),i})(t("./distance")),l=_(t("./enums")),c=_(t("./ray")),h=_(t("./triangle"));function u(){if("function"!=typeof WeakMap)return null;var t=new WeakMap;return u=function(){return t},t}function _(t){return t&&t.__esModule?t:{default:t}}var f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M=(function(){var t=h.default.create(),e=1/0;function i(t,e,i,n){s.Vec3.set(t,e[i*n],e[i*n+1],e[i*n+2])}return function(r,s){e=1/0;for(var a=s._subMeshes,o=0;o<a.length;o++)if(a[o]._primitiveType===n.default.PT_TRIANGLES)for(var l=s._subDatas[o]||s._subDatas[0],c=s._getAttrMeshData(o,n.default.ATTR_POSITION),h=l.getIData(Uint16Array),u=l.vfm.element(n.default.ATTR_POSITION).num,_=0;_<h.length;_+=3){i(t.a,c,h[_],u),i(t.b,c,h[_+1],u),i(t.c,c,h[_+2],u);var f=P(r,t);f>0&&f<e&&(e=f)}return e}})(),D=(function(){function t(e,i){for(var n=e.children,r=n.length-1;r>=0;r--)t(n[r],i);i(e)}function e(t,e){return t.distance-e.distance}function i(t,e,i){var n=i.m,r=e.x,s=e.y,a=e.z,o=n[3]*r+n[7]*s+n[11]*a;return o=o?1/o:1,t.x=(n[0]*r+n[4]*s+n[8]*a)*o,t.y=(n[1]*r+n[5]*s+n[9]*a)*o,t.z=(n[2]*r+n[6]*s+n[10]*a)*o,t}var n=new r.default(function(){return{distance:0,node:null}},1),o=[],l=a.default.create(),h=new s.Vec3,u=new s.Vec3,_=new c.default,f=cc.mat4(),d=cc.mat4(),p=new s.Vec3;function m(t){return t>0&&t<1/0}return function(r,c,y,v){return n.reset(),o.length=0,t(r=r||cc.director.getScene(),(function(t){if(!v||v(t)){s.Mat4.invert(d,t.getWorldMatrix(f)),s.Vec3.transformMat4(_.o,c.o,d),s.Vec3.normalize(_.d,i(_.d,c.d,d));var e=1/0,r=t._renderComponent;if(r instanceof cc.MeshRenderer?e=V(_,r._boundingBox):t.width&&t.height&&(s.Vec3.set(h,-t.width*t.anchorX,-t.height*t.anchorY,t.z),s.Vec3.set(u,t.width*(1-t.anchorX),t.height*(1-t.anchorY),t.z),a.default.fromPoints(l,h,u),e=V(_,l)),m(e)&&(y&&(e=y(_,t,e)),m(e))){s.Vec3.scale(p,_.d,e),i(p,p,f);var g=n.add();g.node=t,g.distance=s.Vec3.mag(p),o.push(g)}}})),o.sort(e),o}})(),B=(f=new s.Vec3(0,0,0),function(t,e){var i=s.Vec3.dot(t.d,e.n);if(Math.abs(i)<Number.EPSILON)return 0;s.Vec3.multiplyScalar(f,e.n,e.d);var n=s.Vec3.dot(s.Vec3.subtract(f,f,t.o),e.n)/i;return n<0?0:n}),I=(d=new s.Vec3(0,0,0),function(t,e){s.Vec3.subtract(d,t.e,t.s);var i=(e.d-s.Vec3.dot(t.s,e.n))/s.Vec3.dot(d,e.n);return i<0||i>1?0:i}),P=(function(){var t=new s.Vec3(0,0,0),e=new s.Vec3(0,0,0),i=new s.Vec3(0,0,0),n=new s.Vec3(0,0,0),r=new s.Vec3(0,0,0);return function(a,o,l){s.Vec3.subtract(t,o.b,o.a),s.Vec3.subtract(e,o.c,o.a),s.Vec3.cross(i,a.d,e);var c=s.Vec3.dot(t,i);if(c<Number.EPSILON&&(!l||c>-Number.EPSILON))return 0;var h=1/c;s.Vec3.subtract(n,a.o,o.a);var u=s.Vec3.dot(n,i)*h;if(u<0||u>1)return 0;s.Vec3.cross(r,n,t);var _=s.Vec3.dot(a.d,r)*h;if(_<0||u+_>1)return 0;var f=s.Vec3.dot(e,r)*h;return f<0?0:f}})(),R=P,O=(function(){var t=new s.Vec3(0,0,0),e=new s.Vec3(0,0,0),i=new s.Vec3(0,0,0),n=new s.Vec3(0,0,0),r=new s.Vec3(0,0,0),a=new s.Vec3(0,0,0);return function(o,l,c){s.Vec3.subtract(t,l.b,l.a),s.Vec3.subtract(e,l.c,l.a),s.Vec3.subtract(i,o.s,o.e),s.Vec3.cross(r,t,e);var h=s.Vec3.dot(i,r);if(h<=0)return 0;s.Vec3.subtract(n,o.s,l.a);var u=s.Vec3.dot(n,r);if(u<0||u>h)return 0;s.Vec3.cross(a,i,n);var _=s.Vec3.dot(e,a);if(_<0||_>h)return 0;var f=-s.Vec3.dot(t,a);if(f<0||_+f>h)return 0;if(c){var d=1/h,p=1-(_*=d)-(f*=d);s.Vec3.set(c,l.a.x*p+l.b.x*_+l.c.x*f,l.a.y*p+l.b.y*_+l.c.y*f,l.a.z*p+l.b.z*_+l.c.z*f)}return 1}})(),L=(p=new s.Vec3(0,0,0),m=new s.Vec3(0,0,0),y=new s.Vec3(0,0,0),v=new s.Vec3(0,0,0),g=new s.Vec3(0,0,0),b=new s.Vec3(0,0,0),A=new s.Vec3(0,0,0),function(t,e,i,n,r,a,o){s.Vec3.subtract(p,e,t),s.Vec3.subtract(m,i,t),s.Vec3.subtract(y,n,t),s.Vec3.subtract(v,r,t),s.Vec3.cross(b,v,p);var l=s.Vec3.dot(m,b);if(l>=0){var c=-s.Vec3.dot(y,b);if(c<0)return 0;var h=s.Vec3.dot(s.Vec3.cross(A,p,y),m);if(h<0)return 0;if(o){var u=1/(c+l+h);c*=u,l*=u,h*=u,s.Vec3.set(o,i.x*c+n.x*l+r.x*h,i.y*c+n.y*l+r.y*h,i.z*c+n.z*l+r.z*h)}}else{s.Vec3.subtract(g,a,t);var _=s.Vec3.dot(g,b);if(_<0)return 0;var f=s.Vec3.dot(s.Vec3.cross(A,p,m),g);if(f<0)return 0;if(o){var d=1/(_+(l=-l)+f);_*=d,l*=d,f*=d,s.Vec3.set(o,i.x*_+a.x*l+r.x*f,i.y*_+a.y*l+r.y*f,i.z*_+a.z*l+r.z*f)}}return 1}),F=(function(){var t=new s.Vec3(0,0,0);return function(e,i){var n=i.radius,r=i.center,a=e.o,o=e.d,l=n*n;s.Vec3.subtract(t,r,a);var c=t.lengthSqr(),h=s.Vec3.dot(t,o),u=l-(c-h*h);if(u<0)return 0;var _=Math.sqrt(u),f=c<l?h+_:h-_;return f<0?0:f}})(),V=(x=new s.Vec3,C=new s.Vec3,function(t,e){var i=t.o,n=t.d,r=1/n.x,a=1/n.y,o=1/n.z;s.Vec3.subtract(x,e.center,e.halfExtents),s.Vec3.add(C,e.center,e.halfExtents);var l=(x.x-i.x)*r,c=(C.x-i.x)*r,h=(x.y-i.y)*a,u=(C.y-i.y)*a,_=(x.z-i.z)*o,f=(C.z-i.z)*o,d=Math.max(Math.max(Math.min(l,c),Math.min(h,u)),Math.min(_,f)),p=Math.min(Math.min(Math.max(l,c),Math.max(h,u)),Math.max(_,f));return p<0||d>p?0:d}),N=V,k=(function(){var t=new s.Vec3,e=new s.Vec3,i=new s.Vec3,n=new s.Vec3,r=new s.Vec3,a=new s.Vec3,o=new s.Vec3,l=new Array(3),c=new Array(3),h=new Array(3),u=new Array(6);return function(_,f){l[0]=f.halfExtents.x,l[1]=f.halfExtents.y,l[2]=f.halfExtents.z,t=f.center,e=_.o,i=_.d;var d=f.orientation.m;s.Vec3.set(n,d[0],d[1],d[2]),s.Vec3.set(r,d[3],d[4],d[5]),s.Vec3.set(a,d[6],d[7],d[8]),s.Vec3.subtract(o,t,e),c[0]=s.Vec3.dot(n,i),c[1]=s.Vec3.dot(r,i),c[2]=s.Vec3.dot(a,i),h[0]=s.Vec3.dot(n,o),h[1]=s.Vec3.dot(r,o),h[2]=s.Vec3.dot(a,o);for(var p=0;p<3;++p){if(0===c[p]){if(-h[p]-l[p]>0||-h[p]+l[p]<0)return 0;c[p]=1e-7}u[2*p+0]=(h[p]+l[p])/c[p],u[2*p+1]=(h[p]-l[p])/c[p]}var m=Math.max(Math.max(Math.min(u[0],u[1]),Math.min(u[2],u[3])),Math.min(u[4],u[5])),y=Math.min(Math.min(Math.max(u[0],u[1]),Math.max(u[2],u[3])),Math.max(u[4],u[5]));return y<0||m>y||m<0?0:m}})(),z=(T=new s.Vec3,S=new s.Vec3,w=new s.Vec3,E=new s.Vec3,function(t,e){return s.Vec3.subtract(T,t.center,t.halfExtents),s.Vec3.add(S,t.center,t.halfExtents),s.Vec3.subtract(w,e.center,e.halfExtents),s.Vec3.add(E,e.center,e.halfExtents),T.x<=E.x&&S.x>=w.x&&T.y<=E.y&&S.y>=w.y&&T.z<=E.z&&S.z>=w.z});function G(t,e,i){s.Vec3.set(i[0],t.x,e.y,e.z),s.Vec3.set(i[1],t.x,e.y,t.z),s.Vec3.set(i[2],t.x,t.y,e.z),s.Vec3.set(i[3],t.x,t.y,t.z),s.Vec3.set(i[4],e.x,e.y,e.z),s.Vec3.set(i[5],e.x,e.y,t.z),s.Vec3.set(i[6],e.x,t.y,e.z),s.Vec3.set(i[7],e.x,t.y,t.z)}function U(t,e,i,n,r,a){s.Vec3.set(a[0],t.x+i.x*e.x+n.x*e.y+r.x*e.z,t.y+i.y*e.x+n.y*e.y+r.y*e.z,t.z+i.z*e.x+n.z*e.y+r.z*e.z),s.Vec3.set(a[1],t.x-i.x*e.x+n.x*e.y+r.x*e.z,t.y-i.y*e.x+n.y*e.y+r.y*e.z,t.z-i.z*e.x+n.z*e.y+r.z*e.z),s.Vec3.set(a[2],t.x+i.x*e.x-n.x*e.y+r.x*e.z,t.y+i.y*e.x-n.y*e.y+r.y*e.z,t.z+i.z*e.x-n.z*e.y+r.z*e.z),s.Vec3.set(a[3],t.x+i.x*e.x+n.x*e.y-r.x*e.z,t.y+i.y*e.x+n.y*e.y-r.y*e.z,t.z+i.z*e.x+n.z*e.y-r.z*e.z),s.Vec3.set(a[4],t.x-i.x*e.x-n.x*e.y-r.x*e.z,t.y-i.y*e.x-n.y*e.y-r.y*e.z,t.z-i.z*e.x-n.z*e.y-r.z*e.z),s.Vec3.set(a[5],t.x+i.x*e.x-n.x*e.y-r.x*e.z,t.y+i.y*e.x-n.y*e.y-r.y*e.z,t.z+i.z*e.x-n.z*e.y-r.z*e.z),s.Vec3.set(a[6],t.x-i.x*e.x+n.x*e.y-r.x*e.z,t.y-i.y*e.x+n.y*e.y-r.y*e.z,t.z-i.z*e.x+n.z*e.y-r.z*e.z),s.Vec3.set(a[7],t.x-i.x*e.x-n.x*e.y+r.x*e.z,t.y-i.y*e.x-n.y*e.y+r.y*e.z,t.z-i.z*e.x-n.z*e.y+r.z*e.z)}function j(t,e){for(var i=s.Vec3.dot(e,t[0]),n=i,r=1;r<8;++r){var a=s.Vec3.dot(e,t[r]);i=a<i?a:i,n=a>n?a:n}return[i,n]}var H,W=(function(){for(var t=new Array(15),e=0;e<15;e++)t[e]=new s.Vec3(0,0,0);for(var i=new Array(8),n=new Array(8),r=0;r<8;r++)i[r]=new s.Vec3(0,0,0),n[r]=new s.Vec3(0,0,0);var a=new s.Vec3,o=new s.Vec3;return function(e,r){var l=r.orientation.m;s.Vec3.set(t[0],1,0,0),s.Vec3.set(t[1],0,1,0),s.Vec3.set(t[2],0,0,1),s.Vec3.set(t[3],l[0],l[1],l[2]),s.Vec3.set(t[4],l[3],l[4],l[5]),s.Vec3.set(t[5],l[6],l[7],l[8]);for(var c=0;c<3;++c)s.Vec3.cross(t[6+3*c],t[c],t[0]),s.Vec3.cross(t[7+3*c],t[c],t[1]),s.Vec3.cross(t[7+3*c],t[c],t[2]);s.Vec3.subtract(a,e.center,e.halfExtents),s.Vec3.add(o,e.center,e.halfExtents),G(a,o,i),U(r.center,r.halfExtents,t[3],t[4],t[5],n);for(var h=0;h<15;++h){var u=j(i,t[h]),_=j(n,t[h]);if(_[0]>u[1]||u[0]>_[1])return 0}return 1}})(),X=function(t,e){var i=t.halfExtents.x*Math.abs(e.n.x)+t.halfExtents.y*Math.abs(e.n.y)+t.halfExtents.z*Math.abs(e.n.z),n=s.Vec3.dot(e.n,t.center);return n+i<e.d?-1:n-i>e.d?0:1},Y=function(t,e){for(var i=0;i<e.planes.length;i++)if(-1===X(t,e.planes[i]))return 0;return 1},q=(function(){for(var t=new Array(8),e=0,i=0,n=0;n<t.length;n++)t[n]=new s.Vec3(0,0,0);return function(n,r){for(var a=0,o=!1,l=0;l<r.planes.length;l++){if(-1===(a=X(n,r.planes[l])))return 0;1===a&&(o=!0)}if(!o)return 1;for(var c=0;c<r.vertices.length;c++)s.Vec3.subtract(t[c],r.vertices[c],n.center);e=0,i=0;for(var h=0;h<r.vertices.length;h++)t[h].x>n.halfExtents.x?e++:t[h].x<-n.halfExtents.x&&i++;if(e===r.vertices.length||i===r.vertices.length)return 0;e=0,i=0;for(var u=0;u<r.vertices.length;u++)t[u].y>n.halfExtents.y?e++:t[u].y<-n.halfExtents.y&&i++;if(e===r.vertices.length||i===r.vertices.length)return 0;e=0,i=0;for(var _=0;_<r.vertices.length;_++)t[_].z>n.halfExtents.z?e++:t[_].z<-n.halfExtents.z&&i++;return e===r.vertices.length||i===r.vertices.length?0:1}})(),J=(function(){var t=new s.Vec3(0,0,0),e=new s.Mat3;return function(i,n){return s.Vec3.subtract(t,n,i.center),s.Vec3.transformMat3(t,t,s.Mat3.transpose(e,i.orientation)),r=t,a=i.halfExtents,Math.abs(r.x)<a.x&&Math.abs(r.y)<a.y&&Math.abs(r.z)<a.z;var r,a}})(),Z=(H=function(t,e,i,n){return Math.abs(t.x*e+t.y*i+t.z*n)},function(t,e){var i=t.orientation.m,n=t.halfExtents.x*H(e.n,i[0],i[1],i[2])+t.halfExtents.y*H(e.n,i[3],i[4],i[5])+t.halfExtents.z*H(e.n,i[6],i[7],i[8]),r=s.Vec3.dot(e.n,t.center);return r+n<e.d?-1:r-n>e.d?0:1}),K=function(t,e){for(var i=0;i<e.planes.length;i++)if(-1===Z(t,e.planes[i]))return 0;return 1},Q=(function(){for(var t=new Array(8),e=0,i=0,n=0,r=0;r<t.length;r++)t[r]=new s.Vec3(0,0,0);var a=function(t,e,i,n){return t.x*e+t.y*i+t.z*n};return function(r,o){for(var l=0,c=!1,h=0;h<o.planes.length;h++){if(-1===(l=Z(r,o.planes[h])))return 0;1===l&&(c=!0)}if(!c)return 1;for(var u=0;u<o.vertices.length;u++)s.Vec3.subtract(t[u],o.vertices[u],r.center);i=0,n=0;for(var _=r.orientation.m,f=0;f<o.vertices.length;f++)(e=a(t[f],_[0],_[1],_[2]))>r.halfExtents.x?i++:e<-r.halfExtents.x&&n++;if(i===o.vertices.length||n===o.vertices.length)return 0;i=0,n=0;for(var d=0;d<o.vertices.length;d++)(e=a(t[d],_[3],_[4],_[5]))>r.halfExtents.y?i++:e<-r.halfExtents.y&&n++;if(i===o.vertices.length||n===o.vertices.length)return 0;i=0,n=0;for(var p=0;p<o.vertices.length;p++)(e=a(t[p],_[6],_[7],_[8]))>r.halfExtents.z?i++:e<-r.halfExtents.z&&n++;return i===o.vertices.length||n===o.vertices.length?0:1}})(),$=(function(){for(var t=new Array(15),e=0;e<15;e++)t[e]=new s.Vec3(0,0,0);for(var i=new Array(8),n=new Array(8),r=0;r<8;r++)i[r]=new s.Vec3(0,0,0),n[r]=new s.Vec3(0,0,0);return function(e,r){var a=e.orientation.m,o=r.orientation.m;s.Vec3.set(t[0],a[0],a[1],a[2]),s.Vec3.set(t[1],a[3],a[4],a[5]),s.Vec3.set(t[2],a[6],a[7],a[8]),s.Vec3.set(t[3],o[0],o[1],o[2]),s.Vec3.set(t[4],o[3],o[4],o[5]),s.Vec3.set(t[5],o[6],o[7],o[8]);for(var l=0;l<3;++l)s.Vec3.cross(t[6+3*l],t[l],t[0]),s.Vec3.cross(t[7+3*l],t[l],t[1]),s.Vec3.cross(t[7+3*l],t[l],t[2]);U(e.center,e.halfExtents,t[0],t[1],t[2],i),U(r.center,r.halfExtents,t[3],t[4],t[5],n);for(var c=0;c<15;++c){var h=j(i,t[c]),u=j(n,t[c]);if(u[0]>h[1]||h[0]>u[1])return 0}return 1}})(),tt=function(t,e){var i=s.Vec3.dot(e.n,t.center),n=t.radius*e.n.length();return i+n<e.d?-1:i-n>e.d?0:1},et=function(t,e){for(var i=0;i<e.planes.length;i++)if(-1===tt(t,e.planes[i]))return 0;return 1},it=(function(){var t=new s.Vec3(0,0,0),e=[1,-1,1,-1,1,-1];return function(i,n){for(var r=0;r<6;r++){var a=n.planes[r],o=i.radius,l=i.center,c=a.n,h=a.d,u=s.Vec3.dot(c,l);if(u+o<h)return 0;if(!(u-o>h)){s.Vec3.add(t,l,s.Vec3.multiplyScalar(t,c,o));for(var _=0;_<6;_++)if(_!==r&&_!==r+e[r]){var f=n.planes[_];if(s.Vec3.dot(f.n,t)<f.d)return 0}}}return 1}})(),nt=function(t,e){var i=t.radius+e.radius;return s.Vec3.squaredDistance(t.center,e.center)<i*i},rt=(function(){var t=new s.Vec3;return function(e,i){return o.pt_point_aabb(t,e.center,i),s.Vec3.squaredDistance(e.center,t)<e.radius*e.radius}})(),st=(function(){var t=new s.Vec3;return function(e,i){return o.pt_point_obb(t,e.center,i),s.Vec3.squaredDistance(e.center,t)<e.radius*e.radius}})(),at={rayAabb:N,rayMesh:M,raycast:D,rayTriangle:R,ray_sphere:F,ray_aabb:V,ray_obb:k,ray_plane:B,ray_triangle:P,line_plane:I,line_triangle:O,line_quad:L,sphere_sphere:nt,sphere_aabb:rt,sphere_obb:st,sphere_plane:tt,sphere_frustum:et,sphere_frustum_accurate:it,aabb_aabb:z,aabb_obb:W,aabb_plane:X,aabb_frustum:Y,aabb_frustum_accurate:q,obb_obb:$,obb_plane:Z,obb_frustum:K,obb_frustum_accurate:Q,obb_point:J,resolve:function(t,e,i){void 0===i&&(i=null);var n=t._type,r=e._type,s=this[n|r];return n<r?s(t,e,i):s(e,t,i)}};at[l.default.SHAPE_RAY|l.default.SHAPE_SPHERE]=F,at[l.default.SHAPE_RAY|l.default.SHAPE_AABB]=V,at[l.default.SHAPE_RAY|l.default.SHAPE_OBB]=k,at[l.default.SHAPE_RAY|l.default.SHAPE_PLANE]=B,at[l.default.SHAPE_RAY|l.default.SHAPE_TRIANGLE]=P,at[l.default.SHAPE_LINE|l.default.SHAPE_PLANE]=I,at[l.default.SHAPE_LINE|l.default.SHAPE_TRIANGLE]=O,at[l.default.SHAPE_SPHERE]=nt,at[l.default.SHAPE_SPHERE|l.default.SHAPE_AABB]=rt,at[l.default.SHAPE_SPHERE|l.default.SHAPE_OBB]=st,at[l.default.SHAPE_SPHERE|l.default.SHAPE_PLANE]=tt,at[l.default.SHAPE_SPHERE|l.default.SHAPE_FRUSTUM]=et,at[l.default.SHAPE_SPHERE|l.default.SHAPE_FRUSTUM_ACCURATE]=it,at[l.default.SHAPE_AABB]=z,at[l.default.SHAPE_AABB|l.default.SHAPE_OBB]=W,at[l.default.SHAPE_AABB|l.default.SHAPE_PLANE]=X,at[l.default.SHAPE_AABB|l.default.SHAPE_FRUSTUM]=Y,at[l.default.SHAPE_AABB|l.default.SHAPE_FRUSTUM_ACCURATE]=q,at[l.default.SHAPE_OBB]=$,at[l.default.SHAPE_OBB|l.default.SHAPE_PLANE]=Z,at[l.default.SHAPE_OBB|l.default.SHAPE_FRUSTUM]=K,at[l.default.SHAPE_OBB|l.default.SHAPE_FRUSTUM_ACCURATE]=Q;var ot=at;i.default=ot,e.exports=i.default}),{"../../renderer/gfx":371,"../../renderer/memop/recycle-pool":386,"../value-types":338,"./aabb":189,"./distance":190,"./enums":191,"./ray":198,"./triangle":200}],195:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,a,o){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===a&&(a=0),void 0===o&&(o=-1),this.s=void 0,this.e=void 0,this._type=void 0,this._type=s.default.SHAPE_LINE,this.s=new r.Vec3(t,e,i),this.e=new r.Vec3(n,a,o)}return t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.s.x,e.s.y,e.s.z,e.e.x,e.e.y,e.e.z)},t.copy=function(t,e){return r.Vec3.copy(t.s,e.s),r.Vec3.copy(t.e,e.e),t},t.fromPoints=function(t,e,i){return r.Vec3.copy(t.s,e),r.Vec3.copy(t.e,i),t},t.set=function(t,e,i,n,r,s,a){return t.s.x=e,t.s.y=i,t.s.z=n,t.e.x=r,t.e.y=s,t.e.z=a,t},t.len=function(t){return r.Vec3.distance(t.s,t.e)},t.prototype.length=function(){return r.Vec3.distance(this.s,this.e)},t})();i.default=a,e.exports=i.default}),{"../value-types":338,"./enums":191}],196:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n};function a(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var o=new r.Vec3,l=new r.Vec3,c=new r.Mat3,h=(function(){var t,e;function i(t,e,i,n,a,o,l,c,h,u,_,f,d,p,m){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===a&&(a=1),void 0===o&&(o=1),void 0===l&&(l=1),void 0===c&&(c=0),void 0===h&&(h=0),void 0===u&&(u=0),void 0===_&&(_=1),void 0===f&&(f=0),void 0===d&&(d=0),void 0===p&&(p=0),void 0===m&&(m=1),this.center=void 0,this.halfExtents=void 0,this.orientation=void 0,this._type=void 0,this._type=s.default.SHAPE_OBB,this.center=new r.Vec3(t,e,i),this.halfExtents=new r.Vec3(n,a,o),this.orientation=new r.Mat3(l,c,h,u,_,f,d,p,m)}i.create=function(t,e,n,r,s,a,o,l,c,h,u,_,f,d,p){return new i(t,e,n,r,s,a,o,l,c,h,u,_,f,d,p)},i.clone=function(t){var e=t.orientation.m;return new i(t.center.x,t.center.y,t.center.z,t.halfExtents.x,t.halfExtents.y,t.halfExtents.z,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},i.copy=function(t,e){return r.Vec3.copy(t.center,e.center),r.Vec3.copy(t.halfExtents,e.halfExtents),r.Mat3.copy(t.orientation,e.orientation),t},i.fromPoints=function(t,e,i){return r.Vec3.multiplyScalar(t.center,r.Vec3.add(o,e,i),.5),r.Vec3.multiplyScalar(t.halfExtents,r.Vec3.subtract(l,i,e),.5),r.Mat3.identity(t.orientation),t},i.set=function(t,e,i,n,s,a,o,l,c,h,u,_,f,d,p,m){return r.Vec3.set(t.center,e,i,n),r.Vec3.set(t.halfExtents,s,a,o),r.Mat3.set(t.orientation,l,c,h,u,_,f,d,p,m),t},t=i,(e=[{key:"type",get:function(){return this._type}}])&&a(t.prototype,e);var n=i.prototype;return n.getBoundary=function(t,e){var i,n,s,a,l;i=o,n=this.halfExtents,s=this.orientation,a=c.m,l=s.m,a[0]=Math.abs(l[0]),a[1]=Math.abs(l[1]),a[2]=Math.abs(l[2]),a[3]=Math.abs(l[3]),a[4]=Math.abs(l[4]),a[5]=Math.abs(l[5]),a[6]=Math.abs(l[6]),a[7]=Math.abs(l[7]),a[8]=Math.abs(l[8]),r.Vec3.transformMat3(i,n,c),r.Vec3.subtract(t,this.center,o),r.Vec3.add(e,this.center,o)},n.transform=function(t,e,i,n,s){r.Vec3.transformMat4(s.center,this.center,t),r.Mat3.fromQuat(s.orientation,i),r.Vec3.multiply(s.halfExtents,this.halfExtents,n)},n.translateAndRotate=function(t,e,i){r.Vec3.transformMat4(i.center,this.center,t),r.Mat3.fromQuat(i.orientation,e)},n.setScale=function(t,e){r.Vec3.multiply(e.halfExtents,this.halfExtents,t)},i})();i.default=h,e.exports=i.default}),{"../value-types":338,"./enums":191}],197:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n},a=new r.Vec3(0,0,0),o=new r.Vec3(0,0,0),l=cc.mat4(),c=cc.v4(),h=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),this.n=void 0,this.d=void 0,this._type=void 0,this._type=s.default.SHAPE_PLANE,this.n=new r.Vec3(t,e,i),this.d=n}return t.create=function(e,i,n,r){return new t(e,i,n,r)},t.clone=function(e){return new t(e.n.x,e.n.y,e.n.z,e.d)},t.copy=function(t,e){return r.Vec3.copy(t.n,e.n),t.d=e.d,t},t.fromPoints=function(t,e,i,n){return r.Vec3.subtract(a,i,e),r.Vec3.subtract(o,n,e),r.Vec3.normalize(t.n,r.Vec3.cross(t.n,a,o)),t.d=r.Vec3.dot(t.n,e),t},t.set=function(t,e,i,n,r){return t.n.x=e,t.n.y=i,t.n.z=n,t.d=r,t},t.fromNormalAndPoint=function(t,e,i){return r.Vec3.copy(t.n,e),t.d=r.Vec3.dot(e,i),t},t.normalize=function(t,e){var i=e.n.len();return r.Vec3.normalize(t.n,e.n),i>0&&(t.d=e.d/i),t},t.prototype.transform=function(t){r.Mat4.invert(l,t),r.Mat4.transpose(l,l),r.Vec4.set(c,this.n.x,this.n.y,this.n.z,this.d),r.Vec4.transformMat4(c,c,l),r.Vec3.set(this.n,c.x,c.y,c.z),this.d=c.w},t})();i.default=h,e.exports=i.default}),{"../value-types":338,"./enums":191}],198:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,a,o){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===a&&(a=0),void 0===o&&(o=-1),this.o=void 0,this.d=void 0,this._type=void 0,this._type=s.default.SHAPE_RAY,this.o=new r.Vec3(t,e,i),this.d=new r.Vec3(n,a,o)}return t.create=function(e,i,n,r,s,a){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=1),new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.o.x,e.o.y,e.o.z,e.d.x,e.d.y,e.d.z)},t.copy=function(t,e){return r.Vec3.copy(t.o,e.o),r.Vec3.copy(t.d,e.d),t},t.fromPoints=function(t,e,i){return r.Vec3.copy(t.o,e),r.Vec3.normalize(t.d,r.Vec3.subtract(t.d,i,e)),t},t.set=function(t,e,i,n,r,s,a){return t.o.x=e,t.o.y=i,t.o.z=n,t.d.x=r,t.d.y=s,t.d.z=a,t},t.prototype.computeHit=function(t,e){r.Vec3.normalize(t,this.d),r.Vec3.scaleAndAdd(t,this.o,t,e)},t})();i.default=a,e.exports=i.default}),{"../value-types":338,"./enums":191}],199:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n},a=new r.Vec3,o=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.center=void 0,this.radius=void 0,this._type=void 0,this._type=s.default.SHAPE_SPHERE,this.center=new r.Vec3(t,e,i),this.radius=n}t.create=function(e,i,n,r){return new t(e,i,n,r)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.radius)},t.copy=function(t,e){return r.Vec3.copy(t.center,e.center),t.radius=e.radius,t},t.fromPoints=function(t,e,i){return r.Vec3.multiplyScalar(t.center,r.Vec3.add(a,e,i),.5),t.radius=.5*r.Vec3.subtract(a,i,e).len(),t},t.set=function(t,e,i,n,r){return t.center.x=e,t.center.y=i,t.center.z=n,t.radius=r,t};var e=t.prototype;return e.clone=function(){return t.clone(this)},e.copy=function(e){return t.copy(this,e)},e.getBoundary=function(t,e){r.Vec3.set(t,this.center.x-this.radius,this.center.y-this.radius,this.center.z-this.radius),r.Vec3.set(e,this.center.x+this.radius,this.center.y+this.radius,this.center.z+this.radius)},e.transform=function(t,e,i,n,s){r.Vec3.transformMat4(s.center,this.center,t),s.radius=this.radius*n.maxAxis()},e.translateAndRotate=function(t,e,i){r.Vec3.transformMat4(i.center,this.center,t)},e.setScale=function(t,e){e.radius=this.radius*t.maxAxis()},t})();i.default=o,e.exports=i.default}),{"../value-types":338,"./enums":191}],200:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../value-types/vec3")),r=s(t("./enums"));function s(t){return t&&t.__esModule?t:{default:t}}var a=(function(){function t(t,e,i,s,a,o,l,c,h){this.a=void 0,this.b=void 0,this.c=void 0,this._type=void 0,this.a=new n.default(t,e,i),this.b=new n.default(s,a,o),this.c=new n.default(l,c,h),this._type=r.default.SHAPE_TRIANGLE}return t.create=function(e,i,n,r,s,a,o,l,c){return new t(e,i,n,r,s,a,o,l,c)},t.clone=function(e){return new t(e.a.x,e.a.y,e.a.z,e.b.x,e.b.y,e.b.z,e.c.x,e.c.y,e.c.z)},t.copy=function(t,e){return n.default.copy(t.a,e.a),n.default.copy(t.b,e.b),n.default.copy(t.c,e.c),t},t.fromPoints=function(t,e,i,r){return n.default.copy(t.a,e),n.default.copy(t.b,i),n.default.copy(t.c,r),t},t.set=function(t,e,i,n,r,s,a,o,l,c){return t.a.x=e,t.a.y=i,t.a.z=n,t.b.x=r,t.b.y=s,t.b.z=a,t.c.x=o,t.c.y=l,t.c.z=c,t},t})();i.default=a,e.exports=i.default}),{"../value-types/vec3":348,"./enums":191}],201:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../assets/material/CCMaterial"),r=t("./types"),s=r.LineCap,a=r.LineJoin,o=cc.Class({name:"cc.Graphics",extends:i,editor:!1,ctor:function(){this._impl=new o._Impl(this)},properties:{_lineWidth:2,_strokeColor:cc.Color.BLACK,_lineJoin:a.MITER,_lineCap:s.BUTT,_fillColor:cc.Color.WHITE,_miterLimit:10,lineWidth:{get:function(){return this._lineWidth},set:function(t){this._lineWidth=t,this._impl.lineWidth=t}},lineJoin:{get:function(){return this._lineJoin},set:function(t){this._lineJoin=t,this._impl.lineJoin=t},type:a},lineCap:{get:function(){return this._lineCap},set:function(t){this._lineCap=t,this._impl.lineCap=t},type:s},strokeColor:{get:function(){return this._strokeColor},set:function(t){this._impl.strokeColor=this._strokeColor=cc.color(t)}},fillColor:{get:function(){return this._fillColor},set:function(t){this._impl.fillColor=this._fillColor=cc.color(t)}},miterLimit:{get:function(){return this._miterLimit},set:function(t){this._miterLimit=t,this._impl.miterLimit=t}}},statics:{LineJoin:a,LineCap:s},onRestore:function(){this._impl||(this._impl=new o._Impl(this))},onDestroy:function(){this.clear(!0),this._super(),this._impl=null},_getDefaultMaterial:function(){return n.getBuiltinMaterial("2d-graphics")},_updateMaterial:function(){var t=this._materials[0];t&&(void 0!==t.getDefine("CC_USE_MODEL")&&t.define("CC_USE_MODEL",!0),void 0!==t.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&t.define("CC_SUPPORT_standard_derivatives",!0))},moveTo:function(t,e){this._impl.moveTo(t,e)},lineTo:function(t,e){this._impl.lineTo(t,e)},bezierCurveTo:function(t,e,i,n,r,s){this._impl.bezierCurveTo(t,e,i,n,r,s)},quadraticCurveTo:function(t,e,i,n){this._impl.quadraticCurveTo(t,e,i,n)},arc:function(t,e,i,n,r,s){this._impl.arc(t,e,i,n,r,s)},ellipse:function(t,e,i,n){this._impl.ellipse(t,e,i,n)},circle:function(t,e,i){this._impl.circle(t,e,i)},rect:function(t,e,i,n){this._impl.rect(t,e,i,n)},roundRect:function(t,e,i,n,r){this._impl.roundRect(t,e,i,n,r)},fillRect:function(t,e,i,n){this.rect(t,e,i,n),this.fill()},clear:function(t){this._impl.clear(t),this._assembler&&this._assembler.clear(t)},close:function(){this._impl.close()},stroke:function(){this._assembler||this._resetAssembler(),this._assembler.stroke(this)},fill:function(){this._assembler||this._resetAssembler(),this._assembler.fill(this)}});cc.Graphics=e.exports=o,cc.Graphics.Types=r,cc.Graphics.Helper=t("./helper")}),{"../assets/material/CCMaterial":123,"../components/CCRenderComponent":159,"./helper":202,"./types":204}],202:[(function(t,e){"use strict";var i=t("./types").PointFlags,n=Math.PI,r=Math.min,s=Math.max,a=Math.cos,o=Math.sin,l=Math.abs,c=Math.sign,h=.5522847493;e.exports={arc:function(t,e,i,c,h,u,_){var f,d,p,m=0,y=0,v=0,g=0,b=0,A=0,x=0,C=0,T=0,S=0,w=0,E=0,M=0;if(y=u-h,_=_||!1)if(l(y)>=2*n)y=2*n;else for(;y<0;)y+=2*n;else if(l(y)>=2*n)y=2*-n;else for(;y>0;)y-=2*n;for(p=0|s(1,r(l(y)/(.5*n)+.5,5)),v=l(4/3*(1-a(f=y/p/2))/o(f)),_||(v=-v),d=0;d<=p;d++)A=e+(g=a(m=h+y*(d/p)))*c,x=i+(b=o(m))*c,C=-b*c*v,T=g*c*v,0===d?t.moveTo(A,x):t.bezierCurveTo(S+E,w+M,A-C,x-T,A,x),S=A,w=x,E=C,M=T},ellipse:function(t,e,i,n,r){t.moveTo(e-n,i),t.bezierCurveTo(e-n,i+r*h,e-n*h,i+r,e,i+r),t.bezierCurveTo(e+n*h,i+r,e+n,i+r*h,e+n,i),t.bezierCurveTo(e+n,i-r*h,e+n*h,i-r,e,i-r),t.bezierCurveTo(e-n*h,i-r,e-n,i-r*h,e-n,i),t.close()},roundRect:function(t,e,i,n,s,a){if(a<.1)t.rect(e,i,n,s);else{var o=r(a,.5*l(n))*c(n),u=r(a,.5*l(s))*c(s);t.moveTo(e,i+u),t.lineTo(e,i+s-u),t.bezierCurveTo(e,i+s-u*(1-h),e+o*(1-h),i+s,e+o,i+s),t.lineTo(e+n-o,i+s),t.bezierCurveTo(e+n-o*(1-h),i+s,e+n,i+s-u*(1-h),e+n,i+s-u),t.lineTo(e+n,i+u),t.bezierCurveTo(e+n,i+u*(1-h),e+n-o*(1-h),i,e+n-o,i),t.lineTo(e+o,i),t.bezierCurveTo(e+o*(1-h),i,e,i+u*(1-h),e,i+u),t.close()}},tesselateBezier:function t(e,n,r,s,a,o,c,h,u,_,f){var d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D;_>10||(v=.5*(o+h),g=.5*(c+u),b=.5*((d=.5*(n+s))+(m=.5*(s+o))),A=.5*((p=.5*(r+a))+(y=.5*(a+c))),((M=l((s-h)*(E=u-r)-(a-u)*(w=h-n)))+(D=l((o-h)*E-(c-u)*w)))*(M+D)<e._tessTol*(w*w+E*E)?e._addPoint(h,u,0===f?f|i.PT_BEVEL:f):(t(e,n,r,d,p,b,A,T=.5*(b+(x=.5*(m+v))),S=.5*(A+(C=.5*(y+g))),_+1,0),t(e,T,S,x,C,v,g,h,u,_+1,f)))}}}),{"./types":204}],203:[(function(t){"use strict";t("./graphics")}),{"./graphics":201}],204:[(function(t,e){"use strict";var i=cc.Enum({BUTT:0,ROUND:1,SQUARE:2}),n=cc.Enum({BEVEL:0,ROUND:1,MITER:2}),r=cc.Enum({PT_CORNER:1,PT_LEFT:2,PT_BEVEL:4,PT_INNERBEVEL:8});e.exports={LineCap:i,LineJoin:n,PointFlags:r}}),{}],205:[(function(t){"use strict";t("./platform"),t("./assets"),t("./CCNode"),t("./CCPrivateNode"),t("./CCScene"),t("./components"),t("./graphics"),t("./collider"),t("./collider/CCIntersection"),t("./physics"),t("./camera/CCCamera"),t("./geom-utils"),t("./mesh"),t("./3d"),t("./base-ui/CCWidgetManager")}),{"./3d":29,"./CCNode":72,"./CCPrivateNode":73,"./CCScene":74,"./assets":121,"./base-ui/CCWidgetManager":132,"./camera/CCCamera":133,"./collider":141,"./collider/CCIntersection":139,"./components":177,"./geom-utils":193,"./graphics":203,"./mesh":208,"./physics":223,"./platform":256}],206:[(function(t,e){"use strict";var i=s(t("../../renderer/core/input-assembler")),n=s(t("../../renderer/gfx")),r=t("./mesh-data");function s(t){return t&&t.__esModule?t:{default:t}}var a=t("../renderer"),o=t("../event/event-target");function l(t,e,i){t[e]=i._val}function c(t,e,i){t[e]=i.x,t[e+1]=i.y}function h(t,e,i){t[e]=i.x,t[e+1]=i.y,t[e+2]=i.z}var u,_={5120:"getInt8",5121:"getUint8",5122:"getInt16",5123:"getUint16",5124:"getInt32",5125:"getUint32",5126:"getFloat32"},f={5120:"setInt8",5121:"setUint8",5122:"setInt16",5123:"setUint16",5124:"setInt32",5125:"setUint32",5126:"setFloat32"},d=(u=new ArrayBuffer(2),new DataView(u).setInt16(0,256,!0),256===new Int16Array(u)[0]),p=cc.Class({name:"cc.Mesh",extends:cc.Asset,mixins:[o],properties:{_nativeAsset:{override:!0,get:function(){return this._buffer},set:function(t){this._buffer=ArrayBuffer.isView(t)?t.buffer:t,this.initWithBuffer()}},_vertexBundles:{default:null,type:r.VertexBundle},_primitives:{default:null,Primitive:r.Primitive},_minPos:cc.v3(),_maxPos:cc.v3(),subMeshes:{get:function(){return this._subMeshes},set:function(t){this._subMeshes=t}},subDatas:{get:function(){return this._subDatas}}},ctor:function(){this._subMeshes=[],this._subDatas=[],this.loaded=!1},initWithBuffer:function(){this._subMeshes.length=0;for(var t=this._primitives,e=0;e<t.length;e++){var s=t[e],o=s.data,l=new Uint8Array(this._buffer,o.offset,o.length),c=this._vertexBundles[s.vertexBundleIndices[0]],h=c.data,u=new n.default.VertexFormat(c.formats),_=new Uint8Array(this._buffer,h.offset,h.length),f=this._canVertexFormatBatch(u),d=new r.MeshData;d.vData=_,d.iData=l,d.vfm=u,d.offset=h.offset,d.canBatch=f,this._subDatas.push(d);var p=new n.default.VertexBuffer(a.device,u,n.default.USAGE_STATIC,_),m=new n.default.IndexBuffer(a.device,s.indexUnit,n.default.USAGE_STATIC,l);this._subMeshes.push(new i.default(p,m))}this.loaded=!0,this.emit("load")},_canVertexFormatBatch:function(t){var e=t._attr2el[n.default.ATTR_POSITION];return!e||e.type===n.default.ATTR_TYPE_FLOAT32&&t._bytes%4==0},init:function(t,e,s,o){void 0===s&&(s=!1),void 0===o&&(o=0);var l=new Uint8Array(t._bytes*e),c=new r.MeshData;c.vData=l,c.vfm=t,c.vDirty=!0,c.canBatch=this._canVertexFormatBatch(t);var h=new n.default.VertexBuffer(a.device,t,s?n.default.USAGE_DYNAMIC:n.default.USAGE_STATIC,l);c.vb=h,this._subMeshes[o]=new i.default(c.vb);var u=this._subDatas[o];u&&(u.vb&&u.vb.destroy(),u.ib&&u.ib.destroy()),this._subDatas[o]=c,this.loaded=!0,this.emit("load"),this.emit("init-format")},setVertices:function(t,e,i){i=i||0;var r=this._subDatas[i],s=r.vfm.element(t);if(!s)return cc.warn("Cannot find "+t+" attribute in vertex defines.");var a,o="number"==typeof e[0],u=s.num,_=o?e.length/u|0:e.length;r.vData.byteLength<_*s.stride&&r.setVData(new Uint8Array(_*r.vfm._bytes));var f=4;t===n.default.ATTR_COLOR?o?(a=r.getVData(),f=1):a=r.getVData(Uint32Array):a=r.getVData(Float32Array);var d=s.stride/f,p=s.offset/f;if(o)for(var m=0,y=e.length/u;m<y;m++)for(var v=m*u,g=m*d+p,b=0;b<u;b++)a[g+b]=e[v+b];else{var A;A=t===n.default.ATTR_COLOR?l:2===u?c:h;for(var x=0,C=e.length;x<C;x++)A(a,x*d+p,e[x])}r.vDirty=!0},setIndices:function(t,e,i){e=e||0;var r=t;t instanceof Uint16Array?r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(r=new Uint16Array(t),r=new Uint8Array(r.buffer,r.byteOffset,r.byteLength));var s=i?n.default.USAGE_DYNAMIC:n.default.USAGE_STATIC,o=this._subDatas[e];if(o.ib)o.iData=r,o.iDirty=!0;else{o.iData=r;var l=new n.default.IndexBuffer(a.device,n.default.INDEX_FMT_UINT16,s,r,r.byteLength/n.default.IndexBuffer.BYTES_PER_INDEX[n.default.INDEX_FMT_UINT16]);o.ib=l,this._subMeshes[e]._indexBuffer=o.ib}},setPrimitiveType:function(t,e){e=e||0,this._subMeshes[e]?this._subMeshes[e]._primitiveType=t:cc.warn("Do not have sub mesh at index "+e)},clear:function(){this._subMeshes.length=0;for(var t=this._subDatas,e=0,i=t.length;e<i;e++){var n=t[e].vb;n&&n.destroy();var r=t[e].ib;r&&r.destroy()}t.length=0},setBoundingBox:function(t,e){this._minPos=t,this._maxPos=e},destroy:function(){this.clear()},_uploadData:function(){for(var t=this._subDatas,e=0,i=t.length;e<i;e++){var n=t[e];if(n.vDirty){var r=n.vb,s=n.vData;r.update(0,s),n.vDirty=!1}if(n.iDirty){var a=n.ib,o=n.iData;a.update(0,o),n.iDirty=!1}}},_getAttrMeshData:function(t,e){var i=this._subDatas[t];if(!i)return[];var n=i.vfm,r=n.element(e);if(!r)return[];i.attrDatas||(i.attrDatas={});var s=i.attrDatas,a=s[e];if(a)return a;a=s[e]=[];for(var o=i.vData,l=new DataView(o.buffer,o.byteOffset,o.byteLength),c=r.stride,h=r.offset,u=r.num,f=r.bytes/u,p=_[r.type],m=o.byteLength/n._bytes,y=0;y<m;y++)for(var v=y*c+h,g=0;g<u;g++){var b=l[p](v+g*f,d);a.push(b)}return a},copyAttribute:function(t,e,i,n,r){var s=!1,a=this._subDatas[t];if(!a)return s;var o=a.vfm,l=o.element(e);if(!l)return s;var c=f[l.type];if(!c)return s;var h=this._getAttrMeshData(t,e),u=a.vData.byteLength/o._bytes,_=l.bytes/l.num;if(h.length>0){for(var p=new DataView(i,r),m=n,y=l.num,v=0;v<u;++v)for(var g=v*y,b=0;b<y;++b){var A=g+b,x=m*v+_*b;p[c](x,h[A],d)}s=!0}return s},copyIndices:function(t,e){var i=this._subDatas[t];if(!i)return!1;for(var r=i.iData,s=r.length/2,a=new DataView(r.buffer,r.byteOffset,r.byteLength),o=_[n.default.INDEX_FMT_UINT8],l=0;l<s;++l)e[l]=a[o](2*l);return!0}});cc.Mesh=e.exports=p}),{"../../renderer/core/input-assembler":361,"../../renderer/gfx":371,"../event/event-target":185,"../renderer":270,"./mesh-data":209}],207:[(function(t,e){"use strict";var i=s(t("../../renderer/gfx")),n=(s(t("../../renderer/core/input-assembler")),s(t("../geom-utils/aabb"))),r=(s(t("../value-types/vec3")),s(t("../value-types/mat4")),s(t("../assets/material/material-variant")));function s(t){return t&&t.__esModule?t:{default:t}}var a=t("../components/CCRenderComponent"),o=t("./CCMesh"),l=t("../renderer/render-flow"),c=(t("../renderer"),t("../assets/material/CCMaterial")),h=cc.Enum({OFF:0,ON:1}),u=cc.Class({name:"cc.MeshRenderer",extends:a,editor:!1,properties:{_mesh:{default:null,type:o},_receiveShadows:!1,_shadowCastingMode:h.OFF,_enableAutoBatch:!1,mesh:{get:function(){return this._mesh},set:function(t){this._mesh!==t&&(this._setMesh(t),t?(this.markForRender(!0),this.node._renderFlag|=l.FLAG_TRANSFORM):this.disableRender())},type:o,animatable:!1},textures:{default:[],type:cc.Texture2D,visible:!1},receiveShadows:{get:function(){return this._receiveShadows},set:function(t){this._receiveShadows=t,this._updateReceiveShadow()},animatable:!1},shadowCastingMode:{get:function(){return this._shadowCastingMode},set:function(t){this._shadowCastingMode=t,this._updateCastShadow()},type:h,animatable:!1},enableAutoBatch:{get:function(){return this._enableAutoBatch},set:function(t){this._enableAutoBatch=t}}},statics:{ShadowCastingMode:h},ctor:function(){this._boundingBox=cc.geomUtils&&new n.default},onEnable:function(){var t=this;this._super(),this._mesh&&!this._mesh.loaded?(this.disableRender(),this._mesh.once("load",(function(){t.isValid&&(t._setMesh(t._mesh),t.markForRender(!0))})),cc.assetManager.postLoadNative(this._mesh)):this._setMesh(this._mesh),this._updateRenderNode(),this._updateMaterial()},onDestroy:function(){this._setMesh(null),cc.pool.assembler.put(this._assembler)},_updateRenderNode:function(){this._assembler.setRenderNode(this.node)},_setMesh:function(t){cc.geomUtils&&t&&n.default.fromPoints(this._boundingBox,t._minPos,t._maxPos),this._mesh&&this._mesh.off("init-format",this._updateMeshAttribute,this),t&&t.on("init-format",this._updateMeshAttribute,this),this._mesh=t,this._assembler&&(this._assembler._worldDatas={}),this._updateMeshAttribute()},_getDefaultMaterial:function(){return c.getBuiltinMaterial("unlit")},_validateRender:function(){var t=this._mesh;t&&t._subDatas.length>0||this.disableRender()},_updateMaterial:function(){var t=this.textures;if(t&&t.length>0)for(var e=this._getDefaultMaterial(),i=0;i<t.length;i++){var n=this._materials[i];n&&n._uuid!==e._uuid||(n||(n=r.default.create(e,this),this.setMaterial(i,n)),n.setProperty("diffuseTexture",t[i]))}this._updateReceiveShadow(),this._updateCastShadow(),this._updateMeshAttribute()},_updateReceiveShadow:function(){for(var t=this.getMaterials(),e=0;e<t.length;e++)t[e].define("CC_USE_SHADOW_MAP",this._receiveShadows,void 0,!0)},_updateCastShadow:function(){for(var t=this.getMaterials(),e=0;e<t.length;e++)t[e].define("CC_CASTING_SHADOW",this._shadowCastingMode===h.ON,void 0,!0)},_updateMeshAttribute:function(){var t=this._mesh&&this._mesh.subDatas;if(t)for(var e=this.getMaterials(),n=0;n<e.length&&t[n];n++){var r=t[n].vfm,s=e[n];s.define("CC_USE_ATTRIBUTE_COLOR",!!r.element(i.default.ATTR_COLOR),void 0,!0),s.define("CC_USE_ATTRIBUTE_UV0",!!r.element(i.default.ATTR_UV0),void 0,!0),s.define("CC_USE_ATTRIBUTE_NORMAL",!!r.element(i.default.ATTR_NORMAL),void 0,!0),s.define("CC_USE_ATTRIBUTE_TANGENT",!!r.element(i.default.ATTR_TANGENT),void 0,!0)}},_checkBacth:function(){}});cc.MeshRenderer=e.exports=u}),{"../../renderer/core/input-assembler":361,"../../renderer/gfx":371,"../assets/material/CCMaterial":123,"../assets/material/material-variant":130,"../components/CCRenderComponent":159,"../geom-utils/aabb":189,"../renderer":270,"../renderer/render-flow":271,"../value-types/mat4":340,"../value-types/vec3":348,"./CCMesh":206}],208:[(function(t){"use strict";t("./CCMesh"),t("./CCMeshRenderer"),t("./mesh-renderer")}),{"./CCMesh":206,"./CCMeshRenderer":207,"./mesh-renderer":210}],209:[(function(t,e,i){"use strict";i.__esModule=!0,i.MeshData=c,i.Primitive=i.VertexBundle=i.VertexFormat=i.BufferRange=void 0;var n,r=(n=t("../../renderer/gfx"))&&n.__esModule?n:{default:n},s=cc.Class({name:"cc.BufferRange",properties:{offset:0,length:0}});i.BufferRange=s;var a=cc.Class({name:"cc.mesh.VertexFormat",properties:{name:"",type:-1,num:-1,normalize:!1}});i.VertexFormat=a;var o=cc.Class({name:"cc.mesh.VertexBundle",properties:{data:{default:null,type:s},formats:{default:[],type:a},verticesCount:0}});i.VertexBundle=o;var l=cc.Class({name:"cc.mesh.Primitive",properties:{vertexBundleIndices:{default:[],type:cc.Float},data:{default:null,type:s},indexUnit:r.default.INDEX_FMT_UINT16,topology:r.default.PT_TRIANGLES}});function c(){this.vData=null,this.float32VData=null,this.uint32VData=null,this.iData=null,this.uint16IData=null,this.vfm=null,this.offset=0,this.vb=null,this.ib=null,this.vDirty=!1,this.iDirty=!1,this.enable=!0}i.Primitive=l,c.prototype.setVData=function(t){this.vData=t,this.float32VData=null,this.uint32VData=null},c.prototype.getVData=function(t){return t===Float32Array?(this.float32VData||(this.float32VData=new Float32Array(this.vData.buffer,this.vData.byteOffset,this.vData.byteLength/4)),this.float32VData):t===Uint32Array?(this.uint32VData||(this.uint32VData=new Uint32Array(this.vData.buffer,this.vData.byteOffset,this.vData.byteLength/4)),this.uint32VData):this.vData},c.prototype.getIData=function(t){return t===Uint16Array?(this.uint16IData||(this.uint16IData=new Uint16Array(this.iData.buffer,this.iData.byteOffset,this.iData.byteLength/2)),this.uint16IData):this.iData}}),{"../../renderer/gfx":371}],210:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../renderer/assembler")),r=a(t("../../renderer/gfx")),s=a(t("../value-types/vec3"));function a(t){return t&&t.__esModule?t:{default:t}}var o=t("./CCMeshRenderer"),l=new s.default,c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var a=n.prototype;return a.init=function(e){t.prototype.init.call(this,e),this._worldDatas={},this._renderNode=null},a.setRenderNode=function(t){this._renderNode=t},a.fillBuffers=function(t,e){if(t.mesh){t.mesh._uploadData();for(var i=e.cullingMask===t.node._cullingMask,n=t.enableAutoBatch,s=t._materials,a=t.mesh._subMeshes,o=t.mesh.subDatas,l=0;l<a.length;l++){var c=a[l],h=o[l],u=s[l]||s[0];n&&h.canBatch&&c._primitiveType===r.default.PT_TRIANGLES?(i&&u.getHash()===e.material.getHash()||e._flush(),e.material=u,e.cullingMask=t.node._cullingMask,e.node=e._dummyNode,this._fillBuffer(t,h,e,l)):(e._flush(),e.material=u,e.cullingMask=t.node._cullingMask,e.node=this._renderNode,e._flushIA(c))}}},a._fillBuffer=function(t,e,i,n){var r=e.getVData(Float32Array),s=e.vfm,a=r.byteLength/s._bytes|0,o=e.getIData(Uint16Array),l=o.length,c=i.getBuffer("mesh",s),h=c.request(a,l),u=h.indiceOffset,_=h.byteOffset>>2,f=h.vertexOffset,d=c._vData,p=c._iData;!i.worldMatDirty&&this._worldDatas[n]||this._updateWorldVertices(n,a,r,s,t.node._worldMatrix),d.set(this._worldDatas[n],_);for(var m=0;m<l;m++)p[u+m]=f+o[m]},a._updateWorldVertices=function(t,e,i,n,a){var o=this._worldDatas[t];o||(o=this._worldDatas[t]=new Float32Array(i.length)).set(i);for(var c=n._bytes/4,h=n._elements,u=0,_=h.length;u<_;u++){var f=h[u],d=f.offset/4;if(f.name===r.default.ATTR_POSITION||f.name===r.default.ATTR_NORMAL)for(var p=f.name===r.default.ATTR_NORMAL?s.default.transformMat4Normal:s.default.transformMat4,m=0;m<e;m++){var y=m*c+d;l.x=i[y],l.y=i[y+1],l.z=i[y+2],p(l,l,a),o[y]=l.x,o[y+1]=l.y,o[y+2]=l.z}}},a._drawDebugDatas=function(t,e,i){var n=t._debugDatas[i];if(n)for(var r=0;r<n.length;r++){var s=n[r];if(s){var a=s.material;e.material=a,e._flushIA(s.ia)}}},n})(n.default);i.default=c,n.default.register(o,c),e.exports=i.default}),{"../../renderer/gfx":371,"../renderer/assembler":267,"../value-types/vec3":348,"./CCMeshRenderer":207}],211:[(function(t,e){"use strict";var i=t("./component-scheduler"),n=t("./platform/CCObject").Flags,r=t("./platform/js"),s=n.IsPreloadStarted,a=n.IsOnLoadStarted,o=n.IsOnLoadCalled,l=n.Deactivating,c=cc.Class({extends:i.LifeCycleInvoker,add:function(t){this._zero.array.push(t)},remove:function(t){this._zero.fastRemove(t)},cancelInactive:function(t){i.LifeCycleInvoker.stableRemoveInactive(this._zero,t)},invoke:function(){this._invoke(this._zero),this._zero.array.length=0}}),h=i.createInvokeImpl("c.__preload();"),u=i.createInvokeImpl("c.onLoad();c._objFlags|="+o,!1,o),_=new r.Pool(4);function f(t,e,i){e?t._removeComponent(e):r.array.removeAt(t._components,i)}function d(){this._activatingStack=[]}_.get=function(){var t=this._get()||{preload:new c(h),onLoad:new i.OneOffInvoker(u),onEnable:new i.OneOffInvoker(i.invokeOnEnable)};t.preload._zero.i=-1;var e=t.onLoad;return e._zero.i=-1,e._neg.i=-1,e._pos.i=-1,(e=t.onEnable)._zero.i=-1,e._neg.i=-1,e._pos.i=-1,t};var p=cc.Class({ctor:d,reset:d,_activateNodeRecursively:function(t,e,i,n){if(t._objFlags&l)cc.errorID(3816,t.name);else{t._activeInHierarchy=!0;for(var r=t._components.length,s=0;s<r;++s){var a=t._components[s];a instanceof cc.Component?this.activateComp(a,e,i,n):(f(t,a,s),--s,--r)}t._childArrivalOrder=t._children.length;for(var o=0,c=t._children.length;o<c;++o){var h=t._children[o];h._localZOrder=4294901760&h._localZOrder|o+1,h._active&&this._activateNodeRecursively(h,e,i,n)}t._onPostActivated(!0)}},_deactivateNodeRecursively:function(t){t._objFlags|=l,t._activeInHierarchy=!1;for(var e=t._components.length,i=0;i<e;++i){var n=t._components[i];if(n._enabled&&(cc.director._compScheduler.disableComp(n),t._activeInHierarchy))return void(t._objFlags&=~l)}for(var r=0,s=t._children.length;r<s;++r){var a=t._children[r];if(a._activeInHierarchy&&(this._deactivateNodeRecursively(a),t._activeInHierarchy))return void(t._objFlags&=~l)}t._onPostActivated(!1),t._objFlags&=~l},activateNode:function(t,e){if(e){var i=_.get();this._activatingStack.push(i),this._activateNodeRecursively(t,i.preload,i.onLoad,i.onEnable),i.preload.invoke(),i.onLoad.invoke(),i.onEnable.invoke(),this._activatingStack.pop(),_.put(i)}else{this._deactivateNodeRecursively(t);for(var n=this._activatingStack,r=0;r<n.length;r++){var o=n[r];o.preload.cancelInactive(s),o.onLoad.cancelInactive(a),o.onEnable.cancelInactive()}}t.emit("active-in-hierarchy-changed",t)},activateComp:function(t,e,i,n){if(cc.isValid(t,!0)&&(t._objFlags&s||(t._objFlags|=s,t.__preload&&(e?e.add(t):t.__preload())),t._objFlags&a||(t._objFlags|=a,t.onLoad?i?i.add(t):(t.onLoad(),t._objFlags|=o):t._objFlags|=o),t._enabled)){if(!t.node._activeInHierarchy)return;cc.director._compScheduler.enableComp(t,n)}},destroyComp:function(t){cc.director._compScheduler.disableComp(t),t.onDestroy&&t._objFlags&o&&t.onDestroy()},resetComp:!1});e.exports=p}),{"./component-scheduler":142,"./platform/CCObject":244,"./platform/js":259,"./utils/misc":323}],212:[(function(t,e){"use strict";var i=t("./CCPhysicsTypes").PTM_RATIO,n=t("./CCPhysicsTypes").ContactType,r=[],s=[cc.v2(),cc.v2()],a=new b2.WorldManifold,o={points:[],separations:[],normal:cc.v2()};function l(){this.localPoint=cc.v2(),this.normalImpulse=0,this.tangentImpulse=0}var c=[new l,new l],h=(new b2.Manifold,{type:0,localPoint:cc.v2(),localNormal:cc.v2(),points:[]}),u={normalImpulses:[],tangentImpulses:[]};function _(){}_.prototype.init=function(t){this.colliderA=t.GetFixtureA().collider,this.colliderB=t.GetFixtureB().collider,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=t,t._contact=this},_.prototype.reset=function(){this.setTangentSpeed(0),this.resetFriction(),this.resetRestitution(),this.colliderA=null,this.colliderB=null,this.disabled=!1,this._impulse=null,this._b2contact._contact=null,this._b2contact=null},_.prototype.getWorldManifold=function(){var t=o.points,e=o.separations,n=o.normal;this._b2contact.GetWorldManifold(a);var r=a.points,l=a.separations,c=this._b2contact.GetManifold().pointCount;t.length=e.length=c;for(var h=0;h<c;h++){var u=s[h];u.x=r[h].x*i,u.y=r[h].y*i,t[h]=u,e[h]=l[h]*i}return n.x=a.normal.x,n.y=a.normal.y,this._inverted&&(n.x*=-1,n.y*=-1),o},_.prototype.getManifold=function(){for(var t=h.points,e=h.localNormal,n=h.localPoint,r=this._b2contact.GetManifold(),s=r.points,a=t.length=r.pointCount,o=0;o<a;o++){var l=c[o],u=s[o];l.localPoint.x=u.localPoint.x*i,l.localPoint.Y=u.localPoint.Y*i,l.normalImpulse=u.normalImpulse*i,l.tangentImpulse=u.tangentImpulse,t[o]=l}return n.x=r.localPoint.x*i,n.y=r.localPoint.y*i,e.x=r.localNormal.x,e.y=r.localNormal.y,h.type=r.type,this._inverted&&(e.x*=-1,e.y*=-1),h},_.prototype.getImpulse=function(){var t=this._impulse;if(!t)return null;for(var e=u.normalImpulses,n=u.tangentImpulses,r=t.count,s=0;s<r;s++)e[s]=t.normalImpulses[s]*i,n[s]=t.tangentImpulses[s];return n.length=e.length=r,u},_.prototype.emit=function(t){var e;switch(t){case n.BEGIN_CONTACT:e="onBeginContact";break;case n.END_CONTACT:e="onEndContact";break;case n.PRE_SOLVE:e="onPreSolve";break;case n.POST_SOLVE:e="onPostSolve"}var i,r,s,a,o=this.colliderA,l=this.colliderB,c=o.body,h=l.body;if(c.enabledContactListener)for(i=c.node._components,this._inverted=!1,r=0,s=i.length;r<s;r++)(a=i[r])[e]&&a[e](this,o,l);if(h.enabledContactListener)for(i=h.node._components,this._inverted=!0,r=0,s=i.length;r<s;r++)(a=i[r])[e]&&a[e](this,l,o);(this.disabled||this.disabledOnce)&&(this.setEnabled(!1),this.disabledOnce=!1)},_.get=function(t){var e;return(e=0===r.length?new cc.PhysicsContact:r.pop()).init(t),e},_.put=function(t){var e=t._contact;e&&(r.push(e),e.reset())};var f=_.prototype;f.setEnabled=function(t){this._b2contact.SetEnabled(t)},f.isTouching=function(){return this._b2contact.IsTouching()},f.setTangentSpeed=function(t){this._b2contact.SetTangentSpeed(t/i)},f.getTangentSpeed=function(){return this._b2contact.GetTangentSpeed()*i},f.setFriction=function(t){this._b2contact.SetFriction(t)},f.getFriction=function(){return this._b2contact.GetFriction()},f.resetFriction=function(){return this._b2contact.ResetFriction()},f.setRestitution=function(t){this._b2contact.SetRestitution(t)},f.getRestitution=function(){return this._b2contact.GetRestitution()},f.resetRestitution=function(){return this._b2contact.ResetRestitution()},_.ContactType=n,cc.PhysicsContact=e.exports=_}),{"./CCPhysicsTypes":214}],213:[(function(t,e){"use strict";var i=t("./CCPhysicsTypes"),n=i.ContactType,r=i.BodyType,s=i.RayCastType,a=i.DrawBits,o=i.PTM_RATIO,l=(i.ANGLE_TO_PHYSICS_ANGLE,i.PHYSICS_ANGLE_TO_ANGLE),c=t("./utils").convertToNodeRotation,h=t("./platform/CCPhysicsDebugDraw"),u=new b2.AABB,_=new b2.Vec2,f=new b2.Vec2,d=cc.v2(),p=cc.Class({mixins:[cc.EventTarget],statics:{DrawBits:a,PTM_RATIO:o,VELOCITY_ITERATIONS:10,POSITION_ITERATIONS:10,FIXED_TIME_STEP:1/60,MAX_ACCUMULATOR:.2},ctor:function(){this._debugDrawFlags=0,this._debugDrawer=null,this._world=null,this._bodies=[],this._joints=[],this._contactMap={},this._contactID=0,this._delayEvents=[],this._accumulator=0,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.enabledAccumulator=!1},pushDelayEvent:function(t,e,i){this._steping?this._delayEvents.push({target:t,func:e,args:i}):t[e].apply(t,i)},update:function(t){var e=this._world;if(e&&this.enabled){this.emit("before-step"),this._steping=!0;var i=p.VELOCITY_ITERATIONS,n=p.POSITION_ITERATIONS;if(this.enabledAccumulator){this._accumulator+=t;var r=p.FIXED_TIME_STEP,s=p.MAX_ACCUMULATOR;for(this._accumulator>s&&(this._accumulator=s);this._accumulator>r;)e.Step(r,i,n),this._accumulator-=r}else{var a=1/cc.game.config.frameRate;e.Step(a,i,n)}this.debugDrawFlags&&(this._checkDebugDrawValid(),this._debugDrawer.clear(),e.DrawDebugData()),this._steping=!1;for(var o=this._delayEvents,l=0,c=o.length;l<c;l++){var h=o[l];h.target[h.func].apply(h.target,h.args)}o.length=0,this._syncNode()}},testPoint:function(t){var e=_.x=t.x/o,i=_.y=t.y/o,n=.2/o;u.lowerBound.x=e-n,u.lowerBound.y=i-n,u.upperBound.x=e+n,u.upperBound.y=i+n;var r=this._aabbQueryCallback;r.init(_),this._world.QueryAABB(r,u);var s=r.getFixture();return s?s.collider:null},testAABB:function(t){u.lowerBound.x=t.xMin/o,u.lowerBound.y=t.yMin/o,u.upperBound.x=t.xMax/o,u.upperBound.y=t.yMax/o;var e=this._aabbQueryCallback;return e.init(),this._world.QueryAABB(e,u),e.getFixtures().map((function(t){return t.collider}))},rayCast:function(t,e,i){if(t.equals(e))return[];i=i||s.Closest,_.x=t.x/o,_.y=t.y/o,f.x=e.x/o,f.y=e.y/o;var n=this._raycastQueryCallback;n.init(i),this._world.RayCast(n,_,f);var r=n.getFixtures();if(r.length>0){for(var a=n.getPoints(),l=n.getNormals(),c=n.getFractions(),h=[],u=0,d=r.length;u<d;u++){var p=r[u],m=p.collider;if(i===s.AllClosest){var y=h.find((function(t){return t.collider===m}));if(y){c[u]<y.fraction&&(y.fixtureIndex=m._getFixtureIndex(p),y.point.x=a[u].x*o,y.point.y=a[u].y*o,y.normal.x=l[u].x,y.normal.y=l[u].y,y.fraction=c[u]);continue}}h.push({collider:m,fixtureIndex:m._getFixtureIndex(p),point:cc.v2(a[u].x*o,a[u].y*o),normal:cc.v2(l[u]),fraction:c[u]})}return h}return[]},syncPosition:function(){for(var t=this._bodies,e=0;e<t.length;e++)t[e].syncPosition()},syncRotation:function(){for(var t=this._bodies,e=0;e<t.length;e++)t[e].syncRotation()},_registerContactFixture:function(t){this._contactListener.registerContactFixture(t)},_unregisterContactFixture:function(t){this._contactListener.unregisterContactFixture(t)},_addBody:function(t,e){var i=this._world,n=t.node;i&&n&&(t._b2Body=i.CreateBody(e),t._b2Body.body=t,this._bodies.push(t))},_removeBody:function(t){var e=this._world;e&&(t._b2Body.body=null,e.DestroyBody(t._b2Body),t._b2Body=null,cc.js.array.remove(this._bodies,t))},_addJoint:function(t,e){var i=this._world.CreateJoint(e);i&&(i._joint=t,t._joint=i,this._joints.push(t))},_removeJoint:function(t){t._isValid()&&this._world.DestroyJoint(t._joint),t._joint&&(t._joint._joint=null),cc.js.array.remove(this._joints,t)},_initCallback:function(){if(this._world){if(!this._contactListener){var t=new cc.PhysicsContactListener;t.setBeginContact(this._onBeginContact),t.setEndContact(this._onEndContact),t.setPreSolve(this._onPreSolve),t.setPostSolve(this._onPostSolve),this._world.SetContactListener(t),this._contactListener=t,this._aabbQueryCallback=new cc.PhysicsAABBQueryCallback,this._raycastQueryCallback=new cc.PhysicsRayCastCallback}}else cc.warn("Please init PhysicsManager first")},_init:function(){this.enabled=!0,this.debugDrawFlags=a.e_shapeBit},_getWorld:function(){return this._world},_syncNode:function(){for(var t=this._bodies,e=0,i=t.length;e<i;e++){var n=t[e],s=n.node,a=n._b2Body,h=a.GetPosition();d.x=h.x*o,d.y=h.y*o;var u=a.GetAngle()*l;null!==s.parent.parent&&(d=s.parent.convertToNodeSpaceAR(d),u=c(s.parent,u));var _=s._eventMask;s._eventMask=0,s.position=d,s.angle=-u,s._eventMask=_,n.type===r.Animated&&n.resetVelocity()}},_onBeginContact:function(t){cc.PhysicsContact.get(t).emit(n.BEGIN_CONTACT)},_onEndContact:function(t){var e=t._contact;e&&(e.emit(n.END_CONTACT),cc.PhysicsContact.put(t))},_onPreSolve:function(t){var e=t._contact;e&&e.emit(n.PRE_SOLVE)},_onPostSolve:function(t,e){var i=t._contact;i&&(i._impulse=e,i.emit(n.POST_SOLVE),i._impulse=null)},_checkDebugDrawValid:function(){if(!this._debugDrawer||!this._debugDrawer.isValid){var t=new cc.Node("PHYSICS_MANAGER_DEBUG_DRAW");t.zIndex=cc.macro.MAX_ZINDEX,cc.game.addPersistRootNode(t),this._debugDrawer=t.addComponent(cc.Graphics);var e=new h(this._debugDrawer);e.SetFlags(this.debugDrawFlags),this._world.SetDebugDraw(e)}}});cc.js.getset(p.prototype,"enabled",(function(){return this._enabled}),(function(t){if(t&&!this._world){var e=new b2.World(new b2.Vec2(0,-10));e.SetAllowSleeping(!0),this._world=e,this._initCallback()}this._enabled=t})),cc.js.getset(p.prototype,"debugDrawFlags",(function(){return this._debugDrawFlags}),(function(t){t&&!this._debugDrawFlags?this._debugDrawer&&this._debugDrawer.node&&(this._debugDrawer.node.active=!0):!t&&this._debugDrawFlags&&this._debugDrawer&&this._debugDrawer.node&&(this._debugDrawer.node.active=!1),t&&(this._checkDebugDrawValid(),this._world.m_debugDraw.SetFlags(t)),this._debugDrawFlags=t,t&&(this._checkDebugDrawValid(),this._world.m_debugDraw.SetFlags(t))})),cc.js.getset(p.prototype,"gravity",(function(){if(this._world){var t=this._world.GetGravity();return cc.v2(t.x*o,t.y*o)}return cc.v2()}),(function(t){this._world&&this._world.SetGravity(new b2.Vec2(t.x/o,t.y/o))})),cc.PhysicsManager=e.exports=p}),{"./CCPhysicsTypes":214,"./platform/CCPhysicsDebugDraw":235,"./utils":237}],214:[(function(t,e){"use strict";var i=cc.Enum({Static:0,Kinematic:1,Dynamic:2,Animated:3});cc.RigidBodyType=i;var n=cc.Enum({Closest:0,Any:1,AllClosest:2,All:3});cc.RayCastType=n,e.exports={BodyType:i,ContactType:{BEGIN_CONTACT:"begin-contact",END_CONTACT:"end-contact",PRE_SOLVE:"pre-solve",POST_SOLVE:"post-solve"},RayCastType:n,DrawBits:b2.DrawFlags,PTM_RATIO:32,ANGLE_TO_PHYSICS_ANGLE:-Math.PI/180,PHYSICS_ANGLE_TO_ANGLE:-180/Math.PI}}),{}],215:[(function(t,e){"use strict";function i(t,e){var i=e.length;return e[t<0?i- -t%i:t%i]}function n(t,e,n){for(var r=[];e<t;)e+=n.length;for(;t<=e;++t)r.push(i(t,n));return r}function r(t,e,n){if(s(t,n)){if(l(i(t,n),i(t-1,n),i(e,n))&&c(i(t,n),i(t+1,n),i(e,n)))return!1}else if(c(i(t,n),i(t+1,n),i(e,n))||l(i(t,n),i(t-1,n),i(e,n)))return!1;if(s(e,n)){if(l(i(e,n),i(e-1,n),i(t,n))&&c(i(e,n),i(e+1,n),i(t,n)))return!1}else if(c(i(e,n),i(e+1,n),i(t,n))||l(i(e,n),i(e-1,n),i(t,n)))return!1;for(var r=0;r<n.length;++r)if((r+1)%n.length!=t&&r!=t&&(r+1)%n.length!=e&&r!=e){var a=cc.v2();if(p(i(t,n),i(e,n),i(r,n),i(r+1,n),a))return!1}return!0}function s(t,e){return a(t,e)}function a(t,e,n){if(void 0===n){var r=t,s=e;t=i(r-1,s),e=i(r,s),n=i(r+1,s)}return m(t,e,n)<0}function o(t,e,i){return m(t,e,i)>0}function l(t,e,i){return m(t,e,i)>=0}function c(t,e,i){return m(t,e,i)<=0}function h(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function u(t){_(t)||t.reverse()}function _(t){return t.length<3||f(t)>0}function f(t){var e,i=0;for(e=0;e<t.length;e++){var n=(e+1)%t.length;i+=t[e].x*t[n].y,i-=t[e].y*t[n].x}return i/2}function d(t,e,i,n){var r,s=cc.v2(),a=e.y-t.y,o=t.x-e.x,l=a*t.x+o*t.y,c=n.y-i.y,h=i.x-n.x,u=c*i.x+h*i.y,_=a*h-c*o;return r=_,0,Math.abs(r-0)<=1e-6||(s.x=(h*l-o*u)/_,s.y=(a*u-c*l)/_),s}function p(t,e,i,n,r){if(t==i||t==n||e==i||e==n)return!1;var s=t.x,a=t.y,o=e.x,l=e.y,c=i.x,h=i.y,u=n.x,_=n.y;if(Math.max(s,o)<Math.min(c,u)||Math.max(c,u)<Math.min(s,o))return!1;if(Math.max(a,l)<Math.min(h,_)||Math.max(h,_)<Math.min(a,l))return!1;var f=(u-c)*(a-h)-(_-h)*(s-c),d=(o-s)*(a-h)-(l-a)*(s-c),p=(_-h)*(o-s)-(u-c)*(l-a);return!(Math.abs(p)<1e-6)&&(d/=p,0<(f/=p)&&f<1&&0<d&&d<1&&(r.x=s+f*(o-s),r.y=a+f*(l-a),!0))}function m(t,e,i){return t.x*(e.y-i.y)+e.x*(i.y-t.y)+i.x*(t.y-e.y)}e.exports={ConvexPartition:function t(e){u(e);for(var _,f,p,m,y,v,g=[],b=cc.v2(),A=cc.v2(),x=0,C=0,T=0;T<e.length;++T)if(s(T,e)){f=p=1e8;for(var S=0;S<e.length;++S)o(i(T-1,e),i(T,e),i(S,e))&&c(i(T-1,e),i(T,e),i(S-1,e))&&(m=d(i(T-1,e),i(T,e),i(S,e),i(S-1,e)),a(i(T+1,e),i(T,e),m)&&(_=h(i(T,e),m))<f&&(f=_,b=m,x=S)),o(i(T+1,e),i(T,e),i(S+1,e))&&c(i(T+1,e),i(T,e),i(S,e))&&(m=d(i(T+1,e),i(T,e),i(S,e),i(S+1,e)),o(i(T-1,e),i(T,e),m)&&(_=h(i(T,e),m))<p&&(p=_,C=S,A=m));if(x==(C+1)%e.length){var w=b.add(A).div(2);(y=n(T,C,e)).push(w),(v=n(x,T,e)).push(w)}else{for(var E=0,M=x;C<x;)C+=e.length;for(S=x;S<=C;++S)if(r(T,S,e)){var D=1/(h(i(T,e),i(S,e))+1);s(S,e)?c(i(S-1,e),i(S,e),i(T,e))&&l(i(S+1,e),i(S,e),i(T,e))?D+=3:D+=2:D+=1,D>E&&(M=S,E=D)}y=n(T,M,e),v=n(M,T,e)}return(g=g.concat(t(y))).concat(t(v))}for(g.push(e),T=g.length-1;T>=0;T--)0==g[T].length&&g.splice(T,0);return g},ForceCounterClockWise:u,IsCounterClockWise:_}}),{}],216:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=t("./CCPhysicsTypes").PTM_RATIO,r=t("./CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=t("./CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,a=t("./utils").getWorldRotation,o=t("./CCPhysicsTypes").BodyType,l=new b2.Vec2,c=new b2.Vec2,h=cc.Vec2.ZERO,u=cc.Class({name:"cc.RigidBody",extends:cc.Component,editor:!1,properties:{_type:o.Dynamic,_allowSleep:!0,_gravityScale:1,_linearDamping:0,_angularDamping:0,_linearVelocity:cc.v2(0,0),_angularVelocity:0,_fixedRotation:!1,enabled:{get:function(){return this._enabled},set:function(){cc.warnID(8200)},visible:!1,override:!0},enabledContactListener:{default:!1,tooltip:!1},bullet:{default:!1,tooltip:!1},type:{type:o,tooltip:!1,get:function(){return this._type},set:function(t){this._type=t,this._b2Body&&(t===o.Animated?this._b2Body.SetType(o.Kinematic):this._b2Body.SetType(t))}},allowSleep:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.IsSleepingAllowed():this._allowSleep},set:function(t){this._allowSleep=t,this._b2Body&&this._b2Body.SetSleepingAllowed(t)}},gravityScale:{tooltip:!1,get:function(){return this._gravityScale},set:function(t){this._gravityScale=t,this._b2Body&&this._b2Body.SetGravityScale(t)}},linearDamping:{tooltip:!1,get:function(){return this._linearDamping},set:function(t){this._linearDamping=t,this._b2Body&&this._b2Body.SetLinearDamping(this._linearDamping)}},angularDamping:{tooltip:!1,get:function(){return this._angularDamping},set:function(t){this._angularDamping=t,this._b2Body&&this._b2Body.SetAngularDamping(t)}},linearVelocity:{tooltip:!1,type:cc.Vec2,get:function(){var t=this._linearVelocity;if(this._b2Body){var e=this._b2Body.GetLinearVelocity();t.x=e.x*n,t.y=e.y*n}return t},set:function(t){this._linearVelocity=t;var e=this._b2Body;if(e){var i=e.m_linearVelocity;i.Set(t.x/n,t.y/n),e.SetLinearVelocity(i)}}},angularVelocity:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.GetAngularVelocity()*s:this._angularVelocity},set:function(t){this._angularVelocity=t,this._b2Body&&this._b2Body.SetAngularVelocity(t*r)}},fixedRotation:{tooltip:!1,get:function(){return this._fixedRotation},set:function(t){this._fixedRotation=t,this._b2Body&&this._b2Body.SetFixedRotation(t)}},awake:{visible:!1,tooltip:!1,get:function(){return!!this._b2Body&&this._b2Body.IsAwake()},set:function(t){this._b2Body&&this._b2Body.SetAwake(t)}},awakeOnLoad:{default:!0,tooltip:!1,animatable:!1},active:{visible:!1,get:function(){return!!this._b2Body&&this._b2Body.IsActive()},set:function(t){this._b2Body&&this._b2Body.SetActive(t)}}},getLocalPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetLocalPoint(l,e);e.x=i.x*n,e.y=i.y*n}return e},getWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetWorldPoint(l,e);e.x=i.x*n,e.y=i.y*n}return e},getWorldVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetWorldVector(l,e);e.x=i.x*n,e.y=i.y*n}return e},getLocalVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetLocalVector(l,e);e.x=i.x*n,e.y=i.y*n}return e},getWorldPosition:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetPosition();t.x=e.x*n,t.y=e.y*n}return t},getWorldRotation:function(){return this._b2Body?this._b2Body.GetAngle()*s:0},getLocalCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetLocalCenter();t.x=e.x*n,t.y=e.y*n}return t},getWorldCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetWorldCenter();t.x=e.x*n,t.y=e.y*n}return t},getLinearVelocityFromWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetLinearVelocityFromWorldPoint(l,e);e.x=i.x*n,e.y=i.y*n}return e},getMass:function(){return this._b2Body?this._b2Body.GetMass():0},getInertia:function(){return this._b2Body?this._b2Body.GetInertia()*n*n:0},getJointList:function(){if(!this._b2Body)return[];var t=[],e=this._b2Body.GetJointList();if(!e)return[];t.push(e.joint._joint);for(var i=e.prev;i;)t.push(i.joint._joint),i=i.prev;for(var n=e.next;n;)t.push(n.joint._joint),n=n.next;return t},applyForce:function(t,e,i){this._b2Body&&(l.Set(t.x/n,t.y/n),c.Set(e.x/n,e.y/n),this._b2Body.ApplyForce(l,c,i))},applyForceToCenter:function(t,e){this._b2Body&&(l.Set(t.x/n,t.y/n),this._b2Body.ApplyForceToCenter(l,e))},applyTorque:function(t,e){this._b2Body&&this._b2Body.ApplyTorque(t/n,e)},applyLinearImpulse:function(t,e,i){this._b2Body&&(l.Set(t.x/n,t.y/n),c.Set(e.x/n,e.y/n),this._b2Body.ApplyLinearImpulse(l,c,i))},applyAngularImpulse:function(t,e){this._b2Body&&this._b2Body.ApplyAngularImpulse(t/n/n,e)},syncPosition:function(t){var e=this._b2Body;if(e){var i,r=this.node.convertToWorldSpaceAR(h);if((i=this.type===o.Animated?e.GetLinearVelocity():e.GetPosition()).x=r.x/n,i.y=r.y/n,this.type===o.Animated&&t){var s=e.GetPosition(),a=cc.game.config.frameRate;i.x=(i.x-s.x)*a,i.y=(i.y-s.y)*a,e.SetAwake(!0),e.SetLinearVelocity(i)}else e.SetTransformVec(i,e.GetAngle())}},syncRotation:function(t){var e=this._b2Body;if(e){var i=r*a(this.node);if(this.type===o.Animated&&t){var n=e.GetAngle(),s=cc.game.config.frameRate;e.SetAwake(!0),e.SetAngularVelocity((i-n)*s)}else e.SetTransformVec(e.GetPosition(),i)}},resetVelocity:function(){var t=this._b2Body;if(t){var e=t.m_linearVelocity;e.Set(0,0),t.SetLinearVelocity(e),t.SetAngularVelocity(0)}},onEnable:function(){this._init()},onDisable:function(){this._destroy()},_registerNodeEvents:function(){var t=this.node;t.on(i.POSITION_CHANGED,this._onNodePositionChanged,this),t.on(i.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.on(i.SCALE_CHANGED,this._onNodeScaleChanged,this)},_unregisterNodeEvents:function(){var t=this.node;t.off(i.POSITION_CHANGED,this._onNodePositionChanged,this),t.off(i.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.off(i.SCALE_CHANGED,this._onNodeScaleChanged,this)},_onNodePositionChanged:function(){this.syncPosition(!0)},_onNodeRotationChanged:function(){this.syncRotation(!0)},_onNodeScaleChanged:function(){if(this._b2Body)for(var t=this.getComponents(cc.PhysicsCollider),e=0;e<t.length;e++)t[e].apply()},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited){this._registerNodeEvents();var t=new b2.BodyDef;this.type===o.Animated?t.type=o.Kinematic:t.type=this.type,t.allowSleep=this.allowSleep,t.gravityScale=this.gravityScale,t.linearDamping=this.linearDamping,t.angularDamping=this.angularDamping;var e=this.linearVelocity;t.linearVelocity=new b2.Vec2(e.x/n,e.y/n),t.angularVelocity=this.angularVelocity*r,t.fixedRotation=this.fixedRotation,t.bullet=this.bullet;var i=this.node,s=i.convertToWorldSpaceAR(h);t.position=new b2.Vec2(s.x/n,s.y/n),t.angle=-Math.PI/180*a(i),t.awake=this.awakeOnLoad,cc.director.getPhysicsManager()._addBody(this,t),this._inited=!0}},__destroy:function(){this._inited&&(cc.director.getPhysicsManager()._removeBody(this),this._unregisterNodeEvents(),this._inited=!1)},_getBody:function(){return this._b2Body}});cc.RigidBody=e.exports=u}),{"../CCNode":72,"./CCPhysicsTypes":214,"./utils":237}],217:[(function(t){"use strict";var e=t("../../../external/box2d/box2d");for(var i in window.b2={},e)if(-1===i.indexOf("b2_")){var n=i.replace("b2","");b2[n]=e[i]}b2.maxPolygonVertices=8}),{"../../../external/box2d/box2d":434}],218:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.Class({name:"cc.PhysicsBoxCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Box],editor:{menu:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=Math.abs(t.x),n=Math.abs(t.y),r=this.size.width/2/i*e,s=this.size.height/2/i*n,a=this.offset.x/i*e,o=this.offset.y/i*n,l=new b2.PolygonShape;return l.SetAsBox(r,s,new b2.Vec2(a,o),0),l}});cc.PhysicsBoxCollider=e.exports=n}),{"../CCPhysicsTypes":214}],219:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.Class({name:"cc.PhysicsChainCollider",extends:cc.PhysicsCollider,editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},properties:{loop:!1,points:{default:function(){return[cc.v2(-50,0),cc.v2(50,0)]},type:[cc.Vec2]},threshold:{default:1,serializable:!1,visible:!1}},_createShape:function(t){for(var e=new b2.ChainShape,n=this.points,r=[],s=0;s<n.length;s++){var a=n[s];r.push(new b2.Vec2(a.x/i*t.x,a.y/i*t.y))}return this.loop?e.CreateLoop(r,r.length):e.CreateChain(r,r.length),e},resetInEditor:!1,resetPointsByContour:!1});cc.PhysicsChainCollider=e.exports=n}),{"../CCPhysicsTypes":214}],220:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.Class({name:"cc.PhysicsCircleCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Circle],editor:{menu:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=Math.abs(t.x),n=Math.abs(t.y),r=this.offset.x/i*e,s=this.offset.y/i*n,a=new b2.CircleShape;return a.m_radius=this.radius/i*e,a.m_p=new b2.Vec2(r,s),a}});cc.PhysicsCircleCollider=e.exports=n}),{"../CCPhysicsTypes":214}],221:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../utils").getWorldScale,r=new b2.AABB,s=cc.Class({name:"cc.PhysicsCollider",extends:cc.Collider,ctor:function(){this._fixtures=[],this._shapes=[],this._inited=!1,this._rect=cc.rect()},properties:{_density:1,_sensor:!1,_friction:.2,_restitution:0,density:{tooltip:!1,get:function(){return this._density},set:function(t){this._density=t}},sensor:{tooltip:!1,get:function(){return this._sensor},set:function(t){this._sensor=t}},friction:{tooltip:!1,get:function(){return this._friction},set:function(t){this._friction=t}},restitution:{tooltip:!1,get:function(){return this._restitution},set:function(t){this._restitution=t}},body:{default:null,type:cc.RigidBody,visible:!1}},onDisable:function(){this._destroy()},onEnable:function(){this._init()},start:function(){this._init()},_getFixtureIndex:function(t){return this._fixtures.indexOf(t)},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited){var t=this.body||this.getComponent(cc.RigidBody);if(t){var e=t._getBody();if(e){var i=t.node,r=n(i);this._scale=r;var s=0===r.x&&0===r.y?[]:this._createShape(r);s instanceof Array||(s=[s]);for(var a=1<<i.groupIndex,o=0,l=cc.game.collisionMatrix[i.groupIndex],c=0;c<l.length;c++)l[c]&&(o|=1<<c);for(var h={categoryBits:a,maskBits:o,groupIndex:0},u=cc.director.getPhysicsManager(),_=0;_<s.length;_++){var f=s[_],d=new b2.FixtureDef;d.density=this.density,d.isSensor=this.sensor,d.friction=this.friction,d.restitution=this.restitution,d.shape=f,d.filter=h;var p=e.CreateFixture(d);p.collider=this,t.enabledContactListener&&u._registerContactFixture(p),this._shapes.push(f),this._fixtures.push(p)}this.body=t,this._inited=!0}}}},__destroy:function(){if(this._inited){for(var t=this._fixtures,e=this.body._getBody(),i=cc.director.getPhysicsManager(),n=t.length-1;n>=0;n--){var r=t[n];r.collider=null,i._unregisterContactFixture(r),e&&e.DestroyFixture(r)}this.body=null,this._fixtures.length=0,this._shapes.length=0,this._inited=!1}},_createShape:function(){},apply:function(){this._destroy(),this._init()},getAABB:function(){for(var t=1e7,e=1e7,n=-1e7,s=-1e7,a=this.body._getBody().GetTransform(),o=this._fixtures,l=0;l<o.length;l++)for(var c=o[l].GetShape(),h=c.GetChildCount(),u=0;u<h;u++)c.ComputeAABB(r,a,u),r.lowerBound.x<t&&(t=r.lowerBound.x),r.lowerBound.y<e&&(e=r.lowerBound.y),r.upperBound.x>n&&(n=r.upperBound.x),r.upperBound.y>s&&(s=r.upperBound.y);t*=i,e*=i,n*=i,s*=i;var _=this._rect;return _.x=t,_.y=e,_.width=n-t,_.height=s-e,_}});cc.PhysicsCollider=e.exports=s}),{"../CCPhysicsTypes":214,"../utils":237}],222:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPolygonSeparator"),r=cc.Class({name:"cc.PhysicsPolygonCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Polygon],editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=[],r=this.points;r.length>0&&r[0].equals(r[r.length-1])&&(r.length-=1);for(var s=n.ConvexPartition(r),a=this.offset,o=0;o<s.length;o++){for(var l=s[o],c=null,h=[],u=null,_=0,f=l.length;_<f;_++){c||(c=new b2.PolygonShape);var d=l[_],p=(d.x+a.x)/i*t.x,m=(d.y+a.y)/i*t.y,y=new b2.Vec2(p,m);h.push(y),u||(u=y),h.length===b2.maxPolygonVertices&&(c.Set(h,h.length),e.push(c),c=null,_<f-1&&(h=[u,h[h.length-1]]))}c&&(c.Set(h,h.length),e.push(c))}return e}});cc.PhysicsPolygonCollider=e.exports=r}),{"../CCPhysicsTypes":214,"../CCPolygonSeparator":215}],223:[(function(t){"use strict";t("./box2d-adapter"),t("./CCPhysicsManager"),t("./CCRigidBody"),t("./CCPhysicsContact"),t("./collider/CCPhysicsCollider"),t("./collider/CCPhysicsChainCollider"),t("./collider/CCPhysicsCircleCollider"),t("./collider/CCPhysicsBoxCollider"),t("./collider/CCPhysicsPolygonCollider"),t("./joint/CCJoint"),t("./joint/CCDistanceJoint"),t("./joint/CCRevoluteJoint"),t("./joint/CCMouseJoint"),t("./joint/CCMotorJoint"),t("./joint/CCPrismaticJoint"),t("./joint/CCWeldJoint"),t("./joint/CCWheelJoint"),t("./joint/CCRopeJoint"),t("./platform/CCPhysicsContactListner"),t("./platform/CCPhysicsAABBQueryCallback"),t("./platform/CCPhysicsRayCastCallback")}),{"./CCPhysicsContact":212,"./CCPhysicsManager":213,"./CCRigidBody":216,"./box2d-adapter":217,"./collider/CCPhysicsBoxCollider":218,"./collider/CCPhysicsChainCollider":219,"./collider/CCPhysicsCircleCollider":220,"./collider/CCPhysicsCollider":221,"./collider/CCPhysicsPolygonCollider":222,"./joint/CCDistanceJoint":224,"./joint/CCJoint":225,"./joint/CCMotorJoint":226,"./joint/CCMouseJoint":227,"./joint/CCPrismaticJoint":228,"./joint/CCRevoluteJoint":229,"./joint/CCRopeJoint":230,"./joint/CCWeldJoint":231,"./joint/CCWheelJoint":232,"./platform/CCPhysicsAABBQueryCallback":233,"./platform/CCPhysicsContactListner":234,"./platform/CCPhysicsRayCastCallback":236}],224:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.Class({name:"cc.DistanceJoint",extends:cc.Joint,editor:!1,properties:{_distance:1,_frequency:0,_dampingRatio:0,distance:{tooltip:!1,get:function(){return this._distance},set:function(t){this._distance=t,this._joint&&this._joint.SetLength(t)}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.DistanceJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/i,this.anchor.y/i),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/i,this.connectedAnchor.y/i),t.length=this.distance/i,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t}});cc.DistanceJoint=e.exports=n}),{"../CCPhysicsTypes":214}],225:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.Class({name:"cc.Joint",extends:cc.Component,editor:{requireComponent:cc.RigidBody},properties:{anchor:{default:cc.v2(0,0),tooltip:!1},connectedAnchor:{default:cc.v2(0,0),tooltip:!1},connectedBody:{default:null,type:cc.RigidBody,tooltip:!1},collideConnected:{default:!1,tooltip:!1}},onDisable:function(){this._destroy()},onEnable:function(){this._init()},start:function(){this._init()},apply:function(){this._destroy(),this._init()},getWorldAnchor:function(){if(this._joint){var t=this._joint.GetAnchorA();return cc.v2(t.x*i,t.y*i)}return cc.Vec2.ZERO},getWorldConnectedAnchor:function(){if(this._joint){var t=this._joint.GetAnchorB();return cc.v2(t.x*i,t.y*i)}return cc.Vec2.ZERO},getReactionForce:function(t){var e=cc.v2();return this._joint?this._joint.GetReactionForce(t,e):e},getReactionTorque:function(t){return this._joint?this._joint.GetReactionTorque(t):0},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited&&(this.body=this.getComponent(cc.RigidBody),this._isValid())){var t=this._createJointDef();if(!t)return;t.bodyA=this.body._getBody(),t.bodyB=this.connectedBody._getBody(),t.collideConnected=this.collideConnected,cc.director.getPhysicsManager()._addJoint(this,t),this._inited=!0}},__destroy:function(){this._inited&&(cc.director.getPhysicsManager()._removeJoint(this),this._joint=null,this._inited=!1)},_createJointDef:function(){return null},_isValid:function(){return this.body&&this.body._getBody()&&this.connectedBody&&this.connectedBody._getBody()}});cc.Joint=e.exports=n}),{"../CCPhysicsTypes":214}],226:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,r=cc.Class({name:"cc.MotorJoint",extends:cc.Joint,editor:!1,properties:{_linearOffset:cc.v2(0,0),_angularOffset:0,_maxForce:1,_maxTorque:1,_correctionFactor:.3,anchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},connectedAnchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},linearOffset:{tooltip:!1,get:function(){return this._linearOffset},set:function(t){this._linearOffset=t,this._joint&&this._joint.SetLinearOffset(new b2.Vec2(t.x/i,t.y/i))}},angularOffset:{tooltip:!1,get:function(){return this._angularOffset},set:function(t){this._angularOffset=t,this._joint&&this._joint.SetAngularOffset(t)}},maxForce:{tooltip:!1,get:function(){return this._maxForce},set:function(t){this._maxForce=t,this._joint&&this._joint.SetMaxForce(t)}},maxTorque:{tooltip:!1,get:function(){return this._maxTorque},set:function(t){this._maxTorque=t,this._joint&&this._joint.SetMaxTorque(t)}},correctionFactor:{tooltip:!1,get:function(){return this._correctionFactor},set:function(t){this._correctionFactor=t,this._joint&&this._joint.SetCorrectionFactor(t)}}},_createJointDef:function(){var t=new b2.MotorJointDef;return t.linearOffset=new b2.Vec2(this.linearOffset.x/i,this.linearOffset.y/i),t.angularOffset=this.angularOffset*n,t.maxForce=this.maxForce,t.maxTorque=this.maxTorque,t.correctionFactor=this.correctionFactor,t}});cc.MotorJoint=e.exports=r}),{"../CCPhysicsTypes":214}],227:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=new b2.Vec2,r=cc.Class({name:"cc.MouseJoint",extends:cc.Joint,editor:!1,properties:{_target:1,_frequency:5,_dampingRatio:.7,_maxForce:0,connectedBody:{default:null,type:cc.RigidBody,visible:!1,override:!0},collideConnected:{default:!0,visible:!1,override:!0},anchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},connectedAnchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},mouseRegion:{tooltip:!1,default:null,type:cc.Node},target:{tooltip:!1,visible:!1,get:function(){return this._target},set:function(t){this._target=t,this._joint&&(n.x=t.x/i,n.y=t.y/i,this._joint.SetTarget(n))}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}},maxForce:{tooltip:!1,visible:!1,get:function(){return this._maxForce},set:function(t){this._maxForce=t,this._joint&&this._joint.SetMaxForce(t)}}},onLoad:function(){var t=this.mouseRegion||this.node;t.on(cc.Node.EventType.TOUCH_START,this.onTouchBegan,this),t.on(cc.Node.EventType.TOUCH_MOVE,this.onTouchMove,this),t.on(cc.Node.EventType.TOUCH_END,this.onTouchEnd,this),t.on(cc.Node.EventType.TOUCH_CANCEL,this.onTouchEnd,this)},onEnable:function(){},start:function(){},onTouchBegan:function(t){var e=cc.director.getPhysicsManager(),i=this._pressPoint=t.touch.getLocation();cc.Camera&&cc.Camera.main&&(i=cc.Camera.main.getScreenToWorldPoint(i));var n=e.testPoint(i);n&&((this.connectedBody=n.body).awake=!0,this.maxForce=1e3*this.connectedBody.getMass(),this.target=i,this._init())},onTouchMove:function(t){this._pressPoint=t.touch.getLocation()},onTouchEnd:function(){this._destroy(),this._pressPoint=null},_createJointDef:function(){var t=new b2.MouseJointDef;return n.x=this.target.x/i,n.y=this.target.y/i,t.target=n,t.maxForce=this.maxForce,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t},update:function(){if(this._pressPoint&&this._isValid()){var t=cc.Camera.findCamera(this.node);this.target=t?t.getScreenToWorldPoint(this._pressPoint):this._pressPoint}}});cc.MouseJoint=e.exports=r}),{"../CCPhysicsTypes":214}],228:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,r=cc.Class({name:"cc.PrismaticJoint",extends:cc.Joint,editor:!1,properties:{localAxisA:{default:cc.v2(1,0),tooltip:!1},referenceAngle:{default:0,tooltip:!1},enableLimit:{default:!1,tooltip:!1},enableMotor:{default:!1,tooltip:!1},lowerLimit:{default:0,tooltip:!1},upperLimit:{default:0,tooltip:!1},_maxMotorForce:0,_motorSpeed:0,maxMotorForce:{tooltip:!1,get:function(){return this._maxMotorForce},set:function(t){this._maxMotorForce=t,this._joint&&this._joint.SetMaxMotorForce(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t)}}},_createJointDef:function(){var t=new b2.PrismaticJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/i,this.anchor.y/i),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/i,this.connectedAnchor.y/i),t.localAxisA=new b2.Vec2(this.localAxisA.x,this.localAxisA.y),t.referenceAngle=this.referenceAngle*n,t.enableLimit=this.enableLimit,t.lowerTranslation=this.lowerLimit/i,t.upperTranslation=this.upperLimit/i,t.enableMotor=this.enableMotor,t.maxMotorForce=this.maxMotorForce,t.motorSpeed=this.motorSpeed,t}});cc.PrismaticJoint=e.exports=r}),{"../CCPhysicsTypes":214}],229:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,r=t("../CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,s=cc.Class({name:"cc.RevoluteJoint",extends:cc.Joint,editor:!1,properties:{_maxMotorTorque:0,_motorSpeed:0,_enableLimit:!1,_enableMotor:!1,referenceAngle:{default:0,tooltip:!1},lowerAngle:{default:0,tooltip:!1},upperAngle:{default:0,tooltip:!1},maxMotorTorque:{tooltip:!1,get:function(){return this._maxMotorTorque},set:function(t){this._maxMotorTorque=t,this._joint&&this._joint.SetMaxMotorTorque(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t*n)}},enableLimit:{tooltip:!1,get:function(){return this._enableLimit},set:function(t){this._enableLimit=t,this._joint&&this._joint.EnableLimit(t)}},enableMotor:{tooltip:!1,get:function(){return this._enableMotor},set:function(t){this._enableMotor=t,this._joint&&this._joint.EnableMotor(t)}}},getJointAngle:function(){return this._joint?this._joint.GetJointAngle()*r:0},setLimits:function(t,e){if(this._joint)return this._joint.SetLimits(t*n,e*n)},_createJointDef:function(){var t=new b2.RevoluteJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/i,this.anchor.y/i),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/i,this.connectedAnchor.y/i),t.lowerAngle=this.upperAngle*n,t.upperAngle=this.lowerAngle*n,t.maxMotorTorque=this.maxMotorTorque,t.motorSpeed=this.motorSpeed*n,t.enableLimit=this.enableLimit,t.enableMotor=this.enableMotor,t.referenceAngle=this.referenceAngle*n,t}});cc.RevoluteJoint=e.exports=s}),{"../CCPhysicsTypes":214}],230:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.Class({name:"cc.RopeJoint",extends:cc.Joint,editor:!1,properties:{_maxLength:1,maxLength:{tooltip:!1,get:function(){return this._maxLength},set:function(t){this._maxLength=t,this._joint&&this._joint.SetMaxLength(t)}}},_createJointDef:function(){var t=new b2.RopeJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/i,this.anchor.y/i),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/i,this.connectedAnchor.y/i),t.maxLength=this.maxLength/i,t}});cc.RopeJoint=e.exports=n}),{"../CCPhysicsTypes":214}],231:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,r=cc.Class({name:"cc.WeldJoint",extends:cc.Joint,editor:!1,properties:{referenceAngle:{default:0,tooltip:!1},_frequency:0,_dampingRatio:0,frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.WeldJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/i,this.anchor.y/i),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/i,this.connectedAnchor.y/i),t.referenceAngle=this.referenceAngle*n,t.frequencyHz=this.frequency,t.dampingRatio=this.dampingRatio,t}});cc.WeldJoint=e.exports=r}),{"../CCPhysicsTypes":214}],232:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,r=cc.Class({name:"cc.WheelJoint",extends:cc.Joint,editor:!1,properties:{_maxMotorTorque:0,_motorSpeed:0,_enableMotor:!1,_frequency:2,_dampingRatio:.7,localAxisA:{default:cc.v2(1,0),tooltip:!1},maxMotorTorque:{tooltip:!1,get:function(){return this._maxMotorTorque},set:function(t){this._maxMotorTorque=t,this._joint&&this._joint.SetMaxMotorTorque(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t*n)}},enableMotor:{tooltip:!1,get:function(){return this._enableMotor},set:function(t){this._enableMotor=t,this._joint&&this._joint.EnableMotor(t)}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetSpringFrequencyHz(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.WheelJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/i,this.anchor.y/i),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/i,this.connectedAnchor.y/i),t.localAxisA=new b2.Vec2(this.localAxisA.x,this.localAxisA.y),t.maxMotorTorque=this.maxMotorTorque,t.motorSpeed=this.motorSpeed*n,t.enableMotor=this.enableMotor,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t}});cc.WheelJoint=e.exports=r}),{"../CCPhysicsTypes":214}],233:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").BodyType;function n(){this._point=new b2.Vec2,this._isPoint=!1,this._fixtures=[]}n.prototype.init=function(t){t?(this._isPoint=!0,this._point.x=t.x,this._point.y=t.y):this._isPoint=!1,this._fixtures.length=0},n.prototype.ReportFixture=function(t){if(t.GetBody().GetType()===i.Dynamic)if(this._isPoint){if(t.TestPoint(this._point))return this._fixtures.push(t),!1}else this._fixtures.push(t);return!0},n.prototype.getFixture=function(){return this._fixtures[0]},n.prototype.getFixtures=function(){return this._fixtures},cc.PhysicsAABBQueryCallback=e.exports=n}),{"../CCPhysicsTypes":214}],234:[(function(t,e){"use strict";function i(){this._contactFixtures=[]}i.prototype.setBeginContact=function(t){this._BeginContact=t},i.prototype.setEndContact=function(t){this._EndContact=t},i.prototype.setPreSolve=function(t){this._PreSolve=t},i.prototype.setPostSolve=function(t){this._PostSolve=t},i.prototype.BeginContact=function(t){if(this._BeginContact){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=this._contactFixtures;t._shouldReport=!1,-1===n.indexOf(e)&&-1===n.indexOf(i)||(t._shouldReport=!0,this._BeginContact(t))}},i.prototype.EndContact=function(t){this._EndContact&&t._shouldReport&&(t._shouldReport=!1,this._EndContact(t))},i.prototype.PreSolve=function(t,e){this._PreSolve&&t._shouldReport&&this._PreSolve(t,e)},i.prototype.PostSolve=function(t,e){this._PostSolve&&t._shouldReport&&this._PostSolve(t,e)},i.prototype.registerContactFixture=function(t){this._contactFixtures.push(t)},i.prototype.unregisterContactFixture=function(t){cc.js.array.remove(this._contactFixtures,t)},cc.PhysicsContactListener=e.exports=i}),{}],235:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=cc.v2(),r=cc.Color.GREEN,s=cc.Color.RED;function a(t){b2.Draw.call(this),this._drawer=t,this._xf=this._dxf=new b2.Transform}cc.js.extend(a,b2.Draw),cc.js.mixin(a.prototype,{_DrawPolygon:function(t,e){for(var r=this._drawer,s=0;s<e;s++){b2.Transform.MulXV(this._xf,t[s],n);var a=n.x*i,o=n.y*i;0===s?r.moveTo(a,o):r.lineTo(a,o)}r.close()},DrawPolygon:function(t,e,i){this._applyStrokeColor(i),this._DrawPolygon(t,e),this._drawer.stroke()},DrawSolidPolygon:function(t,e,i){this._applyFillColor(i),this._DrawPolygon(t,e),this._drawer.fill(),this._drawer.stroke()},_DrawCircle:function(t,e){var n=this._xf.p;this._drawer.circle((t.x+n.x)*i,(t.y+n.y)*i,e*i)},DrawCircle:function(t,e,i){this._applyStrokeColor(i),this._DrawCircle(t,e),this._drawer.stroke()},DrawSolidCircle:function(t,e,i,n){this._applyFillColor(n),this._DrawCircle(t,e),this._drawer.fill()},DrawSegment:function(t,e,r){var s=this._drawer;if(t.x===e.x&&t.y===e.y)return this._applyFillColor(r),this._DrawCircle(t,2/i),void s.fill();this._applyStrokeColor(r),b2.Transform.MulXV(this._xf,t,n),s.moveTo(n.x*i,n.y*i),b2.Transform.MulXV(this._xf,e,n),s.lineTo(n.x*i,n.y*i),s.stroke()},DrawTransform:function(t){var e=this._drawer;e.strokeColor=s,n.x=n.y=0,b2.Transform.MulXV(t,n,n),e.moveTo(n.x*i,n.y*i),n.x=1,n.y=0,b2.Transform.MulXV(t,n,n),e.lineTo(n.x*i,n.y*i),e.stroke(),e.strokeColor=r,n.x=n.y=0,b2.Transform.MulXV(t,n,n),e.moveTo(n.x*i,n.y*i),n.x=0,n.y=1,b2.Transform.MulXV(t,n,n),e.lineTo(n.x*i,n.y*i),e.stroke()},DrawPoint:function(){},_applyStrokeColor:function(t){var e=this._drawer.strokeColor;e.r=255*t.r,e.g=255*t.g,e.b=255*t.b,e.a=150,this._drawer.strokeColor=e},_applyFillColor:function(t){var e=this._drawer.fillColor;e.r=255*t.r,e.g=255*t.g,e.b=255*t.b,e.a=150,this._drawer.fillColor=e},PushTransform:function(t){this._xf=t},PopTransform:function(){this._xf=this._dxf}}),e.exports=a}),{"../CCPhysicsTypes":214}],236:[(function(t,e){"use strict";function i(){this._type=0,this._fixtures=[],this._points=[],this._normals=[],this._fractions=[]}i.prototype.init=function(t){this._type=t,this._fixtures.length=0,this._points.length=0,this._normals.length=0,this._fractions.length=0},i.prototype.ReportFixture=function(t,e,i,n){return 0===this._type?(this._fixtures[0]=t,this._points[0]=e,this._normals[0]=i,this._fractions[0]=n,n):(this._fixtures.push(t),this._points.push(cc.v2(e)),this._normals.push(cc.v2(i)),this._fractions.push(n),1===this._type?0:this._type>=2?1:n)},i.prototype.getFixtures=function(){return this._fixtures},i.prototype.getPoints=function(){return this._points},i.prototype.getNormals=function(){return this._normals},i.prototype.getFractions=function(){return this._fractions},cc.PhysicsRayCastCallback=e.exports=i}),{}],237:[(function(t,e){"use strict";e.exports={getWorldRotation:function(t){for(var e=t.angle,i=t.parent;i.parent;)e+=i.angle,i=i.parent;return-e},getWorldScale:function(t){for(var e=t.scaleX,i=t.scaleY,n=t.parent;n.parent;)e*=n.scaleX,i*=n.scaleY,n=n.parent;return cc.v2(e,i)},convertToNodeRotation:function(t,e){e-=-t.angle;for(var i=t.parent;i.parent;)e-=-i.angle,i=i.parent;return e}}}),{}],238:[(function(t,e){"use strict";var i=t("./js"),n=t("./CCEnum"),r=t("./utils"),s=(r.isPlainEmptyObj_DEV,r.cloneable_DEV,t("./attribute")),a=s.DELIMETER,o=t("./preprocess-class");t("./requiring-frame");var l=["name","extends","mixins","ctor","__ctor__","properties","statics","editor","__ES6__"];function c(t,e){t.indexOf(e)<0&&t.push(e)}var h={datas:null,push:function(t){if(this.datas)this.datas.push(t);else{this.datas=[t];var e=this;setTimeout((function(){e.init()}),0)}},init:function(){var t=this.datas;if(t){for(var e=0;e<t.length;++e){var n=t[e],r=n.cls,s=n.props;"function"==typeof s&&(s=s());var a=i.getClassName(r);s?E(r,a,s,r.$super,n.mixins):cc.errorID(3633,a)}this.datas=null}}};function u(t,e){c(t.__props__,e)}function _(t,e,i,n){var r=n.default;s.setClassAttr(t,i,"default",r),u(t,i),B(t,n,0,i)}function f(t,e,n,r,a){var o=r.get,l=r.set,c=t.prototype,h=!Object.getOwnPropertyDescriptor(c,n);o&&(B(t,r,0,n),s.setClassAttr(t,n,"serializable",!1),a||i.get(c,n,o,h,h)),l&&(a||i.set(c,n,l,h,h))}function d(t){return"function"==typeof t?t():t}function p(t,e,n){for(var r in e)t.hasOwnProperty(r)||n&&!n(r)||Object.defineProperty(t,r,i.getPropertyDescriptor(e,r))}function m(t,e,n,r){var a,o,l=r.__ctor__,c=r.ctor,h=r.__ES6__;h?(a=[c],o=c):(a=l?[l]:T(e,n,r),o=C(a,e,t,r),i.value(o,"extend",(function(t){return t.extends=this,M(t)}),!0)),i.value(o,"__ctors__",a.length>0?a:null,!0);var u=o.prototype;if(e&&(h||(i.extend(o,e),u=o.prototype),o.$super=e),n){for(var _=n.length-1;_>=0;_--){var f=n[_];p(u,f.prototype),p(o,f,(function(t){return f.hasOwnProperty(t)&&!0})),M._isCCClass(f)&&p(s.getClassAttrs(o),s.getClassAttrs(f))}u.constructor=o}return h||(u.__initProps__=x),i.setClassName(t,o),o}function y(t,e,n,r){var s=cc.Component,a=cc._RF.peek();if(a&&i.isChildClassOf(e,s)){if(i.isChildClassOf(a.cls,s))return cc.errorID(3615),null;t=t||a.script}var o=m(t,e,n,r);if(a)if(i.isChildClassOf(e,s)){var l=a.uuid;l&&i._setClassId(l,o),a.cls=o}else i.isChildClassOf(a.cls,s)||(a.cls=o);return o}function v(t){for(var e=i.getClassName(t),n=t.constructor,r="new "+e+"(",s=0;s<n.__props__.length;s++){r+=t[n.__props__[s]],s<n.__props__.length-1&&(r+=",")}return r+")"}function g(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function b(t,e){for(var i=[],n="",r=0;r<e.length;r++){var s=e[r],o=s+a+"default";if(o in t){var l,c;l=A.test(s)?"this."+s+"=":"this["+g(s)+"]=";var h=t[o];if("object"==typeof h&&h)c=h instanceof cc.ValueType?v(h):Array.isArray(h)?"[]":"{}";else if("function"==typeof h){var u=i.length;i.push(h),c="F["+u+"]()"}else c="string"==typeof h?g(h):h;n+=l=l+c+";\n"}}return 0===i.length?Function(n):Function("F","return (function(){\n"+n+"})")(i)}var A=/^[A-Za-z_$][0-9A-Za-z_$]*$/;function x(t){var e=s.getClassAttrs(t),i=t.__props__;null===i&&(h.init(),i=t.__props__);var n=b(e,i);t.prototype.__initProps__=n,n.call(this)}var C=function(t,e,i,n){var r="return function CCClass(){\n";e&&w(e,n)&&(r+="this._super=null;\n"),r+="this.__initProps__(CCClass);\n";var s=t.length;if(s>0){var a="].apply(this,arguments);\n";if(1===s)r+="CCClass.__ctors__[0"+a;else{r+="var cs=CCClass.__ctors__;\n";for(var o=0;o<s;o++)r+="cs["+o+a}}return r+="}",Function(r)()};function T(t,e,i){for(var n,r=[],s=[t].concat(e),a=0;a<s.length;a++){var o=s[a];if(o)for(var l=(n=o,M._isCCClass(n)?n.__ctors__||[]:[n]),h=0;h<l.length;h++)c(r,l[h])}var u=i.ctor;return u&&r.push(u),r}var S=/xyz/.test((function(){xyz}))?/\b\._super\b/:/.*/;function w(t,e){var n=!1;for(var r in e)if(!(l.indexOf(r)>=0)){var s=e[r];if("function"==typeof s){var a=i.getPropertyDescriptor(t.prototype,r);if(a){var o=a.value;if("function"==typeof o){S.test(s)&&(n=!0,e[r]=(function(t,e){return function(){var i=this._super;this._super=t;var n=e.apply(this,arguments);return this._super=i,n}})(o,s));continue}}}}return n}function E(t,e,i,n,r,l){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),r)for(var c=0;c<r.length;++c){var h=r[c];h.__props__&&(t.__props__=t.__props__.concat(h.__props__.filter((function(e){return t.__props__.indexOf(e)<0}))))}if(i)for(var u in o.preprocessAttrs(i,e,t,l),i){var d=i[u];"default"in d?_(t,0,u,d):f(t,0,u,d,l)}var p=s.getClassAttrs(t);t.__values__=t.__props__.filter((function(t){return!1!==p[t+a+"serializable"]}))}function M(t){var e=(t=t||{}).name,n=t.extends,r=t.mixins,s=y(e,n,r,t);e||(e=cc.js.getClassName(s)),s._sealed=!0,n&&(n._sealed=!1);var a=t.properties;"function"==typeof a||n&&null===n.__props__||r&&r.some((function(t){return null===t.__props__}))?(h.push({cls:s,props:a,mixins:r}),s.__props__=s.__values__=null):E(s,e,a,n,t.mixins,t.__ES6__);var c,u=t.statics;if(u)for(c in u)s[c]=u[c];for(var _ in t)if(!(l.indexOf(_)>=0)){var f=t[_];o.validateMethodWithProps(f,_,e,s,n)&&i.value(s.prototype,_,f,!0,!0)}var d=t.editor;return d&&i.isChildClassOf(n,cc.Component)&&cc.Component._registerEditorProps(s,d),s}/xyz/.test((function(){xyz})),M._isCCClass=function(t){return t&&t.hasOwnProperty("__ctors__")},M._fastDefine=function(t,e,n){i.setClassName(t,e);for(var r=e.__props__=e.__values__=Object.keys(n),o=s.getClassAttrs(e),l=0;l<r.length;l++){var c=r[l];o[c+a+"visible"]=!1,o[c+a+"default"]=n[c]}},M.Attr=s,M.attr=s.attr,M.getInheritanceChain=function(t){for(var e=[];t=i.getSuper(t);)t!==Object&&e.push(t);return e};var D={Integer:"Number",Float:"Number",Boolean:"Boolean",String:"String"};function B(t,e,i,r){var o=null,l="";function c(){return l=r+a,o=s.getClassAttrs(t)}var h=e.type;h&&(D[h]?(o||c())[l+"type"]=h:"Object"===h||(h===s.ScriptUuid?((o||c())[l+"type"]="Script",o[l+"ctor"]=cc.ScriptAsset):"object"==typeof h?n.isEnum(h)&&((o||c())[l+"type"]="Enum",o[l+"enumList"]=n.getList(h)):"function"==typeof h&&((o||c())[l+"type"]="Object",o[l+"ctor"]=h)));function u(t,i){if(t in e){var n=e[t];typeof n===i&&((o||c())[l+t]=n)}}e.editorOnly&&((o||c())[l+"editorOnly"]=!0),!1===e.serializable&&((o||c())[l+"serializable"]=!1),u("formerlySerializedAs","string");var _=e.range;_&&Array.isArray(_)&&_.length>=2&&((o||c())[l+"min"]=_[0],o[l+"max"]=_[1],_.length>2&&(o[l+"step"]=_[2])),u("min","number"),u("max","number"),u("step","number")}cc.Class=M,e.exports={isArray:function(t){return t=d(t),Array.isArray(t)},fastDefine:M._fastDefine,getNewValueTypeCode:v,IDENTIFIER_RE:A,escapeForJS:g,getDefault:d}}),{"./CCEnum":240,"./attribute":250,"./js":259,"./preprocess-class":260,"./requiring-frame":261,"./utils":262}],239:[(function(t,e){"use strict";t("./CCClass");var i=t("./preprocess-class"),n=t("./js"),r="__ccclassCache__";function s(t){return t}function a(t,e){return t[e]||(t[e]={})}function o(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function l(t,e){return function(t){return function(i){return e(i,t)}}}var c=l.bind(null,!1);function h(){return l.bind(null,!1)}var u=h(),_=h();function f(t){return a(t,r)}function d(t){var e;try{e=t()}catch(i){return t}return"object"!=typeof e||null===e?e:t}function p(t){var e;try{e=new t}catch(i){return{}}return e}function m(t,e,r,s,a,o){var l,c=a&&(a.get||a.set);s&&(l=i.getFullFormOfProperty(s,c));var h=e[r],u=n.mixin(h||{},l||s||{});if(c)a.get&&(u.get=a.get),a.set&&(u.set=a.set);else{var _=void 0;if(a)a.initializer&&(_=d(a.initializer));else{var f=o.default||(o.default=p(t));f.hasOwnProperty(r)&&(_=f[r])}u.default=_}e[r]=u}var y=o((function(t,e){var i=n.getSuper(t);i===Object&&(i=null);var s={name:e,extends:i,ctor:t,__ES6__:!0},a=t[r];if(a){var o=a.proto;o&&n.mixin(s,o),t[r]=void 0}return cc.Class(s)}));function v(t,e,i){return t((function(t,n){var r=f(t);if(r){var s=void 0!==i?i:n,o=a(r,"proto");a(o,"editor")[e]=s}}),e)}function g(t){return t(s)}var b=g(o),A=v(c,"requireComponent"),x=g(u),C=v(_,"executionOrder"),T=g(o),S=g(o),w=g(u),E=g(u),M=g(u);cc._decorator=e.exports={ccclass:y,property:function(t,e,i){var n=null;function r(t,e,i){var r=f(t.constructor);if(r){var s=a(r,"proto"),o=a(s,"properties");m(t.constructor,o,e,n,i,r)}}if(void 0===e)return n=t,r;r(t,e,i)},executeInEditMode:b,requireComponent:A,menu:x,executionOrder:C,disallowMultiple:T,playOnFocus:S,inspector:w,icon:E,help:M,mixins:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){var i=f(e);i&&(a(i,"proto").mixins=t)}}}}),{"./CCClass":238,"./js":259,"./preprocess-class":260,"./utils":262}],240:[(function(t,e){"use strict";var i=t("./js");function n(t){if("__enums__"in t)return t;i.value(t,"__enums__",null,!0);for(var e=-1,n=Object.keys(t),r=0;r<n.length;r++){var s=n[r],a=t[s];if(-1===a)a=++e,t[s]=a;else if("number"==typeof a)e=a;else if("string"==typeof a&&Number.isInteger(parseFloat(s)))continue;var o=""+a;s!==o&&i.value(t,o,s)}return t}n.isEnum=function(t){return t&&t.hasOwnProperty("__enums__")},n.getList=function(t){if(t.__enums__)return t.__enums__;var e=t.__enums__=[];for(var i in t){var n=t[i];Number.isInteger(n)&&e.push({name:i,value:n})}return e.sort((function(t,e){return t.value-e.value})),e},e.exports=cc.Enum=n}),{"./js":259}],241:[(function(t){"use strict";var e,i=t("../event-manager"),n=t("./CCInputManager");cc.Acceleration=function(t,e,i,n){this.x=t||0,this.y=e||0,this.z=i||0,this.timestamp=n||0},n.setAccelerometerEnabled=function(t){var e=this;if(e._accelEnabled!==t){e._accelEnabled=t;var i=cc.director.getScheduler();i.enableForTarget(e),e._accelEnabled?(e._registerAccelerometerEvent(),e._accelCurTime=0,i.scheduleUpdate(e)):(e._unregisterAccelerometerEvent(),e._accelCurTime=0,i.unscheduleUpdate(e))}},n.setAccelerometerInterval=function(t){this._accelInterval!==t&&(this._accelInterval=t)},n._registerKeyboardEvent=function(){cc.game.canvas.addEventListener("keydown",(function(t){i.dispatchEvent(new cc.Event.EventKeyboard(t.keyCode,!0)),t.stopPropagation(),t.preventDefault()}),!1),cc.game.canvas.addEventListener("keyup",(function(t){i.dispatchEvent(new cc.Event.EventKeyboard(t.keyCode,!1)),t.stopPropagation(),t.preventDefault()}),!1)},n._registerAccelerometerEvent=function(){var t=window,i=this;i._acceleration=new cc.Acceleration,i._accelDeviceEvent=t.DeviceMotionEvent||t.DeviceOrientationEvent,cc.sys.browserType===cc.sys.BROWSER_TYPE_MOBILE_QQ&&(i._accelDeviceEvent=window.DeviceOrientationEvent);var n=i._accelDeviceEvent===t.DeviceMotionEvent?"devicemotion":"deviceorientation",r=navigator.userAgent;(/Android/.test(r)||/Adr/.test(r)&&cc.sys.browserType===cc.BROWSER_TYPE_UC)&&(i._minus=-1),e=i.didAccelerate.bind(i),t.addEventListener(n,e,!1)},n._unregisterAccelerometerEvent=function(){var t=window,i=this._accelDeviceEvent===t.DeviceMotionEvent?"devicemotion":"deviceorientation";e&&t.removeEventListener(i,e,!1)},n.didAccelerate=function(t){var e=this,i=window;if(e._accelEnabled){var n,r,s,a=e._acceleration;if(e._accelDeviceEvent===window.DeviceMotionEvent){var o=t.accelerationIncludingGravity;n=e._accelMinus*o.x*.1,r=e._accelMinus*o.y*.1,s=.1*o.z}else n=t.gamma/90*.981,r=-t.beta/90*.981,s=t.alpha/90*.981;if(cc.view._isRotated){var l=n;n=-r,r=l}a.x=n,a.y=r,a.z=s,a.timestamp=t.timeStamp||Date.now();var c=a.x;90===i.orientation?(a.x=-a.y,a.y=c):-90===i.orientation?(a.x=a.y,a.y=-c):180===i.orientation&&(a.x=-a.x,a.y=-a.y),cc.sys.os===cc.sys.OS_ANDROID&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_MOBILE_QQ&&(a.x=-a.x,a.y=-a.y)}}}),{"../event-manager":183,"./CCInputManager":242}],242:[(function(t,e){"use strict";var i=t("./CCMacro"),n=t("./CCSys"),r=t("../event-manager"),s=i.TOUCH_TIMEOUT,a=cc.v2(),o={_mousePressed:!1,_isRegisterEvent:!1,_preTouchPoint:cc.v2(0,0),_prevMousePoint:cc.v2(0,0),_preTouchPool:[],_preTouchPoolPointer:0,_touches:[],_touchesIntegerDict:{},_indexBitsUsed:0,_maxTouches:8,_accelEnabled:!1,_accelInterval:.2,_accelMinus:1,_accelCurTime:0,_acceleration:null,_accelDeviceEvent:null,_canvasBoundingRect:{left:0,top:0,adjustedLeft:0,adjustedTop:0,width:0,height:0},_getUnUsedIndex:function(){for(var t=this._indexBitsUsed,e=cc.sys.now(),i=0;i<this._maxTouches;i++){if(!(1&t))return this._indexBitsUsed|=1<<i,i;var n=this._touches[i];if(e-n._lastModified>s)return this._removeUsedIndexBit(i),delete this._touchesIntegerDict[n.getID()],i;t>>=1}return-1},_removeUsedIndexBit:function(t){if(!(t<0||t>=this._maxTouches)){var e=1<<t;e=~e,this._indexBitsUsed&=e}},_glView:null,_updateCanvasBoundingRect:function(){var t=cc.game.canvas,e=this._canvasBoundingRect,i=document.documentElement,n=window.pageXOffset-i.clientLeft,r=window.pageYOffset-i.clientTop;if(t.getBoundingClientRect){var s=t.getBoundingClientRect();e.left=s.left+n,e.top=s.top+r,e.width=s.width,e.height=s.height}else t instanceof HTMLCanvasElement?(e.left=n,e.top=r,e.width=t.width,e.height=t.height):(e.left=n,e.top=r,e.width=parseInt(t.style.width),e.height=parseInt(t.style.height))},handleTouchesBegin:function(t){for(var e,i,s,a=[],o=this._touchesIntegerDict,l=n.now(),c=0,h=t.length;c<h;c++)if(null==o[s=(e=t[c]).getID()]){var u=this._getUnUsedIndex();if(-1===u){cc.logID(2300,u);continue}(i=this._touches[u]=new cc.Touch(e._point.x,e._point.y,e.getID()))._lastModified=l,i._setPrevPoint(e._prevPoint),o[s]=u,a.push(i)}if(a.length>0){this._glView._convertTouchesWithScale(a);var _=new cc.Event.EventTouch(a);_._eventCode=cc.Event.EventTouch.BEGAN,r.dispatchEvent(_)}},handleTouchesMove:function(t){for(var e,i,s,a=[],o=this._touches,l=n.now(),c=0,h=t.length;c<h;c++)s=(e=t[c]).getID(),null!=(i=this._touchesIntegerDict[s])&&o[i]&&(o[i]._setPoint(e._point),o[i]._setPrevPoint(e._prevPoint),o[i]._lastModified=l,a.push(o[i]));if(a.length>0){this._glView._convertTouchesWithScale(a);var u=new cc.Event.EventTouch(a);u._eventCode=cc.Event.EventTouch.MOVED,r.dispatchEvent(u)}},handleTouchesEnd:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.ENDED,r.dispatchEvent(i)}this._preTouchPool.length=0},handleTouchesCancel:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.CANCELED,r.dispatchEvent(i)}this._preTouchPool.length=0},getSetOfTouchesEndOrCancel:function(t){for(var e,i,n,r=[],s=this._touches,a=this._touchesIntegerDict,o=0,l=t.length;o<l;o++)null!=(i=a[n=(e=t[o]).getID()])&&s[i]&&(s[i]._setPoint(e._point),s[i]._setPrevPoint(e._prevPoint),r.push(s[i]),this._removeUsedIndexBit(i),delete a[n]);return r},getPreTouch:function(t){for(var e=null,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){e=i[r];break}return e||(e=t),e},setPreTouch:function(t){for(var e=!1,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){i[r]=t,e=!0;break}e||(i.length<=50?i.push(t):(i[this._preTouchPoolPointer]=t,this._preTouchPoolPointer=(this._preTouchPoolPointer+1)%50))},getTouchByXY:function(t,e,i){var n=this._preTouchPoint,r=this._glView.convertToLocationInView(t,e,i),s=new cc.Touch(r.x,r.y,0);return s._setPrevPoint(n.x,n.y),n.x=r.x,n.y=r.y,s},getMouseEvent:function(t,e,i){var n=this._prevMousePoint,r=new cc.Event.EventMouse(i);return r._setPrevCursor(n.x,n.y),n.x=t.x,n.y=t.y,this._glView._convertMouseToLocationInView(n,e),r.setLocation(n.x,n.y),r},getPointByEvent:function(t,e){return cc.sys.browserType!==cc.sys.BROWSER_TYPE_QQ&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_UC&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_SAFARI||this._updateCanvasBoundingRect(),null!=t.pageX?{x:t.pageX,y:t.pageY}:(e.left-=document.body.scrollLeft,e.top-=document.body.scrollTop,{x:t.clientX,y:t.clientY})},getTouchesByEvent:function(t,e){for(var i,r,s,o=[],l=this._glView,c=this._preTouchPoint,h=t.changedTouches.length,u=0;u<h;u++)if(i=t.changedTouches[u]){var _;_=n.BROWSER_TYPE_FIREFOX===n.browserType?l.convertToLocationInView(i.pageX,i.pageY,e,a):l.convertToLocationInView(i.clientX,i.clientY,e,a),null!=i.identifier?(r=new cc.Touch(_.x,_.y,i.identifier),s=this.getPreTouch(r).getLocation(),r._setPrevPoint(s.x,s.y),this.setPreTouch(r)):(r=new cc.Touch(_.x,_.y))._setPrevPoint(c.x,c.y),c.x=_.x,c.y=_.y,o.push(r)}return o},registerSystemEvent:function(t){if(!this._isRegisterEvent){this._glView=cc.view;var e=this,i=this._canvasBoundingRect;window.addEventListener("resize",this._updateCanvasBoundingRect.bind(this));var s=n.isMobile,a="mouse"in n.capabilities,o="touches"in n.capabilities;if(a){s||(window.addEventListener("mousedown",(function(){e._mousePressed=!0}),!1),window.addEventListener("mouseup",(function(t){if(e._mousePressed){e._mousePressed=!1;var n=e.getPointByEvent(t,i);if(!cc.rect(i.left,i.top,i.width,i.height).contains(n)){e.handleTouchesEnd([e.getTouchByXY(n.x,n.y,i)]);var s=e.getMouseEvent(n,i,cc.Event.EventMouse.UP);s.setButton(t.button),r.dispatchEvent(s)}}}),!1));for(var l=cc.Event.EventMouse,c=[!s&&["mousedown",l.DOWN,function(i,n,r,s){e._mousePressed=!0,e.handleTouchesBegin([e.getTouchByXY(r.x,r.y,s)]),t.focus()}],!s&&["mouseup",l.UP,function(t,i,n,r){e._mousePressed=!1,e.handleTouchesEnd([e.getTouchByXY(n.x,n.y,r)])}],!s&&["mousemove",l.MOVE,function(t,i,n,r){e.handleTouchesMove([e.getTouchByXY(n.x,n.y,r)]),e._mousePressed||i.setButton(null)}],["mousewheel",l.SCROLL,function(t,e){e.setScrollData(0,t.wheelDelta)}],["DOMMouseScroll",l.SCROLL,function(t,e){e.setScrollData(0,-120*t.detail)}]],h=0;h<c.length;++h){var u=c[h];u&&(function(){var n=u[0],s=u[1],a=u[2];t.addEventListener(n,(function(t){var n=e.getPointByEvent(t,i),o=e.getMouseEvent(n,i,s);o.setButton(t.button),a(t,o,n,i),r.dispatchEvent(o),t.stopPropagation(),t.preventDefault()}),!1)})()}}if(window.navigator.msPointerEnabled){var _={MSPointerDown:e.handleTouchesBegin,MSPointerMove:e.handleTouchesMove,MSPointerUp:e.handleTouchesEnd,MSPointerCancel:e.handleTouchesCancel},f=function(n){var r=_[n];t.addEventListener(n,(function(t){var n=document.documentElement;i.adjustedLeft=i.left-n.scrollLeft,i.adjustedTop=i.top-n.scrollTop,r.call(e,[e.getTouchByXY(t.clientX,t.clientY,i)]),t.stopPropagation()}),!1)};for(var d in _)f(d)}if(o){var p={touchstart:function(i){e.handleTouchesBegin(i),t.focus()},touchmove:function(t){e.handleTouchesMove(t)},touchend:function(t){e.handleTouchesEnd(t)},touchcancel:function(t){e.handleTouchesCancel(t)}},m=function(n){var r=p[n];t.addEventListener(n,(function(t){if(t.changedTouches){var n=document.body;i.adjustedLeft=i.left-(n.scrollLeft||window.scrollX||0),i.adjustedTop=i.top-(n.scrollTop||window.scrollY||0),r(e.getTouchesByEvent(t,i)),t.stopPropagation(),t.preventDefault()}}),!1)};for(var y in p)m(y)}this._registerKeyboardEvent(),this._isRegisterEvent=!0}},_registerKeyboardEvent:function(){},_registerAccelerometerEvent:function(){},update:function(t){this._accelCurTime>this._accelInterval&&(this._accelCurTime-=this._accelInterval,r.dispatchEvent(new cc.Event.EventAcceleration(this._acceleration))),this._accelCurTime+=t}};e.exports=cc.internal.inputManager=o}),{"../event-manager":183,"./CCMacro":243,"./CCSys":247}],243:[(function(t,e){"use strict";cc.macro={RAD:Math.PI/180,DEG:180/Math.PI,REPEAT_FOREVER:Number.MAX_VALUE-1,FLT_EPSILON:1.192092896e-7,MIN_ZINDEX:-Math.pow(2,15),MAX_ZINDEX:Math.pow(2,15)-1,ONE:1,ZERO:0,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ORIENTATION_PORTRAIT:1,ORIENTATION_LANDSCAPE:2,ORIENTATION_AUTO:3,DENSITYDPI_DEVICE:"device-dpi",DENSITYDPI_HIGH:"high-dpi",DENSITYDPI_MEDIUM:"medium-dpi",DENSITYDPI_LOW:"low-dpi",FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX:!0,DIRECTOR_STATS_POSITION:cc.v2(0,0),ENABLE_STACKABLE_ACTIONS:!0,TOUCH_TIMEOUT:5e3,BATCH_VERTEX_COUNT:2e4,ENABLE_TILEDMAP_CULLING:!0,ENABLE_TRANSPARENT_CANVAS:!1,ENABLE_WEBGL_ANTIALIAS:!1,ENABLE_CULLING:!1,CLEANUP_IMAGE_CACHE:!1,SHOW_MESH_WIREFRAME:!1,SHOW_MESH_NORMAL:!1,ENABLE_MULTI_TOUCH:!0,ALLOW_IMAGE_BITMAP:!cc.sys.isMobile,ENABLE_NATIVE_TTF_RENDERER:!0},Object.defineProperty(cc.macro,"ROTATE_ACTION_CCW",{set:function(t){cc.RotateTo&&cc.RotateBy&&(cc.RotateTo._reverse=cc.RotateBy._reverse=t)}}),cc.macro.SUPPORT_TEXTURE_FORMATS=[".pkm",".pvr",".webp",".jpg",".jpeg",".bmp",".png"],cc.macro.KEY={none:0,back:6,menu:18,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capslock:20,escape:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,select:41,insert:45,Delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,"*":106,"+":107,"-":109,numdel:110,"/":111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,semicolon:186,equal:187,"=":187,",":188,comma:188,dash:189,".":190,period:190,forwardslash:191,grave:192,"[":219,openbracket:219,backslash:220,"]":221,closebracket:221,quote:222,dpadLeft:1e3,dpadRight:1001,dpadUp:1003,dpadDown:1004,dpadCenter:1005},cc.macro.ImageFormat=cc.Enum({JPG:0,PNG:1,TIFF:2,WEBP:3,PVR:4,ETC:5,S3TC:6,ATITC:7,TGA:8,RAWDATA:9,UNKNOWN:10}),cc.macro.BlendFactor=cc.Enum({ONE:1,ZERO:0,SRC_ALPHA:770,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775}),cc.macro.TextAlignment=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),cc.macro.VerticalTextAlignment=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),e.exports=cc.macro}),{}],244:[(function(t,e){"use strict";var i=t("./js"),n=t("./CCClass"),r=1;function s(){this._name="",this._objFlags=0}n.fastDefine("cc.Object",s,{_name:"",_objFlags:0}),i.value(s,"Flags",{Destroyed:r,DontSave:8,EditorOnly:16,Dirty:32,DontDestroy:64,PersistentMask:-4192741,Destroying:128,Deactivating:256,LockedInEditor:512,HideInHierarchy:1024,IsPreloadStarted:8192,IsOnLoadStarted:32768,IsOnLoadCalled:16384,IsOnEnableCalled:2048,IsStartCalled:65536,IsEditorOnEnableCalled:4096,IsPositionLocked:1<<21,IsRotationLocked:1<<17,IsScaleLocked:1<<18,IsAnchorLocked:1<<19,IsSizeLocked:1<<20});var a=[];i.value(s,"_deferredDestroy",(function(){for(var t=a.length,e=0;e<t;++e){var i=a[e];i._objFlags&r||i._destroyImmediate()}t===a.length?a.length=0:a.splice(0,t)}));var o=s.prototype;function l(t,e){var i,r=t instanceof cc._BaseNode||t instanceof cc.Component,s=r?"_id":null,a={};for(i in t)if(t.hasOwnProperty(i)){if(i===s)continue;switch(typeof t[i]){case"string":a[i]="";break;case"object":case"function":a[i]=null}}if(cc.Class._isCCClass(e))for(var o=cc.Class.Attr.getClassAttrs(e),l=e.__props__,c=0;c<l.length;c++){var h=(i=l[c])+cc.Class.Attr.DELIMETER+"default";if(h in o){if(r&&"_id"===i)continue;switch(typeof o[h]){case"string":a[i]="";break;case"object":case"function":a[i]=null;break;case"undefined":a[i]=void 0}}}var u="";for(i in a){var _;_=n.IDENTIFIER_RE.test(i)?"o."+i+"=":"o["+n.escapeForJS(i)+"]=";var f=a[i];""===f&&(f='""'),u+=_+f+";\n"}return Function("o",u)}i.getset(o,"name",(function(){return this._name}),(function(t){this._name=t}),!0),i.get(o,"isValid",(function(){return!(this._objFlags&r)}),!0),o.destroy=function(){return this._objFlags&r?(cc.warnID(5e3),!1):!(4&this._objFlags||(this._objFlags|=4,a.push(this),0))},o._destruct=function(){var t=this.constructor,e=t.__destruct__;e||(e=l(this,t),i.value(t,"__destruct__",e,!0)),e(this)},o._onPreDestroy=null,o._destroyImmediate=function(){this._objFlags&r?cc.errorID(5e3):(this._onPreDestroy&&this._onPreDestroy(),this._destruct(),this._objFlags|=r)},o._deserialize=null,cc.isValid=function(t,e){return"object"==typeof t?!(!t||t._objFlags&(e?4|r:r)):void 0!==t},cc.Object=e.exports=s}),{"./CCClass":238,"./js":259}],245:[(function(t,e){"use strict";var i=t("../platform/js");cc.SAXParser=function(){window.DOMParser?(this._isSupportDOMParser=!0,this._parser=new DOMParser):(this._isSupportDOMParser=!1,this._parser=null)},cc.SAXParser.prototype={constructor:cc.SAXParser,parse:function(t){return this._parseXML(t)},_parseXML:function(t){var e;return this._isSupportDOMParser?e=this._parser.parseFromString(t,"text/xml"):((e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)),e}},cc.PlistParser=function(){cc.SAXParser.call(this)},i.extend(cc.PlistParser,cc.SAXParser),i.mixin(cc.PlistParser.prototype,{parse:function(t){var e=this._parseXML(t),i=e.documentElement;if("plist"!==i.tagName)return cc.warnID(5100),{};for(var n=null,r=0,s=i.childNodes.length;r<s&&1!==(n=i.childNodes[r]).nodeType;r++);return e=null,this._parseNode(n)},_parseNode:function(t){var e=null,i=t.tagName;if("dict"===i)e=this._parseDict(t);else if("array"===i)e=this._parseArray(t);else if("string"===i)if(1===t.childNodes.length)e=t.firstChild.nodeValue;else{e="";for(var n=0;n<t.childNodes.length;n++)e+=t.childNodes[n].nodeValue}else"false"===i?e=!1:"true"===i?e=!0:"real"===i?e=parseFloat(t.firstChild.nodeValue):"integer"===i&&(e=parseInt(t.firstChild.nodeValue,10));return e},_parseArray:function(t){for(var e=[],i=0,n=t.childNodes.length;i<n;i++){var r=t.childNodes[i];1===r.nodeType&&e.push(this._parseNode(r))}return e},_parseDict:function(t){for(var e={},i=null,n=0,r=t.childNodes.length;n<r;n++){var s=t.childNodes[n];1===s.nodeType&&("key"===s.tagName?i=s.firstChild.nodeValue:e[i]=this._parseNode(s))}return e}}),cc.saxParser=new cc.SAXParser,cc.plistParser=new cc.PlistParser,e.exports={saxParser:cc.saxParser,plistParser:cc.plistParser}}),{"../platform/js":259}],246:[(function(){"use strict";cc.screen={_supportsFullScreen:!1,_onfullscreenchange:null,_onfullscreenerror:null,_preOnFullScreenChange:null,_preOnFullScreenError:null,_preOnTouch:null,_touchEvent:"",_fn:null,_fnMap:[["requestFullscreen","exitFullscreen","fullscreenchange","fullscreenEnabled","fullscreenElement","fullscreenerror"],["requestFullScreen","exitFullScreen","fullScreenchange","fullScreenEnabled","fullScreenElement","fullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitfullscreenchange","webkitIsFullScreen","webkitCurrentFullScreenElement","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozFullScreen","mozFullScreenElement","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","MSFullscreenChange","msFullscreenEnabled","msFullscreenElement","msfullscreenerror"]],init:function(){this._fn={};var t,e,i,n,r=this._fnMap;for(t=0,e=r.length;t<e;t++)if((i=r[t])&&void 0!==document[i[1]]){for(t=0,n=i.length;t<n;t++)this._fn[r[0][t]]=i[t];break}this._supportsFullScreen=void 0!==this._fn.requestFullscreen,this._touchEvent="ontouchend"in window?"touchend":"mousedown"},fullScreen:function(){return!!this._supportsFullScreen&&!!(document[this._fn.fullscreenElement]||document[this._fn.webkitFullscreenElement]||document[this._fn.mozFullScreenElement])},requestFullScreen:function(t,e,i){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser&&t.readyState>0)return void(t.webkitEnterFullscreen&&t.webkitEnterFullscreen());t.setAttribute("x5-video-player-fullscreen","true")}if(this._supportsFullScreen){if(t=t||document.documentElement,e){var n=this._fn.fullscreenchange;this._onfullscreenchange&&document.removeEventListener(n,this._onfullscreenchange),this._onfullscreenchange=e,document.addEventListener(n,e,!1)}if(i){var r=this._fn.fullscreenerror;this._onfullscreenerror&&document.removeEventListener(r,this._onfullscreenerror),this._onfullscreenerror=i,document.addEventListener(r,i,{once:!0})}var s=t[this._fn.requestFullscreen]();void 0===document[this._fn.fullscreenerror]&&window.Promise&&s instanceof Promise&&s.catch((function(){}))}},exitFullScreen:function(t){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser)return void(t.webkitExitFullscreen&&t.webkitExitFullscreen());t.setAttribute("x5-video-player-fullscreen","false")}return!this._supportsFullScreen||document[this._fn.exitFullscreen]()},autoFullScreen:function(t,e){t=t||document.body,this._ensureFullScreen(t,e),this.requestFullScreen(t,e)},disableAutoFullScreen:function(t){var e=cc.game.canvas||t,i=this._touchEvent;this._preOnTouch&&(e.removeEventListener(i,this._preOnTouch),this._preOnTouch=null)},_ensureFullScreen:function(t,e){var i=this,n=cc.game.canvas||t,r=this._fn.fullscreenerror,s=this._touchEvent;function a(){i._preOnFullScreenError=null,i._preOnTouch&&n.removeEventListener(s,i._preOnTouch),i._preOnTouch=function(){i._preOnTouch=null,i.requestFullScreen(t,e)},n.addEventListener(s,i._preOnTouch,{once:!0})}this._preOnFullScreenError&&t.removeEventListener(r,this._preOnFullScreenError),this._preOnFullScreenError=a,t.addEventListener(r,a,{once:!0})}},cc.screen.init()}),{}],247:[(function(t,e){"use strict";window._CCSettings&&_CCSettings.platform;var i="undefined"==typeof window?global:window,n=cc&&cc.sys?cc.sys:(function(){cc.sys={};var t,e,n=cc.sys;if(n.LANGUAGE_ENGLISH="en",n.LANGUAGE_CHINESE="zh",n.LANGUAGE_FRENCH="fr",n.LANGUAGE_ITALIAN="it",n.LANGUAGE_GERMAN="de",n.LANGUAGE_SPANISH="es",n.LANGUAGE_DUTCH="du",n.LANGUAGE_RUSSIAN="ru",n.LANGUAGE_KOREAN="ko",n.LANGUAGE_JAPANESE="ja",n.LANGUAGE_HUNGARIAN="hu",n.LANGUAGE_PORTUGUESE="pt",n.LANGUAGE_ARABIC="ar",n.LANGUAGE_NORWEGIAN="no",n.LANGUAGE_POLISH="pl",n.LANGUAGE_TURKISH="tr",n.LANGUAGE_UKRAINIAN="uk",n.LANGUAGE_ROMANIAN="ro",n.LANGUAGE_BULGARIAN="bg",n.LANGUAGE_UNKNOWN="unknown",n.OS_IOS="iOS",n.OS_ANDROID="Android",n.OS_WINDOWS="Windows",n.OS_MARMALADE="Marmalade",n.OS_LINUX="Linux",n.OS_BADA="Bada",n.OS_BLACKBERRY="Blackberry",n.OS_OSX="OS X",n.OS_WP8="WP8",n.OS_WINRT="WINRT",n.OS_UNKNOWN="Unknown",n.UNKNOWN=-1,n.WIN32=0,n.LINUX=1,n.MACOS=2,n.ANDROID=3,n.IPHONE=4,n.IPAD=5,n.BLACKBERRY=6,n.NACL=7,n.EMSCRIPTEN=8,n.TIZEN=9,n.WINRT=10,n.WP8=11,n.MOBILE_BROWSER=100,n.DESKTOP_BROWSER=101,n.EDITOR_PAGE=102,n.EDITOR_CORE=103,n.WECHAT_GAME=104,n.QQ_PLAY=105,n.FB_PLAYABLE_ADS=106,n.BAIDU_GAME=107,n.VIVO_GAME=108,n.OPPO_GAME=109,n.HUAWEI_GAME=110,n.XIAOMI_GAME=111,n.JKW_GAME=112,n.ALIPAY_GAME=113,n.WECHAT_GAME_SUB=114,n.BAIDU_GAME_SUB=115,n.QTT_GAME=116,n.BYTEDANCE_GAME=117,n.BYTEDANCE_GAME_SUB=118,n.LINKSURE=119,n.BROWSER_TYPE_WECHAT="wechat",n.BROWSER_TYPE_ANDROID="androidbrowser",n.BROWSER_TYPE_IE="ie",n.BROWSER_TYPE_EDGE="edge",n.BROWSER_TYPE_QQ="qqbrowser",n.BROWSER_TYPE_MOBILE_QQ="mqqbrowser",n.BROWSER_TYPE_UC="ucbrowser",n.BROWSER_TYPE_UCBS="ucbs",n.BROWSER_TYPE_360="360browser",n.BROWSER_TYPE_BAIDU_APP="baiduboxapp",n.BROWSER_TYPE_BAIDU="baidubrowser",n.BROWSER_TYPE_MAXTHON="maxthon",n.BROWSER_TYPE_OPERA="opera",n.BROWSER_TYPE_OUPENG="oupeng",n.BROWSER_TYPE_MIUI="miuibrowser",n.BROWSER_TYPE_FIREFOX="firefox",n.BROWSER_TYPE_SAFARI="safari",n.BROWSER_TYPE_CHROME="chrome",n.BROWSER_TYPE_LIEBAO="liebao",n.BROWSER_TYPE_QZONE="qzone",n.BROWSER_TYPE_SOUGOU="sogou",n.BROWSER_TYPE_HUAWEI="huawei",n.BROWSER_TYPE_UNKNOWN="unknown",n.isNative=!1,n.isBrowser="object"==typeof window&&"object"==typeof document&&!0,n.glExtension=function(t){return!!cc.renderer.device.ext(t)},n.getMaxJointMatrixSize=function(){if(!n._maxJointMatrixSize){var t=cc.game._renderContext,e=Math.floor(t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS)/4)-10;n._maxJointMatrixSize=e<50?0:50}return n._maxJointMatrixSize},n.getSafeAreaRect=function(){var t=cc.view.getVisibleSize();return cc.rect(0,0,t.width,t.height)},i.__globalAdapter&&i.__globalAdapter.adaptSys)i.__globalAdapter.adaptSys(n);else{var r=window,s=r.navigator,a=document,o=a.documentElement,l=s.userAgent.toLowerCase();n.isMobile=/mobile|android|iphone|ipad/.test(l),"undefined"!=typeof FbPlayableAd?n.platform=n.FB_PLAYABLE_ADS:n.platform=n.isMobile?n.MOBILE_BROWSER:n.DESKTOP_BROWSER;var c=s.language;c=c||s.browserLanguage,n.languageCode=c.toLowerCase(),c=c?c.split("-")[0]:n.LANGUAGE_ENGLISH,n.language=c;var h=!1,u=!1,_="",f=0,d=/android\s*(\d+(?:\.\d+)*)/i.exec(l)||/android\s*(\d+(?:\.\d+)*)/i.exec(s.platform);d&&(h=!0,_=d[1]||"",f=parseInt(_)||0),(d=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(l))?(u=!0,_=d[2]||"",f=parseInt(_)||0):(/(iPhone|iPad|iPod)/.exec(s.platform)||"MacIntel"===s.platform&&s.maxTouchPoints&&s.maxTouchPoints>1)&&(u=!0,_="",f=0);var p=n.OS_UNKNOWN;-1!==s.appVersion.indexOf("Win")?p=n.OS_WINDOWS:u?p=n.OS_IOS:-1!==s.appVersion.indexOf("Mac")?p=n.OS_OSX:-1!==s.appVersion.indexOf("X11")&&-1===s.appVersion.indexOf("Linux")?p=n.OS_UNIX:h?p=n.OS_ANDROID:-1===s.appVersion.indexOf("Linux")&&-1===l.indexOf("ubuntu")||(p=n.OS_LINUX),n.os=p,n.osVersion=_,n.osMainVersion=f,n.browserType=n.BROWSER_TYPE_UNKNOWN,(function(){var t=/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(l)||/qq|ucbrowser|ubrowser|edge|HuaweiBrowser/i.exec(l)||/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(l),e=t?t[0].toLowerCase():n.BROWSER_TYPE_UNKNOWN;"safari"===e&&h?e=n.BROWSER_TYPE_ANDROID:"qq"===e&&l.match(/android.*applewebkit/i)&&(e=n.BROWSER_TYPE_ANDROID);var i={micromessenger:n.BROWSER_TYPE_WECHAT,trident:n.BROWSER_TYPE_IE,edge:n.BROWSER_TYPE_EDGE,"360 aphone":n.BROWSER_TYPE_360,mxbrowser:n.BROWSER_TYPE_MAXTHON,"opr/":n.BROWSER_TYPE_OPERA,ubrowser:n.BROWSER_TYPE_UC,huaweibrowser:n.BROWSER_TYPE_HUAWEI};n.browserType=i[e]||e})(),n.browserVersion="",(e=l.match(/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i))||(e=l.match(/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i)),n.browserVersion=e?e[4]:"";var m=window.innerWidth||document.documentElement.clientWidth,y=window.innerHeight||document.documentElement.clientHeight,v=window.devicePixelRatio||1;n.windowPixelResolution={width:v*m,height:v*y},n._checkWebGLRenderMode=function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_WEBGL)throw new Error("This feature supports WebGL render mode only.")};var g=document.createElement("canvas");try{var b=n.localStorage=r.localStorage;b.setItem("storage",""),b.removeItem("storage"),b=null}catch(M){var A=function(){cc.warnID(5200)};n.localStorage={getItem:A,setItem:A,removeItem:A,clear:A}}var x=g.toDataURL("image/webp").startsWith("data:image/webp"),C=!!g.getContext("2d"),T=!1;r.WebGLRenderingContext&&(T=!0);var S,w=n.capabilities={canvas:C,opengl:T,webp:x,imageBitmap:!1};"undefined"!=typeof createImageBitmap&&"undefined"!=typeof Blob&&(g.width=g.height=2,createImageBitmap(g,{}).then((function(t){w.imageBitmap=!0,t.close&&t.close()})).catch((function(){}))),(void 0!==o.ontouchstart||void 0!==a.ontouchstart||s.msPointerEnabled)&&(w.touches=!0),void 0!==o.onmouseup&&(w.mouse=!0),void 0!==o.onkeyup&&(w.keyboard=!0),(r.DeviceMotionEvent||r.DeviceOrientationEvent)&&(w.accelerometer=!0),(function(){n.browserVersion;var t=!!(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);S={ONLY_ONE:!1,WEB_AUDIO:t,DELAY_CREATE_CTX:!1},n.os===n.OS_IOS&&(S.USE_LOADER_EVENT="loadedmetadata"),n.browserType===n.BROWSER_TYPE_FIREFOX&&(S.DELAY_CREATE_CTX=!0,S.USE_LOADER_EVENT="canplay"),n.os===n.OS_ANDROID&&n.browserType===n.BROWSER_TYPE_UC&&(S.ONE_SOURCE=!0)})();try{S.WEB_AUDIO&&(S.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),S.DELAY_CREATE_CTX&&setTimeout((function(){S.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext)}),0))}catch(D){S.WEB_AUDIO=!1,cc.logID(5201)}var E=[];(t=document.createElement("audio")).canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"')&&E.push(".ogg"),t.canPlayType("audio/mpeg")&&E.push(".mp3"),t.canPlayType('audio/wav; codecs="1"')&&E.push(".wav"),t.canPlayType("audio/mp4")&&E.push(".mp4"),t.canPlayType("audio/x-m4a")&&E.push(".m4a")),S.format=E,n.__audioSupport=S}return n.NetworkType={NONE:0,LAN:1,WWAN:2},n.getNetworkType=function(){return n.NetworkType.LAN},n.getBatteryLevel=function(){return 1},n.garbageCollect=function(){},n.restartVM=function(){},n.isObjectValid=function(t){return!!t},n.dump=function(){var t="";t+="isMobile : "+this.isMobile+"\r\n",t+="language : "+this.language+"\r\n",t+="browserType : "+this.browserType+"\r\n",t+="browserVersion : "+this.browserVersion+"\r\n",t+="capabilities : "+JSON.stringify(this.capabilities)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",t+="Using "+(cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n",cc.log(t)},n.openURL=function(t){window.open(t)},n.now=function(){return Date.now?Date.now():+new Date},n})();e.exports=n}),{}],248:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../platform/js"),r=t("../renderer");t("../platform/CCClass");var s={init:function(){this.html=document.getElementsByTagName("html")[0]},availWidth:function(t){return t&&t!==this.html?t.clientWidth:window.innerWidth},availHeight:function(t){return t&&t!==this.html?t.clientHeight:window.innerHeight},meta:{width:"device-width"},adaptationType:cc.sys.browserType};switch(cc.sys.os===cc.sys.OS_IOS&&(s.adaptationType=cc.sys.BROWSER_TYPE_SAFARI),s.adaptationType){case cc.sys.BROWSER_TYPE_SAFARI:case cc.sys.BROWSER_TYPE_SOUGOU:case cc.sys.BROWSER_TYPE_UC:s.meta["minimal-ui"]="true",s.availWidth=function(t){return t.clientWidth},s.availHeight=function(t){return t.clientHeight}}var a=null,o=function(){i.call(this);var t=this,e=cc.ContainerStrategy,n=cc.ContentStrategy;s.init(this),t._frameSize=cc.size(0,0),t._designResolutionSize=cc.size(0,0),t._originalDesignResolutionSize=cc.size(0,0),t._scaleX=1,t._scaleY=1,t._viewportRect=cc.rect(0,0,0,0),t._visibleRect=cc.rect(0,0,0,0),t._autoFullScreen=!1,t._devicePixelRatio=1,t._maxPixelRatio=2,t._retinaEnabled=!1,t._resizeCallback=null,t._resizing=!1,t._resizeWithBrowserSize=!1,t._orientationChanging=!0,t._isRotated=!1,t._orientation=cc.macro.ORIENTATION_AUTO,t._isAdjustViewport=!0,t._antiAliasEnabled=!1,t._resolutionPolicy=null,t._rpExactFit=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.EXACT_FIT),t._rpShowAll=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.SHOW_ALL),t._rpNoBorder=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.NO_BORDER),t._rpFixedHeight=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_HEIGHT),t._rpFixedWidth=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_WIDTH),cc.game.once(cc.game.EVENT_ENGINE_INITED,this.init,this)};cc.js.extend(o,i),cc.js.mixin(o.prototype,{init:function(){this._initFrameSize();var t=cc.game.canvas.width,e=cc.game.canvas.height;this._designResolutionSize.width=t,this._designResolutionSize.height=e,this._originalDesignResolutionSize.width=t,this._originalDesignResolutionSize.height=e,this._viewportRect.width=t,this._viewportRect.height=e,this._visibleRect.width=t,this._visibleRect.height=e,cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect)},_resizeEvent:function(t){var e;e=this.setDesignResolutionSize?this:cc.view;var i=cc.sys;if(i.browserType!==i.BROWSER_TYPE_UC||i.os!==i.OS_IOS){var n=e._frameSize.width,r=e._frameSize.height,s=e._isRotated;if(cc.sys.isMobile){var a=cc.game.container.style,o=a.margin;a.margin="0",a.display="none",e._initFrameSize(),a.margin=o,a.display="block"}else e._initFrameSize();if(!0===t||e._isRotated!==s||e._frameSize.width!==n||e._frameSize.height!==r){var l=e._originalDesignResolutionSize.width,c=e._originalDesignResolutionSize.height;e._resizing=!0,l>0&&e.setDesignResolutionSize(l,c,e._resolutionPolicy),e._resizing=!1,e.emit("canvas-resize"),e._resizeCallback&&e._resizeCallback.call()}}else setTimeout((function(){e._resizeEvent(t)}),0)},_orientationChange:function(){cc.view._orientationChanging=!0,cc.view._resizeEvent(),cc.sys.browserType===cc.sys.BROWSER_TYPE_SAFARI&&cc.sys.isMobile&&setTimeout((function(){window.innerHeight>window.innerWidth&&window.scrollTo(0,1)}),500)},_resize:function(){cc.view._resizeEvent(!1)},resizeWithBrowserSize:function(t){t?this._resizeWithBrowserSize||(this._resizeWithBrowserSize=!0,window.addEventListener("resize",this._resize),window.addEventListener("orientationchange",this._orientationChange)):this._resizeWithBrowserSize&&(this._resizeWithBrowserSize=!1,window.removeEventListener("resize",this._resize),window.removeEventListener("orientationchange",this._orientationChange))},setResizeCallback:function(t){"function"!=typeof t&&null!=t||(this._resizeCallback=t)},setOrientation:function(t){if((t&=cc.macro.ORIENTATION_AUTO)&&this._orientation!==t){this._orientation=t;var e=this._originalDesignResolutionSize.width,i=this._originalDesignResolutionSize.height;this.setDesignResolutionSize(e,i,this._resolutionPolicy)}},_initFrameSize:function(){var t=this._frameSize,e=s.availWidth(cc.game.frame),i=s.availHeight(cc.game.frame),n=e>=i;!cc.sys.isMobile||n&&this._orientation&cc.macro.ORIENTATION_LANDSCAPE||!n&&this._orientation&cc.macro.ORIENTATION_PORTRAIT?(t.width=e,t.height=i,cc.game.container.style["-webkit-transform"]="rotate(0deg)",cc.game.container.style.transform="rotate(0deg)",this._isRotated=!1):(t.width=i,t.height=e,cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)",cc.game.container.style["-webkit-transform-origin"]="0px 0px 0px",cc.game.container.style.transformOrigin="0px 0px 0px",this._isRotated=!0),this._orientationChanging&&setTimeout((function(){cc.view._orientationChanging=!1}),1e3)},_setViewportMeta:function(t,e){var i=document.getElementById("cocosMetaElement");i&&e&&document.head.removeChild(i);var n,r,s,a=document.getElementsByName("viewport"),o=a?a[0]:null;for(r in n=o?o.content:"",(i=i||document.createElement("meta")).id="cocosMetaElement",i.name="viewport",i.content="",t)-1==n.indexOf(r)?n+=","+r+"="+t[r]:e&&(s=new RegExp(r+"s*=s*[^,]+"),n=n.replace(s,r+"="+t[r]));/^,/.test(n)&&(n=n.substr(1)),i.content=n,o&&(o.content=n),document.head.appendChild(i)},_adjustViewportMeta:function(){this._isAdjustViewport&&(this._setViewportMeta(s.meta,!1),this._isAdjustViewport=!1)},adjustViewportMeta:function(t){this._isAdjustViewport=t},enableRetina:function(t){this._retinaEnabled=!!t},isRetinaEnabled:function(){return this._retinaEnabled},enableAntiAlias:function(t){if(cc.warnID(9200),this._antiAliasEnabled!==t)if(this._antiAliasEnabled=t,cc.game.renderType===cc.game.RENDER_TYPE_WEBGL)cc.assetManager.assets.forEach((function(e){if(e instanceof cc.Texture2D){var i=cc.Texture2D.Filter;t?e.setFilters(i.LINEAR,i.LINEAR):e.setFilters(i.NEAREST,i.NEAREST)}}));else if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.game.canvas.getContext("2d");e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t}},isAntiAliasEnabled:function(){return this._antiAliasEnabled},enableAutoFullScreen:function(t){t&&t!==this._autoFullScreen&&cc.sys.isMobile?(this._autoFullScreen=!0,cc.screen.autoFullScreen(cc.game.frame)):(this._autoFullScreen=!1,cc.screen.disableAutoFullScreen(cc.game.frame))},isAutoFullScreenEnabled:function(){return this._autoFullScreen},setCanvasSize:function(t,e){var i=cc.game.canvas,n=cc.game.container;i.width=t*this._devicePixelRatio,i.height=e*this._devicePixelRatio,i.style.width=t+"px",i.style.height=e+"px",n.style.width=t+"px",n.style.height=e+"px",this._resizeEvent()},getCanvasSize:function(){return cc.size(cc.game.canvas.width,cc.game.canvas.height)},getFrameSize:function(){return cc.size(this._frameSize.width,this._frameSize.height)},setFrameSize:function(t,e){this._frameSize.width=t,this._frameSize.height=e,cc.game.frame.style.width=t+"px",cc.game.frame.style.height=e+"px",this._resizeEvent(!0)},getVisibleSize:function(){return cc.size(this._visibleRect.width,this._visibleRect.height)},getVisibleSizeInPixel:function(){return cc.size(this._visibleRect.width*this._scaleX,this._visibleRect.height*this._scaleY)},getVisibleOrigin:function(){return cc.v2(this._visibleRect.x,this._visibleRect.y)},getVisibleOriginInPixel:function(){return cc.v2(this._visibleRect.x*this._scaleX,this._visibleRect.y*this._scaleY)},getResolutionPolicy:function(){return this._resolutionPolicy},setResolutionPolicy:function(t){var e=this;if(t instanceof cc.ResolutionPolicy)e._resolutionPolicy=t;else{var i=cc.ResolutionPolicy;t===i.EXACT_FIT&&(e._resolutionPolicy=e._rpExactFit),t===i.SHOW_ALL&&(e._resolutionPolicy=e._rpShowAll),t===i.NO_BORDER&&(e._resolutionPolicy=e._rpNoBorder),t===i.FIXED_HEIGHT&&(e._resolutionPolicy=e._rpFixedHeight),t===i.FIXED_WIDTH&&(e._resolutionPolicy=e._rpFixedWidth)}},setDesignResolutionSize:function(t,e,i){if(t>0&&e>0){this.setResolutionPolicy(i);var n=this._resolutionPolicy;if(n&&n.preApply(this),cc.sys.isMobile&&this._adjustViewportMeta(),this._orientationChanging=!0,this._resizing||this._initFrameSize(),n){this._originalDesignResolutionSize.width=this._designResolutionSize.width=t,this._originalDesignResolutionSize.height=this._designResolutionSize.height=e;var s=n.apply(this,this._designResolutionSize);if(s.scale&&2===s.scale.length&&(this._scaleX=s.scale[0],this._scaleY=s.scale[1]),s.viewport){var a=this._viewportRect,o=this._visibleRect,l=s.viewport;a.x=l.x,a.y=l.y,a.width=l.width,a.height=l.height,o.x=0,o.y=0,o.width=l.width/this._scaleX,o.height=l.height/this._scaleY}n.postApply(this),cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect),r.updateCameraViewport(),cc.internal.inputManager._updateCanvasBoundingRect(),this.emit("design-resolution-changed")}else cc.logID(2201)}else cc.errorID(2200)},getDesignResolutionSize:function(){return cc.size(this._designResolutionSize.width,this._designResolutionSize.height)},setRealPixelResolution:function(t,e,i){this._setViewportMeta({width:t},!0),document.documentElement.style.width=t+"px",document.body.style.width=t+"px",document.body.style.left="0px",document.body.style.top="0px",this.setDesignResolutionSize(t,e,i)},setViewportInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY;cc.game._renderContext.viewport(t*r+this._viewportRect.x,e*s+this._viewportRect.y,i*r,n*s)},setScissorInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY,o=Math.ceil(t*r+this._viewportRect.x),l=Math.ceil(e*s+this._viewportRect.y),c=Math.ceil(i*r),h=Math.ceil(n*s),u=cc.game._renderContext;if(!a){var _=u.getParameter(u.SCISSOR_BOX);a=cc.rect(_[0],_[1],_[2],_[3])}a.x===o&&a.y===l&&a.width===c&&a.height===h||(a.x=o,a.y=l,a.width=c,a.height=h,u.scissor(o,l,c,h))},isScissorEnabled:function(){return cc.game._renderContext.isEnabled(gl.SCISSOR_TEST)},getScissorRect:function(){if(!a){var t=gl.getParameter(gl.SCISSOR_BOX);a=cc.rect(t[0],t[1],t[2],t[3])}var e=1/this._scaleX,i=1/this._scaleY;return cc.rect((a.x-this._viewportRect.x)*e,(a.y-this._viewportRect.y)*i,a.width*e,a.height*i)},getViewportRect:function(){return this._viewportRect},getScaleX:function(){return this._scaleX},getScaleY:function(){return this._scaleY},getDevicePixelRatio:function(){return this._devicePixelRatio},convertToLocationInView:function(t,e,i,n){var r=n||cc.v2(),s=i.adjustedLeft?i.adjustedLeft:i.left,a=i.adjustedTop?i.adjustedTop:i.top,o=this._devicePixelRatio*(t-s),l=this._devicePixelRatio*(a+i.height-e);return this._isRotated?(r.x=cc.game.canvas.width-l,r.y=o):(r.x=o,r.y=l),r},_convertMouseToLocationInView:function(t,e){var i=this._viewportRect;t.x=(this._devicePixelRatio*(t.x-e.left)-i.x)/this._scaleX,t.y=(this._devicePixelRatio*(e.top+e.height-t.y)-i.y)/this._scaleY},_convertPointWithScale:function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},_convertTouchesWithScale:function(t){for(var e,i,n,r=this._viewportRect,s=this._scaleX,a=this._scaleY,o=0;o<t.length;o++)i=(e=t[o])._point,n=e._prevPoint,i.x=(i.x-r.x)/s,i.y=(i.y-r.y)/a,n.x=(n.x-r.x)/s,n.y=(n.y-r.y)/a}}),cc.ContainerStrategy=cc.Class({name:"ContainerStrategy",preApply:function(){},apply:function(){},postApply:function(){},_setupContainer:function(t,e,i){var n=cc.game.canvas;this._setupStyle(t,e,i);var r=t._devicePixelRatio=1;t.isRetinaEnabled()&&(r=t._devicePixelRatio=Math.min(t._maxPixelRatio,window.devicePixelRatio||1)),n.width=e*r,n.height=i*r},_setupStyle:function(t,e,i){var n=cc.game.canvas,r=cc.game.container;cc.sys.os===cc.sys.OS_ANDROID&&(document.body.style.width=(t._isRotated?i:e)+"px",document.body.style.height=(t._isRotated?e:i)+"px"),r.style.width=n.style.width=e+"px",r.style.height=n.style.height=i+"px"},_fixContainer:function(){document.body.insertBefore(cc.game.container,document.body.firstChild);var t=document.body.style;t.width=window.innerWidth+"px",t.height=window.innerHeight+"px",t.overflow="hidden";var e=cc.game.container.style;e.position="fixed",e.left=e.top="0px",document.body.scrollTop=0}}),cc.ContentStrategy=cc.Class({name:"ContentStrategy",ctor:function(){this._result={scale:[1,1],viewport:null}},_buildResult:function(t,e,i,n,r,s){Math.abs(t-i)<2&&(i=t),Math.abs(e-n)<2&&(n=e);var a=cc.rect((t-i)/2,(e-n)/2,i,n);return cc.game.renderType,cc.game.RENDER_TYPE_CANVAS,this._result.scale=[r,s],this._result.viewport=a,this._result},preApply:function(){},apply:function(){return{scale:[1,1]}},postApply:function(){}}),(function(){var t=cc.Class({name:"EqualToFrame",extends:cc.ContainerStrategy,apply:function(t){var e=t._frameSize.height,i=cc.game.container.style;this._setupContainer(t,t._frameSize.width,t._frameSize.height),t._isRotated?i.margin="0 0 0 "+e+"px":i.margin="0px",i.padding="0px"}}),e=cc.Class({name:"ProportionalToFrame",extends:cc.ContainerStrategy,apply:function(t,e){var i,n,r=t._frameSize.width,s=t._frameSize.height,a=cc.game.container.style,o=e.width,l=e.height,c=r/o,h=s/l;c<h?(i=r,n=l*c):(i=o*h,n=s);var u=Math.round((r-i)/2),_=Math.round((s-n)/2);i=r-2*u,n=s-2*_,this._setupContainer(t,i,n),t._isRotated?a.margin="0 0 0 "+s+"px":a.margin="0px",a.paddingLeft=u+"px",a.paddingRight=u+"px",a.paddingTop=_+"px",a.paddingBottom=_+"px"}}),i=(cc.Class({name:"EqualToWindow",extends:t,preApply:function(t){this._super(t),cc.game.frame=document.documentElement},apply:function(t){this._super(t),this._fixContainer()}}),cc.Class({name:"ProportionalToWindow",extends:e,preApply:function(t){this._super(t),cc.game.frame=document.documentElement},apply:function(t,e){this._super(t,e),this._fixContainer()}}),cc.Class({name:"OriginalContainer",extends:cc.ContainerStrategy,apply:function(t){this._setupContainer(t,cc.game.canvas.width,cc.game.canvas.height)}})),n=("undefined"==typeof window?global:window).__globalAdapter;n&&(n.adaptContainerStrategy&&n.adaptContainerStrategy(cc.ContainerStrategy.prototype),n.adaptView&&n.adaptView(o.prototype)),cc.ContainerStrategy.EQUAL_TO_FRAME=new t,cc.ContainerStrategy.PROPORTION_TO_FRAME=new e,cc.ContainerStrategy.ORIGINAL_CONTAINER=new i;var r=cc.Class({name:"ExactFit",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=i/e.width,s=n/e.height;return this._buildResult(i,n,i,n,r,s)}}),s=cc.Class({name:"ShowAll",extends:cc.ContentStrategy,apply:function(t,e){var i,n,r=cc.game.canvas.width,s=cc.game.canvas.height,a=e.width,o=e.height,l=r/a,c=s/o,h=0;return l<c?(i=r,n=o*(h=l)):(i=a*(h=c),n=s),this._buildResult(r,s,i,n,h,h)}}),a=cc.Class({name:"NoBorder",extends:cc.ContentStrategy,apply:function(t,e){var i,n,r,s=cc.game.canvas.width,a=cc.game.canvas.height,o=e.width,l=e.height,c=s/o,h=a/l;return c<h?(n=o*(i=h),r=a):(n=s,r=l*(i=c)),this._buildResult(s,a,n,r,i,i)}}),l=cc.Class({name:"FixedHeight",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=n/e.height,s=i,a=n;return this._buildResult(i,n,s,a,r,r)}}),c=cc.Class({name:"FixedWidth",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=i/e.width,s=i,a=n;return this._buildResult(i,n,s,a,r,r)}});cc.ContentStrategy.EXACT_FIT=new r,cc.ContentStrategy.SHOW_ALL=new s,cc.ContentStrategy.NO_BORDER=new a,cc.ContentStrategy.FIXED_HEIGHT=new l,cc.ContentStrategy.FIXED_WIDTH=new c})(),cc.ResolutionPolicy=cc.Class({name:"cc.ResolutionPolicy",ctor:function(t,e){this._containerStrategy=null,this._contentStrategy=null,this.setContainerStrategy(t),this.setContentStrategy(e)},preApply:function(t){this._containerStrategy.preApply(t),this._contentStrategy.preApply(t)},apply:function(t,e){return this._containerStrategy.apply(t,e),this._contentStrategy.apply(t,e)},postApply:function(t){this._containerStrategy.postApply(t),this._contentStrategy.postApply(t)},setContainerStrategy:function(t){t instanceof cc.ContainerStrategy&&(this._containerStrategy=t)},setContentStrategy:function(t){t instanceof cc.ContentStrategy&&(this._contentStrategy=t)}}),n.get(cc.ResolutionPolicy.prototype,"canvasSize",(function(){return cc.v2(cc.game.canvas.width,cc.game.canvas.height)})),cc.ResolutionPolicy.EXACT_FIT=0,cc.ResolutionPolicy.NO_BORDER=1,cc.ResolutionPolicy.SHOW_ALL=2,cc.ResolutionPolicy.FIXED_HEIGHT=3,cc.ResolutionPolicy.FIXED_WIDTH=4,cc.ResolutionPolicy.UNKNOWN=5,cc.view=new o,cc.winSize=cc.size(),e.exports=cc.view}),{"../event/event-target":185,"../platform/CCClass":238,"../platform/js":259,"../renderer":270}],249:[(function(){"use strict";cc.visibleRect={topLeft:cc.v2(0,0),topRight:cc.v2(0,0),top:cc.v2(0,0),bottomLeft:cc.v2(0,0),bottomRight:cc.v2(0,0),bottom:cc.v2(0,0),center:cc.v2(0,0),left:cc.v2(0,0),right:cc.v2(0,0),width:0,height:0,init:function(t){var e=this.width=t.width,i=this.height=t.height,n=t.x,r=t.y,s=r+i,a=n+e;this.topLeft.x=n,this.topLeft.y=s,this.topRight.x=a,this.topRight.y=s,this.top.x=n+e/2,this.top.y=s,this.bottomLeft.x=n,this.bottomLeft.y=r,this.bottomRight.x=a,this.bottomRight.y=r,this.bottom.x=n+e/2,this.bottom.y=r,this.center.x=n+e/2,this.center.y=r+i/2,this.left.x=n,this.left.y=r+i/2,this.right.x=a,this.right.y=r+i/2}}}),{}],250:[(function(t,e){"use strict";var i=t("./js"),n=(t("./utils").isPlainEmptyObj_DEV,"$_$");function r(t,e){var n=e?Object.create(e):{};return i.value(t,"__attrs__",n),n}function s(t){if("function"!=typeof t)return r(t,a(t.constructor));for(var e,i=cc.Class.getInheritanceChain(t),n=i.length-1;n>=0;n--){var s=i[n];s.hasOwnProperty("__attrs__")&&s.__attrs__||r(s,(e=i[n+1])&&e.__attrs__)}return r(t,(e=i[0])&&e.__attrs__),t.__attrs__}function a(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||s(t)}function o(t,e){this.name=t,this.default=e}o.prototype.toString=function(){return this.name},cc.Integer=new o("Integer",0),cc.Float=new o("Float",0),cc.Boolean=new o("Boolean",!1),cc.String=new o("String",""),e.exports={PrimitiveType:o,attr:function(t,e){var i=a(t),r=e+n,s={};for(var o in i)o.startsWith(r)&&(s[o.slice(r.length)]=i[o]);return s},getClassAttrs:a,setClassAttr:function(t,e,i,r){a(t)[e+n+i]=r},DELIMETER:n,getTypeChecker_ET:!1,getObjTypeChecker_ET:!1,ScriptUuid:{}}}),{"./CCClass":238,"./js":259,"./utils":262}],251:[(function(t,e){"use strict";var i=t("./js"),n=i.array.fastRemoveAt;function r(){}function s(){this.callback=r,this.target=void 0,this.once=!1}s.prototype.set=function(t,e,i){this.callback=t,this.target=e,this.once=!!i};var a=new i.Pool(function(t){return t.callback=r,t.target=void 0,t.once=!1,!0},32);function o(){this.callbackInfos=[],this.isInvoking=!1,this.containCanceled=!1}a.get=function(){return this._get()||new s};var l=o.prototype;l.removeByCallback=function(t){for(var e=0;e<this.callbackInfos.length;++e){var i=this.callbackInfos[e];i&&i.callback===t&&(a.put(i),n(this.callbackInfos,e),--e)}},l.removeByTarget=function(t){for(var e=0;e<this.callbackInfos.length;++e){var i=this.callbackInfos[e];i&&i.target===t&&(a.put(i),n(this.callbackInfos,e),--e)}},l.cancel=function(t){var e=this.callbackInfos[t];e&&(a.put(e),this.callbackInfos[t]=null),this.containCanceled=!0},l.cancelAll=function(){for(var t=0;t<this.callbackInfos.length;t++){var e=this.callbackInfos[t];e&&(a.put(e),this.callbackInfos[t]=null)}this.containCanceled=!0},l.purgeCanceled=function(){for(var t=this.callbackInfos.length-1;t>=0;--t)this.callbackInfos[t]||n(this.callbackInfos,t);this.containCanceled=!1},l.clear=function(){this.cancelAll(),this.callbackInfos.length=0,this.isInvoking=!1,this.containCanceled=!1};var c=new i.Pool(function(t){return t.callbackInfos=[],t.isInvoking=!1,t.containCanceled=!1,!0},16);function h(){this._callbackTable=i.createMap(!0)}c.get=function(){return this._get()||new o},(l=h.prototype).on=function(t,e,i,n){var r=this._callbackTable[t];r||(r=this._callbackTable[t]=c.get());var s=a.get();s.set(e,i,n),r.callbackInfos.push(s)},l.hasEventListener=function(t,e,i){var n=this._callbackTable[t];if(!n)return!1;var r=n.callbackInfos;if(!e){if(n.isInvoking){for(var s=0;s<r.length;++s)if(r[s])return!0;return!1}return r.length>0}for(var a=0;a<r.length;++a){var o=r[a];if(o&&o.callback===e&&o.target===i)return!0}return!1},l.removeAll=function(t){if("string"==typeof t){var e=this._callbackTable[t];e&&(e.isInvoking?e.cancelAll():(e.clear(),c.put(e),delete this._callbackTable[t]))}else if(t)for(var i in this._callbackTable){var n=this._callbackTable[i];if(n.isInvoking)for(var r=n.callbackInfos,s=0;s<r.length;++s){var a=r[s];a&&a.target===t&&n.cancel(s)}else n.removeByTarget(t)}},l.off=function(t,e,i){var r=this._callbackTable[t];if(r)for(var s=r.callbackInfos,o=0;o<s.length;++o){var l=s[o];if(l&&l.callback===e&&l.target===i){r.isInvoking?r.cancel(o):(n(s,o),a.put(l));break}}},l.emit=function(t,e,i,n,r,s){var a=this._callbackTable[t];if(a){var o=!a.isInvoking;a.isInvoking=!0;for(var l=a.callbackInfos,c=0,h=l.length;c<h;++c){var u=l[c];if(u){var _=u.target,f=u.callback;u.once&&this.off(t,f,_),_?f.call(_,e,i,n,r,s):f(e,i,n,r,s)}}o&&(a.isInvoking=!1,a.containCanceled&&a.purgeCanceled())}},e.exports=h}),{"./js":259}],252:[(function(t,e){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];Array.isArray(r)?i(t,r):t.push(r)}}e.exports={flattenCodeArray:function(t){var e=[];return i(e,t),e.join("")}}}),{}],253:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=O,i.unpackJSONs=function(t,e){if(t[0]<1)throw new Error(cc.debug.getError(5304,t[0]));I(t,!0,e),P(t);for(var i=new L(t[0]),n=t[1],r=t[2],s=t[3],a=t[4],o=t[v],l=0;l<o.length;++l)o[l].unshift(i,n,r,s,a);return o},i.packCustomObjData=function(t,e,i){return[1,f,f,[t],f,i?[e,-1]:[e],[0],f,[],[],[]]},i.hasNativeDep=function(t){var e=t[5],i=e[e.length-1];return"number"==typeof i&&i<0},i.getDependUuidList=function(t){var e=t[1];return t[10].map((function(t){return e[t]}))};var n=_(t("./js")),r=_(t("../value-types/vec2")),s=_(t("../value-types/vec3")),a=_(t("../value-types/vec4")),o=_(t("../value-types/color")),l=_(t("../value-types/size")),c=_(t("../value-types/rect")),h=_(t("../value-types/quat")),u=_(t("../value-types/mat4"));function _(t){return t&&t.__esModule?t:{default:t}}var f=0,d=[r.default,s.default,a.default,h.default,o.default,l.default,c.default,u.default];function p(t,e){t.x=e[1],t.y=e[2],t.z=e[3],t.w=e[4]}var m=[function(t,e){t.x=e[1],t.y=e[2]},function(t,e){t.x=e[1],t.y=e[2],t.z=e[3]},p,p,function(t,e){t._val=e[1]},function(t,e){t.width=e[1],t.height=e[2]},function(t,e){t.x=e[1],t.y=e[2],t.width=e[3],t.height=e[4]},function(t,e){u.default.fromArray(t,e,1)}],y=0,v=5,g=(function(){function t(){this.uuidObjList=null,this.uuidPropList=null,this.uuidList=null}var e=t.prototype;return e.init=function(t){this.uuidObjList=t[8],this.uuidPropList=t[9],this.uuidList=t[10]},e.reset=function(){this.uuidList=null,this.uuidObjList=null,this.uuidPropList=null},e.push=function(t,e,i){this.uuidObjList.push(t),this.uuidPropList.push(e),this.uuidList.push(i)},t})();function b(t,e,i){for(var n=t.length-1,r=0,s=3*t[n];r<s;r+=3){var a=t[r],o=e[t[r+2]],l=t[r+1];l>=0?a[i[l]]=o:a[~l]=o}for(;r<n;r+=3){var c=e[t[r]],h=e[t[r+2]],u=t[r+1];u>=0?c[i[u]]=h:c[~u]=h}}function A(t,e){for(var i=t[4][e[0]],n=i[0],r=new(0,n[0]),s=n[1],a=n[2],o=i[i.length-1],l=1;l<o;++l)r[s[i[l]]]=e[l];for(;l<e.length;++l){var c=s[i[l]],h=n[i[l]+a];(0,E[h])(t,r,c,e[l])}return r}function x(t,e,i){var r=new e;return r._deserialize?r._deserialize(i,t[0]):cc.errorID(5303,n.default.getClassName(e)),r}function C(t,e,i,n){n>=0?e[i]=t[5][n]:t[7][3*~n]=e}function T(t){return function(e,i,n,r){i[n]=r;for(var s=0;s<r.length;++s)t(e,r,s,r[s])}}function S(t,e,i,n){e[i]=null,t[8][n]=e}function w(t,e,i,n){e[i]=A(t,n)}g.pool=new n.default.Pool(function(t){t.reset()},5),g.pool.get=function(){return this._get()||new g};var E=new Array(13);function M(t){var e=t[5],i=t[6],n=0===i?0:i.length,r=e[e.length-1],s=e.length-n;"number"!=typeof r?r=0:(r<0&&(r=~r),--s);for(var a=0;a<s;++a)e[a]=A(t,e[a]);for(var o=t[3],l=0;l<n;++l,++a){var c=i[l],h=e[a];if(c>=0){var u=o[c];e[a]=x(t,u,h)}else(0,E[c=~c])(t,e,a,h)}return r}function D(t,e){return t||O.reportMissingClass(e),Object}function B(t,e,i,n,r,s){var a=t(e);if(!a){if(r)return void(i[n]=(function(e,i,n){return function(){var r=t(n)||D(s,n);return e[i]=r,new r}})(i,n,e));a=D(s,e)}i[n]=a}function I(t,e,i){for(var r=i||n.default._getClassById,s=t[3],a=0;a<s.length;++a){var o=s[a];"string"!=typeof o?B(r,o[0],o,y,e,i):B(r,o,s,a,e,i)}}function P(t){var e=t[4];if(e)for(var i=t[3],n=0;n<e.length;++n){var r=e[n];r[0]=i[r[0]]}}function R(t){for(var e=t[5],i=t[2],n=t[1],r=t[8],s=t[9],a=t[10],o=0;o<r.length;++o){var l=r[o];"number"==typeof l&&(r[o]=e[l]);var c=s[o];"number"==typeof c&&(c=c>=0?i[c]:~c,s[o]=c);var h=a[o];"number"==typeof h&&(a[o]=n[h])}}function O(t,e,i){"string"==typeof t&&(t=JSON.parse(t));var n=!e;(e=e||g.pool.get()).init(t),i=i||{};var r=t[0],s=!1;if("object"==typeof r&&(s=r.preprocessed,r=r.version),r<1)throw new Error(cc.debug.getError(5304,r));i._version=r,i.result=e,t[0]=i,s||(I(t,!1,i.classFinder),P(t)),cc.game._isCloning=!0;var a=t[5],o=M(t);return cc.game._isCloning=!1,t[7]&&b(t[7],a,t[2]),R(t),n&&g.pool.put(e),a[o]}E[0]=function(t,e,i,n){e[i]=n},E[1]=C,E[2]=T(C),E[3]=T(S),E[4]=w,E[5]=function(t,e,i,n){m[n[0]](e[i],n)},E[6]=S,E[7]=function(t,e,i,n){e[i].set(n)},E[8]=function(t,e,i,n){var r=new d[n[0]];m[n[0]](r,n),e[i]=r},E[9]=T(w),E[10]=function(t,e,i,n){var r=t[3][n[0]];e[i]=x(t,r,n[1])},E[11]=function(t,e,i,n){var r=n[0];e[i]=r;for(var s=1;s<n.length;s+=3){var a=n[s],o=n[s+1],l=n[s+2];(0,E[o])(t,r,a,l)}},E[12]=function(t,e,i,n){var r=n[0];e[i]=r;for(var s=0;s<r.length;++s){var a=r[s],o=n[s+1];0!==o&&(0,E[o])(t,r,s,a)}},O.Details=g;var L=function(t){this.preprocessed=!0,this.version=t}}),{"../value-types/color":337,"../value-types/mat4":340,"../value-types/quat":341,"../value-types/rect":342,"../value-types/size":343,"../value-types/vec2":347,"../value-types/vec3":348,"../value-types/vec4":349,"./js":259}],254:[(function(t){"use strict";var e,i=(e=t("./deserialize-compiled"))&&e.__esModule?e:{default:e};i.default.reportMissingClass=function(t){cc.warnID(5302,t)},cc.deserialize=i.default}),{"./deserialize-compiled":253,"./deserialize-editor":void 0}],255:[(function(t,e){"use strict";var i=".";function n(t){this.id=0|998*Math.random(),this.prefix=t?t+i:""}n.prototype.getNewId=function(){return this.prefix+ ++this.id},n.global=new n("global"),e.exports=n}),{}],256:[(function(t){"use strict";t("./js"),t("./CCClass"),t("./CCClassDecorator"),t("./CCEnum"),t("./CCObject"),t("./callbacks-invoker"),t("./deserialize"),t("./instantiate"),t("./instantiate-jit"),t("./requiring-frame"),t("./CCSys"),t("./CCMacro"),t("./CCVisibleRect")}),{"./CCClass":238,"./CCClassDecorator":239,"./CCEnum":240,"./CCMacro":243,"./CCObject":244,"./CCSys":247,"./CCVisibleRect":249,"./callbacks-invoker":251,"./deserialize":254,"./instantiate":258,"./instantiate-jit":257,"./js":259,"./requiring-frame":261}],257:[(function(t,e){"use strict";var i=t("./CCObject"),n=i.Flags.Destroyed,r=i.Flags.PersistentMask,s=t("./attribute"),a=t("./js"),o=t("./CCClass"),l=t("./compiler"),c=s.DELIMETER+"default",h=o.IDENTIFIER_RE,u=o.escapeForJS,_="var ",f="o",d="t",p={"cc.Node":"cc.Node","cc.Sprite":"cc.Sprite","cc.Label":"cc.Label","cc.Button":"cc.Button","cc.Widget":"cc.Widget","cc.Animation":"cc.Animation","cc.ClickEvent":!1,"cc.PrefabInfo":!1};try{!Float32Array.name&&(Float32Array.name="Float32Array"),!Float64Array.name&&(Float64Array.name="Float64Array"),!Int8Array.name&&(Int8Array.name="Int8Array"),!Int16Array.name&&(Int16Array.name="Int16Array"),!Int32Array.name&&(Int32Array.name="Int32Array"),!Uint8Array.name&&(Uint8Array.name="Uint8Array"),!Uint16Array.name&&(Uint16Array.name="Uint16Array"),!Uint32Array.name&&(Uint32Array.name="Uint32Array"),!Uint8ClampedArray.name&&(Uint8ClampedArray.name="Uint8ClampedArray")}catch(S){}function m(t){if(t===Float32Array)return"Float32Array";if(t===Float64Array)return"Float64Array";if(t===Int8Array)return"Int8Array";if(t===Int16Array)return"Int16Array";if(t===Int32Array)return"Int32Array";if(t===Uint8Array)return"Uint8Array";if(t===Uint16Array)return"Uint16Array";if(t===Uint32Array)return"Uint32Array";if(t===Uint8ClampedArray)return"Uint8ClampedArray";throw new Error("Unknown TypedArray to instantiate: "+t)}function y(t,e){this.varName=t,this.expression=e}function v(t,e){return e instanceof y?new y(e.varName,t+e.expression):t+e}function g(t,e,i){Array.isArray(i)?(i[0]=v(e,i[0]),t.push(i)):t.push(v(e,i)+";")}function b(t){this._exps=[],this._targetExp=t}function A(t,e){if("function"==typeof t)try{t=t()}catch(S){return!1}if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e&&t.constructor===e.constructor)if(t instanceof cc.ValueType){if(t.equals(e))return!0}else{if(Array.isArray(t))return 0===t.length&&0===e.length;if(t.constructor===Object)return a.isEmptyObject(t)&&a.isEmptyObject(e)}return!1}function x(t){return h.test(t)?"."+t:"["+u(t)+"]"}function C(t,e){var i;this.parent=e,this.objsToClear_iN$t=[],this.codeArray=[],this.objs=[],this.funcs=[],this.funcModuleCache=a.createMap(),a.mixin(this.funcModuleCache,p),this.globalVariables=[],this.globalVariableId=0,this.localVariableId=0,this.codeArray.push(_+f+","+d+";","if(R){",f+"=R;","}else{",f+"=R=new "+this.getFuncModule(t.constructor,!0)+"();","}"),a.value(t,"_iN$t",{globalVar:"R"},!0),this.objsToClear_iN$t.push(t),this.enumerateObject(this.codeArray,t),this.globalVariables.length>0&&(i=_+this.globalVariables.join(",")+";");var n=l.flattenCodeArray(["return (function(R){",i||[],this.codeArray,"return o;","})"]);this.result=Function("O","F",n)(this.objs,this.funcs);for(var r=0,s=this.objsToClear_iN$t.length;r<s;++r)this.objsToClear_iN$t[r]._iN$t=null;this.objsToClear_iN$t.length=0}y.prototype.toString=function(){return _+this.varName+"="+this.expression+";"},b.prototype.append=function(t,e){this._exps.push([t,e])},b.prototype.writeCode=function(t){var e;if(this._exps.length>1)t.push(d+"="+this._targetExp+";"),e=d;else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i<this._exps.length;i++){var n=this._exps[i];g(t,e+x(n[0])+"=",n[1])}},b.pool=new a.Pool(function(t){t._exps.length=0,t._targetExp=null},1),b.pool.get=function(t){var e=this._get()||new b;return e._targetExp=t,e};var T=C.prototype;T.getFuncModule=function(t,e){var i=a.getClassName(t);if(i){var n=this.funcModuleCache[i];if(n)return n;if(void 0===n){var r=-1!==i.indexOf(".");if(r)try{if(r=t===Function("return "+i)())return this.funcModuleCache[i]=i,i}catch(S){}}}var s=this.funcs.indexOf(t);s<0&&(s=this.funcs.length,this.funcs.push(t));var o="F["+s+"]";return e&&(o="("+o+")"),this.funcModuleCache[i]=o,o},T.getObjRef=function(t){var e=this.objs.indexOf(t);return e<0&&(e=this.objs.length,this.objs.push(t)),"O["+e+"]"},T.setValueType=function(t,e,i,n){var r=b.pool.get(n),s=e.constructor.__props__;s||(s=Object.keys(e));for(var a=0;a<s.length;a++){var o=s[a],l=i[o];if(e[o]!==l){var c=this.enumerateField(i,o,l);r.append(o,c)}}r.writeCode(t),b.pool.put(r)},T.enumerateCCClass=function(t,e,i){for(var n=i.__values__,r=s.getClassAttrs(i),a=0;a<n.length;a++){var l=n[a],h=e[l],u=r[l+c];if(!A(u,h))if("object"==typeof h&&h instanceof cc.ValueType&&(u=o.getDefault(u))&&u.constructor===h.constructor){var _=f+x(l);this.setValueType(t,u,h,_)}else this.setObjProp(t,e,l,h)}},T.instantiateArray=function(t){if(0===t.length)return"[]";var e="a"+ ++this.localVariableId,i=[new y(e,"new Array("+t.length+")")];a.value(t,"_iN$t",{globalVar:"",source:i},!0),this.objsToClear_iN$t.push(t);for(var n=0;n<t.length;++n)g(i,e+"["+n+"]=",this.enumerateField(t,n,t[n]));return i},T.instantiateTypedArray=function(t){var e=t.constructor.name||m(t.constructor);if(0===t.length)return"new "+e;var i="a"+ ++this.localVariableId,n=[new y(i,"new "+e+"("+t.length+")")];t._iN$t={globalVar:"",source:n},this.objsToClear_iN$t.push(t);for(var r=0;r<t.length;++r)0!==t[r]&&g(n,i+"["+r+"]=",t[r]);return n},T.enumerateField=function(t,e,n){if("object"==typeof n&&n){var s=n._iN$t;if(s){var a=s.globalVar;if(!a){a=s.globalVar="v"+ ++this.globalVariableId,this.globalVariables.push(a);var o=s.source[0];s.source[0]=v(a+"=",o)}return a}return ArrayBuffer.isView(n)?this.instantiateTypedArray(n):Array.isArray(n)?this.instantiateArray(n):this.instantiateObj(n)}return"function"==typeof n?this.getFuncModule(n):"string"==typeof n?u(n):("_objFlags"===e&&t instanceof i&&(n&=r),n)},T.setObjProp=function(t,e,i,n){g(t,f+x(i)+"=",this.enumerateField(e,i,n))},T.enumerateObject=function(t,e){var i=e.constructor;if(cc.Class._isCCClass(i))this.enumerateCCClass(t,e,i);else for(var n in e)if(e.hasOwnProperty(n)&&(95!==n.charCodeAt(0)||95!==n.charCodeAt(1)||"__type__"===n)){var r=e[n];"object"==typeof r&&r&&r===e._iN$t||this.setObjProp(t,e,n,r)}},T.instantiateObj=function(t){if(t instanceof cc.ValueType)return o.getNewValueTypeCode(t);if(t instanceof cc.Asset)return this.getObjRef(t);if(t._objFlags&n)return null;var e,i=t.constructor;if(cc.Class._isCCClass(i)){if(this.parent)if(this.parent instanceof cc.Component){if(t instanceof cc._BaseNode||t instanceof cc.Component)return this.getObjRef(t)}else if(this.parent instanceof cc._BaseNode)if(t instanceof cc._BaseNode){if(!t.isChildOf(this.parent))return this.getObjRef(t)}else if(t instanceof cc.Component&&!t.node.isChildOf(this.parent))return this.getObjRef(t);e=new y(f,"new "+this.getFuncModule(i,!0)+"()")}else if(i===Object)e=new y(f,"{}");else{if(i)return this.getObjRef(t);e=new y(f,"Object.create(null)")}var r=[e];return a.value(t,"_iN$t",{globalVar:"",source:r},!0),this.objsToClear_iN$t.push(t),this.enumerateObject(r,t),["(function(){",r,"return o;})();"]},e.exports={compile:function(t){return new C(t,t instanceof cc._BaseNode&&t).result},equalsToDefault:A}}),{"./CCClass":238,"./CCObject":244,"./attribute":250,"./compiler":252,"./js":259}],258:[(function(t,e){"use strict";var i=t("./CCObject"),n=t("../value-types/value-type"),r=i.Flags.Destroyed,s=i.Flags.PersistentMask,a=t("./utils").isDomNode,o=t("./js");function l(t,e){if(!e){if("object"!=typeof t||Array.isArray(t))return null;if(!t)return null;if(!cc.isValid(t))return null}var n;if(t instanceof i){if(t._instantiate)return cc.game._isCloning=!0,n=t._instantiate(null,!0),cc.game._isCloning=!1,n;if(t instanceof cc.Asset)return null}return cc.game._isCloning=!0,n=h(t),cc.game._isCloning=!1,n}var c=[];function h(t,e){if(Array.isArray(t))return null;if(a&&a(t))return null;var i;_(t,i=t._iN$t?t._iN$t:t.constructor?new(0,t.constructor):Object.create(null),e);for(var n=0,r=c.length;n<r;++n)c[n]._iN$t=null;return c.length=0,i}function u(t,e,i,r){for(var s=t.__values__,a=0;a<s.length;a++){var o=s[a],l=e[o];if("object"==typeof l&&l){var c=i[o];c instanceof n&&c.constructor===l.constructor?c.set(l):i[o]=l._iN$t||f(l,r)}else i[o]=l}}function _(t,e,n){o.value(t,"_iN$t",e,!0),c.push(t);var r=t.constructor;if(cc.Class._isCCClass(r))u(r,t,e,n);else for(var a in t)if(t.hasOwnProperty(a)&&(95!==a.charCodeAt(0)||95!==a.charCodeAt(1)||"__type__"===a)){var l=t[a];if("object"==typeof l&&l){if(l===e)continue;e[a]=l._iN$t||f(l,n)}else e[a]=l}t instanceof i&&(e._objFlags&=s)}function f(t,e){if(t instanceof n)return t.clone();if(t instanceof cc.Asset)return t;var i;if(ArrayBuffer.isView(t)){var s=t.length;i=new t.constructor(s),t._iN$t=i,c.push(t);for(var a=0;a<s;++a)i[a]=t[a];return i}if(Array.isArray(t)){var l=t.length;i=new Array(l),o.value(t,"_iN$t",i,!0),c.push(t);for(var h=0;h<l;++h){var u=t[h];i[h]="object"==typeof u&&u?u._iN$t||f(u,e):u}return i}if(t._objFlags&r)return null;var d=t.constructor;if(cc.Class._isCCClass(d)){if(e)if(e instanceof cc.Component){if(t instanceof cc._BaseNode||t instanceof cc.Component)return t}else if(e instanceof cc._BaseNode)if(t instanceof cc._BaseNode){if(!t.isChildOf(e))return t}else if(t instanceof cc.Component&&!t.node.isChildOf(e))return t;i=new d}else if(d===Object)i={};else{if(d)return t;i=Object.create(null)}return _(t,i,e),i}l._clone=h,cc.instantiate=l,e.exports=l}),{"../value-types/value-type":346,"./CCObject":244,"./js":259,"./utils":262}],259:[(function(t,e){"use strict";var i=new(t("./id-generater"))("TmpCId.");function n(t,e){for(;t;){var i=Object.getOwnPropertyDescriptor(t,e);if(i)return i;t=Object.getPrototypeOf(t)}return null}function r(t,e,i){var r=n(e,t);Object.defineProperty(i,t,r)}var s={isNumber:function(t){return"number"==typeof t||t instanceof Number},isString:function(t){return"string"==typeof t||t instanceof String},addon:function(t){t=t||{};for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];if(n){if("object"!=typeof n){cc.errorID(5402,n);continue}for(var s in n)s in t||r(s,n,t)}}return t},mixin:function(t){t=t||{};for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];if(n){if("object"!=typeof n){cc.errorID(5403,n);continue}for(var s in n)r(s,n,t)}}return t},extend:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t.prototype=Object.create(e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),t},getSuper:function(t){var e=t.prototype,i=e&&Object.getPrototypeOf(e);return i&&i.constructor},isChildClassOf:function(t,e){if(t&&e){if("function"!=typeof t)return!1;if("function"!=typeof e)return!1;if(t===e)return!0;for(;;){if(!(t=s.getSuper(t)))return!1;if(t===e)return!0}}return!1},clear:function(t){for(var e=Object.keys(t),i=0;i<e.length;i++)delete t[e[i]]},isEmptyObject:function(t){for(var e in t)return!1;return!0},getPropertyDescriptor:n},a={value:void 0,enumerable:!1,writable:!1,configurable:!0};s.value=function(t,e,i,n,r){a.value=i,a.writable=n,a.enumerable=r,Object.defineProperty(t,e,a),a.value=void 0};var o={get:null,set:null,enumerable:!1};s.getset=function(t,e,i,n,r,s){"function"!=typeof n&&(r=n,n=void 0),o.get=i,o.set=n,o.enumerable=r,o.configurable=s,Object.defineProperty(t,e,o),o.get=null,o.set=null};var l={get:null,enumerable:!1,configurable:!1};s.get=function(t,e,i,n,r){l.get=i,l.enumerable=n,l.configurable=r,Object.defineProperty(t,e,l),l.get=null};var c={set:null,enumerable:!1,configurable:!1};s.set=function(t,e,i,n,r){c.set=i,c.enumerable=n,c.configurable=r,Object.defineProperty(t,e,c),c.set=null},s.getClassName=function(t){if("function"==typeof t){var e=t.prototype;if(e&&e.hasOwnProperty("__classname__")&&e.__classname__)return e.__classname__;var i="";if(t.name&&(i=t.name),t.toString){var n,r=t.toString();(n="["===r.charAt(0)?r.match(/\[\w+\s*(\w+)\]/):r.match(/function\s*(\w+)/))&&2===n.length&&(i=n[1])}return"Object"!==i?i:""}return t&&t.constructor?s.getClassName(t.constructor):""},(function(){var t={},e={};function n(t,e,i){return s.getset(s,e,(function(){return Object.assign({},i)}),(function(t){s.clear(i),Object.assign(i,t)})),function(e,n){if(n.prototype.hasOwnProperty(t)&&delete i[n.prototype[t]],s.value(n.prototype,t,e),e){var r=i[e];if(r&&r!==n){var a="A Class already exists with the same "+t+' : "'+e+'".';cc.error(a)}else i[e]=n}}}s._setClassId=n("__cid__","_registeredClassIds",t);var r=n("__classname__","_registeredClassNames",e);s.setClassName=function(t,e){if(r(t,e),!e.prototype.hasOwnProperty("__cid__")){var n=t||i.getNewId();n&&s._setClassId(n,e)}},s.unregisterClass=function(){for(var i=0;i<arguments.length;i++){var n=arguments[i].prototype,r=n.__cid__;r&&delete t[r];var s=n.__classname__;s&&delete e[s]}},s._getClassById=function(e){return t[e]},s.getClassByName=function(t){return e[t]},s._getClassId=function(t,e){if(e=void 0===e||e,"function"==typeof t&&t.prototype.hasOwnProperty("__cid__"))return t.prototype.__cid__;if(t&&t.constructor){var i=t.constructor.prototype;if(i&&i.hasOwnProperty("__cid__"))return t.__cid__}return""}})(),s.obsolete=function(t,e,i,n){var r=/([^.]+)$/,a=r.exec(e)[0],o=r.exec(i)[0];function l(){return this[o]}n?s.getset(t,a,l,(function(t){this[o]=t})):s.get(t,a,l)},s.obsoletes=function(t,e,i,n){for(var r in i){var a=i[r];s.obsolete(t,e+"."+r,a,n)}};var h=/(%d)|(%s)/,u=/%s/;function _(t,e){t.splice(e,1)}function f(t,e){var i=t.indexOf(e);return i>=0&&(_(t,i),!0)}function d(t,e){void 0===e&&(e=t,t=null),this.get=null,this.count=0,this._pool=new Array(e),this._cleanup=t}s.formatStr=function(){var t=arguments.length;if(0===t)return"";var e=arguments[0];if(1===t)return""+e;var i="string"==typeof e&&h.test(e);if(i)for(var n=1;n<t;++n){var r=arguments[n],s="number"==typeof r?h:u;if(s.test(e)){var a=""+r;e=e.replace(s,a)}else e+=" "+r}else for(var o=1;o<t;++o)e+=" "+arguments[o];return e},s.shiftArguments=function(){for(var t=arguments.length-1,e=new Array(t),i=0;i<t;++i)e[i]=arguments[i+1];return e},s.createMap=function(t){var e=Object.create(null);return t&&(e["."]=!0,e["/"]=!0,delete e["."],delete e["/"]),e},s.array={remove:f,fastRemove:function(t,e){var i=t.indexOf(e);i>=0&&(t[i]=t[t.length-1],--t.length)},removeAt:_,fastRemoveAt:function(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)},contains:function(t,e){return t.indexOf(e)>=0},verifyType:function(t,e){if(t&&t.length>0)for(var i=0;i<t.length;i++)if(!(t[i]instanceof e))return cc.logID(1300),!1;return!0},removeArray:function(t,e){for(var i=0,n=e.length;i<n;i++)f(t,e[i])},appendObjectsAt:function(t,e,i){return t.splice.apply(t,[i,0].concat(e)),t},copy:function(t){var e,i=t.length,n=new Array(i);for(e=0;e<i;e+=1)n[e]=t[e];return n},MutableForwardIterator:t("../utils/mutable-forward-iterator")},d.prototype._get=function(){if(this.count>0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},d.prototype.put=function(t){var e=this._pool;if(this.count<e.length){if(this._cleanup&&!1===this._cleanup(t))return;e[this.count]=t,++this.count}},d.prototype.resize=function(t){t>=0&&(this._pool.length=t,this.count>t&&(this.count=t))},s.Pool=d,cc.js=s,e.exports=s}),{"../utils/mutable-forward-iterator":324,"./id-generater":255}],260:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./attribute"),s={default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function a(t,e,i,n){if(!t.get&&!t.set&&t.hasOwnProperty("default")){var r="_N$"+e;t.get=function(){return this[r]},t.set=function(t){var e=this[r];this[r]=t,i.call(this,e)};var a={};for(var o in n[r]=a,s){var l=s[o];t.hasOwnProperty(o)&&(a[o]=t[o],l.canUsedInGet||delete t[o])}}}function o(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return cc.errorID(5508,i,n);t.type=e=e[0]}"function"==typeof e&&(e===String?t.type=cc.String:e===Boolean?t.type=cc.Boolean:e===Number&&(t.type=cc.Float))}function l(t,e,i){var n=t?{_short:!0}:{_short:!0,default:e};return i&&(n.type=i),n}i.getFullFormOfProperty=function(t,e){return t&&t.constructor===Object?null:Array.isArray(t)&&t.length>0?l(e,[],t):"function"==typeof t?l(e,n.isChildClassOf(t,cc.ValueType)?new t:null,t):t instanceof r.PrimitiveType?l(e,t.default):l(e,t)},i.preprocessAttrs=function(t,e){for(var n in t){var r=t[n],s=i.getFullFormOfProperty(r,!1);if(s&&(r=t[n]=s),r){var l=r.notify;l&&a(r,n,l,t),"type"in r&&o(r,r.type,e,n)}}},i.validateMethodWithProps=function(t){return"function"==typeof t||null===t}}),{"./CCClass":238,"./attribute":250,"./js":259}],261:[(function(){"use strict";var t=[];cc._RF={push:function(e,i,n){void 0===n&&(n=i,i=""),t.push({uuid:i,script:n,module:e,exports:e.exports,beh:null})},pop:function(){var e=t.pop(),i=e.module,n=i.exports;if(n===e.exports){for(var r in n)return;i.exports=n=e.cls}},peek:function(){return t[t.length-1]}}}),{}],262:[(function(t,e){"use strict";t("./js"),e.exports={contains:function(t,e){if("function"==typeof t.contains)return t.contains(e);if("function"==typeof t.compareDocumentPosition)return!!(16&t.compareDocumentPosition(e));var i=e.parentNode;if(i)do{if(i===t)return!0;i=i.parentNode}while(null!==i);return!1},isDomNode:"object"==typeof window&&("function"==typeof Node?function(t){return t instanceof Node}:function(t){return t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}),callInNextTick:function(t,e,i){t&&setTimeout((function(){t(e,i)}),0)}}}),{"./js":259}],263:[(function(t){"use strict";t("./platform/js"),t("./value-types"),t("./utils"),t("./platform/CCInputManager"),t("./platform/CCInputExtension"),t("./event"),t("./platform/CCSys"),t("./platform/CCMacro"),t("./asset-manager"),t("./CCDirector"),t("./renderer"),t("./platform/CCView"),t("./platform/CCScreen"),t("./CCScheduler"),t("./event-manager")}),{"./CCDirector":70,"./CCScheduler":75,"./asset-manager":93,"./event":187,"./event-manager":183,"./platform/CCInputExtension":241,"./platform/CCInputManager":242,"./platform/CCMacro":243,"./platform/CCScreen":246,"./platform/CCSys":247,"./platform/CCView":248,"./platform/js":259,"./renderer":270,"./utils":322,"./value-types":338}],264:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./assembler")),r=a(t("./utils/dynamic-atlas/manager")),s=a(t("./webgl/render-data"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}t("../value-types");var c=(function(t){var e,i;function n(){var e;return(e=t.call(this)||this)._renderData=new s.default,e._renderData.init(l(e)),e.initData(),e.initLocal(),e}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var a,c,h=n.prototype;return h.initData=function(){this._renderData.createQuadData(0,this.verticesFloats,this.indicesCount)},h.initLocal=function(){this._local=[],this._local.length=4},h.updateColor=function(t,e){var i=this._renderData.uintVDatas[0];if(i){e=null!=e?e:t.node.color._val;for(var n=this.floatsPerVert,r=this.colorOffset,s=i.length;r<s;r+=n)i[r]=e}},h.getBuffer=function(){return cc.renderer._handle._meshBuffer},h.updateWorldVerts=function(t){var e=this._local,i=this._renderData.vDatas[0],n=t.node._worldMatrix.m,r=n[0],s=n[1],a=n[4],o=n[5],l=n[12],c=n[13],h=e[0],u=e[2],_=e[1],f=e[3],d=this.floatsPerVert,p=0;if(1===r&&0===s&&0===a&&1===o)i[p]=h+l,i[p+1]=_+c,i[p+=d]=u+l,i[p+1]=_+c,i[p+=d]=h+l,i[p+1]=f+c,i[p+=d]=u+l,i[p+1]=f+c;else{var m=r*h,y=r*u,v=s*h,g=s*u,b=a*_,A=a*f,x=o*_,C=o*f;i[p]=m+b+l,i[p+1]=v+x+c,i[p+=d]=y+b+l,i[p+1]=g+x+c,i[p+=d]=m+A+l,i[p+1]=v+C+c,i[p+=d]=y+A+l,i[p+1]=g+C+c}},h.fillBuffers=function(t,e){e.worldMatDirty&&this.updateWorldVerts(t);var i=this._renderData,n=i.vDatas[0],r=i.iDatas[0],s=this.getBuffer(e),a=s.request(this.verticesCount,this.indicesCount),o=a.byteOffset>>2,l=s._vData;n.length+o>l.length?l.set(n.subarray(0,l.length-o),o):l.set(n,o);for(var c=s._iData,h=a.indiceOffset,u=a.vertexOffset,_=0,f=r.length;_<f;_++)c[h++]=u+r[_]},h.packToDynamicAtlas=function(t,e){if(!e._original&&r.default&&e._texture.packable){var i=r.default.insertSpriteFrame(e);i&&e._setDynamicAtlasFrame(i)}var n=t._materials[0];n&&n.getProperty("texture")!==e._texture&&(t._vertsDirty=!0,t._updateMaterial())},a=n,(c=[{key:"verticesFloats",get:function(){return this.verticesCount*this.floatsPerVert}}])&&o(a.prototype,c),n})(n.default);i.default=c,cc.js.addon(c.prototype,{floatsPerVert:5,verticesCount:4,indicesCount:6,uvOffset:2,colorOffset:4}),cc.Assembler2D=c,e.exports=i.default}),{"../value-types":338,"./assembler":267,"./utils/dynamic-atlas/manager":273,"./webgl/render-data":310}],265:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;for(var n,r=t("./webgl/vertex-format"),s=(n=t("../value-types/vec3"))&&n.__esModule?n:{default:n},a=[],o=0;o<4;o++)a.push(cc.v3());var l={floatsPerVert:6,uvOffset:3,colorOffset:5,getBuffer:function(t){return t._meshBuffer3D},getVfmt:function(){return r.vfmt3D},updateWorldVerts:function(t){var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0];s.default.set(a[0],i[0],i[1],0),s.default.set(a[1],i[2],i[1],0),s.default.set(a[2],i[0],i[3],0),s.default.set(a[3],i[2],i[3],0);for(var r=this.floatsPerVert,o=0;o<4;o++){var l=a[o];s.default.transformMat4(l,l,e);var c=r*o;n[c]=l.x,n[c+1]=l.y,n[c+2]=l.z}}};cc.Assembler3D=l;var c=l;i.default=c,e.exports=i.default}),{"../value-types/vec3":348,"./webgl/vertex-format":312}],266:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../utils/pool"))&&n.__esModule?n:{default:n},s=0;function a(t){return Object.getOwnPropertyDescriptor(t,"__assemblerId__")||(t.__assemblerId__=++s),t.__assemblerId__}var o=new(function(t){var e,i;function n(){for(var e,i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r];return(e=t.call.apply(t,[this].concat(n))||this)._pool={},e}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.put=function(t){if(t&&this.enabled){var e=a(t.constructor),i=this._pool;i[e]||(i[e]=[]),this.count>this.maxSize||(this._clean(t),i[e].push(t),this.count++)}},r.get=function(t){var e;if(this.enabled){var i=this._pool,n=a(t);e=i[n]&&i[n].pop()}return e?this.count--:e=new t,e},r.clear=function(){this._pool={},this.count=0},r._clean=function(t){t._renderComp=null},n}(r.default));r.default.register("assembler",o);var l=o;i.default=l,e.exports=i.default}),{"../utils/pool":325}],267:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./webgl/vertex-format"),s=(n=t("./assembler-pool"))&&n.__esModule?n:{default:n},a=(function(){function t(){this._extendNative&&this._extendNative()}var e=t.prototype;return e.init=function(t){this._renderComp=t},e.updateRenderData=function(){},e.fillBuffers=function(){},e.getVfmt=function(){return r.vfmtPosUvColor},t})();i.default=a,a.register=function(t,e){t.__assembler__=e},a.init=function(t){for(var e=t.constructor,i=e.__assembler__;!i;){if(!(e=e.$super))return void cc.warn("Can not find assembler for render component : ["+cc.js.getClassName(t)+"]");i=e.__assembler__}if(i.getConstructor&&(i=i.getConstructor(t)),!t._assembler||t._assembler.constructor!==i){var n=s.default.get(i);n.init(t),t._assembler=n}},cc.Assembler=a,e.exports=i.default}),{"./assembler-pool":266,"./webgl/vertex-format":312}],268:[(function(t,e){"use strict";var i=function(t){var e;try{e=t.getContext("2d")}catch(i){return void console.error(i)}this._canvas=t,this._ctx=e,this._caps={},this._stats={drawcalls:0},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0};i.prototype._restoreTexture=function(){},i.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._vx=t,this._vy=e,this._vw=i,this._vh=n)},i.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._sx=t,this._sy=e,this._sw=i,this._sh=n)},i.prototype.clear=function(t){var e=this._ctx;e.clearRect(this._vx,this._vy,this._vw,this._vh),!t||0===t[0]&&0===t[1]&&0===t[2]||(e.fillStyle="rgb("+t[0]+","+t[1]+","+t[2]+")",e.globalAlpha=t[3],e.fillRect(this._vx,this._vy,this._vw,this._vh))},i.prototype.resetDrawCalls=function(){this._stats.drawcalls=0},i.prototype.getDrawCalls=function(){return this._stats.drawcalls},e.exports=i}),{}],269:[(function(t,e){"use strict";var i=function(t,e){this._device=t,this._width=4,this._height=4,this._image=null,e&&(void 0!==e.width&&(this._width=e.width),void 0!==e.height&&(this._height=e.height),this.updateImage(e))};i.prototype.update=function(t){this.updateImage(t)},i.prototype.updateImage=function(t){if(t.images&&t.images[0]){var e=t.images[0];e&&e!==this._image&&(this._image=e)}},i.prototype.destroy=function(){this._image=null},e.exports=i}),{}],270:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../renderer/gfx")),r=a(t("../../renderer/core/input-assembler")),s=a(t("../../renderer/core/pass"));function a(t){return t&&t.__esModule?t:{default:t}}var o=cc.renderer={Texture2D:null,InputAssembler:r.default,Pass:s.default,renderEngine:null,canvas:null,device:null,scene:null,drawCalls:0,_handle:null,_cameraNode:null,_camera:null,_forward:null,_flow:null,initWebGL:function(e,i){t("./webgl/assemblers");var r=t("./webgl/model-batcher");this.Texture2D=n.default.Texture2D,this.canvas=e,this._flow=cc.RenderFlow;var s=t("../../renderer/scene/scene"),a=t("../../renderer/renderers/forward-renderer");this.device=new n.default.Device(e,i),this.scene=new s;var o,l=(o=this.device,{defaultTexture:new n.default.Texture2D(o,{images:[],width:128,height:128,wrapS:n.default.WRAP_REPEAT,wrapT:n.default.WRAP_REPEAT,format:n.default.TEXTURE_FMT_RGB8,genMipmaps:!1}),programTemplates:[],programChunks:{}});this._forward=new a(this.device,l),this._handle=new r(this.device,this.scene),this._flow.init(this._handle,this._forward)},initCanvas:function(e){var i=t("./canvas"),n=t("./canvas/Texture2D"),r=t("./canvas/Device");this.Device=r,this.Texture2D=n,this.canvas=e,this.device=new r(e),this._camera={a:1,b:0,c:0,d:1,tx:0,ty:0},this._handle=new i.RenderComponentHandle(this.device,this._camera),this._forward=new i.ForwardRenderer,this._flow=cc.RenderFlow,this._flow.init(this._handle,this._forward)},updateCameraViewport:function(){if(cc.director){var t=cc.director.getScene();t&&t.setScale(1,1,1)}if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.view.getViewportRect();this.device.setViewport(e.x,e.y,e.width,e.height),this._camera.a=cc.view.getScaleX(),this._camera.d=cc.view.getScaleY(),this._camera.tx=e.x,this._camera.ty=e.y+e.height}},render:function(t,e){this.device.resetDrawCalls(),t&&(this._flow.render(t,e),this.drawCalls=this.device.getDrawCalls())},clear:function(){this._handle.reset(),this._forward.clear()}};i.default=o,e.exports=i.default}),{"../../renderer/core/input-assembler":361,"../../renderer/core/pass":362,"../../renderer/gfx":371,"../../renderer/renderers/forward-renderer":390,"../../renderer/scene/scene":394,"./canvas":void 0,"./canvas/Device":268,"./canvas/Texture2D":269,"./webgl/assemblers":282,"./webgl/model-batcher":308}],271:[(function(t,e){"use strict";var i,n,r=0,s=1<<r++,a=1<<r++,o=1<<r++,l=1<<r++,c=o|l,h=1<<r++,u=1<<r++,_=1<<r++,f=u|_,d=1<<r++,p=1<<r++,m=1<<r++,y=1<<r++,v=0;function g(){this._func=S,this._next=null}var b=g.prototype;b._doNothing=function(){},b._localTransform=function(t){t._updateLocalMatrix(),t._renderFlag&=~o,this._next._func(t)},b._worldTransform=function(t){i.worldMatDirty++;var e=t._matrix,n=t._trs,r=e.m;r[12]=n[0],r[13]=n[1],r[14]=n[2],t._mulMat(t._worldMatrix,t._parent._worldMatrix,e),t._renderFlag&=~l,this._next._func(t),i.worldMatDirty--},b._opacity=function(t){i.parentOpacityDirty++,this._next._func(t),t._renderFlag&=~u,i.parentOpacityDirty--},b._color=function(t){var e=t._renderComponent;e&&e._updateColor(),t._renderFlag&=~_,this._next._func(t)},b._updateRenderData=function(t){var e=t._renderComponent;e._assembler.updateRenderData(e),t._renderFlag&=~h,this._next._func(t)},b._render=function(t){var e=t._renderComponent;e._checkBacth(i,t._cullingMask),e._assembler.fillBuffers(e,i),this._next._func(t)},b._children=function(t){for(var e=v,n=i,r=n.parentOpacity,s=n.parentOpacity*=t._opacity/255,a=(n.worldMatDirty?l:0)|(n.parentOpacityDirty?f:0),o=t._children,c=0,h=o.length;c<h;c++){var u=o[c];if(u._renderFlag|=a,u._activeInHierarchy&&0!==u._opacity){v=u._cullingMask=0===u.groupIndex?e:1<<u.groupIndex;var _=u._color._val;u._color._fastSetA(u._opacity*s),x[u._renderFlag]._func(u),u._color._val=_}}n.parentOpacity=r,this._next._func(t)},b._postRender=function(t){var e=t._renderComponent;e._checkBacth(i,t._cullingMask),e._assembler.postFillBuffers(e,i),this._next._func(t)};var A=new g;A._func=A._doNothing,A._next=A;var x={};function C(t,e){var i=new g;switch(i._next=e||A,t){case s:case a:i._func=i._doNothing;break;case o:i._func=i._localTransform;break;case l:i._func=i._worldTransform;break;case u:i._func=i._opacity;break;case _:i._func=i._color;break;case h:i._func=i._updateRenderData;break;case d:i._func=i._render;break;case p:i._func=i._children;break;case m:i._func=i._postRender}return i}function T(t){for(var e=null,i=y;i>0;)i&t&&(e=C(i,e)),i>>=1;return e}function S(t){var e=t._renderFlag;(x[e]=T(e))._func(t)}g.flows=x,g.createFlow=C;var w=[];g.registerValidate=function(t){t._inValidateList||(w.push(t),t._inValidateList=!0)},g.validateRenderers=function(){for(var t=0,e=w.length;t<e;t++){var i=w[t];i.isValid&&(i.enabledInHierarchy?i._validateRender():i.disableRender(),i._inValidateList=!1)}w.length=0},g.visitRootNode=function(t){g.validateRenderers();var e=v;v=t._cullingMask,t._renderFlag&l?(i.worldMatDirty++,t._calculWorldMatrix(),t._renderFlag&=~l,x[t._renderFlag]._func(t),i.worldMatDirty--):x[t._renderFlag]._func(t),v=e},g.render=function(t,e){i.reset(),i.walking=!0,g.visitRootNode(t),i.terminate(),i.walking=!1,n.render(i._renderScene,e)},g.renderCamera=function(t,e){i.reset(),i.walking=!0,g.visitRootNode(e),i.terminate(),i.walking=!1,n.renderCamera(t,i._renderScene)},g.init=function(t,e){i=t,n=e,x[0]=A;for(var r=1;r<y;r++)x[r]=new g},g.getBachther=function(){return i},g.FLAG_DONOTHING=s,g.FLAG_BREAK_FLOW=a,g.FLAG_LOCAL_TRANSFORM=o,g.FLAG_WORLD_TRANSFORM=l,g.FLAG_TRANSFORM=c,g.FLAG_OPACITY=u,g.FLAG_COLOR=_,g.FLAG_OPACITY_COLOR=f,g.FLAG_UPDATE_RENDER_DATA=h,g.FLAG_RENDER=d,g.FLAG_CHILDREN=p,g.FLAG_POST_RENDER=m,g.FLAG_FINAL=y,e.exports=cc.RenderFlow=g}),{}],272:[(function(t,e){"use strict";var i=t("../../../assets/CCRenderTexture"),n=2;function r(t,e){var r=new i;r.initWithSize(t,e),r.update(),this._texture=r,this._x=n,this._y=n,this._nexty=n,this._width=t,this._height=e,this._innerTextureInfos={},this._innerSpriteFrames=[],this._count=0}r.DEFAULT_HASH=(new i)._getHash(),cc.js.mixin(r.prototype,{insertSpriteFrame:function(t){var e=t._rect,i=t._texture,r=this._innerTextureInfos[i._id],s=e.x,a=e.y;if(r)s+=r.x,a+=r.y;else{var o=i.width,l=i.height;if(this._x+o+n>this._width&&(this._x=n,this._y=this._nexty),this._y+l+n>this._nexty&&(this._nexty=this._y+l+n),this._nexty>this._height)return null;cc.dynamicAtlasManager.textureBleeding&&((o<=8||l<=8)&&(this._texture.drawTextureAt(i,this._x-1,this._y-1),this._texture.drawTextureAt(i,this._x-1,this._y+1),this._texture.drawTextureAt(i,this._x+1,this._y-1),this._texture.drawTextureAt(i,this._x+1,this._y+1)),this._texture.drawTextureAt(i,this._x-1,this._y),this._texture.drawTextureAt(i,this._x+1,this._y),this._texture.drawTextureAt(i,this._x,this._y-1),this._texture.drawTextureAt(i,this._x,this._y+1)),this._texture.drawTextureAt(i,this._x,this._y),this._innerTextureInfos[i._id]={x:this._x,y:this._y,texture:i},this._count++,s+=this._x,a+=this._y,this._x+=o+n,this._dirty=!0}var c={x:s,y:a,texture:this._texture};return this._innerSpriteFrames.push(t),c},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},deleteInnerTexture:function(t){t&&this._innerTextureInfos[t._id]&&(delete this._innerTextureInfos[t._id],this._count--)},isEmpty:function(){return this._count<=0},reset:function(){this._x=n,this._y=n,this._nexty=n;for(var t=this._innerSpriteFrames,e=0,i=t.length;e<i;e++){var r=t[e];r.isValid&&r._resetDynamicAtlasFrame()}this._innerSpriteFrames.length=0,this._innerTextureInfos={}},destroy:function(){this.reset(),this._texture.destroy()}}),e.exports=r}),{"../../../assets/CCRenderTexture":113}],273:[(function(t,e){"use strict";var i=t("./atlas"),n=[],r=-1,s=5,a=2048,o=512,l=!0;function c(){var t=n[++r];return t||(t=new i(a,a),n.push(t)),t}function h(){_.reset()}var u=!1,_={Atlas:i,get enabled(){return u},set enabled(t){u!==t&&(t?(this.reset(),cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,h)):cc.director.off(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,h),u=t)},get maxAtlasCount(){return s},set maxAtlasCount(t){s=t},get atlasCount(){return n.length},get textureBleeding(){return l},set textureBleeding(t){l=t},get textureSize(){return a},set textureSize(t){a=t},get maxFrameSize(){return o},set maxFrameSize(t){o=t},insertSpriteFrame:function(t){if(!u||r===s||!t||t._original)return null;if(!t._texture.packable)return null;var e=n[r];e||(e=c());var i=e.insertSpriteFrame(t);return i||r===s?i:(e=c()).insertSpriteFrame(t)},reset:function(){for(var t=0,e=n.length;t<e;t++)n[t].destroy();n.length=0,r=-1},deleteAtlasSpriteFrame:function(t){if(t._original){var e=t._original._texture;this.deleteAtlasTexture(e)}},deleteAtlasTexture:function(t){if(t)for(var e=n.length-1;e>=0;e--)n[e].deleteInnerTexture(t),n[e].isEmpty()&&(n[e].destroy(),n.splice(e,1),r--)},showDebug:!1,update:function(){if(this.enabled)for(var t=0;t<=r;t++)n[t].update()}};e.exports=cc.dynamicAtlasManager=_}),{"./atlas":272}],274:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n},s=t("../../../utils/text-utils"),a=t("../../../platform/CCMacro"),o=t("../../../components/CCLabel").Overflow,l=t("../utils").shareLabelInfo,c=function(){this.char="",this.valid=!0,this.x=0,this.y=0,this.line=0,this.hash=""},h=cc.rect(),u=null,_=[],f=[],d=[],p=[],m=null,y=0,v=0,g=0,b=0,A=0,x=1,C=null,T=cc.size(),S="",w=0,E=0,M=0,D=0,B=0,I=0,P=0,R=!1,O=0,L=0,F=0,V=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.updateRenderData=function(t){t._vertsDirty&&u!==t&&(u=t,this._reserveQuads(t,t.string.toString().length),this._updateFontFamily(t),this._updateProperties(t),this._updateLabelInfo(t),this._updateContent(),this.updateWorldVerts(t),u._actualFontSize=w,u.node.setContentSize(T),u._vertsDirty=!1,u=null,this._resetProperties())},r._updateFontScale=function(){x=w/E},r._updateFontFamily=function(t){var e=t.font;C=e.spriteFrame,m=e._fntConfig,l.fontAtlas=e._fontDefDictionary,this.packToDynamicAtlas(t,C)},r._updateLabelInfo=function(){l.hash="",l.margin=0},r._updateProperties=function(t){S=t.string.toString(),w=t.fontSize,E=m?m.fontSize:t.fontSize,M=t.horizontalAlign,D=t.verticalAlign,B=t.spacingX,P=t.overflow,I=t._lineHeight,T.width=t.node.width,T.height=t.node.height,P===o.NONE?(R=!1,T.width+=2*l.margin,T.height+=2*l.margin):P===o.RESIZE_HEIGHT?(R=!0,T.height+=2*l.margin):R=t.enableWrapText,l.lineHeight=I,l.fontSize=w,this._setupBMFontOverflowMetrics()},r._resetProperties=function(){m=null,C=null,l.hash="",l.margin=0},r._updateContent=function(){this._updateFontScale(),this._computeHorizontalKerningForText(),this._alignText()},r._computeHorizontalKerningForText=function(){var t,e=S,i=e.length,n=_;if(m&&(t=m.kerningDict),t&&!cc.js.isEmptyObject(t))for(var r=-1,s=0;s<i;++s){var a=e.charCodeAt(s),o=t[r<<16|65535&a]||0;n[s]=s<i-1?o:0,r=a}else n.length=0},r._multilineTextWrap=function(t){for(var e=S.length,i=0,n=0,r=0,a=0,c=0,h=0,u=0,f=null,p=cc.v2(0,0),g=0;g<e;){var C=S.charAt(g);if("\n"!==C){for(var w=t(S,g,e),E=h,M=u,D=c,V=n,N=!1,k=0;k<w;++k){var z=g+k;if("\r"!==(C=S.charAt(z)))if(f=l.fontAtlas.getLetterDefinitionForChar(C,l)){var G=V+f.offsetX*x-l.margin;if(R&&F>0&&n>0&&G+f.w*x>F&&!s.isUnicodeSpace(C)){d.push(c),c=0,i++,n=0,r-=I*this._getFontScale()+0,N=!0;break}p.x=G,p.y=r-f.offsetY*x+l.margin,this._recordLetterInfo(p,C,z,i),z+1<_.length&&z<e-1&&(V+=_[z+1]),V+=f.xAdvance*x+B-2*l.margin,D=p.x+f.w*x-l.margin,E<p.y&&(E=p.y),M>p.y-f.h*x&&(M=p.y-f.h*x)}else{this._recordPlaceholderInfo(z,C);var U="";m&&(U=m.atlasName),console.log("Can't find letter definition in texture atlas "+U+" for letter:"+C)}else this._recordPlaceholderInfo(z,C)}N||(n=V,h<E&&(h=E),u>M&&(u=M),a<(c=D)&&(a=c),g+=w)}else d.push(c),c=0,i++,n=0,r-=I*this._getFontScale()+0,this._recordPlaceholderInfo(g,C),g++}return d.push(c),v=(y=i+1)*I*this._getFontScale(),y>1&&(v+=0*(y-1)),T.width=O,T.height=L,O<=0&&(T.width=parseFloat(a.toFixed(2))+2*l.margin),L<=0&&(T.height=parseFloat(v.toFixed(2))+2*l.margin),b=T.height,A=0,P!==o.CLAMP&&(h>0&&(b=T.height+h),u<-v&&(A=v+u)),!0},r._getFirstCharLen=function(){return 1},r._getFontScale=function(){return P===o.SHRINK?x:1},r._getFirstWordLen=function(t,e,i){var n=t.charAt(e);if(s.isUnicodeCJK(n)||"\n"===n||s.isUnicodeSpace(n))return 1;var r=1,a=l.fontAtlas.getLetterDefinitionForChar(n,l);if(!a)return r;for(var o=a.xAdvance*x+B,c=e+1;c<i&&(n=t.charAt(c),a=l.fontAtlas.getLetterDefinitionForChar(n,l));++c){if(o+a.offsetX*x+a.w*x>F&&!s.isUnicodeSpace(n)&&F>0)return r;if(o+=a.xAdvance*x+B,"\n"===n||s.isUnicodeSpace(n)||s.isUnicodeCJK(n))break;r++}return r},r._multilineTextWrapByWord=function(){return this._multilineTextWrap(this._getFirstWordLen)},r._multilineTextWrapByChar=function(){return this._multilineTextWrap(this._getFirstCharLen)},r._recordPlaceholderInfo=function(t,e){if(t>=f.length){var i=new c;f.push(i)}f[t].char=e,f[t].hash=e.charCodeAt(0)+l.hash,f[t].valid=!1},r._recordLetterInfo=function(t,e,i,n){if(i>=f.length){var r=new c;f.push(r)}var s=e.charCodeAt(0)+l.hash;f[i].line=n,f[i].char=e,f[i].hash=s,f[i].valid=l.fontAtlas.getLetter(s).valid,f[i].x=t.x,f[i].y=t.y},r._alignText=function(){v=0,d.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),P===o.SHRINK&&w>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||P===o.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},r._scaleFontSizeDown=function(t){var e=!0;t||(t=.1,e=!1),w=t,e&&this._updateContent()},r._shrinkLabelToContentSize=function(t){for(var e=0,i=0|w,n=0;e<i;){var r=n=e+i+1>>1;if(r<=0)break;x=r/E,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),t()?i=n-1:e=n}var s=e;s>=0&&this._scaleFontSizeDown(s)},r._isVerticalClamp=function(){return v>T.height},r._isHorizontalClamp=function(){for(var t=!1,e=0,i=S.length;e<i;++e){var n=f[e];if(n.valid){var r=l.fontAtlas.getLetter(n.hash),s=n.x+r.w*x,a=n.line;if(O>0)if(R){if(d[a]>T.width&&(s>T.width||s<0)){t=!0;break}}else if(s>T.width){t=!0;break}}}return t},r._isHorizontalClamped=function(t,e){var i=d[e],n=t>T.width||t<0;return R?i>T.width&&n:n},r._updateQuads=function(){var t=C?C._texture:l.fontAtlas.getTexture(),e=u.node;this.verticesCount=this.indicesCount=0,this._renderData&&(this._renderData.dataLength=0);for(var i=T,n=e._anchorPoint.x*i.width,r=e._anchorPoint.y*i.height,s=!0,a=0,c=S.length;a<c;++a){var _=f[a];if(_.valid){var d=l.fontAtlas.getLetter(_.hash);h.height=d.h,h.width=d.w,h.x=d.u,h.y=d.v;var m=_.y+g;if(L>0){if(m>b){var y=m-b;h.y+=y,h.height-=y,m-=y}m-d.h*x<A&&P===o.CLAMP&&(h.height=m<A?0:(m-A)/x)}var v=_.line,w=_.x+d.w/2*x+p[v];if(O>0&&this._isHorizontalClamped(w,v))if(P===o.CLAMP)h.width=0;else if(P===o.SHRINK){if(T.width>d.w){s=!1;break}h.width=0}if(h.height>0&&h.width>0){var E=this._determineRect(h),M=_.x+p[_.line];this.appendQuad(u,t,h,E,M-n,m-r,x)}}}return this._quadsUpdated(u),s},r._determineRect=function(t){var e=C.isRotated(),i=C._originalSize,n=C._rect,r=C._offset,s=r.x+(i.width-n.width)/2,a=r.y-(i.height-n.height)/2;if(e){var o=t.x;t.x=n.x+n.height-t.y-t.height-a,t.y=o+n.y-s,t.y<0&&(t.height=t.height+a)}else t.x+=n.x-s,t.y+=n.y+a;return e},r._computeAlignmentOffset=function(){switch(p.length=0,M){case a.TextAlignment.LEFT:for(var t=0;t<y;++t)p.push(0);break;case a.TextAlignment.CENTER:for(var e=0,i=d.length;e<i;e++)p.push((T.width-d[e])/2);break;case a.TextAlignment.RIGHT:for(var n=0,r=d.length;n<r;n++)p.push(T.width-d[n])}if(g=T.height,D!==a.VerticalTextAlignment.TOP){var s=T.height-v+I*this._getFontScale()-E*x;D===a.VerticalTextAlignment.BOTTOM?g-=s:g-=s/2}},r._setupBMFontOverflowMetrics=function(){var t=T.width,e=T.height;P===o.RESIZE_HEIGHT&&(e=0),P===o.NONE&&(t=0,e=0),O=t,L=e,F=t},r.updateWorldVerts=function(){},r.appendQuad=function(){},r._quadsUpdated=function(){},r._reserveQuads=function(){},n})(r.default);i.default=V,e.exports=i.default}),{"../../../components/CCLabel":150,"../../../platform/CCMacro":243,"../../../utils/text-utils":330,"../../assembler-2d":264,"../utils":278}],275:[(function(t,e){"use strict";function i(){this._rect=null,this.uv=[],this._texture=null,this._original=null}i.prototype={constructor:i,getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._calculateUV())},_refreshTexture:function(t){this._texture=t,this._rect=cc.rect(0,0,t.width,t.height),this._calculateUV()},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height,s=0===n?0:t.x/n,a=0===n?0:(t.x+t.width)/n,o=0===r?0:(t.y+t.height)/r,l=0===r?0:t.y/r;i[0]=s,i[1]=o,i[2]=a,i[3]=o,i[4]=s,i[5]=l,i[6]=a,i[7]=l}},e.exports=i}),{}],276:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../webgl/assemblers/label/2d/bmfont"))&&n.__esModule?n:{default:n},s=t("../../../components/CCLabel"),a=t("../../../components/CCLabelOutline"),o=t("../../../utils/text-utils"),l=t("../../../components/CCComponent"),c=t("../../../assets/CCRenderTexture"),h=cc.js.isChildClassOf(a,l),u=t("../utils").getFontFamily,_=t("../utils").shareLabelInfo,f=cc.BitmapFont.FontLetterDefinition,d=cc.BitmapFont.FontAtlas,p=cc.Color.WHITE,m=0,y=(1/255).toFixed(3);function v(t,e){this._texture=null,this._labelInfo=e,this._char=t,this._hash=null,this._data=null,this._canvas=null,this._context=null,this._width=0,this._height=0,this._offsetY=0,this._hash=t.charCodeAt(0)+e.hash}function g(t,e){var i=new c;i.initWithSize(t,e),i.update(),this._fontDefDictionary=new d(i),this._x=m,this._y=m,this._nexty=m,this._width=t,this._height=e,cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)}v.prototype={constructor:v,updateRenderData:function(){this._updateProperties(),this._updateTexture()},_updateProperties:function(){this._texture=new cc.Texture2D,this._data=s._canvasPool.get(),this._canvas=this._data.canvas,this._context=this._data.context,this._context.font=this._labelInfo.fontDesc;var t=o.safeMeasureText(this._context,this._char,this._labelInfo.fontDesc),e=2*this._labelInfo.margin+2;this._width=parseFloat(t.toFixed(2))+e,this._height=(1+o.BASELINE_RATIO)*this._labelInfo.fontSize+e,this._offsetY=-this._labelInfo.fontSize*o.BASELINE_RATIO/2,this._canvas.width!==this._width&&(this._canvas.width=this._width),this._canvas.height!==this._height&&(this._canvas.height=this._height),this._texture.initWithElement(this._canvas)},_updateTexture:function(){var t=this._context,e=this._labelInfo,i=this._canvas.width,n=this._canvas.height,r=this._labelInfo.fontSize,s=i/2,a=n/2+r*o.MIDDLE_RATIO+r*o.BASELINE_OFFSET,l=e.color;if(t.lineJoin="round",t.textAlign="center",t.clearRect(0,0,i,n),t.fillStyle="rgba("+l.r+", "+l.g+", "+l.b+", "+y+")",t.fillRect(0,0,i,n),t.font=e.fontDesc,t.fillStyle="rgba("+l.r+", "+l.g+", "+l.b+", 1)",e.isOutlined&&e.margin>0){var c=e.out||p;t.strokeStyle="rgba("+c.r+", "+c.g+", "+c.b+", "+c.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this._char,s,a)}t.fillText(this._char,s,a),this._texture.handleLoadedTexture()},destroy:function(){this._texture.destroy(),this._texture=null,s._canvasPool.put(this._data)}},cc.js.mixin(g.prototype,{insertLetterTexture:function(t){var e=t._texture,i=e.width,n=e.height;if(this._x+i+m>this._width&&(this._x=m,this._y=this._nexty),this._y+n>this._nexty&&(this._nexty=this._y+n+m),this._nexty>this._height)return null;this._fontDefDictionary._texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var r=new f;return r.u=this._x+1,r.v=this._y+1,r.texture=this._fontDefDictionary._texture,r.valid=!0,r.w=t._width-2,r.h=t._height-2,r.xAdvance=r.w,r.offsetY=t._offsetY,this._x+=i+m,this._fontDefDictionary.addLetterDefinitions(t._hash,r),r},update:function(){this._dirty&&(this._fontDefDictionary._texture.update(),this._dirty=!1)},reset:function(){this._x=m,this._y=m,this._nexty=m;for(var t=this._fontDefDictionary._letterDefinitions,e=0,i=t.length;e<i;e++){var n=t[e];n.isValid&&n.destroy()}this._fontDefDictionary.clear()},destroy:function(){this.reset(),this._fontDefDictionary._texture.destroy(),this._fontDefDictionary._texture=null},beforeSceneLoad:function(){this.clearAllCache()},clearAllCache:function(){this.destroy();var t=new c;t.initWithSize(this._width,this._height),t.update(),this._fontDefDictionary._texture=t},getLetter:function(t){return this._fontDefDictionary._letterDefinitions[t]},getTexture:function(){return this._fontDefDictionary.getTexture()},getLetterDefinitionForChar:function(t,e){var i=t.charCodeAt(0)+e.hash,n=this._fontDefDictionary._letterDefinitions[i];if(!n){var r=new v(t,e);r.updateRenderData(),n=this.insertLetterTexture(r),r.destroy()}return n}});var b=null,A=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r._getAssemblerData=function(){return b||(b=new g(2048,2048),cc.Label._shareAtlas=b),b.getTexture()},r._updateFontFamily=function(t){_.fontAtlas=b,_.fontFamily=u(t);var e=h&&t.getComponent(a);e&&e.enabled?(_.isOutlined=!0,_.margin=e.width,_.out=e.color.clone(),_.out.a=e.color.a*t.node.color.a/255):(_.isOutlined=!1,_.margin=0)},r._updateLabelInfo=function(t){var e,i,n;_.fontDesc=this._getFontDesc(),_.color=t.node.color,_.hash=(i=(e=_).color.toHEX(),n="",e.isOutlined&&e.margin>0&&(n=n+e.margin+e.out.toHEX()),""+e.fontSize+e.fontFamily+i+n)},r._getFontDesc=function(){return _.fontSize.toString()+"px "+_.fontFamily},r._computeHorizontalKerningForText=function(){},r._determineRect=function(){return!1},n})(r.default);i.default=A,e.exports=i.default}),{"../../../assets/CCRenderTexture":113,"../../../components/CCComponent":148,"../../../components/CCLabel":150,"../../../components/CCLabelOutline":151,"../../../utils/text-utils":330,"../../webgl/assemblers/label/2d/bmfont":283,"../utils":278}],277:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n},a=t("../../../utils/text-utils"),o=t("../../../platform/CCMacro"),l=t("../../../components/CCLabel"),c=t("../../../components/CCLabelOutline"),h=t("../../../components/CCLabelShadow"),u=l.Overflow,_=t("../utils").deleteFromDynamicAtlas,f=t("../utils").getFontFamily,d=(1/255).toFixed(3),p=null,m=null,y=null,v="",g="",b=0,A=0,x=[],C=cc.Size.ZERO,T=0,S=0,w=0,E=null,M="",D=u.NONE,B=!1,I=!1,P=null,R=cc.Color.WHITE,O=null,L=cc.Color.BLACK,F=cc.rect(),V=cc.Size.ZERO,N=cc.Size.ZERO,k=!1,z=!1,G=!1,U=0,j=cc.Vec2.ZERO,H=0,W=["left","center","right"],X=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=n.prototype;return s._getAssemblerData=function(){return(r=l._canvasPool.get()).canvas.width=r.canvas.height=1,r},s._resetAssemblerData=function(t){t&&l._canvasPool.put(t)},s.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e),e._vertsDirty&&(this._updateProperties(e),this._calculateLabelFont(),this._updateLabelDimensions(),this._updateTexture(e),this._calDynamicAtlas(e),e._actualFontSize=b,e.node.setContentSize(N),this.updateVerts(e),e._vertsDirty=!1,p=null,m=null,y=null)},s.updateVerts=function(){},s._updatePaddingRect=function(){var t=0,e=0,i=0,n=0,r=0;if(V.width=V.height=0,P&&(t=e=i=n=r=P.width,V.width=V.height=2*r),O){var s=O.blur+r;i=Math.max(i,-O._offset.x+s),n=Math.max(n,O._offset.x+s),t=Math.max(t,O._offset.y+s),e=Math.max(e,-O._offset.y+s)}if(z){var a=A*Math.tan(.20943951);n+=a,V.width+=a}F.x=i,F.y=t,F.width=i+n,F.height=t+e},s._updateProperties=function(t){var e=t._assemblerData;p=e.context,m=e.canvas,y=t._frame._original?t._frame._original._texture:t._frame._texture,g=t.string.toString(),b=t._fontSize,A=b,U=t.underlineHeight||A/8,D=t.overflow,C.width=t.node.width,C.height=t.node.height,N=t.node.getContentSize(),T=t._lineHeight,S=t.horizontalAlign,w=t.verticalAlign,E=t.node.color,k=t.enableBold,z=t.enableItalic,G=t.enableUnderline,M=f(t),I=t.srcBlendFactor===cc.macro.BlendFactor.ONE,B=D!==u.NONE&&(D===u.RESIZE_HEIGHT||t.enableWrapText),(P=(P=c&&t.getComponent(c))&&P.enabled&&P.width>0?P:null)&&R.set(P.color),(O=(O=h&&t.getComponent(h))&&O.enabled?O:null)&&(L.set(O.color),L.a=L.a*t.node.color.a/255),this._updatePaddingRect()},s._calculateFillTextStartPosition=function(){var t=0;S===o.TextAlignment.RIGHT?t=C.width-F.width:S===o.TextAlignment.CENTER&&(t=(C.width-F.width)/2);var e=this._getLineHeight()*(x.length-1),i=b*(1-a.BASELINE_RATIO/2);if(w!==o.VerticalTextAlignment.TOP){var n=e+F.height+b-C.height;w===o.VerticalTextAlignment.BOTTOM?i-=n+=a.BASELINE_RATIO/2*b:i-=n/2}return i+=a.BASELINE_OFFSET*b,cc.v2(t+F.x,i+F.y)},s._setupOutline=function(){p.strokeStyle="rgba("+R.r+", "+R.g+", "+R.b+", "+R.a/255+")",p.lineWidth=2*P.width},s._setupShadow=function(){p.shadowColor="rgba("+L.r+", "+L.g+", "+L.b+", "+L.a/255+")",p.shadowBlur=O.blur,p.shadowOffsetX=O.offset.x,p.shadowOffsetY=-O.offset.y},s._drawTextEffect=function(t,e){if(O||P||G){var i=x.length>1&&O,n=this._measureText(p,v),r=0,s=0;O&&this._setupShadow(),P&&this._setupOutline();for(var a=0;a<x.length;++a)r=t.x,s=t.y+a*e,i&&(P&&p.strokeText(x[a],r,s),p.fillText(x[a],r,s)),G&&(H=n(x[a]),S===o.TextAlignment.RIGHT?j.x=t.x-H:S===o.TextAlignment.CENTER?j.x=t.x-H/2:j.x=t.x,j.y=s+A/8,p.fillRect(j.x,j.y,H,U));i&&(p.shadowColor="transparent")}},s._updateTexture=function(){if(p.clearRect(0,0,m.width,m.height),p.lineJoin="round",I)p.fillStyle="rgba("+E.r+", "+E.g+", "+E.b+", "+E.a/255+")";else{var t=P?R:E;p.fillStyle="rgba("+t.r+", "+t.g+", "+t.b+", "+d+")",p.fillRect(0,0,m.width,m.height),p.fillStyle="rgba("+E.r+", "+E.g+", "+E.b+", 1)"}var e=this._calculateFillTextStartPosition(),i=this._getLineHeight(),n=e.x,r=0;this._drawTextEffect(e,i);for(var s=0;s<x.length;++s)r=e.y+s*i,P&&p.strokeText(x[s],n,r),p.fillText(x[s],n,r);O&&(p.shadowColor="transparent"),y.handleLoadedTexture()},s._calDynamicAtlas=function(t){if(t.cacheMode===l.CacheMode.BITMAP){var e=t._frame;_(t,e),e._original||e.setRect(cc.rect(0,0,m.width,m.height)),this.packToDynamicAtlas(t,e)}},s._updateLabelDimensions=function(){C.width=Math.min(C.width,2048),C.height=Math.min(C.height,2048);var t=!1;m.width!==C.width&&(m.width=C.width,t=!0),m.height!==C.height&&(m.height=C.height,t=!0),t&&(p.font=v),p.textAlign=W[S]},s._getFontDesc=function(){var t=b.toString()+"px ";return t+=M,k&&(t="bold "+t),z&&(t="italic "+t),t},s._getLineHeight=function(){return 0|(0===T?b:T*b/A)},s._calculateParagraphLength=function(t,e){for(var i=[],n=0;n<t.length;++n){var r=a.safeMeasureText(e,t[n],v);i.push(r)}return i},s._measureText=function(t,e){return function(i){return a.safeMeasureText(t,i,e)}},s._calculateShrinkFont=function(t){var e=this._calculateParagraphLength(t,p),i=0,n=0,r=0;if(B){var s=N.width,o=N.height;if(s<0||o<0)return;n=o+1;for(var l=0,c=0|b+1,h=0;l<c;){if((h=l+c+1>>1)<=0){cc.logID(4003);break}b=h,v=this._getFontDesc(),p.font=v;var u=this._getLineHeight();for(n=0,i=0;i<t.length;++i){var _=a.safeMeasureText(p,t[i],v);n+=a.fragmentText(t[i],_,s,this._measureText(p,v)).length*u}n>o?c=h-1:l=h}0===l?cc.logID(4003):(b=l,v=this._getFontDesc(),p.font=v)}else{for(n=t.length*this._getLineHeight(),i=0;i<t.length;++i)r<e[i]&&(r=e[i]);var f=(C.width-F.width)/r,d=C.height/n;b=A*Math.min(1,f,d)|0,v=this._getFontDesc(),p.font=v}},s._calculateWrapText=function(t){if(B){x=[];for(var e=N.width,i=0;i<t.length;++i){var n=a.safeMeasureText(p,t[i],v),r=a.fragmentText(t[i],n,e,this._measureText(p,v));x=x.concat(r)}}},s._calculateLabelFont=function(){var t=g.split("\n");switch(x=t,v=this._getFontDesc(),p.font=v,D){case u.NONE:for(var e=0,i=0,n=0;n<t.length;++n){var r=a.safeMeasureText(p,t[n],v);e=e>r?e:r}i=(x.length+a.BASELINE_RATIO)*this._getLineHeight();var s=parseFloat(e.toFixed(2)),o=parseFloat(i.toFixed(2));C.width=s+F.width,C.height=o+F.height,N.width=s+V.width,N.height=o+V.height;break;case u.SHRINK:this._calculateShrinkFont(t),this._calculateWrapText(t);break;case u.CLAMP:this._calculateWrapText(t);break;case u.RESIZE_HEIGHT:this._calculateWrapText(t);var l=(x.length+a.BASELINE_RATIO)*this._getLineHeight();C.height=l+F.height,N.height=l+V.height}},n})(s.default);i.default=X,e.exports=i.default}),{"../../../components/CCLabel":150,"../../../components/CCLabelOutline":151,"../../../components/CCLabelShadow":152,"../../../platform/CCMacro":243,"../../../utils/text-utils":330,"../../assembler-2d":264,"../utils":278}],278:[(function(t,e){"use strict";var i=t("./dynamic-atlas/manager"),n=cc.Color.WHITE,r={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:n,isOutlined:!1,out:n,margin:0};e.exports={deleteFromDynamicAtlas:function(t,e){e&&e._original&&i&&(i.deleteAtlasSpriteFrame(e),e._resetDynamicAtlasFrame())},getFontFamily:function(t){return t.useSystemFont?t.fontFamily||"Arial":t.font?t.font._nativeAsset?t.font._nativeAsset:(cc.assetManager.postLoadNative(t.font,(function(){t.isValid&&t.setVertsDirty()})),"Arial"):"Arial"},shareLabelInfo:r}}),{"./dynamic-atlas/manager":273}],279:[(function(t,e){"use strict";function i(t,e,i){i=i||2;var r,a,o,l,c,u,_,f=e&&e.length,d=f?e[0]*i:t.length,p=n(t,0,d,i,!0),m=[];if(!p)return m;if(f&&(p=h(t,e,p,i)),t.length>80*i){r=o=t[0],a=l=t[1];for(var y=i;y<d;y+=i)(c=t[y])<r&&(r=c),(u=t[y+1])<a&&(a=u),c>o&&(o=c),u>l&&(l=u);_=Math.max(o-r,l-a)}return s(p,m,i,r,a,_),m}function n(t,e,i,n,r){var s,a;if(r===B(t,e,i,n)>0)for(s=e;s<i;s+=n)a=E(s,t[s],t[s+1],a);else for(s=i-n;s>=e;s-=n)a=E(s,t[s],t[s+1],a);return a&&A(a,a.next)&&(M(a),a=a.next),a}function r(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!A(n,n.next)&&0!==b(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function s(t,e,i,n,h,u,_){if(t){!_&&u&&d(t,n,h,u);for(var f,p,m=t;t.prev!==t.next;)if(f=t.prev,p=t.next,u?o(t,n,h,u):a(t))e.push(f.i/i),e.push(t.i/i),e.push(p.i/i),M(t),t=p.next,m=p.next;else if((t=p)===m){_?1===_?s(t=l(t,e,i),e,i,n,h,u,2):2===_&&c(t,e,i,n,h,u):s(r(t),e,i,n,h,u,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(b(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(v(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&b(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function o(t,e,i,n){var r=t.prev,s=t,a=t.next;if(b(r,s,a)>=0)return!1;for(var o=r.x<s.x?r.x<a.x?r.x:a.x:s.x<a.x?s.x:a.x,l=r.y<s.y?r.y<a.y?r.y:a.y:s.y<a.y?s.y:a.y,c=r.x>s.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,h=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=m(o,l,e,i,n),_=m(c,h,e,i,n),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&v(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&b(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=u;){if(f!==t.prev&&f!==t.next&&v(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&b(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function l(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!A(r,s)&&x(r,n,n.next,s)&&T(r,s)&&T(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),M(n),M(n.next),n=t=s),n=n.next}while(n!==t);return n}function c(t,e,i,n,a,o){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&g(l,c)){var h=w(l,c);return l=r(l,l.next),h=r(h,h.next),s(l,e,i,n,a,o),void s(h,e,i,n,a,o)}c=c.next}l=l.next}while(l!==t)}function h(t,e,i,s){var a,o,l,c=[];for(a=0,o=e.length;a<o;a++)(l=n(t,e[a]*s,a<o-1?e[a+1]*s:t.length,s,!1))===l.next&&(l.steiner=!0),c.push(y(l));for(c.sort(u),a=0;a<c.length;a++)_(c[a],i),i=r(i,i.next);return i}function u(t,e){return t.x-e.x}function _(t,e){if(e=f(t,e)){var i=w(e,t);r(i,i.next)}}function f(t,e){var i,n=e,r=t.x,s=t.y,a=-1/0;do{if(s<=n.y&&s>=n.next.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=r&&o>a){if(a=o,o===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!i)return null;if(r===a)return i.prev;var l,c=i,h=i.x,u=i.y,_=1/0;for(n=i.next;n!==c;)r>=n.x&&n.x>=h&&v(s<u?r:a,s,h,u,s<u?a:r,s,n.x,n.y)&&((l=Math.abs(s-n.y)/(r-n.x))<_||l===_&&n.x>i.x)&&T(n,t)&&(i=n,_=l),n=n.next;return i}function d(t,e,i,n){var r=t;do{null===r.z&&(r.z=m(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,p(r)}function p(t){var e,i,n,r,s,a,o,l,c=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e<c&&(o++,n=n.nextZ);e++);for(l=c;o>0||l>0&&n;)0===o?(r=n,n=n.nextZ,l--):0!==l&&n?i.z<=n.z?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,l--):(r=i,i=i.nextZ,o--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,c*=2}while(a>1);return t}function m(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function y(t){var e=t,i=t;do{e.x<i.x&&(i=e),e=e.next}while(e!==t);return i}function v(t,e,i,n,r,s,a,o){return(r-a)*(e-o)-(t-a)*(s-o)>=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function g(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!C(t,e)&&T(t,e)&&T(e,t)&&S(t,e)}function b(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function A(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,i,n){return!!(A(t,e)&&A(i,n)||A(t,n)&&A(i,e))||b(t,e,i)>0!=b(t,e,n)>0&&b(i,n,t)>0!=b(i,n,e)>0}function C(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&x(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}function T(t,e){return b(t.prev,t,t.next)<0?b(t,e,t.next)>=0&&b(t,t.prev,e)>=0:b(t,e,t.prev)<0||b(t,t.next,e)<0}function S(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}function w(t,e){var i=new D(t.i,t.x,t.y),n=new D(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function E(t,e,i,n){var r=new D(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function D(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function B(t,e,i,n){for(var r=0,s=e,a=i-n;s<i;s+=n)r+=(t[a]-t[s])*(t[s+1]+t[a+1]),a=s;return r}cc.Graphics.earcut=e.exports=i,i.deviation=function(t,e,i,n){var r=e&&e.length,s=r?e[0]*i:t.length,a=Math.abs(B(t,0,s,i));if(r)for(var o=0,l=e.length;o<l;o++){var c=e[o]*i,h=o<l-1?e[o+1]*i:t.length;a-=Math.abs(B(t,c,h,i))}var u=0;for(o=0;o<n.length;o+=3){var _=n[o]*i,f=n[o+1]*i,d=n[o+2]*i;u+=Math.abs((t[_]-t[d])*(t[f+1]-t[_+1])-(t[_]-t[f])*(t[d+1]-t[_+1]))}return 0===a&&0===u?0:Math.abs((u-a)/a)},i.flatten=function(t){for(var e=t[0][0].length,i={vertices:[],holes:[],dimensions:e},n=0,r=0;r<t.length;r++){for(var s=0;s<t[r].length;s++)for(var a=0;a<e;a++)i.vertices.push(t[r][s][a]);r>0&&(n+=t[r-1].length,i.holes.push(n))}return i}}),{}],280:[(function(t,e){"use strict";var i=t("../../../../graphics/helper"),n=t("../../../../graphics/types").PointFlags,r=cc.Graphics.Point=cc.Class({name:"cc.GraphicsPoint",extends:cc.Vec2,ctor:function(){this.reset()},reset:function(){this.dx=0,this.dy=0,this.dmx=0,this.dmy=0,this.flags=0,this.len=0}});function s(){this.reset()}function a(){this._tessTol=.25,this._distTol=.01,this._updatePathOffset=!1,this._paths=null,this._pathLength=0,this._pathOffset=0,this._points=null,this._pointsOffset=0,this._commandx=0,this._commandy=0,this._paths=[],this._points=[]}cc.js.mixin(s.prototype,{reset:function(){this.closed=!1,this.nbevel=0,this.complex=!0,this.points?this.points.length=0:this.points=[]}}),cc.js.mixin(a.prototype,{moveTo:function(t,e){this._updatePathOffset&&(this._pathOffset=this._pathLength,this._updatePathOffset=!1),this._addPath(),this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},lineTo:function(t,e){this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},bezierCurveTo:function(t,e,r,s,a,o){var l=this._curPath,c=l.points[l.points.length-1];c.x!==t||c.y!==e||r!==a||s!==o?(i.tesselateBezier(this,c.x,c.y,t,e,r,s,a,o,0,n.PT_CORNER),this._commandx=a,this._commandy=o):this.lineTo(a,o)},quadraticCurveTo:function(t,e,i,n){var r=this._commandx,s=this._commandy;this.bezierCurveTo(r+2/3*(t-r),s+2/3*(e-s),i+2/3*(t-i),n+2/3*(e-n),i,n)},arc:function(t,e,n,r,s,a){i.arc(this,t,e,n,r,s,a)},ellipse:function(t,e,n,r){i.ellipse(this,t,e,n,r),this._curPath.complex=!1},circle:function(t,e,n){i.ellipse(this,t,e,n,n),this._curPath.complex=!1},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close(),this._curPath.complex=!1},roundRect:function(t,e,n,r,s){i.roundRect(this,t,e,n,r,s),this._curPath.complex=!1},clear:function(t){this._pathLength=0,this._pathOffset=0,this._pointsOffset=0,this._curPath=null,t&&(this._paths.length=0,this._points.length=0)},close:function(){this._curPath.closed=!0},_addPath:function(){var t=this._pathLength,e=this._paths[t];return e?e.reset():(e=new s,this._paths.push(e)),this._pathLength++,this._curPath=e,e},_addPoint:function(t,e,i){var n=this._curPath;if(n){var s,a=this._points,o=n.points;(s=a[this._pointsOffset++])?(s.x=t,s.y=e):(s=new r(t,e),a.push(s)),s.flags=i,o.push(s)}}}),cc.Graphics._Impl=a,e.exports=a}),{"../../../../graphics/helper":202,"../../../../graphics/types":204}],281:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=s(t("../../../../../renderer/core/input-assembler"));function s(t){return t&&t.__esModule?t:{default:t}}var a=t("../../mesh-buffer"),o=t("../../../index"),l=t("../../../../graphics/graphics"),c=t("../../../../graphics/types").PointFlags,h=l.LineJoin,u=l.LineCap,_=t("./earcut");t("./impl");var f=Math.PI,d=Math.min,p=Math.max,m=Math.ceil,y=Math.acos,v=Math.cos,g=Math.sin,b=Math.atan2;function A(t,e,i){return t<e?e:t>i?i:t}var x=cc.gfx,C=new x.VertexFormat([{name:x.ATTR_POSITION,type:x.ATTR_TYPE_FLOAT32,num:2},{name:x.ATTR_COLOR,type:x.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:"a_dist",type:x.ATTR_TYPE_FLOAT32,num:1}]);C.name="vfmtPosColorSdf";var T=(function(t){var e,i;function n(e){var i;return(i=t.call(this,e)||this)._buffer=null,i._buffers=[],i._bufferOffset=0,i}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=n.prototype;return s.getVfmt=function(){return C},s.getVfmtFloatCount=function(){return 4},s.requestBuffer=function(){var t={indiceStart:0,vertexStart:0},e=new a(o._handle,this.getVfmt());t.meshbuffer=e;var i=new r.default(e._vb,e._ib);return t.ia=i,this._buffers.push(t),t},s.getBuffers=function(){return 0===this._buffers.length&&this.requestBuffer(),this._buffers},s.clear=function(t){this._bufferOffset=0;var e=this._buffers;if(t){for(var i=0,n=e.length;i<n;i++){var r=e[i];r.meshbuffer.destroy(),r.meshbuffer=null}e.length=0}else for(var s=0,a=e.length;s<a;s++){var o=e[s];o.indiceStart=0,o.vertexStart=0,o.meshbuffer.reset()}},s.fillBuffers=function(t,e){e._flush(),e.node=t.node,e.material=t._materials[0];for(var i=this.getBuffers(),n=0,r=i.length;n<r;n++){var s=i[n],a=s.meshbuffer;s.ia._count=s.indiceStart,e._flushIA(s.ia),a.uploadData()}},s.genBuffer=function(t,e){var i=this.getBuffers(),n=i[this._bufferOffset],r=n.meshbuffer,s=n.vertexStart+e;return(s>65535||3*s>131070)&&(++this._bufferOffset,s=e,this._bufferOffset<i.length?n=i[this._bufferOffset]:(n=this.requestBuffer(t),i[this._bufferOffset]=n),r=n.meshbuffer),s>r.vertexOffset&&r.requestStatic(e,3*e),this._buffer=n,n},s.stroke=function(t){this._curColor=t._strokeColor._val,this._flattenPaths(t._impl),this._expandStroke(t),t._impl._updatePathOffset=!0},s.fill=function(t){this._curColor=t._fillColor._val,this._expandFill(t),t._impl._updatePathOffset=!0},s._expandStroke=function(t){var e,i,n,r,s=.5*t.lineWidth,a=t.lineCap,o=t.lineJoin,l=t.miterLimit,_=t._impl,d=(e=s,i=f,n=_._tessTol,r=2*y(e/(e+n)),p(2,m(i/r)));this._calculateJoins(_,s,o,l);for(var v=_._paths,g=0,b=_._pathOffset,A=_._pathLength;b<A;b++){var x=v[b],C=x.points.length;o===h.ROUND?g+=2*(C+x.nbevel*(d+2)+1):g+=2*(C+5*x.nbevel+1),x.closed||(a===u.ROUND?g+=2*(2*d+2):g+=12)}for(var T=this.genBuffer(t,g),S=T.meshbuffer,w=S._vData,E=S._iData,M=_._pathOffset,D=_._pathLength;M<D;M++){var B,I=v[M],P=I.points,R=P.length,O=T.vertexStart,L=void 0,F=void 0,V=void 0,N=void 0;if((B=I.closed)?(L=P[R-1],F=P[0],V=0,N=R):(L=P[0],F=P[1],V=1,N=R-1),F=F||L,!B){var k=F.sub(L);k.normalizeSelf();var z=k.x,G=k.y;a===u.BUTT?this._buttCapStart(L,z,G,s,0):a===u.SQUARE?this._buttCapStart(L,z,G,s,s):a===u.ROUND&&this._roundCapStart(L,z,G,s,d)}for(var U=V;U<N;++U)o===h.ROUND?this._roundJoin(L,F,s,s,d):0!=(F.flags&(c.PT_BEVEL|c.PT_INNERBEVEL))?this._bevelJoin(L,F,s,s):(this._vset(F.x+F.dmx*s,F.y+F.dmy*s,1),this._vset(F.x-F.dmx*s,F.y-F.dmy*s,-1)),L=F,F=P[U+1];if(B){var j=this.getVfmtFloatCount(),H=O*j;this._vset(w[H],w[H+1],1),this._vset(w[H+j],w[H+j+1],-1)}else{var W=F.sub(L);W.normalizeSelf();var X=W.x,Y=W.y;a===u.BUTT?this._buttCapEnd(F,X,Y,s,0):a===u.SQUARE?this._buttCapEnd(F,X,Y,s,s):a===u.ROUND&&this._roundCapEnd(F,X,Y,s,d)}for(var q=T.indiceStart,J=O+2,Z=T.vertexStart;J<Z;J++)E[q++]=J-2,E[q++]=J-1,E[q++]=J;T.indiceStart=q}},s._expandFill=function(t){for(var e=t._impl,i=e._paths,n=0,r=e._pathOffset,s=e._pathLength;r<s;r++)n+=i[r].points.length;for(var a=this.genBuffer(t,n),o=a.meshbuffer,l=o._vData,c=o._iData,h=e._pathOffset,u=e._pathLength;h<u;h++){var f=i[h],d=f.points,p=d.length;if(0!==p){for(var m=a.vertexStart,y=0;y<p;++y)this._vset(d[y].x,d[y].y);var v=a.indiceStart;if(f.complex){for(var g=[],b=this.getVfmtFloatCount(),A=m,x=a.vertexStart;A<x;A++){var C=A*b;g.push(l[C]),g.push(l[C+1])}var T=_(g,null,2);if(!T||0===T.length)continue;for(var S=0,w=T.length;S<w;S++)c[v++]=T[S]+m}else for(var E=m,M=m+2,D=a.vertexStart;M<D;M++)c[v++]=E,c[v++]=M-1,c[v++]=M;a.indiceStart=v}}},s._calculateJoins=function(t,e,i,n){var r=0;e>0&&(r=1/e);for(var s=t._paths,a=t._pathOffset,o=t._pathLength;a<o;a++){var l=s[a],u=l.points,_=u.length,f=u[_-1],m=u[0];l.nbevel=0;for(var y=0;y<_;y++){var v,g,b=f.dy,A=-f.dx,x=m.dy,C=-m.dx;if(m.dmx=.5*(b+x),m.dmy=.5*(A+C),(v=m.dmx*m.dmx+m.dmy*m.dmy)>1e-6){var T=1/v;T>600&&(T=600),m.dmx*=T,m.dmy*=T}m.dx*f.dy-f.dx*m.dy>0&&(m.flags|=c.PT_LEFT),v*(g=p(11,d(f.len,m.len)*r))*g<1&&(m.flags|=c.PT_INNERBEVEL);var S=m.dmx*e,w=m.dmy*e,E=S*S+w*w;(E>m.len*m.len||E>f.len*f.len)&&(m.flags|=c.PT_INNERBEVEL),m.flags&c.PT_CORNER&&(v*n*n<1||i===h.BEVEL||i===h.ROUND)&&(m.flags|=c.PT_BEVEL),0!=(m.flags&(c.PT_BEVEL|c.PT_INNERBEVEL))&&l.nbevel++,f=m,m=u[y+1]}}},s._flattenPaths=function(t){for(var e=t._paths,i=t._pathOffset,n=t._pathLength;i<n;i++){var r=e[i],s=r.points,a=s[s.length-1],o=s[0];s.length>2&&a.equals(o)&&(r.closed=!0,s.pop(),a=s[s.length-1]);for(var l=0,c=s.length;l<c;l++){var h=o.sub(a);a.len=h.mag(),(h.x||h.y)&&h.normalizeSelf(),a.dx=h.x,a.dy=h.y,a=o,o=s[l+1]}}},s._chooseBevel=function(t,e,i,n){var r,s,a,o,l=i.x,c=i.y;return 0!==t?(r=l+e.dy*n,s=c-e.dx*n,a=l+i.dy*n,o=c-i.dx*n):(r=a=l+i.dmx*n,s=o=c+i.dmy*n),[r,s,a,o]},s._buttCapStart=function(t,e,i,n,r){var s=t.x-e*r,a=t.y-i*r,o=i,l=-e;this._vset(s+o*n,a+l*n,1),this._vset(s-o*n,a-l*n,-1)},s._buttCapEnd=function(t,e,i,n,r){var s=t.x+e*r,a=t.y+i*r,o=i,l=-e;this._vset(s+o*n,a+l*n,1),this._vset(s-o*n,a-l*n,-1)},s._roundCapStart=function(t,e,i,n,r){for(var s=t.x,a=t.y,o=i,l=-e,c=0;c<r;c++){var h=c/(r-1)*f,u=v(h)*n,_=g(h)*n;this._vset(s-o*u-e*_,a-l*u-i*_,1),this._vset(s,a,0)}this._vset(s+o*n,a+l*n,1),this._vset(s-o*n,a-l*n,-1)},s._roundCapEnd=function(t,e,i,n,r){var s=t.x,a=t.y,o=i,l=-e;this._vset(s+o*n,a+l*n,1),this._vset(s-o*n,a-l*n,-1);for(var c=0;c<r;c++){var h=c/(r-1)*f,u=v(h)*n,_=g(h)*n;this._vset(s,a,0),this._vset(s-o*u+e*_,a-l*u+i*_,1)}},s._roundJoin=function(t,e,i,n,r){var s=t.dy,a=-t.dx,o=e.dy,l=-e.dx,h=e.x,u=e.y;if(0!=(e.flags&c.PT_LEFT)){var _=this._chooseBevel(e.flags&c.PT_INNERBEVEL,t,e,i),d=_[0],p=_[1],y=_[2],x=_[3],C=b(-a,-s),T=b(-l,-o);T>C&&(T-=2*f),this._vset(d,p,1),this._vset(h-s*n,e.y-a*n,-1);for(var S=A(m((C-T)/f)*r,2,r),w=0;w<S;w++){var E=C+w/(S-1)*(T-C),M=h+v(E)*n,D=u+g(E)*n;this._vset(h,u,0),this._vset(M,D,-1)}this._vset(y,x,1),this._vset(h-o*n,u-l*n,-1)}else{var B=this._chooseBevel(e.flags&c.PT_INNERBEVEL,t,e,-n),I=B[0],P=B[1],R=B[2],O=B[3],L=b(a,s),F=b(l,o);F<L&&(F+=2*f),this._vset(h+s*n,u+a*n,1),this._vset(I,P,-1);for(var V=A(m((F-L)/f)*r,2,r),N=0;N<V;N++){var k=L+N/(V-1)*(F-L),z=h+v(k)*i,G=u+g(k)*i;this._vset(z,G,1),this._vset(h,u,0)}this._vset(h+o*n,u+l*n,1),this._vset(R,O,-1)}},s._bevelJoin=function(t,e,i,n){var r,s,a,o,l,h,u,_,f=t.dy,d=-t.dx,p=e.dy,m=-e.dx;if(e.flags&c.PT_LEFT){var y=this._chooseBevel(e.flags&c.PT_INNERBEVEL,t,e,i);l=y[0],h=y[1],u=y[2],_=y[3],this._vset(l,h,1),this._vset(e.x-f*n,e.y-d*n,-1),this._vset(u,_,1),this._vset(e.x-p*n,e.y-m*n,-1)}else{var v=this._chooseBevel(e.flags&c.PT_INNERBEVEL,t,e,-n);r=v[0],s=v[1],a=v[2],o=v[3],this._vset(e.x+f*i,e.y+d*i,1),this._vset(r,s,-1),this._vset(e.x+p*i,e.y+m*i,1),this._vset(a,o,-1)}},s._vset=function(t,e,i){void 0===i&&(i=0);var n=this._buffer,r=n.meshbuffer,s=n.vertexStart*this.getVfmtFloatCount(),a=r._vData,o=r._uintVData;a[s]=t,a[s+1]=e,o[s+2]=this._curColor,a[s+3]=i,n.vertexStart++,r._dirty=!0},n})(n.default);i.default=T,n.default.register(cc.Graphics,T),e.exports=i.default}),{"../../../../../renderer/core/input-assembler":361,"../../../../graphics/graphics":201,"../../../../graphics/types":204,"../../../assembler":267,"../../../index":270,"../../mesh-buffer":307,"./earcut":279,"./impl":280}],282:[(function(t){"use strict";cc.assemblers={},t("./sprite"),t("./mask-assembler"),t("./graphics"),t("./label"),t("./motion-streak")}),{"./graphics":281,"./label":290,"./mask-assembler":291,"./motion-streak":292,"./sprite":305}],283:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../utils/label/bmfont"))&&n.__esModule?n:{default:n},s=0,a=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt())},r._reserveQuads=function(t,e){var i=4*e,n=6*e,r=this._renderData._flexBuffer;r.reserve(i,n),r.used(i,n);for(var a=this._renderData.iDatas[0],o=0,l=0,c=n;o<c;o+=6,l+=4)a[o]=l,a[o+1]=l+1,a[o+2]=l+2,a[o+3]=l+1,a[o+4]=l+3,a[o+5]=l+2;s=0},r._quadsUpdated=function(){s=0,this._renderData._flexBuffer.used(this.verticesCount,this.indicesCount)},r._getColor=function(t){return t.node._color._val},r.appendQuad=function(t,e,i,n,r,a,o){var l=this._renderData,c=l.vDatas[0],h=l.uintVDatas[0];this.verticesCount+=4,this.indicesCount=this.verticesCount/2*3;var u,_,f,d,p=e.width,m=e.height,y=i.width,v=i.height,g=this._getColor(t),b=this.floatsPerVert,A=s+this.uvOffset;n?(u=i.x/p,f=(i.x+v)/p,_=(i.y+y)/m,d=i.y/m,c[A]=u,c[A+1]=d,c[A+=b]=u,c[A+1]=_,c[A+=b]=f,c[A+1]=d,c[A+=b]=f,c[A+1]=_):(u=i.x/p,f=(i.x+y)/p,_=(i.y+v)/m,d=i.y/m,c[A]=u,c[A+1]=_,c[A+=b]=f,c[A+1]=_,c[A+=b]=u,c[A+1]=d,c[A+=b]=f,c[A+1]=d),u=r,f=r+y*o,_=a-v*o,d=a,this.appendVerts(t,s,u,f,_,d);for(var x=s+this.colorOffset,C=0;C<4;C++)h[x]=g,x+=b;s+=4*this.floatsPerVert},r.appendVerts=function(t,e,i,n,r,s){var a=this._local,o=this.floatsPerVert;a[e]=i,a[e+1]=r,a[e+=o]=n,a[e+1]=r,a[e+=o]=i,a[e+1]=s,a[e+=o]=n,a[e+1]=s},r.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],l=this._local,c=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<l.length;u+=h){var _=l[u],f=l[u+1];c[u]=_*i+f*r+a,c[u+1]=_*n+f*s+o}},n})(r.default);i.default=a,e.exports=i.default}),{"../../../../utils/label/bmfont":274}],284:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,t("../../../../../platform/js"),t("./bmfont");var n=t("../../../../utils/label/letter-font"),r=cc.color(255,255,255,255),s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=n.prototype;return s.createData=function(t){return t.requestRenderData()},s._getColor=function(t){return r._fastSetA(t.node._color.a),r._val},s.updateColor=function(e){var i=this._getColor(e);t.prototype.updateColor.call(this,e,i)},n})(n);i.default=s,e.exports=i.default}),{"../../../../../platform/js":259,"../../../../utils/label/letter-font":276,"./bmfont":283}],285:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../assets/material/material-variant"))&&n.__esModule?n:{default:n};t("../../../../../components/CCLabel"),t("../../../../../components/CCLabelShadow"),t("../../../../../components/CCLabelOutline"),t("../../../../../assets/material/CCMaterial");var s=(function(){function t(){}var e=t.prototype;return e.init=function(t){this.labelMaterial=null,this._label=this._renderComp=t,renderer.CustomAssembler.prototype.ctor.call(this),t.node._proxy.setAssembler(this),this._layout=new jsb.LabelRenderer,this._layout.init(t),this._cfg=new DataView(this._layout._cfg),this._layoutInfo=new DataView(this._layout._layout),this._cfgFields=jsb.LabelRenderer._cfgFields,this._layoutFields=jsb.LabelRenderer._layoutFields,this._layout.bindNodeProxy(t.node._proxy),this._bindMaterial(t)},e._setBufferFlag=function(t,e,i,n,r){if("int8"==n&&1==i){var s=t.getInt8(e);t.setInt8(e,r|s)}else if("int32"==n&&4==i){var a=t.getInt32(e,jsb.__isLittleEndian__);t.setInt32(e,r|a,jsb.__isLittleEndian__)}else cc.warn("flag storage type should be int8/int32 only, type/size -> "+n+"/"+i+".")},e._updateCfgFlag=function(t){var e=this._cfgFields.updateFlags;this._setBufferFlag(this._cfg,e.offset,e.size,e.type,t)},e._setBufferValue=function(t,e,i,n,r){"float"==n&&4==i?t.setFloat32(e,r,jsb.__isLittleEndian__):"int32"==n&&4==i?t.setInt32(e,r,jsb.__isLittleEndian__):"bool"==n&&1==i?t.setInt8(e,r?1:0,jsb.__isLittleEndian__):"Color4B"==n&&4==i?(t.setUint8(e,r.r),t.setUint8(e+1,r.g),t.setUint8(e+2,r.b),t.setUint8(e+3,r.a)):"int8"==n&&1==i?t.setUint8(e,r):cc.warn("dont know how to set value to buffer, type/size -> "+n+"/"+i+".")},e._setFieldValue=function(t,e,i,n){var r=e[i];this._setBufferValue(t,r.offset,r.size,r.type,n)},e._getBufferValue=function(t,e,i,n){return"float"==n&&4==i?t.getFloat32(e,jsb.__isLittleEndian__):"int32"==n&&4==i?t.getInt32(e,jsb.__isLittleEndian__):"bool"==n&&1==i?0!=t.getInt8(e,jsb.__isLittleEndian__):"Color4B"==n&&4==i?{r:t.getUint8(e),g:t.getUint8(e+1),b:t.getUint8(e+2),a:t.getUint8(e+3)}:"int8"==n&&1==i?t.getUint8(e):void cc.warn("dont know how to get value from buffer, type/size -> "+n+"/"+i+".")},e._getFieldValue=function(t,e,i){var n=e[i];return this._getBufferValue(t,n.offset,n.size,n.type)},e._getLayoutValue=function(t){return this._getFieldValue(this._layoutInfo,this._layoutFields,t)},e._setLayoutValue=function(t,e){return this._setFieldValue(this._layoutInfo,this._layoutFields,t,e)},e._updateCfgFlag_Content=function(){this._updateCfgFlag(1)},e._updateCfgFlag_Font=function(){this._updateCfgFlag(2)},e._colorEqual=function(t,e){return t.r==e.r&&t.g==e.g&&t.b==e.b&&t.a==e.a},e._colorToObj=function(t,e,i,n){return{r:t,g:e,b:i,a:n}},e.setString=function(t){t!=this._layout.string&&(this._layout.string=t,this._updateCfgFlag_Content())},e.setFontPath=function(t){t!=this._layout.fontPath&&(this._layout.fontPath=t,this._updateCfgFlag_Font())},e.setFontSize=function(t,e){this._getFieldValue(this._cfg,this._cfgFields,"fontSize")!=t&&(this._setFieldValue(this._cfg,this._cfgFields,"fontSize",t),this._setFieldValue(this._cfg,this._cfgFields,"fontSizeRetina",e),this._updateCfgFlag_Font())},e.setOutline=function(t){var e=this._getLayoutValue("outlineSize");e>0!=t>0&&this._updateCfgFlag_Font(),e!=t&&(this._updateCfgFlag_Content(),this._setLayoutValue("outlineSize",t))},e.setOutlineColor=function(t){var e=this._getLayoutValue("outlineColor");this._colorEqual(e,t)||(this._setLayoutValue("outlineColor",t),this._updateCfgFlag_Content())},e.setLineHeight=function(t){this._getLayoutValue("lineHeight")!=t&&(this._setLayoutValue("lineHeight",t),this._updateCfgFlag_Content())},e.setOverFlow=function(t){this._getLayoutValue("overflow")!=t&&(this._setLayoutValue("overflow",t),this._updateCfgFlag_Content())},e.setEnableWrap=function(t){this._getLayoutValue("wrap")!=t&&(this._setLayoutValue("wrap",t),this._updateCfgFlag_Content())},e.setVerticalAlign=function(t){this._getLayoutValue("valign")!=t&&(this._setLayoutValue("valign",t),this._updateCfgFlag_Content())},e.setHorizontalAlign=function(t){this._getLayoutValue("halign")!=t&&(this._setLayoutValue("halign",t),this._updateCfgFlag_Content())},e.setContentSize=function(t,e){var i=this._getLayoutValue("width"),n=this._getLayoutValue("height");i==t&&n==e||(this._setLayoutValue("height",e),this._setLayoutValue("width",t),this._updateCfgFlag_Content())},e.setAnchorPoint=function(t,e){var i=this._getLayoutValue("anchorX"),n=this._getLayoutValue("anchorY");i==t&&n==e||(this._setLayoutValue("anchorX",t),this._setLayoutValue("anchorY",e),this._updateCfgFlag_Content())},e.setColor=function(t){var e=this._getLayoutValue("color");this._colorEqual(e,t)||(this._setLayoutValue("color",t),this._updateCfgFlag_Content())},e.setShadow=function(t,e,i){var n=this._getLayoutValue("shadowBlur"),r=this._getLayoutValue("shadowX"),s=this._getLayoutValue("shadowY");n>0!=i>0&&this._updateCfgFlag_Font();var a=!1;n!=i&&(this._setLayoutValue("shadowBlur",i),a=!0),r!=t&&(this._setLayoutValue("shadowX",t),a=!0),s!=e&&(this._setLayoutValue("shadowY",e),a=!0),a&&this._updateCfgFlag_Content()},e.setShadowColor=function(t){var e=this._getLayoutValue("shadowColor");this._colorEqual(e,t)||(this._setLayoutValue("shadowColor",t),this._updateCfgFlag_Content())},e.setItalic=function(t){this._getLayoutValue("italic")!=t&&(this._setLayoutValue("italic",t),this._updateCfgFlag_Content())},e.setBold=function(t){this._getLayoutValue("bold")!=t&&(this._setLayoutValue("bold",t),this._updateCfgFlag_Content(),this._updateCfgFlag_Font())},e.setUnderline=function(t){this._getLayoutValue("underline")!=t&&(this._setLayoutValue("underline",t),this._updateCfgFlag_Content())},e.setSpacingX=function(t){this._getLayoutValue("spaceX")==t||"number"!=typeof t||isNaN(t)||(this._setLayoutValue("spaceX",t),this._updateCfgFlag_Content())},e.updateRenderData=function(t){if(t._vertsDirty){t.font&&t.font.nativeUrl&&this.setFontPath(cc.assetManager.cacheManager.getCache(t.font.nativeUrl)||t.font.nativeUrl);var e=this._layout,i=t.node.color,n=t.node,r=t.fontSize;this.setString(t.string),this.setFontSize(t.fontSize,r/72*t.fontSize),this.setLineHeight(t.lineHeight),this.setEnableWrap(t.enableWrapText),this.setItalic(t.enableItalic),this.setUnderline(t.enableUnderline),this.setBold(t.enableBold),this.setOverFlow(t.overflow),this.setVerticalAlign(t.verticalAlign),this.setHorizontalAlign(t.horizontalAlign),this.setSpacingX(t.spacingX),this.setContentSize(n.getContentSize().width,n.getContentSize().height),this.setAnchorPoint(n.anchorX,n.anchorY),this.setColor(this._colorToObj(i.getR(),i.getG(),i.getB(),Math.ceil(i.getA()*n.opacity/255)));var s=n.getComponent(cc.LabelShadow);if(s&&s.enabled){var a=s.color;this.setShadow(s.offset.x,s.offset.y,s.blur),this.setShadowColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*n.opacity/255)))}else this.setShadow(0,0,-1);this._updateTTFMaterial(t),e.render()}},e._bindMaterial=function(t){var e=this.labelMaterial;return e||(e=r.default.createWithBuiltin("2d-label",t),this.labelMaterial=e),e},e._updateTTFMaterial=function(t){var e=this._bindMaterial(t),i=this._label.node,n=this._layout,r=i.getComponent(cc.LabelOutline),s=0;if(r&&r.enabled&&r.width>0){s=Math.max(Math.min(r.width/10,.4),.1);var a=r.color;this.setOutlineColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*i.opacity/255)))}this.setOutline(s),e.define("CC_USE_MODEL",!0),e.define("USE_TEXTURE_ALPHAONLY",!0),e.define("USE_SDF",s>0||t.enableBold),e.define("USE_SDF_EXTEND",t.enableBold?1:0),void 0!==e.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&e.define("CC_SUPPORT_standard_derivatives",!0),n.setEffect(e.effect._nativeObj)},e.fillBuffers=function(){this._layout.render()},e.getVfmt=function(){},t})();i.default=s,e.exports=i.default}),{"../../../../../assets/material/CCMaterial":123,"../../../../../assets/material/material-variant":130,"../../../../../components/CCLabel":150,"../../../../../components/CCLabelOutline":151,"../../../../../components/CCLabelShadow":152}],286:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../utils/label/ttf"))&&n.__esModule?n:{default:n},s=t("../../../../../components/CCLabelShadow"),a=cc.color(255,255,255,255),o=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t._frame.uv,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;s++){var a=2*s,o=r*s+n;e[o]=i[a],e[o+1]=i[a+1]}},r.updateColor=function(e){a._fastSetA(e.node._color.a);var i=a._val;t.prototype.updateColor.call(this,e,i)},r.updateVerts=function(t){var e=t.node,i=t._ttfTexture.width,n=t._ttfTexture.height,r=e.anchorX*e.width,a=e.anchorY*e.height,o=s&&t.getComponent(s);if(o&&o._enabled){var l=(i-e.width)/2,c=(n-e.height)/2,h=o.offset;-h.x>l?r+=i-e.width:l>h.x&&(r+=l-h.x),-h.y>c?a+=n-e.height:c>h.y&&(a+=c-h.y)}var u=this._local;u[0]=-r,u[1]=-a,u[2]=i-r,u[3]=n-a,this.updateUVs(t),this.updateWorldVerts(t)},n})(r.default);i.default=o,e.exports=i.default}),{"../../../../../components/CCLabelShadow":152,"../../../../utils/label/ttf":277}],287:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n},s=t("../../../../assembler-3d"),a=t("../2d/bmfont"),o=new r.default,l=new r.default,c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(a);i.default=c,cc.js.mixin(c.prototype,s,{updateWorldVerts:function(t){for(var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0],s=this.floatsPerVert,a=0;a<n.length;a+=s)r.default.set(o,i[a],i[a+1],0),r.default.transformMat4(l,o,e),n[a]=l.x,n[a+1]=l.y,n[a+2]=l.z}}),e.exports=i.default}),{"../../../../../value-types/vec3":348,"../../../../assembler-3d":265,"../2d/bmfont":283}],288:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n},s=t("../../../../assembler-3d"),a=t("../2d/letter"),o=new r.default,l=new r.default,c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(a);i.default=c,cc.js.mixin(c.prototype,s,{updateWorldVerts:function(t){for(var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0],s=this.floatsPerVert,a=0;a<n.length;a+=s)r.default.set(o,i[a],i[a+1],0),r.default.transformMat4(l,o,e),n[a]=l.x,n[a+1]=l.y,n[a+2]=l.z}}),e.exports=i.default}),{"../../../../../value-types/vec3":348,"../../../../assembler-3d":265,"../2d/letter":284}],289:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../../../assembler-3d"),r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(t("../2d/ttf"));i.default=r,cc.js.mixin(r.prototype,n),e.exports=i.default}),{"../../../../assembler-3d":265,"../2d/ttf":286}],290:[(function(t){"use strict";var e=c(t("../../../assembler")),i=c(t("../../../../components/CCLabel")),n=c(t("./2d/ttf")),r=c(t("./2d/bmfont")),s=c(t("./2d/letter")),a=c(t("./3d/ttf")),o=c(t("./3d/bmfont")),l=c(t("./3d/letter"));function c(t){return t&&t.__esModule?t:{default:t}}i.default._canvasPool={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas"),i=e.getContext("2d");t={canvas:e,context:i},i.textBaseline="alphabetic"}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}},e.default.register(cc.Label,{getConstructor:function(t){var e=t.node.is3DNode,c=e?a.default:n.default;return t.font instanceof cc.BitmapFont?c=e?o.default:r.default:t.cacheMode===i.default.CacheMode.CHAR&&(cc.sys.platform===cc.sys.WECHAT_GAME_SUB?cc.warn("sorry, subdomain does not support CHAR mode currently!"):c=e?l.default:s.default),c},TTF:n.default,Bmfont:r.default,Letter:s.default,TTF3D:a.default,Bmfont3D:o.default,Letter3D:l.default,NativeTTF:void 0})}),{"../../../../components/CCLabel":150,"../../../assembler":267,"./2d/bmfont":283,"./2d/letter":284,"./2d/nativeTTF":285,"./2d/ttf":286,"./3d/bmfont":287,"./3d/letter":288,"./3d/ttf":289}],291:[(function(t,e,i){"use strict";i.__esModule=!0,i.MaskAssembler=void 0;var n,r=(n=t("../../assembler"))&&n.__esModule?n:{default:n},s=t("../../../components/CCMask"),a=t("../../render-flow"),o=t("./sprite/2d/simple"),l=t("./graphics"),c=t("../../../../renderer/gfx"),h=t("../vertex-format").vfmtPos,u=8,_=[];function f(){return 1<<_.length-1}function d(){for(var t=0,e=0;e<_.length;++e)t+=1<<e;return t}function p(t,e,i,n,r,s){var a=t.effect,o=c.STENCIL_OP_KEEP,l=c.STENCIL_OP_KEEP;a.setStencil(c.STENCIL_ENABLE,e,n,r,i,o,l,s)}function m(t){_.length+1>u&&cc.errorID(9e3,u),_.push(t)}function y(t,e){0===_.length&&cc.errorID(9001),_.pop(),0===_.length?e._flushMaterial(t._exitMaterial):b(e)}function v(t,e){var i=c.DS_FUNC_NEVER,n=f(),r=n,s=n,a=t.inverted?c.STENCIL_OP_REPLACE:c.STENCIL_OP_ZERO;p(t._clearMaterial,i,a,n,r,s);var o=e.getBuffer("mesh",h),l=o.request(4,6),u=l.indiceOffset,_=l.byteOffset>>2,d=l.vertexOffset,m=o._vData,y=o._iData;m[_++]=-1,m[_++]=-1,m[_++]=-1,m[_++]=1,m[_++]=1,m[_++]=1,m[_++]=1,m[_++]=-1,y[u++]=d,y[u++]=d+3,y[u++]=d+1,y[u++]=d+1,y[u++]=d+3,y[u++]=d+2,e.node=e._dummyNode,e.material=t._clearMaterial,e._flush()}function g(t,e){var i=c.DS_FUNC_NEVER,n=f(),r=n,a=n,h=t.inverted?c.STENCIL_OP_ZERO:c.STENCIL_OP_REPLACE;p(t._materials[0],i,h,n,r,a),e.material=t._materials[0],t._type===s.Type.IMAGE_STENCIL?(e.node=e._dummyNode,o.prototype.fillBuffers.call(t._assembler,t,e),e._flush()):(e.node=t.node,l.prototype.fillBuffers.call(t._graphics._assembler,t._graphics,e))}function b(t){var e=c.DS_FUNC_EQUAL,i=c.STENCIL_OP_KEEP,n=d(),r=n,s=f(),a=_[_.length-1];p(a._enableMaterial,e,i,n,r,s),t._flushMaterial(a._enableMaterial)}var A=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.updateRenderData=function(t){t._type===s.Type.IMAGE_STENCIL?t.spriteFrame?o.prototype.updateRenderData.call(this,t):t.setMaterial(0,null):(t._graphics.setMaterial(0,t._materials[0]),l.prototype.updateRenderData.call(t._graphics._assembler,t._graphics,t._graphics))},r.fillBuffers=function(t,e){(t._type!==s.Type.IMAGE_STENCIL||t.spriteFrame)&&(m(t),v(t,e),g(t,e),b(e)),t.node._renderFlag|=a.FLAG_UPDATE_RENDER_DATA},r.postFillBuffers=function(t,e){(t._type!==s.Type.IMAGE_STENCIL||t.spriteFrame)&&y(t,e),t.node._renderFlag|=a.FLAG_UPDATE_RENDER_DATA},n})(o);i.MaskAssembler=A,r.default.register(s,A)}),{"../../../../renderer/gfx":371,"../../../components/CCMask":154,"../../assembler":267,"../../render-flow":271,"../vertex-format":312,"./graphics":281,"./sprite/2d/simple":296}],292:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n},s=t("../../../components/CCMotionStreak"),a=t("../../render-flow");function o(t,e){this.point=t||cc.v2(),this.dir=e||cc.v2(),this.distance=0,this.time=0}o.prototype.setPoint=function(t,e){this.point.x=t,this.point.y=e},o.prototype.setDir=function(t,e){this.dir.x=t,this.dir.y=e},cc.v2(),cc.v2();var l=cc.v2(),c=cc.v2();function h(t,e){return t.x=-e.y,t.y=e.x,t}var u=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,16,42)},r.update=function(t,e){var i,n=t._stroke/2,r=t.node._worldMatrix.m,s=r[12],a=r[13],u=t._points;if(u.length>1){var _=u[0].point.x-s,f=u[0].point.y-a;_*_+f*f<t.minSeg&&(i=u[0])}i||(i=new o,u.splice(0,0,i)),i.setPoint(s,a),i.time=t._fadeTime+e;var d,p=0;if(!(u.length<2)){var m=t._color,y=m.r,v=m.g,g=m.b,b=m.a,A=u[1];A.distance=i.point.sub(A.point,c).mag(),c.normalizeSelf(),A.setDir(c.x,c.y),i.setDir(c.x,c.y);var x=this._renderData._flexBuffer;x.reserve(2*u.length,6*(u.length-1));for(var C=x.vData,T=x.uintVData,S=t._fadeTime,w=!1,E=u.length-1;E>=0;E--){var M=u[E],D=M.point,B=M.dir;if(M.time-=e,M.time<0)u.splice(E,1);else{var I=M.time/S,P=u[E-1];if(!w){if(!P){u.splice(E,1);continue}D.x=P.point.x-B.x*I,D.y=P.point.y-B.y*I}w=!0,h(l,B);var R=(I*b<<24>>>0)+(g<<16)+(v<<8)+y,O=5*p;C[O]=D.x+l.x*n,C[O+1]=D.y+l.y*n,C[O+2]=1,C[O+3]=I,T[O+4]=R,C[O+=5]=D.x-l.x*n,C[O+1]=D.y-l.y*n,C[O+2]=0,C[O+3]=I,T[O+4]=R,p+=2}}d=p<=2?0:3*(p-2),x.used(p,d)}},r.fillBuffers=function(t,e){var i=this._renderData._flexBuffer,n=i.vData,r=i.usedVertices,s=i.usedIndices,o=i.usedVerticesFloats,l=e._meshBuffer,c=l.request(r,s),h=c.byteOffset>>2,u=l._vData;n.length+h>u.length?u.set(n.subarray(0,o),h):u.set(n,h);for(var _=l._iData,f=c.indiceOffset,d=c.vertexOffset,p=0,m=r;p<m;p+=2){var y=d+p;_[f++]=y,_[f++]=y+2,_[f++]=y+1,_[f++]=y+1,_[f++]=y+2,_[f++]=y+3}t.node._renderFlag|=a.FLAG_UPDATE_RENDER_DATA},n})(r.default);i.default=u,u.register(s,u),e.exports=i.default}),{"../../../components/CCMotionStreak":155,"../../assembler-2d":264,"../../render-flow":271}],293:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n},s=t("../../../../../components/CCSprite").FillType,a=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.updateRenderData=function(t){var e=t._spriteFrame;if(this.packToDynamicAtlas(t,e),t._vertsDirty){var i=t._fillStart,n=t._fillRange;n<0&&(i+=n,n=-n),n=(n=(n=i+n)>1?1:n)<0?0:n;var r=(i=(i=i>1?1:i)<0?0:i)+(n=(n-=i)<0?0:n);r=r>1?1:r,this.updateUVs(t,i,r),this.updateVerts(t,i,r),t._vertsDirty=!1}},r.updateUVs=function(t,e,i){var n,r,a,o,l,c,h,u,_,f,d=t._spriteFrame,p=d._texture.width,m=d._texture.height,y=d._rect;d._rotated?(n=y.x/p,r=(y.y+y.width)/m,a=l=n,h=_=(y.x+y.height)/p,c=f=r,o=u=y.y/m):(n=y.x/p,r=(y.y+y.height)/m,a=h=n,l=_=(y.x+y.width)/p,o=c=r,u=f=y.y/m);var v=this._renderData.vDatas[0],g=this.uvOffset,b=this.floatsPerVert;switch(t._fillType){case s.HORIZONTAL:v[g]=a+(l-a)*e,v[g+1]=o+(c-o)*e,v[g+b]=a+(l-a)*i,v[g+b+1]=o+(c-o)*i,v[g+2*b]=h+(_-h)*e,v[g+2*b+1]=u+(f-u)*e,v[g+3*b]=h+(_-h)*i,v[g+3*b+1]=u+(f-u)*i;break;case s.VERTICAL:v[g]=a+(h-a)*e,v[g+1]=o+(u-o)*e,v[g+b]=l+(_-l)*e,v[g+b+1]=c+(f-c)*e,v[g+2*b]=a+(h-a)*i,v[g+2*b+1]=o+(u-o)*i,v[g+3*b]=l+(_-l)*i,v[g+3*b+1]=c+(f-c)*i;break;default:cc.errorID(2626)}},r.updateVerts=function(t,e,i){var n,r=t.node,a=r.width,o=r.height,l=r.anchorX*a,c=r.anchorY*o,h=-l,u=-c,_=a-l,f=o-c;switch(t._fillType){case s.HORIZONTAL:n=h+(_-h)*i,h+=(_-h)*e,_=n;break;case s.VERTICAL:n=u+(f-u)*i,u+=(f-u)*e,f=n;break;default:cc.errorID(2626)}var d=this._local;d[0]=h,d[1]=u,d[2]=_,d[3]=f,this.updateWorldVerts(t)},n})(r.default);i.default=a,e.exports=i.default}),{"../../../../../components/CCSprite":165,"../../../../assembler-2d":264}],294:[(function(t,e,i){"use strict";var n;i.__esModule=!0,i.default=void 0;var r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt())},r.updateRenderData=function(t){this.packToDynamicAtlas(t,t._spriteFrame);var e=t.spriteFrame;if(e){var i=e.vertices;if(i){this.verticesCount=i.x.length,this.indicesCount=i.triangles.length;var n=this._renderData._flexBuffer;n.reserve(this.verticesCount,this.indicesCount)&&(this.updateColor(t),t._vertsDirty=!0),n.used(this.verticesCount,this.indicesCount),this.updateIndices(i.triangles),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),this.updateWorldVerts(t),t._vertsDirty=!1)}}},r.updateIndices=function(t){this._renderData.iDatas[0].set(t)},r.updateUVs=function(t){for(var e=t.spriteFrame.vertices,i=e.nu,n=e.nv,r=this.uvOffset,s=this.floatsPerVert,a=this._renderData.vDatas[0],o=0;o<i.length;o++){var l=s*o+r;a[l]=i[o],a[l+1]=n[o]}},r.updateVerts=function(t){var e=t.node,i=Math.abs(e.width),n=Math.abs(e.height),r=e.anchorX*i,s=e.anchorY*n,a=t.spriteFrame,o=a.vertices,l=o.x,c=o.y,h=a._originalSize.width,u=a._originalSize.height,_=a._rect.width,f=a._rect.height,d=a._offset.x+(h-_)/2,p=a._offset.y+(u-f)/2,m=i/(t.trim?_:h),y=n/(t.trim?f:u),v=this._local;if(t.trim)for(var g=0,b=l.length;g<b;g++){var A=2*g;v[A]=(l[g]-d)*m-r,v[A+1]=(u-c[g]-p)*y-s}else for(var x=0,C=l.length;x<C;x++){var T=2*x;v[T]=l[x]*m-r,v[T+1]=(u-c[x])*y-s}if(a._flipX)for(var S=0,w=this.verticesCount;S<w;S++)v[2*S]=i-v[2*S]-2*r;if(a._flipY)for(var E=0,M=this.verticesCount;E<M;E++)v[2*E+1]=n-v[2*E+1]-2*s},r.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],l=this._local,c=this._renderData.vDatas[0],h=this.floatsPerVert,u=0,_=this.verticesCount;u<_;u++){var f=l[2*u],d=l[2*u+1];c[h*u]=f*i+d*r+a,c[h*u+1]=f*n+d*s+o}},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=r,e.exports=i.default}),{"../../../../assembler-2d":264}],295:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n},s=2*Math.PI,a=[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],o=[0,0,0,0],l=[0,0,0,0,0,0,0,0],c=[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],h=[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],u=cc.v2(0,0),_=[];function f(t,e,i,n,r,s,a){var o,l,c=Math.sin(s),h=Math.cos(s);if(0!==Math.cos(s)){if(o=c/h,(t-r.x)*h>0){var u=r.y+o*(t-r.x);a[0].x=t,a[0].y=u}if((e-r.x)*h>0){var _=r.y+o*(e-r.x);a[2].x=e,a[2].y=_}}if(0!==Math.sin(s)){if(l=h/c,(n-r.y)*c>0){var f=r.x+l*(n-r.y);a[3].x=f,a[3].y=n}if((i-r.y)*c>0){var d=r.x+l*(i-r.y);a[1].x=d,a[1].y=i}}}function d(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,l=-r,c=-s,h=i-r,f=n-s,d=o;d[0]=l,d[1]=c,d[2]=h,d[3]=f;var p=t._fillCenter,m=u.x=Math.min(Math.max(0,p.x),1)*(h-l)+l,y=u.y=Math.min(Math.max(0,p.y),1)*(f-c)+c;a[0].x=a[3].x=l,a[1].x=a[2].x=h,a[0].y=a[1].y=c,a[2].y=a[3].y=f,_.length=0,m!==d[0]&&(_[0]=[3,0]),m!==d[2]&&(_[2]=[1,2]),y!==d[1]&&(_[1]=[0,1]),y!==d[3]&&(_[3]=[2,3])}function p(t,e){var i,n;if(i=e.x-t.x,n=e.y-t.y,0!==i||0!==n){if(0===i)return n>0?.5*Math.PI:1.5*Math.PI;var r=Math.atan(n/i);return i<0&&(r+=Math.PI),r}}var m=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt()),this.updateIndices()},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e);var i,n,r,a,_,p,m,y,v,g=e.spriteFrame;if(this.packToDynamicAtlas(e,g),e._vertsDirty){var b=e._fillStart,A=e._fillRange;for(A<0&&(b+=A,A=-A);b>=1;)b-=1;for(;b<0;)b+=1;b*=s,A*=s,d(e),p=(i=g)._texture.width,m=i._texture.height,y=i._rect,v=l,i._rotated?(n=y.x/p,r=(y.x+y.height)/p,a=y.y/m,_=(y.y+y.width)/m,v[0]=v[2]=n,v[4]=v[6]=r,v[3]=v[7]=_,v[1]=v[5]=a):(n=y.x/p,r=(y.x+y.width)/p,a=y.y/m,_=(y.y+y.height)/m,v[0]=v[4]=n,v[2]=v[6]=r,v[1]=v[3]=_,v[5]=v[7]=a),f(o[0],o[2],o[1],o[3],u,b,c),f(o[0],o[2],o[1],o[3],u,b+A,h),this.updateVerts(e,b,A),e._vertsDirty=!1}},r.updateVerts=function(t,e,i){var n=e+i,r=this._local;r.length=0;for(var o=0,l=3*this.floatsPerVert,f=0;f<4;++f){var d=_[f];if(d)if(i>=s)r.length=o+l,this._generateTriangle(r,o,u,a[d[0]],a[d[1]]),o+=l;else{var m=p(u,a[d[0]]),y=p(u,a[d[1]]);y<m&&(y+=s),m-=s,y-=s;for(var v=0;v<3;++v)m>=n||(m>=e?(r.length=o+l,y>=n?this._generateTriangle(r,o,u,a[d[0]],h[f]):this._generateTriangle(r,o,u,a[d[0]],a[d[1]]),o+=l):y<=e||(y<=n?(r.length=o+l,this._generateTriangle(r,o,u,c[f],a[d[1]]),o+=l):(r.length=o+l,this._generateTriangle(r,o,u,c[f],h[f]),o+=l))),m+=s,y+=s}}this.allocWorldVerts(t),this.updateWorldVerts(t)},r.allocWorldVerts=function(t){var e=t.node._color._val,i=this._renderData,n=this.floatsPerVert,r=this._local,s=r.length/n;this.verticesCount=this.indicesCount=s;var a=i._flexBuffer;a.reserve(s,s)&&this.updateIndices(),a.used(this.verticesCount,this.indicesCount);for(var o=i.vDatas[0],l=i.uintVDatas[0],c=this.uvOffset,h=0;h<r.length;h+=n){var u=h+c;o[u]=r[u],o[u+1]=r[u+1],l[u+2]=e}},r.updateIndices=function(){for(var t=this._renderData.iDatas[0],e=0;e<t.length;e++)t[e]=e},r.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],l=this._local,c=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<l.length;u+=h){var _=l[u],f=l[u+1];c[u]=_*i+f*r+a,c[u+1]=_*n+f*s+o}},r._generateTriangle=function(t,e,i,n,r){var s=o,a=s[0],l=s[1],c=s[2],h=s[3],u=this.floatsPerVert;t[e]=i.x,t[e+1]=i.y,t[e+u]=n.x,t[e+u+1]=n.y,t[e+2*u]=r.x,t[e+2*u+1]=r.y;var _,f,d=this.uvOffset;_=(i.x-a)/(c-a),f=(i.y-l)/(h-l),this._generateUV(_,f,t,e+d),_=(n.x-a)/(c-a),f=(n.y-l)/(h-l),this._generateUV(_,f,t,e+u+d),_=(r.x-a)/(c-a),f=(r.y-l)/(h-l),this._generateUV(_,f,t,e+2*u+d)},r._generateUV=function(t,e,i,n){var r=l[0]+(l[2]-l[0])*t,s=l[4]+(l[6]-l[4])*t,a=l[1]+(l[3]-l[1])*t,o=l[5]+(l[7]-l[5])*t;i[n]=r+(s-r)*e,i[n+1]=a+(o-a)*e},n})(r.default);i.default=m,e.exports=i.default}),{"../../../../assembler-2d":264}],296:[(function(t,e,i){"use strict";var n;i.__esModule=!0,i.default=void 0;var r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.updateRenderData=function(t){this.packToDynamicAtlas(t,t._spriteFrame),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},r.updateUVs=function(t){for(var e=t._spriteFrame.uv,i=this.uvOffset,n=this.floatsPerVert,r=this._renderData.vDatas[0],s=0;s<4;s++){var a=2*s,o=n*s+i;r[o]=e[a],r[o+1]=e[a+1]}},r.updateVerts=function(t){var e,i,n,r,s=t.node,a=s.width,o=s.height,l=s.anchorX*a,c=s.anchorY*o;if(t.trim)e=-l,i=-c,n=a-l,r=o-c;else{var h=t.spriteFrame,u=h._originalSize.width,_=h._originalSize.height,f=h._rect.width,d=h._rect.height,p=h._offset,m=a/u,y=o/_,v=p.x+(u-f)/2,g=p.x-(u-f)/2;e=v*m-l,i=(p.y+(_-d)/2)*y-c,n=a+g*m-l,r=o+(p.y-(_-d)/2)*y-c}var b=this._local;b[0]=e,b[1]=i,b[2]=n,b[3]=r,this.updateWorldVerts(t)},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=r,e.exports=i.default}),{"../../../../assembler-2d":264}],297:[(function(t,e,i){"use strict";var n;i.__esModule=!0,i.default=void 0;var r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.initData=function(){if(!(this._renderData.meshCount>0)){this._renderData.createData(0,this.verticesFloats,this.indicesCount);for(var t=this._renderData.iDatas[0],e=0,i=0;i<3;++i)for(var n=0;n<3;++n){var r=4*i+n;t[e++]=r,t[e++]=r+1,t[e++]=r+4,t[e++]=r+1,t[e++]=r+5,t[e++]=r+4}}},r.initLocal=function(){this._local=[],this._local.length=8},r.updateRenderData=function(t){var e=t._spriteFrame;this.packToDynamicAtlas(t,e),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},r.updateVerts=function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=t.spriteFrame,o=a.insetLeft,l=a.insetRight,c=a.insetTop,h=a.insetBottom,u=i-o-l,_=n-c-h,f=i/(o+l),d=n/(c+h);f=isNaN(f)||f>1?1:f,d=isNaN(d)||d>1?1:d,u=u<0?0:u,_=_<0?0:_;var p=this._local;p[0]=-r,p[1]=-s,p[2]=o*f-r,p[3]=h*d-s,p[4]=p[2]+u,p[5]=p[3]+_,p[6]=i-r,p[7]=n-s,this.updateWorldVerts(t)},r.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t.spriteFrame.uvSliced,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;++s)for(var a=0;a<4;++a){var o=4*s+a,l=i[o],c=o*r;e[c+n]=l.u,e[c+n+1]=l.v}},r.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],l=this._local,c=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<4;++u)for(var _=l[2*u+1],f=0;f<4;++f){var d=l[2*f],p=(4*u+f)*h;c[p]=d*i+_*r+a,c[p+1]=d*n+_*s+o}},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=r,Object.assign(r.prototype,{verticesCount:16,indicesCount:54}),e.exports=i.default}),{"../../../../assembler-2d":264}],298:[(function(t,e,i){"use strict";var n;i.__esModule=!0,i.default=void 0;var r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.initData=function(){this.verticesCount=0,this.contentWidth=0,this.contentHeight=0,this.rectWidth=0,this.rectHeight=0,this.hRepeat=0,this.vRepeat=0,this.row=0,this.col=0,this._renderData.createFlexData(0,4,6,this.getVfmt()),this._updateIndices()},r.initLocal=function(){this._local={x:[],y:[]}},r._updateIndices=function(){for(var t=this._renderData.iDatas[0],e=0,i=0,n=t.length;e<n;e+=6,i+=4)t[e]=i,t[e+1]=i+1,t[e+2]=i+2,t[e+3]=i+1,t[e+4]=i+3,t[e+5]=i+2},r.updateRenderData=function(t){var e=t._spriteFrame;this.packToDynamicAtlas(t,e);var i=t.node,n=this.contentWidth=Math.abs(i.width),r=this.contentHeight=Math.abs(i.height),s=e._rect,a=e.insetLeft,o=e.insetRight,l=s.width-a-o,c=e.insetTop,h=e.insetBottom,u=s.height-c-h;this.sizableWidth=n-a-o,this.sizableHeight=r-c-h,this.sizableWidth=this.sizableWidth>0?this.sizableWidth:0,this.sizableHeight=this.sizableHeight>0?this.sizableHeight:0;var _=this.hRepeat=0===l?this.sizableWidth:this.sizableWidth/l,f=this.vRepeat=0===u?this.sizableHeight:this.sizableHeight/u,d=(this.row=Math.ceil(f+2))*(this.col=Math.ceil(_+2));this.verticesCount=4*d,this.indicesCount=6*d;var p=this._renderData._flexBuffer;p.reserve(this.verticesCount,this.indicesCount)&&(this._updateIndices(),this.updateColor(t)),p.used(this.verticesCount,this.indicesCount),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},r.updateVerts=function(t){var e=t._spriteFrame,i=e._rect,n=t.node,r=n.anchorX*n.width,s=n.anchorY*n.height,a=this.row,o=this.col,l=this.contentWidth,c=this.contentHeight,h=this._local,u=h.x,_=h.y;u.length=_.length=0;var f,d,p=e.insetLeft,m=e.insetRight,y=i.width-p-m,v=e.insetTop,g=e.insetBottom,b=i.height-v-g,A=n.width/(p+m)>1?1:n.width/(p+m),x=n.height/(v+g)>1?1:n.height/(v+g);f=y>0?Math.floor(1e3*this.sizableWidth)/1e3%y==0?y:this.sizableWidth%y:this.sizableWidth,d=b>0?Math.floor(1e3*this.sizableHeight)/1e3%b==0?b:this.sizableHeight%b:this.sizableHeight;for(var C=0;C<=o;C++)0===C?u[C]=-r:C>0&&C<o?u[C]=1===C?p*A+Math.min(y,this.sizableWidth)-r:y>0?C===o-1?p+f+y*(C-2)-r:p+Math.min(y,this.sizableWidth)+y*(C-2)-r:p+this.sizableWidth-r:C===o&&(u[C]=Math.min(p+this.sizableWidth+m,l)-r);for(var T=0;T<=a;T++)0===T?_[T]=-s:T>0&&T<a?_[T]=1===T?g*x+Math.min(b,this.sizableHeight)-s:b>0?T===a-1?g+d+(T-2)*b-s:g+Math.min(b,this.sizableHeight)+(T-2)*b-s:g+this.sizableHeight-s:T===a&&(_[T]=Math.min(g+this.sizableHeight+v,c)-s);this.updateWorldVerts(t)},r.updateWorldVerts=function(t){for(var e,i,n,r,s=this._renderData,a=this._local,o=a.x,l=a.y,c=s.vDatas[0],h=this.row,u=this.col,_=t.node._worldMatrix.m,f=_[0],d=_[1],p=_[4],m=_[5],y=_[12],v=_[13],g=this.floatsPerVert,b=0,A=0,x=h;A<x;++A){n=l[A],r=l[A+1];for(var C=0,T=u;C<T;++C)e=o[C],i=o[C+1],c[b]=e*f+n*p+y,c[b+1]=e*d+n*m+v,c[b+=g]=i*f+n*p+y,c[b+1]=i*d+n*m+v,c[b+=g]=e*f+r*p+y,c[b+1]=e*d+r*m+v,c[b+=g]=i*f+r*p+y,c[b+1]=i*d+r*m+v,b+=g}},r.updateUVs=function(t){var e=this._renderData.vDatas[0];if(e)for(var i=t._spriteFrame,n=i._rect,r=i.insetLeft,s=i.insetRight,a=n.width-r-s,o=i.insetTop,l=i.insetBottom,c=n.height-o-l,h=this.row,u=this.col,_=this.hRepeat,f=this.vRepeat,d=0,p=0,m=t.spriteFrame.uv,y=t.spriteFrame.uvSliced,v=t.spriteFrame._rotated,g=this.floatsPerVert,b=this.uvOffset,A=[],x=[],C=0,T=h;C<T;++C){p=this.sizableHeight>c?this.sizableHeight>=C*c?1:f%1:f;for(var S=0,w=u;S<w;++S)d=this.sizableWidth>a?this.sizableWidth>=S*a?1:_%1:_,v?(0===C?(A[0]=y[0].u,A[1]=y[0].u,A[2]=y[4].u+(y[8].u-y[4].u)*p):C<h-1?(A[0]=y[4].u,A[1]=y[4].u,A[2]=y[4].u+(y[8].u-y[4].u)*p):C===h-1&&(A[0]=y[8].u,A[1]=y[8].u,A[2]=y[12].u),0===S?(x[0]=y[0].v,x[1]=y[1].v+(y[2].v-y[1].v)*d,x[2]=y[0].v):S<u-1?(x[0]=y[1].v,x[1]=y[1].v+(y[2].v-y[1].v)*d,x[2]=y[1].v):S===u-1&&(x[0]=y[2].v,x[1]=y[3].v,x[2]=y[2].v),A[3]=A[2],x[3]=x[1]):(0===S?(A[0]=y[0].u,A[1]=y[1].u+(y[2].u-y[1].u)*d,A[2]=m[0]):S<u-1?(A[0]=y[1].u,A[1]=y[1].u+(y[2].u-y[1].u)*d,A[2]=y[1].u):S===u-1&&(A[0]=y[2].u,A[1]=y[3].u,A[2]=y[2].u),0===C?(x[0]=y[0].v,x[1]=y[0].v,x[2]=y[4].v+(y[8].v-y[4].v)*p):C<h-1?(x[0]=y[4].v,x[1]=y[4].v,x[2]=y[4].v+(y[8].v-y[4].v)*p):C===h-1&&(x[0]=y[8].v,x[1]=y[8].v,x[2]=y[12].v),A[3]=A[1],x[3]=x[2]),e[b]=A[0],e[b+1]=x[0],e[b+=g]=A[1],e[b+1]=x[1],e[b+=g]=A[2],e[b+1]=x[2],e[b+=g]=A[3],e[b+1]=x[3],b+=g}},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=r,e.exports=i.default}),{"../../../../assembler-2d":264}],299:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../../../assembler-3d"),r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(t("../2d/bar-filled"));i.default=r,cc.js.mixin(r.prototype,n),e.exports=i.default}),{"../../../../assembler-3d":265,"../2d/bar-filled":293}],300:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n},s=t("../../../../assembler-3d"),a=t("../2d/mesh"),o=new r.default,l=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(a);i.default=l,cc.js.mixin(l.prototype,s,{updateWorldVerts:function(t){for(var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0],s=this.floatsPerVert,a=0,l=i.length/2;a<l;a++){r.default.set(o,i[2*a],i[2*a+1],0),r.default.transformMat4(o,o,e);var c=s*a;n[c]=o.x,n[c+1]=o.y,n[c+2]=o.z}}}),e.exports=i.default}),{"../../../../../value-types/vec3":348,"../../../../assembler-3d":265,"../2d/mesh":294}],301:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n},s=t("../../../../assembler-3d"),a=t("../2d/radial-filled"),o=new r.default,l=new r.default,c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(a);i.default=c,cc.js.mixin(c.prototype,s,{updateWorldVerts:function(t){for(var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0],s=this.floatsPerVert,a=0;a<n.length;a+=s)r.default.set(o,i[a],i[a+1],0),r.default.transformMat4(l,o,e),n[a]=l.x,n[a+1]=l.y,n[a+2]=l.z}}),e.exports=i.default}),{"../../../../../value-types/vec3":348,"../../../../assembler-3d":265,"../2d/radial-filled":295}],302:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../../../assembler-3d"),r=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(t("../2d/simple"));i.default=r,cc.js.mixin(r.prototype,n),e.exports=i.default}),{"../../../../assembler-3d":265,"../2d/simple":296}],303:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n},s=t("../../../../assembler-3d"),a=t("../2d/sliced"),o=new r.default,l=new r.default,c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(a);i.default=c,cc.js.mixin(c.prototype,s,{updateWorldVerts:function(t){for(var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0],s=this.floatsPerVert,a=0;a<4;++a)for(var c=i[2*a+1],h=0;h<4;++h){var u=i[2*h];r.default.set(o,u,c,0),r.default.transformMat4(l,o,e);var _=(4*a+h)*s;n[_]=l.x,n[_+1]=l.y,n[_+2]=l.z}}}),e.exports=i.default}),{"../../../../../value-types/vec3":348,"../../../../assembler-3d":265,"../2d/sliced":297}],304:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;for(var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n},s=t("../../../../assembler-3d"),a=t("../2d/tiled"),o=[],l=0;l<4;l++)o.push(new r.default);var c=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n})(a);i.default=c,cc.js.mixin(c.prototype,s,{updateWorldVerts:function(t){for(var e,i,n,s,a=this._local,l=a.x,c=a.y,h=this._renderData.vDatas[0],u=this.row,_=this.col,f=t.node._worldMatrix,d=0,p=0,m=u;p<m;++p){n=c[p],s=c[p+1];for(var y=0,v=_;y<v;++y){e=l[y],i=l[y+1],r.default.set(o[0],e,n,0),r.default.set(o[1],i,n,0),r.default.set(o[2],e,s,0),r.default.set(o[3],i,s,0);for(var g=0;g<4;g++){var b=o[g];r.default.transformMat4(b,b,f);var A=6*g;h[d+A]=b.x,h[d+A+1]=b.y,h[d+A+2]=b.z}d+=24}}}}),e.exports=i.default}),{"../../../../../value-types/vec3":348,"../../../../assembler-3d":265,"../2d/tiled":298}],305:[(function(t){"use strict";var e=p(t("../../../assembler")),i=t("../../../../components/CCSprite"),n=p(t("./2d/simple")),r=p(t("./2d/sliced")),s=p(t("./2d/tiled")),a=p(t("./2d/radial-filled")),o=p(t("./2d/bar-filled")),l=p(t("./2d/mesh")),c=p(t("./3d/simple")),h=p(t("./3d/sliced")),u=p(t("./3d/tiled")),_=p(t("./3d/radial-filled")),f=p(t("./3d/bar-filled")),d=p(t("./3d/mesh"));function p(t){return t&&t.__esModule?t:{default:t}}var m={getConstructor:function(t){var e=t.node.is3DNode,p=e?c.default:n.default;switch(t.type){case i.Type.SLICED:p=e?h.default:r.default;break;case i.Type.TILED:p=e?u.default:s.default;break;case i.Type.FILLED:p=t._fillType===i.FillType.RADIAL?e?_.default:a.default:e?f.default:o.default;break;case i.Type.MESH:p=e?d.default:l.default}return p},Simple:n.default,Sliced:r.default,Tiled:s.default,RadialFilled:a.default,BarFilled:o.default,Mesh:l.default,Simple3D:c.default,Sliced3D:h.default,Tiled3D:u.default,RadialFilled3D:_.default,BarFilled3D:f.default,Mesh3D:d.default};e.default.register(cc.Sprite,m)}),{"../../../../components/CCSprite":165,"../../../assembler":267,"./2d/bar-filled":293,"./2d/mesh":294,"./2d/radial-filled":295,"./2d/simple":296,"./2d/sliced":297,"./2d/tiled":298,"./3d/bar-filled":299,"./3d/mesh":300,"./3d/radial-filled":301,"./3d/simple":302,"./3d/sliced":303,"./3d/tiled":304}],306:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e,i,n,r){this._handler=t,this._index=e,this._vfmt=r,this._verticesBytes=r._bytes,this._initVerticesCount=i,this._initIndicesCount=n,this.reset()}var e=t.prototype;return e._reallocVData=function(t,e){this.vData=new Float32Array(t),this.uintVData=new Uint32Array(this.vData.buffer),e&&this.vData.set(e),this._handler.updateMesh(this._index,this.vData,this.iData)},e._reallocIData=function(t,e){this.iData=new Uint16Array(t),e&&this.iData.set(e),this._handler.updateMesh(this._index,this.vData,this.iData)},e.reserve=function(t,e){var i=t*this._verticesBytes>>2,n=this.vData.length,r=!1;if(i>n){for(;n<i;)n*=2;this._reallocVData(n,this.vData),r=!0}var s=this.iData.length;if(e>s){for(;s<e;)s*=2;this._reallocIData(e,this.iData),r=!0}return r},e.used=function(t,e){this.usedVertices=t,this.usedIndices=e,this.usedVerticesFloats=t*this._verticesBytes>>2,this._handler.updateMeshRange(t,e)},e.reset=function(){var t=this._initVerticesCount*this._verticesBytes>>2;this._reallocVData(t),this._reallocIData(this._initIndicesCount),this.usedVertices=0,this.usedVerticesFloats=0,this.usedIndices=0},t})();i.default=n,cc.FlexBuffer=n,e.exports=i.default}),{}],307:[(function(t,e){"use strict";var i,n=(i=t("../../../renderer/gfx"))&&i.__esModule?i:{default:i},r=(cc.sys.os===cc.sys.OS_IOS||cc.sys.os===cc.sys.MACOS)&&cc.sys.isBrowser&&/(OS 1[4-9])|(Version\/1[4-9])/.test(window.navigator.userAgent),s=cc.Class({name:"cc.MeshBuffer",ctor:function(t,e){this.init(t,e)},init:function(t,e){this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1,this._vertexFormat=e,this._vertexBytes=this._vertexFormat._bytes,this._arrOffset=0,this._vbArr=[],this._vb=new n.default.VertexBuffer(t._device,e,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[0]=this._vb,this._ibArr=[],this._ib=new n.default.IndexBuffer(t._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[0]=this._ib,this._vData=null,this._uintVData=null,this._iData=null,this._batcher=t,this._initVDataCount=256*e._bytes,this._initIDataCount=1536,this._offsetInfo={byteOffset:0,vertexOffset:0,indiceOffset:0},this._reallocBuffer()},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2),e=new Uint16Array(this._iData.buffer,0,this.indiceOffset);this._vb.update(0,t),this._ib.update(0,e),this._dirty=!1}},switchBuffer:function(){var t=++this._arrOffset;this.byteOffset=0,this.vertexOffset=0,this.indiceOffset=0,this.indiceStart=0,t<this._vbArr.length?(this._vb=this._vbArr[t],this._ib=this._ibArr[t]):(this._vb=new n.default.VertexBuffer(this._batcher._device,this._vertexFormat,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[t]=this._vb,this._ib=new n.default.IndexBuffer(this._batcher._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[t]=this._ib)},checkAndSwitchBuffer:function(t){this.vertexOffset+t>65535&&(this.uploadData(),this._batcher._flush(),this.switchBuffer())},requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r<i||s<n;)this._initVDataCount*=2,this._initIDataCount*=2,r=4*this._initVDataCount,s=this._initIDataCount;this._reallocBuffer()}this._updateOffset(t,e,i)},_updateOffset:function(t,e,i){var n=this._offsetInfo;n.vertexOffset=this.vertexOffset,this.vertexOffset+=t,n.indiceOffset=this.indiceOffset,this.indiceOffset+=e,n.byteOffset=this.byteOffset,this.byteOffset=i,this._dirty=!0},request:function(t,e){return this._batcher._buffer!==this&&(this._batcher._flush(),this._batcher._buffer=this),this.requestStatic(t,e),this._offsetInfo},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(!0)},_reallocVData:function(t){var e;this._vData&&(e=new Uint8Array(this._vData.buffer)),this._vData=new Float32Array(this._initVDataCount),this._uintVData=new Uint32Array(this._vData.buffer);var i=new Uint8Array(this._uintVData.buffer);if(e&&t)for(var n=0,r=e.length;n<r;n++)i[n]=e[n]},_reallocIData:function(t){var e=this._iData;if(this._iData=new Uint16Array(this._initIDataCount),e&&t)for(var i=this._iData,n=0,r=e.length;n<r;n++)i[n]=e[n]},reset:function(){this._arrOffset=0,this._vb=this._vbArr[0],this._ib=this._ibArr[0],this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1},destroy:function(){this.reset();for(var t=0;t<this._vbArr.length;t++)this._vbArr[t].destroy();this._vbArr=null;for(var e=0;e<this._ibArr.length;e++)this._ibArr[e].destroy();this._ibArr=null,this._ib=null,this._vb=null},forwardIndiceStartToOffset:function(){this.indiceStart=this.indiceOffset}});r&&(s.prototype.checkAndSwitchBuffer=function(t){this.vertexOffset+t>65535&&(this.uploadData(),this._batcher._flush())},s.prototype.forwardIndiceStartToOffset=function(){this.uploadData(),this.switchBuffer()}),cc.MeshBuffer=e.exports=s}),{"../../../renderer/gfx":371}],308:[(function(t,e){"use strict";var i=s(t("../../../renderer/core/input-assembler")),n=s(t("../../../renderer/memop/recycle-pool")),r=s(t("../../../renderer/scene/model"));function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./vertex-format"),o=a.vfmtPosUvColor,l=a.vfmt3D,c=t("./quad-buffer"),h=t("./mesh-buffer"),u=t("./spine-buffer"),_=t("../../assets/material/CCMaterial"),f=(new(t("../../platform/id-generater"))("VertextFormat"),{}),d=new _,p=new i.default;p._count=0;var m=function(t,e){this._renderScene=e,this._device=t,this.walking=!1,this.material=d,this.cullingMask=1,this._iaPool=new n.default(function(){return new i.default},16),this._modelPool=new n.default(function(){return new r.default},16),this._quadBuffer=this.getBuffer("quad",o),this._meshBuffer=this.getBuffer("mesh",o),this._quadBuffer3D=this.getBuffer("quad",l),this._meshBuffer3D=this.getBuffer("mesh",l),this._buffer=this._meshBuffer,this._batchedModels=[],this._dummyNode=new cc.Node,this._sortKey=0,this.node=this._dummyNode,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0};m.prototype={constructor:m,reset:function(){this._iaPool.reset();for(var t=this._renderScene,e=this._batchedModels,i=0;i<e.length;++i)e[i].setInputAssembler(null),e[i].setEffect(null),t.removeModel(e[i]);for(var n in this._modelPool.reset(),e.length=0,this._sortKey=0,f)f[n].reset();this._buffer=this._meshBuffer,this.node=this._dummyNode,this.material=d,this.cullingMask=1,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0},_flushMaterial:function(t){if(t){this.material=t;var e=t.effect;if(e){var i=this._modelPool.add();this._batchedModels.push(i),i.sortKey=this._sortKey++,i._cullingMask=this.cullingMask,i.setNode(this.node),i.setEffect(e,null),i.setInputAssembler(p),this._renderScene.addModel(i)}}},_flush:function(){var t=this.material,e=this._buffer,i=e.indiceOffset-e.indiceStart;if(this.walking&&t&&!(i<=0)){var n=t.effect;if(n){var r=this._iaPool.add();r._vertexBuffer=e._vb,r._indexBuffer=e._ib,r._start=e.indiceStart,r._count=i;var s=this._modelPool.add();this._batchedModels.push(s),s.sortKey=this._sortKey++,s._cullingMask=this.cullingMask,s.setNode(this.node),s.setEffect(n),s.setInputAssembler(r),this._renderScene.addModel(s),e.forwardIndiceStartToOffset()}}},_flushIA:function(t){if(t){var e=this.material.effect;if(e){var i=this._modelPool.add();this._batchedModels.push(i),i.sortKey=this._sortKey++,i._cullingMask=this.cullingMask,i.setNode(this.node),i.setEffect(e),i.setInputAssembler(t),this._renderScene.addModel(i)}}},terminate:function(){for(var t in cc.dynamicAtlasManager&&cc.dynamicAtlasManager.enabled&&cc.dynamicAtlasManager.update(),this._flush(),f)f[t].uploadData();this.walking=!1},getBuffer:function(t,e){var i=t+e.getHash(),n=f[i];if(!n){if("mesh"===t)n=new h(this,e);else if("quad"===t)n=new c(this,e);else{if("spine"!==t)return cc.error("Not support buffer type ["+t+"]"),null;n=new u(this,e)}f[i]=n}return n}},e.exports=m}),{"../../../renderer/core/input-assembler":361,"../../../renderer/memop/recycle-pool":386,"../../../renderer/scene/model":393,"../../assets/material/CCMaterial":123,"../../platform/id-generater":255,"./mesh-buffer":307,"./quad-buffer":309,"./spine-buffer":311,"./vertex-format":312}],309:[(function(t,e){"use strict";var i=t("./mesh-buffer"),n=cc.Class({name:"cc.QuadBuffer",extends:i,_fillQuadBuffer:function(){for(var t=this._initIDataCount/6,e=this._iData,i=0,n=0;i<t;i++){var r=4*i;e[n++]=r,e[n++]=r+1,e[n++]=r+2,e[n++]=r+1,e[n++]=r+3,e[n++]=r+2}var s=new Uint16Array(this._iData.buffer,0,6*t);this._ib.update(0,s)},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2);this._vb.update(0,t),this._dirty=!1}},switchBuffer:function(){this._super();var t=new Uint16Array(this._iData.buffer,0,this._initIDataCount);this._ib.update(0,t)},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(),this._fillQuadBuffer()}});cc.QuadBuffer=e.exports=n}),{"./mesh-buffer":307}],310:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=a;var n,r=(n=t("./flex-buffer"))&&n.__esModule?n:{default:n},s=t("./vertex-format");function a(){this.vDatas=[],this.uintVDatas=[],this.iDatas=[],this.meshCount=0,this._infos=null,this._flexBuffer=null}cc.js.mixin(a.prototype,{init:function(){},clear:function(){this.vDatas.length=0,this.iDatas.length=0,this.uintVDatas.length=0,this.meshCount=0,this._infos=null,this._flexBuffer&&this._flexBuffer.reset()},updateMesh:function(t,e,i){this.vDatas[t]=e,this.uintVDatas[t]=new Uint32Array(e.buffer,0,e.length),this.iDatas[t]=i,this.meshCount=this.vDatas.length},updateMeshRange:function(){},createData:function(t,e,i){var n=new Float32Array(e),r=new Uint16Array(i);this.updateMesh(t,n,r)},createQuadData:function(t,e,i){this.createData(t,e,i),this.initQuadIndices(this.iDatas[t])},createFlexData:function(t,e,i,n){n=n||s.vfmtPosUvColor,this._flexBuffer=new r.default(this,t,e,i,n)},initQuadIndices:function(t){for(var e=t.length/6,i=0,n=0;i<e;i++){var r=4*i;t[n++]=r,t[n++]=r+1,t[n++]=r+2,t[n++]=r+1,t[n++]=r+3,t[n++]=r+2}}}),cc.RenderData=a,e.exports=i.default}),{"./flex-buffer":306,"./vertex-format":312}],311:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SpineBuffer",extends:t("./mesh-buffer"),requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r<i||s<n;)this._initVDataCount*=2,this._initIDataCount*=2,r=4*this._initVDataCount,s=this._initIDataCount;this._reallocBuffer()}var a=this._offsetInfo;a.vertexOffset=this.vertexOffset,a.indiceOffset=this.indiceOffset,a.byteOffset=this.byteOffset},adjust:function(t,e){this.vertexOffset+=t,this.indiceOffset+=e,this.byteOffset=this.byteOffset+t*this._vertexBytes,this._dirty=!0}});cc.SpineBuffer=e.exports=i}),{"./mesh-buffer":307}],312:[(function(t,e){"use strict";var i,n=(i=t("../../../renderer/gfx"))&&i.__esModule?i:{default:i},r=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:3},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);r.name="vfmt3D",n.default.VertexFormat.XYZ_UV_Color=r;var s=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);s.name="vfmtPosUvColor",n.default.VertexFormat.XY_UV_Color=s;var a=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:n.default.ATTR_COLOR0,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);a.name="vfmtPosUvTwoColor",n.default.VertexFormat.XY_UV_Two_Color=a;var o=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2}]);o.name="vfmtPosUv",n.default.VertexFormat.XY_UV=o;var l=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);l.name="vfmtPosColor",n.default.VertexFormat.XY_Color=l;var c=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2}]);c.name="vfmtPos",n.default.VertexFormat.XY=c,e.exports={vfmt3D:r,vfmtPosUvColor:s,vfmtPosUvTwoColor:a,vfmtPosUv:o,vfmtPosColor:l,vfmtPos:c}}),{"../../../renderer/gfx":371}],313:[(function(t,e){"use strict";t("../platform/CCSys");var i=/(\.[^\.\/\?\\]*)(\?.*)?$/,n=/((.*)(\/|\\|\\\\))?(.*?\..*$)?/,r=/[^\.\/]+\/\.\.\//;cc.path={join:function(){for(var t=arguments.length,e="",i=0;i<t;i++)e=(e+(""===e?"":"/")+arguments[i]).replace(/(\/|\\\\)$/,"");return e},extname:function(t){var e=i.exec(t);return e?e[1]:""},mainFileName:function(t){if(t){var e=t.lastIndexOf(".");if(-1!==e)return t.substring(0,e)}return t},basename:function(t,e){var i=t.indexOf("?");i>0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return t;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r},dirname:function(t){var e=n.exec(t);return e?e[2]:""},changeExtname:function(t,e){e=e||"";var i=t.indexOf("?"),n="";return i>0&&(n=t.substring(i),t=t.substring(0,i)),(i=t.lastIndexOf("."))<0?t+e+n:t.substring(0,i)+e+n},changeBasename:function(t,e,i){if(0===e.indexOf("."))return this.changeExtname(t,e);var n=t.indexOf("?"),r="",s=i?this.extname(t):"";return n>0&&(r=t.substring(n),t=t.substring(0,n)),n=(n=t.lastIndexOf("/"))<=0?0:n+1,t.substring(0,n)+e+s+r},_normalize:function(t){var e=t=String(t);do{e=t,t=t.replace(r,"")}while(e.length!==t.length);return t},sep:cc.sys.os===cc.sys.OS_WINDOWS?"\\":"/",stripSep:function(t){return t.replace(/[\/\\]$/,"")}},e.exports=cc.path}),{"../platform/CCSys":247}],314:[(function(t,e){"use strict";var i=function(t,e,i,n,r,s){this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s};i.create=function(t,e,i,n,r,s){return{a:t,b:e,c:i,d:n,tx:r,ty:s}},i.identity=function(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}},i.clone=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,tx:t.tx,ty:t.ty}},i.concat=function(t,e,i){var n=e.a,r=e.b,s=e.c,a=e.d,o=e.tx,l=e.ty;return t.a=n*i.a+r*i.c,t.b=n*i.b+r*i.d,t.c=s*i.a+a*i.c,t.d=s*i.b+a*i.d,t.tx=o*i.a+l*i.c+i.tx,t.ty=o*i.b+l*i.d+i.ty,t},i.invert=function(t,e){var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=e.tx,l=e.ty;return t.a=a*s,t.b=-a*n,t.c=-a*r,t.d=a*i,t.tx=a*(r*l-s*o),t.ty=a*(n*o-i*l),t},i.fromMat4=function(t,e){var i=e.m;return t.a=i[0],t.b=i[1],t.c=i[4],t.d=i[5],t.tx=i[12],t.ty=i[13],t},i.transformVec2=function(t,e,i,n){var r,s;return void 0===n?(n=i,r=e.x,s=e.y):(r=e,s=i),t.x=n.a*r+n.c*s+n.tx,t.y=n.b*r+n.d*s+n.ty,t},i.transformSize=function(t,e,i){return t.width=i.a*e.width+i.c*e.height,t.height=i.b*e.width+i.d*e.height,t},i.transformRect=function(t,e,i){var n=e.x,r=e.y,s=n+e.width,a=r+e.height,o=i.a*n+i.c*r+i.tx,l=i.b*n+i.d*r+i.ty,c=i.a*s+i.c*r+i.tx,h=i.b*s+i.d*r+i.ty,u=i.a*n+i.c*a+i.tx,_=i.b*n+i.d*a+i.ty,f=i.a*s+i.c*a+i.tx,d=i.b*s+i.d*a+i.ty,p=Math.min(o,c,u,f),m=Math.max(o,c,u,f),y=Math.min(l,h,_,d),v=Math.max(l,h,_,d);return t.x=p,t.y=y,t.width=m-p,t.height=v-y,t},i.transformObb=function(t,e,i,n,r,s){var a=r.x,o=r.y,l=r.width,c=r.height,h=s.a*a+s.c*o+s.tx,u=s.b*a+s.d*o+s.ty,_=s.a*l,f=s.b*l,d=s.c*c,p=s.d*c;e.x=h,e.y=u,i.x=_+h,i.y=f+u,t.x=d+h,t.y=p+u,n.x=_+d+h,n.y=f+p+u},cc.AffineTransform=e.exports=i}),{}],315:[(function(t,e){"use strict";var i=t("../platform/CCObject").Flags,n=t("./misc"),r=t("../platform/js"),s=t("../platform/id-generater"),a=t("../event-manager"),o=t("../renderer/render-flow"),l=i.Destroying,c=i.DontDestroy,h=i.Deactivating,u=new s("Node");function _(t){return t?"string"==typeof t?r.getClassByName(t):t:(cc.errorID(3804),null)}function f(t,e){if(e._sealed)for(var i=0;i<t._components.length;++i){var n=t._components[i];if(n.constructor===e)return n}else for(var r=0;r<t._components.length;++r){var s=t._components[r];if(s instanceof e)return s}return null}function d(t,e,i){if(e._sealed)for(var n=0;n<t._components.length;++n){var r=t._components[n];r.constructor===e&&i.push(r)}else for(var s=0;s<t._components.length;++s){var a=t._components[s];a instanceof e&&i.push(a)}}function p(t,e){for(var i=0;i<t.length;++i){var n=t[i],r=f(n,e);if(r)return r;if(n._children.length>0&&(r=p(n._children,e)))return r}return null}function m(t,e,i){for(var n=0;n<t.length;++n){var r=t[n];d(r,e,i),r._children.length>0&&m(r._children,e,i)}}var y=cc.Class({name:"cc._BaseNode",extends:cc.Object,properties:{_parent:null,_children:[],_active:!0,_components:[],_prefab:null,_persistNode:{get:function(){return(this._objFlags&c)>0},set:function(t){t?this._objFlags|=c:this._objFlags&=~c}},name:{get:function(){return this._name},set:function(t){this._name=t}},uuid:{get:function(){return this._id}},children:{get:function(){return this._children}},childrenCount:{get:function(){return this._children.length}},active:{get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;e&&e._activeInHierarchy&&cc.director._nodeActivator.activateNode(this,t)}}},activeInHierarchy:{get:function(){return this._activeInHierarchy}}},ctor:function(t){this._name=void 0!==t?t:"New Node",this._activeInHierarchy=!1,this._id=u.getNewId(),cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.__eventTargets=[]},getParent:function(){return this._parent},setParent:function(t){if(this._parent!==t){var e=this._parent;if(this._parent=t||null,this._onSetParent(t),t&&(a._setDirtyForNode(this),t._children.push(this),t.emit&&t.emit("child-added",this),t._renderFlag|=o.FLAG_CHILDREN),e){if(!(e._objFlags&l)){var i=e._children.indexOf(this);e._children.splice(i,1),e.emit&&e.emit("child-removed",this),this._onHierarchyChanged(e),0===e._children.length&&(e._renderFlag&=~o.FLAG_CHILDREN)}}else t&&this._onHierarchyChanged(null)}},attr:function(t){r.mixin(this,t)},getChildByUuid:function(t){if(!t)return cc.log("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i<n;i++)if(e[i]._id===t)return e[i];return null},getChildByName:function(t){if(!t)return cc.log("Invalid name"),null;for(var e=this._children,i=0,n=e.length;i<n;i++)if(e[i]._name===t)return e[i];return null},addChild:function(t){cc.assertID(t,1606),cc.assertID(null===t._parent,1605),t.setParent(this)},insertChild:function(t,e){t.parent=this,t.setSiblingIndex(e)},getSiblingIndex:function(){return this._parent?this._parent._children.indexOf(this):0},setSiblingIndex:function(t){if(this._parent)if(this._parent._objFlags&h)cc.errorID(3821);else{var e=this._parent._children;t=-1!==t?t:e.length-1;var i=e.indexOf(this);t!==i&&(e.splice(i,1),t<e.length?e.splice(t,0,this):e.push(this),this._onSiblingIndexChanged&&this._onSiblingIndexChanged(t))}},walk:function(t,e){var i,n,r,s,a=cc._BaseNode,o=1,l=a._stacks[a._stackId];l||(l=[],a._stacks.push(l)),a._stackId++,l.length=0,l[0]=this;var c=null;for(s=!1;o;)if(n=l[--o])if(!s&&t?t(n):s&&e&&e(n),l[o]=null,s){if(c===this._parent)break;if(s=!1,i)if(i[++r])l[o]=i[r],o++;else if(c&&(l[o]=c,o++,s=!0,c._parent?(r=(i=c._parent._children).indexOf(c),c=c._parent):(c=null,i=null),r<0))break}else n._children.length>0?(c=n,i=n._children,r=0,l[o]=i[r],o++):(l[o]=n,o++,s=!0);l.length=0,a._stackId--},cleanup:function(){},removeFromParent:function(t){this._parent&&(void 0===t&&(t=!0),this._parent.removeChild(this,t))},removeChild:function(t,e){this._children.indexOf(t)>-1&&((e||void 0===e)&&t.cleanup(),t.parent=null)},removeAllChildren:function(t){var e=this._children;void 0===t&&(t=!0);for(var i=e.length-1;i>=0;i--){var n=e[i];n&&(t&&n.cleanup(),n.parent=null)}this._children.length=0},isChildOf:function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},getComponent:function(t){var e=_(t);return e?f(this,e):null},getComponents:function(t){var e=_(t),i=[];return e&&d(this,e,i),i},getComponentInChildren:function(t){var e=_(t);return e?p(this._children,e):null},getComponentsInChildren:function(t){var e=_(t),i=[];return e&&(d(this,e,i),m(this._children,e,i)),i},_checkMultipleComp:!1,addComponent:function(t){var e;if("string"==typeof t){if(!(e=r.getClassByName(t)))return cc.errorID(3807,t),cc._RFpeek()&&cc.errorID(3808,t),null}else{if(!t)return cc.errorID(3804),null;e=t}if("function"!=typeof e)return cc.errorID(3809),null;if(!r.isChildClassOf(e,cc.Component))return cc.errorID(3810),null;var i=e._requireComponent;if(i&&!this.getComponent(i)&&!this.addComponent(i))return null;var n=new e;return n.node=this,this._components.push(n),this._activeInHierarchy&&cc.director._nodeActivator.activateComp(n),n},_addComponentAt:!1,removeComponent:function(t){t?(t instanceof cc.Component||(t=this.getComponent(t)),t&&t.destroy()):cc.errorID(3813)},_getDependComponent:!1,_removeComponent:function(t){if(t){if(!(this._objFlags&l)){var e=this._components.indexOf(t);-1!==e?this._components.splice(e,1):t.node!==this&&cc.errorID(3815)}}else cc.errorID(3814)},destroy:function(){cc.Object.prototype.destroy.call(this)&&(this.active=!1)},destroyAllChildren:function(){for(var t=this._children,e=0;e<t.length;++e)t[e].destroy()},_onSetParent:function(){},_onPostActivated:function(){},_onBatchCreated:function(){},_onHierarchyChanged:function(){var t=this._parent;!this._persistNode||t instanceof cc.Scene||cc.game.removePersistRootNode(this);var e=this._active&&!(!t||!t._activeInHierarchy);this._activeInHierarchy!==e&&cc.director._nodeActivator.activateNode(this,e)},_instantiate:function(t,e){return t||(t=cc.instantiate._clone(this,this)),t._prefab,t._parent=null,t._onBatchCreated(e),t},_registerIfAttached:!1,_onPreDestroy:function(){var t,e;this._objFlags|=l;var i=this._parent,n=i&&i._objFlags&l,r=this._children;for(t=0,e=r.length;t<e;++t)r[t]._destroyImmediate();for(t=0,e=this._components.length;t<e;++t)this._components[t]._destroyImmediate();var s=this.__eventTargets;for(t=0,e=s.length;t<e;++t){var a=s[t];a&&a.targetOff(this)}if(s.length=0,this._persistNode&&cc.game.removePersistRootNode(this),!n&&i){var o=i._children.indexOf(this);i._children.splice(o,1),i.emit&&i.emit("child-removed",this)}return n},onRestore:!1});y.idGenerater=u,y._stacks=[[]],y._stackId=0,y.prototype._onPreDestroyBase=y.prototype._onPreDestroy,y.prototype._onHierarchyChangedBase=y.prototype._onHierarchyChanged,n.propertyDefine(y,["parent","name","children","childrenCount"],{}),cc._BaseNode=e.exports=y}),{"../event-manager":183,"../platform/CCObject":244,"../platform/id-generater":255,"../platform/js":259,"../renderer/render-flow":271,"./misc":323}],316:[(function(t,e){"use strict";e.exports={binarySearchEpsilon:function(t,e){for(var i=0,n=t.length-1,r=n>>>1;i<=n;r=i+n>>>1){var s=t[r];if(s>e+1e-6)n=r-1;else{if(!(s<e-1e-6))return r;i=r+1}}return~i}}}),{}],317:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../platform/CCMacro").BlendFactor,r=t("../../renderer/gfx"),s=cc.Class({properties:{_srcBlendFactor:n.SRC_ALPHA,_dstBlendFactor:n.ONE_MINUS_SRC_ALPHA,srcBlendFactor:{get:function(){return this._srcBlendFactor},set:function(t){this._srcBlendFactor!==t&&(this._srcBlendFactor=t,this._updateBlendFunc(!0),this._onBlendChanged&&this._onBlendChanged())},animatable:!1,type:n,tooltip:!1,visible:!0},dstBlendFactor:{get:function(){return this._dstBlendFactor},set:function(t){this._dstBlendFactor!==t&&(this._dstBlendFactor=t,this._updateBlendFunc(!0))},animatable:!1,type:n,tooltip:!1,visible:!0}},setMaterial:function(t,e){var r=i.prototype.setMaterial.call(this,t,e);return this._srcBlendFactor===n.SRC_ALPHA&&this._dstBlendFactor===n.ONE_MINUS_SRC_ALPHA||this._updateMaterialBlendFunc(r),r},_updateMaterial:function(){this._updateBlendFunc()},_updateBlendFunc:function(t){if(t||this._srcBlendFactor!==n.SRC_ALPHA||this._dstBlendFactor!==n.ONE_MINUS_SRC_ALPHA)for(var e=this.getMaterials(),i=0;i<e.length;i++){var r=e[i];this._updateMaterialBlendFunc(r)}},_updateMaterialBlendFunc:function(t){t.setBlend(!0,r.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor,r.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor)}});e.exports=cc.BlendFunc=s}),{"../../renderer/gfx":371,"../components/CCRenderComponent":159,"../platform/CCMacro":243}],318:[(function(t,e){"use strict";var i=t("./misc").BASE64_VALUES,n="0123456789abcdef".split(""),r=["","","",""],s=r.concat(r,"-",r,"-",r,"-",r,"-",r,r,r),a=s.map((function(t,e){return"-"===t?NaN:e})).filter(isFinite);e.exports=function(t){if(22!==t.length)return t;s[0]=t[0],s[1]=t[1];for(var e=2,r=2;e<22;e+=2){var o=i[t.charCodeAt(e)],l=i[t.charCodeAt(e+1)];s[a[r++]]=n[o>>2],s[a[r++]]=n[(3&o)<<2|l>>4],s[a[r++]]=n[15&l]}return s.join("")}}),{"./misc":323}],319:[(function(t,e){"use strict";cc.find=e.exports=function(t,e){if(null==t)return cc.errorID(3814),null;if(e);else{var i=cc.director.getScene();if(!i)return null;e=i}for(var n=e,r="/"!==t[0]?0:1,s=t.split("/"),a=r;a<s.length;a++){var o=s[a],l=n._children;n=null;for(var c=0,h=l.length;c<h;++c){var u=l[c];if(u.name===o){n=u;break}}if(!n)return null}return n}}),{}],320:[(function(t,e){"use strict";var i,n=(i=t("../assets/material/material-variant"))&&i.__esModule?i:{default:i},r=t("../assets/material/CCMaterial"),s=cc.Class({properties:{_normalMaterial:null,normalMaterial:{get:function(){return this._normalMaterial},set:function(t){this._normalMaterial=t,this._updateDisabledState&&this._updateDisabledState()},type:r,tooltip:!1,animatable:!1},_grayMaterial:null,grayMaterial:{get:function(){return this._grayMaterial},set:function(t){this._grayMaterial=t,this._updateDisabledState&&this._updateDisabledState()},type:r,tooltip:!1,animatable:!1}},_switchGrayMaterial:function(t,e){var i;t?((i=this._grayMaterial)||(i=r.getBuiltinMaterial("2d-gray-sprite")),i=this._grayMaterial=n.default.create(i,e)):((i=this._normalMaterial)||(i=r.getBuiltinMaterial("2d-sprite",e)),i=this._normalMaterial=n.default.create(i,e)),e.setMaterial(0,i)}});e.exports=s}),{"../assets/material/CCMaterial":123,"../assets/material/material-variant":130}],321:[(function(t,e){"use strict";var i=/^(click)(\s)*=|(param)(\s)*=/,n=/(\s)*src(\s)*=|(\s)*height(\s)*=|(\s)*width(\s)*=|(\s)*align(\s)*=|(\s)*offset(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/,r=function(){this._parsedObject={},this._specialSymbolArray=[],this._specialSymbolArray.push([/&lt;/g,"<"]),this._specialSymbolArray.push([/&gt;/g,">"]),this._specialSymbolArray.push([/&amp;/g,"&"]),this._specialSymbolArray.push([/&quot;/g,'"']),this._specialSymbolArray.push([/&apos;/g,"'"]),this._specialSymbolArray.push([/&nbsp;/g," "])};r.prototype={constructor:r,parse:function(t){this._resultObjectArray=[],this._stack=[];for(var e=0,i=t.length;e<i;){var n=t.indexOf(">",e),r=-1;if(n>=0&&(r=t.lastIndexOf("<",n))<e-1&&(r=t.indexOf("<",n+1),n=t.indexOf(">",r+1)),r<0)this._stack.pop(),this._processResult(t.substring(e)),e=i;else{var s=t.substring(e,r),a=t.substring(r+1,n);""===a&&(s=t.substring(e,n+1)),this._processResult(s),-1===n?n=r:"/"===t.charAt(r+1)?this._stack.pop():this._addToStack(a),e=n+1}}return this._resultObjectArray},_attributeToObject:function(t){var e,i,r,s,a={},o=(t=t.trim()).match(/^(color|size)(\s)*=/);if(o){if(e=o[0],""===(t=t.substring(e.length).trim()))return a;switch(i=t.indexOf(" "),e[0]){case"c":a.color=i>-1?t.substring(0,i).trim():t;break;case"s":a.size=parseInt(t)}return i>-1&&(s=t.substring(i+1).trim(),r=this._processEventHandler(s),a.event=r),a}if((o=t.match(/^(br(\s)*\/)/))&&o[0].length>0&&(e=o[0].trim()).startsWith("br")&&"/"===e[e.length-1])return a.isNewLine=!0,this._resultObjectArray.push({text:"",style:{newline:!0}}),a;if((o=t.match(/^(img(\s)*src(\s)*=[^>]+\/)/))&&o[0].length>0&&(e=o[0].trim()).startsWith("img")&&"/"===e[e.length-1]){var l;o=t.match(n);for(var c=!1;o;){if(e=(t=t.substring(t.indexOf(o[0]))).substr(0,o[0].length),u=(i=(l=t.substring(e.length).trim()).indexOf(" "))>-1?l.substr(0,i):l,e=(e=e.replace(/[^a-zA-Z]/g,"").trim()).toLocaleLowerCase(),t=l.substring(i).trim(),u.endsWith("/")&&(u=u.slice(0,-1)),"src"===e){switch(u.charCodeAt(0)){case 34:case 39:c=!0,u=u.slice(1,-1)}a.isImage=!0,a.src=u}else if("height"===e)a.imageHeight=parseInt(u);else if("width"===e)a.imageWidth=parseInt(u);else if("align"===e){switch(u.charCodeAt(0)){case 34:case 39:u=u.slice(1,-1)}a.imageAlign=u.toLocaleLowerCase()}else"offset"===e?a.imageOffset=u:"click"===e&&(a.event=this._processEventHandler(e+"="+u));a.event&&"param"===e&&(a.event.param=u.replace(/^\"|\"$/g,"")),o=t.match(n)}return c&&a.isImage&&this._resultObjectArray.push({text:"",style:a}),{}}if(o=t.match(/^(outline(\s)*[^>]*)/)){var h={color:"#ffffff",width:1};if(t=o[0].substring("outline".length).trim()){var u,_=/(\s)*color(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;for(o=t.match(_);o;)e=(t=t.substring(t.indexOf(o[0]))).substr(0,o[0].length),u=(i=(l=t.substring(e.length).trim()).indexOf(" "))>-1?l.substr(0,i):l,e=(e=e.replace(/[^a-zA-Z]/g,"").trim()).toLocaleLowerCase(),t=l.substring(i).trim(),"click"===e?a.event=this._processEventHandler(e+"="+u):"color"===e?h.color=u:"width"===e&&(h.width=parseInt(u)),a.event&&"param"===e&&(a.event.param=u.replace(/^\"|\"$/g,"")),o=t.match(_)}a.outline=h}if((o=t.match(/^(on|u|b|i)(\s)*/))&&o[0].length>0){switch(e=o[0],t=t.substring(e.length).trim(),e[0]){case"u":a.underline=!0;break;case"i":a.italic=!0;break;case"b":a.bold=!0}if(""===t)return a;r=this._processEventHandler(t),a.event=r}return a},_processEventHandler:function(t){for(var e=0,n={},r=t.match(i),s=!1;r;){var a=r[0],o="";if(s=!1,'"'===(t=t.substring(a.length).trim()).charAt(0))(e=t.indexOf('"',1))>-1&&(o=t.substring(1,e).trim(),s=!0),e++;else if("'"===t.charAt(0))(e=t.indexOf("'",1))>-1&&(o=t.substring(1,e).trim(),s=!0),e++;else{var l=t.match(/(\S)+/);e=(o=l?l[0]:"").length}s&&(n[a=a.substring(0,a.length-1).trim()]=o),r=(t=t.substring(e).trim()).match(i)}return n},_addToStack:function(t){var e=this._attributeToObject(t);if(0===this._stack.length)this._stack.push(e);else{if(e.isNewLine||e.isImage)return;var i=this._stack[this._stack.length-1];for(var n in i)e[n]||(e[n]=i[n]);this._stack.push(e)}},_processResult:function(t){""!==t&&(t=this._escapeSpecialSymbol(t),this._stack.length>0?this._resultObjectArray.push({text:t,style:this._stack[this._stack.length-1]}):this._resultObjectArray.push({text:t}))},_escapeSpecialSymbol:function(t){for(var e=0;e<this._specialSymbolArray.length;++e){var i=this._specialSymbolArray[e][0],n=this._specialSymbolArray[e][1];t=t.replace(i,n)}return t}},e.exports=r}),{}],322:[(function(t){"use strict";t("./CCPath"),t("./profiler/CCProfiler"),t("./find"),t("./mutable-forward-iterator")}),{"./CCPath":313,"./find":319,"./mutable-forward-iterator":324,"./profiler/CCProfiler":327}],323:[(function(t,e){"use strict";for(var i=t("../platform/js"),n={propertyDefine:function(t,e,n){function r(t,e,n,r){var s=Object.getOwnPropertyDescriptor(t,e);if(s)s.get&&(t[n]=s.get),s.set&&r&&(t[r]=s.set);else{var a=t[n];i.getset(t,e,a,t[r])}}for(var s,a=t.prototype,o=0;o<e.length;o++){var l=(s=e[o])[0].toUpperCase()+s.slice(1);r(a,s,"get"+l,"set"+l)}for(s in n){var c=n[s];r(a,s,c[0],c[1])}},NextPOT:function(t){return t-=1,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,1+(t|=t>>16)},BUILTIN_CLASSID_RE:/^(?:cc|dragonBones|sp|ccsg)\..+/},r=new Array(123),s=0;s<123;++s)r[s]=64;for(var a=0;a<64;++a)r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charCodeAt(a)]=a;n.BASE64_VALUES=r,n.pushToMap=function(t,e,i,n){var r=t[e];r?Array.isArray(r)?n?(r.push(r[0]),r[0]=i):r.push(i):t[e]=n?[i,r]:[r,i]:t[e]=i},n.clampf=function(t,e,i){if(e>i){var n=e;e=i,i=n}return t<e?e:t<i?t:i},n.clamp01=function(t){return t<0?0:t<1?t:1},n.lerp=function(t,e,i){return t+(e-t)*i},n.degreesToRadians=function(t){return t*cc.macro.RAD},n.radiansToDegrees=function(t){return t*cc.macro.DEG},cc.misc=e.exports=n}),{"../platform/js":259}],324:[(function(t,e){"use strict";function i(t){this.i=0,this.array=t}var n=i.prototype;n.remove=function(t){var e=this.array.indexOf(t);e>=0&&this.removeAt(e)},n.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},n.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},n.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},n.push=function(t){this.array.push(t)},e.exports=i}),{}],325:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(){this.enabled=!1,this.count=0,this.maxSize=1024}var e=t.prototype;return e.get=function(){},e.put=function(){},e.clear=function(){},t})();i.default=n,cc.pool={},n.register=function(t,e){cc.pool[t]=e},e.exports=i.default}),{}],326:[(function(t,e){"use strict";cc._PrefabInfo=cc.Class({name:"cc.PrefabInfo",properties:{root:null,asset:null,fileId:"",sync:!1}}),e.exports={syncWithPrefab:function(t){var e=t._prefab;if(!e.asset)return cc.errorID(3701,t.name),void(t._prefab=null);var i=t._objFlags,n=t._parent,r=t._id,s=t._name,a=t._active,o=t._eulerAngles.x,l=t._eulerAngles.y,c=t._eulerAngles.z,h=t._localZOrder,u=t._trs,_=u[0],f=u[1],d=u[2];cc.game._isCloning=!0,e.asset._doInstantiate(t),cc.game._isCloning=!1,t._objFlags=i,t._parent=n,t._id=r,t._prefab=e,t._name=s,t._active=a,t._localZOrder=h,(u=t._trs)[0]=_,u[1]=f,u[2]=d,t._eulerAngles.x=o,t._eulerAngles.y=l,t._eulerAngles.z=c}}}),{}],327:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("./perf-counter"),r=!1,s=15,a=null,o=null,l=null;function c(){if(!a){a={fps:{desc:"Framerate (FPS)",below:30,average:500},draws:{desc:"Draw Call"},frame:{desc:"Frame time (ms)",min:0,max:50,average:500},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},mode:{desc:cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WebGL":"Canvas",min:1}};var t=performance.now();for(var e in a)a[e]._counter=new n(e,a[e],t)}}function h(){if(!o||!o.isValid){(o=new cc.Node("PROFILER-NODE")).x=o.y=10,o.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera(),o.zIndex=i.MAX_ZINDEX,cc.game.addPersistRootNode(o);var t=new cc.Node("LEFT-PANEL");t.anchorX=t.anchorY=0;var e=t.addComponent(cc.Label);e.fontSize=s,e.lineHeight=s,t.parent=o;var n=new cc.Node("RIGHT-PANEL");n.anchorX=1,n.anchorY=0,n.x=200;var r=n.addComponent(cc.Label);r.horizontalAlign=cc.Label.HorizontalAlign.RIGHT,r.fontSize=s,r.lineHeight=s,n.parent=o,cc.sys.platform!==cc.sys.BAIDU_GAME_SUB&&cc.sys.platform!==cc.sys.WECHAT_GAME_SUB&&(e.cacheMode=cc.Label.CacheMode.CHAR,r.cacheMode=cc.Label.CacheMode.CHAR),l={left:e,right:r}}}function u(){h();var t=cc.director._lastUpdate;a.frame._counter.start(t),a.logic._counter.start(t)}function _(){var t=performance.now();cc.director.isPaused()?a.frame._counter.start(t):a.logic._counter.end(t),a.render._counter.start(t)}function f(){var t=performance.now();a.render._counter.end(t),a.draws._counter.value=cc.renderer.drawCalls,a.frame._counter.end(t),a.fps._counter.frame(t);var e="",i="";for(var n in a){var r=a[n];r._counter.sample(t),e+=r.desc+"\n",i+=r._counter.human()+"\n"}l&&(l.left.string=e,l.right.string=i)}cc.profiler=e.exports={isShowingStats:function(){return r},hideStats:function(){r&&(o&&(o.active=!1),cc.director.off(cc.Director.EVENT_BEFORE_UPDATE,u),cc.director.off(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.off(cc.Director.EVENT_AFTER_DRAW,f),r=!1)},showStats:function(){r||(c(),o&&(o.active=!0),cc.director.on(cc.Director.EVENT_BEFORE_UPDATE,u),cc.director.on(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.on(cc.Director.EVENT_AFTER_DRAW,f),r=!0)}}}),{"../../platform/CCMacro":243,"./perf-counter":329}],328:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Counter",ctor:function(t,e,i){this._id=t,this._opts=e||{},this._value=0,this._total=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._accumStart=i},properties:{value:{get:function(){return this._value},set:function(t){this._value=t}}},_average:function(t,e){if(this._opts.average){this._accumValue+=t,++this._accumSamples;var i=e;i-this._accumStart>=this._opts.average&&(this._averageValue=this._accumValue/this._accumSamples,this._accumValue=0,this._accumStart=i,this._accumSamples=0)}},sample:function(t){this._average(this._value,t)},human:function(){var t=this._opts.average?this._averageValue:this._value;return Math.round(100*t)/100},alarm:function(){return this._opts.below&&this._value<this._opts.below||this._opts.over&&this._value>this._opts.over}});e.exports=i}),{}],329:[(function(t,e){"use strict";var i=t("./counter"),n=cc.Class({name:"cc.PerfCounter",extends:i,ctor:function(t,e,i){this._time=i},start:function(t){this._time=t},end:function(t){this._value=t-this._time,this._average(this._value)},tick:function(){this.end(),this.start()},frame:function(t){var e=t,i=e-this._time;this._total++,i>(this._opts.average||1e3)&&(this._value=1e3*this._total/i,this._total=0,this._time=e,this._average(this._value))}});e.exports=n}),{"./counter":328}],330:[(function(t,e){"use strict";var i,n=new(((i=t("../platform/js"))&&i.__esModule?i:{default:i}).default.Pool)(2);function r(t){this.count=0,this.limit=t,this.datas={},this.head=null,this.tail=null}n.get=function(){return this._get()||{key:null,value:null,prev:null,next:null}},r.prototype.moveToHead=function(t){t.next=this.head,t.prev=null,null!==this.head&&(this.head.prev=t),this.head=t,null===this.tail&&(this.tail=t),this.count++,this.datas[t.key]=t},r.prototype.put=function(t,e){var i=n.get();if(i.key=t,i.value=e,this.count>=this.limit){var r=this.tail;delete this.datas[r.key],this.count--,this.tail=r.prev,this.tail.next=null,r.prev=null,r.next=null,n.put(r)}this.moveToHead(i)},r.prototype.remove=function(t){null!==t.prev?t.prev.next=t.next:this.head=t.next,null!==t.next?t.next.prev=t.prev:this.tail=t.prev,delete this.datas[t.key],this.count--},r.prototype.get=function(t){var e=this.datas[t];return e?(this.remove(e),this.moveToHead(e),e.value):null},r.prototype.clear=function(){this.count=0,this.datas={},this.head=null,this.tail=null},r.prototype.has=function(t){return!!this.datas[t]},r.prototype.delete=function(t){var e=this.datas[t];this.remove(e)};var s=new r(100),a={BASELINE_RATIO:.26,MIDDLE_RATIO:.37,BASELINE_OFFSET:0,label_wordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/,label_symbolRex:/^[!,.:;'}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/,label_lastWordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/,label_lastEnglish:/[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/,label_firstEnglish:/^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/,highSurrogateRex:/[\uD800-\uDBFF]/,lowSurrogateRex:/[\uDC00-\uDFFF]/,label_wrapinspection:!0,__CHINESE_REG:/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/,__JAPANESE_REG:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g,__KOREAN_REG:/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/,isUnicodeCJK:function(t){return this.__CHINESE_REG.test(t)||this.__JAPANESE_REG.test(t)||this.__KOREAN_REG.test(t)},isUnicodeSpace:function(t){return(t=t.charCodeAt(0))>=9&&t<=13||32===t||133===t||160===t||5760===t||t>=8192&&t<=8202||8232===t||8233===t||8239===t||8287===t||12288===t},safeMeasureText:function(t,e,i){var n=(i||t.font)+"\ud83c\udfae"+e,r=s.get(n);if(null!==r)return r;var a=t.measureText(e),o=a&&a.width||0;return s.put(n,o),o},_safeSubstring:function(t,e,i){var n=e,r=i,s=t[e];if(this.lowSurrogateRex.test(s)&&n--,void 0!==i)if(i-1!==e){var a=t[i-1];this.highSurrogateRex.test(a)&&r--}else this.highSurrogateRex.test(s)&&r++;return t.substring(n,r)},fragmentText:function(t,e,i,n){var r=[];if(0===t.length||i<0)return r.push(""),r;for(var s=t;e>i&&s.length>1;){for(var a=s.length*(i/e)|0,o=this._safeSubstring(s,a),l=e-n(o),c=o,h=0,u=0;l>i&&u++<10;)a*=i/l,a|=0,l=e-n(o=this._safeSubstring(s,a));for(u=0;l<=i&&u++<10;){if(o){var _=this.label_wordRex.exec(o);h=_?_[0].length:1,c=o}a+=h,l=e-n(o=this._safeSubstring(s,a))}0==(a-=h)?(a=1,c=this._safeSubstring(s,1)):1===a&&this.highSurrogateRex.test(s[0])&&(a=2,c=this._safeSubstring(s,2));var f,d=this._safeSubstring(s,0,a);this.label_wrapinspection&&this.label_symbolRex.test(c||o)&&(0==(a-=(f=this.label_lastWordRex.exec(d))?f[0].length:0)&&(a=1),c=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),this.label_firstEnglish.test(c)&&(f=this.label_lastEnglish.exec(d))&&d!==f[0]&&(a-=f[0].length,c=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),0===r.length?r.push(d):(d=d.trimLeft()).length>0&&r.push(d),e=n(s=c||o)}return 0===r.length?r.push(s):(s=s.trimLeft()).length>0&&r.push(s),r}};cc.textUtils=e.exports=a}),{"../platform/js":259}],331:[(function(t,e){"use strict";var i=t("../assets/CCTexture2D"),n={loadImage:function(t,e,i){cc.assertID(t,3103);var n=cc.assetManager.assets.get(t);if(n)return n.loaded?(e&&e.call(i,null,n),n):(n.once("load",(function(){e&&e.call(i,null,n)}),i),n);cc.assetManager.loadRemote(t,(function(t,n){e&&e.call(i,t,n)}))},cacheImage:function(t,e){if(t&&e){var n=new i;return n.initWithElement(e),cc.assetManager.assets.add(t,n),n}},postLoadTexture:function(t,e){t.loaded?e&&e():t.nativeUrl?cc.assetManager.postLoadNative(t,e):e&&e()}};e.exports=n}),{"../assets/CCTexture2D":120}],332:[(function(t,e){"use strict";var i=t("./node-unit"),n=t("./node-mem-pool");e.exports={NodeMemPool:new n(i)}}),{"./node-mem-pool":334,"./node-unit":335}],333:[(function(t,e){"use strict";var i=function(t){this._unitClass=t,this._pool=[],this._findOrder=[]},n=i.prototype;n._initNative=function(){this._nativeMemPool=new renderer.MemPool},n._buildUnit=function(t){return new this._unitClass(t,this)},n._destroyUnit=function(t){this._pool[t]=null;for(var e=0,i=this._findOrder.length;e<i;e++){var n=this._findOrder[e];if(n&&n.unitID==t){this._findOrder.splice(e,1);break}}},n._findUnitID=function(){for(var t=0,e=this._pool;e[t];)t++;return t},n.pop=function(){for(var t=null,e=0,i=this._findOrder,n=this._pool,r=i.length;e<r;e++){var s=i[e];if(s&&s.hasSpace()){t=s;break}}if(!t){var a=this._findUnitID();t=this._buildUnit(a),n[a]=t,i.push(t),e=i.length-1}var o=i[0];return o!==t&&(i[0]=t,i[e]=o),t.pop()},n.push=function(t){var e=this._pool[t.unitID];return e.push(t.index),this._findOrder.length>1&&e.isAllFree()&&this._destroyUnit(t.unitID),e},e.exports=i}),{}],334:[(function(t,e){"use strict";var i,n=t("./mem-pool"),r=function(t){n.call(this,t)};(i=function(){}).prototype=n.prototype;var s=r.prototype=new i;s._initNative=function(){this._nativeMemPool=new renderer.NodeMemPool},s._destroyUnit=function(t){n.prototype._destroyUnit.call(this,t)},e.exports=r}),{"./mem-pool":333}],335:[(function(t,e){"use strict";var i,n=t("../../value-types/utils"),r=(Uint32Array,10*n.FLOAT_BYTES),s=16*n.FLOAT_BYTES,a=16*n.FLOAT_BYTES,o=(Uint32Array,Uint32Array,Int32Array,Uint8Array,Uint8Array,Uint32Array,n.FLOAT_BYTES,t("./unit-base")),l=function(t,e){o.call(this,t,e);var i=this._contentNum;this.trsList=new n.FLOAT_ARRAY_TYPE(10*i),this.localMatList=new n.FLOAT_ARRAY_TYPE(16*i),this.worldMatList=new n.FLOAT_ARRAY_TYPE(16*i);for(var l=0;l<i;l++){var c=this._spacesData[l];c.trs=new n.FLOAT_ARRAY_TYPE(this.trsList.buffer,l*r,10),c.localMat=new n.FLOAT_ARRAY_TYPE(this.localMatList.buffer,l*s,16),c.worldMat=new n.FLOAT_ARRAY_TYPE(this.worldMatList.buffer,l*a,16)}};(i=function(){}).prototype=o.prototype,l.prototype=new i,e.exports=l}),{"../../value-types/utils":345,"./unit-base":336}],336:[(function(t,e){"use strict";var i=function(t,e,i){i=i||128,this.unitID=t,this._memPool=e,this._data=new Uint16Array(2),this._data[0]=0,this._data[1]=0,this._contentNum=i,this._signData=new Uint16Array(2*this._contentNum),this._spacesData=[];for(var n=0;n<i;n++){var r=2*n;this._signData[r+0]=n+1,this._signData[r+1]=0,this._spacesData[n]={index:n,unitID:t}}this._signData[2*(i-1)]=65535},n=i.prototype;n.hasSpace=function(){return 65535!==this._data[0]},n.isAllFree=function(){return 0==this._data[1]},n.pop=function(){var t=this._data[0];if(65535===t)return null;var e=t,i=2*e,n=this._spacesData[e];return this._signData[i+1]=1,this._data[0]=this._signData[i+0],this._data[1]++,n},n.push=function(t){var e=2*t;this._signData[e+1]=0,this._signData[e+0]=this._data[0],this._data[0]=t,this._data[1]--},n.dump=function(){for(var t=0,e=this._data[0],i="";65535!=e;)t++,i+=e+"->",e=this._signData[2*e+0];for(var n=0,r="",s=this._contentNum,a=0;a<s;a++)1==this._signData[2*a+1]&&(n++,r+=a+"->");var o=t+n;console.log("unitID:",this.unitID,"spaceNum:",t,"calc using num:",n,"store using num:",this._data[1],"calc total num:",o,"actually total num:",this._contentNum),console.log("free info:",i),console.log("using info:",r),n!=this._data[1]&&cc.error("using num error","calc using num:",n,"store using num:",this._data[1]),t+n!=this._contentNum&&cc.error("total num error","calc total num:",o,"actually total num:",this._contentNum)},e.exports=i}),{}],337:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./value-type")),r=a(t("../platform/CCClass")),s=a(t("../utils/misc"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function l(t,e,i){return e&&o(t.prototype,e),i&&o(t,i),t}var c=(function(t){var e,i;function n(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=255),(s=t.call(this)||this)._val=0,"object"==typeof e&&(i=e.g,n=e.b,r=e.a,e=e.r),s._val=(r<<24>>>0)+(n<<16)+(i<<8)+(0|e),s}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},n.clone=function(t){return new n(t.r,t.g,t.b,t.a)},n.set=function(t,e,i,n,r){return void 0===e&&(e=255),void 0===i&&(i=255),void 0===n&&(n=255),void 0===r&&(r=255),t.r=e,t.g=i,t.b=n,t.a=r,t},n.fromHex=function(t,e){var i=(e>>24)/255,n=(e>>16&255)/255,r=(e>>8&255)/255,s=(255&e)/255;return t.r=i,t.g=n,t.b=r,t.a=s,t},n.fromHEX=function(t,e){return e=0===e.indexOf("#")?e.substring(1):e,t.r=parseInt(e.substr(0,2),16)||0,t.g=parseInt(e.substr(2,2),16)||0,t.b=parseInt(e.substr(4,2),16)||0,t.a=parseInt(e.substr(6,2),16)||255,t._val=(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r,t},n.add=function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t.a=e.a+i.a,t},n.subtract=function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t.a=e.a-i.a,t},n.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t.a=e.a*i.a,t},n.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t.a=e.a/i.a,t},n.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t.a=e.a*i,t},n.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b,o=e.a;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=a+n*(i.b-a),t.a=o+n*(i.a-o),t},n.toArray=function(t,e,i){void 0===i&&(i=0);var r=e instanceof n||e.a>1?1/255:1;return t[i+0]=e.r*r,t[i+1]=e.g*r,t[i+2]=e.b*r,t[i+3]=e.a*r,t},n.fromArray=function(t,e,i){return void 0===i&&(i=0),e.r=255*t[i+0],e.g=255*t[i+1],e.b=255*t[i+2],e.a=255*t[i+3],e},n.premultiplyAlpha=function(t,e){var i=e.a/255;return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t._fastSetA(e.a),t},l(n,null,[{key:"WHITE",get:function(){return new n(255,255,255,255)}},{key:"BLACK",get:function(){return new n(0,0,0,255)}},{key:"TRANSPARENT",get:function(){return new n(0,0,0,0)}},{key:"GRAY",get:function(){return new n(127.5,127.5,127.5)}},{key:"RED",get:function(){return new n(255,0,0)}},{key:"GREEN",get:function(){return new n(0,255,0)}},{key:"BLUE",get:function(){return new n(0,0,255)}},{key:"YELLOW",get:function(){return new n(255,235,4)}},{key:"ORANGE",get:function(){return new n(255,127,0)}},{key:"CYAN",get:function(){return new n(0,255,255)}},{key:"MAGENTA",get:function(){return new n(255,0,255)}}]);var r=n.prototype;return r.clone=function(){var t=new n;return t._val=this._val,t},r.equals=function(t){return t&&this._val===t._val},r.lerp=function(t,e,i){i=i||new n;var r=this.r,s=this.g,a=this.b,o=this.a;return i.r=r+(t.r-r)*e,i.g=s+(t.g-s)*e,i.b=a+(t.b-a)*e,i.a=o+(t.a-o)*e,i},r.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},r.getR=function(){return 255&this._val},r.setR=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294967040&this._val|t)>>>0,this},r.getG=function(){return(65280&this._val)>>8},r.setG=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0,this},r.getB=function(){return(16711680&this._val)>>16},r.setB=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0,this},r.getA=function(){return(4278190080&this._val)>>>24},r.setA=function(t){return t=~~s.default.clampf(t,0,255),this._val=(16777215&this._val|t<<24)>>>0,this},r.toCSS=function(t){return t&&"rgba"!==t?"rgb"===t?"rgb("+this.r+","+this.g+","+this.b+")":"#"+this.toHEX(t):"rgba("+this.r+","+this.g+","+this.b+","+(this.a/255).toFixed(2)+")"},r.fromHEX=function(t){t=0===t.indexOf("#")?t.substring(1):t;var e=parseInt(t.substr(0,2),16)||0,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||255;return this._val=(r<<24>>>0)+(n<<16)+(i<<8)+e,this},r.toHEX=function(t){var e=[(this.r<16?"0":"")+this.r.toString(16),(this.g<16?"0":"")+this.g.toString(16),(this.b<16?"0":"")+this.b.toString(16)];return"#rgb"===t?(e[0]=e[0][0],e[1]=e[1][0],e[2]=e[2][0]):"#rrggbbaa"===t&&e.push((this.a<16?"0":"")+this.a.toString(16)),e.join("")},r.toRGBValue=function(){return 16777215&this._val},r.fromHSV=function(t,e,i){var n,r,s;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6;var a=Math.floor(t),o=t-a,l=i*(1-e),c=i*(1-e*o),h=i*(1-e*(1-o));switch(a){case 0:n=i,r=h,s=l;break;case 1:n=c,r=i,s=l;break;case 2:n=l,r=i,s=h;break;case 3:n=l,r=c,s=i;break;case 4:n=h,r=l,s=i;break;case 5:n=i,r=l,s=c}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+(0|n),this},r.toHSV=function(){var t=this.r/255,e=this.g/255,i=this.b/255,n={h:0,s:0,v:0},r=Math.max(t,e,i),s=Math.min(t,e,i),a=0;return n.v=r,n.s=r?(r-s)/r:0,n.s?(a=r-s,n.h=t===r?(e-i)/a:e===r?2+(i-t)/a:4+(t-e)/a,n.h/=6,n.h<0&&(n.h+=1)):n.h=0,n},r.set=function(t){return t._val?this._val=t._val:(this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a),this},r._fastSetA=function(t){this._val=(16777215&this._val|t<<24)>>>0},r.multiply=function(t){var e=(255&this._val)*t.r>>8,i=(65280&this._val)*t.g>>8,n=(16711680&this._val)*t.b>>8,r=((4278190080&this._val)>>>8)*t.a;return this._val=4278190080&r|16711680&n|65280&i|255&e,this},l(n,[{key:"r",get:function(){return this.getR()},set:function(t){this.setR(t)}},{key:"g",get:function(){return this.getG()},set:function(t){this.setG(t)}},{key:"b",get:function(){return this.getB()},set:function(t){this.setB(t)}},{key:"a",get:function(){return this.getA()},set:function(t){this.setA(t)}}]),n})(n.default);i.default=c,c.div=c.divide,c.sub=c.subtract,c.mul=c.multiply,c.WHITE_R=c.WHITE,c.BLACK_R=c.BLACK,c.TRANSPARENT_R=c.TRANSPARENT,c.GRAY_R=c.GRAY,c.RED_R=c.RED,c.GREEN_R=c.GREEN,c.BLUE_R=c.BLUE,c.YELLOW_R=c.YELLOW,c.ORANGE_R=c.ORANGE,c.CYAN_R=c.CYAN,c.MAGENTA_R=c.MAGENTA,r.default.fastDefine("cc.Color",c,{r:0,g:0,b:0,a:255}),cc.Color=c,cc.color=function(t,e,i,n){return"string"==typeof t?(new c).fromHEX(t):"object"==typeof t?new c(t.r,t.g,t.b,t.a):new c(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":238,"../utils/misc":323,"./value-type":346}],338:[(function(t,e,i){"use strict";i.__esModule=!0;var n={Vec2:!0,Vec3:!0,Vec4:!0,Mat4:!0,Mat3:!0,Rect:!0,Size:!0,Color:!0,Quat:!0,Trs:!0};i.Trs=i.Quat=i.Color=i.Size=i.Rect=i.Mat3=i.Mat4=i.Vec4=i.Vec3=i.Vec2=void 0;var r=p(t("./vec2"));i.Vec2=r.default;var s=p(t("./vec3"));i.Vec3=s.default;var a=p(t("./vec4"));i.Vec4=a.default;var o=p(t("./mat4"));i.Mat4=o.default;var l=p(t("./mat3"));i.Mat3=l.default;var c=p(t("./rect"));i.Rect=c.default;var h=p(t("./size"));i.Size=h.default;var u=p(t("./color"));i.Color=u.default;var _=p(t("./quat"));i.Quat=_.default;var f=p(t("./trs"));i.Trs=f.default;var d=t("./utils");function p(t){return t&&t.__esModule?t:{default:t}}Object.keys(d).forEach((function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in i&&i[t]===d[t]||(i[t]=d[t]))})),cc.math=e.exports}),{"./color":337,"./mat3":339,"./mat4":340,"./quat":341,"./rect":342,"./size":343,"./trs":344,"./utils":345,"./vec2":347,"./vec3":348,"./vec4":349}],339:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types/utils"),s=(n=t("./vec3"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,s,a,o,l,c){if(void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===l&&(l=0),void 0===c&&(c=1),this.m=void 0,t instanceof r.FLOAT_ARRAY_TYPE)this.m=t;else{this.m=new r.FLOAT_ARRAY_TYPE(9);var h=this.m;h[0]=t,h[1]=e,h[2]=i,h[3]=n,h[4]=s,h[5]=a,h[6]=o,h[7]=l,h[8]=c}}return t.create=function(e,i,n,r,s,a,o,l,c){return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===l&&(l=0),void 0===c&&(c=1),new t(e,i,n,r,s,a,o,l,c)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},t.copy=function(t,e){return t.m.set(e.m),t},t.set=function(t,e,i,n,r,s,a,o,l,c){var h=t.m;return h[0]=e,h[1]=i,h[2]=n,h[3]=r,h[4]=s,h[5]=a,h[6]=o,h[7]=l,h[8]=c,t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,t},t.transpose=function(t,e){var i=e.m,n=t.m;if(t===e){var r=i[1],s=i[2],a=i[5];n[1]=i[3],n[2]=i[6],n[3]=r,n[5]=i[7],n[6]=s,n[7]=a}else n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8],f=_*l-c*u,d=-_*o+c*h,p=u*o-l*h,m=r*f+s*d+a*p;return m?(m=1/m,n[0]=f*m,n[1]=(-_*s+a*u)*m,n[2]=(c*s-a*l)*m,n[3]=d*m,n[4]=(_*r-a*h)*m,n[5]=(-c*r+a*o)*m,n[6]=p*m,n[7]=(-u*r+s*h)*m,n[8]=(l*r-s*o)*m,t):t},t.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8];return n[0]=l*_-c*u,n[1]=a*u-s*_,n[2]=s*c-a*l,n[3]=c*h-o*_,n[4]=r*_-a*h,n[5]=a*o-r*c,n[6]=o*u-l*h,n[7]=s*h-r*u,n[8]=r*l-s*o,t},t.determinant=function(t){var e=t.m,i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8];return i*(h*a-o*c)+n*(-h*s+o*l)+r*(c*s-a*l)},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],l=n[2],c=n[3],h=n[4],u=n[5],_=n[6],f=n[7],d=n[8],p=r[0],m=r[1],y=r[2],v=r[3],g=r[4],b=r[5],A=r[6],x=r[7],C=r[8];return s[0]=p*a+m*c+y*_,s[1]=p*o+m*h+y*f,s[2]=p*l+m*u+y*d,s[3]=v*a+g*c+b*_,s[4]=v*o+g*h+b*f,s[5]=v*l+g*u+b*d,s[6]=A*a+x*c+C*_,s[7]=A*o+x*h+C*f,s[8]=A*l+x*u+C*d,t},t.multiplyMat4=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],l=n[2],c=n[3],h=n[4],u=n[5],_=n[6],f=n[7],d=n[8],p=r[0],m=r[1],y=r[2],v=r[4],g=r[5],b=r[6],A=r[8],x=r[9],C=r[10];return s[0]=p*a+m*c+y*_,s[1]=p*o+m*h+y*f,s[2]=p*l+m*u+y*d,s[3]=v*a+g*c+b*_,s[4]=v*o+g*h+b*f,s[5]=v*l+g*u+b*d,s[6]=A*a+x*c+C*_,s[7]=A*o+x*h+C*f,s[8]=A*l+x*u+C*d,t},t.translate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],l=n[3],c=n[4],h=n[5],u=n[6],_=n[7],f=n[8],d=i.x,p=i.y;return r[0]=s,r[1]=a,r[2]=o,r[3]=l,r[4]=c,r[5]=h,r[6]=d*s+p*l+u,r[7]=d*a+p*c+_,r[8]=d*o+p*h+f,t},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],l=n[3],c=n[4],h=n[5],u=n[6],_=n[7],f=n[8],d=Math.sin(i),p=Math.cos(i);return r[0]=p*s+d*l,r[1]=p*a+d*c,r[2]=p*o+d*h,r[3]=p*l-d*s,r[4]=p*c-d*a,r[5]=p*h-d*o,r[6]=u,r[7]=_,r[8]=f,t},t.scale=function(t,e,i){var n=i.x,r=i.y,s=e.m,a=t.m;return a[0]=n*s[0],a[1]=n*s[1],a[2]=n*s[2],a[3]=r*s[3],a[4]=r*s[4],a[5]=r*s[5],a[6]=s[6],a[7]=s[7],a[8]=s[8],t},t.fromMat4=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=i[1],n[2]=i[2],n[3]=i[4],n[4]=i[5],n[5]=i[6],n[6]=i[8],n[7]=i[9],n[8]=i[10],t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=e.x,i[7]=e.y,i[8]=1,t},t.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=e.y,i[5]=0,i[6]=0,i[7]=0,i[8]=1,t},t.fromQuat=function(t,e){var i=t.m,n=e.x,r=e.y,s=e.z,a=e.w,o=n+n,l=r+r,c=s+s,h=n*o,u=r*o,_=r*l,f=s*o,d=s*l,p=s*c,m=a*o,y=a*l,v=a*c;return i[0]=1-_-p,i[3]=u-v,i[6]=f+y,i[1]=u+v,i[4]=1-h-p,i[7]=d-m,i[2]=f-y,i[5]=d+m,i[8]=1-h-_,t},t.fromViewUp=function(e,i,n){var a,o,l;return(a=new s.default(0,1,0),o=new s.default,l=new s.default,function(e,i,n){return s.default.lengthSqr(i)<r.EPSILON*r.EPSILON?(t.identity(e),e):(n=n||a,s.default.normalize(o,s.default.cross(o,n,i)),s.default.lengthSqr(o)<r.EPSILON*r.EPSILON?(t.identity(e),e):(s.default.cross(l,i,o),t.set(e,o.x,o.y,o.z,l.x,l.y,l.z,i.x,i.y,i.z),e))})(e,i,n)},t.normalFromMat4=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8],f=i[9],d=i[10],p=i[11],m=i[12],y=i[13],v=i[14],g=i[15],b=r*c-s*l,A=r*h-a*l,x=r*u-o*l,C=s*h-a*c,T=s*u-o*c,S=a*u-o*h,w=_*y-f*m,E=_*v-d*m,M=_*g-p*m,D=f*v-d*y,B=f*g-p*y,I=d*g-p*v,P=b*I-A*B+x*D+C*M-T*E+S*w;return P?(P=1/P,n[0]=(c*I-h*B+u*D)*P,n[1]=(h*M-l*I-u*E)*P,n[2]=(l*B-c*M+u*w)*P,n[3]=(a*B-s*I-o*D)*P,n[4]=(r*I-a*M+o*E)*P,n[5]=(s*M-r*B-o*w)*P,n[6]=(y*S-v*T+g*C)*P,n[7]=(v*x-m*S-g*A)*P,n[8]=(m*T-y*x+g*b)*P,t):t},t.frob=function(t){var e=t.m;return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2))},t.add=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]+r[0],s[1]=n[1]+r[1],s[2]=n[2]+r[2],s[3]=n[3]+r[3],s[4]=n[4]+r[4],s[5]=n[5]+r[5],s[6]=n[6]+r[6],s[7]=n[7]+r[7],s[8]=n[8]+r[8],t},t.subtract=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]-r[0],s[1]=n[1]-r[1],s[2]=n[2]-r[2],s[3]=n[3]-r[3],s[4]=n[4]-r[4],s[5]=n[5]-r[5],s[6]=n[6]-r[6],s[7]=n[7]-r[7],s[8]=n[8]-r[8],t},t.multiplyScalar=function(t,e,i){var n=e.m,r=t.m;return r[0]=n[0]*i,r[1]=n[1]*i,r[2]=n[2]*i,r[3]=n[3]*i,r[4]=n[4]*i,r[5]=n[5]*i,r[6]=n[6]*i,r[7]=n[7]*i,r[8]=n[8]*i,t},t.multiplyScalarAndAdd=function(t,e,i,n){var r=e.m,s=i.m,a=t.m;return a[0]=r[0]+s[0]*n,a[1]=r[1]+s[1]*n,a[2]=r[2]+s[2]*n,a[3]=r[3]+s[3]*n,a[4]=r[4]+s[4]*n,a[5]=r[5]+s[5]*n,a[6]=r[6]+s[6]*n,a[7]=r[7]+s[7]*n,a[8]=r[8]+s[8]*n,t},t.exactEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]},t.equals=function(t,e){var i=t.m,n=e.m,s=i[0],a=i[1],o=i[2],l=i[3],c=i[4],h=i[5],u=i[6],_=i[7],f=i[8],d=n[0],p=n[1],m=n[2],y=n[3],v=n[4],g=n[5],b=n[6],A=n[7],x=n[8];return Math.abs(s-d)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(a-p)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(o-m)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(l-y)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(c-v)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(v))&&Math.abs(h-g)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(g))&&Math.abs(u-b)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(_-A)<=r.EPSILON*Math.max(1,Math.abs(_),Math.abs(A))&&Math.abs(f-x)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(x))},t.toArray=function(t,e,i){void 0===i&&(i=0);for(var n=e.m,r=0;r<9;r++)t[i+r]=n[r];return t},t.fromArray=function(t,e,i){void 0===i&&(i=0);for(var n=t.m,r=0;r<9;r++)n[r]=e[i+r];return t},t.prototype.toString=function(){var t=this.m;return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},t})();i.default=a,a.sub=a.subtract,a.mul=a.multiply,a.IDENTITY=Object.freeze(new a),cc.Mat3=a,e.exports=i.default}),{"../value-types/utils":345,"./vec3":348}],340:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=c(t("./value-type")),r=c(t("../platform/CCClass")),s=c(t("./vec3")),a=c(t("./quat")),o=t("./utils"),l=c(t("./mat3"));function c(t){return t&&t.__esModule?t:{default:t}}var h=0,u=0,_=0,f=0,d=0,p=0,m=0,y=0,v=0,g=0,b=0,A=0,x=0,C=0,T=0,S=0,w=(function(t){var e,i;i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var n=r.prototype;function r(e,i,n,r,s,a,l,c,h,u,_,f,d,p,m,y){var v;if(void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=1),void 0===l&&(l=0),void 0===c&&(c=0),void 0===h&&(h=0),void 0===u&&(u=0),void 0===_&&(_=1),void 0===f&&(f=0),void 0===d&&(d=0),void 0===p&&(p=0),void 0===m&&(m=0),void 0===y&&(y=1),(v=t.call(this)||this).m=void 0,e instanceof o.FLOAT_ARRAY_TYPE)v.m=e;else{v.m=new o.FLOAT_ARRAY_TYPE(16);var g=v.m;g[0]=e,g[1]=i,g[2]=n,g[3]=r,g[4]=s,g[5]=a,g[6]=l,g[7]=c,g[8]=h,g[9]=u,g[10]=_,g[11]=f,g[12]=d,g[13]=p,g[14]=m,g[15]=y}return v}return n.mul=function(t,e){return r.multiply(e||new r,this,t)},n.mulScalar=function(t,e){r.multiplyScalar(e||new r,this,t)},n.sub=function(t,e){r.subtract(e||new r,this,t)},r.clone=function(t){var e=t.m;return new r(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},r.copy=function(t,e){var i=t.m,n=e.m;return i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=n[3],i[4]=n[4],i[5]=n[5],i[6]=n[6],i[7]=n[7],i[8]=n[8],i[9]=n[9],i[10]=n[10],i[11]=n[11],i[12]=n[12],i[13]=n[13],i[14]=n[14],i[15]=n[15],t},r.set=function(t,e,i,n,r,s,a,o,l,c,h,u,_,f,d,p,m){var y=t.m;return y[0]=e,y[1]=i,y[2]=n,y[3]=r,y[4]=s,y[5]=a,y[6]=o,y[7]=l,y[8]=c,y[9]=h,y[10]=u,y[11]=_,y[12]=f,y[13]=d,y[14]=p,y[15]=m,t},r.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,t},r.transpose=function(t,e){var i=t.m,n=e.m;if(t===e){var r=n[1],s=n[2],a=n[3],o=n[6],l=n[7],c=n[11];i[1]=n[4],i[2]=n[8],i[3]=n[12],i[4]=r,i[6]=n[9],i[7]=n[13],i[8]=s,i[9]=o,i[11]=n[14],i[12]=a,i[13]=l,i[14]=c}else i[0]=n[0],i[1]=n[4],i[2]=n[8],i[3]=n[12],i[4]=n[1],i[5]=n[5],i[6]=n[9],i[7]=n[13],i[8]=n[2],i[9]=n[6],i[10]=n[10],i[11]=n[14],i[12]=n[3],i[13]=n[7],i[14]=n[11],i[15]=n[15];return t},r.invert=function(t,e){var i=e.m;h=i[0],u=i[1],_=i[2],f=i[3],d=i[4],p=i[5],m=i[6],y=i[7],v=i[8],g=i[9],b=i[10],A=i[11],x=i[12],C=i[13],T=i[14],S=i[15];var n=h*p-u*d,r=h*m-_*d,s=h*y-f*d,a=u*m-_*p,o=u*y-f*p,l=_*y-f*m,c=v*C-g*x,w=v*T-b*x,E=v*S-A*x,M=g*T-b*C,D=g*S-A*C,B=b*S-A*T,I=n*B-r*D+s*M+a*E-o*w+l*c;if(0===I)return null;I=1/I;var P=t.m;return P[0]=(p*B-m*D+y*M)*I,P[1]=(_*D-u*B-f*M)*I,P[2]=(C*l-T*o+S*a)*I,P[3]=(b*o-g*l-A*a)*I,P[4]=(m*E-d*B-y*w)*I,P[5]=(h*B-_*E+f*w)*I,P[6]=(T*s-x*l-S*r)*I,P[7]=(v*l-b*s+A*r)*I,P[8]=(d*D-p*E+y*c)*I,P[9]=(u*E-h*D-f*c)*I,P[10]=(x*o-C*s+S*n)*I,P[11]=(g*s-v*o-A*n)*I,P[12]=(p*w-d*M-m*c)*I,P[13]=(h*M-u*w+_*c)*I,P[14]=(C*r-x*a-T*n)*I,P[15]=(v*a-g*r+b*n)*I,t},r.determinant=function(t){var e=t.m;return h=e[0],u=e[1],_=e[2],f=e[3],d=e[4],p=e[5],m=e[6],y=e[7],v=e[8],g=e[9],b=e[10],A=e[11],x=e[12],C=e[13],T=e[14],S=e[15],(h*p-u*d)*(b*S-A*T)-(h*m-_*d)*(g*S-A*C)+(h*y-f*d)*(g*T-b*C)+(u*m-_*p)*(v*S-A*x)-(u*y-f*p)*(v*T-b*x)+(_*y-f*m)*(v*C-g*x)},r.multiply=function(t,e,i){var n=t.m,r=e.m,s=i.m;h=r[0],u=r[1],_=r[2],f=r[3],d=r[4],p=r[5],m=r[6],y=r[7],v=r[8],g=r[9],b=r[10],A=r[11],x=r[12],C=r[13],T=r[14],S=r[15];var a=s[0],o=s[1],l=s[2],c=s[3];return n[0]=a*h+o*d+l*v+c*x,n[1]=a*u+o*p+l*g+c*C,n[2]=a*_+o*m+l*b+c*T,n[3]=a*f+o*y+l*A+c*S,a=s[4],o=s[5],l=s[6],c=s[7],n[4]=a*h+o*d+l*v+c*x,n[5]=a*u+o*p+l*g+c*C,n[6]=a*_+o*m+l*b+c*T,n[7]=a*f+o*y+l*A+c*S,a=s[8],o=s[9],l=s[10],c=s[11],n[8]=a*h+o*d+l*v+c*x,n[9]=a*u+o*p+l*g+c*C,n[10]=a*_+o*m+l*b+c*T,n[11]=a*f+o*y+l*A+c*S,a=s[12],o=s[13],l=s[14],c=s[15],n[12]=a*h+o*d+l*v+c*x,n[13]=a*u+o*p+l*g+c*C,n[14]=a*_+o*m+l*b+c*T,n[15]=a*f+o*y+l*A+c*S,t},r.transform=function(t,e,i){var n=i.x,r=i.y,s=i.z,a=t.m,o=e.m;return e===t?(a[12]=o[0]*n+o[4]*r+o[8]*s+o[12],a[13]=o[1]*n+o[5]*r+o[9]*s+o[13],a[14]=o[2]*n+o[6]*r+o[10]*s+o[14],a[15]=o[3]*n+o[7]*r+o[11]*s+o[15]):(h=o[0],u=o[1],_=o[2],f=o[3],d=o[4],p=o[5],m=o[6],y=o[7],v=o[8],g=o[9],b=o[10],A=o[11],x=o[12],C=o[13],T=o[14],S=o[15],a[0]=h,a[1]=u,a[2]=_,a[3]=f,a[4]=d,a[5]=p,a[6]=m,a[7]=y,a[8]=v,a[9]=g,a[10]=b,a[11]=A,a[12]=h*n+d*r+v*s+o[12],a[13]=u*n+p*r+g*s+o[13],a[14]=_*n+m*r+b*s+o[14],a[15]=f*n+y*r+A*s+o[15]),t},r.translate=function(t,e,i){var n=t.m,r=e.m;return e===t?(n[12]+=i.x,n[13]+=i.y,n[14]+=i.z):(n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]+=i.x,n[13]+=i.y,n[14]+=i.z,n[15]=r[15]),t},r.scale=function(t,e,i){var n=i.x,r=i.y,s=i.z,a=t.m,o=e.m;return a[0]=o[0]*n,a[1]=o[1]*n,a[2]=o[2]*n,a[3]=o[3]*n,a[4]=o[4]*r,a[5]=o[5]*r,a[6]=o[6]*r,a[7]=o[7]*r,a[8]=o[8]*s,a[9]=o[9]*s,a[10]=o[10]*s,a[11]=o[11]*s,a[12]=o[12],a[13]=o[13],a[14]=o[14],a[15]=o[15],t},r.rotate=function(t,e,i,n){var r=n.x,s=n.y,a=n.z,l=Math.sqrt(r*r+s*s+a*a);if(Math.abs(l)<o.EPSILON)return null;r*=l=1/l,s*=l,a*=l;var c=Math.sin(i),x=Math.cos(i),C=1-x,T=e.m;h=T[0],u=T[1],_=T[2],f=T[3],d=T[4],p=T[5],m=T[6],y=T[7],v=T[8],g=T[9],b=T[10],A=T[11];var S=r*r*C+x,w=s*r*C+a*c,E=a*r*C-s*c,M=r*s*C-a*c,D=s*s*C+x,B=a*s*C+r*c,I=r*a*C+s*c,P=s*a*C-r*c,R=a*a*C+x,O=t.m;return O[0]=h*S+d*w+v*E,O[1]=u*S+p*w+g*E,O[2]=_*S+m*w+b*E,O[3]=f*S+y*w+A*E,O[4]=h*M+d*D+v*B,O[5]=u*M+p*D+g*B,O[6]=_*M+m*D+b*B,O[7]=f*M+y*D+A*B,O[8]=h*I+d*P+v*R,O[9]=u*I+p*P+g*R,O[10]=_*I+m*P+b*R,O[11]=f*I+y*P+A*R,e!==t&&(O[12]=T[12],O[13]=T[13],O[14]=T[14],O[15]=T[15]),t},r.rotateX=function(t,e,i){var n=t.m,r=e.m,s=Math.sin(i),a=Math.cos(i),o=r[4],l=r[5],c=r[6],h=r[7],u=r[8],_=r[9],f=r[10],d=r[11];return e!==t&&(n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15]),n[4]=o*a+u*s,n[5]=l*a+_*s,n[6]=c*a+f*s,n[7]=h*a+d*s,n[8]=u*a-o*s,n[9]=_*a-l*s,n[10]=f*a-c*s,n[11]=d*a-h*s,t},r.rotateY=function(t,e,i){var n=t.m,r=e.m,s=Math.sin(i),a=Math.cos(i),o=r[0],l=r[1],c=r[2],h=r[3],u=r[8],_=r[9],f=r[10],d=r[11];return e!==t&&(n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15]),n[0]=o*a-u*s,n[1]=l*a-_*s,n[2]=c*a-f*s,n[3]=h*a-d*s,n[8]=o*s+u*a,n[9]=l*s+_*a,n[10]=c*s+f*a,n[11]=h*s+d*a,t},r.rotateZ=function(t,e,i){var n=e.m,r=t.m,s=Math.sin(i),a=Math.cos(i),o=e.m[0],l=e.m[1],c=e.m[2],h=e.m[3],u=e.m[4],_=e.m[5],f=e.m[6],d=e.m[7];return e!==t&&(r[8]=n[8],r[9]=n[9],r[10]=n[10],r[11]=n[11],r[12]=n[12],r[13]=n[13],r[14]=n[14],r[15]=n[15]),r[0]=o*a+u*s,r[1]=l*a+_*s,r[2]=c*a+f*s,r[3]=h*a+d*s,r[4]=u*a-o*s,r[5]=_*a-l*s,r[6]=f*a-c*s,r[7]=d*a-h*s,t},r.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,t},r.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=e.y,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=e.z,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t},r.fromRotation=function(t,e,i){var n=i.x,r=i.y,s=i.z,a=Math.sqrt(n*n+r*r+s*s);if(Math.abs(a)<o.EPSILON)return null;n*=a=1/a,r*=a,s*=a;var l=Math.sin(e),c=Math.cos(e),h=1-c,u=t.m;return u[0]=n*n*h+c,u[1]=r*n*h+s*l,u[2]=s*n*h-r*l,u[3]=0,u[4]=n*r*h-s*l,u[5]=r*r*h+c,u[6]=s*r*h+n*l,u[7]=0,u[8]=n*s*h+r*l,u[9]=r*s*h-n*l,u[10]=s*s*h+c,u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,t},r.fromXRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=n,r[6]=i,r[7]=0,r[8]=0,r[9]=-i,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,t},r.fromYRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=0,r[2]=-i,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=i,r[9]=0,r[10]=n,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,t},r.fromZRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=i,r[2]=0,r[3]=0,r[4]=-i,r[5]=n,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,t},r.fromRT=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,o=n+n,l=r+r,c=s+s,h=n*o,u=n*l,_=n*c,f=r*l,d=r*c,p=s*c,m=a*o,y=a*l,v=a*c,g=t.m;return g[0]=1-(f+p),g[1]=u+v,g[2]=_-y,g[3]=0,g[4]=u-v,g[5]=1-(h+p),g[6]=d+m,g[7]=0,g[8]=_+y,g[9]=d-m,g[10]=1-(h+f),g[11]=0,g[12]=i.x,g[13]=i.y,g[14]=i.z,g[15]=1,t},r.getTranslation=function(t,e){var i=e.m;return t.x=i[12],t.y=i[13],t.z=i[14],t},r.getScaling=function(t,e){var i=e.m,n=M.m,r=n[0]=i[0],s=n[1]=i[1],a=n[2]=i[2],o=n[3]=i[4],c=n[4]=i[5],h=n[5]=i[6],u=n[6]=i[8],_=n[7]=i[9],f=n[8]=i[10];return t.x=Math.sqrt(r*r+s*s+a*a),t.y=Math.sqrt(o*o+c*c+h*h),t.z=Math.sqrt(u*u+_*_+f*f),l.default.determinant(M)<0&&(t.x*=-1),t},r.getRotation=function(t,e){var i=e.m,n=i[0]+i[5]+i[10],r=0;return n>0?(r=2*Math.sqrt(n+1),t.w=.25*r,t.x=(i[6]-i[9])/r,t.y=(i[8]-i[2])/r,t.z=(i[1]-i[4])/r):i[0]>i[5]&&i[0]>i[10]?(r=2*Math.sqrt(1+i[0]-i[5]-i[10]),t.w=(i[6]-i[9])/r,t.x=.25*r,t.y=(i[1]+i[4])/r,t.z=(i[8]+i[2])/r):i[5]>i[10]?(r=2*Math.sqrt(1+i[5]-i[0]-i[10]),t.w=(i[8]-i[2])/r,t.x=(i[1]+i[4])/r,t.y=.25*r,t.z=(i[6]+i[9])/r):(r=2*Math.sqrt(1+i[10]-i[0]-i[5]),t.w=(i[1]-i[4])/r,t.x=(i[8]+i[2])/r,t.y=(i[6]+i[9])/r,t.z=.25*r),t},r.toRTS=function(t,e,i,n){var r=t.m,o=M.m;n.x=s.default.set(E,r[0],r[1],r[2]).mag(),o[0]=r[0]/n.x,o[1]=r[1]/n.x,o[2]=r[2]/n.x,n.y=s.default.set(E,r[4],r[5],r[6]).mag(),o[3]=r[4]/n.y,o[4]=r[5]/n.y,o[5]=r[6]/n.y,n.z=s.default.set(E,r[8],r[9],r[10]).mag(),o[6]=r[8]/n.z,o[7]=r[9]/n.z,o[8]=r[10]/n.z,l.default.determinant(M)<0&&(n.x*=-1,o[0]*=-1,o[1]*=-1,o[2]*=-1),a.default.fromMat3(e,M),s.default.set(i,r[12],r[13],r[14])},r.fromRTS=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,l=r+r,c=s+s,h=a+a,u=r*l,_=r*c,f=r*h,d=s*c,p=s*h,m=a*h,y=o*l,v=o*c,g=o*h,b=n.x,A=n.y,x=n.z,C=t.m;return C[0]=(1-(d+m))*b,C[1]=(_+g)*b,C[2]=(f-v)*b,C[3]=0,C[4]=(_-g)*A,C[5]=(1-(u+m))*A,C[6]=(p+y)*A,C[7]=0,C[8]=(f+v)*x,C[9]=(p-y)*x,C[10]=(1-(u+d))*x,C[11]=0,C[12]=i.x,C[13]=i.y,C[14]=i.z,C[15]=1,t},r.fromRTSOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,l=e.w,c=s+s,h=a+a,u=o+o,_=s*c,f=s*h,d=s*u,p=a*h,m=a*u,y=o*u,v=l*c,g=l*h,b=l*u,A=n.x,x=n.y,C=n.z,T=r.x,S=r.y,w=r.z,E=t.m;return E[0]=(1-(p+y))*A,E[1]=(f+b)*A,E[2]=(d-g)*A,E[3]=0,E[4]=(f-b)*x,E[5]=(1-(_+y))*x,E[6]=(m+v)*x,E[7]=0,E[8]=(d+g)*C,E[9]=(m-v)*C,E[10]=(1-(_+p))*C,E[11]=0,E[12]=i.x+T-(E[0]*T+E[4]*S+E[8]*w),E[13]=i.y+S-(E[1]*T+E[5]*S+E[9]*w),E[14]=i.z+w-(E[2]*T+E[6]*S+E[10]*w),E[15]=1,t},r.fromQuat=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i+i,o=n+n,l=r+r,c=i*a,h=n*a,u=n*o,_=r*a,f=r*o,d=r*l,p=s*a,m=s*o,y=s*l,v=t.m;return v[0]=1-u-d,v[1]=h+y,v[2]=_-m,v[3]=0,v[4]=h-y,v[5]=1-c-d,v[6]=f+p,v[7]=0,v[8]=_+m,v[9]=f-p,v[10]=1-c-u,v[11]=0,v[12]=0,v[13]=0,v[14]=0,v[15]=1,t},r.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),l=1/(r-n),c=1/(s-a),h=t.m;return h[0]=2*s*o,h[1]=0,h[2]=0,h[3]=0,h[4]=0,h[5]=2*s*l,h[6]=0,h[7]=0,h[8]=(i+e)*o,h[9]=(r+n)*l,h[10]=(a+s)*c,h[11]=-1,h[12]=0,h[13]=0,h[14]=a*s*2*c,h[15]=0,t},r.perspective=function(t,e,i,n,r){var s=1/Math.tan(e/2),a=1/(n-r),o=t.m;return o[0]=s/i,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(r+n)*a,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*r*n*a,o[15]=0,t},r.ortho=function(t,e,i,n,r,s,a){var o=1/(e-i),l=1/(n-r),c=1/(s-a),h=t.m;return h[0]=-2*o,h[1]=0,h[2]=0,h[3]=0,h[4]=0,h[5]=-2*l,h[6]=0,h[7]=0,h[8]=0,h[9]=0,h[10]=2*c,h[11]=0,h[12]=(e+i)*o,h[13]=(r+n)*l,h[14]=(a+s)*c,h[15]=1,t},r.lookAt=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=n.x,l=n.y,c=n.z,h=r-i.x,u=s-i.y,_=a-i.z,f=1/Math.sqrt(h*h+u*u+_*_),d=l*(_*=f)-c*(u*=f),p=c*(h*=f)-o*_,m=o*u-l*h,y=u*(m*=f=1/Math.sqrt(d*d+p*p+m*m))-_*(p*=f),v=_*(d*=f)-h*m,g=h*p-u*d,b=t.m;return b[0]=d,b[1]=y,b[2]=h,b[3]=0,b[4]=p,b[5]=v,b[6]=u,b[7]=0,b[8]=m,b[9]=g,b[10]=_,b[11]=0,b[12]=-(d*r+p*s+m*a),b[13]=-(y*r+v*s+g*a),b[14]=-(h*r+u*s+_*a),b[15]=1,t},r.inverseTranspose=function(t,e){var i=e.m;h=i[0],u=i[1],_=i[2],f=i[3],d=i[4],p=i[5],m=i[6],y=i[7],v=i[8],g=i[9],b=i[10],A=i[11],x=i[12],C=i[13],T=i[14],S=i[15];var n=h*p-u*d,r=h*m-_*d,s=h*y-f*d,a=u*m-_*p,o=u*y-f*p,l=_*y-f*m,c=v*C-g*x,w=v*T-b*x,E=v*S-A*x,M=g*T-b*C,D=g*S-A*C,B=b*S-A*T,I=n*B-r*D+s*M+a*E-o*w+l*c;return I?(I=1/I,(i=t.m)[0]=(p*B-m*D+y*M)*I,i[1]=(m*E-d*B-y*w)*I,i[2]=(d*D-p*E+y*c)*I,i[3]=0,i[4]=(_*D-u*B-f*M)*I,i[5]=(h*B-_*E+f*w)*I,i[6]=(u*E-h*D-f*c)*I,i[7]=0,i[8]=(C*l-T*o+S*a)*I,i[9]=(T*s-x*l-S*r)*I,i[10]=(x*o-C*s+S*n)*I,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t):null},r.add=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]+s[0],n[1]=r[1]+s[1],n[2]=r[2]+s[2],n[3]=r[3]+s[3],n[4]=r[4]+s[4],n[5]=r[5]+s[5],n[6]=r[6]+s[6],n[7]=r[7]+s[7],n[8]=r[8]+s[8],n[9]=r[9]+s[9],n[10]=r[10]+s[10],n[11]=r[11]+s[11],n[12]=r[12]+s[12],n[13]=r[13]+s[13],n[14]=r[14]+s[14],n[15]=r[15]+s[15],t},r.subtract=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]-s[0],n[1]=r[1]-s[1],n[2]=r[2]-s[2],n[3]=r[3]-s[3],n[4]=r[4]-s[4],n[5]=r[5]-s[5],n[6]=r[6]-s[6],n[7]=r[7]-s[7],n[8]=r[8]-s[8],n[9]=r[9]-s[9],n[10]=r[10]-s[10],n[11]=r[11]-s[11],n[12]=r[12]-s[12],n[13]=r[13]-s[13],n[14]=r[14]-s[14],n[15]=r[15]-s[15],t},r.multiplyScalar=function(t,e,i){var n=t.m,r=e.m;return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=r[3]*i,n[4]=r[4]*i,n[5]=r[5]*i,n[6]=r[6]*i,n[7]=r[7]*i,n[8]=r[8]*i,n[9]=r[9]*i,n[10]=r[10]*i,n[11]=r[11]*i,n[12]=r[12]*i,n[13]=r[13]*i,n[14]=r[14]*i,n[15]=r[15]*i,t},r.multiplyScalarAndAdd=function(t,e,i,n){var r=t.m,s=e.m,a=i.m;return r[0]=s[0]+a[0]*n,r[1]=s[1]+a[1]*n,r[2]=s[2]+a[2]*n,r[3]=s[3]+a[3]*n,r[4]=s[4]+a[4]*n,r[5]=s[5]+a[5]*n,r[6]=s[6]+a[6]*n,r[7]=s[7]+a[7]*n,r[8]=s[8]+a[8]*n,r[9]=s[9]+a[9]*n,r[10]=s[10]+a[10]*n,r[11]=s[11]+a[11]*n,r[12]=s[12]+a[12]*n,r[13]=s[13]+a[13]*n,r[14]=s[14]+a[14]*n,r[15]=s[15]+a[15]*n,t},r.strictEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]&&i[9]===n[9]&&i[10]===n[10]&&i[11]===n[11]&&i[12]===n[12]&&i[13]===n[13]&&i[14]===n[14]&&i[15]===n[15]},r.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.m,r=e.m;return Math.abs(n[0]-r[0])<=i*Math.max(1,Math.abs(n[0]),Math.abs(r[0]))&&Math.abs(n[1]-r[1])<=i*Math.max(1,Math.abs(n[1]),Math.abs(r[1]))&&Math.abs(n[2]-r[2])<=i*Math.max(1,Math.abs(n[2]),Math.abs(r[2]))&&Math.abs(n[3]-r[3])<=i*Math.max(1,Math.abs(n[3]),Math.abs(r[3]))&&Math.abs(n[4]-r[4])<=i*Math.max(1,Math.abs(n[4]),Math.abs(r[4]))&&Math.abs(n[5]-r[5])<=i*Math.max(1,Math.abs(n[5]),Math.abs(r[5]))&&Math.abs(n[6]-r[6])<=i*Math.max(1,Math.abs(n[6]),Math.abs(r[6]))&&Math.abs(n[7]-r[7])<=i*Math.max(1,Math.abs(n[7]),Math.abs(r[7]))&&Math.abs(n[8]-r[8])<=i*Math.max(1,Math.abs(n[8]),Math.abs(r[8]))&&Math.abs(n[9]-r[9])<=i*Math.max(1,Math.abs(n[9]),Math.abs(r[9]))&&Math.abs(n[10]-r[10])<=i*Math.max(1,Math.abs(n[10]),Math.abs(r[10]))&&Math.abs(n[11]-r[11])<=i*Math.max(1,Math.abs(n[11]),Math.abs(r[11]))&&Math.abs(n[12]-r[12])<=i*Math.max(1,Math.abs(n[12]),Math.abs(r[12]))&&Math.abs(n[13]-r[13])<=i*Math.max(1,Math.abs(n[13]),Math.abs(r[13]))&&Math.abs(n[14]-r[14])<=i*Math.max(1,Math.abs(n[14]),Math.abs(r[14]))&&Math.abs(n[15]-r[15])<=i*Math.max(1,Math.abs(n[15]),Math.abs(r[15]))},r.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8],f=i[9],d=i[10],p=i[11],m=i[12],y=i[13],v=i[14],g=i[15];return n[0]=c*(d*g-p*v)-f*(h*g-u*v)+y*(h*p-u*d),n[1]=-(s*(d*g-p*v)-f*(a*g-o*v)+y*(a*p-o*d)),n[2]=s*(h*g-u*v)-c*(a*g-o*v)+y*(a*u-o*h),n[3]=-(s*(h*p-u*d)-c*(a*p-o*d)+f*(a*u-o*h)),n[4]=-(l*(d*g-p*v)-_*(h*g-u*v)+m*(h*p-u*d)),n[5]=r*(d*g-p*v)-_*(a*g-o*v)+m*(a*p-o*d),n[6]=-(r*(h*g-u*v)-l*(a*g-o*v)+m*(a*u-o*h)),n[7]=r*(h*p-u*d)-l*(a*p-o*d)+_*(a*u-o*h),n[8]=l*(f*g-p*y)-_*(c*g-u*y)+m*(c*p-u*f),n[9]=-(r*(f*g-p*y)-_*(s*g-o*y)+m*(s*p-o*f)),n[10]=r*(c*g-u*y)-l*(s*g-o*y)+m*(s*u-o*c),n[11]=-(r*(c*p-u*f)-l*(s*p-o*f)+_*(s*u-o*c)),n[12]=-(l*(f*v-d*y)-_*(c*v-h*y)+m*(c*d-h*f)),n[13]=r*(f*v-d*y)-_*(s*v-a*y)+m*(s*d-a*f),n[14]=-(r*(c*v-h*y)-l*(s*v-a*y)+m*(s*h-a*c)),n[15]=r*(c*d-h*f)-l*(s*d-a*f)+_*(s*h-a*c),t},r.toArray=function(t,e,i){void 0===i&&(i=0);for(var n=e.m,r=0;r<16;r++)t[i+r]=n[r];return t},r.fromArray=function(t,e,i){void 0===i&&(i=0);for(var n=t.m,r=0;r<16;r++)n[r]=e[i+r];return t},n.clone=function(){var t=this.m;return new r(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},n.set=function(t){var e=this.m,i=t.m;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},n.equals=function(t){return r.strictEquals(this,t)},n.fuzzyEquals=function(t){return r.equals(this,t)},n.toString=function(){var t=this.m;return t?"[\n"+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+",\n"+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+",\n"+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+",\n"+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+"\n]":"[\n1, 0, 0, 0\n0, 1, 0, 0\n0, 0, 1, 0\n0, 0, 0, 1\n]"},n.identity=function(){return r.identity(this)},n.transpose=function(t){return t=t||new r,r.transpose(t,this)},n.invert=function(t){return t=t||new r,r.invert(t,this)},n.adjoint=function(t){return t=t||new r,r.adjoint(t,this)},n.determinant=function(){return r.determinant(this)},n.add=function(t,e){return e=e||new r,r.add(e,this,t)},n.subtract=function(t){return r.subtract(this,this,t)},n.multiply=function(t){return r.multiply(this,this,t)},n.multiplyScalar=function(t){return r.multiplyScalar(this,this,t)},n.translate=function(t,e){return e=e||new r,r.translate(e,this,t)},n.scale=function(t,e){return e=e||new r,r.scale(e,this,t)},n.rotate=function(t,e,i){return i=i||new r,r.rotate(i,this,t,e)},n.getTranslation=function(t){return t=t||new s.default,r.getTranslation(t,this)},n.getScale=function(t){return t=t||new s.default,r.getScaling(t,this)},n.getRotation=function(t){return t=t||new a.default,r.getRotation(t,this)},n.fromRTS=function(t,e,i){return r.fromRTS(this,t,e,i)},n.fromQuat=function(t){return r.fromQuat(this,t)},r})(n.default);i.default=w,w.mul=w.multiply,w.sub=w.subtract,w.IDENTITY=Object.freeze(new w);var E=new s.default,M=new l.default;r.default.fastDefine("cc.Mat4",w,{m00:1,m01:0,m02:0,m03:0,m04:0,m05:1,m06:0,m07:0,m08:0,m09:0,m10:1,m11:0,m12:0,m13:0,m14:0,m15:1});for(var D=function(t){Object.defineProperty(w.prototype,"m"+t,{get:function(){return this.m[t]},set:function(e){this.m[t]=e}})},B=0;B<16;B++)D(B);cc.mat4=function(t,e,i,n,r,s,a,o,l,c,h,u,_,f,d,p){var m=new w(t,e,i,n,r,s,a,o,l,c,h,u,_,f,d,p);return void 0===t&&w.identity(m),m},cc.Mat4=w,e.exports=i.default}),{"../platform/CCClass":238,"./mat3":339,"./quat":341,"./utils":345,"./value-type":346,"./vec3":348}],341:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=l(t("./value-type")),r=l(t("../platform/CCClass")),s=l(t("./vec3")),a=l(t("./mat3")),o=t("./utils");function l(t){return t&&t.__esModule?t:{default:t}}var c=0,h=0,u=0,_=0,f=(function(t){var e,i;i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var n=r.prototype;function r(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),(s=t.call(this)||this).x=void 0,s.y=void 0,s.z=void 0,s.w=void 0,e&&"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e,s.y=i,s.z=n,s.w=r),s}return n.mul=function(t,e){return r.multiply(e||new r,this,t)},r.clone=function(t){return new r(t.x,t.y,t.z,t.w)},r.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},r.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},r.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},r.rotationTo=function(t,e,i){var n=s.default.dot(e,i);return n<-.999999?(s.default.cross(m,s.default.RIGHT,e),m.mag()<1e-6&&s.default.cross(m,s.default.UP,e),s.default.normalize(m,m),r.fromAxisAngle(t,m,Math.PI),t):n>.999999?(t.x=0,t.y=0,t.z=0,t.w=1,t):(s.default.cross(m,e,i),t.x=m.x,t.y=m.y,t.z=m.z,t.w=1+n,r.normalize(t,t))},r.getAxisAngle=function(t,e){var i=2*Math.acos(e.w),n=Math.sin(i/2);return 0!==n?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n):(t.x=1,t.y=0,t.z=0),i},r.multiply=function(t,e,i){return c=e.x*i.w+e.w*i.x+e.y*i.z-e.z*i.y,h=e.y*i.w+e.w*i.y+e.z*i.x-e.x*i.z,u=e.z*i.w+e.w*i.z+e.x*i.y-e.y*i.x,_=e.w*i.w-e.x*i.x-e.y*i.y-e.z*i.z,t.x=c,t.y=h,t.z=u,t.w=_,t},r.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},r.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},r.rotateX=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return c=e.x*r+e.w*n,h=e.y*r+e.z*n,u=e.z*r-e.y*n,_=e.w*r-e.x*n,t.x=c,t.y=h,t.z=u,t.w=_,t},r.rotateY=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return c=e.x*r-e.z*n,h=e.y*r+e.w*n,u=e.z*r+e.x*n,_=e.w*r-e.y*n,t.x=c,t.y=h,t.z=u,t.w=_,t},r.rotateZ=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return c=e.x*r+e.y*n,h=e.y*r-e.x*n,u=e.z*r+e.w*n,_=e.w*r-e.z*n,t.x=c,t.y=h,t.z=u,t.w=_,t},r.rotateAround=function(t,e,i,n){return r.invert(d,e),s.default.transformQuat(m,i,d),r.fromAxisAngle(d,m,n),r.multiply(t,e,d),t},r.rotateAroundLocal=function(t,e,i,n){return r.fromAxisAngle(d,i,n),r.multiply(t,e,d),t},r.calculateW=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=Math.sqrt(Math.abs(1-e.x*e.x-e.y*e.y-e.z*e.z)),t},r.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},r.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},r.slerp=function(t,e,i,n){var r=0,s=0,a=e.x*i.x+e.y*i.y+e.z*i.z+e.w*i.w;if(a<0&&(a=-a,i.x=-i.x,i.y=-i.y,i.z=-i.z,i.w=-i.w),1-a>1e-6){var o=Math.acos(a),l=Math.sin(o);r=Math.sin((1-n)*o)/l,s=Math.sin(n*o)/l}else r=1-n,s=n;return t.x=r*e.x+s*i.x,t.y=r*e.y+s*i.y,t.z=r*e.z+s*i.z,t.w=r*e.w+s*i.w,t},r.sqlerp=function(t,e,i,n,s,a){return r.slerp(d,e,s,a),r.slerp(p,i,n,a),r.slerp(t,d,p,2*a*(1-a)),t},r.invert=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w,n=i?1/i:0;return t.x=-e.x*n,t.y=-e.y*n,t.z=-e.z*n,t.w=e.w*n,t},r.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w)},r.lengthSqr=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},r.normalize=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w;return i>0&&(i=1/Math.sqrt(i),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i),t},r.fromAxes=function(t,e,i,n){return a.default.set(y,e.x,e.y,e.z,i.x,i.y,i.z,n.x,n.y,n.z),r.normalize(t,r.fromMat3(t,y))},r.fromViewUp=function(t,e,i){return a.default.fromViewUp(y,e,i),r.normalize(t,r.fromMat3(t,y))},r.fromAxisAngle=function(t,e,i){i*=.5;var n=Math.sin(i);return t.x=n*e.x,t.y=n*e.y,t.z=n*e.z,t.w=Math.cos(i),t},r.fromAngleZ=function(t,e){return e*=v,t.x=t.y=0,t.z=Math.sin(e),t.w=Math.cos(e),t},r.fromMat3=function(t,e){var i=e.m,n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],l=i[5],c=i[6],h=i[7],u=i[8],_=n+o+u;if(_>0){var f=.5/Math.sqrt(_+1);t.w=.25/f,t.x=(l-h)*f,t.y=(c-s)*f,t.z=(r-a)*f}else if(n>o&&n>u){var d=2*Math.sqrt(1+n-o-u);t.w=(l-h)/d,t.x=.25*d,t.y=(a+r)/d,t.z=(c+s)/d}else if(o>u){var p=2*Math.sqrt(1+o-n-u);t.w=(c-s)/p,t.x=(a+r)/p,t.y=.25*p,t.z=(h+l)/p}else{var m=2*Math.sqrt(1+u-n-o);t.w=(r-a)/m,t.x=(c+s)/m,t.y=(h+l)/m,t.z=.25*m}return t},r.fromEuler=function(t,e,i,n){e*=v,i*=v,n*=v;var r=Math.sin(e),s=Math.cos(e),a=Math.sin(i),o=Math.cos(i),l=Math.sin(n),c=Math.cos(n);return t.x=r*o*c+s*a*l,t.y=s*a*c+r*o*l,t.z=s*o*l-r*a*c,t.w=s*o*c-r*a*l,t},r.toAxisX=function(t,e){var i=2*e.y,n=2*e.z;return t.x=1-i*e.y-n*e.z,t.y=i*e.x+n*e.w,t.z=n*e.x+i*e.w,t},r.toAxisY=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=n*e.x-r*e.w,t.y=1-i*e.x-r*e.z,t.z=r*e.y+i*e.w,t},r.toAxisZ=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=r*e.x-n*e.w,t.y=r*e.y-i*e.w,t.z=1-i*e.x-n*e.y,t},r.toEuler=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,l=0,c=0,h=0,u=n*r+s*a;if(u>.499999)l=0,c=(0,o.toDegree)(2*Math.atan2(n,a)),h=90;else if(u<-.499999)l=0,c=-(0,o.toDegree)(2*Math.atan2(n,a)),h=-90;else{var _=n*n,f=r*r,d=s*s;l=(0,o.toDegree)(Math.atan2(2*n*a-2*r*s,1-2*_-2*d)),c=(0,o.toDegree)(Math.atan2(2*r*a-2*n*s,1-2*f-2*d)),h=(0,o.toDegree)(Math.asin(2*u)),i&&(l=-180*Math.sign(l+1e-6)+l,c=-180*Math.sign(c+1e-6)+c,h=180*Math.sign(h+1e-6)-h)}return t.x=l,t.y=c,t.z=h,t},r.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},r.equals=function(t,e,i){return void 0===i&&(i=o.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},r.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},r.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},n.clone=function(){return new r(this.x,this.y,this.z,this.w)},n.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},n.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},n.toEuler=function(t){return r.toEuler(t,this)},n.fromEuler=function(t){return r.fromEuler(this,t.x,t.y,t.z)},n.lerp=function(t,e,i){return i=i||new r,r.slerp(i,this,t,e),i},n.multiply=function(t){return r.multiply(this,this,t)},n.rotateAround=function(t,e,i,n){return n=n||new r,r.rotateAround(n,t,e,i)},r})(n.default);i.default=f,f.mul=f.multiply,f.scale=f.multiplyScalar,f.mag=f.len,f.IDENTITY=Object.freeze(new f);var d=new f,p=new f,m=new s.default,y=new a.default,v=.5*Math.PI/180;r.default.fastDefine("cc.Quat",f,{x:0,y:0,z:0,w:1}),cc.quat=function(t,e,i,n){return new f(t,e,i,n)},cc.Quat=f,e.exports=i.default}),{"../platform/CCClass":238,"./mat3":339,"./utils":345,"./value-type":346,"./vec3":348}],342:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("./vec2")),a=o(t("./size"));function o(t){return t&&t.__esModule?t:{default:t}}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var c=(function(t){var e,i;function n(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),(s=t.call(this)||this).x=void 0,s.y=void 0,s.width=void 0,s.height=void 0,e&&"object"==typeof e&&(i=e.y,n=e.width,r=e.height,e=e.x),s.x=e||0,s.y=i||0,s.width=n||0,s.height=r||0,s}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n.fromMinMax=function(t,e){var i=Math.min(t.x,e.x),r=Math.min(t.y,e.y);return new n(i,r,Math.max(t.x,e.x)-i,Math.max(t.y,e.y)-r)};var r,o,c=n.prototype;return c.clone=function(){return new n(this.x,this.y,this.width,this.height)},c.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height},c.lerp=function(t,e,i){i=i||new n;var r=this.x,s=this.y,a=this.width,o=this.height;return i.x=r+(t.x-r)*e,i.y=s+(t.y-s)*e,i.width=a+(t.width-a)*e,i.height=o+(t.height-o)*e,i},c.set=function(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this},c.intersects=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,r=t.y+t.height;return!(e<t.x||n<this.x||i<t.y||r<this.y)},c.intersection=function(t,e){var i=this.x,n=this.y,r=this.x+this.width,s=this.y+this.height,a=e.x,o=e.y,l=e.x+e.width,c=e.y+e.height;return t.x=Math.max(i,a),t.y=Math.max(n,o),t.width=Math.min(r,l)-t.x,t.height=Math.min(s,c)-t.y,t},c.contains=function(t){return this.x<=t.x&&this.x+this.width>=t.x&&this.y<=t.y&&this.y+this.height>=t.y},c.containsRect=function(t){return this.x<=t.x&&this.x+this.width>=t.x+t.width&&this.y<=t.y&&this.y+this.height>=t.y+t.height},c.union=function(t,e){var i=this.x,n=this.y,r=this.width,s=this.height,a=e.x,o=e.y,l=e.width,c=e.height;return t.x=Math.min(i,a),t.y=Math.min(n,o),t.width=Math.max(i+r,a+l)-t.x,t.height=Math.max(n+s,o+c)-t.y,t},c.transformMat4=function(t,e){var i=this.x,n=this.y,r=i+this.width,s=n+this.height,a=e.m,o=a[0]*i+a[4]*n+a[12],l=a[1]*i+a[5]*n+a[13],c=a[0]*r+a[4]*n+a[12],h=a[1]*r+a[5]*n+a[13],u=a[0]*i+a[4]*s+a[12],_=a[1]*i+a[5]*s+a[13],f=a[0]*r+a[4]*s+a[12],d=a[1]*r+a[5]*s+a[13],p=Math.min(o,c,u,f),m=Math.max(o,c,u,f),y=Math.min(l,h,_,d),v=Math.max(l,h,_,d);return t.x=p,t.y=y,t.width=m-p,t.height=v-y,t},c.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},r=n,(o=[{key:"xMin",get:function(){return this.x},set:function(t){this.width+=this.x-t,this.x=t}},{key:"yMin",get:function(){return this.y},set:function(t){this.height+=this.y-t,this.y=t}},{key:"xMax",get:function(){return this.x+this.width},set:function(t){this.width=t-this.x}},{key:"yMax",get:function(){return this.y+this.height},set:function(t){this.height=t-this.y}},{key:"center",get:function(){return new s.default(this.x+.5*this.width,this.y+.5*this.height)},set:function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height}},{key:"origin",get:function(){return new s.default(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}},{key:"size",get:function(){return new a.default(this.width,this.height)},set:function(t){this.width=t.width,this.height=t.height}}])&&l(r.prototype,o),n})(n.default);i.default=c,r.default.fastDefine("cc.Rect",c,{x:0,y:0,width:0,height:0}),cc.Rect=c,cc.rect=function(t,e,i,n){return new c(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":238,"./size":343,"./value-type":346,"./vec2":347}],343:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("./value-type")),r=s(t("../platform/CCClass"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var o=(function(t){var e,i,n,r;function s(e,i){var n;return void 0===e&&(e=0),void 0===i&&(i=0),(n=t.call(this)||this).width=void 0,n.height=void 0,e&&"object"==typeof e?(n.width=e.width,n.height=e.height):(n.width=e||0,n.height=i||0),n}i=t,(e=s).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n=s,r=[{key:"ZERO",get:function(){return new s}}],null&&a(n.prototype,null),r&&a(n,r);var o=s.prototype;return o.clone=function(){return new s(this.width,this.height)},o.equals=function(t){return t&&this.width===t.width&&this.height===t.height},o.lerp=function(t,e,i){i=i||new s;var n=this.width,r=this.height;return i.width=n+(t.width-n)*e,i.height=r+(t.height-r)*e,i},o.set=function(t){return this.width=t.width,this.height=t.height,this},o.toString=function(){return"("+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},s})(n.default);i.default=o,o.ZERO_R=o.ZERO,r.default.fastDefine("cc.Size",o,{width:0,height:0}),cc.size=function(t,e){return new o(t,e)},cc.Size=o,e.exports=i.default}),{"../platform/CCClass":238,"./value-type":346}],344:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./quat"))&&n.__esModule?n:{default:n},s=new r.default,a=(function(){function t(){}return t.toRotation=function(t,e){return t.x=e[3],t.y=e[4],t.z=e[5],t.w=e[6],t},t.fromRotation=function(t,e){return t[3]=e.x,t[4]=e.y,t[5]=e.z,t[6]=e.w,t},t.toEuler=function(e,i){return t.toRotation(s,i),r.default.toEuler(e,s),e},t.fromEuler=function(e,i){return r.default.fromEuler(s,i.x,i.y,i.z),t.fromRotation(e,s),e},t.fromEulerNumber=function(e,i,n,a){return r.default.fromEuler(s,i,n,a),t.fromRotation(e,s),e},t.toScale=function(t,e){return t.x=e[7],t.y=e[8],t.z=e[9],t},t.fromScale=function(t,e){return t[7]=e.x,t[8]=e.y,t[9]=e.z,t},t.toPosition=function(t,e){return t.x=e[0],t.y=e[1],t.z=e[2],t},t.fromPosition=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t},t.fromAngleZ=function(e,i){return r.default.fromAngleZ(s,i),t.fromRotation(e,s),e},t.toMat4=function(t,e){var i=e[3],n=e[4],r=e[5],s=e[6],a=i+i,o=n+n,l=r+r,c=i*a,h=i*o,u=i*l,_=n*o,f=n*l,d=r*l,p=s*a,m=s*o,y=s*l,v=e[7],g=e[8],b=e[9],A=t.m;return A[0]=(1-(_+d))*v,A[1]=(h+y)*v,A[2]=(u-m)*v,A[3]=0,A[4]=(h-y)*g,A[5]=(1-(c+d))*g,A[6]=(f+p)*g,A[7]=0,A[8]=(u+m)*b,A[9]=(f-p)*b,A[10]=(1-(c+_))*b,A[11]=0,A[12]=e[0],A[13]=e[1],A[14]=e[2],A[15]=1,t},t})();i.default=a,cc.Trs=a,e.exports=i.default}),{"./quat":341}],345:[(function(t,e,i){"use strict";i.__esModule=!0,i.equals=function(t,e){return Math.abs(t-e)<=s*Math.max(1,Math.abs(t),Math.abs(e))},i.approx=function(t,e,i){return i=i||s,Math.abs(t-e)<=i},i.clamp=function(t,e,i){return t<e?e:t>i?i:t},i.clamp01=function(t){return t<0?0:t>1?1:t},i.lerp=function(t,e,i){return t+(e-t)*i},i.toRadian=function(t){return t*n},i.toDegree=function(t){return t*r},i.randomRange=l,i.randomRangeInt=function(t,e){return Math.floor(l(t,e))},i.pseudoRandom=c,i.pseudoRandomRange=h,i.pseudoRandomRangeInt=function(t,e,i){return Math.floor(h(t,e,i))},i.nextPow2=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i.repeat=u,i.pingPong=function(t,e){return t=u(t,2*e),e-Math.abs(t-e)},i.inverseLerp=function(t,e,i){return(i-t)/(e-t)},i.sign=function(t){return(t>0)-(t<0)},i.random=i.FLOAT_BYTES=i.FLOAT_ARRAY_TYPE=i.INT_MIN=i.INT_MAX=i.INT_BITS=i.EPSILON=void 0;var n=Math.PI/180,r=180/Math.PI,s=1e-6;i.EPSILON=s,i.INT_BITS=32,i.INT_MAX=2147483647,i.INT_MIN=-1<<31;var a=Float64Array;i.FLOAT_ARRAY_TYPE=a,i.FLOAT_BYTES=8;var o=Math.random;function l(t,e){return Math.random()*(e-t)+t}function c(t){return(t=(9301*t+49297)%233280)/233280}function h(t,e,i){return c(t)*(i-e)+e}function u(t,e){return t-Math.floor(t/e)*e}i.random=o}),{}],346:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../platform/js"))&&n.__esModule?n:{default:n},s=(function(){function t(){}var e=t.prototype;return e.clone=function(){return cc.errorID("0100",r.default.getClassName(this)+".clone"),null},e.equals=function(){return cc.errorID("0100",r.default.getClassName(this)+".equals"),!1},e.lerp=function(){return cc.errorID("0100",r.default.getClassName(this)+".lerp"),this.clone()},e.set=function(){cc.errorID("0100",r.default.getClassName(this)+".set")},e.toString=function(){return""+{}},t})();i.default=s,r.default.setClassName("cc.ValueType",s),cc.ValueType=s,e.exports=i.default}),{"../platform/js":259}],347:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("../utils/misc")),a=t("./utils");function o(t){return t&&t.__esModule?t:{default:t}}function l(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var c=0,h=0,u=(function(t){var e,i;i=t,(e=u).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var n,r,o=u.prototype;function u(e,i){var n;return void 0===e&&(e=0),void 0===i&&(i=0),(n=t.call(this)||this).mag=u.prototype.len,n.magSqr=u.prototype.lengthSqr,n.subSelf=u.prototype.subtract,n.mulSelf=u.prototype.multiplyScalar,n.divSelf=u.prototype.divide,n.scaleSelf=u.prototype.multiply,n.negSelf=u.prototype.negate,n.x=void 0,n.y=void 0,n.z=0,e&&"object"==typeof e?(n.x=e.x||0,n.y=e.y||0):(n.x=e||0,n.y=i||0),n}return o.sub=function(t,e){return u.subtract(e||new u,this,t)},o.mul=function(t,e){return u.multiplyScalar(e||new u,this,t)},o.div=function(t,e){return u.multiplyScalar(e||new u,this,1/t)},o.scale=function(t,e){return u.multiply(e||new u,this,t)},o.neg=function(t){return u.negate(t||new u,this)},u.clone=function(t){return new u(t.x,t.y)},u.copy=function(t,e){return t.x=e.x,t.y=e.y,t},u.set=function(t,e,i){return t.x=e,t.y=i,t},u.add=function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t},u.subtract=function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t},u.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t},u.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t},u.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t},u.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t},u.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t},u.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t},u.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t},u.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t},u.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t},u.distance=function(t,e){return c=e.x-t.x,h=e.y-t.y,Math.sqrt(c*c+h*h)},u.squaredDistance=function(t,e){return c=e.x-t.x,h=e.y-t.y,c*c+h*h},u.len=function(t){return c=t.x,h=t.y,Math.sqrt(c*c+h*h)},u.lengthSqr=function(t){return c=t.x,h=t.y,c*c+h*h},u.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t},u.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t},u.inverseSafe=function(t,e){return c=e.x,h=e.y,Math.abs(c)<a.EPSILON?t.x=0:t.x=1/c,Math.abs(h)<a.EPSILON?t.y=0:t.y=1/h,t},u.normalize=function(t,e){c=e.x,h=e.y;var i=c*c+h*h;return i>0&&(i=1/Math.sqrt(i),t.x=c*i,t.y=h*i),t},u.dot=function(t,e){return t.x*e.x+t.y*e.y},u.cross=function(t,e,i){return t.x=t.y=0,t.z=e.x*i.y-e.y*i.x,t},u.lerp=function(t,e,i,n){return c=e.x,h=e.y,t.x=c+n*(i.x-c),t.y=h+n*(i.y-h),t},u.random=function(t,e){e=e||1;var i=2*(0,a.random)()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},u.transformMat3=function(t,e,i){c=e.x,h=e.y;var n=i.m;return t.x=n[0]*c+n[3]*h+n[6],t.y=n[1]*c+n[4]*h+n[7],t},u.transformMat4=function(t,e,i){c=e.x,h=e.y;var n=i.m;return t.x=n[0]*c+n[4]*h+n[12],t.y=n[1]*c+n[5]*h+n[13],t},u.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y},u.equals=function(t,e,i){return void 0===i&&(i=a.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))},u.angle=function(t,e){u.normalize(_,t),u.normalize(f,e);var i=u.dot(_,f);return i>1?0:i<-1?Math.PI:Math.acos(i)},u.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t},u.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t},n=u,r=[{key:"ONE",get:function(){return new u(1,1)}},{key:"ZERO",get:function(){return new u(0,0)}},{key:"UP",get:function(){return new u(0,1)}},{key:"RIGHT",get:function(){return new u(1,0)}}],null&&l(n.prototype,null),r&&l(n,r),o.clone=function(){return new u(this.x,this.y)},o.set=function(t){return this.x=t.x,this.y=t.y,this},o.equals=function(t){return t&&this.x===t.x&&this.y===t.y},o.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e},o.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},o.lerp=function(t,e,i){i=i||new u;var n=this.x,r=this.y;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i},o.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this},o.add=function(t,e){return(e=e||new u).x=this.x+t.x,e.y=this.y+t.y,e},o.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this},o.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},o.multiplyScalar=function(t){return this.x*=t,this.y*=t,this},o.multiply=function(t){return this.x*=t.x,this.y*=t.y,this},o.divide=function(t){return this.x/=t,this.y/=t,this},o.negate=function(){return this.x=-this.x,this.y=-this.y,this},o.dot=function(t){return this.x*t.x+this.y*t.y},o.cross=function(t){return this.x*t.y-this.y*t.x},o.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},o.lengthSqr=function(){return this.x*this.x+this.y*this.y},o.normalizeSelf=function(){var t=this.x*this.x+this.y*this.y;if(1===t)return this;if(0===t)return this;var e=1/Math.sqrt(t);return this.x*=e,this.y*=e,this},o.normalize=function(t){return(t=t||new u).x=this.x,t.y=this.y,t.normalizeSelf(),t},o.angle=function(t){var e=this.magSqr(),i=t.magSqr();if(0===e||0===i)return console.warn("Can't get angle between zero vector"),0;var n=this.dot(t)/Math.sqrt(e*i);return n=s.default.clampf(n,-1,1),Math.acos(n)},o.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},o.rotate=function(t,e){return(e=e||new u).x=this.x,e.y=this.y,e.rotateSelf(t)},o.rotateSelf=function(t){var e=Math.sin(t),i=Math.cos(t),n=this.x;return this.x=i*n-e*this.y,this.y=e*n+i*this.y,this},o.project=function(t){return t.multiplyScalar(this.dot(t)/t.dot(t))},o.transformMat4=function(t,e){return e=e||new u,u.transformMat4(e,this,t),e},o.maxAxis=function(){return Math.max(this.x,this.y)},u})(n.default);i.default=u,u.sub=u.subtract,u.mul=u.multiply,u.scale=u.multiplyScalar,u.mag=u.len,u.squaredMagnitude=u.lengthSqr,u.div=u.divide,u.ONE_R=u.ONE,u.ZERO_R=u.ZERO,u.UP_R=u.UP,u.RIGHT_R=u.RIGHT;var _=new u,f=new u;r.default.fastDefine("cc.Vec2",u,{x:0,y:0}),cc.v2=function(t,e){return new u(t,e)},cc.Vec2=u,e.exports=i.default}),{"../platform/CCClass":238,"../utils/misc":323,"./utils":345,"./value-type":346}],348:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=l(t("./value-type")),r=l(t("../platform/CCClass")),s=l(t("../utils/misc")),a=l(t("./vec2")),o=t("./utils");function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var h=0,u=0,_=0,f=(function(t){var e,i;i=t,(e=f).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var n,r,l=f.prototype;function f(e,i,n){var r;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),(r=t.call(this)||this).mag=f.prototype.len,r.magSqr=f.prototype.lengthSqr,r.subSelf=f.prototype.subtract,r.mulSelf=f.prototype.multiplyScalar,r.divSelf=f.prototype.divide,r.scaleSelf=f.prototype.multiply,r.negSelf=f.prototype.negate,r.x=void 0,r.y=void 0,r.z=void 0,r.angle=a.default.prototype.angle,r.project=a.default.prototype.project,e&&"object"==typeof e?(r.x=e.x,r.y=e.y,r.z=e.z):(r.x=e,r.y=i,r.z=n),r}return l.sub=function(t,e){return f.subtract(e||new f,this,t)},l.mul=function(t,e){return f.multiplyScalar(e||new f,this,t)},l.div=function(t,e){return f.multiplyScalar(e||new f,this,1/t)},l.scale=function(t,e){return f.multiply(e||new f,this,t)},l.neg=function(t){return f.negate(t||new f,this)},f.zero=function(t){return t.x=0,t.y=0,t.z=0,t},f.clone=function(t){return new f(t.x,t.y,t.z)},f.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t},f.set=function(t,e,i,n){return t.x=e,t.y=i,t.z=n,t},f.add=function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t.z=e.z+i.z,t},f.subtract=function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t.z=e.z-i.z,t},f.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t.z=e.z*i.z,t},f.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t.z=e.z/i.z,t},f.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t},f.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t},f.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t.z=Math.min(e.z,i.z),t},f.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t.z=Math.max(e.z,i.z),t},f.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t},f.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t},f.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t},f.distance=function(t,e){return h=e.x-t.x,u=e.y-t.y,_=e.z-t.z,Math.sqrt(h*h+u*u+_*_)},f.squaredDistance=function(t,e){return h=e.x-t.x,u=e.y-t.y,_=e.z-t.z,h*h+u*u+_*_},f.len=function(t){return h=t.x,u=t.y,_=t.z,Math.sqrt(h*h+u*u+_*_)},f.lengthSqr=function(t){return h=t.x,u=t.y,_=t.z,h*h+u*u+_*_},f.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t},f.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t},f.inverseSafe=function(t,e){return h=e.x,u=e.y,_=e.z,Math.abs(h)<o.EPSILON?t.x=0:t.x=1/h,Math.abs(u)<o.EPSILON?t.y=0:t.y=1/u,Math.abs(_)<o.EPSILON?t.z=0:t.z=1/_,t},f.normalize=function(t,e){h=e.x,u=e.y,_=e.z;var i=h*h+u*u+_*_;return i>0&&(i=1/Math.sqrt(i),t.x=h*i,t.y=u*i,t.z=_*i),t},f.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},f.cross=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,l=i.z;return t.x=r*l-s*o,t.y=s*a-n*l,t.z=n*o-r*a,t},f.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t},f.random=function(t,e){e=e||1;var i=2*(0,o.random)()*Math.PI,n=2*(0,o.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t},f.transformMat4=function(t,e,i){h=e.x,u=e.y,_=e.z;var n=i.m,r=n[3]*h+n[7]*u+n[11]*_+n[15];return r=r?1/r:1,t.x=(n[0]*h+n[4]*u+n[8]*_+n[12])*r,t.y=(n[1]*h+n[5]*u+n[9]*_+n[13])*r,t.z=(n[2]*h+n[6]*u+n[10]*_+n[14])*r,t},f.transformMat4Normal=function(t,e,i){h=e.x,u=e.y,_=e.z;var n=i.m,r=n[3]*h+n[7]*u+n[11]*_;return r=r?1/r:1,t.x=(n[0]*h+n[4]*u+n[8]*_)*r,t.y=(n[1]*h+n[5]*u+n[9]*_)*r,t.z=(n[2]*h+n[6]*u+n[10]*_)*r,t},f.transformMat3=function(t,e,i){h=e.x,u=e.y,_=e.z;var n=i.m;return t.x=h*n[0]+u*n[3]+_*n[6],t.y=h*n[1]+u*n[4]+_*n[7],t.z=h*n[2]+u*n[5]+_*n[8],t},f.transformAffine=function(t,e,i){h=e.x,u=e.y,_=e.z;var n=i.m;return t.x=n[0]*h+n[1]*u+n[2]*_+n[3],t.y=n[4]*h+n[5]*u+n[6]*_+n[7],t.x=n[8]*h+n[9]*u+n[10]*_+n[11],t},f.transformQuat=function(t,e,i){var n=i.w*e.x+i.y*e.z-i.z*e.y,r=i.w*e.y+i.z*e.x-i.x*e.z,s=i.w*e.z+i.x*e.y-i.y*e.x,a=-i.x*e.x-i.y*e.y-i.z*e.z;return t.x=n*i.w+a*-i.x+r*-i.z-s*-i.y,t.y=r*i.w+a*-i.y+s*-i.x-n*-i.z,t.z=s*i.w+a*-i.z+n*-i.y-r*-i.x,t},f.transformRTS=function(t,e,i,n,r){var s=e.x*r.x,a=e.y*r.y,o=e.z*r.z,l=i.w*s+i.y*o-i.z*a,c=i.w*a+i.z*s-i.x*o,h=i.w*o+i.x*a-i.y*s,u=-i.x*s-i.y*a-i.z*o;return t.x=l*i.w+u*-i.x+c*-i.z-h*-i.y+n.x,t.y=c*i.w+u*-i.y+h*-i.x-l*-i.z+n.y,t.z=h*i.w+u*-i.z+l*-i.y-c*-i.x+n.z,t},f.transformInverseRTS=function(t,e,i,n,r){var s=e.x-n.x,a=e.y-n.y,o=e.z-n.z,l=i.w*s-i.y*o+i.z*a,c=i.w*a-i.z*s+i.x*o,h=i.w*o-i.x*a+i.y*s,u=i.x*s+i.y*a+i.z*o;return t.x=(l*i.w+u*i.x+c*i.z-h*i.y)/r.x,t.y=(c*i.w+u*i.y+h*i.x-l*i.z)/r.y,t.z=(h*i.w+u*i.z+l*i.y-c*i.x)/r.z,t},f.rotateX=function(t,e,i,n){h=e.x-i.x,u=e.y-i.y,_=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=h,o=u*r-_*s,l=u*s+_*r;return t.x=a+i.x,t.y=o+i.y,t.z=l+i.z,t},f.rotateY=function(t,e,i,n){h=e.x-i.x,u=e.y-i.y,_=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=_*s+h*r,o=u,l=_*r-h*s;return t.x=a+i.x,t.y=o+i.y,t.z=l+i.z,t},f.rotateZ=function(t,e,i,n){h=e.x-i.x,u=e.y-i.y,_=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=h*r-u*s,o=h*s+u*r,l=_;return t.x=a+i.x,t.y=o+i.y,t.z=l+i.z,t},f.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},f.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.x,r=t.y,s=t.z,a=e.x,l=e.y,c=e.z;return Math.abs(n-a)<=i*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-l)<=i*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(s-c)<=i*Math.max(1,Math.abs(s),Math.abs(c))},f.angle=function(t,e){f.normalize(d,t),f.normalize(p,e);var i=f.dot(d,p);return i>1?0:i<-1?Math.PI:Math.acos(i)},f.projectOnPlane=function(t,e,i){return f.subtract(t,e,f.project(t,e,i))},f.project=function(t,e,i){var n=f.lengthSqr(i);return n<1e-6?f.set(t,0,0,0):f.multiplyScalar(t,i,f.dot(e,i)/n)},f.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t},f.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t},n=f,r=[{key:"ONE",get:function(){return new f(1,1,1)}},{key:"ZERO",get:function(){return new f}},{key:"UP",get:function(){return new f(0,1,0)}},{key:"RIGHT",get:function(){return new f(1,0,0)}},{key:"FORWARD",get:function(){return new f(0,0,1)}}],null&&c(n.prototype,null),r&&c(n,r),l.clone=function(){return new f(this.x,this.y,this.z)},l.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},l.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},l.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+")"},l.lerp=function(t,e,i){return i=i||new f,f.lerp(i,this,t,e),i},l.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this.z=s.default.clampf(this.z,t.z,e.z),this},l.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},l.add=function(t,e){return(e=e||new f).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e},l.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},l.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},l.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},l.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this},l.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},l.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},l.cross=function(t,e){return e=e||new f,f.cross(e,this,t),e},l.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},l.lengthSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z},l.normalizeSelf=function(){return f.normalize(this,this),this},l.normalize=function(t){return t=t||new f,f.normalize(t,this),t},l.transformMat4=function(t,e){return e=e||new f,f.transformMat4(e,this,t),e},l.maxAxis=function(){return Math.max(this.x,this.y,this.z)},l.signAngle=function(t){cc.warnID(1408,"vec3.signAngle","v2.1","cc.v2(selfVector).signAngle(vector)");var e=new a.default(this.x,this.y),i=new a.default(t.x,t.y);return e.signAngle(i)},l.rotate=function(t,e){return cc.warnID(1408,"vec3.rotate","v2.1","cc.v2(selfVector).rotate(radians, out)"),a.default.prototype.rotate.call(this,t,e)},l.rotateSelf=function(t){return cc.warnID(1408,"vec3.rotateSelf","v2.1","cc.v2(selfVector).rotateSelf(radians)"),a.default.prototype.rotateSelf.call(this,t)},f})(n.default);i.default=f,f.sub=f.subtract,f.mul=f.multiply,f.scale=f.multiplyScalar,f.mag=f.len,f.squaredMagnitude=f.lengthSqr,f.div=f.divide,f.ONE_R=f.ONE,f.ZERO_R=f.ZERO,f.UP_R=f.UP,f.RIGHT_R=f.RIGHT,f.FRONT_R=f.FORWARD;var d=new f,p=new f;r.default.fastDefine("cc.Vec3",f,{x:0,y:0,z:0}),cc.v3=function(t,e,i){return new f(t,e,i)},cc.Vec3=f,e.exports=i.default}),{"../platform/CCClass":238,"../utils/misc":323,"./utils":345,"./value-type":346,"./vec2":347}],349:[(function(t,e,i){"use strict";i.__esModule=!0,i.v4=f,i.default=void 0;var n=a(t("../platform/CCClass")),r=a(t("./value-type")),s=t("./utils");function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var l=0,c=0,h=0,u=0,_=(function(t){var e,i;i=t,(e=_).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var n,r,a=_.prototype;function _(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),(s=t.call(this)||this).mag=_.prototype.len,s.magSqr=_.prototype.lengthSqr,s.subSelf=_.prototype.subtract,s.mulSelf=_.prototype.multiplyScalar,s.divSelf=_.prototype.divide,s.scaleSelf=_.prototype.multiply,s.negSelf=_.prototype.negate,s.x=void 0,s.y=void 0,s.z=void 0,s.w=void 0,e&&"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e,s.y=i,s.z=n,s.w=r),s}return a.sub=function(t,e){return _.subtract(e||new _,this,t)},a.mul=function(t,e){return _.multiplyScalar(e||new _,this,t)},a.div=function(t,e){return _.multiplyScalar(e||new _,this,1/t)},a.scale=function(t,e){return _.multiply(e||new _,this,t)},a.neg=function(t){return _.negate(t||new _,this)},_.clone=function(t){return new _(t.x,t.y,t.z,t.w)},_.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},_.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},_.add=function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t.z=e.z+i.z,t.w=e.w+i.w,t},_.subtract=function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t.z=e.z-i.z,t.w=e.w-i.w,t},_.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t.z=e.z*i.z,t.w=e.w*i.w,t},_.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t.z=e.z/i.z,t.w=e.w/i.w,t},_.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t.w=Math.ceil(e.w),t},_.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t.w=Math.floor(e.w),t},_.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t.z=Math.min(e.z,i.z),t.w=Math.min(e.w,i.w),t},_.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t.z=Math.max(e.z,i.z),t.w=Math.max(e.w,i.w),t},_.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t.w=Math.round(e.w),t},_.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},_.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},_.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z,s=e.w-t.w;return Math.sqrt(i*i+n*n+r*r+s*s)},_.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z,s=e.w-t.w;return i*i+n*n+r*r+s*s},_.len=function(t){return l=t.x,c=t.y,h=t.z,u=t.w,Math.sqrt(l*l+c*c+h*h+u*u)},_.lengthSqr=function(t){return l=t.x,c=t.y,h=t.z,u=t.w,l*l+c*c+h*h+u*u},_.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},_.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t.w=1/e.w,t},_.inverseSafe=function(t,e){return l=e.x,c=e.y,h=e.z,u=e.w,Math.abs(l)<s.EPSILON?t.x=0:t.x=1/l,Math.abs(c)<s.EPSILON?t.y=0:t.y=1/c,Math.abs(h)<s.EPSILON?t.z=0:t.z=1/h,Math.abs(u)<s.EPSILON?t.w=0:t.w=1/u,t},_.normalize=function(t,e){l=e.x,c=e.y,h=e.z,u=e.w;var i=l*l+c*c+h*h+u*u;return i>0&&(i=1/Math.sqrt(i),t.x=l*i,t.y=c*i,t.z=h*i,t.w=u*i),t},_.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},_.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},_.random=function(t,e){e=e||1;var i=2*(0,s.random)()*Math.PI,n=2*(0,s.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t.w=0,t},_.transformMat4=function(t,e,i){l=e.x,c=e.y,h=e.z,u=e.w;var n=i.m;return t.x=n[0]*l+n[4]*c+n[8]*h+n[12]*u,t.y=n[1]*l+n[5]*c+n[9]*h+n[13]*u,t.z=n[2]*l+n[6]*c+n[10]*h+n[14]*u,t.w=n[3]*l+n[7]*c+n[11]*h+n[15]*u,t},_.transformAffine=function(t,e,i){l=e.x,c=e.y,h=e.z,u=e.w;var n=i.m;return t.x=n[0]*l+n[1]*c+n[2]*h+n[3]*u,t.y=n[4]*l+n[5]*c+n[6]*h+n[7]*u,t.x=n[8]*l+n[9]*c+n[10]*h+n[11]*u,t.w=e.w,t},_.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z;l=i.x,c=i.y,h=i.z;var a=(u=i.w)*n+c*s-h*r,o=u*r+h*n-l*s,_=u*s+l*r-c*n,f=-l*n-c*r-h*s;return t.x=a*u+f*-l+o*-h-_*-c,t.y=o*u+f*-c+_*-l-a*-h,t.z=_*u+f*-h+a*-c-o*-l,t.w=e.w,t},_.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},_.equals=function(t,e,i){return void 0===i&&(i=s.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},_.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},_.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},n=_,r=[{key:"ZERO",get:function(){return new _(0,0,0,0)}},{key:"ONE",get:function(){return new _(1,1,1,1)}},{key:"NEG_ONE",get:function(){return new _(-1,-1,-1,-1)}}],null&&o(n.prototype,null),r&&o(n,r),a.clone=function(){return new _(this.x,this.y,this.z,this.w)},a.set=function(t,e,i,n){return t&&"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},a.equals=function(t,e){return void 0===e&&(e=s.EPSILON),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))&&Math.abs(this.z-t.z)<=e*Math.max(1,Math.abs(this.z),Math.abs(t.z))&&Math.abs(this.w-t.w)<=e*Math.max(1,Math.abs(this.w),Math.abs(t.w))},a.equals4f=function(t,e,i,n,r){return void 0===r&&(r=s.EPSILON),Math.abs(this.x-t)<=r*Math.max(1,Math.abs(this.x),Math.abs(t))&&Math.abs(this.y-e)<=r*Math.max(1,Math.abs(this.y),Math.abs(e))&&Math.abs(this.z-i)<=r*Math.max(1,Math.abs(this.z),Math.abs(i))&&Math.abs(this.w-n)<=r*Math.max(1,Math.abs(this.w),Math.abs(n))},a.strictEquals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},a.strictEquals4f=function(t,e,i,n){return this.x===t&&this.y===e&&this.z===i&&this.w===n},a.lerp=function(t,e){return l=this.x,c=this.y,h=this.z,u=this.w,this.x=l+e*(t.x-l),this.y=c+e*(t.y-c),this.z=h+e*(t.z-h),this.w=u+e*(t.w-u),this},a.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+", "+this.w.toFixed(2)+")"},a.clampf=function(t,e){return this.x=(0,s.clamp)(this.x,t.x,e.x),this.y=(0,s.clamp)(this.y,t.y,e.y),this.z=(0,s.clamp)(this.z,t.z,e.z),this.w=(0,s.clamp)(this.w,t.w,e.w),this},a.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},a.add=function(t,e){return(e=e||new _).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e.w=this.w+t.w,e},a.subtract=function(t,e){return(e=e||new _).x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e.w=this.w-t.w,e},a.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},a.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},a.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},a.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},a.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},a.cross=function(t,e){e=e||new _;var i=this.x,n=this.y,r=this.z,s=t.x,a=t.y,o=t.z;return e.x=n*o-r*a,e.y=r*s-i*o,e.z=i*a-n*s,e},a.len=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},a.lengthSqr=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},a.normalizeSelf=function(){return this.normalize(this),this},a.normalize=function(t){t=t||new _,l=this.x,c=this.y,h=this.z,u=this.w;var e=l*l+c*c+h*h+u*u;return e>0&&(e=1/Math.sqrt(e),t.x=l*e,t.y=c*e,t.z=h*e,t.w=u*e),t},a.transformMat4=function(t,e){e=e||new _,l=this.x,c=this.y,h=this.z,u=this.w;var i=t.m;return e.x=i[0]*l+i[4]*c+i[8]*h+i[12]*u,e.y=i[1]*l+i[5]*c+i[9]*h+i[13]*u,e.z=i[2]*l+i[6]*c+i[10]*h+i[14]*u,e.w=i[3]*l+i[7]*c+i[11]*h+i[15]*u,e},a.maxAxis=function(){return Math.max(this.x,this.y,this.z,this.w)},_})(r.default);function f(t,e,i,n){return new _(t,e,i,n)}i.default=_,_.sub=_.subtract,_.mul=_.multiply,_.div=_.divide,_.scale=_.multiplyScalar,_.mag=_.len,_.squaredMagnitude=_.lengthSqr,_.ZERO_R=_.ZERO,_.ONE_R=_.ONE,_.NEG_ONE_R=_.NEG_ONE,n.default.fastDefine("cc.Vec4",_,{x:0,y:0,z:0,w:0}),cc.v4=f,cc.Vec4=_}),{"../platform/CCClass":238,"./utils":345,"./value-type":346}],350:[(function(){"use strict";cc.js}),{}],351:[(function(t){"use strict";t("./core/CCGame"),t("./actions")}),{"./actions":7,"./core/CCGame":71}],352:[(function(t,e){"use strict";var i=t("../compression/zlib.min"),n=t("../core/CCDebug"),r=function(t){var e,i,r,s,a,o,l,c,h,u,_,f,d;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},a=null;;){switch(e=this.readUInt32(),c=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":a&&this.animation.frames.push(a),this.pos+=4,a={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},s=this.readUInt16(),r=this.readUInt16()||100,a.delay=1e3*s/r,a.disposeOp=this.data[this.pos++],a.blendOp=this.data[this.pos++],a.data=[];break;case"IDAT":case"fdAT":for("fdAT"===c&&(this.pos+=4,e-=4),t=(null!=a?a.data:void 0)||this.imgData,_=0;0<=e?_<e:_>e;0<=e?++_:--_)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(e),(h=255-this.transparency.indexed.length)>0)for(f=0;0<=h?f<h:f>h;0<=h?++f:--f)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case"tEXt":o=(u=this.read(e)).indexOf(0),l=String.fromCharCode.apply(String,u.slice(0,o)),this.text[l]=String.fromCharCode.apply(String,u.slice(o+1));break;case"IEND":return a&&this.animation.frames.push(a),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(d=this.colorType)||6===d,i=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*i,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(Uint8Array!=Array&&(this.imgData=new Uint8Array(this.imgData)));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(n.getError(6017))}};r.prototype={constructor:r,read:function(t){var e,i;for(i=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)i.push(this.data[this.pos++]);return i},readUInt32:function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},readUInt16:function(){return this.data[this.pos++]<<8|this.data[this.pos++]},decodePixels:function(t){var e,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);for(t=new i.Inflate(t,{index:0,verify:!1}).decompress(),v=(d=this.pixelBitlength/8)*this.width,p=new Uint8Array(v*this.height),l=t.length,y=0,m=0,r=0;m<l;){switch(t[m++]){case 0:for(a=A=0;A<v;a=A+=1)p[r++]=t[m++];break;case 1:for(a=x=0;x<v;a=x+=1)e=t[m++],o=a<d?0:p[r-d],p[r++]=(e+o)%256;break;case 2:for(a=C=0;C<v;a=C+=1)e=t[m++],s=(a-a%d)/d,g=y&&p[(y-1)*v+s*d+a%d],p[r++]=(g+e)%256;break;case 3:for(a=T=0;T<v;a=T+=1)e=t[m++],s=(a-a%d)/d,o=a<d?0:p[r-d],g=y&&p[(y-1)*v+s*d+a%d],p[r++]=(e+Math.floor((o+g)/2))%256;break;case 4:for(a=S=0;S<v;a=S+=1)e=t[m++],s=(a-a%d)/d,o=a<d?0:p[r-d],0===y?g=b=0:(g=p[(y-1)*v+s*d+a%d],b=s&&p[(y-1)*v+(s-1)*d+a%d]),c=o+g-b,h=Math.abs(c-o),_=Math.abs(c-g),f=Math.abs(c-b),u=h<=_&&h<=f?o:_<=f?g:b,p[r++]=(e+u)%256;break;default:throw new Error(n.getError(6018,t[m-1]))}y++}return p},copyToImageData:function(t,e){var i,n,r,s,a,o,l,c,h,u,_;if(n=this.colors,h=null,i=this.hasAlphaChannel,this.palette.length&&(h=null!=(_=this._decodedPalette)?_:this._decodedPalette=this.decodePalette(),n=4,i=!0),c=(r=t.data||t).length,a=h||e,s=o=0,1===n)for(;s<c;)l=h?4*e[s/4]:o,u=a[l++],r[s++]=u,r[s++]=u,r[s++]=u,r[s++]=i?a[l++]:255,o=l;else for(;s<c;)l=h?4*e[s/4]:o,r[s++]=a[l++],r[s++]=a[l++],r[s++]=a[l++],r[s++]=i?a[l++]:255,o=l},decodePalette:function(){var t,e,i,n,r,s,a,o,l;for(i=this.palette,s=this.transparency.indexed||[],r=new Uint8Array((s.length||0)+i.length),n=0,t=0,e=a=0,o=i.length;a<o;e=a+=3)r[n++]=i[e],r[n++]=i[e+1],r[n++]=i[e+2],r[n++]=null!=(l=s[t++])?l:255;return r},render:function(t){var e,i;return t.width=this.width,t.height=this.height,i=(e=t.getContext("2d")).createImageData(this.width,this.height),this.copyToImageData(i,this.decodePixels()),e.putImageData(i,0,0)}},e.exports=r}),{"../compression/zlib.min":25,"../core/CCDebug":69}],353:[(function(t,e){"use strict";var i=t("../core/assets/CCAsset"),n=t("../core/assets/CCSpriteFrame"),r=cc.Class({name:"cc.ParticleAsset",extends:i,properties:{spriteFrame:{default:null,type:n}}});cc.ParticleAsset=e.exports=r}),{"../core/assets/CCAsset":105,"../core/assets/CCSpriteFrame":117}],354:[(function(t,e){"use strict";var i=t("../core/platform/CCMacro"),n=t("./CCParticleAsset"),r=t("../core/components/CCRenderComponent"),s=t("../compression/ZipUtils"),a=t("./CCPNGReader"),o=t("./CCTIFFReader"),l=t("../core/utils/texture-util"),c=(t("../core/renderer/render-flow"),t("./particle-simulator")),h=(t("../core/assets/material/CCMaterial"),t("../core/utils/blend-func")),u=cc.Enum({GRAVITY:0,RADIUS:1}),_=cc.Enum({FREE:0,RELATIVE:1,GROUPED:2}),f={preview:{default:!0,editorOnly:!0,notify:!1,animatable:!1,tooltip:!1},_custom:!1,custom:{get:function(){return this._custom},set:function(t){this._custom!==t&&(this._custom=t,this._applyFile())},animatable:!1,tooltip:!1},_file:{default:null,type:n},file:{get:function(){return this._file},set:function(t){this._file!==t&&(this._file=t,t?this._applyFile():this.custom=!0)},animatable:!1,type:n,tooltip:!1},_spriteFrame:{default:null,type:cc.SpriteFrame},spriteFrame:{get:function(){return this._spriteFrame},set:function(t){var e=this._renderSpriteFrame;e!==t&&(this._renderSpriteFrame=t,t&&!t._uuid||(this._spriteFrame=t),this._applySpriteFrame(e))},type:cc.SpriteFrame,tooltip:!1},_texture:{default:null,type:cc.Texture2D,editorOnly:!0},texture:{get:function(){return this._getTexture()},set:function(t){t&&cc.warnID(6017)},type:cc.Texture2D,tooltip:!1,readonly:!0,visible:!1,animatable:!1},particleCount:{visible:!1,get:function(){return this._simulator.particles.length},readonly:!0},_stopped:!0,stopped:{get:function(){return this._stopped},animatable:!1,visible:!1},playOnLoad:!0,autoRemoveOnFinish:{default:!1,animatable:!1,tooltip:!1},active:{get:function(){return this._simulator.active},visible:!1},totalParticles:150,duration:-1,emissionRate:10,life:1,lifeVar:0,_startColor:null,startColor:{type:cc.Color,get:function(){return this._startColor},set:function(t){this._startColor.r=t.r,this._startColor.g=t.g,this._startColor.b=t.b,this._startColor.a=t.a}},_startColorVar:null,startColorVar:{type:cc.Color,get:function(){return this._startColorVar},set:function(t){this._startColorVar.r=t.r,this._startColorVar.g=t.g,this._startColorVar.b=t.b,this._startColorVar.a=t.a}},_endColor:null,endColor:{type:cc.Color,get:function(){return this._endColor},set:function(t){this._endColor.r=t.r,this._endColor.g=t.g,this._endColor.b=t.b,this._endColor.a=t.a}},_endColorVar:null,endColorVar:{type:cc.Color,get:function(){return this._endColorVar},set:function(t){this._endColorVar.r=t.r,this._endColorVar.g=t.g,this._endColorVar.b=t.b,this._endColorVar.a=t.a}},angle:90,angleVar:20,startSize:50,startSizeVar:0,endSize:0,endSizeVar:0,startSpin:0,startSpinVar:0,endSpin:0,endSpinVar:0,sourcePos:cc.Vec2.ZERO,posVar:cc.Vec2.ZERO,_positionType:{default:_.FREE,formerlySerializedAs:"positionType"},positionType:{type:_,get:function(){return this._positionType},set:function(t){this._positionType=t,this._updateMaterial()}},emitterMode:{default:u.GRAVITY,type:u},gravity:cc.Vec2.ZERO,speed:180,speedVar:50,tangentialAccel:80,tangentialAccelVar:0,radialAccel:0,radialAccelVar:0,rotationIsDir:!1,startRadius:0,startRadiusVar:0,endRadius:0,endRadiusVar:0,rotatePerS:0,rotatePerSVar:0},d=cc.Class({name:"cc.ParticleSystem",extends:r,mixins:[h],editor:!1,ctor:function(){this.initProperties()},initProperties:function(){this._previewTimer=null,this._focused=!1,this._aspectRatio=1,this._simulator=new c(this),this._startColor=cc.color(255,255,255,255),this._startColorVar=cc.color(0,0,0,0),this._endColor=cc.color(255,255,255,0),this._endColorVar=cc.color(0,0,0,0),this._renderSpriteFrame=null},properties:f,statics:{DURATION_INFINITY:-1,START_SIZE_EQUAL_TO_END_SIZE:-1,START_RADIUS_EQUAL_TO_END_RADIUS:-1,EmitterMode:u,PositionType:_,_PNGReader:a,_TIFFReader:o},onFocusInEditor:!1,onLostFocusInEditor:!1,_startPreview:!1,_stopPreview:!1,_convertTextureToSpriteFrame:!1,__preload:function(){this._super(),this._custom&&this.spriteFrame&&!this._renderSpriteFrame?this._applySpriteFrame(this.spriteFrame):this._file&&(this._custom?!this._getTexture()&&this._applyFile():this._applyFile()),this.playOnLoad&&this.resetSystem()},onDestroy:function(){this.autoRemoveOnFinish&&(this.autoRemoveOnFinish=!1),this._buffer&&(this._buffer.destroy(),this._buffer=null),this._simulator._uvFilled=0,this._super()},lateUpdate:function(t){this._simulator.finished||this._simulator.step(t)},addParticle:function(){},stopSystem:function(){this._stopped=!0,this._simulator.stop()},resetSystem:function(){this._stopped=!1,this._simulator.reset(),this.markForRender(!0)},isFull:function(){return this.particleCount>=this.totalParticles},setTextureWithRect:function(t,e){t instanceof cc.Texture2D&&(this.spriteFrame=new cc.SpriteFrame(t,e))},_applyFile:function(){var t=this._file;if(t){var e=this;cc.assetManager.postLoadNative(t,(function(i){!i&&t._nativeAsset?e.isValid&&(e._plistFile=t.nativeUrl,e._custom||(e._spriteFrame!==t.spriteFrame&&(e.spriteFrame=t.spriteFrame),e._initWithDictionary(t._nativeAsset)),e._spriteFrame?!e._renderSpriteFrame&&e._spriteFrame&&e._applySpriteFrame(e.spriteFrame):t.spriteFrame?e.spriteFrame=t.spriteFrame:e._custom&&e._initTextureWithDictionary(t._nativeAsset)):cc.errorID(6029)}))}},_initTextureWithDictionary:function(t){var e,n=cc.path.changeBasename(this._plistFile,t.textureFileName||"");if(t.textureFileName)l.loadImage(n,(function(e,i){e?(t.textureFileName=void 0,this._initTextureWithDictionary(t)):(cc.assetManager.assets.add(n,i),this.spriteFrame=new cc.SpriteFrame(i))}),this);else if(t.textureImageData){var r=t.textureImageData;if(!(r&&r.length>0))return!1;var c=cc.assetManager.assets.get(n);if(!c){var h=s.unzipBase64AsArray(r,1);if(!h)return cc.warnID(6030,this._file.name),!1;var u=(e=h).length>8&&137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]&&13===e[4]&&10===e[5]&&26===e[6]&&10===e[7]?i.ImageFormat.PNG:e.length>2&&(73===e[0]&&73===e[1]||77===e[0]&&77===e[1]||255===e[0]&&216===e[1])?i.ImageFormat.TIFF:i.ImageFormat.UNKNOWN;if(u!==i.ImageFormat.TIFF&&u!==i.ImageFormat.PNG)return cc.warnID(6031,this._file.name),!1;var _=document.createElement("canvas");u===i.ImageFormat.PNG?new a(h).render(_):o.parseTIFF(h,_),c=l.cacheImage(n,_)}c||cc.warnID(6032,this._file.name),this.spriteFrame=new cc.SpriteFrame(c)}return!0},_initWithDictionary:function(t){this.totalParticles=parseInt(t.maxParticles||0),this.life=parseFloat(t.particleLifespan||0),this.lifeVar=parseFloat(t.particleLifespanVariance||0);var e=t.emissionRate;this.emissionRate=e||Math.min(this.totalParticles/this.life,Number.MAX_VALUE),this.duration=parseFloat(t.duration||0),this.srcBlendFactor=parseInt(t.blendFuncSource||i.SRC_ALPHA),this.dstBlendFactor=parseInt(t.blendFuncDestination||i.ONE_MINUS_SRC_ALPHA);var n=this._startColor;n.r=255*parseFloat(t.startColorRed||0),n.g=255*parseFloat(t.startColorGreen||0),n.b=255*parseFloat(t.startColorBlue||0),n.a=255*parseFloat(t.startColorAlpha||0);var r=this._startColorVar;r.r=255*parseFloat(t.startColorVarianceRed||0),r.g=255*parseFloat(t.startColorVarianceGreen||0),r.b=255*parseFloat(t.startColorVarianceBlue||0),r.a=255*parseFloat(t.startColorVarianceAlpha||0);var s=this._endColor;s.r=255*parseFloat(t.finishColorRed||0),s.g=255*parseFloat(t.finishColorGreen||0),s.b=255*parseFloat(t.finishColorBlue||0),s.a=255*parseFloat(t.finishColorAlpha||0);var a=this._endColorVar;if(a.r=255*parseFloat(t.finishColorVarianceRed||0),a.g=255*parseFloat(t.finishColorVarianceGreen||0),a.b=255*parseFloat(t.finishColorVarianceBlue||0),a.a=255*parseFloat(t.finishColorVarianceAlpha||0),this.startSize=parseFloat(t.startParticleSize||0),this.startSizeVar=parseFloat(t.startParticleSizeVariance||0),this.endSize=parseFloat(t.finishParticleSize||0),this.endSizeVar=parseFloat(t.finishParticleSizeVariance||0),this.positionType=parseFloat(void 0!==t.positionType?t.positionType:_.RELATIVE),this.sourcePos.x=0,this.sourcePos.y=0,this.posVar.x=parseFloat(t.sourcePositionVariancex||0),this.posVar.y=parseFloat(t.sourcePositionVariancey||0),this.angle=parseFloat(t.angle||0),this.angleVar=parseFloat(t.angleVariance||0),this.startSpin=parseFloat(t.rotationStart||0),this.startSpinVar=parseFloat(t.rotationStartVariance||0),this.endSpin=parseFloat(t.rotationEnd||0),this.endSpinVar=parseFloat(t.rotationEndVariance||0),this.emitterMode=parseInt(t.emitterType||u.GRAVITY),this.emitterMode===u.GRAVITY){this.gravity.x=parseFloat(t.gravityx||0),this.gravity.y=parseFloat(t.gravityy||0),this.speed=parseFloat(t.speed||0),this.speedVar=parseFloat(t.speedVariance||0),this.radialAccel=parseFloat(t.radialAcceleration||0),this.radialAccelVar=parseFloat(t.radialAccelVariance||0),this.tangentialAccel=parseFloat(t.tangentialAcceleration||0),this.tangentialAccelVar=parseFloat(t.tangentialAccelVariance||0);var o=t.rotationIsDir||"";null!==o?(o=o.toString().toLowerCase(),this.rotationIsDir="true"===o||"1"===o):this.rotationIsDir=!1}else{if(this.emitterMode!==u.RADIUS)return cc.warnID(6009),!1;this.startRadius=parseFloat(t.maxRadius||0),this.startRadiusVar=parseFloat(t.maxRadiusVariance||0),this.endRadius=parseFloat(t.minRadius||0),this.endRadiusVar=parseFloat(t.minRadiusVariance||0),this.rotatePerS=parseFloat(t.rotatePerSecond||0),this.rotatePerSVar=parseFloat(t.rotatePerSecondVariance||0)}return this._initTextureWithDictionary(t),!0},_validateRender:function(){var t=this._getTexture();t&&t.loaded?this._super():this.disableRender()},_onTextureLoaded:function(){this._simulator.updateUVs(!0),this._syncAspect(),this._updateMaterial(),this.markForRender(!0)},_syncAspect:function(){var t=this._renderSpriteFrame._rect;this._aspectRatio=t.width/t.height},_applySpriteFrame:function(){this._renderSpriteFrame=this._renderSpriteFrame||this._spriteFrame,this._renderSpriteFrame&&(this._renderSpriteFrame.textureLoaded()?this._onTextureLoaded():this._renderSpriteFrame.onTextureLoaded(this._onTextureLoaded,this))},_getTexture:function(){return this._renderSpriteFrame&&this._renderSpriteFrame.getTexture()||this._texture},_updateMaterial:function(){var t=this.getMaterial(0);t&&(t.define("CC_USE_MODEL",this._positionType!==_.FREE),t.setProperty("texture",this._getTexture()),h.prototype._updateMaterial.call(this))},_finishedSimulation:function(){this.resetSystem(),this.stopSystem(),this.disableRender(),this.autoRemoveOnFinish&&this._stopped&&this.node.destroy()}});cc.ParticleSystem=e.exports=d}),{"../compression/ZipUtils":22,"../core/assets/material/CCMaterial":123,"../core/components/CCRenderComponent":159,"../core/platform/CCMacro":243,"../core/renderer/render-flow":271,"../core/utils/blend-func":317,"../core/utils/texture-util":331,"./CCPNGReader":352,"./CCParticleAsset":353,"./CCTIFFReader":355,"./particle-simulator":357,"fire-url":void 0}],355:[(function(t,e){"use strict";var i=t("../core/CCDebug"),n={_littleEndian:!1,_tiffData:null,_fileDirectories:[],getUint8:function(t){return this._tiffData[t]},getUint16:function(t){return this._littleEndian?this._tiffData[t+1]<<8|this._tiffData[t]:this._tiffData[t]<<8|this._tiffData[t+1]},getUint32:function(t){var e=this._tiffData;return this._littleEndian?e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]:e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},checkLittleEndian:function(){var t=this.getUint16(0);if(18761===t)this.littleEndian=!0;else{if(19789!==t)throw console.log(t),TypeError(i.getError(6019));this.littleEndian=!1}return this.littleEndian},hasTowel:function(){if(42!==this.getUint16(2))throw RangeError(i.getError(6020));return!0},getFieldTypeName:function(t){var e=this.fieldTypeNames;return t in e?e[t]:null},getFieldTagName:function(t){var e=this.fieldTagNames;return t in e?e[t]:(cc.logID(6021,t),"Tag"+t)},getFieldTypeLength:function(t){return-1!==["BYTE","ASCII","SBYTE","UNDEFINED"].indexOf(t)?1:-1!==["SHORT","SSHORT"].indexOf(t)?2:-1!==["LONG","SLONG","FLOAT"].indexOf(t)?4:-1!==["RATIONAL","SRATIONAL","DOUBLE"].indexOf(t)?8:null},getFieldValues:function(t,e,i,n){var r=[],s=this.getFieldTypeLength(e);if(s*i<=4)!1===this.littleEndian?r.push(n>>>8*(4-s)):r.push(n);else for(var a=0;a<i;a++){var o=s*a;s>=8?-1!==["RATIONAL","SRATIONAL"].indexOf(e)?(r.push(this.getUint32(n+o)),r.push(this.getUint32(n+o+4))):cc.logID(8e3):r.push(this.getBytes(s,n+o))}return"ASCII"===e&&r.forEach((function(t,e,i){i[e]=String.fromCharCode(t)})),r},getBytes:function(t,e){if(t<=0)cc.logID(8001);else{if(t<=1)return this.getUint8(e);if(t<=2)return this.getUint16(e);if(t<=3)return this.getUint32(e)>>>8;if(t<=4)return this.getUint32(e);cc.logID(8002)}},getBits:function(t,e,i){i=i||0;var n,r,s=e+Math.floor(i/8),a=i+t,o=32-t;return a<=0?cc.logID(6023):a<=8?(n=24+i,r=this.getUint8(s)):a<=16?(n=16+i,r=this.getUint16(s)):a<=32?(n=i,r=this.getUint32(s)):cc.logID(6022),{bits:r<<n>>>o,byteOffset:s+Math.floor(a/8),bitOffset:a%8}},parseFileDirectory:function(t){for(var e=this.getUint16(t),i=[],n=t+2,r=0;r<e;n+=12,r++){var s=this.getUint16(n),a=this.getUint16(n+2),o=this.getUint32(n+4),l=this.getUint32(n+8),c=this.getFieldTagName(s),h=this.getFieldTypeName(a),u=this.getFieldValues(c,h,o,l);i[c]={type:h,values:u}}this._fileDirectories.push(i);var _=this.getUint32(n);0!==_&&this.parseFileDirectory(_)},clampColorSample:function(t,e){var i=Math.pow(2,8-e);return Math.floor(t*i+(i-1))},parseTIFF:function(t,e){if(e=e||document.createElement("canvas"),this._tiffData=t,this.canvas=e,this.checkLittleEndian(),this.hasTowel()){var n=this.getUint32(4);this._fileDirectories.length=0,this.parseFileDirectory(n);var r=this._fileDirectories[0],s=r.ImageWidth.values[0],a=r.ImageLength.values[0];this.canvas.width=s,this.canvas.height=a;var o=[],l=r.Compression?r.Compression.values[0]:1,c=r.SamplesPerPixel.values[0],h=[],u=0,_=!1;if(r.BitsPerSample.values.forEach((function(t,e){h[e]={bitsPerSample:t,hasBytesPerSample:!1,bytesPerSample:void 0},t%8==0&&(h[e].hasBytesPerSample=!0,h[e].bytesPerSample=t/8),u+=t}),this),u%8==0){_=!0;var f=u/8}var d=r.StripOffsets.values,p=d.length;if(r.StripByteCounts)var m=r.StripByteCounts.values;else{if(cc.logID(8003),1!==p)throw Error(i.getError(6024));m=[Math.ceil(s*a*u/8)]}for(var y=0;y<p;y++){var v=d[y];o[y]=[];for(var g=m[y],b=0,A=0,x=1,C=!0,T=[],S=0,w=0,E=0;b<g;b+=x)switch(l){case 1:var M=0;for(T=[];M<c;M++){if(!h[M].hasBytesPerSample){var D=this.getBits(h[M].bitsPerSample,v+b,A);throw T.push(D.bits),b=D.byteOffset-v,A=D.bitOffset,RangeError(i.getError(6025))}var B=h[M].bytesPerSample*M;T.push(this.getBytes(h[M].bytesPerSample,v+b+B))}if(o[y].push(T),!_)throw x=0,RangeError(i.getError(6026));x=f;break;case 2:case 3:case 4:case 5:case 6:case 7:break;case 32773:if(C){C=!1;var I=1,P=1,R=this.getInt8(v+b);R>=0&&R<=127?I=R+1:R>=-127&&R<=-1?P=1-R:C=!0}else{var O=this.getUint8(v+b);for(M=0;M<P;M++){if(!h[w].hasBytesPerSample)throw RangeError(i.getError(6025));E=E<<8*S|O,++S===h[w].bytesPerSample&&(T.push(E),E=S=0,w++),w===c&&(o[y].push(T),T=[],w=0)}0==--I&&(C=!0)}x=1}}if(e.getContext){var L=this.canvas.getContext("2d");L.fillStyle="rgba(255, 255, 255, 0)";var F=r.RowsPerStrip?r.RowsPerStrip.values[0]:a,V=o.length,N=a%F,k=0===N?F:N,z=F,G=0,U=r.PhotometricInterpretation.values[0],j=[],H=0;if(r.ExtraSamples&&(H=(j=r.ExtraSamples.values).length),r.ColorMap)var W=r.ColorMap.values,X=Math.pow(2,h[0].bitsPerSample);for(y=0;y<V;y++){y+1===V&&(z=k);for(var Y=o[y].length,q=G*y,J=0,Z=0;Z<Y;J++)for(var K=0;K<s;K++,Z++){var Q=o[y][Z],$=0,tt=0,et=0,it=1;if(H>0)for(var nt=0;nt<H;nt++)if(1===j[nt]||2===j[nt]){it=Q[3+nt]/256;break}switch(U){case 0:if(h[0].hasBytesPerSample)var rt=Math.pow(16,2*h[0].bytesPerSample);Q.forEach((function(t,e,i){i[e]=rt-t}));case 1:$=tt=et=this.clampColorSample(Q[0],h[0].bitsPerSample);break;case 2:$=this.clampColorSample(Q[0],h[0].bitsPerSample),tt=this.clampColorSample(Q[1],h[1].bitsPerSample),et=this.clampColorSample(Q[2],h[2].bitsPerSample);break;case 3:if(void 0===W)throw Error(i.getError(6027));var st=Q[0];$=this.clampColorSample(W[st],16),tt=this.clampColorSample(W[X+st],16),et=this.clampColorSample(W[2*X+st],16);break;default:throw RangeError(i.getError(6028,U))}L.fillStyle="rgba("+$+", "+tt+", "+et+", "+it+")",L.fillRect(K,q+J,1,1)}G=z}}return this.canvas}},fieldTagNames:{315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop"},fieldTypeNames:{1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE"}};e.exports=n}),{"../core/CCDebug":69}],356:[(function(t){"use strict";t("./CCParticleAsset"),t("./CCParticleSystem"),t("./particle-simulator"),t("./particle-system-assembler")}),{"./CCParticleAsset":353,"./CCParticleSystem":354,"./particle-simulator":357,"./particle-system-assembler":358}],357:[(function(t,e){"use strict";var i=t("../core/platform/js"),n=t("../core/utils/misc"),r=cc.v2(0,0),s=cc.v2(),a=cc.v2(),o=cc.v2(),l=cc.v2(),c=function(){this.pos=cc.v2(0,0),this.startPos=cc.v2(0,0),this.color=cc.color(0,0,0,255),this.deltaColor={r:0,g:0,b:0,a:255},this.preciseColor={r:0,g:0,b:0,a:255},this.size=0,this.deltaSize=0,this.rotation=0,this.deltaRotation=0,this.timeToLive=0,this.drawPos=cc.v2(0,0),this.aspectRatio=1,this.dir=cc.v2(0,0),this.radialAccel=0,this.tangentialAccel=0,this.angle=0,this.degreesPerSecond=0,this.radius=0,this.deltaRadius=0},h=new i.Pool(function(t){t.pos.set(r),t.startPos.set(r),t.color._val=4278190080,t.deltaColor.r=t.deltaColor.g=t.deltaColor.b=0,t.deltaColor.a=255,t.size=0,t.deltaSize=0,t.rotation=0,t.deltaRotation=0,t.timeToLive=0,t.drawPos.set(r),t.aspectRatio=1,t.dir.set(r),t.radialAccel=0,t.tangentialAccel=0,t.angle=0,t.degreesPerSecond=0,t.radius=0,t.deltaRadius=0},1024);h.get=function(){return this._get()||new c};var u=function(t){this.sys=t,this.particles=[],this.active=!1,this.readyToPlay=!0,this.finished=!1,this.elapsed=0,this.emitCounter=0,this._uvFilled=0,this._worldRotation=0};function _(t){for(var e=0,i=t;i;)e+=i.angle,i=i.parent;return e}u.prototype.stop=function(){this.active=!1,this.readyToPlay=!1,this.elapsed=this.sys.duration,this.emitCounter=0},u.prototype.reset=function(){this.active=!0,this.readyToPlay=!0,this.elapsed=0,this.emitCounter=0,this.finished=!1;for(var t=this.particles,e=0;e<t.length;++e)h.put(t[e]);t.length=0},u.prototype.emitParticle=function(t){var e=this.sys,i=n.clampf,r=h.get();this.particles.push(r),r.timeToLive=e.life+e.lifeVar*(Math.random()-.5)*2;var s,a,o,l,c=r.timeToLive=Math.max(0,r.timeToLive);r.pos.x=e.sourcePos.x+e.posVar.x*(Math.random()-.5)*2,r.pos.y=e.sourcePos.y+e.posVar.y*(Math.random()-.5)*2;var u=e._startColor,_=e._startColorVar,f=e._endColor,d=e._endColorVar;r.color.r=s=i(u.r+_.r*(Math.random()-.5)*2,0,255),r.color.g=a=i(u.g+_.g*(Math.random()-.5)*2,0,255),r.color.b=o=i(u.b+_.b*(Math.random()-.5)*2,0,255),r.color.a=l=i(u.a+_.a*(Math.random()-.5)*2,0,255);var p=r.color,m=r.preciseColor;m.r=p.r,m.g=p.g,m.b=p.b,m.a=p.a,r.deltaColor.r=(i(f.r+d.r*(Math.random()-.5)*2,0,255)-s)/c,r.deltaColor.g=(i(f.g+d.g*(Math.random()-.5)*2,0,255)-a)/c,r.deltaColor.b=(i(f.b+d.b*(Math.random()-.5)*2,0,255)-o)/c,r.deltaColor.a=(i(f.a+d.a*(Math.random()-.5)*2,0,255)-l)/c;var y=e.startSize+e.startSizeVar*(Math.random()-.5)*2;if(y=Math.max(0,y),r.size=y,e.endSize===cc.ParticleSystem.START_SIZE_EQUAL_TO_END_SIZE)r.deltaSize=0;else{var v=e.endSize+e.endSizeVar*(Math.random()-.5)*2;v=Math.max(0,v),r.deltaSize=(v-y)/c}var g=e.startSpin+e.startSpinVar*(Math.random()-.5)*2,b=e.endSpin+e.endSpinVar*(Math.random()-.5)*2;r.rotation=g,r.deltaRotation=(b-g)/c,r.startPos.x=t.x,r.startPos.y=t.y,r.aspectRatio=e._aspectRatio||1;var A=n.degreesToRadians(e.angle+this._worldRotation+e.angleVar*(Math.random()-.5)*2);if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var x=e.speed+e.speedVar*(Math.random()-.5)*2;r.dir.x=Math.cos(A),r.dir.y=Math.sin(A),r.dir.mulSelf(x),r.radialAccel=e.radialAccel+e.radialAccelVar*(Math.random()-.5)*2,r.tangentialAccel=e.tangentialAccel+e.tangentialAccelVar*(Math.random()-.5)*2,e.rotationIsDir&&(r.rotation=-n.radiansToDegrees(Math.atan2(r.dir.y,r.dir.x)))}else{var C=e.startRadius+e.startRadiusVar*(Math.random()-.5)*2,T=e.endRadius+e.endRadiusVar*(Math.random()-.5)*2;r.radius=C,r.deltaRadius=e.endRadius===cc.ParticleSystem.START_RADIUS_EQUAL_TO_END_RADIUS?0:(T-C)/c,r.angle=A,r.degreesPerSecond=n.degreesToRadians(e.rotatePerS+e.rotatePerSVar*(Math.random()-.5)*2)}},u.prototype.updateUVs=function(t){var e=this.sys._assembler;if(e){var i=e.getBuffer();if(i&&this.sys._renderSpriteFrame){for(var n=4*e._vfmt._bytes/4,r=i._vData,s=this.sys._renderSpriteFrame.uv,a=t?0:this._uvFilled,o=this.particles.length,l=a;l<o;l++){var c=l*n;r[c+2]=s[0],r[c+3]=s[1],r[c+7]=s[2],r[c+8]=s[3],r[c+12]=s[4],r[c+13]=s[5],r[c+17]=s[6],r[c+18]=s[7]}this._uvFilled=o}}},u.prototype.updateParticleBuffer=function(t,e,i,r){var s=i._vData,a=i._uintVData,o=e.x,l=e.y,c=t.size,h=c,u=t.aspectRatio;u>1?h=c/u:c=h*u;var _=c/2,f=h/2;if(t.rotation){var d=-_,p=-f,m=_,y=f,v=-n.degreesToRadians(t.rotation),g=Math.cos(v),b=Math.sin(v);s[r]=d*g-p*b+o,s[r+1]=d*b+p*g+l,s[r+5]=m*g-p*b+o,s[r+6]=m*b+p*g+l,s[r+10]=d*g-y*b+o,s[r+11]=d*b+y*g+l,s[r+15]=m*g-y*b+o,s[r+16]=m*b+y*g+l}else s[r]=o-_,s[r+1]=l-f,s[r+5]=o+_,s[r+6]=l-f,s[r+10]=o-_,s[r+11]=l+f,s[r+15]=o+_,s[r+16]=l+f;a[r+4]=t.color._val,a[r+9]=t.color._val,a[r+14]=t.color._val,a[r+19]=t.color._val},u.prototype.step=function(t){t=t>cc.director._maxParticleDeltaTime?cc.director._maxParticleDeltaTime:t;var e=this.sys,i=e.node,n=this.particles,r=4*this.sys._assembler._vfmt._bytes/4,c=cc.ParticleSystem.PositionType;if(i._updateWorldMatrix(),e.positionType===c.FREE){this._worldRotation=_(i);var u=i._worldMatrix.m;s.x=u[12],s.y=u[13]}else e.positionType===c.RELATIVE?(this._worldRotation=i.angle,s.x=i.x,s.y=i.y):this._worldRotation=0;if(this.active&&e.emissionRate){var f=1/e.emissionRate;for(n.length<e.totalParticles&&(this.emitCounter+=t);n.length<e.totalParticles&&this.emitCounter>f;)this.emitParticle(s),this.emitCounter-=f;this.elapsed+=t,-1!==e.duration&&e.duration<this.elapsed&&e.stopSystem()}var d=e._assembler.getBuffer(),p=n.length;d.reset(),d.request(4*p,6*p),p>this._uvFilled&&this.updateUVs();for(var m=0;m<n.length;){a.x=a.y=o.x=o.y=l.x=l.y=0;var y=n[m];if(y.timeToLive-=t,y.timeToLive>0){if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var v=l,g=a,b=o;(y.pos.x||y.pos.y)&&(g.set(y.pos),g.normalizeSelf()),b.set(g),g.mulSelf(y.radialAccel);var A=b.x;b.x=-b.y,b.y=A,b.mulSelf(y.tangentialAccel),v.set(g),v.addSelf(b),v.addSelf(e.gravity),v.mulSelf(t),y.dir.addSelf(v),v.set(y.dir),v.mulSelf(t),y.pos.addSelf(v)}else y.angle+=y.degreesPerSecond*t,y.radius+=y.deltaRadius*t,y.pos.x=-Math.cos(y.angle)*y.radius,y.pos.y=-Math.sin(y.angle)*y.radius;var x=y.preciseColor,C=y.deltaColor;x.r+=C.r*t,x.g+=C.g*t,x.b+=C.b*t,x.a+=C.a*t;var T=y.color;T.r=x.r,T.g=x.g,T.b=x.b,T.a=x.a,y.size+=y.deltaSize*t,y.size<0&&(y.size=0),y.rotation+=y.deltaRotation*t;var S=a;S.set(y.pos),e.positionType!==c.GROUPED&&S.addSelf(y.startPos);var w=r*m;this.updateParticleBuffer(y,S,d,w),++m}else{var E=n[m];m!==n.length-1&&(n[m]=n[n.length-1]),h.put(E),n.length--}}e._assembler._ia._count=6*n.length,n.length>0?d.uploadData():this.active||this.readyToPlay||(this.finished=!0,e._finishedSimulation())},e.exports=u}),{"../core/platform/js":259,"../core/utils/misc":323}],358:[(function(t,e){"use strict";var i=r(t("../core/renderer/assembler")),n=r(t("../renderer/core/input-assembler"));function r(t){return t&&t.__esModule?t:{default:t}}var s=t("./CCParticleSystem"),a=t("../core/renderer/"),o=t("../core/renderer/webgl/quad-buffer"),l=t("../core/renderer/webgl/vertex-format").vfmtPosUvColor,c=(function(t){var e,i;function r(e){var i;return(i=t.call(this,e)||this)._buffer=null,i._ia=null,i._vfmt=l,i}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=r.prototype;return s.getBuffer=function(){return this._buffer||(this._buffer=new o(a._handle,l),this._ia=new n.default,this._ia._vertexBuffer=this._buffer._vb,this._ia._indexBuffer=this._buffer._ib,this._ia._start=0,this._ia._count=0),this._buffer},s.fillBuffers=function(t,e){if(this._ia){var i=cc.ParticleSystem.PositionType;t.positionType===i.RELATIVE?e.node=t.node.parent:e.node=t.node,e.material=t._materials[0],e._flushIA(this._ia)}},r})(i.default);i.default.register(s,c),e.exports=c}),{"../core/renderer/":270,"../core/renderer/assembler":267,"../core/renderer/webgl/quad-buffer":309,"../core/renderer/webgl/vertex-format":312,"../renderer/core/input-assembler":361,"./CCParticleSystem":354}],359:[(function(t,e){"use strict";var i,n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D,B,I,P,R,O,L,F,V,N,k,z,G,U,j;(function(t){t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL"})(i||(i={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BUFFER=1]="BUFFER",t[t.TEXTURE=2]="TEXTURE",t[t.TEXTURE_VIEW=3]="TEXTURE_VIEW",t[t.RENDER_PASS=4]="RENDER_PASS",t[t.FRAMEBUFFER=5]="FRAMEBUFFER",t[t.SAMPLER=6]="SAMPLER",t[t.SHADER=7]="SHADER",t[t.PIPELINE_LAYOUT=8]="PIPELINE_LAYOUT",t[t.PIPELINE_STATE=9]="PIPELINE_STATE",t[t.BINDING_LAYOUT=10]="BINDING_LAYOUT",t[t.INPUT_ASSEMBLER=11]="INPUT_ASSEMBLER",t[t.COMMAND_ALLOCATOR=12]="COMMAND_ALLOCATOR",t[t.COMMAND_BUFFER=13]="COMMAND_BUFFER",t[t.QUEUE=14]="QUEUE",t[t.WINDOW=15]="WINDOW"})(n||(n={})),(function(t){t[t.UNREADY=0]="UNREADY",t[t.FAILED=1]="FAILED",t[t.SUCCESS=2]="SUCCESS"})(r||(r={})),(function(){function t(t){this._gfxType=n.UNKNOWN,this._status=r.UNREADY,this._gfxType=t}Object.defineProperty(t.prototype,"gfxType",{get:function(){return this._gfxType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!0,configurable:!0})})(),(function(t){t.ATTR_POSITION="a_position",t.ATTR_NORMAL="a_normal",t.ATTR_TANGENT="a_tangent",t.ATTR_BITANGENT="a_bitangent",t.ATTR_WEIGHTS="a_weights",t.ATTR_JOINTS="a_joints",t.ATTR_COLOR="a_color",t.ATTR_COLOR1="a_color1",t.ATTR_COLOR2="a_color2",t.ATTR_TEX_COORD="a_texCoord",t.ATTR_TEX_COORD1="a_texCoord1",t.ATTR_TEX_COORD2="a_texCoord2",t.ATTR_TEX_COORD3="a_texCoord3",t.ATTR_TEX_COORD4="a_texCoord4",t.ATTR_TEX_COORD5="a_texCoord5",t.ATTR_TEX_COORD6="a_texCoord6",t.ATTR_TEX_COORD7="a_texCoord7",t.ATTR_TEX_COORD8="a_texCoord8"})(s||(s={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BOOL=1]="BOOL",t[t.BOOL2=2]="BOOL2",t[t.BOOL3=3]="BOOL3",t[t.BOOL4=4]="BOOL4",t[t.INT=5]="INT",t[t.INT2=6]="INT2",t[t.INT3=7]="INT3",t[t.INT4=8]="INT4",t[t.UINT=9]="UINT",t[t.UINT2=10]="UINT2",t[t.UINT3=11]="UINT3",t[t.UINT4=12]="UINT4",t[t.FLOAT=13]="FLOAT",t[t.FLOAT2=14]="FLOAT2",t[t.FLOAT3=15]="FLOAT3",t[t.FLOAT4=16]="FLOAT4",t[t.COLOR4=17]="COLOR4",t[t.MAT2=18]="MAT2",t[t.MAT2X3=19]="MAT2X3",t[t.MAT2X4=20]="MAT2X4",t[t.MAT3X2=21]="MAT3X2",t[t.MAT3=22]="MAT3",t[t.MAT3X4=23]="MAT3X4",t[t.MAT4X2=24]="MAT4X2",t[t.MAT4X3=25]="MAT4X3",t[t.MAT4=26]="MAT4",t[t.SAMPLER1D=27]="SAMPLER1D",t[t.SAMPLER1D_ARRAY=28]="SAMPLER1D_ARRAY",t[t.SAMPLER2D=29]="SAMPLER2D",t[t.SAMPLER2D_ARRAY=30]="SAMPLER2D_ARRAY",t[t.SAMPLER3D=31]="SAMPLER3D",t[t.SAMPLER_CUBE=32]="SAMPLER_CUBE",t[t.COUNT=33]="COUNT"})(a||(a={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A8=1]="A8",t[t.L8=2]="L8",t[t.LA8=3]="LA8",t[t.R8=4]="R8",t[t.R8SN=5]="R8SN",t[t.R8UI=6]="R8UI",t[t.R8I=7]="R8I",t[t.R16F=8]="R16F",t[t.R16UI=9]="R16UI",t[t.R16I=10]="R16I",t[t.R32F=11]="R32F",t[t.R32UI=12]="R32UI",t[t.R32I=13]="R32I",t[t.RG8=14]="RG8",t[t.RG8SN=15]="RG8SN",t[t.RG8UI=16]="RG8UI",t[t.RG8I=17]="RG8I",t[t.RG16F=18]="RG16F",t[t.RG16UI=19]="RG16UI",t[t.RG16I=20]="RG16I",t[t.RG32F=21]="RG32F",t[t.RG32UI=22]="RG32UI",t[t.RG32I=23]="RG32I",t[t.RGB8=24]="RGB8",t[t.SRGB8=25]="SRGB8",t[t.RGB8SN=26]="RGB8SN",t[t.RGB8UI=27]="RGB8UI",t[t.RGB8I=28]="RGB8I",t[t.RGB16F=29]="RGB16F",t[t.RGB16UI=30]="RGB16UI",t[t.RGB16I=31]="RGB16I",t[t.RGB32F=32]="RGB32F",t[t.RGB32UI=33]="RGB32UI",t[t.RGB32I=34]="RGB32I",t[t.RGBA8=35]="RGBA8",t[t.SRGB8_A8=36]="SRGB8_A8",t[t.RGBA8SN=37]="RGBA8SN",t[t.RGBA8UI=38]="RGBA8UI",t[t.RGBA8I=39]="RGBA8I",t[t.RGBA16F=40]="RGBA16F",t[t.RGBA16UI=41]="RGBA16UI",t[t.RGBA16I=42]="RGBA16I",t[t.RGBA32F=43]="RGBA32F",t[t.RGBA32UI=44]="RGBA32UI",t[t.RGBA32I=45]="RGBA32I",t[t.R5G6B5=46]="R5G6B5",t[t.R11G11B10F=47]="R11G11B10F",t[t.RGB5A1=48]="RGB5A1",t[t.RGBA4=49]="RGBA4",t[t.RGB10A2=50]="RGB10A2",t[t.RGB10A2UI=51]="RGB10A2UI",t[t.RGB9E5=52]="RGB9E5",t[t.D16=53]="D16",t[t.D16S8=54]="D16S8",t[t.D24=55]="D24",t[t.D24S8=56]="D24S8",t[t.D32F=57]="D32F",t[t.D32F_S8=58]="D32F_S8",t[t.BC1=59]="BC1",t[t.BC1_ALPHA=60]="BC1_ALPHA",t[t.BC1_SRGB=61]="BC1_SRGB",t[t.BC1_SRGB_ALPHA=62]="BC1_SRGB_ALPHA",t[t.BC2=63]="BC2",t[t.BC2_SRGB=64]="BC2_SRGB",t[t.BC3=65]="BC3",t[t.BC3_SRGB=66]="BC3_SRGB",t[t.BC4=67]="BC4",t[t.BC4_SNORM=68]="BC4_SNORM",t[t.BC5=69]="BC5",t[t.BC5_SNORM=70]="BC5_SNORM",t[t.BC6H_UF16=71]="BC6H_UF16",t[t.BC6H_SF16=72]="BC6H_SF16",t[t.BC7=73]="BC7",t[t.BC7_SRGB=74]="BC7_SRGB",t[t.ETC_RGB8=75]="ETC_RGB8",t[t.ETC2_RGB8=76]="ETC2_RGB8",t[t.ETC2_SRGB8=77]="ETC2_SRGB8",t[t.ETC2_RGB8_A1=78]="ETC2_RGB8_A1",t[t.ETC2_SRGB8_A1=79]="ETC2_SRGB8_A1",t[t.ETC2_RGBA8=80]="ETC2_RGBA8",t[t.ETC2_SRGB8_A8=81]="ETC2_SRGB8_A8",t[t.EAC_R11=82]="EAC_R11",t[t.EAC_R11SN=83]="EAC_R11SN",t[t.EAC_RG11=84]="EAC_RG11",t[t.EAC_RG11SN=85]="EAC_RG11SN",t[t.PVRTC_RGB2=86]="PVRTC_RGB2",t[t.PVRTC_RGBA2=87]="PVRTC_RGBA2",t[t.PVRTC_RGB4=88]="PVRTC_RGB4",t[t.PVRTC_RGBA4=89]="PVRTC_RGBA4",t[t.PVRTC2_2BPP=90]="PVRTC2_2BPP",t[t.PVRTC2_4BPP=91]="PVRTC2_4BPP"})(o||(o={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.INDEX=4]="INDEX",t[t.VERTEX=8]="VERTEX",t[t.UNIFORM=16]="UNIFORM",t[t.STORAGE=32]="STORAGE",t[t.INDIRECT=64]="INDIRECT"})(l||(l={})),(function(t){t[t.NONE=0]="NONE",t[t.DEVICE=1]="DEVICE",t[t.HOST=2]="HOST"})(c||(c={})),(function(t){t[t.NONE=0]="NONE",t[t.READ=1]="READ",t[t.WRITE=2]="WRITE"})(h||(h={})),(function(t){t[t.POINT_LIST=0]="POINT_LIST",t[t.LINE_LIST=1]="LINE_LIST",t[t.LINE_STRIP=2]="LINE_STRIP",t[t.LINE_LOOP=3]="LINE_LOOP",t[t.LINE_LIST_ADJACENCY=4]="LINE_LIST_ADJACENCY",t[t.LINE_STRIP_ADJACENCY=5]="LINE_STRIP_ADJACENCY",t[t.ISO_LINE_LIST=6]="ISO_LINE_LIST",t[t.TRIANGLE_LIST=7]="TRIANGLE_LIST",t[t.TRIANGLE_STRIP=8]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=9]="TRIANGLE_FAN",t[t.TRIANGLE_LIST_ADJACENCY=10]="TRIANGLE_LIST_ADJACENCY",t[t.TRIANGLE_STRIP_ADJACENCY=11]="TRIANGLE_STRIP_ADJACENCY",t[t.TRIANGLE_PATCH_ADJACENCY=12]="TRIANGLE_PATCH_ADJACENCY",t[t.QUAD_PATCH_LIST=13]="QUAD_PATCH_LIST"})(u||(u={})),(function(t){t[t.FILL=0]="FILL",t[t.POINT=1]="POINT",t[t.LINE=2]="LINE"})(_||(_={})),(function(t){t[t.GOURAND=0]="GOURAND",t[t.FLAT=1]="FLAT"})(f||(f={})),(function(t){t[t.NONE=0]="NONE",t[t.FRONT=1]="FRONT",t[t.BACK=2]="BACK"})(d||(d={})),(function(t){t[t.NEVER=0]="NEVER",t[t.LESS=1]="LESS",t[t.EQUAL=2]="EQUAL",t[t.LESS_EQUAL=3]="LESS_EQUAL",t[t.GREATER=4]="GREATER",t[t.NOT_EQUAL=5]="NOT_EQUAL",t[t.GREATER_EQUAL=6]="GREATER_EQUAL",t[t.ALWAYS=7]="ALWAYS"})(p||(p={})),(function(t){t[t.ZERO=0]="ZERO",t[t.KEEP=1]="KEEP",t[t.REPLACE=2]="REPLACE",t[t.INCR=3]="INCR",t[t.DECR=4]="DECR",t[t.INVERT=5]="INVERT",t[t.INCR_WRAP=6]="INCR_WRAP",t[t.DECR_WRAP=7]="DECR_WRAP"})(m||(m={})),(function(t){t[t.ADD=0]="ADD",t[t.SUB=1]="SUB",t[t.REV_SUB=2]="REV_SUB",t[t.MIN=3]="MIN",t[t.MAX=4]="MAX"})(y||(y={})),(function(t){t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=2]="SRC_ALPHA",t[t.DST_ALPHA=3]="DST_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=4]="ONE_MINUS_SRC_ALPHA",t[t.ONE_MINUS_DST_ALPHA=5]="ONE_MINUS_DST_ALPHA",t[t.SRC_COLOR=6]="SRC_COLOR",t[t.DST_COLOR=7]="DST_COLOR",t[t.ONE_MINUS_SRC_COLOR=8]="ONE_MINUS_SRC_COLOR",t[t.ONE_MINUS_DST_COLOR=9]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=10]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=11]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=12]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=13]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=14]="ONE_MINUS_CONSTANT_ALPHA"})(v||(v={})),(function(t){t[t.NONE=0]="NONE",t[t.R=1]="R",t[t.G=2]="G",t[t.B=4]="B",t[t.A=8]="A",t[t.ALL=15]="ALL"})(g||(g={})),(function(t){t[t.NONE=0]="NONE",t[t.POINT=1]="POINT",t[t.LINEAR=2]="LINEAR",t[t.ANISOTROPIC=3]="ANISOTROPIC"})(b||(b={})),(function(t){t[t.WRAP=0]="WRAP",t[t.MIRROR=1]="MIRROR",t[t.CLAMP=2]="CLAMP",t[t.BORDER=3]="BORDER"})(A||(A={})),(function(t){t[t.TEX1D=0]="TEX1D",t[t.TEX2D=1]="TEX2D",t[t.TEX3D=2]="TEX3D"})(x||(x={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.SAMPLED=4]="SAMPLED",t[t.STORAGE=8]="STORAGE",t[t.COLOR_ATTACHMENT=16]="COLOR_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=32]="DEPTH_STENCIL_ATTACHMENT",t[t.TRANSIENT_ATTACHMENT=64]="TRANSIENT_ATTACHMENT",t[t.INPUT_ATTACHMENT=128]="INPUT_ATTACHMENT"})(C||(C={})),(function(t){t[t.X1=0]="X1",t[t.X2=1]="X2",t[t.X4=2]="X4",t[t.X8=3]="X8",t[t.X16=4]="X16",t[t.X32=5]="X32",t[t.X64=6]="X64"})(T||(T={})),(function(t){t[t.NONE=0]="NONE",t[t.GEN_MIPMAP=1]="GEN_MIPMAP",t[t.CUBEMAP=2]="CUBEMAP",t[t.BAKUP_BUFFER=4]="BAKUP_BUFFER"})(S||(S={})),(function(t){t[t.TV1D=0]="TV1D",t[t.TV2D=1]="TV2D",t[t.TV3D=2]="TV3D",t[t.CUBE=3]="CUBE",t[t.TV1D_ARRAY=4]="TV1D_ARRAY",t[t.TV2D_ARRAY=5]="TV2D_ARRAY"})(w||(w={})),(function(t){t[t.VERTEX=0]="VERTEX",t[t.HULL=1]="HULL",t[t.DOMAIN=2]="DOMAIN",t[t.GEOMETRY=3]="GEOMETRY",t[t.FRAGMENT=4]="FRAGMENT",t[t.COMPUTE=5]="COMPUTE",t[t.COUNT=6]="COUNT"})(E||(E={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.UNIFORM_BUFFER=1]="UNIFORM_BUFFER",t[t.SAMPLER=2]="SAMPLER",t[t.STORAGE_BUFFER=3]="STORAGE_BUFFER"})(M||(M={})),(function(t){t[t.PRIMARY=0]="PRIMARY",t[t.SECONDARY=1]="SECONDARY"})(D||(D={})),(function(t){t[t.LOAD=0]="LOAD",t[t.CLEAR=1]="CLEAR",t[t.DISCARD=2]="DISCARD"})(B||(B={})),(function(t){t[t.STORE=0]="STORE",t[t.DISCARD=1]="DISCARD"})(I||(I={})),(function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.GENERAL=1]="GENERAL",t[t.COLOR_ATTACHMENT_OPTIMAL=2]="COLOR_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_ATTACHMENT_OPTIMAL=3]="DEPTH_STENCIL_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_READONLY_OPTIMAL=4]="DEPTH_STENCIL_READONLY_OPTIMAL",t[t.SHADER_READONLY_OPTIMAL=5]="SHADER_READONLY_OPTIMAL",t[t.TRANSFER_SRC_OPTIMAL=6]="TRANSFER_SRC_OPTIMAL",t[t.TRANSFER_DST_OPTIMAL=7]="TRANSFER_DST_OPTIMAL",t[t.PREINITIALIZED=8]="PREINITIALIZED",t[t.PRESENT_SRC=9]="PRESENT_SRC"})(P||(P={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.RAY_TRACING=2]="RAY_TRACING"})(R||(R={})),(function(t){t[t.VIEWPORT=0]="VIEWPORT",t[t.SCISSOR=1]="SCISSOR",t[t.LINE_WIDTH=2]="LINE_WIDTH",t[t.DEPTH_BIAS=3]="DEPTH_BIAS",t[t.BLEND_CONSTANTS=4]="BLEND_CONSTANTS",t[t.DEPTH_BOUNDS=5]="DEPTH_BOUNDS",t[t.STENCIL_WRITE_MASK=6]="STENCIL_WRITE_MASK",t[t.STENCIL_COMPARE_MASK=7]="STENCIL_COMPARE_MASK"})(O||(O={})),(function(t){t[t.FRONT=0]="FRONT",t[t.BACK=1]="BACK",t[t.ALL=2]="ALL"})(L||(L={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.TRANSFER=2]="TRANSFER"})(F||(F={})),(function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.DEPTH=2]="DEPTH",t[t.STENCIL=4]="STENCIL",t[t.DEPTH_STENCIL=6]="DEPTH_STENCIL",t[t.ALL=7]="ALL"})(V||(V={})),(function(t){t[t.DEFAULT=100]="DEFAULT"})(N||(N={})),(function(t){t[t.MIN=0]="MIN",t[t.MAX=255]="MAX",t[t.DEFAULT=128]="DEFAULT"})(k||(k={})),(function(t){t[t.UBO_GLOBAL=23]="UBO_GLOBAL",t[t.UBO_SHADOW=22]="UBO_SHADOW",t[t.UBO_LOCAL=21]="UBO_LOCAL",t[t.UBO_FORWARD_LIGHTS=20]="UBO_FORWARD_LIGHTS",t[t.UBO_SKINNING=19]="UBO_SKINNING",t[t.UBO_SKINNING_TEXTURE=18]="UBO_SKINNING_TEXTURE",t[t.UBO_UI=17]="UBO_UI",t[t.SAMPLER_JOINTS=25]="SAMPLER_JOINTS",t[t.SAMPLER_ENVIRONMENT=26]="SAMPLER_ENVIRONMENT",t[t.CUSTUM_UBO_BINDING_END_POINT=17]="CUSTUM_UBO_BINDING_END_POINT",t[t.CUSTOM_SAMPLER_BINDING_START_POINT=30]="CUSTOM_SAMPLER_BINDING_START_POINT"})(z||(z={})),(function(t){t[t.minFilter=0]="minFilter",t[t.magFilter=1]="magFilter",t[t.mipFilter=2]="mipFilter",t[t.addressU=3]="addressU",t[t.addressV=4]="addressV",t[t.addressW=5]="addressW",t[t.maxAnisotropy=6]="maxAnisotropy",t[t.cmpFunc=7]="cmpFunc",t[t.minLOD=8]="minLOD",t[t.maxLOD=9]="maxLOD",t[t.mipLODBias=10]="mipLODBias",t[t.borderColor=11]="borderColor",t[t.total=15]="total"})(j||(j={}));var H={};H[H.bool=a.BOOL]="bool",H[H.int=a.INT]="int",H[H.ivec2=a.INT2]="ivec2invTypeParams",H[H.ivec3=a.INT3]="ivec3",H[H.ivec4=a.INT4]="ivec4",H[H.float=a.FLOAT]="float",H[H.vec2=a.FLOAT2]="vec2",H[H.vec3=a.FLOAT3]="vec3",H[H.vec4=a.FLOAT4]="vec4",H[H.mat2=a.MAT2]="mat2",H[H.mat3=a.MAT3]="mat3",H[H.mat4=a.MAT4]="mat4",H[H.sampler2D=a.SAMPLER2D]="sampler2D",H[H.samplerCube=a.SAMPLER_CUBE]="samplerCube";var W=((G={})[a.BOOL]=4,G[a.INT]=4,G[a.INT2]=8,G[a.INT3]=12,G[a.INT4]=16,G[a.FLOAT]=4,G[a.FLOAT2]=8,G[a.FLOAT3]=12,G[a.FLOAT4]=16,G[a.MAT2]=16,G[a.MAT3]=36,G[a.MAT4]=64,G[a.SAMPLER2D]=4,G[a.SAMPLER_CUBE]=4,G),X=((U={})[a.BOOL]=o.R32I,U[a.INT]=o.R32I,U[a.INT2]=o.RG32I,U[a.INT3]=o.RGB32I,U[a.INT4]=o.RGBA32I,U[a.FLOAT]=o.R32F,U[a.FLOAT2]=o.RG32F,U[a.FLOAT3]=o.RGB32F,U[a.FLOAT4]=o.RGBA32F,U),Y={BACK:1029,FRONT:1028,NONE:0,ADD:32774,SUB:32778,REV_SUB:32779,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,SRC_ALPHA_SATURATE:776,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,INCR_WRAP:34055,DECR:7683,DECR_WRAP:34056,INVERT:5386};Object.assign(Y,N);var q={murmurhash2_32_gc:function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},SamplerInfoIndex:j,effectStructure:{$techniques:[{$passes:[{depthStencilState:{},rasterizerState:{},blendState:{targets:[{}]},properties:{any:{sampler:{},inspector:{}}}}]}]},typeMap:H,sizeMap:W,formatMap:X,passParams:Y,RenderQueue:{OPAQUE:0,TRANSPARENT:1,OVERLAY:2},RenderPriority:k,GFXGetTypeSize:function(t){switch(t){case a.BOOL:case a.INT:case a.UINT:case a.FLOAT:return 4;case a.BOOL2:case a.INT2:case a.UINT2:case a.FLOAT2:return 8;case a.BOOL3:case a.INT3:case a.UINT3:case a.FLOAT3:return 12;case a.BOOL4:case a.INT4:case a.UINT4:case a.FLOAT4:case a.MAT2:return 16;case a.MAT2X3:return 24;case a.MAT2X4:return 32;case a.MAT3X2:return 24;case a.MAT3:return 36;case a.MAT3X4:return 48;case a.MAT4X2:case a.MAT4X2:return 32;case a.MAT4:return 64;case a.SAMPLER1D:case a.SAMPLER1D_ARRAY:case a.SAMPLER2D:case a.SAMPLER2D_ARRAY:case a.SAMPLER3D:case a.SAMPLER_CUBE:return 4;default:return 0}},UniformBinding:z};e.exports=q}),{}],360:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../memop"),r=c(t("../enums")),s=t("../../core/value-types"),a=c(t("./program-lib")),o=c(t("./view")),l=c(t("../gfx"));function c(t){return t&&t.__esModule?t:{default:t}}var h=new s.Mat4,u=new n.RecyclePool(function(){return{stage:null,items:null}},8),_=new n.RecyclePool(function(){return new Float32Array(2)},8),f=new n.RecyclePool(function(){return new Float32Array(3)},8),d=new n.RecyclePool(function(){return new Float32Array(4)},8),p=new n.RecyclePool(function(){return new Float32Array(9)},8),m=new n.RecyclePool(function(){return new Float32Array(16)},8),y=new n.RecyclePool(function(){return new Float32Array(64)},8),v=new n.RecyclePool(function(){return new Int32Array(2)},8),g=new n.RecyclePool(function(){return new Int32Array(3)},8),b=new n.RecyclePool(function(){return new Int32Array(4)},8),A=new n.RecyclePool(function(){return new Int32Array(64)},8),x=(function(){function t(t,e){var i;this._device=t,this._programLib=new a.default(t),this._opts=e,this._type2defaultValue=((i={})[r.default.PARAM_INT]=0,i[r.default.PARAM_INT2]=new s.Vec2(0,0),i[r.default.PARAM_INT3]=new s.Vec3(0,0,0),i[r.default.PARAM_INT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_FLOAT]=0,i[r.default.PARAM_FLOAT2]=new s.Vec2(0,0),i[r.default.PARAM_FLOAT3]=new s.Vec3(0,0,0),i[r.default.PARAM_FLOAT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_COLOR4]=new s.Color(0,0,0,1),i[r.default.PARAM_MAT3]=new s.Mat3,i[r.default.PARAM_MAT4]=new s.Mat4,i[r.default.PARAM_TEXTURE_2D]=e.defaultTexture,i[r.default.PARAM_TEXTURE_CUBE]=e.defaultTextureCube,i),this._stage2fn={},this._usedTextureUnits=0,this._viewPools=new n.RecyclePool(function(){return new o.default},8),this._drawItemsPools=new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,uniforms:null}},100),this._stageItemsPools=new n.RecyclePool(function(){return new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,passes:[],sortKey:-1,uniforms:null}},100)},16),this._definesChanged=!1}var e=t.prototype;return e._resetTextuerUnit=function(){this._usedTextureUnits=0},e._allocTextureUnit=function(){var t=this._device,e=this._usedTextureUnits;return e>=t._caps.maxTextureUnits&&console.warn("Trying to use "+e+" texture units while this GPU supports only "+t._caps.maxTextureUnits),this._usedTextureUnits+=1,e},e._registerStage=function(t,e){this._stage2fn[t]=e},e.clear=function(){this._programLib.clear(),this.reset()},e.reset=function(){this._viewPools.reset(),this._stageItemsPools.reset(),this._definesChanged=!1},e._requestView=function(){return this._viewPools.add()},e._render=function(t,e){var i=this._device;i.setFrameBuffer(t._framebuffer),i.setViewport(t._rect.x,t._rect.y,t._rect.w,t._rect.h);var n={};t._clearFlags&r.default.CLEAR_COLOR&&(n.color=s.Vec4.toArray([],t._color)),t._clearFlags&r.default.CLEAR_DEPTH&&(n.depth=t._depth),t._clearFlags&r.default.CLEAR_STENCIL&&(n.stencil=t._stencil),i.clear(n),this._drawItemsPools.reset();for(var a=0;a<e._models.length;++a){var o=e._models.data[a];if(0!=(o._cullingMask&t._cullingMask)){var l=this._drawItemsPools.add();o.extractDrawItem(l)}}u.reset();for(var c=0;c<t._stages.length;++c){var h=t._stages[c],_=this._stageItemsPools.add();_.reset();for(var f=0;f<this._drawItemsPools.length;++f){var d=this._drawItemsPools.data[f],p=d.effect.stagePasses[h];if(p&&0!==p.length){var m=_.add();m.passes=p,m.model=d.model,m.node=d.node,m.ia=d.ia,m.effect=d.effect,m.defines=d.defines,m.sortKey=-1,m.uniforms=d.uniforms}}var y=u.add();y.stage=h,y.items=_}for(var v=0;v<u.length;++v){var g=u.data[v];(0,this._stage2fn[g.stage])(t,g.items)}},e._setProperty=function(t){var e=this._device,i=t.value;if(void 0===i&&(i=t.val),void 0===i&&(i=this._type2defaultValue[t.type]),void 0!==i)if(t.type===r.default.PARAM_TEXTURE_2D||t.type===r.default.PARAM_TEXTURE_CUBE)if(Array.isArray(i)){if(i.length>t.count)return void console.error("Failed to set property ["+t.name+"] : The length of texture array ["+i.length+"] is bigger than ["+t.count+"].");for(var n=A.add(),s=0;s<i.length;++s)n[s]=this._allocTextureUnit();e.setTextureArray(t.name,i,n)}else e.setTexture(t.name,i,this._allocTextureUnit());else t.directly?e.setUniformDirectly(t.name,i):e.setUniform(t.name,i);else console.warn("Failed to set technique property "+t.name+", value not found.")},e._draw=function(t){var e=this._device,i=this._programLib,n=t.node,r=t.ia,a=t.passes,o=t.effect;_.reset(),f.reset(),d.reset(),p.reset(),m.reset(),y.reset(),v.reset(),g.reset(),b.reset(),A.reset(),n.getWorldMatrix(h),e.setUniform("cc_matWorld",s.Mat4.toArray(m.add(),h)),s.Mat4.invert(h,h),s.Mat4.transpose(h,h),e.setUniform("cc_matWorldIT",s.Mat4.toArray(m.add(),h));for(var c=this._defines,u=0;u<a.length;++u){var x=a[u];this._definesChanged&&(x._programKey=null);var C=r.count;r._vertexBuffer&&e.setVertexBuffer(0,r._vertexBuffer),r._indexBuffer&&e.setIndexBuffer(r._indexBuffer),e.setPrimitiveType(r._primitiveType),Object.setPrototypeOf(c,x._defines);var T=i.getProgram(x,c,o.name);e.setProgram(T);for(var S=T._uniforms,w=x._properties,E=0;E<S.length;E++){var M=w[S[E].name];void 0!==M&&this._setProperty(M)}e.setCullMode(x._cullMode),x._blend&&(e.enableBlend(),e.setBlendFuncSep(x._blendSrc,x._blendDst,x._blendSrcAlpha,x._blendDstAlpha),e.setBlendEqSep(x._blendEq,x._blendAlphaEq),e.setBlendColor32(x._blendColor)),x._depthTest&&(e.enableDepthTest(),e.setDepthFunc(x._depthFunc)),x._depthWrite&&e.enableDepthWrite(),e.setStencilTest(x._stencilTest),x._stencilTest===l.default.STENCIL_ENABLE&&(e.setStencilFuncFront(x._stencilFuncFront,x._stencilRefFront,x._stencilMaskFront),e.setStencilOpFront(x._stencilFailOpFront,x._stencilZFailOpFront,x._stencilZPassOpFront,x._stencilWriteMaskFront),e.setStencilFuncBack(x._stencilFuncBack,x._stencilRefBack,x._stencilMaskBack),e.setStencilOpBack(x._stencilFailOpBack,x._stencilZFailOpBack,x._stencilZPassOpBack,x._stencilWriteMaskBack)),e.draw(r._start,C),this._resetTextuerUnit()}},t})();i.default=x,e.exports=i.default}),{"../../core/value-types":338,"../enums":366,"../gfx":371,"../memop":383,"./program-lib":363,"./view":365}],361:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../gfx"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=(function(){function t(t,e,i){void 0===i&&(i=r.default.PT_TRIANGLES),this._vertexBuffer=t,this._indexBuffer=e,this._primitiveType=i,this._start=0,this._count=-1}var e,i;return e=t,(i=[{key:"count",get:function(){return-1!==this._count?this._count:this._indexBuffer?this._indexBuffer.count:this._vertexBuffer?this._vertexBuffer.count:0}}])&&s(e.prototype,i),t})();i.default=a,e.exports=i.default}),{"../gfx":371}],362:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../gfx")),r=a(t("../enums")),s=a(t("../../core/value-types/value-type"));function a(t){return t&&t.__esModule?t:{default:t}}var o=(function(){function t(t,e,i,r,s,a){void 0===s&&(s={}),void 0===a&&(a={}),this._name=t,this._detailName=e,this._programName=i,this._programKey=null,this._stage=r,this._properties=s,this._defines=a,this._cullMode=n.default.CULL_BACK,this._blend=!1,this._blendEq=n.default.BLEND_FUNC_ADD,this._blendAlphaEq=n.default.BLEND_FUNC_ADD,this._blendSrc=n.default.BLEND_SRC_ALPHA,this._blendDst=n.default.BLEND_ONE_MINUS_SRC_ALPHA,this._blendSrcAlpha=n.default.BLEND_SRC_ALPHA,this._blendDstAlpha=n.default.BLEND_ONE_MINUS_SRC_ALPHA,this._blendColor=4294967295,this._depthTest=!1,this._depthWrite=!1,this._depthFunc=n.default.DS_FUNC_LESS,this._stencilTest=n.default.STENCIL_INHERIT,this._stencilFuncFront=n.default.DS_FUNC_ALWAYS,this._stencilRefFront=0,this._stencilMaskFront=255,this._stencilFailOpFront=n.default.STENCIL_OP_KEEP,this._stencilZFailOpFront=n.default.STENCIL_OP_KEEP,this._stencilZPassOpFront=n.default.STENCIL_OP_KEEP,this._stencilWriteMaskFront=255,this._stencilFuncBack=n.default.DS_FUNC_ALWAYS,this._stencilRefBack=0,this._stencilMaskBack=255,this._stencilFailOpBack=n.default.STENCIL_OP_KEEP,this._stencilZFailOpBack=n.default.STENCIL_OP_KEEP,this._stencilZPassOpBack=n.default.STENCIL_OP_KEEP,this._stencilWriteMaskBack=255}var e=t.prototype;return e.setCullMode=function(t){void 0===t&&(t=n.default.CULL_BACK),this._cullMode=t},e.setBlend=function(t,e,i,r,s,a,o,l){void 0===t&&(t=!1),void 0===e&&(e=n.default.BLEND_FUNC_ADD),void 0===i&&(i=n.default.BLEND_SRC_ALPHA),void 0===r&&(r=n.default.BLEND_ONE_MINUS_SRC_ALPHA),void 0===s&&(s=n.default.BLEND_FUNC_ADD),void 0===a&&(a=n.default.BLEND_SRC_ALPHA),void 0===o&&(o=n.default.BLEND_ONE_MINUS_SRC_ALPHA),void 0===l&&(l=4294967295),this._blend=t,this._blendEq=e,this._blendSrc=i,this._blendDst=r,this._blendAlphaEq=s,this._blendSrcAlpha=a,this._blendDstAlpha=o,this._blendColor=l},e.setDepth=function(t,e,i){void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=n.default.DS_FUNC_LESS),this._depthTest=t,this._depthWrite=e,this._depthFunc=i},e.setStencilFront=function(t,e,i,r,s,a,o,l){void 0===t&&(t=n.default.STENCIL_INHERIT),void 0===e&&(e=n.default.DS_FUNC_ALWAYS),void 0===i&&(i=0),void 0===r&&(r=255),void 0===s&&(s=n.default.STENCIL_OP_KEEP),void 0===a&&(a=n.default.STENCIL_OP_KEEP),void 0===o&&(o=n.default.STENCIL_OP_KEEP),void 0===l&&(l=255),this._stencilTest=t,this._stencilFuncFront=e,this._stencilRefFront=i,this._stencilMaskFront=r,this._stencilFailOpFront=s,this._stencilZFailOpFront=a,this._stencilZPassOpFront=o,this._stencilWriteMaskFront=l},e.setStencilEnabled=function(t){void 0===t&&(t=n.default.STENCIL_INHERIT),this._stencilTest=t},e.setStencilBack=function(t,e,i,r,s,a,o,l){void 0===t&&(t=n.default.STENCIL_INHERIT),void 0===e&&(e=n.default.DS_FUNC_ALWAYS),void 0===i&&(i=0),void 0===r&&(r=255),void 0===s&&(s=n.default.STENCIL_OP_KEEP),void 0===a&&(a=n.default.STENCIL_OP_KEEP),void 0===o&&(o=n.default.STENCIL_OP_KEEP),void 0===l&&(l=255),this._stencilTest=t,this._stencilFuncBack=e,this._stencilRefBack=i,this._stencilMaskBack=r,this._stencilFailOpBack=s,this._stencilZFailOpBack=a,this._stencilZPassOpBack=o,this._stencilWriteMaskBack=l},e.setStage=function(t){this._stage=t},e.setProperties=function(t){this._properties=t},e.getProperty=function(t){if(this._properties[t])return this._properties[t].value},e.setProperty=function(t,e,i){var n=this._properties[t];if(!n)return!1;if(n.directly=i,Array.isArray(e)){var a=n.value;if(a.length!==e.length)return void cc.warnID(9105,this._name,t);for(var o=0;o<e.length;o++)a[o]=e[o]}else e&&!ArrayBuffer.isView(e)?n.type===r.default.PARAM_TEXTURE_2D?n.value=e.getImpl():e instanceof s.default?e.constructor.toArray(n.value,e):("object"==typeof e&&cc.warnID(9106,this._name,t),n.value=e):n.value=e;return!0},e.getDefine=function(t){return this._defines[t]},e.define=function(t,e,i){var n=this._defines[t];return!(!i&&void 0===n||(n!==e&&(this._defines[t]=e,this._programKey=null),0))},e.clone=function(){var e=new t(this._programName);Object.assign(e,this);var i={},n=this._properties;for(var r in n){var s=n[r],a=i[r]={},o=s.value;for(var l in Array.isArray(o)?a.value=o.concat():ArrayBuffer.isView(o)?a.value=new o.__proto__.constructor(o):a.value=o,s)"value"!==l&&(a[l]=s[l])}return e._properties=i,e._defines=Object.assign({},this._defines),e},t})();i.default=o,e.exports=i.default}),{"../../core/value-types/value-type":346,"../enums":366,"../gfx":371}],363:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../gfx"))&&n.__esModule?n:{default:n},s=0;function a(t,e){for(var i=[],n=0;n<t.length;n++){var r=t[n].name,s=e[r];"number"!=typeof s&&(s=s?1:0),i.push("#define "+r+" "+s)}return i.join("\n")+"\n"}function o(t,e,i){for(var n=t,r=0;r<e.length;r++){var s=e[r].name,a=i[s];if(Number.isInteger(a)){var o=new RegExp(s,"g");n=n.replace(o,a)}}return n}function l(t){return t.replace(/#pragma for (\w+) in range\(\s*(\d+)\s*,\s*(\d+)\s*\)([\s\S]+?)#pragma endFor/g,(function(t,e,i,n,r){var s="",a=parseInt(i),o=parseInt(n);(a.isNaN||o.isNaN)&&console.error("Unroll For Loops Error: begin and end of range must be an int num.");for(var l=a;l<o;++l)s+=r.replace(new RegExp("{"+e+"}","g"),l);return s}))}function c(t){return t.replace(/\bhighp\b/g,"mediump")}var h=(function(){function t(t){this._device=t,this._templates={},this._cache={},this._checkPrecision()}var e=t.prototype;return e.clear=function(){this._templates={},this._cache={}},e.define=function(t){var e=t.name,i=t.defines,n=t.glsl1||t,r=n.vert,a=n.frag;if(!this._templates[e]){for(var o=++s,l=0,c=0;c<i.length;++c){var h=i[c],u=1;if("number"===h.type){var _=h.range||[];h.min=_[0]||0,h.max=_[1]||4,u=Math.ceil(Math.log2(h.max-h.min)),h._map=function(t){return t-this.min<<this._offset}.bind(h)}else h._map=function(t){return t?1<<this._offset:0}.bind(h);h._offset=l,l+=u}var f=t.uniforms||[];if(t.samplers)for(var d=0;d<t.samplers.length;d++)f.push(t.samplers[d]);if(t.blocks)for(var p=0;p<t.blocks.length;p++)for(var m=t.blocks[p].defines,y=t.blocks[p].members,v=0;v<y.length;v++)f.push({defines:m,name:y[v].name,type:y[v].type});this._templates[e]={id:o,name:e,vert:r,frag:a,defines:i,attributes:t.attributes,uniforms:f,extensions:t.extensions}}},e.getTemplate=function(t){return this._templates[t]},e.hasProgram=function(t){return void 0!==this._templates[t]},e.getKey=function(t,e){for(var i=this._templates[t],n=0,r=0;r<i.defines.length;++r){var s=i.defines[r],a=e[s.name];void 0!==a&&(n|=s._map(a))}return i.id+":"+n},e.getProgram=function(t,e,i){var n=t._programKey=t._programKey||this.getKey(t._programName,e),s=this._cache[n];if(s)return s;var h=this._templates[t._programName],u=a(h.defines,e),_=o(h.vert,h.defines,e);_=u+l(_),this._highpSupported||(_=c(_));var f=o(h.frag,h.defines,e);f=u+l(f),this._highpSupported||(f=c(f));var d=(s=new r.default.Program(this._device,{vert:_,frag:f})).link();if(d){var p=_.split("\n"),m=f.split("\n"),y=h.defines.length;d.forEach((function(t){var e=t.line-1,n=t.line-y,r=("vs"===t.type?p:m)[e],s=t.info||"Failed to compile "+t.type+" "+t.fileID+" (ln "+n+"): \n "+t.message+": \n "+r;cc.error(i+" : "+s)}))}return this._cache[n]=s,s},e._checkPrecision=function(){var t=this._device._gl,e=!1;if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT);e=i&&i.precision>0&&n&&n.precision>0}e||cc.warnID(9102),this._highpSupported=e},t})();i.default=h,e.exports=i.default}),{"../gfx":371}],364:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}i.__esModule=!0,i.default=void 0;var r=(function(){function t(t,e){this._name=t,this._passes=e}var e,i;return t.prototype.clone=function(){for(var e=[],i=0;i<this._passes.length;i++)e.push(this._passes[i].clone());return new t(this._name,e)},e=t,(i=[{key:"name",get:function(){return this._name}},{key:"passes",get:function(){return this._passes}}])&&n(e.prototype,i),t})();i.default=r,e.exports=i.default}),{}],365:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../../core/value-types"),s=(n=t("../enums"))&&n.__esModule?n:{default:n},a=new r.Mat4,o=0,l=(function(){function t(){this._id=o++,this._priority=0,this._rect={x:0,y:0,w:1,h:1},this._color=new r.Vec4(.3,.3,.3,1),this._depth=1,this._stencil=0,this._clearFlags=s.default.CLEAR_COLOR|s.default.CLEAR_DEPTH,this._clearModel=null,this._matView=cc.mat4(),this._matViewInv=cc.mat4(),this._matProj=cc.mat4(),this._matViewProj=cc.mat4(),this._matInvViewProj=cc.mat4(),this._stages=[],this._cullingByID=!1,this._framebuffer=null,this._shadowLight=null,this._cullingMask=4294967295}var e=t.prototype;return e.getForward=function(t){var e=this._matView.m;return r.Vec3.set(t,-e[2],-e[6],-e[10])},e.getPosition=function(t){return r.Mat4.invert(a,this._matView),r.Mat4.getTranslation(t,a)},t})();i.default=l,e.exports=i.default}),{"../../core/value-types":338,"../enums":366}],366:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./build/mappings"),r={PROJ_PERSPECTIVE:0,PROJ_ORTHO:1,LIGHT_DIRECTIONAL:0,LIGHT_POINT:1,LIGHT_SPOT:2,LIGHT_AMBIENT:3,SHADOW_NONE:0,SHADOW_HARD:1,SHADOW_SOFT:2,PARAM_INT:n.typeMap.int,PARAM_INT2:n.typeMap.ivec2,PARAM_INT3:n.typeMap.ivec3,PARAM_INT4:n.typeMap.ivec4,PARAM_FLOAT:n.typeMap.float,PARAM_FLOAT2:n.typeMap.vec2,PARAM_FLOAT3:n.typeMap.vec3,PARAM_FLOAT4:n.typeMap.vec4,PARAM_MAT2:n.typeMap.mat2,PARAM_MAT3:n.typeMap.mat3,PARAM_MAT4:n.typeMap.mat4,PARAM_TEXTURE_2D:n.typeMap.sampler2D,PARAM_TEXTURE_CUBE:n.typeMap.samplerCube,CLEAR_COLOR:1,CLEAR_DEPTH:2,CLEAR_STENCIL:4,CLEAR_SKYBOX:8,BUFFER_VIEW_INT8:0,BUFFER_VIEW_UINT8:1,BUFFER_VIEW_INT16:2,BUFFER_VIEW_UINT16:3,BUFFER_VIEW_INT32:4,BUFFER_VIEW_UINT32:5,BUFFER_VIEW_FLOAT32:6};i.default=r,e.exports=i.default}),{"./build/mappings":359}],367:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s=c(t("./state")),a=t("./enums"),o=c(t("./texture-2d")),l=c(t("./texture-cube"));function c(t){return t&&t.__esModule?t:{default:t}}function h(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var u=((n={})[5124]=function(t,e,i){t.uniform1i(e,i)},n[5126]=function(t,e,i){t.uniform1f(e,i)},n[35664]=function(t,e,i){t.uniform2fv(e,i)},n[35665]=function(t,e,i){t.uniform3fv(e,i)},n[35666]=function(t,e,i){t.uniform4fv(e,i)},n[35667]=function(t,e,i){t.uniform2iv(e,i)},n[35668]=function(t,e,i){t.uniform3iv(e,i)},n[35669]=function(t,e,i){t.uniform4iv(e,i)},n[35670]=function(t,e,i){t.uniform1i(e,i)},n[35671]=function(t,e,i){t.uniform2iv(e,i)},n[35672]=function(t,e,i){t.uniform3iv(e,i)},n[35673]=function(t,e,i){t.uniform4iv(e,i)},n[35674]=function(t,e,i){t.uniformMatrix2fv(e,!1,i)},n[35675]=function(t,e,i){t.uniformMatrix3fv(e,!1,i)},n[35676]=function(t,e,i){t.uniformMatrix4fv(e,!1,i)},n[35678]=function(t,e,i){t.uniform1i(e,i)},n[35680]=function(t,e,i){t.uniform1i(e,i)},n),_=((r={})[5124]=function(t,e,i){t.uniform1iv(e,i)},r[5126]=function(t,e,i){t.uniform1fv(e,i)},r[35664]=function(t,e,i){t.uniform2fv(e,i)},r[35665]=function(t,e,i){t.uniform3fv(e,i)},r[35666]=function(t,e,i){t.uniform4fv(e,i)},r[35667]=function(t,e,i){t.uniform2iv(e,i)},r[35668]=function(t,e,i){t.uniform3iv(e,i)},r[35669]=function(t,e,i){t.uniform4iv(e,i)},r[35670]=function(t,e,i){t.uniform1iv(e,i)},r[35671]=function(t,e,i){t.uniform2iv(e,i)},r[35672]=function(t,e,i){t.uniform3iv(e,i)},r[35673]=function(t,e,i){t.uniform4iv(e,i)},r[35674]=function(t,e,i){t.uniformMatrix2fv(e,!1,i)},r[35675]=function(t,e,i){t.uniformMatrix3fv(e,!1,i)},r[35676]=function(t,e,i){t.uniformMatrix4fv(e,!1,i)},r[35678]=function(t,e,i){t.uniform1iv(e,i)},r[35680]=function(t,e,i){t.uniform1iv(e,i)},r);function f(t,e,i){if(e.blend!==i.blend)return i.blend?(t.enable(t.BLEND),i.blendSrc!==a.enums.BLEND_CONSTANT_COLOR&&i.blendSrc!==a.enums.BLEND_ONE_MINUS_CONSTANT_COLOR&&i.blendDst!==a.enums.BLEND_CONSTANT_COLOR&&i.blendDst!==a.enums.BLEND_ONE_MINUS_CONSTANT_COLOR||t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),void(i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))):void t.disable(t.BLEND);!1!==i.blend&&(e.blendColor!==i.blendColor&&t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),e.blendSep===i.blendSep?i.blendSep?(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst&&e.blendSrcAlpha===i.blendSrcAlpha&&e.blendDstAlpha===i.blendDstAlpha||t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),e.blendEq===i.blendEq&&e.blendAlphaEq===i.blendAlphaEq||t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst||t.blendFunc(i.blendSrc,i.blendDst),e.blendEq!==i.blendEq&&t.blendEquation(i.blendEq)):i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))}function d(t,e,i){if(e.depthTest!==i.depthTest)return i.depthTest?(t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc),void t.depthMask(i.depthWrite)):void t.disable(t.DEPTH_TEST);e.depthWrite!==i.depthWrite&&t.depthMask(i.depthWrite),!1!==i.depthTest?e.depthFunc!==i.depthFunc&&t.depthFunc(i.depthFunc):i.depthWrite&&(i.depthTest=!0,i.depthFunc=a.enums.DS_FUNC_ALWAYS,t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc))}function p(t,e,i){if(i.stencilTest!==a.enums.STENCIL_INHERIT)return i.stencilTest!==e.stencilTest?i.stencilTest===a.enums.STENCIL_DISABLE?void t.disable(t.STENCIL_TEST):(t.enable(t.STENCIL_TEST),void(i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))):void(i.stencilTest!==a.enums.STENCIL_DISABLE&&(e.stencilSep===i.stencilSep?i.stencilSep?(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),e.stencilFuncBack===i.stencilFuncBack&&e.stencilRefBack===i.stencilRefBack&&e.stencilMaskBack===i.stencilMaskBack||t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),e.stencilWriteMaskBack!==i.stencilWriteMaskBack&&t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),e.stencilFailOpBack===i.stencilFailOpBack&&e.stencilZFailOpBack===i.stencilZFailOpBack&&e.stencilZPassOpBack===i.stencilZPassOpBack||t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMask(i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)):i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront))))}function m(t,e,i){e.cullMode!==i.cullMode&&(i.cullMode!==a.enums.CULL_NONE?(t.enable(t.CULL_FACE),t.cullFace(i.cullMode)):t.disable(t.CULL_FACE))}function y(t,e,i,n){var r=!1;if(-1!==n.maxStream){if(i.maxStream!==n.maxStream)r=!0;else if(i.program!==n.program)r=!0;else for(var s=0;s<n.maxStream+1;++s)if(i.vertexBuffers[s]!==n.vertexBuffers[s]||i.vertexBufferOffsets[s]!==n.vertexBufferOffsets[s]){r=!0;break}if(r){for(var a=0;a<t._caps.maxVertexAttribs;++a)t._newAttributes[a]=0;for(var o=0;o<n.maxStream+1;++o){var l=n.vertexBuffers[o],c=n.vertexBufferOffsets[o];if(l&&-1!==l._glID){e.bindBuffer(e.ARRAY_BUFFER,l._glID);for(var h=0;h<n.program._attributes.length;++h){var u=n.program._attributes[h],_=l._format.element(u.name);_?(0===t._enabledAttributes[u.location]&&(e.enableVertexAttribArray(u.location),t._enabledAttributes[u.location]=1),t._newAttributes[u.location]=1,e.vertexAttribPointer(u.location,_.num,_.type,_.normalize,_.stride,_.offset+c*_.stride)):console.warn("Can not find vertex attribute: "+u.name)}}}for(var f=0;f<t._caps.maxVertexAttribs;++f)t._enabledAttributes[f]!==t._newAttributes[f]&&(e.disableVertexAttribArray(f),t._enabledAttributes[f]=0)}}}function v(t,e,i){for(var n=0;n<i.maxTextureSlot+1;++n)if(e.textureUnits[n]!==i.textureUnits[n]){var r=i.textureUnits[n];r&&-1!==r._glID&&(t.activeTexture(t.TEXTURE0+n),t.bindTexture(r._target,r._glID))}}function g(t,e,i,n){void 0===n&&(n=0),i instanceof o.default?t.framebufferTexture2D(t.FRAMEBUFFER,e,t.TEXTURE_2D,i._glID,0):i instanceof l.default?t.framebufferTexture2D(t.FRAMEBUFFER,e,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,i._glID,0):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,i._glID)}var b=(function(){var t,e;function i(t,e){var i;void 0===(e=e||{}).alpha&&(e.alpha=!1),void 0===e.stencil&&(e.stencil=!0),void 0===e.depth&&(e.depth=!0),void 0===e.antialias&&(e.antialias=!1),void 0===e.preserveDrawingBuffer&&(e.preserveDrawingBuffer=!1);try{i=t.getContext("webgl",e)||t.getContext("experimental-webgl",e)||t.getContext("webkit-3d",e)||t.getContext("moz-webgl",e)}catch(r){return void console.error(r)}i||console.error("This device does not support webgl"),this._gl=i,this._extensions={},this._caps={},this._stats={texture:0,vb:0,ib:0,drawcalls:0},this._initExtensions(["EXT_texture_filter_anisotropic","EXT_shader_texture_lod","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","WEBGL_draw_buffers"]),this._initCaps(),this._initStates(),s.default.initDefault(this),this._current=new s.default(this),this._next=new s.default(this),this._uniforms={},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0,this._framebuffer=null,this._enabledAttributes=new Array(this._caps.maxVertexAttribs),this._newAttributes=new Array(this._caps.maxVertexAttribs);for(var n=0;n<this._caps.maxVertexAttribs;++n)this._enabledAttributes[n]=0,this._newAttributes[n]=0}t=i,(e=[{key:"caps",get:function(){return this._caps}}])&&h(t.prototype,e);var n=i.prototype;return n._initExtensions=function(t){for(var e=this._gl,i=0;i<t.length;++i)for(var n=t[i],r=["","WEBKIT_","MOZ_"],s=0;s<r.length;s++)try{var a=e.getExtension(r[s]+n);if(a){this._extensions[n]=a;break}}catch(o){console.error(o)}},n._initCaps=function(){var t=this._gl,e=this.ext("WEBGL_draw_buffers");this._caps.maxVertexStreams=4,this._caps.maxVertexTextures=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this._caps.maxFragUniforms=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),this._caps.maxTextureUnits=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this._caps.maxVertexAttribs=t.getParameter(t.MAX_VERTEX_ATTRIBS),this._caps.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this._caps.maxDrawBuffers=e?t.getParameter(e.MAX_DRAW_BUFFERS_WEBGL):1,this._caps.maxColorAttachments=e?t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL):1},n._initStates=function(){var t=this._gl;t.disable(t.BLEND),t.blendFunc(t.ONE,t.ZERO),t.blendEquation(t.FUNC_ADD),t.blendColor(1,1,1,1),t.colorMask(!0,!0,!0,!0),t.enable(t.CULL_FACE),t.cullFace(t.BACK),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.disable(t.POLYGON_OFFSET_FILL),t.depthRange(0,1),t.disable(t.STENCIL_TEST),t.stencilFunc(t.ALWAYS,0,255),t.stencilMask(255),t.stencilOp(t.KEEP,t.KEEP,t.KEEP),t.clearDepth(1),t.clearColor(0,0,0,0),t.clearStencil(0),t.disable(t.SCISSOR_TEST)},n._restoreTexture=function(t){var e=this._gl,i=this._current.textureUnits[t];i&&-1!==i._glID?e.bindTexture(i._target,i._glID):e.bindTexture(e.TEXTURE_2D,null)},n._restoreIndexBuffer=function(){var t=this._gl,e=this._current.indexBuffer;e&&-1!==e._glID?t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e._glID):t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)},n.ext=function(t){return this._extensions[t]},n.allowFloatTexture=function(){return null!=this.ext("OES_texture_float")},n.setFrameBuffer=function(t){if(this._framebuffer!==t){this._framebuffer=t;var e=this._gl;if(t){e.bindFramebuffer(e.FRAMEBUFFER,t._glID);for(var i=t._colors.length,n=0;n<i;++n){var r=t._colors[n];g(e,e.COLOR_ATTACHMENT0+n,r)}for(var s=i;s<this._caps.maxColorAttachments;++s)e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+s,e.TEXTURE_2D,null,0);t._depth&&g(e,e.DEPTH_ATTACHMENT,t._depth),t._stencil&&g(e,e.STENCIL_ATTACHMENT,t._stencil),t._depthStencil&&g(e,e.DEPTH_STENCIL_ATTACHMENT,t._depthStencil)}else e.bindFramebuffer(e.FRAMEBUFFER,null)}},n.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._gl.viewport(t,e,i,n),this._vx=t,this._vy=e,this._vw=i,this._vh=n)},n.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._gl.scissor(t,e,i,n),this._sx=t,this._sy=e,this._sw=i,this._sh=n)},n.clear=function(t){if(void 0!==t.color||void 0!==t.depth||void 0!==t.stencil){var e=this._gl,i=0;void 0!==t.color&&(i|=e.COLOR_BUFFER_BIT,e.clearColor(t.color[0],t.color[1],t.color[2],t.color[3])),void 0!==t.depth&&(i|=e.DEPTH_BUFFER_BIT,e.clearDepth(t.depth),e.enable(e.DEPTH_TEST),e.depthMask(!0),e.depthFunc(e.ALWAYS)),void 0!==t.stencil&&(i|=e.STENCIL_BUFFER_BIT,e.clearStencil(t.stencil)),e.clear(i),void 0!==t.depth&&(!1===this._current.depthTest?e.disable(e.DEPTH_TEST):(!1===this._current.depthWrite&&e.depthMask(!1),this._current.depthFunc!==a.enums.DS_FUNC_ALWAYS&&e.depthFunc(this._current.depthFunc)))}},n.enableBlend=function(){this._next.blend=!0},n.enableDepthTest=function(){this._next.depthTest=!0},n.enableDepthWrite=function(){this._next.depthWrite=!0},n.setStencilTest=function(t){this._next.stencilTest=t},n.setStencilFunc=function(t,e,i){this._next.stencilSep=!1,this._next.stencilFuncFront=this._next.stencilFuncBack=t,this._next.stencilRefFront=this._next.stencilRefBack=e,this._next.stencilMaskFront=this._next.stencilMaskBack=i},n.setStencilFuncFront=function(t,e,i){this._next.stencilSep=!0,this._next.stencilFuncFront=t,this._next.stencilRefFront=e,this._next.stencilMaskFront=i},n.setStencilFuncBack=function(t,e,i){this._next.stencilSep=!0,this._next.stencilFuncBack=t,this._next.stencilRefBack=e,this._next.stencilMaskBack=i},n.setStencilOp=function(t,e,i,n){this._next.stencilFailOpFront=this._next.stencilFailOpBack=t,this._next.stencilZFailOpFront=this._next.stencilZFailOpBack=e,this._next.stencilZPassOpFront=this._next.stencilZPassOpBack=i,this._next.stencilWriteMaskFront=this._next.stencilWriteMaskBack=n},n.setStencilOpFront=function(t,e,i,n){this._next.stencilSep=!0,this._next.stencilFailOpFront=t,this._next.stencilZFailOpFront=e,this._next.stencilZPassOpFront=i,this._next.stencilWriteMaskFront=n},n.setStencilOpBack=function(t,e,i,n){this._next.stencilSep=!0,this._next.stencilFailOpBack=t,this._next.stencilZFailOpBack=e,this._next.stencilZPassOpBack=i,this._next.stencilWriteMaskBack=n},n.setDepthFunc=function(t){this._next.depthFunc=t},n.setBlendColor32=function(t){this._next.blendColor=t},n.setBlendColor=function(t,e,i,n){this._next.blendColor=(255*t<<24|255*e<<16|255*i<<8|255*n)>>>0},n.setBlendFunc=function(t,e){this._next.blendSep=!1,this._next.blendSrc=t,this._next.blendDst=e},n.setBlendFuncSep=function(t,e,i,n){this._next.blendSep=!0,this._next.blendSrc=t,this._next.blendDst=e,this._next.blendSrcAlpha=i,this._next.blendDstAlpha=n},n.setBlendEq=function(t){this._next.blendSep=!1,this._next.blendEq=t},n.setBlendEqSep=function(t,e){this._next.blendSep=!0,this._next.blendEq=t,this._next.blendAlphaEq=e},n.setCullMode=function(t){this._next.cullMode=t},n.setVertexBuffer=function(t,e,i){void 0===i&&(i=0),this._next.vertexBuffers[t]=e,this._next.vertexBufferOffsets[t]=i,this._next.maxStream<t&&(this._next.maxStream=t)},n.setIndexBuffer=function(t){this._next.indexBuffer=t},n.setProgram=function(t){this._next.program=t},n.setTexture=function(t,e,i){i>=this._caps.maxTextureUnits?console.warn("Can not set texture "+t+" at stage "+i+", max texture exceed: "+this._caps.maxTextureUnits):(this._next.textureUnits[i]=e,this.setUniform(t,i),this._next.maxTextureSlot<i&&(this._next.maxTextureSlot=i))},n.setTextureArray=function(t,e,i){var n=e.length;if(n>=this._caps.maxTextureUnits)console.warn("Can not set "+n+" textures for "+t+", max texture exceed: "+this._caps.maxTextureUnits);else{for(var r=0;r<n;++r){var s=i[r];this._next.textureUnits[s]=e[r],this._next.maxTextureSlot<s&&(this._next.maxTextureSlot=s)}this.setUniform(t,i)}},n.setUniform=function(t,e){var i=this._uniforms[t],n=!1,r=!1,s=!1,a=!1;do{if(!i)break;if(s=Array.isArray(e)||e instanceof Float32Array,a=e instanceof Int32Array,r=s||a,i.isArray!==r)break;if(i.isArray&&i.value.length!==e.length)break;n=!0}while(0);if(n){var o=i.value,l=!1;if(i.isArray)for(var c=0,h=o.length;c<h;c++)o[c]!==e[c]&&(l=!0,o[c]=e[c]);else o!==e&&(l=!0,i.value=e);l&&(i.dirty=!0)}else{var u=e;s?u=new Float32Array(e):a&&(u=new Int32Array(e)),i={dirty:!0,value:u,isArray:r}}this._uniforms[t]=i},n.setUniformDirectly=function(t,e){var i=this._uniforms[t];i||(this._uniforms[t]=i={}),i.dirty=!0,i.value=e},n.setPrimitiveType=function(t){this._next.primitiveType=t},n.resetDrawCalls=function(){this._stats.drawcalls=0},n.getDrawCalls=function(){return this._stats.drawcalls},n.draw=function(t,e){var i=this._gl,n=this._current,r=this._next;f(i,n,r),d(i,n,r),p(i,n,r),m(i,n,r),y(this,i,n,r),n.indexBuffer!==r.indexBuffer&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,r.indexBuffer&&-1!==r.indexBuffer._glID?r.indexBuffer._glID:null);var s=!1;n.program!==r.program&&(r.program._linked?i.useProgram(r.program._glID):console.warn("Failed to use program: has not linked yet."),s=!0),v(i,n,r);for(var a=0;a<r.program._uniforms.length;++a){var o=r.program._uniforms[a],l=this._uniforms[o.name];if(l&&(s||l.dirty)){l.dirty=!1;var c=void 0===o.size?u[o.type]:_[o.type];c?c(i,o.location,l.value):console.warn("Can not find commit function for uniform "+o.name)}}e&&(r.indexBuffer?i.drawElements(this._next.primitiveType,e,r.indexBuffer._format,t*r.indexBuffer._bytesPerIndex):i.drawArrays(this._next.primitiveType,t,e),this._stats.drawcalls++),n.set(r),r.reset()},i})();i.default=b,e.exports=i.default}),{"./enums":368,"./state":375,"./texture-2d":376,"./texture-cube":377}],368:[(function(t,e,i){"use strict";i.__esModule=!0,i.attrTypeBytes=function(t){return t===s.ATTR_TYPE_INT8?1:t===s.ATTR_TYPE_UINT8?1:t===s.ATTR_TYPE_INT16?2:t===s.ATTR_TYPE_UINT16?2:t===s.ATTR_TYPE_INT32?4:t===s.ATTR_TYPE_UINT32?4:t===s.ATTR_TYPE_FLOAT32?4:(console.warn("Unknown ATTR_TYPE: "+t),0)},i.glFilter=function(t,e,i){void 0===i&&(i=-1);var r=n[e][i+1];return void 0===r?(console.warn("Unknown FILTER: "+e),-1===i?t.LINEAR:t.LINEAR_MIPMAP_LINEAR):r},i.glTextureFmt=function(t){var e=r[t];return void 0===e?(console.warn("Unknown TEXTURE_FMT: "+t),r[s.TEXTURE_FMT_RGBA8]):e},i.enums=void 0;var n=[[9728,9984,9986],[9729,9985,9987]],r=[{format:6407,internalFormat:33776,pixelType:null},{format:6408,internalFormat:33777,pixelType:null},{format:6408,internalFormat:33778,pixelType:null},{format:6408,internalFormat:33779,pixelType:null},{format:6407,internalFormat:36196,pixelType:null},{format:6407,internalFormat:35841,pixelType:null},{format:6408,internalFormat:35843,pixelType:null},{format:6407,internalFormat:35840,pixelType:null},{format:6408,internalFormat:35842,pixelType:null},{format:6406,internalFormat:6406,pixelType:5121},{format:6409,internalFormat:6409,pixelType:5121},{format:6410,internalFormat:6410,pixelType:5121},{format:6407,internalFormat:6407,pixelType:33635},{format:6408,internalFormat:6408,pixelType:32820},{format:6408,internalFormat:6408,pixelType:32819},{format:6407,internalFormat:6407,pixelType:5121},{format:6408,internalFormat:6408,pixelType:5121},{format:6407,internalFormat:6407,pixelType:36193},{format:6408,internalFormat:6408,pixelType:36193},{format:6407,internalFormat:6407,pixelType:5126},{format:6408,internalFormat:6408,pixelType:5126},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:6402,internalFormat:6402,pixelType:5123},{format:6402,internalFormat:6402,pixelType:5125},{format:6402,internalFormat:6402,pixelType:5125},{format:6407,internalFormat:37492,pixelType:null},{format:6408,internalFormat:37496,pixelType:null}],s={USAGE_STATIC:35044,USAGE_DYNAMIC:35048,USAGE_STREAM:35040,INDEX_FMT_UINT8:5121,INDEX_FMT_UINT16:5123,INDEX_FMT_UINT32:5125,ATTR_POSITION:"a_position",ATTR_NORMAL:"a_normal",ATTR_TANGENT:"a_tangent",ATTR_BITANGENT:"a_bitangent",ATTR_WEIGHTS:"a_weights",ATTR_JOINTS:"a_joints",ATTR_COLOR:"a_color",ATTR_COLOR0:"a_color0",ATTR_COLOR1:"a_color1",ATTR_UV:"a_uv",ATTR_UV0:"a_uv0",ATTR_UV1:"a_uv1",ATTR_UV2:"a_uv2",ATTR_UV3:"a_uv3",ATTR_UV4:"a_uv4",ATTR_UV5:"a_uv5",ATTR_UV6:"a_uv6",ATTR_UV7:"a_uv7",ATTR_TEX_COORD:"a_texCoord",ATTR_TEX_COORD1:"a_texCoord1",ATTR_TEX_COORD2:"a_texCoord2",ATTR_TEX_COORD3:"a_texCoord3",ATTR_TEX_COORD4:"a_texCoord4",ATTR_TEX_COORD5:"a_texCoord5",ATTR_TEX_COORD6:"a_texCoord6",ATTR_TEX_COORD7:"a_texCoord7",ATTR_TEX_COORD8:"a_texCoord8",ATTR_TYPE_INT8:5120,ATTR_TYPE_UINT8:5121,ATTR_TYPE_INT16:5122,ATTR_TYPE_UINT16:5123,ATTR_TYPE_INT32:5124,ATTR_TYPE_UINT32:5125,ATTR_TYPE_FLOAT32:5126,FILTER_NEAREST:0,FILTER_LINEAR:1,WRAP_REPEAT:10497,WRAP_CLAMP:33071,WRAP_MIRROR:33648,TEXTURE_FMT_RGB_DXT1:0,TEXTURE_FMT_RGBA_DXT1:1,TEXTURE_FMT_RGBA_DXT3:2,TEXTURE_FMT_RGBA_DXT5:3,TEXTURE_FMT_RGB_ETC1:4,TEXTURE_FMT_RGB_PVRTC_2BPPV1:5,TEXTURE_FMT_RGBA_PVRTC_2BPPV1:6,TEXTURE_FMT_RGB_PVRTC_4BPPV1:7,TEXTURE_FMT_RGBA_PVRTC_4BPPV1:8,TEXTURE_FMT_A8:9,TEXTURE_FMT_L8:10,TEXTURE_FMT_L8_A8:11,TEXTURE_FMT_R5_G6_B5:12,TEXTURE_FMT_R5_G5_B5_A1:13,TEXTURE_FMT_R4_G4_B4_A4:14,TEXTURE_FMT_RGB8:15,TEXTURE_FMT_RGBA8:16,TEXTURE_FMT_RGB16F:17,TEXTURE_FMT_RGBA16F:18,TEXTURE_FMT_RGB32F:19,TEXTURE_FMT_RGBA32F:20,TEXTURE_FMT_R32F:21,TEXTURE_FMT_111110F:22,TEXTURE_FMT_SRGB:23,TEXTURE_FMT_SRGBA:24,TEXTURE_FMT_D16:25,TEXTURE_FMT_D32:26,TEXTURE_FMT_D24S8:27,TEXTURE_FMT_RGB_ETC2:28,TEXTURE_FMT_RGBA_ETC2:29,DS_FUNC_NEVER:512,DS_FUNC_LESS:513,DS_FUNC_EQUAL:514,DS_FUNC_LEQUAL:515,DS_FUNC_GREATER:516,DS_FUNC_NOTEQUAL:517,DS_FUNC_GEQUAL:518,DS_FUNC_ALWAYS:519,RB_FMT_RGBA4:32854,RB_FMT_RGB5_A1:32855,RB_FMT_RGB565:36194,RB_FMT_D16:33189,RB_FMT_S8:36168,RB_FMT_D24S8:34041,BLEND_FUNC_ADD:32774,BLEND_FUNC_SUBTRACT:32778,BLEND_FUNC_REVERSE_SUBTRACT:32779,BLEND_ZERO:0,BLEND_ONE:1,BLEND_SRC_COLOR:768,BLEND_ONE_MINUS_SRC_COLOR:769,BLEND_DST_COLOR:774,BLEND_ONE_MINUS_DST_COLOR:775,BLEND_SRC_ALPHA:770,BLEND_ONE_MINUS_SRC_ALPHA:771,BLEND_DST_ALPHA:772,BLEND_ONE_MINUS_DST_ALPHA:773,BLEND_CONSTANT_COLOR:32769,BLEND_ONE_MINUS_CONSTANT_COLOR:32770,BLEND_CONSTANT_ALPHA:32771,BLEND_ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_SRC_ALPHA_SATURATE:776,STENCIL_DISABLE:0,STENCIL_ENABLE:1,STENCIL_INHERIT:2,STENCIL_OP_KEEP:7680,STENCIL_OP_ZERO:0,STENCIL_OP_REPLACE:7681,STENCIL_OP_INCR:7682,STENCIL_OP_INCR_WRAP:34055,STENCIL_OP_DECR:7683,STENCIL_OP_DECR_WRAP:34056,STENCIL_OP_INVERT:5386,CULL_NONE:0,CULL_FRONT:1028,CULL_BACK:1029,CULL_FRONT_AND_BACK:1032,PT_POINTS:0,PT_LINES:1,PT_LINE_LOOP:2,PT_LINE_STRIP:3,PT_TRIANGLES:4,PT_TRIANGLE_STRIP:5,PT_TRIANGLE_FAN:6};i.enums=s}),{}],369:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e,i,n){this._device=t,this._width=e,this._height=i,this._colors=n.colors||[],this._depth=n.depth||null,this._stencil=n.stencil||null,this._depthStencil=n.depthStencil||null,this._glID=t._gl.createFramebuffer()}var e=t.prototype;return e.destroy=function(){null!==this._glID?(this._device._gl.deleteFramebuffer(this._glID),this._glID=null):console.error("The frame-buffer already destroyed")},e.getHandle=function(){return this._glID},t})();i.default=n,e.exports=i.default}),{}],370:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums");function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=((n={})[r.enums.INDEX_FMT_UINT8]=1,n[r.enums.INDEX_FMT_UINT16]=2,n[r.enums.INDEX_FMT_UINT32]=4,n),o=(function(){function t(t,e,i,n){this._device=t,this._format=e,this._usage=i,this._bytesPerIndex=a[e],this._bytes=n.byteLength,this._numIndices=this._bytes/this._bytesPerIndex,this._needExpandDataStore=!0,this._glID=t._gl.createBuffer(),this.update(0,n),t._stats.ib+=this._bytes}var e,i,n=t.prototype;return n.destroy=function(){-1!==this._glID?(this._device._gl.deleteBuffer(this._glID),this._device._stats.ib-=this.bytes,this._glID=-1):console.error("The buffer already destroyed")},n.update=function(t,e){if(-1!==this._glID){if(0!==e.byteLength){if(t+e.byteLength>this._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numIndices=this._bytes/this._bytesPerIndex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ELEMENT_ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,t,e),this._device._restoreIndexBuffer()}}else console.error("The buffer is destroyed")},n.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numIndices}}])&&s(e.prototype,i),t})();o.BYTES_PER_INDEX=a;var l=o;i.default=l,e.exports=i.default}),{"./enums":368}],371:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums");n={VertexFormat:t("./vertex-format"),IndexBuffer:t("./index-buffer"),VertexBuffer:t("./vertex-buffer"),Program:t("./program"),Texture:t("./texture"),Texture2D:t("./texture-2d"),TextureCube:t("./texture-cube"),RenderBuffer:t("./render-buffer"),FrameBuffer:t("./frame-buffer"),Device:t("./device"),attrTypeBytes:r.attrTypeBytes,glFilter:r.glFilter,glTextureFmt:r.glTextureFmt},Object.assign(n,r.enums);var s=n;i.default=s,cc.gfx=n,e.exports=i.default}),{"./device":367,"./enums":368,"./frame-buffer":369,"./index-buffer":370,"./program":373,"./render-buffer":374,"./texture":378,"./texture-2d":376,"./texture-cube":377,"./vertex-buffer":379,"./vertex-format":380}],372:[(function(t,e,i){"use strict";i.__esModule=!0,i.isPow2=function(t){return!(t&t-1||!t)}}),{}],373:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}i.__esModule=!0,i.default=void 0;var r=0;function s(t,e,i){i.split("\n").forEach((function(i){if(!(i.length<5)){var n=/^ERROR:\s+(\d+):(\d+):\s*(.*)$/.exec(i);n?t.push({type:e,fileID:0|n[1],line:0|n[2],message:n[3].trim()}):i.length>0&&t.push({type:e,fileID:-1,line:0,message:i})}}))}var a=(function(){function t(t,e){this._device=t,this._attributes=[],this._uniforms=[],this._samplers=[],this._errors=[],this._linked=!1,this._vertSource=e.vert,this._fragSource=e.frag,this._glID=null,this._id=r++}var e,i,a=t.prototype;return a.link=function(){if(!this._linked){var t=this._device._gl,e=o(t,t.VERTEX_SHADER,this._vertSource),i=o(t,t.FRAGMENT_SHADER,this._fragSource),n=t.createProgram();t.attachShader(n,e),t.attachShader(n,i),t.linkProgram(n);var r=!1,a=this._errors;if(t.getShaderParameter(e,t.COMPILE_STATUS)||(s(a,"vs",t.getShaderInfoLog(e)),r=!0),t.getShaderParameter(i,t.COMPILE_STATUS)||(s(a,"fs",t.getShaderInfoLog(i)),r=!0),t.deleteShader(e),t.deleteShader(i),r)return a;if(!t.getProgramParameter(n,t.LINK_STATUS))return a.push({info:"Failed to link shader program: "+t.getProgramInfoLog(n)}),a;this._glID=n;for(var l=t.getProgramParameter(n,t.ACTIVE_ATTRIBUTES),c=0;c<l;++c){var h=t.getActiveAttrib(n,c),u=t.getAttribLocation(n,h.name);this._attributes.push({name:h.name,location:u,type:h.type})}for(var _=t.getProgramParameter(n,t.ACTIVE_UNIFORMS),f=0;f<_;++f){var d=t.getActiveUniform(n,f),p=d.name,m=t.getUniformLocation(n,p),y="[0]"===p.substr(p.length-3);y&&(p=p.substr(0,p.length-3));var v={name:p,location:m,type:d.type,size:y?d.size:void 0};this._uniforms.push(v)}this._linked=!0}},a.destroy=function(){this._device._gl.deleteProgram(this._glID),this._linked=!1,this._glID=null,this._attributes=[],this._uniforms=[],this._samplers=[]},e=t,(i=[{key:"id",get:function(){return this._id}}])&&n(e.prototype,i),t})();function o(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),n}i.default=a,e.exports=i.default}),{}],374:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e,i,n){this._device=t,this._format=e,this._glID=t._gl.createRenderbuffer(),this.update(i,n)}var e=t.prototype;return e.update=function(t,e){this._width=t,this._height=e;var i=this._device._gl;i.bindRenderbuffer(i.RENDERBUFFER,this._glID),i.renderbufferStorage(i.RENDERBUFFER,this._format,t,e),i.bindRenderbuffer(i.RENDERBUFFER,null)},e.destroy=function(){if(null!==this._glID){var t=this._device._gl;t.bindRenderbuffer(t.RENDERBUFFER,null),t.deleteRenderbuffer(this._glID),this._glID=null}else console.error("The render-buffer already destroyed")},t})();i.default=n,e.exports=i.default}),{}],375:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums"),r={blend:!1,blendSep:!1,blendColor:4294967295,blendEq:n.enums.BLEND_FUNC_ADD,blendAlphaEq:n.enums.BLEND_FUNC_ADD,blendSrc:n.enums.BLEND_ONE,blendDst:n.enums.BLEND_ZERO,blendSrcAlpha:n.enums.BLEND_ONE,blendDstAlpha:n.enums.BLEND_ZERO,depthTest:!1,depthWrite:!1,depthFunc:n.enums.DS_FUNC_LESS,stencilTest:!1,stencilSep:!1,stencilFuncFront:n.enums.DS_FUNC_ALWAYS,stencilRefFront:0,stencilMaskFront:255,stencilFailOpFront:n.enums.STENCIL_OP_KEEP,stencilZFailOpFront:n.enums.STENCIL_OP_KEEP,stencilZPassOpFront:n.enums.STENCIL_OP_KEEP,stencilWriteMaskFront:255,stencilFuncBack:n.enums.DS_FUNC_ALWAYS,stencilRefBack:0,stencilMaskBack:255,stencilFailOpBack:n.enums.STENCIL_OP_KEEP,stencilZFailOpBack:n.enums.STENCIL_OP_KEEP,stencilZPassOpBack:n.enums.STENCIL_OP_KEEP,stencilWriteMaskBack:255,cullMode:n.enums.CULL_BACK,primitiveType:n.enums.PT_TRIANGLES,maxStream:-1,vertexBuffers:[],vertexBufferOffsets:[],indexBuffer:null,maxTextureSlot:-1,textureUnits:[],program:null},s=(function(){function t(t){this.vertexBuffers=new Array(t._caps.maxVertexStreams),this.vertexBufferOffsets=new Array(t._caps.maxVertexStreams),this.textureUnits=new Array(t._caps.maxTextureUnits),this.set(r)}t.initDefault=function(t){r.vertexBuffers=new Array(t._caps.maxVertexStreams),r.vertexBufferOffsets=new Array(t._caps.maxVertexStreams),r.textureUnits=new Array(t._caps.maxTextureUnits)};var e=t.prototype;return e.reset=function(){this.set(r)},e.set=function(t){this.blend=t.blend,this.blendSep=t.blendSep,this.blendColor=t.blendColor,this.blendEq=t.blendEq,this.blendAlphaEq=t.blendAlphaEq,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.depthFunc=t.depthFunc,this.stencilTest=t.stencilTest,this.stencilSep=t.stencilSep,this.stencilFuncFront=t.stencilFuncFront,this.stencilRefFront=t.stencilRefFront,this.stencilMaskFront=t.stencilMaskFront,this.stencilFailOpFront=t.stencilFailOpFront,this.stencilZFailOpFront=t.stencilZFailOpFront,this.stencilZPassOpFront=t.stencilZPassOpFront,this.stencilWriteMaskFront=t.stencilWriteMaskFront,this.stencilFuncBack=t.stencilFuncBack,this.stencilRefBack=t.stencilRefBack,this.stencilMaskBack=t.stencilMaskBack,this.stencilFailOpBack=t.stencilFailOpBack,this.stencilZFailOpBack=t.stencilZFailOpBack,this.stencilZPassOpBack=t.stencilZPassOpBack,this.stencilWriteMaskBack=t.stencilWriteMaskBack,this.cullMode=t.cullMode,this.primitiveType=t.primitiveType,this.maxStream=t.maxStream;for(var e=0;e<t.vertexBuffers.length;++e)this.vertexBuffers[e]=t.vertexBuffers[e];for(var i=0;i<t.vertexBufferOffsets.length;++i)this.vertexBufferOffsets[i]=t.vertexBufferOffsets[i];this.indexBuffer=t.indexBuffer,this.maxTextureSlot=t.maxTextureSlot;for(var n=0;n<t.textureUnits.length;++n)this.textureUnits[n]=t.textureUnits[n];this.program=t.program},t})();i.default=s,e.exports=i.default}),{"./enums":368}],376:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./texture"))&&n.__esModule?n:{default:n},s=t("./enums"),a=t("./misc"),o=(function(t){var e,i;function n(e,i){var n,r=(n=t.call(this,e)||this)._device._gl;return n._target=r.TEXTURE_2D,n._glID=r.createTexture(),i.images=i.images||[null],n.update(i),n}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.update=function(t){var e=this._device._gl,i=this._genMipmap;if(t){void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmap=t.genMipmaps,i=t.genMipmaps);var n=this._device.caps.maxTextureSize||Number.MAX_VALUE,r=Math.max(t.width||0,t.height||0);n<r&&console.warn("The current texture size "+r+" exceeds the maximum size ["+n+"] supported on the device."),void 0!==t.images&&t.images.length>1&&(i=!1,(t.width>t.height?t.width:t.height)>>t.images.length-1!=1&&console.error("texture-2d mipmap is invalid, should have a 1x1 mipmap."))}(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmap=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_2D),this._genMipmap=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,s):i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,t.format,t.pixelType,s))},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,s):i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,t.format,t.pixelType,s))},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a<t.length;++a)r.level=a,r.width=this._width>>a,r.height=this._height>>a,r.image=t[a],this._setImage(n,r)},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=o,e.exports=i.default}),{"./enums":368,"./misc":372,"./texture":378}],377:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./texture"))&&n.__esModule?n:{default:n},s=t("./enums"),a=t("./misc"),o=(function(t){var e,i;function n(e,i){var n,r=(n=t.call(this,e)||this)._device._gl;return n._target=r.TEXTURE_CUBE_MAP,n._glID=r.createTexture(),n.update(i),n}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.update=function(t){var e=this._device._gl,i=this._genMipmaps;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps,i=t.genMipmaps),void 0!==t.images&&t.images.length>1&&(i=!1,t.width!==t.height&&console.warn("texture-cube width and height should be identical."),t.width>>t.images.length-1!=1&&console.error("texture-cube mipmap is invalid. please set mipmap as 1x1, 2x2, 4x4 ... nxn"))),(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmaps=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_CUBE_MAP),this._genMipmaps=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,t.format,t.pixelType,a)},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,t.format,t.pixelType,a)},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,faceIndex:0,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a<t.length;++a){var o=t[a];r.level=a,r.width=this._width>>a,r.height=this._height>>a;for(var l=0;l<6;++l)r.faceIndex=l,r.image=o[l],this._setImage(n,r)}},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmaps?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_CUBE_MAP,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=o,e.exports=i.default}),{"./enums":368,"./misc":372,"./texture":378}],378:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums"),r=0,s=(function(){function t(t){this._device=t,this._width=4,this._height=4,this._genMipmaps=!1,this._compressed=!1,this._anisotropy=1,this._minFilter=n.enums.FILTER_LINEAR,this._magFilter=n.enums.FILTER_LINEAR,this._mipFilter=n.enums.FILTER_LINEAR,this._wrapS=n.enums.WRAP_REPEAT,this._wrapT=n.enums.WRAP_REPEAT,this._format=n.enums.TEXTURE_FMT_RGBA8,this._target=-1,this._id=r++}return t.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteTexture(this._glID),this._device._stats.tex-=this.bytes,this._glID=null):console.error("The texture already destroyed")},t})();i.default=s,e.exports=i.default}),{"./enums":368}],379:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}i.__esModule=!0,i.default=void 0,t("./enums");var r=(function(){function t(t,e,i,n){this._device=t,this._format=e,this._usage=i,this._bytesPerVertex=this._format._bytes,this._bytes=n.byteLength,this._numVertices=this._bytes/this._bytesPerVertex,this._needExpandDataStore=!0,this._glID=t._gl.createBuffer(),this.update(0,n),t._stats.vb+=this._bytes}var e,i,r=t.prototype;return r.destroy=function(){-1!==this._glID?(this._device._gl.deleteBuffer(this._glID),this._device._stats.vb-=this.bytes,this._glID=-1):console.error("The buffer already destroyed")},r.update=function(t,e){if(-1!==this._glID){if(0!==e.byteLength){if(t+e.byteLength>this._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numVertices=this._bytes/this._bytesPerVertex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ARRAY_BUFFER,t,e),i.bindBuffer(i.ARRAY_BUFFER,null)}}else console.error("The buffer is destroyed")},r.getFormat=function(t){return this._format.element(t)},r.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numVertices}}])&&n(e.prototype,i),t})();i.default=r,e.exports=i.default}),{"./enums":368}],380:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums"),s=(n=t("../murmurhash2_gc"))&&n.__esModule?n:{default:n},a=(function(){function t(t){this._attr2el={},this._elements=[],this._bytes=0;for(var e="",i=0,n=t.length;i<n;++i){var a=t[i],o={name:a.name,offset:this._bytes,stride:0,stream:-1,type:a.type,num:a.num,normalize:void 0!==a.normalize&&a.normalize,bytes:a.num*(0,r.attrTypeBytes)(a.type)};this._attr2el[o.name]=o,this._elements.push(o),this._bytes+=o.bytes,e+=o.name+":"+o.num+":"+o.type+":"+o.normalize}for(var l=0,c=this._elements.length;l<c;++l)this._elements[l].stride=this._bytes;this._hash=(0,s.default)(e,666)}var e=t.prototype;return e.element=function(t){return this._attr2el[t]},e.getHash=function(){return this._hash},t})();i.default=a,e.exports=i.default}),{"../murmurhash2_gc":389,"./enums":368}],381:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){this._cursor=0,this._data=new Array(e);for(var i=0;i<e;++i)this._data[i]=t()}return t.prototype.request=function(){var t=this._data[this._cursor];return this._cursor=(this._cursor+1)%this._data.length,t},t})();i.default=n,e.exports=i.default}),{}],382:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./timsort"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=(function(){function t(t){this._count=0,this._data=new Array(t)}var e,i,n=t.prototype;return n._resize=function(t){if(t>this._data.length)for(var e=this._data.length;e<t;++e)this._data[e]=void 0},n.reset=function(){for(var t=0;t<this._count;++t)this._data[t]=void 0;this._count=0},n.push=function(t){this._count>=this._data.length&&this._resize(2*this._data.length),this._data[this._count]=t,++this._count},n.pop=function(){--this._count,this._count<0&&(this._count=0);var t=this._data[this._count];return this._data[this._count]=void 0,t},n.fastRemove=function(t){if(!(t>=this._count||t<0)){var e=this._count-1;this._data[t]=this._data[e],this._data[e]=void 0,this._count-=1}},n.indexOf=function(t){return this._data.indexOf(t)},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,e.exports=i.default}),{"./timsort":387}],383:[(function(t,e,i){"use strict";i.__esModule=!0,i.TypedArrayPool=i.RecyclePool=i.Pool=i.LinkedArray=i.FixedArray=i.CircularPool=void 0;var n=c(t("./circular-pool"));i.CircularPool=n.default;var r=c(t("./fixed-array"));i.FixedArray=r.default;var s=c(t("./linked-array"));i.LinkedArray=s.default;var a=c(t("./pool"));i.Pool=a.default;var o=c(t("./recycle-pool"));i.RecyclePool=o.default;var l=c(t("./typed-array-pool"));function c(t){return t&&t.__esModule?t:{default:t}}i.TypedArrayPool=l.default}),{"./circular-pool":381,"./fixed-array":382,"./linked-array":384,"./pool":385,"./recycle-pool":386,"./typed-array-pool":388}],384:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./pool"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=(function(){function t(t,e){this._fn=t,this._count=0,this._head=null,this._tail=null,this._pool=new r.default(t,e)}var e,i,n=t.prototype;return n.add=function(){var t=this._pool.alloc();return this._tail?(this._tail._next=t,t._prev=this._tail):this._head=t,this._tail=t,this._count+=1,t},n.remove=function(t){t._prev?t._prev._next=t._next:this._head=t._next,t._next?t._next._prev=t._prev:this._tail=t._prev,t._next=null,t._prev=null,this._pool.free(t),this._count-=1},n.forEach=function(t,e){var i=this._head;if(i){e&&(t=t.bind(e));for(var n=0,r=i;i;)r=i._next,t(i,n,this),i=r,++n}},e=t,(i=[{key:"head",get:function(){return this._head}},{key:"tail",get:function(){return this._tail}},{key:"length",get:function(){return this._count}}])&&s(e.prototype,i),t})();i.default=a,e.exports=i.default}),{"./pool":385}],385:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){this._fn=t,this._idx=e-1,this._frees=new Array(e);for(var i=0;i<e;++i)this._frees[i]=t()}var e=t.prototype;return e._expand=function(t){var e=this._frees;this._frees=new Array(t);for(var i=t-e.length,n=0;n<i;++n)this._frees[n]=this._fn();for(var r=i,s=0;r<t;++r,++s)this._frees[r]=e[s];this._idx+=i},e.alloc=function(){this._idx<0&&this._expand(Math.round(1.2*this._frees.length)+1);var t=this._frees[this._idx];return this._frees[this._idx]=null,--this._idx,t},e.free=function(t){++this._idx,this._frees[this._idx]=t},e.clear=function(t){for(var e=0;e<=this._idx;e++)t&&t(this._frees[e]);this._frees.length=0,this._idx=-1},t})();i.default=n,e.exports=i.default}),{}],386:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./timsort"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var a=(function(){function t(t,e){this._fn=t,this._count=0,this._data=new Array(e);for(var i=0;i<e;++i)this._data[i]=t()}var e,i,n=t.prototype;return n.reset=function(){this._count=0},n.resize=function(t){if(t>this._data.length)for(var e=this._data.length;e<t;++e)this._data[e]=this._fn()},n.add=function(){return this._count>=this._data.length&&this.resize(2*this._data.length),this._data[this._count++]},n.remove=function(t){if(!(t>=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,cc.RecyclePool=a,e.exports=i.default}),{"./timsort":387}],387:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,r){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===r&&(r=l);var s=i-e;if(!(s<2)){var a=0;if(s<n)return void _(t,e,i,e+(a=h(t,e,i,r)),r);var o=new p(t,r),u=c(s);do{if((a=h(t,e,i,r))<u){var f=s;f>u&&(f=u),_(t,e,e+f,e+a,r),a=f}o.pushRun(e,a),o.mergeRuns(),s-=a,e+=a}while(0!==s);o.forceMergeRuns()}};var n=32,r=7,s=256,a=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function o(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function l(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t<e?-1:1;if(t<0||e<0){if(e>=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=o(t),n=o(e),r=0;return i<n?(t*=a[n-i-1],e/=10,r=-1):i>n&&(e*=a[i-n-1],t/=10,r=1),t===e?r:t<e?-1:1}var s=String(t),l=String(e);return s===l?0:s<l?-1:1}function c(t){for(var e=0;t>=n;)e|=1&t,t>>=1;return t+e}function h(t,e,i,n){var r=e+1;if(r===i)return 1;if(n(t[r++],t[e])<0){for(;r<i&&n(t[r],t[r-1])<0;)r++;u(t,e,r)}else for(;r<i&&n(t[r],t[r-1])>=0;)r++;return r-e}function u(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}function _(t,e,i,n,r){for(n===e&&n++;n<i;n++){for(var s=t[n],a=e,o=n;a<o;){var l=a+o>>>1;r(s,t[l])<0?o=l:a=l+1}var c=n-a;switch(c){case 3:t[a+3]=t[a+2];case 2:t[a+2]=t[a+1];case 1:t[a+1]=t[a];break;default:for(;c>0;)t[a+c]=t[a+c-1],c--}t[a]=s}}function f(t,e,i,n,r,s){var a=0,o=0,l=1;if(s(t,e[i+r])>0){for(o=n-r;l<o&&s(t,e[i+r+l])>0;)a=l,(l=1+(l<<1))<=0&&(l=o);l>o&&(l=o),a+=r,l+=r}else{for(o=r+1;l<o&&s(t,e[i+r-l])<=0;)a=l,(l=1+(l<<1))<=0&&(l=o);l>o&&(l=o);var c=a;a=r-l,l=r-c}for(a++;a<l;){var h=a+(l-a>>>1);s(t,e[i+h])>0?a=h+1:l=h}return l}function d(t,e,i,n,r,s){var a=0,o=0,l=1;if(s(t,e[i+r])<0){for(o=r+1;l<o&&s(t,e[i+r-l])<0;)a=l,(l=1+(l<<1))<=0&&(l=o);l>o&&(l=o);var c=a;a=r-l,l=r-c}else{for(o=n-r;l<o&&s(t,e[i+r+l])>=0;)a=l,(l=1+(l<<1))<=0&&(l=o);l>o&&(l=o),a+=r,l+=r}for(a++;a<l;){var h=a+(l-a>>>1);s(t,e[i+h])<0?l=h:a=h+1}return l}var p=(function(){function t(t,e){this.array=t,this.compare=e,this.minGallop=r,this.length=t.length,this.tmpStorageLength=s,this.length<2*s&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0}var e=t.prototype;return e.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},e.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]<this.runLength[t+1]&&t--;else if(this.runLength[t]>this.runLength[t+1])break;this.mergeAt(t)}},e.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]<this.runLength[t+1]&&t--,this.mergeAt(t)}},e.mergeAt=function(t){var e=this.compare,i=this.array,n=this.runStart[t],r=this.runLength[t],s=this.runStart[t+1],a=this.runLength[t+1];this.runLength[t]=r+a,t===this.stackSize-3&&(this.runStart[t+1]=this.runStart[t+2],this.runLength[t+1]=this.runLength[t+2]),this.stackSize--;var o=d(i[s],i,n,r,0,e);n+=o,0!=(r-=o)&&0!==(a=f(i[n+r-1],i,s,a,a-1,e))&&(r<=a?this.mergeLow(n,r,s,a):this.mergeHigh(n,r,s,a))},e.mergeLow=function(t,e,i,n){var s=this.compare,a=this.array,o=this.tmp,l=0;for(l=0;l<e;l++)o[l]=a[t+l];var c=0,h=i,u=t;if(a[u++]=a[h++],0!=--n)if(1!==e){for(var _=this.minGallop;;){var p=0,m=0,y=!1;do{if(s(a[h],o[c])<0){if(a[u++]=a[h++],m++,p=0,0==--n){y=!0;break}}else if(a[u++]=o[c++],p++,m=0,1==--e){y=!0;break}}while((p|m)<_);if(y)break;do{if(0!==(p=d(a[h],o,c,e,0,s))){for(l=0;l<p;l++)a[u+l]=o[c+l];if(u+=p,c+=p,(e-=p)<=1){y=!0;break}}if(a[u++]=a[h++],0==--n){y=!0;break}if(0!==(m=f(o[c],a,h,n,0,s))){for(l=0;l<m;l++)a[u+l]=a[h+l];if(u+=m,h+=m,0==(n-=m)){y=!0;break}}if(a[u++]=o[c++],1==--e){y=!0;break}_--}while(p>=r||m>=r);if(y)break;_<0&&(_=0),_+=2}if(this.minGallop=_,_<1&&(this.minGallop=1),1===e){for(l=0;l<n;l++)a[u+l]=a[h+l];a[u+n]=o[c]}else{if(0===e)throw new Error("mergeLow preconditions were not respected");for(l=0;l<e;l++)a[u+l]=o[c+l]}}else{for(l=0;l<n;l++)a[u+l]=a[h+l];a[u+n]=o[c]}else for(l=0;l<e;l++)a[u+l]=o[c+l]},e.mergeHigh=function(t,e,i,n){var s=this.compare,a=this.array,o=this.tmp,l=0;for(l=0;l<n;l++)o[l]=a[i+l];var c=t+e-1,h=n-1,u=i+n-1,_=0,p=0;if(a[u--]=a[c--],0!=--e)if(1!==n){for(var m=this.minGallop;;){var y=0,v=0,g=!1;do{if(s(o[h],a[c])<0){if(a[u--]=a[c--],y++,v=0,0==--e){g=!0;break}}else if(a[u--]=o[h--],v++,y=0,1==--n){g=!0;break}}while((y|v)<m);if(g)break;do{if(0!=(y=e-d(o[h],a,t,e,e-1,s))){for(e-=y,p=1+(u-=y),_=1+(c-=y),l=y-1;l>=0;l--)a[p+l]=a[_+l];if(0===e){g=!0;break}}if(a[u--]=o[h--],1==--n){g=!0;break}if(0!=(v=n-f(a[c],o,0,n,n-1,s))){for(n-=v,p=1+(u-=v),_=1+(h-=v),l=0;l<v;l++)a[p+l]=o[_+l];if(n<=1){g=!0;break}}if(a[u--]=a[c--],0==--e){g=!0;break}m--}while(y>=r||v>=r);if(g)break;m<0&&(m=0),m+=2}if(this.minGallop=m,m<1&&(this.minGallop=1),1===n){for(p=1+(u-=e),_=1+(c-=e),l=e-1;l>=0;l--)a[p+l]=a[_+l];a[u]=o[h]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(_=u-(n-1),l=0;l<n;l++)a[_+l]=o[l]}}else{for(p=1+(u-=e),_=1+(c-=e),l=e-1;l>=0;l--)a[p+l]=a[_+l];a[u]=o[h]}else for(_=u-(n-1),l=0;l<n;l++)a[_+l]=o[l]},t})();e.exports=i.default}),{}],388:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;for(var n=Array(8),r=0;r<8;++r)n[r]=[];function s(t){for(var e=16;e<=1<<28;e*=16)if(t<=e)return e;return 0}function a(t){var e,i;return e=(t>65535)<<4,e|=i=((t>>>=e)>255)<<3,e|=i=((t>>>=i)>15)<<2,(e|=i=((t>>>=i)>3)<<1)|(t>>>=i)>>1}function o(t){var e=s(t),i=n[a(e)>>2];return i.length>0?i.pop():new ArrayBuffer(e)}var l={alloc_int8:function(t){var e=new Int8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint8:function(t){var e=new Uint8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int16:function(t){var e=new Int16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint16:function(t){var e=new Uint16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int32:function(t){var e=new Int32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint32:function(t){var e=new Uint32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float32:function(t){var e=new Float32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float64:function(t){var e=new Float64Array(o(8*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_dataview:function(t){var e=new DataView(o(t),0,t);return e.length!==t?e.subarray(0,t):e},free:function(t){var e;e=t.buffer,n[a(e.byteLength)>>2].push(e)},reset:function(){for(var t=Array(8),e=0;e<8;++e)t[e]=[]}};i.default=l,e.exports=i.default}),{}],389:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},e.exports=i.default}),{}],390:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/value-types"),r=o(t("../core/base-renderer")),s=o(t("../enums")),a=t("../memop");function o(t){return t&&t.__esModule?t:{default:t}}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var c=new Float32Array(16),h=new Float32Array(16),u=new Float32Array(16),_=new Float32Array(16),f=new Float32Array(4),d=new Float32Array(64),p=[],m=new Float32Array(4),y=new n.Vec4(0,0,0,0),v=new n.Vec3(0,0,0),g=new n.Vec3(0,0,0),b=new a.RecyclePool(function(){return new Float32Array(16)},8);function A(t,e){return t._priority-e._priority}var x=(function(t){var e,i;function r(e,i){var n;return(n=t.call(this,e,i)||this)._time=new Float32Array(4),n._lights=[],n._shadowLights=[],n._numLights=0,n._defines={},n._registerStage("shadowcast",n._shadowStage.bind(l(n))),n._registerStage("opaque",n._opaqueStage.bind(l(n))),n._registerStage("transparent",n._transparentStage.bind(l(n))),n}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var a=r.prototype;return a.reset=function(){b.reset(),t.prototype.reset.call(this)},a.render=function(t,e){this.reset(),e&&(this._time[0]+=e,this._time[1]=e,this._time[2]++),this._device.setUniform("cc_time",this._time),this._updateLights(t);for(var i=this._device._gl.canvas,n=0;n<t._cameras.length;++n){var r=this._requestView(),s=i.width,a=i.height;t._cameras.data[n].extractView(r,s,a)}this._viewPools.sort(A);for(var o=0;o<this._viewPools.length;++o){var l=this._viewPools.data[o];this._render(l,t)}},a.renderCamera=function(t,e){this.reset(),this._updateLights(e);var i=this._device._gl.canvas,n=i.width,r=i.height,s=this._requestView();t.extractView(s,n,r),this._viewPools.sort(A);for(var a=0;a<this._viewPools.length;++a){var o=this._viewPools.data[a];this._render(o,e)}},a._updateLights=function(t){this._lights.length=0,this._shadowLights.length=0;for(var e=t._lights,i=0;i<e.length;++i){var n=e.data[i];if(n.update(this._device),n.shadowType!==s.default.SHADOW_NONE){this._shadowLights.length<2&&this._shadowLights.splice(0,0,n);var r=this._requestView();n.extractView(r,["shadowcast"]),this._lights.splice(0,0,n)}else this._lights.push(n)}this._updateLightDefines(),this._numLights=e._count},a._updateLightDefines=function(){for(var t=this._defines,e=0;e<this._lights.length;++e){var i=this._lights[e],n="CC_LIGHT_"+e+"_TYPE",r="CC_SHADOW_"+e+"_TYPE";t[n]!==i._type&&(t[n]=i._type,this._definesChanged=!0),t[r]!==i._shadowType&&(t[r]=i._shadowType,this._definesChanged=!0)}var s=Math.min(4,this._lights.length);t.CC_NUM_LIGHTS!==s&&(t.CC_NUM_LIGHTS=s,this._definesChanged=!0),s=Math.min(4,this._shadowLights.length),t.CC_NUM_SHADOW_LIGHTS!==s&&(t.CC_NUM_SHADOW_LIGHTS=s,this._definesChanged=!0)},a._submitLightsUniforms=function(){var t=this._device;if(this._lights.length>0){for(var e=b.add(),i=b.add(),n=b.add(),r=Math.min(4,this._lights.length),a=0;a<r;++a){var o=this._lights[a],l=4*a;n.set(o._colorUniform,l),i.set(o._directionUniform,l),e.set(o._positionUniform,l),e[l+3]=o._range,o._type===s.default.LIGHT_SPOT?(i[l+3]=o._spotUniform[0],n[l+3]=o._spotUniform[1]):(i[l+3]=0,n[l+3]=0)}t.setUniform("cc_lightDirection",i),t.setUniform("cc_lightColor",n),t.setUniform("cc_lightPositionAndRange",e)}},a._submitShadowStageUniforms=function(t){var e=t._shadowLight,i=m;i[0]=e.shadowMinDepth,i[1]=e.shadowMaxDepth,i[2]=e.shadowDepthScale,i[3]=e.shadowDarkness,this._device.setUniform("cc_shadow_map_lightViewProjMatrix",n.Mat4.toArray(_,t._matViewProj)),this._device.setUniform("cc_shadow_map_info",i),this._device.setUniform("cc_shadow_map_bias",e.shadowBias),this._defines.CC_SHADOW_TYPE=e._shadowType},a._submitOtherStagesUniforms=function(){for(var t=b.add(),e=0;e<this._shadowLights.length;++e){var i=this._shadowLights[e],r=p[e];r||(r=p[e]=new Float32Array(d.buffer,64*e,16)),n.Mat4.toArray(r,i.viewProjMatrix);var s=4*e;t[s]=i.shadowMinDepth,t[s+1]=i.shadowMaxDepth,t[s+2]=i._shadowResolution,t[s+3]=i.shadowDarkness}this._device.setUniform("cc_shadow_lightViewProjMatrix",d),this._device.setUniform("cc_shadow_info",t)},a._sortItems=function(t){t.sort((function(t,e){return t.passes.length!==e.passes.length?t.passes.length-e.passes.length:t.sortKey-e.sortKey}))},a._shadowStage=function(t,e){this._submitShadowStageUniforms(t);for(var i=0;i<e.length;++i){var n=e.data[i];n.effect.getDefine("CC_CASTING_SHADOW")&&this._draw(n)}},a._drawItems=function(t,e){var i=this._shadowLights;if(0===i.length&&0===this._numLights)for(var n=0;n<e.length;++n){var r=e.data[n];this._draw(r)}else for(var s=0;s<e.length;++s){for(var a=e.data[s],o=0;o<i.length;++o)this._device.setTexture("cc_shadow_map_"+o,i[o].shadowMap,this._allocTextureUnit());this._draw(a)}},a._opaqueStage=function(t,e){t.getPosition(y),this._device.setUniform("cc_matView",n.Mat4.toArray(c,t._matView)),this._device.setUniform("cc_matViewInv",n.Mat4.toArray(h,t._matViewInv)),this._device.setUniform("cc_matProj",n.Mat4.toArray(u,t._matProj)),this._device.setUniform("cc_matViewProj",n.Mat4.toArray(_,t._matViewProj)),this._device.setUniform("cc_cameraPos",n.Vec4.toArray(f,y)),this._submitLightsUniforms(),this._submitOtherStagesUniforms(),this._drawItems(t,e)},a._transparentStage=function(t,e){t.getPosition(y),t.getForward(v),this._device.setUniform("cc_matView",n.Mat4.toArray(c,t._matView)),this._device.setUniform("cc_matViewInv",n.Mat4.toArray(h,t._matViewInv)),this._device.setUniform("cc_matProj",n.Mat4.toArray(u,t._matProj)),this._device.setUniform("cc_matViewProj",n.Mat4.toArray(_,t._matViewProj)),this._device.setUniform("cc_cameraPos",n.Vec4.toArray(f,y)),this._submitLightsUniforms(),this._submitOtherStagesUniforms();for(var i=0;i<e.length;++i){var r=e.data[i];r.node.getWorldPosition(g),n.Vec3.sub(g,g,y),r.sortKey=-n.Vec3.dot(g,v)}this._sortItems(e),this._drawItems(t,e)},r})(r.default);i.default=x,e.exports=i.default}),{"../../core/value-types":338,"../core/base-renderer":360,"../enums":366,"../memop":383}],391:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../../core/value-types"),s=t("../../core/geom-utils"),a=(n=t("../enums"))&&n.__esModule?n:{default:n};function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var l=new r.Mat4,c=new r.Mat4,h=new r.Mat4,u=new r.Mat4,_=new r.Mat4,f=new r.Mat4,d=new r.Vec3,p=new r.Vec3,m=(function(){function t(){this._poolID=-1,this._node=null,this._projection=a.default.PROJ_PERSPECTIVE,this._priority=0,this._color=new r.Vec4(.2,.3,.47,1),this._depth=1,this._stencil=0,this._clearFlags=a.default.CLEAR_COLOR|a.default.CLEAR_DEPTH,this._clearModel=null,this._stages=[],this._framebuffer=null,this._near=.01,this._far=1e3,this._fov=Math.PI/4,this._rect={x:0,y:0,w:1,h:1},this._orthoHeight=10,this._cullingMask=4294967295}var e,i,n=t.prototype;return n.setCullingMask=function(t){this._cullingMask=t},n.getNode=function(){return this._node},n.setNode=function(t){this._node=t},n.getType=function(){return this._projection},n.setType=function(t){this._projection=t},n.getPriority=function(){return this._priority},n.setPriority=function(t){this._priority=t},n.getOrthoHeight=function(){return this._orthoHeight},n.setOrthoHeight=function(t){this._orthoHeight=t},n.getFov=function(){return this._fov},n.setFov=function(t){this._fov=t},n.getNear=function(){return this._near},n.setNear=function(t){this._near=t},n.getFar=function(){return this._far},n.setFar=function(t){this._far=t},n.getColor=function(t){return r.Vec4.copy(t,this._color)},n.setColor=function(t,e,i,n){r.Vec4.set(this._color,t,e,i,n)},n.getDepth=function(){return this._depth},n.setDepth=function(t){this._depth=t},n.getStencil=function(){return this._stencil},n.setStencil=function(t){this._stencil=t},n.getClearFlags=function(){return this._clearFlags},n.setClearFlags=function(t){this._clearFlags=t},n.getRect=function(t){return t.x=this._rect.x,t.y=this._rect.y,t.w=this._rect.w,t.h=this._rect.h,t},n.setRect=function(t,e,i,n){this._rect.x=t,this._rect.y=e,this._rect.w=i,this._rect.h=n},n.getStages=function(){return this._stages},n.setStages=function(t){this._stages=t},n.getFramebuffer=function(){return this._framebuffer},n.setFrameBuffer=function(t){this._framebuffer=t},n._calcMatrices=function(t,e){this._node.getWorldRT(h),r.Mat4.invert(c,h);var i=t/e;if(this._projection===a.default.PROJ_PERSPECTIVE)r.Mat4.perspective(u,this._fov,i,this._near,this._far);else{var n=this._orthoHeight*i,s=this._orthoHeight;r.Mat4.ortho(u,-n,n,-s,s,this._near,this._far)}r.Mat4.mul(_,u,c),r.Mat4.invert(f,_)},n.extractView=function(t,e,i){this._framebuffer&&(e=this._framebuffer._width,i=this._framebuffer._height),t._priority=this._priority,t._rect.x=this._rect.x*e,t._rect.y=this._rect.y*i,t._rect.w=this._rect.w*e,t._rect.h=this._rect.h*i,this.getColor(t._color),t._depth=this._depth,t._stencil=this._stencil,t._clearFlags=this._clearFlags,t._clearModel=this._clearModel,t._stages=this._stages,t._framebuffer=this._framebuffer,this._calcMatrices(e,i),r.Mat4.copy(t._matView,c),r.Mat4.copy(t._matViewInv,h),r.Mat4.copy(t._matProj,u),r.Mat4.copy(t._matViewProj,_),r.Mat4.copy(t._matInvViewProj,f),t._cullingMask=this._cullingMask},n.screenPointToRay=function(t,e,i,n,o){if(!cc.geomUtils)return o;o=o||new s.Ray,this._calcMatrices(i,n);var l=this._rect.x*i,c=this._rect.y*n,h=this._rect.w*i,u=this._rect.h*n;return r.Vec3.set(p,(t-l)/h*2-1,(e-c)/u*2-1,1),r.Vec3.transformMat4(p,p,f),this._projection===a.default.PROJ_PERSPECTIVE?this._node.getWorldPosition(d):(r.Vec3.set(d,(t-l)/h*2-1,(e-c)/u*2-1,-1),r.Vec3.transformMat4(d,d,f)),s.Ray.fromPoints(o,d,p)},n.screenToWorld=function(t,e,i,n){this._calcMatrices(i,n);var s=this._rect.x*i,o=this._rect.y*n,l=this._rect.w*i,c=this._rect.h*n;return this._projection===a.default.PROJ_PERSPECTIVE?(r.Vec3.set(t,(e.x-s)/l*2-1,(e.y-o)/c*2-1,.9999),r.Vec3.transformMat4(t,t,f),this._node.getWorldPosition(d),r.Vec3.lerp(t,d,t,(0,r.lerp)(this._near/this._far,1,e.z))):(r.Vec3.set(t,(e.x-s)/l*2-1,(e.y-o)/c*2-1,2*e.z-1),r.Vec3.transformMat4(t,t,f)),t},n.worldToScreen=function(t,e,i,n){this._calcMatrices(i,n);var s=this._rect.x*i,a=this._rect.y*n,o=this._rect.w*i,l=this._rect.h*n;return r.Vec3.transformMat4(t,e,_),t.x=s+.5*(t.x+1)*o,t.y=a+.5*(t.y+1)*l,t.z=.5*t.z+.5,t},n.worldMatrixToScreen=function(t,e,i,n){this._calcMatrices(i,n),r.Mat4.mul(t,_,e);var s=i/2,a=n/2;return r.Mat4.identity(l),r.Mat4.transform(l,l,r.Vec3.set(d,s,a,0)),r.Mat4.scale(l,l,r.Vec3.set(d,s,a,1)),r.Mat4.mul(t,l,t),t},e=t,(i=[{key:"cullingMask",get:function(){return this._cullingMask},set:function(t){this._cullingMask=t}}])&&o(e.prototype,i),t})();i.default=m,e.exports=i.default}),{"../../core/geom-utils":193,"../../core/value-types":338,"../enums":366}],392:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/value-types"),r=a(t("../gfx")),s=a(t("../enums"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var l=cc.v3(0,0,-1),c=cc.mat4(),h=n.Mat3.create(),u=cc.v3(0,0,0);function _(t,e,i){t._node.getWorldRT(e),n.Mat4.invert(e,e);var r=t._shadowFrustumSize/2;n.Mat4.ortho(i,-r,r,-r,r,t._shadowMinDepth,t._shadowMaxDepth)}function f(t,e,i){t._node.getWorldRT(e),n.Mat4.invert(e,e),n.Mat4.perspective(i,(0,n.toRadian)(179),1,t._shadowMinDepth,t._shadowMaxDepth)}var d=(function(){function t(){this._poolID=-1,this._node=null,this._type=s.default.LIGHT_DIRECTIONAL,this._color=new n.Vec3(1,1,1),this._intensity=1,this._range=1,this._spotAngle=(0,n.toRadian)(60),this._spotExp=1,this._directionUniform=new Float32Array(3),this._positionUniform=new Float32Array(3),this._colorUniform=new Float32Array([this._color.x*this._intensity,this._color.y*this._intensity,this._color.z*this._intensity]),this._spotUniform=new Float32Array([Math.cos(.5*this._spotAngle),this._spotExp]),this._shadowType=s.default.SHADOW_NONE,this._shadowFrameBuffer=null,this._shadowMap=null,this._shadowMapDirty=!1,this._shadowDepthBuffer=null,this._shadowResolution=1024,this._shadowBias=5e-4,this._shadowDarkness=1,this._shadowMinDepth=1,this._shadowMaxDepth=1e3,this._frustumEdgeFalloff=0,this._viewProjMatrix=cc.mat4(),this._spotAngleScale=1,this._shadowFrustumSize=50}var e,i,a=t.prototype;return a.getNode=function(){return this._node},a.setNode=function(t){this._node=t},a.setColor=function(t,e,i){n.Vec3.set(this._color,t,e,i),this._colorUniform[0]=t*this._intensity,this._colorUniform[1]=e*this._intensity,this._colorUniform[2]=i*this._intensity},a.setIntensity=function(t){this._intensity=t,this._colorUniform[0]=t*this._color.x,this._colorUniform[1]=t*this._color.y,this._colorUniform[2]=t*this._color.z},a.setType=function(t){this._type=t},a.setSpotAngle=function(t){this._spotAngle=t,this._spotUniform[0]=Math.cos(.5*this._spotAngle)},a.setSpotExp=function(t){this._spotExp=t,this._spotUniform[1]=t},a.setRange=function(t){this._range=t},a.setShadowType=function(t){this._shadowType===s.default.SHADOW_NONE&&t!==s.default.SHADOW_NONE&&(this._shadowMapDirty=!0),this._shadowType=t},a.setShadowResolution=function(t){this._shadowResolution!==t&&(this._shadowMapDirty=!0),this._shadowResolution=t},a.setShadowBias=function(t){this._shadowBias=t},a.setShadowDarkness=function(t){this._shadowDarkness=t},a.setShadowMinDepth=function(t){this._shadowMinDepth=t},a.setShadowMaxDepth=function(t){this._shadowMaxDepth=t},a.setFrustumEdgeFalloff=function(t){this._frustumEdgeFalloff=t},a.setShadowFrustumSize=function(t){this._shadowFrustumSize=t},a.extractView=function(t,e){switch(t._shadowLight=this,t._priority=-1,t._rect.x=0,t._rect.y=0,t._rect.w=this._shadowResolution,t._rect.h=this._shadowResolution,n.Vec3.set(t._color,1,1,1),t._depth=1,t._stencil=1,t._clearFlags=s.default.CLEAR_COLOR|s.default.CLEAR_DEPTH,t._stages=e,t._framebuffer=this._shadowFrameBuffer,this._type){case s.default.LIGHT_SPOT:this,i=t._matView,r=t._matProj,this._node.getWorldRT(i),n.Mat4.invert(i,i),n.Mat4.perspective(r,this._spotAngle*this._spotAngleScale,1,this._shadowMinDepth,this._shadowMaxDepth);break;case s.default.LIGHT_DIRECTIONAL:_(this,t._matView,t._matProj);break;case s.default.LIGHT_POINT:f(this,t._matView,t._matProj);break;case s.default.LIGHT_AMBIENT:break;default:console.warn("shadow of this light type is not supported")}var i,r;n.Mat4.mul(t._matViewProj,t._matProj,t._matView),this._viewProjMatrix=t._matViewProj,n.Mat4.invert(t._matInvViewProj,t._matViewProj),t._cullingMask=4294967295},a._updateLightPositionAndDirection=function(){this._node.getWorldMatrix(c),n.Mat3.fromMat4(h,c),n.Vec3.transformMat3(u,l,h),n.Vec3.toArray(this._directionUniform,u);var t=this._positionUniform,e=c.m;t[0]=e[12],t[1]=e[13],t[2]=e[14]},a._generateShadowMap=function(t){this._shadowMap=new r.default.Texture2D(t,{width:this._shadowResolution,height:this._shadowResolution,format:r.default.TEXTURE_FMT_RGBA8,wrapS:r.default.WRAP_CLAMP,wrapT:r.default.WRAP_CLAMP}),this._shadowDepthBuffer=new r.default.RenderBuffer(t,r.default.RB_FMT_D16,this._shadowResolution,this._shadowResolution),this._shadowFrameBuffer=new r.default.FrameBuffer(t,this._shadowResolution,this._shadowResolution,{colors:[this._shadowMap],depth:this._shadowDepthBuffer})},a._destroyShadowMap=function(){this._shadowMap&&(this._shadowMap.destroy(),this._shadowDepthBuffer.destroy(),this._shadowFrameBuffer.destroy(),this._shadowMap=null,this._shadowDepthBuffer=null,this._shadowFrameBuffer=null)},a.update=function(t){this._updateLightPositionAndDirection(),this._shadowType===s.default.SHADOW_NONE?this._destroyShadowMap():this._shadowMapDirty&&(this._destroyShadowMap(),this._generateShadowMap(t),this._shadowMapDirty=!1)},e=t,(i=[{key:"color",get:function(){return this._color}},{key:"intensity",get:function(){return this._intensity}},{key:"type",get:function(){return this._type}},{key:"spotAngle",get:function(){return this._spotAngle}},{key:"spotExp",get:function(){return this._spotExp}},{key:"range",get:function(){return this._range}},{key:"shadowType",get:function(){return this._shadowType}},{key:"shadowMap",get:function(){return this._shadowMap}},{key:"viewProjMatrix",get:function(){return this._viewProjMatrix}},{key:"shadowResolution",get:function(){return this._shadowResolution}},{key:"shadowBias",get:function(){return this._shadowBias}},{key:"shadowDarkness",get:function(){return this._shadowDarkness}},{key:"shadowMinDepth",get:function(){return this._type===s.default.LIGHT_DIRECTIONAL?1:this._shadowMinDepth}},{key:"shadowMaxDepth",get:function(){return this._type===s.default.LIGHT_DIRECTIONAL?1:this._shadowMaxDepth}},{key:"frustumEdgeFalloff",get:function(){return this._frustumEdgeFalloff}},{key:"shadowFrustumSize",get:function(){return this._shadowFrustumSize}}])&&o(e.prototype,i),t})();i.default=d,e.exports=i.default}),{"../../core/value-types":338,"../enums":366,"../gfx":371}],393:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(){this._type="default",this._poolID=-1,this._node=null,this._inputAssembler=null,this._effect=null,this._viewID=-1,this._cameraID=-1,this._userKey=-1,this._castShadow=!1,this._boundingShape=null}var e=t.prototype;return e.setNode=function(t){this._node=t},e.setInputAssembler=function(t){this._inputAssembler=t},e.setEffect=function(t){this._effect=t},e.setUserKey=function(t){this._userKey=t},e.extractDrawItem=function(t){t.model=this,t.node=this._node,t.ia=this._inputAssembler,t.effect=this._effect},t})();i.default=n,e.exports=i.default}),{}],394:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../memop"),r=(function(){function t(t){this._lights=new n.FixedArray(16),this._models=new n.FixedArray(16),this._cameras=new n.FixedArray(16),this._debugCamera=null,this._app=t,this._views=[]}var e=t.prototype;return e._add=function(t,e){-1===e._poolID&&(t.push(e),e._poolID=t.length-1)},e._remove=function(t,e){-1!==e._poolID&&(t.data[t.length-1]._poolID=e._poolID,t.fastRemove(e._poolID),e._poolID=-1)},e.reset=function(){for(var t=0;t<this._models.length;++t)this._models.data[t]._viewID=-1},e.setDebugCamera=function(t){this._debugCamera=t},e.getCameraCount=function(){return this._cameras.length},e.getCamera=function(t){return this._cameras.data[t]},e.addCamera=function(t){this._add(this._cameras,t)},e.removeCamera=function(t){this._remove(this._cameras,t)},e.getModelCount=function(){return this._models.length},e.getModel=function(t){return this._models.data[t]},e.addModel=function(t){this._add(this._models,t)},e.removeModel=function(t){this._remove(this._models,t)},e.getLightCount=function(){return this._lights.length},e.getLight=function(t){return this._lights.data[t]},e.addLight=function(t){this._add(this._lights,t)},e.removeLight=function(t){this._remove(this._lights,t)},e.addView=function(t){-1===this._views.indexOf(t)&&this._views.push(t)},e.removeView=function(t){var e=this._views.indexOf(t);-1!==e&&this._views.splice(e,1)},t})();i.default=r,e.exports=i.default}),{"../memop":383}],395:[(function(t,e,i){"use strict";i.__esModule=!0,i.getInspectorProps=function(t){var e={type:t.type};Object.assign(e,t.editor||t.inspector),e.defines=t.defines,e.value=v(e.type)(t.value),t.range&&(e.range=t.range);var i=g(e.type);return e.typeName=b[i]||i,e.valueCtor=d[e.type],"cc.Texture2D"==e.typeName&&(e.typeName="cc.Asset",e.assetType="cc.Texture2D"),e},i.getClassName=i.getInstanceCtor=i.getInstanceType=i.enums2default=i.ctor2enums=void 0;var n,r,s,a,o=h(t("./enums")),l=t("../core/value-types"),c=h(t("../core/assets/CCTexture2D"));function h(t){return t&&t.__esModule?t:{default:t}}var u;u=t("./gfx/texture-2d");var _=cc.Object,f=((n={})[Boolean]=function(t){return t||!1},n[Number]=function(t){return t?ArrayBuffer.isView(t)?t[0]:t:0},n[l.Vec2]=function(t){return t?cc.v2(t[0],t[1]):cc.v2()},n[l.Vec3]=function(t){return t?cc.v3(t[0],t[1],t[2]):cc.v3()},n[l.Vec4]=function(t){return t?cc.v4(t[0],t[1],t[2],t[3]):cc.v4()},n[l.Color]=function(t){return t?cc.color(255*t[0],255*t[1],255*t[2],255*(t[3]||1)):cc.color()},n[l.Mat4]=function(t){return t?cc.mat4(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]):cc.mat4()},n[c.default]=function(){return null},n[_]=function(){return null},n),d=((r={})[o.default.PARAM_INT]=Number,r[o.default.PARAM_INT2]=l.Vec2,r[o.default.PARAM_INT3]=l.Vec3,r[o.default.PARAM_INT4]=l.Vec4,r[o.default.PARAM_FLOAT]=Number,r[o.default.PARAM_FLOAT2]=l.Vec2,r[o.default.PARAM_FLOAT3]=l.Vec3,r[o.default.PARAM_FLOAT4]=l.Vec4,r[o.default.PARAM_MAT4]=l.Mat4,r[o.default.PARAM_TEXTURE_2D]=c.default,r.color=l.Color,r.number=Number,r.boolean=Boolean,r.default=_,r),p=((s={})[Number]=o.default.PARAM_FLOAT,s[l.Vec2]=o.default.PARAM_FLOAT2,s[l.Vec3]=o.default.PARAM_FLOAT3,s[l.Vec4]=o.default.PARAM_FLOAT4,s[l.Color]=o.default.PARAM_COLOR3,s[l.Color]=o.default.PARAM_COLOR4,s[l.Mat4]=o.default.PARAM_MAT4,s[c.default]=o.default.PARAM_TEXTURE_2D,s[u]=o.default.PARAM_TEXTURE_2D,s);i.ctor2enums=p;var m=((a={})[o.default.PARAM_INT]=new Uint32Array([0]),a[o.default.PARAM_INT2]=new Uint32Array([0,0]),a[o.default.PARAM_INT3]=new Uint32Array([0,0,0]),a[o.default.PARAM_INT4]=new Uint32Array([0,0,0,0]),a[o.default.PARAM_FLOAT]=new Float32Array([0]),a[o.default.PARAM_FLOAT2]=new Float32Array([0,0]),a[o.default.PARAM_FLOAT3]=new Float32Array([0,0,0]),a[o.default.PARAM_FLOAT4]=new Float32Array([0,0,0,0]),a[o.default.PARAM_MAT4]=cc.mat4().m,a[o.default.PARAM_TEXTURE_2D]=null,a.number=0,a.boolean=!1,a);i.enums2default=m;var y=function(t){return d[t]||d.default};i.getInstanceType=y;var v=function(t){return f[y(t)]};i.getInstanceCtor=v;var g=function(t){return cc.js.getClassName(y(t))};i.getClassName=g;var b={Number:"number",Boolean:"boolean"}}),{"../core/assets/CCTexture2D":120,"../core/value-types":338,"./enums":366,"./gfx/texture-2d":376}],396:[(function(t){"use strict";var e=t("../compression/ZipUtils"),i=t("../compression/zlib.min"),n=t("../core/platform/js");function r(t){if(t.length%4!=0)return null;for(var e=t.length/4,i=window.Uint32Array?new Uint32Array(e):[],n=0;n<e;n++){var r=4*n;i[n]=t[r]+256*t[r+1]+65536*t[r+2]+t[r+3]*(1<<24)}return i}function s(t){var e=cc.Label.HorizontalAlign;switch(t){case"center":return e.CENTER;case"right":return e.RIGHT;default:return e.LEFT}}function a(t){var e=cc.Label.VerticalAlign;switch(t){case"center":return e.CENTER;case"bottom":return e.BOTTOM;default:return e.TOP}}function o(t){if(!t)return cc.color(0,0,0,255);if(8===(t=-1!==t.indexOf("#")?t.substring(1):t).length){var e=parseInt(t.substr(0,2),16)||255,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||0;return cc.color(i,n,r,e)}var s=parseInt(t.substr(0,2),16)||0,a=parseInt(t.substr(2,2),16)||0,o=parseInt(t.substr(4,2),16)||0;return cc.color(s,a,o,255)}function l(t,e){for(var i=[],n=t.getElementsByTagName("properties"),r=0;r<n.length;++r)for(var s=n[r].getElementsByTagName("property"),a=0;a<s.length;++a)i.push(s[a]);e=e||{};for(var l=0;l<i.length;l++){var c=i[l],h=c.getAttribute("name"),u=c.getAttribute("type")||"string",_=c.getAttribute("value");"int"===u?_=parseInt(_):"float"===u?_=parseFloat(_):"bool"===u?_="true"===_:"color"===u&&(_=o(_)),e[h]=_}return e}t("../core/platform/CCSAXParser"),cc.TMXLayerInfo=function(){this.properties={},this.name="",this._layerSize=null,this._tiles=[],this.visible=!0,this._opacity=0,this.ownTiles=!0,this._minGID=1e5,this._maxGID=0,this.offset=cc.v2(0,0)},cc.TMXLayerInfo.prototype={constructor:cc.TMXLayerInfo,getProperties:function(){return this.properties},setProperties:function(t){this.properties=t}},cc.TMXImageLayerInfo=function(){this.name="",this.visible=!0,this.width=0,this.height=0,this.offset=cc.v2(0,0),this._opacity=0,this._trans=new cc.Color(255,255,255,255),this.sourceImage=null},cc.TMXObjectGroupInfo=function(){this.properties={},this.name="",this._objects=[],this.visible=!0,this._opacity=0,this._color=new cc.Color(255,255,255,255),this.offset=cc.v2(0,0),this._draworder="topdown"},cc.TMXObjectGroupInfo.prototype={constructor:cc.TMXObjectGroupInfo,getProperties:function(){return this.properties},setProperties:function(t){this.properties=t}},cc.TMXTilesetInfo=function(){this.name="",this.firstGid=0,this.spacing=0,this.margin=0,this.sourceImage=null,this.imageSize=cc.size(0,0),this.tileOffset=cc.v2(0,0),this._tileSize=cc.size(0,0)},cc.TMXTilesetInfo.prototype={constructor:cc.TMXTilesetInfo,rectForGID:function(t,e){var i=e||cc.rect(0,0,0,0);i.width=this._tileSize.width,i.height=this._tileSize.height,t&=cc.TiledMap.TileFlag.FLIPPED_MASK,t-=parseInt(this.firstGid,10);var n=parseInt((this.imageSize.width-2*this.margin+this.spacing)/(this._tileSize.width+this.spacing),10);return i.x=parseInt(t%n*(this._tileSize.width+this.spacing)+this.margin,10),i.y=parseInt(parseInt(t/n,10)*(this._tileSize.height+this.spacing)+this.margin,10),i}},cc.TMXMapInfo=function(t,e,i,n,r){this.properties=[],this.orientation=null,this.parentElement=null,this.parentGID=null,this.layerAttrs=0,this.storingCharacters=!1,this.currentString=null,this.renderOrder=cc.TiledMap.RenderOrder.RightDown,this._supportVersion=[1,2,0],this._parser=new cc.SAXParser,this._objectGroups=[],this._allChildren=[],this._mapSize=cc.size(0,0),this._tileSize=cc.size(0,0),this._layers=[],this._tilesets=[],this._imageLayers=[],this._tileProperties={},this._tileAnimations={},this._tsxMap=null,this._textures=null,this._staggerAxis=null,this._staggerIndex=null,this._hexSideLength=0,this._imageLayerTextures=null,this.initWithXML(t,e,i,n,r)},cc.TMXMapInfo.prototype={constructor:cc.TMXMapInfo,getOrientation:function(){return this.orientation},setOrientation:function(t){this.orientation=t},getStaggerAxis:function(){return this._staggerAxis},setStaggerAxis:function(t){this._staggerAxis=t},getStaggerIndex:function(){return this._staggerIndex},setStaggerIndex:function(t){this._staggerIndex=t},getHexSideLength:function(){return this._hexSideLength},setHexSideLength:function(t){this._hexSideLength=t},getMapSize:function(){return cc.size(this._mapSize.width,this._mapSize.height)},setMapSize:function(t){this._mapSize.width=t.width,this._mapSize.height=t.height},_getMapWidth:function(){return this._mapSize.width},_setMapWidth:function(t){this._mapSize.width=t},_getMapHeight:function(){return this._mapSize.height},_setMapHeight:function(t){this._mapSize.height=t},getTileSize:function(){return cc.size(this._tileSize.width,this._tileSize.height)},setTileSize:function(t){this._tileSize.width=t.width,this._tileSize.height=t.height},_getTileWidth:function(){return this._tileSize.width},_setTileWidth:function(t){this._tileSize.width=t},_getTileHeight:function(){return this._tileSize.height},_setTileHeight:function(t){this._tileSize.height=t},getLayers:function(){return this._layers},setLayers:function(t){this._allChildren.push(t),this._layers.push(t)},getImageLayers:function(){return this._imageLayers},setImageLayers:function(t){this._allChildren.push(t),this._imageLayers.push(t)},getTilesets:function(){return this._tilesets},setTilesets:function(t){this._tilesets.push(t)},getObjectGroups:function(){return this._objectGroups},setObjectGroups:function(t){this._allChildren.push(t),this._objectGroups.push(t)},getAllChildren:function(){return this._allChildren},getParentElement:function(){return this.parentElement},setParentElement:function(t){this.parentElement=t},getParentGID:function(){return this.parentGID},setParentGID:function(t){this.parentGID=t},getLayerAttribs:function(){return this.layerAttrs},setLayerAttribs:function(t){this.layerAttrs=t},getStoringCharacters:function(){return this.storingCharacters},setStoringCharacters:function(t){this.storingCharacters=t},getProperties:function(){return this.properties},setProperties:function(t){this.properties=t},initWithXML:function(t,e,i,n,r){return this._tilesets.length=0,this._layers.length=0,this._imageLayers.length=0,this._tsxMap=e,this._textures=i,this._imageLayerTextures=r,this._textureSizes=n,this._objectGroups.length=0,this._allChildren.length=0,this.properties.length=0,this._tileProperties={},this._tileAnimations={},this.currentString="",this.storingCharacters=!1,this.layerAttrs=cc.TMXLayerInfo.ATTRIB_NONE,this.parentElement=cc.TiledMap.NONE,this.parseXMLString(t)},parseXMLString:function(t,e){var i,n=this._parser._parseXML(t).documentElement,r=n.getAttribute("orientation"),s=n.getAttribute("staggeraxis"),a=n.getAttribute("staggerindex"),o=n.getAttribute("hexsidelength"),c=n.getAttribute("renderorder"),h=n.getAttribute("version")||"1.0.0";if("map"===n.nodeName){for(var u=h.split("."),_=this._supportVersion,f=0;f<_.length;f++){var d=parseInt(u[f])||0;if(_[f]<d){cc.logID(7216,h);break}}"orthogonal"===r?this.orientation=cc.TiledMap.Orientation.ORTHO:"isometric"===r?this.orientation=cc.TiledMap.Orientation.ISO:"hexagonal"===r?this.orientation=cc.TiledMap.Orientation.HEX:null!==r&&cc.logID(7217,r),this.renderOrder="right-up"===c?cc.TiledMap.RenderOrder.RightUp:"left-up"===c?cc.TiledMap.RenderOrder.LeftUp:"left-down"===c?cc.TiledMap.RenderOrder.LeftDown:cc.TiledMap.RenderOrder.RightDown,"x"===s?this.setStaggerAxis(cc.TiledMap.StaggerAxis.STAGGERAXIS_X):"y"===s&&this.setStaggerAxis(cc.TiledMap.StaggerAxis.STAGGERAXIS_Y),"odd"===a?this.setStaggerIndex(cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD):"even"===a&&this.setStaggerIndex(cc.TiledMap.StaggerIndex.STAGGERINDEX_EVEN),o&&this.setHexSideLength(parseFloat(o));var p=cc.size(0,0);p.width=parseFloat(n.getAttribute("width")),p.height=parseFloat(n.getAttribute("height")),this.setMapSize(p),(p=cc.size(0,0)).width=parseFloat(n.getAttribute("tilewidth")),p.height=parseFloat(n.getAttribute("tileheight")),this.setTileSize(p),this.properties=l(n)}var m=n.getElementsByTagName("tileset");for("map"!==n.nodeName&&(m=[]).push(n),i=0;i<m.length;i++){var y=m[i],v=y.getAttribute("source");if(v){var g=parseInt(y.getAttribute("firstgid")),b=this._tsxMap[v];b&&this.parseXMLString(b,g)}else{var A=y.getElementsByTagName("image"),x=A.length>1,C=A[0],T=C.getAttribute("source");T=T.replace(/\\/g,"/");var S=y.getElementsByTagName("tile"),w=S&&S.length||1,E=null,M=y.getAttribute("name")||"",D=parseInt(y.getAttribute("spacing"))||0,B=parseInt(y.getAttribute("margin"))||0,I=parseInt(e);I||(I=parseInt(y.getAttribute("firstgid"))||0);var P=cc.size(0,0);P.width=parseFloat(y.getAttribute("tilewidth")),P.height=parseFloat(y.getAttribute("tileheight"));var R=y.getElementsByTagName("tileoffset")[0],O=cc.v2(0,0);R&&(O.x=parseFloat(R.getAttribute("x")),O.y=parseFloat(R.getAttribute("y")));for(var L=null,F=0;F<w;F++)if(L&&!x||((L=new cc.TMXTilesetInfo).name=M,L.firstGid=I,L.spacing=D,L.margin=B,L._tileSize=P,L.tileOffset=O,L.sourceImage=this._textures[T],L.imageSize=this._textureSizes[T]||L.imageSize,L.sourceImage||cc.errorID(7221,T),this.setTilesets(L)),E=S&&S[F]){this.parentGID=parseInt(I)+parseInt(E.getAttribute("id")||0);var V=E.getElementsByTagName("image");if(V&&V.length>0){var N=(C=V[0]).getAttribute("source");N=N.replace(/\\/g,"/"),L.sourceImage=this._textures[N],L.sourceImage||cc.errorID(7221,N);var k=cc.size(0,0);k.width=parseFloat(C.getAttribute("width")),k.height=parseFloat(C.getAttribute("height")),L._tileSize=k,L.firstGid=this.parentGID}this._tileProperties[this.parentGID]=l(E);var z=E.getElementsByTagName("animation");if(z&&z.length>0){var G=z[0].getElementsByTagName("frame"),U={frames:[],dt:0,frameIdx:0};this._tileAnimations[this.parentGID]=U;for(var j=U.frames,H=0;H<G.length;H++){var W=G[H],X=parseInt(I)+parseInt(W.getAttribute("tileid")),Y=parseFloat(W.getAttribute("duration"));j.push({tileid:X,duration:Y/1e3,grid:null})}}}}}var q=n.childNodes;for(i=0;i<q.length;i++){var J=q[i];if(!this._shouldIgnoreNode(J)){if("imagelayer"===J.nodeName){var Z=this._parseImageLayer(J);Z&&this.setImageLayers(Z)}if("layer"===J.nodeName){var K=this._parseLayer(J);this.setLayers(K)}if("objectgroup"===J.nodeName){var Q=this._parseObjectGroup(J);this.setObjectGroups(Q)}}}return n},_shouldIgnoreNode:function(t){return 3===t.nodeType||8===t.nodeType||4===t.nodeType},_parseImageLayer:function(t){var e=t.getElementsByTagName("image");if(!e||0==e.length)return null;var i=new cc.TMXImageLayerInfo;i.name=t.getAttribute("name"),i.offset.x=parseFloat(t.getAttribute("offsetx"))||0,i.offset.y=parseFloat(t.getAttribute("offsety"))||0;var n=t.getAttribute("visible");i.visible=!("0"===n);var r=t.getAttribute("opacity")||1;i.opacity=parseInt(255*parseFloat(r))||255;var s=e[0],a=s.getAttribute("source");return i.sourceImage=this._imageLayerTextures[a],i.width=parseInt(s.getAttribute("width"))||0,i.height=parseInt(s.getAttribute("height"))||0,i.trans=o(s.getAttribute("trans")),i.sourceImage?i:(cc.errorID(7221,a),null)},_parseLayer:function(t){var n=t.getElementsByTagName("data")[0],s=new cc.TMXLayerInfo;s.name=t.getAttribute("name");var a=cc.size(0,0);a.width=parseFloat(t.getAttribute("width")),a.height=parseFloat(t.getAttribute("height")),s._layerSize=a;var o=t.getAttribute("visible");s.visible=!("0"===o);var c=t.getAttribute("opacity")||1;s._opacity=c?parseInt(255*parseFloat(c)):255,s.offset=cc.v2(parseFloat(t.getAttribute("offsetx"))||0,parseFloat(t.getAttribute("offsety"))||0);for(var h="",u=0;u<n.childNodes.length;u++)h+=n.childNodes[u].nodeValue;h=h.trim();var _,f=n.getAttribute("compression"),d=n.getAttribute("encoding");if(f&&"gzip"!==f&&"zlib"!==f)return cc.logID(7218),null;switch(f){case"gzip":_=e.unzipBase64AsArray(h,4);break;case"zlib":_=r(new i.Inflate(e.Base64.decodeAsArray(h,1)).decompress());break;case null:case"":if("base64"===d)_=e.Base64.decodeAsArray(h,4);else if("csv"===d){_=[];for(var p=h.split(","),m=0;m<p.length;m++)_.push(parseInt(p[m]))}else{var y=n.getElementsByTagName("tile");_=[];for(var v=0;v<y.length;v++)_.push(parseInt(y[v].getAttribute("gid")))}break;default:this.layerAttrs===cc.TMXLayerInfo.ATTRIB_NONE&&cc.logID(7219)}return _&&(s._tiles=new Uint32Array(_)),s.properties=l(t),s},_parseObjectGroup:function(t){var e=new cc.TMXObjectGroupInfo;e.name=t.getAttribute("name")||"",e.offset=cc.v2(parseFloat(t.getAttribute("offsetx")),parseFloat(t.getAttribute("offsety")));var i=t.getAttribute("opacity")||1;e._opacity=i?parseInt(255*parseFloat(i)):255;var n=t.getAttribute("visible");n&&0===parseInt(n)&&(e.visible=!1);var r=t.getAttribute("color");r&&e._color.fromHEX(r);var c=t.getAttribute("draworder");c&&(e._draworder=c),e.setProperties(l(t));var h=t.getElementsByTagName("object");if(h){for(var u=0;u<h.length;u++){var _=h[u],f={};f.id=_.getAttribute("id")||u,f.name=_.getAttribute("name")||"",f.width=parseFloat(_.getAttribute("width"))||0,f.height=parseFloat(_.getAttribute("height"))||0,f.x=parseFloat(_.getAttribute("x"))||0,f.y=parseFloat(_.getAttribute("y"))||0,f.rotation=parseFloat(_.getAttribute("rotation"))||0,l(_,f);var d=_.getAttribute("visible");f.visible=!(d&&0===parseInt(d));var p=_.getElementsByTagName("text");if(p&&p.length>0){var m=p[0];f.type=cc.TiledMap.TMXObjectType.TEXT,f.wrap="1"==m.getAttribute("wrap"),f.color=o(m.getAttribute("color")),f.halign=s(m.getAttribute("halign")),f.valign=a(m.getAttribute("valign")),f.pixelsize=parseInt(m.getAttribute("pixelsize"))||16,f.text=m.childNodes[0].nodeValue}var y=_.getAttribute("gid");y&&(f.gid=parseInt(y),f.type=cc.TiledMap.TMXObjectType.IMAGE);var v=_.getElementsByTagName("ellipse");v&&v.length>0&&(f.type=cc.TiledMap.TMXObjectType.ELLIPSE);var g=_.getElementsByTagName("polygon");if(g&&g.length>0){f.type=cc.TiledMap.TMXObjectType.POLYGON;var b=g[0].getAttribute("points");b&&(f.points=this._parsePointsString(b))}var A=_.getElementsByTagName("polyline");if(A&&A.length>0){f.type=cc.TiledMap.TMXObjectType.POLYLINE;var x=A[0].getAttribute("points");x&&(f.polylinePoints=this._parsePointsString(x))}f.type||(f.type=cc.TiledMap.TMXObjectType.RECT),e._objects.push(f)}"index"!==c&&e._objects.sort((function(t,e){return t.y-e.y}))}return e},_parsePointsString:function(t){if(!t)return null;for(var e=[],i=t.split(" "),n=0;n<i.length;n++){var r=i[n].split(",");e.push({x:parseFloat(r[0]),y:parseFloat(r[1])})}return e},setTileAnimations:function(t){this._tileAnimations=t},getTileAnimations:function(){return this._tileAnimations},getTileProperties:function(){return this._tileProperties},setTileProperties:function(t){this._tileProperties=t},getCurrentString:function(){return this.currentString},setCurrentString:function(t){this.currentString=t}};var c=cc.TMXMapInfo.prototype;n.getset(c,"mapWidth",c._getMapWidth,c._setMapWidth),n.getset(c,"mapHeight",c._getMapHeight,c._setMapHeight),n.getset(c,"tileWidth",c._getTileWidth,c._setTileWidth),n.getset(c,"tileHeight",c._getTileHeight,c._setTileHeight),cc.TMXLayerInfo.ATTRIB_NONE=1,cc.TMXLayerInfo.ATTRIB_BASE64=2,cc.TMXLayerInfo.ATTRIB_GZIP=4,cc.TMXLayerInfo.ATTRIB_ZLIB=8}),{"../compression/ZipUtils":22,"../compression/zlib.min":25,"../core/platform/CCSAXParser":245,"../core/platform/js":259}],397:[(function(t,e){"use strict";var i,n=t("../core/value-types"),r=(i=t("../core/assets/material/material-variant"))&&i.__esModule?i:{default:i},s=t("../core/components/CCRenderComponent"),a=t("../core/assets/material/CCMaterial"),o=t("../core/renderer/render-flow"),l=cc.mat4(),c=cc.v2(),h=cc.v2(),u=cc.v2(),_={row:0,col:0},f=cc.Class({name:"cc.TiledUserNodeData",extends:cc.Component,ctor:function(){this._index=-1,this._row=-1,this._col=-1,this._tiledLayer=null}}),d=cc.Class({name:"cc.TiledLayer",extends:s,editor:{inspector:"packages://inspector/inspectors/comps/tiled-layer.js"},ctor:function(){this._userNodeGrid={},this._userNodeMap={},this._userNodeDirty=!1,this._tiledTiles=[],this._tilesetIndexArr=[],this._tilesetIndexToArrIndex={},this._texIdToMatIndex={},this._viewPort={x:-1,y:-1,width:-1,height:-1},this._cullingRect={leftDown:{row:-1,col:-1},rightTop:{row:-1,col:-1}},this._cullingDirty=!0,this._rightTop={row:-1,col:-1},this._layerInfo=null,this._mapInfo=null,this._topOffset=0,this._downOffset=0,this._leftOffset=0,this._rightOffset=0,this._tiles=[],this._vertices=[],this._verticesDirty=!0,this._layerName="",this._layerOrientation=null,this._texGrids=null,this._textures=null,this._tilesets=null,this._leftDownToCenterX=0,this._leftDownToCenterY=0,this._hasTiledNodeGrid=!1,this._hasAniGrid=!1,this._animations=null,this._enableCulling=cc.macro.ENABLE_TILEDMAP_CULLING},_hasTiledNode:function(){return this._hasTiledNodeGrid},_hasAnimation:function(){return this._hasAniGrid},enableCulling:function(t){this._enableCulling!=t&&(this._enableCulling=t,this._cullingDirty=!0)},addUserNode:function(t){var e=t.getComponent(f);return e?(cc.warn("CCTiledLayer:addUserNode node has been added"),!1):(e=t.addComponent(f),t.parent=this.node,t._renderFlag|=o.FLAG_BREAK_FLOW,this._userNodeMap[t._id]=e,e._row=-1,e._col=-1,e._tiledLayer=this,this._nodeLocalPosToLayerPos(t,c),this._positionToRowCol(c.x,c.y,_),this._addUserNodeToGrid(e,_),this._updateCullingOffsetByUserNode(t),t.on(cc.Node.EventType.POSITION_CHANGED,this._userNodePosChange,e),t.on(cc.Node.EventType.SIZE_CHANGED,this._userNodeSizeChange,e),!0)},removeUserNode:function(t){var e=t.getComponent(f);return e?(t.off(cc.Node.EventType.POSITION_CHANGED,this._userNodePosChange,e),t.off(cc.Node.EventType.SIZE_CHANGED,this._userNodeSizeChange,e),this._removeUserNodeFromGrid(e),delete this._userNodeMap[t._id],t._removeComponent(e),e.destroy(),t.removeFromParent(!0),t._renderFlag&=~o.FLAG_BREAK_FLOW,!0):(cc.warn("CCTiledLayer:removeUserNode node is not exist"),!1)},destroyUserNode:function(t){this.removeUserNode(t),t.destroy()},_nodeLocalPosToLayerPos:function(t,e){e.x=t.x+this._leftDownToCenterX,e.y=t.y+this._leftDownToCenterY},_getNodesByRowCol:function(t,e){var i=this._userNodeGrid[t];return i?i[e]:null},_getNodesCountByRow:function(t){var e=this._userNodeGrid[t];return e?e.count:0},_updateAllUserNode:function(){for(var t in this._userNodeGrid={},this._userNodeMap){var e=this._userNodeMap[t];this._nodeLocalPosToLayerPos(e.node,c),this._positionToRowCol(c.x,c.y,_),this._addUserNodeToGrid(e,_),this._updateCullingOffsetByUserNode(e.node)}},_updateCullingOffsetByUserNode:function(t){this._topOffset<t.height&&(this._topOffset=t.height),this._downOffset<t.height&&(this._downOffset=t.height),this._leftOffset<t.width&&(this._leftOffset=t.width),this._rightOffset<t.width&&(this._rightOffset=t.width)},_userNodeSizeChange:function(){var t=this.node;this._tiledLayer._updateCullingOffsetByUserNode(t)},_userNodePosChange:function(){var t=this.node,e=this._tiledLayer;e._nodeLocalPosToLayerPos(t,c),e._positionToRowCol(c.x,c.y,_),e._limitInLayer(_),_.row===this._row&&_.col===this._col||(e._removeUserNodeFromGrid(this),e._addUserNodeToGrid(this,_))},_removeUserNodeFromGrid:function(t){var e=t._row,i=t._col,n=t._index,r=this._userNodeGrid[e],s=r&&r[i];s&&(r.count--,s.count--,s.list[n]=null,s.count<=0&&(s.list.length=0,s.count=0)),t._row=-1,t._col=-1,t._index=-1,this._userNodeDirty=!0},_limitInLayer:function(t){var e=t.row,i=t.col;e<0&&(t.row=0),e>this._rightTop.row&&(t.row=this._rightTop.row),i<0&&(t.col=0),i>this._rightTop.col&&(t.col=this._rightTop.col)},_addUserNodeToGrid:function(t,e){var i=e.row,n=e.col,r=this._userNodeGrid[i]=this._userNodeGrid[i]||{count:0},s=r[n]=r[n]||{count:0,list:[]};t._row=i,t._col=n,t._index=s.list.length,r.count++,s.count++,s.list.push(t),this._userNodeDirty=!0},_isUserNodeDirty:function(){return this._userNodeDirty},_setUserNodeDirty:function(t){this._userNodeDirty=t},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this),this._activateMaterial()},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this)},_syncAnchorPoint:function(){var t=this.node;this._leftDownToCenterX=t.width*t.anchorX*t.scaleX,this._leftDownToCenterY=t.height*t.anchorY*t.scaleY,this._cullingDirty=!0},onDestroy:function(){this._super(),this._buffer&&(this._buffer.destroy(),this._buffer=null),this._renderDataList=null},getLayerName:function(){return this._layerName},setLayerName:function(t){this._layerName=t},getProperty:function(t){return this._properties[t]},getPositionAt:function(t,e){var i,n;switch(void 0!==e?(i=Math.floor(t),e=Math.floor(e)):(i=Math.floor(t.x),e=Math.floor(t.y)),this._layerOrientation){case cc.TiledMap.Orientation.ORTHO:n=this._positionForOrthoAt(i,e);break;case cc.TiledMap.Orientation.ISO:n=this._positionForIsoAt(i,e);break;case cc.TiledMap.Orientation.HEX:n=this._positionForHexAt(i,e)}return n},_isInvalidPosition:function(t,e){if(t&&"object"==typeof t){var i=t;e=i.y,t=i.x}return t>=this._layerSize.width||e>=this._layerSize.height||t<0||e<0},_positionForIsoAt:function(t,e){var i=0,n=0,r=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this._tiles[r];if(s){var a=(s&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0,o=this._texGrids[a].tileset.tileOffset;i=o.x,n=o.y}return cc.v2(.5*this._mapTileSize.width*(this._layerSize.height+t-e-1)+i,.5*this._mapTileSize.height*(this._layerSize.width-t+this._layerSize.height-e-2)-n)},_positionForOrthoAt:function(t,e){var i=0,n=0,r=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this._tiles[r];if(s){var a=(s&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0,o=this._texGrids[a].tileset.tileOffset;i=o.x,n=o.y}return cc.v2(t*this._mapTileSize.width+i,(this._layerSize.height-e-1)*this._mapTileSize.height-n)},_positionForHexAt:function(t,e){var i,n=this._mapTileSize.width,r=this._mapTileSize.height,s=this._layerSize.height,a=Math.floor(t)+Math.floor(e)*this._layerSize.width,o=this._tiles[a];i=this._texGrids[o]?this._texGrids[o].tileset.tileOffset:{x:0,y:0};var l=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD?1:-1,c=0,h=0,u=0,_=0;switch(this._staggerAxis){case cc.TiledMap.StaggerAxis.STAGGERAXIS_Y:u=0,e%2==1&&(u=n/2*l),c=t*n+u+i.x,h=(s-e-1)*(r-(r-this._hexSideLength)/2)-i.y;break;case cc.TiledMap.StaggerAxis.STAGGERAXIS_X:_=0,t%2==1&&(_=r/2*-l),c=t*(n-(n-this._hexSideLength)/2)+i.x,h=(s-e-1)*r+_-i.y}return cc.v2(c,h)},setTilesGIDAt:function(t,e,i,n){if(t&&0!==t.length&&!(n<=0)){i<0&&(i=0),e<0&&(e=0);for(var r=0,s=e+n,a=i;;a++)for(var o=e;o<s;o++){if(r>=t.length)return;this._updateTileForGID(t[r],o,a),r++}}},setTileGIDAt:function(t,e,i,n){if(void 0===e)throw new Error("cc.TiledLayer.setTileGIDAt(): pos should be non-null");var r;void 0===n&&e instanceof cc.Vec2?(r=e,n=i):(u.x=e,u.y=i,r=u);var s=t&cc.TiledMap.TileFlag.FLIPPED_MASK;if(r.x=Math.floor(r.x),r.y=Math.floor(r.y),this._isInvalidPosition(r))throw new Error("cc.TiledLayer.setTileGIDAt(): invalid position");this._tiles&&this._tilesets&&0!=this._tilesets.length?0!==s&&s<this._tilesets[0].firstGid?cc.logID(7239,t):(n=n||0,this._updateTileForGID((t|n)>>>0,r.x,r.y)):cc.logID(7238)},_updateTileForGID:function(t,e,i){var n=0|e+i*this._layerSize.width;if(!(n>=this._tiles.length)&&t!==this._tiles[n]){var r=(t&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0,s=this._texGrids[r],a=s&&s.texId;s?(this._tiles[n]=t,this._updateVertex(e,i),this._buildMaterial(a)):this._tiles[n]=0,this._cullingDirty=!0}},getTiles:function(){return this._tiles},getTileGIDAt:function(t,e){if(void 0===t)throw new Error("cc.TiledLayer.getTileGIDAt(): pos should be non-null");var i=t;if(void 0===e&&(i=t.x,e=t.y),this._isInvalidPosition(i,e))throw new Error("cc.TiledLayer.getTileGIDAt(): invalid position");if(!this._tiles)return cc.logID(7237),null;var n=Math.floor(i)+Math.floor(e)*this._layerSize.width;return(this._tiles[n]&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0},getTileFlagsAt:function(t,e){if(!t)throw new Error("TiledLayer.getTileFlagsAt: pos should be non-null");if(void 0!==e&&(t=cc.v2(t,e)),this._isInvalidPosition(t))throw new Error("TiledLayer.getTileFlagsAt: invalid position");if(!this._tiles)return cc.logID(7240),null;var i=Math.floor(t.x)+Math.floor(t.y)*this._layerSize.width;return(this._tiles[i]&cc.TiledMap.TileFlag.FLIPPED_ALL)>>>0},_setCullingDirty:function(t){this._cullingDirty=t},_isCullingDirty:function(){return this._cullingDirty},_updateViewPort:function(t,e,i,n){if(this._viewPort.width!==i||this._viewPort.height!==n||this._viewPort.x!==t||this._viewPort.y!==e){this._viewPort.x=t,this._viewPort.y=e,this._viewPort.width=i,this._viewPort.height=n;var r=1;this._layerOrientation===cc.TiledMap.Orientation.ISO&&(r=2);var s=this._viewPort.x-this._offset.x+this._leftDownToCenterX,a=this._viewPort.y-this._offset.y+this._leftDownToCenterY,o=s-this._leftOffset,l=a-this._downOffset,c=s+i+this._rightOffset,h=a+n+this._topOffset,u=this._cullingRect.leftDown,f=this._cullingRect.rightTop;o<0&&(o=0),l<0&&(l=0),this._positionToRowCol(o,l,_),_.row-=r,_.col-=r,_.row=_.row>0?_.row:0,_.col=_.col>0?_.col:0,_.row===u.row&&_.col===u.col||(u.row=_.row,u.col=_.col,this._cullingDirty=!0),c<0||h<0?(_.row=-1,_.col=-1):(this._positionToRowCol(c,h,_),_.row++,_.col++),_.row>this._rightTop.row&&(_.row=this._rightTop.row),_.col>this._rightTop.col&&(_.col=this._rightTop.col),_.row===f.row&&_.col===f.col||(f.row=_.row,f.col=_.col,this._cullingDirty=!0)}},_positionToRowCol:function(t,e,i){var n=cc.TiledMap,r=n.Orientation,s=n.StaggerAxis,a=this._mapTileSize.width,o=this._mapTileSize.height,l=.5*a,c=.5*o,h=0,u=0,_=0,f=0,d=this._staggerAxis;switch(this._layerSize.width,this._layerOrientation){case r.ORTHO:u=Math.floor(t/a),h=Math.floor(e/o);break;case r.ISO:u=Math.floor(t/l),h=Math.floor(e/c);break;case r.HEX:d===s.STAGGERAXIS_Y?(_=(h=Math.floor(e/(o-this._diffY1)))%2==1?l*this._odd_even:0,u=Math.floor((t-_)/a)):(f=(u=Math.floor(t/(a-this._diffX1)))%2==1?c*-this._odd_even:0,h=Math.floor((e-f)/o))}return i.row=h,i.col=u,i},_updateCulling:function(){if(this._enableCulling){this.node._updateWorldMatrix(),n.Mat4.invert(l,this.node._worldMatrix);var t=cc.visibleRect,e=cc.Camera.findCamera(this.node);e&&(c.x=0,c.y=0,h.x=c.x+t.width,h.y=c.y+t.height,e.getScreenToWorldPoint(c,c),e.getScreenToWorldPoint(h,h),n.Vec2.transformMat4(c,c,l),n.Vec2.transformMat4(h,h,l),this._updateViewPort(c.x,c.y,h.x-c.x,h.y-c.y))}},getLayerOrientation:function(){return this._layerOrientation},getProperties:function(){return this._properties},_updateVertex:function(t,e){var i=cc.TiledMap,n=i.TileFlag.FLIPPED_MASK,r=i.StaggerAxis,s=i.Orientation,a=this._vertices,o=this._layerOrientation,l=this._tiles;if(l){var c,h,u,_,f,d,p,m=this._rightTop,y=this._mapTileSize.width,v=this._mapTileSize.height,g=.5*y,b=.5*v,A=this._layerSize.height,x=this._layerSize.width,C=this._texGrids;o===s.HEX&&(_=this._staggerAxis,f=this._diffX1,d=this._diffY1,p=this._odd_even);var T,S,w,E,M=0,D=0,B=0,I=0,P=e*x+t;if(c=C[S=(l[P]&n)>>>0]){switch(this._animations[S]&&(this._hasAniGrid=this._hasAniGrid||!0),o){case s.ORTHO:h=(M=t)*y,u=(D=A-e-1)*v;break;case s.ISO:h=g*(M=A+t-e-1),u=b*(D=A+x-t-e-2);break;case s.HEX:h=t*(y-f)+(_===r.STAGGERAXIS_Y&&e%2==1?g*p:0),u=(A-e-1)*(v-d)+(_===r.STAGGERAXIS_X&&t%2==1?b*-p:0),M=t,D=A-e-1}var R=a[D]=a[D]||{minCol:0,maxCol:0},O=R[M]=R[M]||{};R.minCol>M&&(R.minCol=M),R.maxCol<M&&(R.maxCol=M),m.row<D&&(m.row=D),m.col<M&&(m.col=M),T=c.tileset.tileOffset,h+=this._offset.x+T.x,u+=this._offset.y-T.y,B=(B=-T.y+c.tileset._tileSize.height-v)<0?0:B,w=T.y<0?0:T.y,E=-T.x<0?0:-T.x,I=(I=T.x+c.tileset._tileSize.width-y)<0?0:I,this._rightOffset<E&&(this._rightOffset=E),this._leftOffset<I&&(this._leftOffset=I),this._topOffset<w&&(this._topOffset=w),this._downOffset<B&&(this._downOffset=B),O.left=h,O.bottom=u,O.index=P,this._cullingDirty=!0}}},_updateVertices:function(){if(this._vertices.length=0,this._tiles){var t=this._rightTop;t.row=-1,t.col=-1;var e=this._layerSize.height,i=this._layerSize.width;this._topOffset=0,this._downOffset=0,this._leftOffset=0,this._rightOffset=0,this._hasAniGrid=!1;for(var n=0;n<e;++n)for(var r=0;r<i;++r)this._updateVertex(r,n);this._verticesDirty=!1}},getTiledTileAt:function(t,e,i){if(this._isInvalidPosition(t,e))throw new Error("TiledLayer.getTiledTileAt: invalid position");if(!this._tiles)return cc.logID(7236),null;var n=Math.floor(t)+Math.floor(e)*this._layerSize.width,r=this._tiledTiles[n];if(!r&&i){var s=new cc.Node;return(r=s.addComponent(cc.TiledTile))._x=t,r._y=e,r._layer=this,r._updateInfo(),s.parent=this.node,r}return r},setTiledTileAt:function(t,e,i){if(this._isInvalidPosition(t,e))throw new Error("TiledLayer.setTiledTileAt: invalid position");if(!this._tiles)return cc.logID(7236),null;var n=Math.floor(t)+Math.floor(e)*this._layerSize.width;return this._tiledTiles[n]=i,this._cullingDirty=!0,this._hasTiledNodeGrid=!!i||this._tiledTiles.some((function(t){return!!t})),i},getTexture:function(t){return t=t||0,this._textures&&t>=0&&this._textures.length>t?this._textures[t]:null},getTextures:function(){return this._textures},setTexture:function(t){this.setTextures([t])},setTextures:function(t){this._textures=t,this._activateMaterial()},getLayerSize:function(){return this._layerSize},getMapTileSize:function(){return this._mapTileSize},getTileSet:function(t){return t=t||0,this._tilesets&&t>=0&&this._tilesets.length>t?this._tilesets[t]:null},getTileSets:function(){return this._tilesets},setTileSet:function(t){this.setTileSets([t])},setTileSets:function(t){this._tilesets=t;for(var e=this._textures=[],i=this._texGrids=[],n=0;n<t.length;n++){var r=t[n];r&&(e[n]=r.sourceImage)}cc.TiledMap.loadAllTextures(e,function(){for(var e=0,n=t.length;e<n;++e){var r=t[e];r&&cc.TiledMap.fillTextureGrids(r,i,e)}this._prepareToRender()}.bind(this))},_traverseAllGrid:function(){var t=this._tiles,e=this._texGrids,i=this._tilesetIndexArr,n=this._tilesetIndexToArrIndex={},r=cc.TiledMap.TileFlag.FLIPPED_MASK;i.length=0;for(var s=0;s<t.length;s++){var a=t[s];if(0!==a){var o=e[a=(a&r)>>>0];if(o){var l=o.texId;void 0===n[l]&&(n[l]=i.length,i.push(l))}else cc.error("CCTiledLayer:_traverseAllGrid grid is null, gid is:",a)}}},_init:function(t,e,i,n,r){this._cullingDirty=!0,this._layerInfo=t,this._mapInfo=e;var s=t._layerSize;this._layerName=t.name,this._tiles=t._tiles,this._properties=t.properties,this._layerSize=s,this._minGID=t._minGID,this._maxGID=t._maxGID,this._opacity=t._opacity,this._renderOrder=e.renderOrder,this._staggerAxis=e.getStaggerAxis(),this._staggerIndex=e.getStaggerIndex(),this._hexSideLength=e.getHexSideLength(),this._animations=e.getTileAnimations(),this._tilesets=i,this._textures=n,this._texGrids=r,this._layerOrientation=e.orientation,this._mapTileSize=e.getTileSize();var a=this._mapTileSize.width,o=this._mapTileSize.height,l=this._layerSize.width,c=this._layerSize.height;if(this._layerOrientation===cc.TiledMap.Orientation.HEX){var h=cc.TiledMap,u=h.StaggerAxis,_=h.StaggerIndex,f=0,d=0;this._odd_even=this._staggerIndex===_.STAGGERINDEX_ODD?1:-1,this._staggerAxis===u.STAGGERAXIS_X?(this._diffX1=(a-this._hexSideLength)/2,this._diffY1=0,d=o*(c+.5),f=(a+this._hexSideLength)*Math.floor(l/2)+a*(l%2)):(this._diffX1=0,this._diffY1=(o-this._hexSideLength)/2,f=a*(l+.5),d=(o+this._hexSideLength)*Math.floor(c/2)+o*(c%2)),this.node.setContentSize(f,d)}else if(this._layerOrientation===cc.TiledMap.Orientation.ISO){var p=l+c;this.node.setContentSize(.5*a*p,.5*o*p)}else this.node.setContentSize(l*a,c*o);this._offset=cc.v2(t.offset.x,-t.offset.y),this._useAutomaticVertexZ=!1,this._vertexZvalue=0,this._syncAnchorPoint(),this._prepareToRender()},_prepareToRender:function(){this._updateVertices(),this._traverseAllGrid(),this._updateAllUserNode(),this._activateMaterial()},_buildMaterial:function(t){var e=this._texIdToMatIndex;if(void 0!==e[t])return null;var i=this._tilesetIndexArr,n=this._tilesetIndexToArrIndex,s=n[t];void 0===s&&(n[t]=s=i.length,i.push(t));var o=this._textures[t],l=this._materials[s];return l||(l=a.getBuiltinMaterial("2d-sprite")),(l=r.default.create(l,this)).define("CC_USE_MODEL",!0),l.setProperty("texture",o),this._materials[s]=l,e[t]=s,l},_activateMaterial:function(){var t=this._tilesetIndexArr;if(0!==t.length){for(var e=t.length,i=0;i<e;i++)this._buildMaterial(t[i]);this._materials.length=e,this.markForRender(!0)}else this.disableRender()}});cc.TiledLayer=e.exports=d}),{"../core/assets/material/CCMaterial":123,"../core/assets/material/material-variant":130,"../core/components/CCRenderComponent":159,"../core/renderer/render-flow":271,"../core/value-types":338}],398:[(function(t,e){"use strict";t("./CCTMXXMLParser"),t("./CCTiledMapAsset"),t("./CCTiledLayer"),t("./CCTiledTile"),t("./CCTiledObjectGroup");var i=cc.Enum({ORTHO:0,HEX:1,ISO:2}),n=cc.Enum({NONE:0,MAP:1,LAYER:2,OBJECTGROUP:3,OBJECT:4,TILE:5}),r=cc.Enum({HORIZONTAL:2147483648,VERTICAL:1073741824,DIAGONAL:536870912,FLIPPED_ALL:4026531840,FLIPPED_MASK:268435455}),s=cc.Enum({STAGGERAXIS_X:0,STAGGERAXIS_Y:1}),a=cc.Enum({STAGGERINDEX_ODD:0,STAGGERINDEX_EVEN:1}),o=cc.Enum({RightDown:0,RightUp:1,LeftDown:2,LeftUp:3}),l=cc.Enum({RECT:0,ELLIPSE:1,POLYGON:2,POLYLINE:3,IMAGE:4,TEXT:5}),c=cc.Class({name:"cc.TiledMap",extends:cc.Component,editor:!1,ctor:function(){this._texGrids=[],this._textures=[],this._tilesets=[],this._animations=[],this._imageLayers=[],this._layers=[],this._groups=[],this._images=[],this._properties=[],this._tileProperties=[],this._mapSize=cc.size(0,0),this._tileSize=cc.size(0,0)},statics:{Orientation:i,Property:n,TileFlag:r,StaggerAxis:s,StaggerIndex:a,TMXObjectType:l,RenderOrder:o},properties:{_tmxFile:{default:null,type:cc.TiledMapAsset},tmxAsset:{get:function(){return this._tmxFile},set:function(t){this._tmxFile!==t&&(this._tmxFile=t,this._applyFile())},type:cc.TiledMapAsset}},getMapSize:function(){return this._mapSize},getTileSize:function(){return this._tileSize},getMapOrientation:function(){return this._mapOrientation},getObjectGroups:function(){return this._groups},getObjectGroup:function(t){for(var e=this._groups,i=0,n=e.length;i<n;i++){var r=e[i];if(r&&r.getGroupName()===t)return r}return null},enableCulling:function(t){for(var e=this._layers,i=0;i<e.length;++i)e[i].enableCulling(t)},getProperties:function(){return this._properties},getLayers:function(){return this._layers},getLayer:function(t){for(var e=this._layers,i=0,n=e.length;i<n;i++){var r=e[i];if(r&&r.getLayerName()===t)return r}return null},_changeLayer:function(t,e){for(var i=this._layers,n=0,r=i.length;n<r;n++){var s=i[n];if(s&&s.getLayerName()===t)return void(i[n]=e)}},getProperty:function(t){return this._properties[t.toString()]},getPropertiesForGID:function(t){return this._tileProperties[t]},__preload:function(){this._tmxFile&&this._applyFile()},onEnable:function(){this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this)},onDisable:function(){this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this)},_applyFile:function(){var t=this._tmxFile;if(t){for(var e=t.textures,i=t.textureNames,n=t.textureSizes,r={},s={},a=0;a<e.length;++a){var o=i[a];r[o]=e[a],s[o]=n[a]}var l={};e=t.imageLayerTextures,i=t.imageLayerTextureNames;for(var c=0;c<e.length;++c)l[i[c]]=e[c];for(var h=t.tsxFileNames,u=t.tsxFiles,_={},f=0;f<h.length;++f)h[f].length>0&&(_[h[f]]=u[f].text);var d=new cc.TMXMapInfo(t.tmxXmlStr,_,r,s,l),p=d.getTilesets();p&&0!==p.length||cc.logID(7241),this._buildWithMapInfo(d)}else this._releaseMapInfo()},_releaseMapInfo:function(){for(var t=this._layers,e=0,i=t.length;e<i;e++)t[e].node.removeFromParent(!0),t[e].node.destroy();t.length=0;for(var n=this._groups,r=0,s=n.length;r<s;r++)n[r].node.removeFromParent(!0),n[r].node.destroy();n.length=0;for(var a=this._images,o=0,l=a.length;o<l;o++)a[o].removeFromParent(!0),a[o].destroy();a.length=0},_syncAnchorPoint:function(){var t,e,i=this.node.getAnchorPoint(),n=this.node.width*i.x,r=this.node.height*(1-i.y);for(t=0,e=this._layers.length;t<e;t++)this._layers[t].node.setAnchorPoint(i);for(t=0,e=this._groups.length;t<e;t++){var s=this._groups[t],a=s.node;a.anchorX=.5,a.anchorY=.5,a.x=s._offset.x-n+a.width*a.anchorX,a.y=s._offset.y+r-a.height*a.anchorY}for(t=0,e=this._images.length;t<e;t++){var o=this._images[t];o.anchorX=.5,o.anchorY=.5,o.x=o._offset.x-n+o.width*o.anchorX,o.y=o._offset.y+r-o.height*o.anchorY}},_fillAniGrids:function(t,e){for(var i in e){var n=e[i];if(n)for(var r=n.frames,s=0;s<r.length;s++){var a=r[s];a.grid=t[a.tileid]}}},_buildLayerAndGroup:function(){var t=this._tilesets,e=this._texGrids,i=this._animations;e.length=0;for(var n=0,r=t.length;n<r;++n){var s=t[n];s&&cc.TiledMap.fillTextureGrids(s,e,n)}this._fillAniGrids(e,i);for(var a=this._layers,o=this._groups,l=this._images,c={},h=0,u=a.length;h<u;h++)c[a[h].node._name]=!0;for(var _=0,f=o.length;_<f;_++)c[o[_].node._name]=!0;for(var d=0,p=l.length;d<p;d++)c[l[d]._name]=!0;a=this._layers=[],o=this._groups=[],l=this._images=[];var m=this._mapInfo,y=this.node,v=m.getAllChildren(),g=this._textures,b=0,A=0;if(v&&v.length>0)for(var x=0,C=v.length;x<C;x++){var T=v[x],S=T.name,w=this.node.getChildByName(S);if(c[S]=!1,w||((w=new cc.Node).name=S,y.addChild(w)),w.setSiblingIndex(x),w.active=T.visible,T instanceof cc.TMXLayerInfo){var E=w.getComponent(cc.TiledLayer);E||(E=w.addComponent(cc.TiledLayer)),E._init(T,m,t,g,e),T.ownTiles=!1,a.push(E)}else if(T instanceof cc.TMXObjectGroupInfo){var M=w.getComponent(cc.TiledObjectGroup);M||(M=w.addComponent(cc.TiledObjectGroup)),M._init(T,m,e),o.push(M)}else if(T instanceof cc.TMXImageLayerInfo){var D=T.sourceImage;w.opacity=T.opacity,w.layerInfo=T,w._offset=cc.v2(T.offset.x,-T.offset.y);var B=w.getComponent(cc.Sprite);B||(B=w.addComponent(cc.Sprite));var I=B.spriteFrame||new cc.SpriteFrame;I.setTexture(D),B.spriteFrame=I,w.width=D.width,w.height=D.height,l.push(w)}b=Math.max(b,w.width),A=Math.max(A,w.height)}for(var P=y.children,R=0,O=P.length;R<O;R++){var L=P[R];c[L._name]&&L.destroy()}this.node.width=b,this.node.height=A,this._syncAnchorPoint()},_buildWithMapInfo:function(t){this._mapInfo=t,this._mapSize=t.getMapSize(),this._tileSize=t.getTileSize(),this._mapOrientation=t.orientation,this._properties=t.properties,this._tileProperties=t.getTileProperties(),this._imageLayers=t.getImageLayers(),this._animations=t.getTileAnimations(),this._tilesets=t.getTilesets();var e=this._tilesets;this._textures.length=0;for(var i=[],n=0,r=e.length;n<r;++n){var s=e[n];s&&s.sourceImage&&(this._textures[n]=s.sourceImage,i.push(s.sourceImage))}for(var a=0;a<this._imageLayers.length;a++){var o=this._imageLayers[a];o&&o.sourceImage&&i.push(o.sourceImage)}cc.TiledMap.loadAllTextures(i,function(){this._buildLayerAndGroup()}.bind(this))},update:function(t){var e=this._animations,i=this._texGrids;for(var n in e){var r=e[n],s=r.frames,a=s[r.frameIdx];r.dt+=t,a.duration<r.dt&&(r.dt=0,r.frameIdx++,r.frameIdx>=s.length&&(r.frameIdx=0),a=s[r.frameIdx]),i[n]=a.grid}}});cc.TiledMap=e.exports=c,cc.TiledMap.loadAllTextures=function(t,e){var i=t.length;if(0!==i)for(var n=0,r=function(){++n>=i&&e()},s=0;s<i;s++){var a=t[s];a.loaded?r():a.once("load",(function(){r()}))}else e()},cc.TiledMap.fillTextureGrids=function(t,e,i){var n=t.sourceImage;t.imageSize.width&&t.imageSize.height||(t.imageSize.width=n.width,t.imageSize.height=n.height);var r=t._tileSize.width,s=t._tileSize.height,a=n.width,o=n.height,l=t.spacing,c=t.margin,h=Math.floor((a-2*c+l)/(r+l)),u=Math.floor((o-2*c+l)/(s+l))*h,_=t.firstGid,f=null,d=!!e[_],p=cc.macro.FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX?.5:0;u<=0&&(u=1);for(var m=t.firstGid+u;_<m&&(d&&!e[_]&&(d=!1),d||!e[_]);++_)f={texId:i,tileset:t,x:0,y:0,width:r,height:s,t:0,l:0,r:0,b:0,gid:_},t.rectForGID(_,f),f.x+=p,f.y+=p,f.width-=2*p,f.height-=2*p,f.t=f.y/o,f.l=f.x/a,f.r=(f.x+f.width)/a,f.b=(f.y+f.height)/o,e[_]=f},cc.js.obsolete(cc.TiledMap.prototype,"cc.TiledMap.tmxFile","tmxAsset",!0),cc.js.get(cc.TiledMap.prototype,"mapLoaded",(function(){return cc.errorID(7203),[]}),!1)}),{"./CCTMXXMLParser":396,"./CCTiledLayer":397,"./CCTiledMapAsset":399,"./CCTiledObjectGroup":401,"./CCTiledTile":402}],399:[(function(t,e){"use strict";var i=cc.Class({name:"cc.TiledMapAsset",extends:cc.Asset,properties:{tmxXmlStr:"",textures:{default:[],type:[cc.Texture2D]},textureNames:[cc.String],textureSizes:{default:[],type:[cc.Size]},imageLayerTextures:{default:[],type:[cc.Texture2D]},imageLayerTextureNames:[cc.String],tsxFiles:[cc.TextAsset],tsxFileNames:[cc.String]},statics:{preventDeferredLoadDependents:!0},createNode:!1});cc.TiledMapAsset=i,e.exports=i}),{}],400:[(function(t,e){"use strict";var i,n=(i=t("../renderer/core/input-assembler"))&&i.__esModule?i:{default:i},r=cc.Class({name:"cc.TiledMapRenderDataList",ctor:function(){this._dataList=[],this._offset=0},_pushRenderData:function(){var t={};t.ia=new n.default,t.nodesRenderList=[],this._dataList.push(t)},popRenderData:function(t){this._offset>=this._dataList.length&&this._pushRenderData();var e=this._dataList[this._offset];e.nodesRenderList.length=0;var i=e.ia;return i._vertexBuffer=t._vb,i._indexBuffer=t._ib,i._start=t.indiceOffset,i._count=0,this._offset++,e},pushNodesList:function(t,e){t.nodesRenderList.push(e)},reset:function(){this._offset=0}});cc.TiledMapRenderDataList=e.exports=r}),{"../renderer/core/input-assembler":361}],401:[(function(t,e){"use strict";var i=cc.Class({name:"cc.TiledObjectGroup",extends:cc.Component,getPositionOffset:function(){return this._positionOffset},getProperties:function(){this._properties},getGroupName:function(){return this._groupName},getProperty:function(t){return this._properties[t.toString()]},getObject:function(t){for(var e=0,i=this._objects.length;e<i;e++){var n=this._objects[e];if(n&&n.name===t)return n}return null},getObjects:function(){return this._objects},_init:function(t,e,i){var n=cc.TiledMap,r=n.TMXObjectType,s=n.Orientation,a=n.StaggerAxis,o=n.TileFlag,l=o.FLIPPED_MASK,c=o.HORIZONTAL,h=o.VERTICAL;this._groupName=t.name,this._positionOffset=t.offset,this._mapInfo=e,this._properties=t.getProperties(),this._offset=cc.v2(t.offset.x,-t.offset.y),this._opacity=t._opacity;var u=e._mapSize,_=e._tileSize,f=0,d=0;if(e.orientation===s.HEX)e.getStaggerAxis()===a.STAGGERAXIS_X?(d=_.height*(u.height+.5),f=(_.width+e.getHexSideLength())*Math.floor(u.width/2)+_.width*(u.width%2)):(f=_.width*(u.width+.5),d=(_.height+e.getHexSideLength())*Math.floor(u.height/2)+_.height*(u.height%2));else if(e.orientation===s.ISO){var p=u.width+u.height;f=.5*_.width*p,d=.5*_.height*p}else f=u.width*_.width,d=u.height*_.height;this.node.setContentSize(f,d);for(var m=f*this.node.anchorX,y=d*(1-this.node.anchorY),v=t._objects,g={},b=0,A=v.length;b<A;b++){var x=v[b],C=x.type;x.offset=cc.v2(x.x,x.y);var T=x.points||x.polylinePoints;if(T)for(var S=0;S<T.length;S++)T[S].y*=-1;if(s.ISO!==e.orientation)x.y=d-x.y;else{var w=x.x/_.height,E=x.y/_.height;x.x=.5*_.width*(u.height+w-E),x.y=.5*_.height*(u.width+u.height-w-E)}if(C===r.TEXT){var M="text"+x.id;g[M]=!0;var D=this.node.getChildByName(M);D||(D=new cc.Node),D.active=x.visible,D.anchorX=0,D.anchorY=1,D.angle=-x.rotation,D.x=x.x-m,D.y=x.y-y,D.name=M,D.parent=this.node,D.color=x.color,D.opacity=this._opacity,D.setSiblingIndex(b);var B=D.getComponent(cc.Label);B||(B=D.addComponent(cc.Label)),B.overflow=cc.Label.Overflow.SHRINK,B.lineHeight=x.height,B.string=x.text,B.horizontalAlign=x.halign,B.verticalAlign=x.valign,B.fontSize=x.pixelsize,D.width=x.width,D.height=x.height}if(C===r.IMAGE){var I=x.gid,P=i[(I&l)>>>0];if(!P)continue;var R=P.tileset,O="img"+x.id;g[O]=!0;var L=this.node.getChildByName(O),F=x.width||P.width,V=x.height||P.height,N=R.tileOffset.x,k=R.tileOffset.y;L instanceof cc.PrivateNode&&(L.removeFromParent(),L.destroy(),L=null),L||(L=new cc.Node),s.ISO==e.orientation?(L.anchorX=.5+N/F,L.anchorY=k/V):(L.anchorX=N/F,L.anchorY=k/V),L.active=x.visible,L.angle=-x.rotation,L.x=x.x-m,L.y=x.y-y,L.name=O,L.parent=this.node,L.opacity=this._opacity,L.setSiblingIndex(b);var z=L.getComponent(cc.Sprite);z||(z=L.addComponent(cc.Sprite));var G=z.spriteFrame;G||(G=new cc.SpriteFrame),(I&c)>>>0?G.setFlipX(!0):G.setFlipX(!1),(I&h)>>>0?G.setFlipY(!0):G.setFlipY(!1),G.setTexture(P.tileset.sourceImage,cc.rect(P)),z.spriteFrame=G,z.setVertsDirty(),L.width=F,L.height=V}}this._objects=v;for(var U=this.node.children,j=/^(?:img|text)\d+$/,H=0,W=U.length;H<W;H++){var X=U[H],Y=X._name;j.test(Y)&&!g[Y]&&X.destroy()}}});cc.TiledObjectGroup=e.exports=i}),{}],402:[(function(t,e){"use strict";var i=cc.Class({name:"cc.TiledTile",extends:cc.Component,editor:!1,ctor:function(){this._layer=null},properties:{_x:0,_y:0,x:{get:function(){return this._x},set:function(t){t!==this._x&&(this._layer&&this._layer._isInvalidPosition(t,this._y)?cc.warn("Invalid x, the valid value is between [%s] ~ [%s]",0,this._layer._layerSize.width):(this._resetTile(),this._x=t,this._updateInfo()))},type:cc.Integer},y:{get:function(){return this._y},set:function(t){t!==this._y&&(this._layer&&this._layer._isInvalidPosition(this._x,t)?cc.warn("Invalid y, the valid value is between [%s] ~ [%s]",0,this._layer._layerSize.height):(this._resetTile(),this._y=t,this._updateInfo()))},type:cc.Integer},gid:{get:function(){return this._layer?this._layer.getTileGIDAt(this._x,this._y):0},set:function(t){this._layer&&this._layer.setTileGIDAt(t,this._x,this._y)},type:cc.Integer}},onEnable:function(){var t=this.node.parent;this._layer=t.getComponent(cc.TiledLayer),this._resetTile(),this._updateInfo()},onDisable:function(){this._resetTile()},_resetTile:function(){this._layer&&this._layer.getTiledTileAt(this._x,this._y)===this&&this._layer.setTiledTileAt(this._x,this._y,null)},_updateInfo:function(){if(this._layer){var t=this._x,e=this._y;this._layer.getTiledTileAt(t,e)?cc.warn("There is already a TiledTile at [%s, %s]",t,e):(this.node.setPosition(this._layer.getPositionAt(t,e)),this._layer.setTiledTileAt(t,e,this))}}});cc.TiledTile=e.exports=i}),{}],403:[(function(t){"use strict";t("./CCTiledMap"),t("./CCTiledMapRenderDataList"),t("./tiledmap-buffer"),t("./tmx-layer-assembler")}),{"./CCTiledMap":398,"./CCTiledMapRenderDataList":400,"./tiledmap-buffer":404,"./tmx-layer-assembler":405}],404:[(function(t,e){"use strict";var i=cc.Class({name:"cc.TiledMapBuffer",extends:t("../core/renderer/webgl/quad-buffer"),_updateOffset:function(){var t=this._offsetInfo;t.vertexOffset=this.vertexOffset,t.indiceOffset=this.indiceOffset,t.byteOffset=this.byteOffset},adjust:function(t,e){this.vertexOffset+=t,this.indiceOffset+=e,this.indiceStart=this.indiceOffset,this.byteOffset=this.byteOffset+t*this._vertexBytes,this._dirty=!0}});cc.TiledMapBuffer=e.exports=i}),{"../core/renderer/webgl/quad-buffer":309}],405:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../core/renderer/assembler"))&&n.__esModule?n:{default:n},s=t("../core/value-types"),a=t("./CCTiledLayer"),o=t("./CCTiledMap"),l=o.TileFlag,c=l.FLIPPED_MASK,h=t("../core/renderer/"),u=t("../core/renderer/webgl/vertex-format").vfmtPosUvColor,_=parseInt(10922.5),f=o.RenderOrder,d=t("../core/renderer/render-flow"),p=cc.mat4(),m=cc.v3(),y={row:0,col:0},v={x:0,y:0},g={x:0,y:0},b={x:0,y:0},A={x:0,y:0},x=null,C=null,T=0,S=0,w=0,E=0,M=null,D=null,B=null,I=null,P=null,R=null,O=null,L=null;function F(t){t._updateLocalMatrix(),s.Mat4.mul(t._worldMatrix,M,t._matrix),t._renderFlag&=~(d.FLAG_TRANSFORM|d.FLAG_BREAK_FLOW),d.visitRootNode(t),t._renderFlag|=d.FLAG_BREAK_FLOW}function V(){0!==C._count&&(D.material=x.material,D.node=R.node,D._flushIA(x.ia),T>=_?(I.uploadData(),I.switchBuffer(),O=I._vData,L=I._uintVData,x=B.popRenderData(I),C=x.ia,S=0,T=0):(x=B.popRenderData(I),C=x.ia),x.material=P)}function N(t,e){var i=R._getNodesByRowCol(t,e);if(i&&0!=i.count){var n=i.list,r=0,s=0;for(V(),D.worldMatDirty++;r<i.count;){var a=n[s];s++,a&&(F(a.node),r!==s&&(n[r]=a,a._index=r),r++)}n.length=r,D.worldMatDirty--,B.pushNodesList(x,n),D._flush(),D.node=R.node}}function k(t,e){v.x=t.l,v.y=t.t,g.x=t.r,g.y=t.t,b.x=t.l,b.y=t.b,A.x=t.r,A.y=t.b;var i=null;(e&l.DIAGONAL)>>>0&&(i=g,g=b,b=i),(e&l.HORIZONTAL)>>>0&&(i=v,v=g,g=i,i=b,b=A,A=i),(e&l.VERTICAL)>>>0&&(i=v,v=b,b=i,i=g,g=A,A=i)}var z=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=n.prototype;return r.updateRenderData=function(t){t._renderDataList||(t._buffer=new cc.TiledMapBuffer(h._handle,u),t._renderDataList=new cc.TiledMapRenderDataList)},r.fillBuffers=function(t,e){if(0!==t._vertices.length){t._updateCulling();var i=t.node;if(w=t._leftDownToCenterX,E=t._leftDownToCenterY,M=i._worldMatrix,D=e,R=t,B=t._renderDataList,I=t._buffer,t._isCullingDirty()||t._isUserNodeDirty()||t._hasAnimation()||t._hasTiledNode()){var n,r;if(I.reset(),t._enableCulling){var s=t._cullingRect;n=s.leftDown,r=s.rightTop}else n=y,r=t._rightTop;var a=(r.row-n.row+1)*(r.col-n.col+1);switch(a>_&&(a=_),I.request(4*a,6*a),t._renderOrder){case f.RightDown:this.traverseGrids(n,r,-1,1);break;case f.LeftDown:this.traverseGrids(n,r,-1,-1);break;case f.RightUp:this.traverseGrids(n,r,1,1);break;case f.LeftUp:this.traverseGrids(n,r,1,-1)}t._setCullingDirty(!1),t._setUserNodeDirty(!1)}else for(var o=null,l=null,c=null,h=0;h<B._offset;h++){if((l=(o=B._dataList[h]).nodesRenderList).length>0){e.worldMatDirty++;for(var u=0;u<l.length;u++)if(c=l[u])for(var d=0;d<c.length;d++){var p=c[d];p&&F(p.node)}e.worldMatDirty--,e._flush()}o.ia._count>0&&(e.material=o.material,e.node=i,e._flushIA(o.ia))}x=null,C=null,M=null,D=null,B=null,I=null,P=null,R=null,O=null,L=null}},r.traverseGrids=function(t,e,i,n){if(B.reset(),!(e.row<0||e.col<0)){x=B.popRenderData(I),C=x.ia,O=I._vData,L=I._uintVData,T=0,S=0,P=null;var r=R.node,s=(r.parent?r.parent._opacity/255:1)*r._opacity;r._color._fastSetA(s);var a,o,l,h,u,f,d,p,m=r._color._val,y=R._tiledTiles,M=R._texGrids,F=R._tiles,z=R._texIdToMatIndex,G=R._materials,U=R._vertices,j=null,H=0,W=0,X=0,Y=0,q=0,J=null,Z=-1,K=0,Q=!0;for(-1==i?(h=e.row,u=t.row):(h=t.row,u=e.row);(u-h)*i>=0;h+=i)for(a=U[h],Q=0==(K=R._getNodesCountByRow(h))&&null!=a,1==n?(o=Q&&t.col<a.minCol?a.minCol:t.col,l=Q&&e.col>a.maxCol?a.maxCol:e.col):(o=Q&&e.col>a.maxCol?a.maxCol:e.col,l=Q&&t.col<a.minCol?a.minCol:t.col);(l-o)*n>=0;o+=n)(f=a&&a[o])?(j=M[((H=F[f.index])&c)>>>0])&&(Z!==j.texId&&(-1!==Z&&V(),p=z[Z=j.texId],P=G[p],x.material=P),P&&(W=f.left-w,X=f.bottom-E,Y=W+(d=j.tileset._tileSize).width,q=X+d.height,(J=y[f.index])?J.node.active&&(J.node._color._fastSetA(J.node._opacity*s/255),this.fillByTiledNode(J.node,O,L,W,Y,q,X)):(O[S]=W,O[S+1]=q,L[S+4]=m,O[S+5]=W,O[S+6]=X,L[S+9]=m,O[S+10]=Y,O[S+11]=q,L[S+14]=m,O[S+15]=Y,O[S+16]=X,L[S+19]=m),k(j,H),O[S+2]=v.x,O[S+3]=v.y,O[S+7]=b.x,O[S+8]=b.y,O[S+12]=g.x,O[S+13]=g.y,O[S+17]=A.x,O[S+18]=A.y,S+=20,I.adjust(4,6),C._count+=6,T++,K>0&&N(h,o),T>=_&&V())):K>0&&N(h,o);I.uploadData(),C._count>0&&(D.material=x.material,D.node=R.node,D._flushIA(x.ia))}},r.fillByTiledNode=function(t,e,i,n,r,a,o){t._updateLocalMatrix(),s.Mat4.copy(p,t._matrix),s.Vec3.set(m,-(n+w),-(o+E),0),s.Mat4.transform(p,p,m);var l=p.m,c=l[0],h=l[1],u=l[4],_=l[5],f=l[12],d=l[13],y=t._color._val;e[S]=n*c+a*u+f,e[S+1]=n*h+a*_+d,i[S+4]=y,e[S+5]=n*c+o*u+f,e[S+6]=n*h+o*_+d,i[S+9]=y,e[S+10]=r*c+a*u+f,e[S+11]=r*h+a*_+d,i[S+14]=y,e[S+15]=r*c+o*u+f,e[S+16]=r*h+o*_+d,i[S+19]=y},n})(r.default);i.default=z,r.default.register(a,z),e.exports=i.default}),{"../core/renderer/":270,"../core/renderer/assembler":267,"../core/renderer/render-flow":271,"../core/renderer/webgl/vertex-format":312,"../core/value-types":338,"./CCTiledLayer":397,"./CCTiledMap":398}],406:[(function(t,e){"use strict";var i=t("./video-player-impl"),n=i.EventType,r=cc.Enum({REMOTE:0,LOCAL:1}),s=cc.Class({name:"cc.VideoPlayer",extends:cc.Component,editor:!1,properties:{_resourceType:r.REMOTE,resourceType:{tooltip:!1,type:r,set:function(t){this._resourceType=t,this._updateVideoSource()},get:function(){return this._resourceType}},_remoteURL:"",remoteURL:{tooltip:!1,type:cc.String,set:function(t){this._remoteURL=t,this._updateVideoSource()},get:function(){return this._remoteURL}},_clip:{default:null,type:cc.Asset},clip:{tooltip:!1,get:function(){return this._clip},set:function(t){this._clip=t,this._updateVideoSource()},type:cc.Asset},currentTime:{tooltip:!1,type:cc.Float,set:function(t){this._impl&&this._impl.seekTo(t)},get:function(){return this._impl?this._currentStatus===n.NONE||this._currentStatus===n.STOPPED||this._currentStatus===n.META_LOADED||this._currentStatus===n.READY_TO_PLAY?0:this._currentStatus===n.COMPLETED?this._impl.duration():this._impl.currentTime():-1}},_volume:1,volume:{get:function(){return this._volume},set:function(t){this._volume=t,this.isPlaying()&&!this._mute&&this._syncVolume()},range:[0,1],type:cc.Float,tooltip:!1},_mute:!1,mute:{get:function(){return this._mute},set:function(t){this._mute=t,this._syncVolume()},tooltip:!1},keepAspectRatio:{tooltip:!1,default:!0,type:cc.Boolean,notify:function(){this._impl&&this._impl.setKeepAspectRatioEnabled(this.keepAspectRatio)}},_isFullscreen:{default:!1,formerlySerializedAs:"_N$isFullscreen"},isFullscreen:{get:function(){return this._isFullscreen=this._impl&&this._impl.isFullScreenEnabled(),this._isFullscreen},set:function(t){this._isFullscreen=t,this._impl&&this._impl.setFullScreenEnabled(t)},animatable:!1,tooltip:!1},_stayOnBottom:!1,stayOnBottom:{get:function(){return this._stayOnBottom},set:function(t){this._stayOnBottom=t,this._impl&&this._impl.setStayOnBottom(t)},animatable:!1,tooltip:!1},videoPlayerEvent:{default:[],type:cc.Component.EventHandler}},statics:{EventType:n,ResourceType:r,Impl:i},ctor:function(){this._impl=new i,this._currentStatus=n.NONE},_syncVolume:function(){var t=this._impl;if(t){var e=this._mute?0:this._volume;t.setVolume(e)}},_updateVideoSource:function(){var t="";this.resourceType===r.REMOTE?t=this.remoteURL:this._clip&&(t=this._clip.nativeUrl),this._impl.setURL(t,this._mute||0===this._volume),this._impl.setKeepAspectRatioEnabled(this.keepAspectRatio)},onLoad:function(){var t=this._impl;t&&(t.createDomElementIfNeeded(this._mute||0===this._volume),t.setStayOnBottom(this._stayOnBottom),this._updateVideoSource(),t.seekTo(this.currentTime),t.setFullScreenEnabled(this._isFullscreen),this.pause(),t.setEventListener(n.PLAYING,this.onPlaying.bind(this)),t.setEventListener(n.PAUSED,this.onPasued.bind(this)),t.setEventListener(n.STOPPED,this.onStopped.bind(this)),t.setEventListener(n.COMPLETED,this.onCompleted.bind(this)),t.setEventListener(n.META_LOADED,this.onMetaLoaded.bind(this)),t.setEventListener(n.CLICKED,this.onClicked.bind(this)),t.setEventListener(n.READY_TO_PLAY,this.onReadyToPlay.bind(this)))},onRestore:function(){this._impl||(this._impl=new i)},onEnable:function(){this._impl&&this._impl.enable()},onDisable:function(){this._impl&&this._impl.disable()},onDestroy:function(){this._impl&&(this._impl.destroy(),this._impl=null)},update:function(){this._impl&&this._impl.updateMatrix(this.node)},onReadyToPlay:function(){this._currentStatus=n.READY_TO_PLAY,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.READY_TO_PLAY),this.node.emit("ready-to-play",this)},onMetaLoaded:function(){this._currentStatus=n.META_LOADED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.META_LOADED),this.node.emit("meta-loaded",this)},onClicked:function(){this._currentStatus=n.CLICKED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.CLICKED),this.node.emit("clicked",this)},onPlaying:function(){this._currentStatus=n.PLAYING,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.PLAYING),this.node.emit("playing",this)},onPasued:function(){this._currentStatus=n.PAUSED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.PAUSED),this.node.emit("paused",this)},onStopped:function(){this._currentStatus=n.STOPPED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.STOPPED),this.node.emit("stopped",this)},onCompleted:function(){this._currentStatus=n.COMPLETED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.COMPLETED),this.node.emit("completed",this)},play:function(){this._impl&&(this._syncVolume(),this._impl.play())},resume:function(){this._impl&&(this._syncVolume(),this._impl.resume())},pause:function(){this._impl&&this._impl.pause()},stop:function(){this._impl&&this._impl.stop()},getDuration:function(){return this._impl?this._impl.duration():-1},isPlaying:function(){return!!this._impl&&this._impl.isPlaying()}});cc.VideoPlayer=e.exports=s}),{"./video-player-impl":407}],407:[(function(t,e){"use strict";var i=t("../core/platform/utils"),n=t("../core/platform/CCSys"),r=t("../core/platform/CCMacro"),s=1,a=4,o=cc.mat4(),l=cc.Class({name:"VideoPlayerImpl",ctor:function(){this._EventList={},this._video=null,this._url="",this._waitingFullscreen=!1,this._fullScreenEnabled=!1,this._stayOnBottom=!1,this._loadedmeta=!1,this._loaded=!1,this._visible=!1,this._playing=!1,this._ignorePause=!1,this._forceUpdate=!1,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0,this.__eventListeners={}},_bindEvent:function(){var t=this._video,e=this,i=this.__eventListeners;i.loadedmetadata=function(){e._loadedmeta=!0,e._forceUpdate=!0,e._waitingFullscreen&&(e._waitingFullscreen=!1,e._toggleFullscreen(!0)),e._dispatchEvent(l.EventType.META_LOADED)},i.ended=function(){e._video===t&&(e._playing=!1,e._dispatchEvent(l.EventType.COMPLETED))},i.play=function(){e._video===t&&(e._playing=!0,e._updateVisibility(),e._dispatchEvent(l.EventType.PLAYING))},i.pause=function(){e._video===t&&(e._playing=!1,e._ignorePause||e._dispatchEvent(l.EventType.PAUSED))},i.click=function(){e._dispatchEvent(l.EventType.CLICKED)},t.addEventListener("loadedmetadata",i.loadedmetadata),t.addEventListener("ended",i.ended),t.addEventListener("play",i.play),t.addEventListener("pause",i.pause),t.addEventListener("click",i.click),i.onCanPlay=function(){if(!e._loaded&&!e._playing){var t=e._video;t.readyState!==a&&t.readyState!==s||(t.currentTime=0,e._loaded=!0,e._forceUpdate=!0,e._dispatchEvent(l.EventType.READY_TO_PLAY),e._updateVisibility())}},t.addEventListener("canplay",i.onCanPlay),t.addEventListener("canplaythrough",i.onCanPlay),t.addEventListener("suspend",i.onCanPlay)},_updateVisibility:function(){var t=this._video;t&&(this._visible?t.style.visibility="visible":(t.style.visibility="hidden",t.pause(),this._playing=!1))},_updateSize:function(t,e){var i=this._video;i&&(i.style.width=t+"px",i.style.height=e+"px")},_createDom:function(t){var e=document.createElement("video");e.style.position="absolute",e.style.bottom="0px",e.style.left="0px",e.style["z-index"]=this._stayOnBottom?r.MIN_ZINDEX:0,e.className="cocosVideo",e.setAttribute("preload","auto"),e.setAttribute("webkit-playsinline",""),e.setAttribute("x5-playsinline",""),e.setAttribute("playsinline",""),t&&e.setAttribute("muted",""),this._video=e,cc.game.container.appendChild(e)},createDomElementIfNeeded:function(t){this._video||this._createDom(t)},removeDom:function(){var t=this._video;if(t){i.contains(cc.game.container,t)&&cc.game.container.removeChild(t);var e=this.__eventListeners;t.removeEventListener("loadedmetadata",e.loadedmetadata),t.removeEventListener("ended",e.ended),t.removeEventListener("play",e.play),t.removeEventListener("pause",e.pause),t.removeEventListener("click",e.click),t.removeEventListener("canplay",e.onCanPlay),t.removeEventListener("canplaythrough",e.onCanPlay),t.removeEventListener("suspend",e.onCanPlay),e.loadedmetadata=null,e.ended=null,e.play=null,e.pause=null,e.click=null,e.onCanPlay=null}this._video=null,this._url=""},setURL:function(t,e){var i,n;if(this._url!==t){this.removeDom(),this._url=t,this.createDomElementIfNeeded(e),this._bindEvent();var r=this._video;r.style.visibility="hidden",this._loaded=!1,this._playing=!1,this._loadedmeta=!1,(i=document.createElement("source")).src=t,r.appendChild(i),n=cc.path.extname(t);for(var s=l._polyfill,a=0;a<s.canPlayType.length;a++)n!==s.canPlayType[a]&&((i=document.createElement("source")).src=t.replace(n,s.canPlayType[a]),r.appendChild(i))}},getURL:function(){return this._url},play:function(){var t=this._video;t&&this._visible&&!this._playing&&t.play()},pause:function(){var t=this._video;this._playing&&t&&t.pause()},resume:function(){this.play()},stop:function(){var t=this._video;t&&this._visible&&(this._ignorePause=!0,t.currentTime=0,t.pause(),setTimeout(function(){this._dispatchEvent(l.EventType.STOPPED),this._ignorePause=!1}.bind(this),0))},setVolume:function(t){var e=this._video;e&&(e.volume=t)},seekTo:function(t){var e=this._video;e&&(this._loaded?e.currentTime=t:e.addEventListener(l._polyfill.event,(function i(){e.currentTime=t,e.removeEventListener(l._polyfill.event,i)})))},isPlaying:function(){return this._playing},duration:function(){var t=this._video,e=-1;return t?((e=t.duration)<=0&&cc.logID(7702),e):e},currentTime:function(){var t=this._video;return t?t.currentTime:-1},setKeepAspectRatioEnabled:function(){cc.logID(7700)},isKeepAspectRatioEnabled:function(){return!0},_toggleFullscreen:function(t){var e=this,i=this._video;i&&(t?(n.browserType===n.BROWSER_TYPE_IE&&(i.style.transform=""),cc.screen.requestFullScreen(i,(function(){var t=n.browserType===n.BROWSER_TYPE_IE?document.msFullscreenElement:document.fullscreenElement;e._fullScreenEnabled=t===i}),(function(){e._fullScreenEnabled=!1}))):cc.screen.fullScreen()&&cc.screen.exitFullScreen(i))},setStayOnBottom:function(t){this._stayOnBottom=t,this._video&&(this._video.style["z-index"]=t?r.MIN_ZINDEX:0)},setFullScreenEnabled:function(t){!this._loadedmeta&&t?this._waitingFullscreen=!0:this._toggleFullscreen(t)},isFullScreenEnabled:function(){return this._fullScreenEnabled},setEventListener:function(t,e){this._EventList[t]=e},removeEventListener:function(t){this._EventList[t]=null},_dispatchEvent:function(t){var e=this._EventList[t];e&&e.call(this,this,this._video.src)},onPlayEvent:function(){this._EventList[l.EventType.PLAYING].call(this,this,this._video.src)},enable:function(){var t=l.elements;-1===t.indexOf(this)&&t.push(this),this.setVisible(!0)},disable:function(){var t=l.elements,e=t.indexOf(this);-1!==e&&t.splice(e,1),this.setVisible(!1)},destroy:function(){this.disable(),this.removeDom()},setVisible:function(t){this._visible!==t&&(this._visible=!!t,this._updateVisibility())},updateMatrix:function(t){if(this._video&&this._visible&&!this._fullScreenEnabled){t.getWorldMatrix(o);var e=cc.Camera._findRendererCamera(t);e&&e.worldMatrixToScreen(o,o,cc.game.canvas.width,cc.game.canvas.height);var i=o.m;if(this._forceUpdate||this._m00!==i[0]||this._m01!==i[1]||this._m04!==i[4]||this._m05!==i[5]||this._m12!==i[12]||this._m13!==i[13]||this._w!==t._contentSize.width||this._h!==t._contentSize.height){this._m00=i[0],this._m01=i[1],this._m04=i[4],this._m05=i[5],this._m12=i[12],this._m13=i[13],this._w=t._contentSize.width,this._h=t._contentSize.height;var r,s,a=cc.view._devicePixelRatio,c=1/a,h=1/a,u=cc.game.container,_=i[0]*c,f=i[1],d=i[4],p=i[5]*h,m=u&&u.style.paddingLeft?parseInt(u.style.paddingLeft):0,y=u&&u.style.paddingBottom?parseInt(u.style.paddingBottom):0;l._polyfill.zoomInvalid?(this._updateSize(this._w*_,this._h*p),_=1,p=1,r=this._w*c,s=this._h*h):(r=this._w*c,s=this._h*h,this._updateSize(this._w,this._h));var v=r*i[0]*t._anchorPoint.x,g=s*i[5]*t._anchorPoint.y,b="matrix("+_+","+-f+","+-d+","+p+","+(i[12]*c-v+m)+","+-(i[13]*h-g+y)+")";this._video.style.transform=b,this._video.style["-webkit-transform"]=b,this._video.style["transform-origin"]="0px 100% 0px",this._video.style["-webkit-transform-origin"]="0px 100% 0px",n.browserType!==n.BROWSER_TYPE_IE&&(this._forceUpdate=!1)}}}});l.EventType={NONE:-1,PLAYING:0,PAUSED:1,STOPPED:2,COMPLETED:3,META_LOADED:4,CLICKED:5,READY_TO_PLAY:6},l.elements=[],l.pauseElements=[],cc.game.on(cc.game.EVENT_HIDE,(function(){for(var t,e=l.elements,i=0;i<e.length;i++)(t=e[i]).isPlaying()&&(t.pause(),l.pauseElements.push(t))})),cc.game.on(cc.game.EVENT_SHOW,(function(){for(var t=l.pauseElements,e=t.pop();e;)e.play(),e=t.pop()})),l._polyfill={devicePixelRatio:!1,event:"canplay",canPlayType:[]};var c=document.createElement("video");c.canPlayType&&(c.canPlayType("video/ogg")&&(l._polyfill.canPlayType.push(".ogg"),l._polyfill.canPlayType.push(".ogv")),c.canPlayType("video/mp4")&&l._polyfill.canPlayType.push(".mp4"),c.canPlayType("video/webm")&&l._polyfill.canPlayType.push(".webm")),n.OS_ANDROID!==n.os||n.browserType!==n.BROWSER_TYPE_SOUGOU&&n.browserType!==n.BROWSER_TYPE_360||(l._polyfill.zoomInvalid=!0);var h=document.createElement("style");h.innerHTML=".cocosVideo:-moz-full-screen{transform:matrix(1,0,0,1,0,0) !important;}.cocosVideo:full-screen{transform:matrix(1,0,0,1,0,0) !important;}.cocosVideo:-webkit-full-screen{transform:matrix(1,0,0,1,0,0) !important;}",document.head.appendChild(h),e.exports=l}),{"../core/platform/CCMacro":243,"../core/platform/CCSys":247,"../core/platform/utils":262}],408:[(function(t,e){"use strict";var i=t("./webview-impl"),n=i.EventType;function r(){}var s=cc.Class({name:"cc.WebView",extends:cc.Component,editor:!1,properties:{_url:"",url:{type:cc.String,tooltip:!1,get:function(){return this._url},set:function(t){this._url=t;var e=this._impl;e&&e.loadURL(t)}},webviewEvents:{default:[],type:cc.Component.EventHandler}},statics:{EventType:n,Impl:i},ctor:function(){this._impl=new s.Impl},onRestore:function(){this._impl||(this._impl=new s.Impl)},onEnable:function(){var t=this._impl;t.createDomElementIfNeeded(this.node.width,this.node.height),t.setEventListener(n.LOADED,this._onWebViewLoaded.bind(this)),t.setEventListener(n.LOADING,this._onWebViewLoading.bind(this)),t.setEventListener(n.ERROR,this._onWebViewLoadError.bind(this)),t.loadURL(this._url),t.setVisible(!0)},onDisable:function(){var t=this._impl;t.setVisible(!1),t.setEventListener(n.LOADED,r),t.setEventListener(n.LOADING,r),t.setEventListener(n.ERROR,r)},onDestroy:function(){this._impl&&(this._impl.destroy(),this._impl=null)},update:function(){this._impl&&this._impl.updateMatrix(this.node)},_onWebViewLoaded:function(){cc.Component.EventHandler.emitEvents(this.webviewEvents,this,n.LOADED),this.node.emit("loaded",this)},_onWebViewLoading:function(){return cc.Component.EventHandler.emitEvents(this.webviewEvents,this,n.LOADING),this.node.emit("loading",this),!0},_onWebViewLoadError:function(){cc.Component.EventHandler.emitEvents(this.webviewEvents,this,n.ERROR),this.node.emit("error",this)},setJavascriptInterfaceScheme:function(t){this._impl&&this._impl.setJavascriptInterfaceScheme(t)},setOnJSCallback:function(t){this._impl&&this._impl.setOnJSCallback(t)},evaluateJS:function(t){this._impl&&this._impl.evaluateJS(t)}});cc.WebView=e.exports=s}),{"./webview-impl":409}],409:[(function(t,e){"use strict";var i=t("../core/platform/utils"),n=t("../core/platform/CCSys"),r=cc.mat4(),s=cc.Class({name:"WebViewImpl",ctor:function(){this._EventList={},this._visible=!1,this._parent=null,this._div=null,this._iframe=null,this._listener=null,this._forceUpdate=!1,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0,this.__eventListeners={}},_updateVisibility:function(){if(this._div){var t=this._div;this._visible?t.style.visibility="visible":t.style.visibility="hidden"}},_updateSize:function(t,e){var i=this._div;i&&(i.style.width=t+"px",i.style.height=e+"px")},_initEvent:function(){var t=this._iframe;if(t){var e=this.__eventListeners,i=this;e.load=function(){i._forceUpdate=!0,i._dispatchEvent(s.EventType.LOADED)},e.error=function(){i._dispatchEvent(s.EventType.ERROR)},t.addEventListener("load",e.load),t.addEventListener("error",e.error)}},_initStyle:function(){if(this._div){var t=this._div;t.style.position="absolute",t.style.bottom="0px",t.style.left="0px"}},_setOpacity:function(t){var e=this._iframe;e&&e.style&&(e.style.opacity=t/255)},_createDom:function(t,e){s._polyfill.enableDiv?(this._div=document.createElement("div"),this._div.style["-webkit-overflow"]="auto",this._div.style["-webkit-overflow-scrolling"]="touch",this._iframe=document.createElement("iframe"),this._div.appendChild(this._iframe),this._iframe.style.width="100%",this._iframe.style.height="100%"):this._div=this._iframe=document.createElement("iframe"),s._polyfill.enableBG&&(this._div.style.background="#FFF"),this._div.style.height=e+"px",this._div.style.width=t+"px",this._div.style.overflow="scroll",this._iframe.style.border="none",cc.game.container.appendChild(this._div),this._updateVisibility()},_createNativeControl:function(t,e){this._createDom(t,e),this._initStyle(),this._initEvent()},createDomElementIfNeeded:function(t,e){this._div?this._updateSize(t,e):this._createNativeControl(t,e)},removeDom:function(){var t=this._div;t&&(i.contains(cc.game.container,t)&&cc.game.container.removeChild(t),this._div=null);var e=this._iframe;if(e){var n=this.__eventListeners;e.removeEventListener("load",n.load),e.removeEventListener("error",n.error),n.load=null,n.error=null,this._iframe=null}},setOnJSCallback:function(){},setJavascriptInterfaceScheme:function(){},loadData:function(){},loadHTMLString:function(){},loadURL:function(t){var e=this._iframe;if(e){e.src=t;var i=this;e.addEventListener("load",(function t(){i._loaded=!0,i._updateVisibility(),e.removeEventListener("load",t)})),this._dispatchEvent(s.EventType.LOADING)}},stopLoading:function(){cc.logID(7800)},reload:function(){var t=this._iframe;if(t){var e=t.contentWindow;e&&e.location&&e.location.reload()}},canGoBack:function(){return cc.logID(7801),!0},canGoForward:function(){return cc.logID(7802),!0},goBack:function(){try{if(s._polyfill.closeHistory)return cc.logID(7803);var t=this._iframe;if(t){var e=t.contentWindow;e&&e.location&&e.history.back.call(e)}}catch(i){cc.log(i)}},goForward:function(){try{if(s._polyfill.closeHistory)return cc.logID(7804);var t=this._iframe;if(t){var e=t.contentWindow;e&&e.location&&e.history.forward.call(e)}}catch(i){cc.log(i)}},evaluateJS:function(t){var e=this._iframe;if(e){var i=e.contentWindow;try{i.eval(t),this._dispatchEvent(s.EventType.JS_EVALUATED)}catch(n){console.error(n)}}},setScalesPageToFit:function(){cc.logID(7805)},setEventListener:function(t,e){this._EventList[t]=e},removeEventListener:function(t){this._EventList[t]=null},_dispatchEvent:function(t){var e=this._EventList[t];e&&e.call(this,this,this._iframe.src)},_createRenderCmd:function(){return new s.RenderCmd(this)},destroy:function(){this.removeDom()},setVisible:function(t){this._visible!==t&&(this._visible=!!t,this._updateVisibility())},updateMatrix:function(t){if(this._div&&this._visible){t.getWorldMatrix(r);var e=cc.Camera._findRendererCamera(t);e&&e.worldMatrixToScreen(r,r,cc.game.canvas.width,cc.game.canvas.height);var i=r.m;if(this._forceUpdate||this._m00!==i[0]||this._m01!==i[1]||this._m04!==i[4]||this._m05!==i[5]||this._m12!==i[12]||this._m13!==i[13]||this._w!==t._contentSize.width||this._h!==t._contentSize.height){this._m00=i[0],this._m01=i[1],this._m04=i[4],this._m05=i[5],this._m12=i[12],this._m13=i[13],this._w=t._contentSize.width,this._h=t._contentSize.height;var n=cc.view._devicePixelRatio,s=1/n,a=1/n,o=cc.game.container,l=i[0]*s,c=i[1],h=i[4],u=i[5]*a,_=o&&o.style.paddingLeft?parseInt(o.style.paddingLeft):0,f=o&&o.style.paddingBottom?parseInt(o.style.paddingBottom):0;this._updateSize(this._w,this._h);var d=this._w*s,p=this._h*a,m=d*i[0]*t._anchorPoint.x,y=p*i[5]*t._anchorPoint.y,v="matrix("+l+","+-c+","+-h+","+u+","+(i[12]*s-m+_)+","+-(i[13]*a-y+f)+")";this._div.style.transform=v,this._div.style["-webkit-transform"]=v,this._div.style["transform-origin"]="0px 100% 0px",this._div.style["-webkit-transform-origin"]="0px 100% 0px",this._setOpacity(t.opacity),this._forceUpdate=!1}}}});s.EventType={LOADING:0,LOADED:1,ERROR:2,JS_EVALUATED:3};var a=s._polyfill={devicePixelRatio:!1,enableDiv:!1};n.os===n.OS_IOS&&(a.enableDiv=!0),n.isMobile?n.browserType===n.BROWSER_TYPE_FIREFOX&&(a.enableBG=!0):n.browserType===n.BROWSER_TYPE_IE&&(a.closeHistory=!0),e.exports=s}),{"../core/platform/CCSys":247,"../core/platform/utils":262}],410:[(function(t){"use strict";t("./cocos2d/core"),t("./cocos2d/animation"),t("./cocos2d/particle"),t("./cocos2d/tilemap"),t("./cocos2d/videoplayer/CCVideoPlayer"),t("./cocos2d/webview/CCWebView"),t("./cocos2d/core/components/CCStudioComponent"),t("./extensions/ccpool/CCNodePool"),t("./cocos2d/actions"),t("./extensions/spine"),t("./extensions/dragonbones"),t("./cocos2d/deprecated")}),{"./cocos2d/actions":7,"./cocos2d/animation":16,"./cocos2d/core":205,"./cocos2d/core/components/CCStudioComponent":166,"./cocos2d/deprecated":350,"./cocos2d/particle":356,"./cocos2d/particle/CCParticleAsset":353,"./cocos2d/tilemap":403,"./cocos2d/tilemap/CCTiledMapAsset":399,"./cocos2d/videoplayer/CCVideoPlayer":406,"./cocos2d/webview/CCWebView":408,"./extensions/ccpool/CCNodePool":411,"./extensions/dragonbones":421,"./extensions/spine":426}],411:[(function(t,e){"use strict";cc.NodePool=function(t){this.poolHandlerComp=t,this._pool=[]},cc.NodePool.prototype={constructor:cc.NodePool,size:function(){return this._pool.length},clear:function(){for(var t=this._pool.length,e=0;e<t;++e)this._pool[e].destroy();this._pool.length=0},put:function(t){if(t&&-1===this._pool.indexOf(t)){t.removeFromParent(!1);var e=this.poolHandlerComp?t.getComponent(this.poolHandlerComp):null;e&&e.unuse&&e.unuse(),this._pool.push(t)}},get:function(){var t=this._pool.length-1;if(t<0)return null;var e=this._pool[t];this._pool.length=t;var i=this.poolHandlerComp?e.getComponent(this.poolHandlerComp):null;return i&&i.reuse&&i.reuse.apply(i,arguments),e}},e.exports=cc.NodePool}),{}],412:[(function(t,e){"use strict";var i,n,r=[],s=[],a=0,o=0,l=0,c=null,h=null,u=0,_=0,f=0,d=0,p=null,m=cc.Class({ctor:function(){this._privateMode=!1,this._inited=!1,this._invalid=!0,this._enableCacheAttachedInfo=!1,this.frames=[],this.totalTime=0,this.isCompleted=!1,this._frameIdx=-1,this._armatureInfo=null,this._animationName=null,this._tempSegments=null,this._tempColors=null,this._tempBoneInfos=null},init:function(t,e){this._inited=!0,this._armatureInfo=t,this._animationName=e},clear:function(){this._inited=!1;for(var t=0,e=this.frames.length;t<e;t++)this.frames[t].segments.length=0;this.invalidAllFrame()},begin:function(){if(this._invalid){var t=this._armatureInfo,e=t.curAnimationCache;e&&e!=this&&(this._privateMode?e.invalidAllFrame():e.updateToFrame()),t.armature.animation.play(this._animationName,1),t.curAnimationCache=this,this._invalid=!1,this._frameIdx=-1,this.totalTime=0,this.isCompleted=!1}},end:function(){this._needToUpdate()||(this._armatureInfo.curAnimationCache=null,this.frames.length=this._frameIdx+1,this.isCompleted=!0)},_needToUpdate:function(t){return!this._armatureInfo.armature.animation.isCompleted&&this.totalTime<30&&(null==t||this._frameIdx<t)},updateToFrame:function(t){if(this._inited&&(this.begin(),this._needToUpdate(t))){var e=this._armatureInfo.armature;do{e.advanceTime(1/60),this._frameIdx++,this._updateFrame(e,this._frameIdx),this.totalTime+=1/60}while(this._needToUpdate(t));this.end()}},isInited:function(){return this._inited},isInvalid:function(){return this._invalid},invalidAllFrame:function(){this.isCompleted=!1,this._invalid=!0},updateAllFrame:function(){this.invalidAllFrame(),this.updateToFrame()},enableCacheAttachedInfo:function(){this._enableCacheAttachedInfo||(this._enableCacheAttachedInfo=!0,this.invalidAllFrame())},_updateFrame:function(t,e){l=0,a=0,o=0,c=null,h=null,u=0,_=0,f=0,d=0,p=null,this.frames[e]=this.frames[e]||{segments:[],colors:[],boneInfos:[],vertices:null,uintVert:null,indices:null};var i=this.frames[e],n=this._tempSegments=i.segments,m=this._tempColors=i.colors,y=this._tempBoneInfos=i.boneInfos;this._traverseArmature(t,1),d>0&&(m[d-1].vfOffset=l),m.length=d,y.length=a;var v=f-1;if(v>=0)if(_>0){var g=n[v];g.indexCount=_,g.vfCount=5*u,g.vertexCount=u,n.length=f}else n.length=f-1;if(0!==n.length){var b=i.vertices,A=i.uintVert;(!b||b.length<l)&&(b=i.vertices=new Float32Array(l),A=i.uintVert=new Uint32Array(b.buffer));for(var x=0,C=0;x<l;)b[x++]=r[C++],b[x++]=r[C++],b[x++]=r[C++],b[x++]=r[C++],A[x++]=r[C++];var T=i.indices;(!T||T.length<o)&&(T=i.indices=new Uint16Array(o));for(var S=0;S<o;S++)T[S]=s[S];i.vertices=b,i.uintVert=A,i.indices=T}},_traverseArmature:function(t,e){var m,y,v,g,b,A,x,C,T,S=this._tempColors,w=this._tempSegments,E=this._tempBoneInfos,M=r,D=s,B=t._slots,I=t._bones;if(this._enableCacheAttachedInfo)for(var P=0,R=I.length;P<R;P++,a++){var O=I[P],L=E[a];L||(L=E[a]={globalTransformMatrix:new dragonBones.Matrix});var F=O.globalTransformMatrix;L.globalTransformMatrix.copyFrom(F)}for(var V=0,N=B.length;V<N;V++)if((v=B[V])._visible&&v._displayData)if(v.updateWorldMatrix(),b=v._color,v.childArmature)this._traverseArmature(v.childArmature,e*b.a/255);else if(x=v.getTexture()){c===x.nativeUrl&&h===v._blendMode||(c=x.nativeUrl,h=v._blendMode,(C=f-1)>=0&&(_>0?((T=w[C]).indexCount=_,T.vertexCount=u,T.vfCount=5*u):f--),w[f]={tex:x,blendMode:v._blendMode,indexCount:0,vertexCount:0,vfCount:0},f++,_=0,u=0),A=(b.a*e<<24>>>0)+(b.b<<16)+(b.g<<8)+b.r,p!==A&&(p=A,d>0&&(S[d-1].vfOffset=l),S[d++]={r:b.r,g:b.g,b:b.b,a:b.a*e,vfOffset:0}),m=v._localVertices,y=v._indices,g=v._worldMatrix.m;for(var k=0,z=m.length;k<z;)i=m[k++],n=m[k++],M[l++]=i*g[0]+n*g[4]+g[12],M[l++]=i*g[1]+n*g[5]+g[13],M[l++]=m[k++],M[l++]=m[k++],M[l++]=A;for(var G=0,U=y.length;G<U;G++)D[o++]=u+y[G];_+=y.length,u+=m.length/4}}}),y=cc.Class({ctor:function(){this._privateMode=!1,this._animationPool={},this._armatureCache={}},enablePrivateMode:function(){this._privateMode=!0},dispose:function(){for(var t in this._armatureCache){var e=this._armatureCache[t];if(e){var i=e.armature;i&&i.dispose()}}this._armatureCache=null,this._animationPool=null},_removeArmature:function(t){var e=this._armatureCache[t],i=e.animationsCache;for(var n in i){var r=i[n];r&&(this._animationPool[t+"#"+n]=r,r.clear())}var s=e.armature;s&&s.dispose(),delete this._armatureCache[t]},resetArmature:function(t){for(var e in this._armatureCache)-1!=e.indexOf(t)&&this._removeArmature(e)},getArmatureCache:function(t,e,i){var n,r=this._armatureCache[e];if(r)n=r.armature;else{var s=dragonBones.CCFactory.getInstance().buildArmatureDisplay(t,e,"",i);if(!s||!s._armature)return;if(n=s._armature,!y.canCache(n))return void n.dispose();this._armatureCache[e]={armature:n,animationsCache:{},curAnimationCache:null}}return n},getAnimationCache:function(t,e){var i=this._armatureCache[t];return i?i.animationsCache[e]:null},initAnimationCache:function(t,e){if(!e)return null;var i=this._armatureCache[t],n=i&&i.armature;if(!n)return null;if(!n.animation.hasAnimation(e))return null;var r=i.animationsCache,s=r[e];if(!s){var a=t+"#"+e;(s=this._animationPool[a])?delete this._animationPool[a]:(s=new m)._privateMode=this._privateMode,s.init(i,e),r[e]=s}return s},invalidAnimationCache:function(t){var e=this._armatureCache[t];if(!e||!e.armature)return null;var i=e.animationsCache;for(var n in i)i[n].invalidAllFrame()},updateAnimationCache:function(t,e){if(e){var i=this.initAnimationCache(t,e);if(!i)return;i.updateAllFrame()}else{var n=this._armatureCache[t];if(!n||!n.armature)return null;var r=n.animationsCache;for(var s in r)r[s].updateAllFrame()}}});y.FrameTime=1/60,y.sharedCache=new y,y.canCache=function(t){for(var e=t._slots,i=0,n=e.length;i<n;i++)if(e[i].childArmature)return!1;return!0},e.exports=y}),{}],413:[(function(t,e){"use strict";var i=t("../../cocos2d/core/components/CCRenderComponent"),n=t("../../cocos2d/core/event/event-target"),r=t("../../cocos2d/core/graphics/graphics"),s=t("../../cocos2d/core/renderer/render-flow").FLAG_POST_RENDER,a=t("./ArmatureCache"),o=t("./AttachUtil"),l=cc.Enum({default:-1}),c=cc.Enum({"<None>":0}),h=(cc.Enum({REALTIME:0}),cc.Enum({REALTIME:0,SHARED_CACHE:1,PRIVATE_CACHE:2})),u=cc.Class({name:"dragonBones.ArmatureDisplay",extends:i,editor:!1,statics:{AnimationCacheMode:h},properties:{_factory:{default:null,type:dragonBones.CCFactory,serializable:!1},dragonAsset:{default:null,type:dragonBones.DragonBonesAsset,notify:function(){this._refresh()},tooltip:!1},dragonAtlasAsset:{default:null,type:dragonBones.DragonBonesAtlasAsset,notify:function(){this._parseDragonAtlasAsset(),this._refresh()},tooltip:!1},_armatureName:"",armatureName:{get:function(){return this._armatureName},set:function(t){this._armatureName=t;var e=this.getAnimationNames(this._armatureName);(!this.animationName||e.indexOf(this.animationName)<0)&&(this.animationName=""),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.remove(this._armature),this._refresh(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.add(this._armature)},visible:!1},_animationName:"",animationName:{get:function(){return this._animationName},set:function(t){this._animationName=t},visible:!1},_defaultArmatureIndex:{default:0,notify:function(){var t="";if(this.dragonAsset){var e;if(this.dragonAsset&&(e=this.dragonAsset.getArmatureEnum()),!e)return cc.errorID(7400,this.name);t=e[this._defaultArmatureIndex]}void 0!==t?this.armatureName=t:cc.errorID(7401,this.name)},type:l,visible:!0,editorOnly:!0,animatable:!1,displayName:"Armature",tooltip:!1},_animationIndex:{default:0,notify:function(){var t;if(0!==this._animationIndex){if(this.dragonAsset&&(t=this.dragonAsset.getAnimsEnum(this.armatureName)),t){var e=t[this._animationIndex];void 0!==e?this.playAnimation(e,this.playTimes):cc.errorID(7402,this.name)}}else this.animationName=""},type:c,visible:!0,editorOnly:!0,animatable:!1,displayName:"Animation",tooltip:!1},_preCacheMode:-1,_cacheMode:h.REALTIME,_defaultCacheMode:{default:0,type:h,notify:function(){if(this._defaultCacheMode!==h.REALTIME&&this._armature&&!a.canCache(this._armature))return this._defaultCacheMode=h.REALTIME,void cc.warn("Animation cache mode doesn't support skeletal nesting");this.setAnimationCacheMode(this._defaultCacheMode)},editorOnly:!0,visible:!0,animatable:!1,displayName:"Animation Cache Mode",tooltip:!1},timeScale:{default:1,notify:function(){this._armature&&!this.isAnimationCached()&&(this._armature.animation.timeScale=this.timeScale)},tooltip:!1},playTimes:{default:-1,tooltip:!1},premultipliedAlpha:{default:!1,tooltip:!1},debugBones:{default:!1,notify:function(){this._updateDebugDraw()},tooltip:!1},enableBatch:{default:!1,notify:function(){this._updateBatch()},tooltip:!1},_armatureKey:"",_accTime:0,_playCount:0,_frameCache:null,_curFrame:null,_playing:!1,_armatureCache:null},ctor:function(){this._eventTarget=new n,this._materialCache={},this._inited=!1,this.attachUtil=new o,this._factory=dragonBones.CCFactory.getInstance()},onLoad:function(){for(var t=this.node.children,e=0,i=t.length;e<i;e++){var n=t[e];0===(n._name&&n._name.search("CHILD_ARMATURE-"))&&n.destroy()}},_updateBatch:function(){var t=this.getMaterial(0);t&&t.define("CC_USE_MODEL",!this.enableBatch),this._materialCache={}},_updateMaterial:function(){var t=this.getMaterial(0);if(t){t.define("CC_USE_MODEL",!this.enableBatch),t.define("USE_TEXTURE",!0);var e=this.premultipliedAlpha?cc.gfx.BLEND_ONE:cc.gfx.BLEND_SRC_ALPHA,i=cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;t.setBlend(!0,cc.gfx.BLEND_FUNC_ADD,e,e,cc.gfx.BLEND_FUNC_ADD,i,i)}this._materialCache={}},disableRender:function(){this._super(),this.node._renderFlag&=~s},markForRender:function(t){this._super(t),t?this.node._renderFlag|=s:this.node._renderFlag&=~s},_validateRender:function(){var t=this.dragonAtlasAsset&&this.dragonAtlasAsset.texture;t&&t.loaded?this._super():this.disableRender()},__preload:function(){this._init()},_init:function(){if(!this._inited){this._inited=!0,this._resetAssembler(),this._activateMaterial(),this._parseDragonAtlasAsset(),this._refresh();for(var t=this.node.children,e=0,i=t.length;e<i;e++){var n=t[e];n&&"DEBUG_DRAW_NODE"===n._name&&n.destroy()}this._updateDebugDraw()}},getArmatureKey:function(){return this._armatureKey},setAnimationCacheMode:function(t){this._preCacheMode!==t&&(this._cacheMode=t,this._buildArmature(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.add(this._armature))},isAnimationCached:function(){return this._cacheMode!==h.REALTIME},onEnable:function(){this._super(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.add(this._armature)},onDisable:function(){this._super(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.remove(this._armature)},_emitCacheCompleteEvent:function(){this._eventTarget.emit(dragonBones.EventObject.LOOP_COMPLETE),this._eventTarget.emit(dragonBones.EventObject.COMPLETE)},update:function(t){if(this.isAnimationCached()&&this._frameCache){var e=this._frameCache;if(e.isInited()){var i=e.frames;if(this._playing){var n=a.FrameTime;0==this._accTime&&0==this._playCount&&this._eventTarget.emit(dragonBones.EventObject.START);var r=dragonBones.timeScale;this._accTime+=t*this.timeScale*r;var s=Math.floor(this._accTime/n);if(e.isCompleted||e.updateToFrame(s),e.isCompleted&&s>=i.length){if(this._playCount++,this.playTimes>0&&this._playCount>=this.playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playing=!1,this._playCount=0,void this._emitCacheCompleteEvent();this._accTime=0,s=0,this._emitCacheCompleteEvent()}this._curFrame=i[s]}else e.isInvalid()&&(e.updateToFrame(),this._curFrame=i[i.length-1])}}},onDestroy:function(){this._super(),this._inited=!1,this._cacheMode===h.PRIVATE_CACHE?(this._armatureCache.dispose(),this._armatureCache=null,this._armature=null):this._cacheMode===h.SHARED_CACHE?(this._armatureCache=null,this._armature=null):this._armature&&(this._armature.dispose(),this._armature=null)},_updateDebugDraw:function(){if(this.debugBones){if(!this._debugDraw){var t=new cc.PrivateNode;t.name="DEBUG_DRAW_NODE";var e=t.addComponent(r);e.lineWidth=1,e.strokeColor=cc.color(255,0,0,255),this._debugDraw=e}this._debugDraw.node.parent=this.node}else this._debugDraw&&(this._debugDraw.node.parent=null)},_buildArmature:function(){if(this.dragonAsset&&this.dragonAtlasAsset&&this.armatureName){this._armature&&(this._preCacheMode===h.PRIVATE_CACHE?this._armatureCache.dispose():this._preCacheMode===h.REALTIME&&this._armature.dispose(),this._armatureCache=null,this._armature=null,this._displayProxy=null,this._frameCache=null,this._curFrame=null,this._playing=!1,this._preCacheMode=null),this._cacheMode===h.SHARED_CACHE?this._armatureCache=a.sharedCache:this._cacheMode===h.PRIVATE_CACHE&&(this._armatureCache=new a,this._armatureCache.enablePrivateMode());var t=this.dragonAtlasAsset._uuid;if(this._armatureKey=this.dragonAsset.init(this._factory,t),this.isAnimationCached()&&(this._armature=this._armatureCache.getArmatureCache(this.armatureName,this._armatureKey,t),this._armature||(this._cacheMode=h.REALTIME)),this._preCacheMode=this._cacheMode,this._cacheMode===h.REALTIME){if(this._displayProxy=this._factory.buildArmatureDisplay(this.armatureName,this._armatureKey,"",t),!this._displayProxy)return;this._displayProxy._ccNode=this.node,this._displayProxy.setEventTarget(this._eventTarget),this._armature=this._displayProxy._armature,this._armature.animation.timeScale=this.timeScale}if(this._cacheMode!==h.REALTIME&&this.debugBones&&cc.warn("Debug bones is invalid in cached mode"),this._armature){var e=this._armature.armatureData.aabb;this.node.setContentSize(e.width,e.height)}this._updateBatch(),this.attachUtil.init(this),this.attachUtil._associateAttachedNode(),this.animationName&&this.playAnimation(this.animationName,this.playTimes),this.markForRender(!0)}},_parseDragonAtlasAsset:function(){this.dragonAtlasAsset&&this.dragonAtlasAsset.init(this._factory)},_refresh:function(){this._buildArmature()},_updateCacheModeEnum:!1,_updateAnimEnum:!1,_updateArmatureEnum:!1,playAnimation:function(t,e){if(this.playTimes=void 0===e?-1:e,this.animationName=t,this.isAnimationCached()){var i=this._armatureCache.getAnimationCache(this._armatureKey,t);i||(i=this._armatureCache.initAnimationCache(this._armatureKey,t)),i&&(this._accTime=0,this._playCount=0,this._frameCache=i,this.attachUtil._hasAttachedNode()&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._playing=!0,this._curFrame=this._frameCache.frames[0])}else if(this._armature)return this._armature.animation.play(t,this.playTimes)},updateAnimationCache:function(t){this.isAnimationCached()&&this._armatureCache.updateAnimationCache(this._armatureKey,t)},invalidAnimationCache:function(){this.isAnimationCached()&&this._armatureCache.invalidAnimationCache(this._armatureKey)},getArmatureNames:function(){var t=this._factory.getDragonBonesData(this._armatureKey);return t&&t.armatureNames||[]},getAnimationNames:function(t){var e=[],i=this._factory.getDragonBonesData(this._armatureKey);if(i){var n=i.getArmature(t);if(n)for(var r in n.animations)n.animations.hasOwnProperty(r)&&e.push(r)}return e},on:function(t,e,i){this.addEventListener(t,e,i)},off:function(t,e,i){this.removeEventListener(t,e,i)},once:function(t,e,i){this._eventTarget.once(t,e,i)},addEventListener:function(t,e,i){this._eventTarget.on(t,e,i)},removeEventListener:function(t,e,i){this._eventTarget.off(t,e,i)},buildArmature:function(t,e){return this._factory.createArmatureNode(this,t,e)},armature:function(){return this._armature}});e.exports=dragonBones.ArmatureDisplay=u}),{"../../cocos2d/core/components/CCRenderComponent":159,"../../cocos2d/core/event/event-target":185,"../../cocos2d/core/graphics/graphics":201,"../../cocos2d/core/renderer/render-flow":271,"./ArmatureCache":412,"./AttachUtil":414}],414:[(function(t,e){"use strict";var i,n=(i=t("../../cocos2d/core/value-types/mat4"))&&i.__esModule?i:{default:i},r=t("../../cocos2d/core/renderer/render-flow").FLAG_TRANSFORM,s=function(){},a=function(t){Object.defineProperty(t,"_worldMatDirty",{get:function(){return!0},set:function(){}}),t._calculWorldMatrix=s,t._mulMat=s},o=new n.default,l=cc.Class({name:"dragonBones.AttachUtil",ctor:function(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null,this._attachedRootNode=null,this._attachedNodeArray=[],this._boneIndexToNode={}},init:function(t){this._inited=!0,this._armature=t._armature,this._armatureNode=t.node,this._armatureDisplay=t},reset:function(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null},_prepareAttachNode:function(){if(this._armature){var t=this._armatureNode.getChildByName("ATTACHED_NODE_TREE");return t&&t.isValid||(t=new cc.Node("ATTACHED_NODE_TREE"),a(t),this._armatureNode.addChild(t)),this._armatureDisplay.isAnimationCached()&&this._armatureDisplay._frameCache&&this._armatureDisplay._frameCache.enableCacheAttachedInfo(),this._attachedRootNode=t,t}},_buildBoneAttachedNode:function(t,e){var i="ATTACHED_NODE:"+t.name,n=new cc.Node(i);return this._buildBoneRelation(n,t,e),n},_buildBoneRelation:function(t,e,i){a(t),t._bone=e,t._boneIndex=i,this._attachedNodeArray.push(t),this._boneIndexToNode[i]=t},getAttachedRootNode:function(){return this._attachedRootNode},getAttachedNodes:function(t){var e=this._attachedNodeArray,i=[];if(!this._inited)return i;for(var n=0,r=e.length;n<r;n++){var s=e[n];s&&s.isValid&&s.name==="ATTACHED_NODE:"+t&&i.push(s)}return i},_rebuildNodeArray:function(){for(var t=this._boneIndexToNode={},e=this._attachedNodeArray,i=this._attachedNodeArray=[],n=0,r=e.length;n<r;n++){var s=e[n];s&&s.isValid&&!s._toRemove&&(i.push(s),t[s._boneIndex]=s)}},_sortNodeArray:function(){this._attachedNodeArray.sort((function(t,e){return t._boneIndex<e._boneIndex?-1:1}))},_getNodeByBoneIndex:function(t){var e=this._boneIndexToNode[t];return e&&e.isValid?e:null},destroyAttachedNodes:function(t){if(this._inited){for(var e=this._attachedNodeArray,i=function t(e){for(var i=e.children,n=0,r=i.length;n<r;n++){var s=i[n];s&&t(s)}e._toRemove=!0},n=0,r=e.length;n<r;n++){var s=e[n];s&&s.isValid&&s.name.split("ATTACHED_NODE:")[1]===t&&(i(s),s.removeFromParent(!0),s.destroy(),e[n]=null)}this._rebuildNodeArray()}},generateAttachedNodes:function(t){var e=[];if(!this._inited)return e;var i=this._prepareAttachNode();if(!i)return e;var n=0,r=[],s=function(e){if(e){for(var i,a=e.getBones(),o=0,l=a.length;o<l;o++)(i=a[o])._boneIndex=n++,t===i.name&&r.push(i);for(var c,h=e.getSlots(),u=0,_=h.length;u<_;u++)(c=h[u]).childArmature&&s(c.childArmature)}}.bind(this);s(this._armature);for(var a=function(t){if(t){var e=this._getNodeByBoneIndex(t._boneIndex);if(e)return e;e=this._buildBoneAttachedNode(t,t._boneIndex);var n=null;t.armature.parent&&(n=t.armature.parent.parent);var r=a(t.parent||n)||i;return e.parent=r,t.parent?e._rootNode=r._rootNode:e._rootNode=r,e}}.bind(this),o=0,l=r.length;o<l;o++){var c=a(r[o]);c&&e.push(c)}return this._sortNodeArray(),e},destroyAllAttachedNodes:function(){if(this._attachedRootNode=null,this._attachedNodeArray.length=0,this._boneIndexToNode={},this._inited){var t=this._armatureNode.getChildByName("ATTACHED_NODE_TREE");t&&(t.removeFromParent(!0),t.destroy(),t=null)}},generateAllAttachedNodes:function(){if(this._inited){this._boneIndexToNode={},this._attachedNodeArray.length=0;var t=this._prepareAttachNode();if(t){var e=0,i=function(n){if(n){var r=t;n.parent&&(r=n.parent.parent._attachedNode);for(var s,a=n.getBones(),o=0,l=a.length;o<l;o++){var c=e++;(s=a[o])._attachedNode=null;var h=null;if(h=s.parent?s.parent._attachedNode:r){var u=h.getChildByName("ATTACHED_NODE:"+s.name);u&&u.isValid?this._buildBoneRelation(u,s,c):(u=this._buildBoneAttachedNode(s,c),h.addChild(u)),u._rootNode=r,s._attachedNode=u}}for(var _,f=n.getSlots(),d=0,p=f.length;d<p;d++)(_=f[d]).childArmature&&i(_.childArmature)}}.bind(this);return i(this._armature),t}}},_hasAttachedNode:function(){return!!this._inited&&!!this._armatureNode.getChildByName("ATTACHED_NODE_TREE")},_associateAttachedNode:function(){if(this._inited){var t=this._armatureNode.getChildByName("ATTACHED_NODE_TREE");if(t&&t.isValid){this._attachedRootNode=t,this._boneIndexToNode={},this._attachedNodeArray.length=0;var e=this._armature;if(e){a(t),this._armatureDisplay.isAnimationCached()&&this._armatureDisplay._frameCache&&this._armatureDisplay._frameCache.enableCacheAttachedInfo();var i=0,n=function(e){if(e){var r=t;e.parent&&(r=e.parent.parent._attachedNode);for(var s,a=e.getBones(),o=0,l=a.length;o<l;o++){var c=i++;(s=a[o])._attachedNode=null;var h=null;if(h=s.parent?s.parent._attachedNode:r){var u=h.getChildByName("ATTACHED_NODE:"+s.name);u&&u.isValid&&(this._buildBoneRelation(u,s,c),u._rootNode=r,s._attachedNode=u)}}for(var _,f=e.getSlots(),d=0,p=f.length;d<p;d++)(_=f[d]).childArmature&&n(_.childArmature)}}.bind(this);n(e)}}}},_syncAttachedNode:function(){if(this._inited){var t=this._attachedRootNode,e=this._attachedNodeArray;if(!t||!t.isValid)return this._attachedRootNode=null,void(e.length=0);var i=this._armatureNode._worldMatrix;n.default.copy(t._worldMatrix,i),t._renderFlag&=~r;var s=null,a=this._armatureDisplay.isAnimationCached();if(!a||(s=this._armatureDisplay._curFrame&&this._armatureDisplay._curFrame.boneInfos)){for(var l,c,h,u,_=this._armatureNode._mulMat,f=!1,d=0,p=e.length;d<p;d++){var m=e[d];if(m&&m.isValid){var y=a?s[m._boneIndex]:m._bone;y&&!y._isInPool?(l=m._worldMatrix,c=m._rootNode._worldMatrix,h=y.globalTransformMatrix,u=void 0,(u=o.m)[0]=h.a,u[1]=h.b,u[4]=-h.c,u[5]=-h.d,u[12]=h.tx,u[13]=h.ty,_(l,c,o),m._renderFlag&=~r):(m.removeFromParent(!0),m.destroy(),e[d]=null,f=!0)}else e[d]=null,f=!0}f&&this._rebuildNodeArray()}}}});e.exports=dragonBones.AttachUtil=l}),{"../../cocos2d/core/renderer/render-flow":271,"../../cocos2d/core/value-types/mat4":340}],415:[(function(t){"use strict";var e=t("../../cocos2d/core/event/event-target");dragonBones.CCArmatureDisplay=cc.Class({name:"dragonBones.CCArmatureDisplay",properties:{node:{get:function(){return this}}},ctor:function(){this._eventTarget=new e},setEventTarget:function(t){this._eventTarget=t},getRootDisplay:function(){var t,e=this._armature._parent;if(!e)return this;for(;e;)t=e,e=e._armature._parent;return t._armature.getDisplay()},convertToRootSpace:function(t){var e=this._armature._parent;if(!e)return t;e.updateWorldMatrix();var i=e._worldMatrix.m,n=cc.v2(0,0);return n.x=t.x*i[0]+t.y*i[4]+i[12],n.y=t.x*i[1]+t.y*i[5]+i[13],n},convertToWorldSpace:function(t){var e=this.convertToRootSpace(t);return this.getRootNode().convertToWorldSpaceAR(e)},getRootNode:function(){var t=this.getRootDisplay();return t&&t._ccNode},dbInit:function(t){this._armature=t},dbClear:function(){this._armature=null},dbUpdate:function(){},advanceTimeBySelf:function(t){this.shouldAdvanced=!!t},hasDBEventListener:function(t){return this._eventTarget.hasEventListener(t)},addDBEventListener:function(t,e,i){this._eventTarget.on(t,e,i)},removeDBEventListener:function(t,e,i){this._eventTarget.off(t,e,i)},dispatchDBEvent:function(t,e){this._eventTarget.emit(t,e)}})}),{"../../cocos2d/core/event/event-target":185}],416:[(function(){"use strict";var t=dragonBones.BaseObject,e=dragonBones.BaseFactory,i=dragonBones.CCFactory=cc.Class({name:"dragonBones.CCFactory",extends:e,statics:{_factory:null,getInstance:function(){return i._factory||(i._factory=new i),i._factory}},ctor:function(){var t=new dragonBones.CCArmatureDisplay;this._dragonBones=new dragonBones.DragonBones(t),cc.director._scheduler&&(cc.game.on(cc.game.EVENT_RESTART,this.initUpdate,this),this.initUpdate())},initUpdate:function(){cc.director._scheduler.enableForTarget(this),cc.director._scheduler.scheduleUpdate(this,cc.Scheduler.PRIORITY_SYSTEM,!1)},update:function(t){this._dragonBones.advanceTime(t)},getDragonBonesDataByRawData:function(t){return(t instanceof ArrayBuffer?e._binaryParser:this._dataParser).parseDragonBonesData(t,1)},buildArmatureDisplay:function(t,e,i,n){var r=this.buildArmature(t,e,i,n);return r&&r._display},createArmatureNode:function(t,e,i){var n=(i=i||new cc.Node).getComponent(dragonBones.ArmatureDisplay);return n||(n=i.addComponent(dragonBones.ArmatureDisplay)),i.name=e,n._armatureName=e,n._N$dragonAsset=t.dragonAsset,n._N$dragonAtlasAsset=t.dragonAtlasAsset,n._init(),n},_buildTextureAtlasData:function(e,i){return e?e.renderTexture=i:e=t.borrowObject(dragonBones.CCTextureAtlasData),e},_sortSlots:function(){for(var t=this._slots,e=[],i=0,n=t.length;i<n;i++){for(var r=t[i],s=r._zOrder,a=!1,o=e.length-1;o>=0;o--)if(s>=e[o]._zOrder){e.splice(o+1,0,r),a=!0;break}a||e.splice(0,0,r)}this._slots=e},_buildArmature:function(e){var i=t.borrowObject(dragonBones.Armature);i._skinData=e.skin,i._animation=t.borrowObject(dragonBones.Animation),i._animation._armature=i,i._animation.animations=e.armature.animations,i._isChildArmature=!1;var n=new dragonBones.CCArmatureDisplay;return i.init(e.armature,n,n,this._dragonBones),i},_buildSlot:function(e,i,n){var r=t.borrowObject(dragonBones.CCSlot),s=r;return r.init(i,n,s,s),r},getDragonBonesDataByUUID:function(t){for(var e in this._dragonBonesDataMap)if(-1!=e.indexOf(t))return this._dragonBonesDataMap[e];return null},removeDragonBonesDataByUUID:function(t,e){for(var i in void 0===e&&(e=!0),this._dragonBonesDataMap)-1!==i.indexOf(t)&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[i]),delete this._dragonBonesDataMap[i])}})}),{}],417:[(function(t){"use strict";var e,i=(e=t("../../cocos2d/core/value-types/mat4"))&&e.__esModule?e:{default:e},n=dragonBones.BinaryOffset,r=dragonBones.BoneType;dragonBones.CCSlot=cc.Class({name:"dragonBones.CCSlot",extends:dragonBones.Slot,ctor:function(){this._localVertices=[],this._indices=[],this._matrix=cc.mat4(),this._worldMatrix=cc.mat4(),this._worldMatrixDirty=!0,this._visible=!1,this._color=cc.color()},_onClear:function(){this._super(),this._localVertices.length=0,this._indices.length=0,i.default.identity(this._matrix),i.default.identity(this._worldMatrix),this._worldMatrixDirty=!0,this._color=cc.color(),this._visible=!1},statics:{toString:function(){return"[class dragonBones.CCSlot]"}},_onUpdateDisplay:function(){},_initDisplay:function(){},_addDisplay:function(){this._visible=!0},_replaceDisplay:function(){},_removeDisplay:function(){this._visible=!1},_disposeDisplay:function(){},_updateVisible:function(){this._visible=this.parent._visible},_updateZOrder:function(){},_updateBlendMode:function(){if(this._childArmature)for(var t=this._childArmature.getSlots(),e=0,i=t.length;e<i;e++){var n=t[e];n._blendMode=this._blendMode,n._updateBlendMode()}},_updateColor:function(){var t=this._color;t.r=255*this._colorTransform.redMultiplier,t.g=255*this._colorTransform.greenMultiplier,t.b=255*this._colorTransform.blueMultiplier,t.a=255*this._colorTransform.alphaMultiplier},getTexture:function(){return this._textureData&&this._textureData.spriteFrame&&this._textureData.spriteFrame.getTexture()},_updateFrame:function(){this._indices.length=0;var t=this._indices,e=this._localVertices,i=0,r=0,s=this._textureData;if(this._display&&!(this._displayIndex<0)&&s&&s.spriteFrame){var a=s.spriteFrame.getTexture(),o=a.width,l=a.height,c=s.region,h=null!==this._deformVertices&&this._display===this._meshDisplay?this._deformVertices.verticesData:null;if(h){var u=h.data,_=u.intArray,f=u.floatArray,d=_[h.offset+n.MeshVertexCount],p=_[h.offset+n.MeshTriangleCount],m=_[h.offset+n.MeshFloatOffset];m<0&&(m+=65536);for(var y=m+2*d,v=this._armature._armatureData.scale,g=0,b=2*d;g<b;g+=2)e[r++]=f[m+g]*v,e[r++]=-f[m+g+1]*v,h.rotated?(e[r++]=(c.x+(1-f[y+g])*c.width)/o,e[r++]=(c.y+f[y+g+1]*c.height)/l):(e[r++]=(c.x+f[y+g]*c.width)/o,e[r++]=(c.y+f[y+g+1]*c.height)/l);for(var A=0;A<3*p;++A)t[i++]=_[h.offset+n.MeshVertexIndices+A];e.length=r,t.length=i,h.weight&&this._identityTransform()}else{var x=c.x/o,C=(c.y+c.height)/l,T=(c.x+c.width)/o,S=c.y/l;e[r++]=0,e[r++]=0,e[r++]=x,e[r++]=C,e[r++]=c.width,e[r++]=0,e[r++]=T,e[r++]=C,e[r++]=0,e[r++]=c.height,e[r++]=x,e[r++]=S,e[r++]=c.width,e[r++]=c.height,e[r++]=T,e[r++]=S,t[0]=0,t[1]=1,t[2]=2,t[3]=1,t[4]=3,t[5]=2,e.length=r,t.length=6}this._visibleDirty=!0,this._blendModeDirty=!0,this._colorDirty=!0}},_updateMesh:function(){var t=this._armature._armatureData.scale,e=this._deformVertices.vertices,i=this._deformVertices.bones,s=this._deformVertices.verticesData,a=s.weight,o=e.length>0&&s.inheritDeform,l=this._localVertices;if(a){var c=s.data,h=c.intArray,u=c.floatArray,_=h[s.offset+n.MeshVertexCount],f=h[a.offset+n.WeigthFloatOffset];f<0&&(f+=65536);for(var d=0,p=a.offset+n.WeigthBoneIndices+i.length,m=f,y=0,v=0;d<_;d++,v+=4){for(var g=h[p++],b=0,A=0,x=0;x<g;++x){var C=i[h[p++]];if(null!==C){var T=C.globalTransformMatrix,S=u[m++],w=u[m++]*t,E=u[m++]*t;o&&(w+=e[y++],E+=e[y++]),b+=(T.a*w+T.c*E+T.tx)*S,A+=(T.b*w+T.d*E+T.ty)*S}}l[v]=b,l[v+1]=-A}}else if(o){var M=this._parent._boneData.type!==r.Bone,D=s.data,B=D.intArray,I=D.floatArray,P=B[s.offset+n.MeshVertexCount],R=B[s.offset+n.MeshFloatOffset];R<0&&(R+=65536);for(var O=0,L=P,F=0;O<L;O++,F+=4){var V=I[R+2*O]*t+e[2*O],N=I[R+2*O+1]*t+e[2*O+1];if(M){var k=this._parent._getGlobalTransformMatrix(V,N);l[F]=k.a*V+k.c*N+k.tx,l[F+1]=-k.b*V+k.d*N+k.ty}else l[F]=V,l[F+1]=-N}}a&&this._identityTransform()},_identityTransform:function(){var t=this._matrix.m;t[0]=1,t[1]=0,t[4]=-0,t[5]=-1,t[12]=0,t[13]=0,this._worldMatrixDirty=!0},_updateTransform:function(){var t=this._matrix.m;t[0]=this.globalTransformMatrix.a,t[1]=this.globalTransformMatrix.b,t[4]=-this.globalTransformMatrix.c,t[5]=-this.globalTransformMatrix.d,this._childArmature?(t[12]=this.globalTransformMatrix.tx,t[13]=this.globalTransformMatrix.ty):(t[12]=this.globalTransformMatrix.tx-(this.globalTransformMatrix.a*this._pivotX-this.globalTransformMatrix.c*this._pivotY),t[13]=this.globalTransformMatrix.ty-(this.globalTransformMatrix.b*this._pivotX-this.globalTransformMatrix.d*this._pivotY)),this._worldMatrixDirty=!0},updateWorldMatrix:function(){if(this._armature){var t=this._armature._parent;if(t&&t.updateWorldMatrix(),this._worldMatrixDirty){this.calculWorldMatrix();var e=this.childArmature;if(!e)return;for(var i=e.getSlots(),n=0,r=i.length;n<r;n++){var s=i[n];s&&(s._worldMatrixDirty=!0)}}}},_mulMat:function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],l=n[4],c=n[5],h=n[12],u=n[13],_=r[0],f=r[1],d=r[4],p=r[5],m=r[12],y=r[13];0!==o||0!==l?(s[0]=_*a+f*l,s[1]=_*o+f*c,s[4]=d*a+p*l,s[5]=d*o+p*c,s[12]=a*m+l*y+h,s[13]=o*m+c*y+u):(s[0]=_*a,s[1]=f*c,s[4]=d*a,s[5]=p*c,s[12]=a*m+h,s[13]=c*y+u)},calculWorldMatrix:function(){var t=this._armature._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):i.default.copy(this._worldMatrix,this._matrix),this._worldMatrixDirty=!1}})}),{"../../cocos2d/core/value-types/mat4":340}],418:[(function(){"use strict";dragonBones.CCTextureAtlasData=cc.Class({extends:dragonBones.TextureAtlasData,name:"dragonBones.CCTextureAtlasData",properties:{_renderTexture:{default:null,serializable:!1},renderTexture:{get:function(){return this._renderTexture},set:function(t){if(this._renderTexture=t,t)for(var e in this.textures){var i=this.textures[e];if(!i.spriteFrame){var n;n=i.rotated?cc.rect(i.region.x,i.region.y,i.region.height,i.region.width):cc.rect(i.region.x,i.region.y,i.region.width,i.region.height);var r=cc.v2(0,0),s=cc.size(n.width,n.height);i.spriteFrame=new cc.SpriteFrame,i.spriteFrame.setTexture(t,n,!1,r,s)}}else for(var a in this.textures)this.textures[a].spriteFrame=null}}},statics:{toString:function(){return"[class dragonBones.CCTextureAtlasData]"}},_onClear:function(){dragonBones.TextureAtlasData.prototype._onClear.call(this),this.renderTexture=null},createTexture:function(){return dragonBones.BaseObject.borrowObject(dragonBones.CCTextureData)}}),dragonBones.CCTextureData=cc.Class({extends:dragonBones.TextureData,name:"dragonBones.CCTextureData",properties:{spriteFrame:{default:null,serializable:!1}},statics:{toString:function(){return"[class dragonBones.CCTextureData]"}},_onClear:function(){dragonBones.TextureData.prototype._onClear.call(this),this.spriteFrame=null}})}),{}],419:[(function(t,e){"use strict";var i=t("./ArmatureCache").sharedCache,n=cc.Class({name:"dragonBones.DragonBonesAsset",extends:cc.Asset,ctor:function(){this.reset()},properties:{_dragonBonesJson:"",dragonBonesJson:{get:function(){return this._dragonBonesJson},set:function(t){this._dragonBonesJson=t,this._dragonBonesJsonData=JSON.parse(t),this.reset()}},_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t,this.reset()},override:!0}},statics:{preventDeferredLoadDependents:!0},createNode:!1,reset:function(){this._clear()},init:function(t,e){this._factory=t,!this._dragonBonesJsonData&&this.dragonBonesJson&&(this._dragonBonesJsonData=JSON.parse(this.dragonBonesJson));var i;if(i=this._dragonBonesJsonData?this._dragonBonesJsonData:this._nativeAsset,!this._uuid){var n=this._factory.getDragonBonesDataByRawData(i);n?this._uuid=n.name:cc.warn("dragonbones name is empty")}var r=this._uuid+"#"+e;return this._factory.getDragonBonesData(r)?r:(this._factory.parseDragonBonesData(i,r),r)},getArmatureEnum:!1,getAnimsEnum:!1,_clear:function(){this._factory&&(i.resetArmature(this._uuid),this._factory.removeDragonBonesDataByUUID(this._uuid,!0))},destroy:function(){this._clear(),this._super()}});dragonBones.DragonBonesAsset=e.exports=n}),{"./ArmatureCache":412}],420:[(function(t,e){"use strict";var i=t("./ArmatureCache").sharedCache,n=cc.Class({name:"dragonBones.DragonBonesAtlasAsset",extends:cc.Asset,ctor:function(){this._clear()},properties:{_atlasJson:"",atlasJson:{get:function(){return this._atlasJson},set:function(t){this._atlasJson=t,this._atlasJsonData=JSON.parse(this.atlasJson),this._clear()}},_texture:{default:null,type:cc.Texture2D,formerlySerializedAs:"texture"},texture:{get:function(){return this._texture},set:function(t){this._texture=t,this._clear()}},_textureAtlasData:null},statics:{preventDeferredLoadDependents:!0},createNode:!1,init:function(t){this._factory=t,this._atlasJsonData||(this._atlasJsonData=JSON.parse(this.atlasJson));var e=this._atlasJsonData;this._uuid=this._uuid||e.name,this._textureAtlasData?t.addTextureAtlasData(this._textureAtlasData,this._uuid):this._textureAtlasData=t.parseTextureAtlasData(e,this.texture,this._uuid)},_clear:function(){this._factory&&(i.resetArmature(this._uuid),this._factory.removeTextureAtlasData(this._uuid,!0),this._factory.removeDragonBonesDataByUUID(this._uuid,!0)),this._textureAtlasData=null},destroy:function(){this._clear(),this._super()}});dragonBones.DragonBonesAtlasAsset=e.exports=n}),{"./ArmatureCache":412}],421:[(function(t){"use strict";var e="undefined"==typeof window?global:window;e.dragonBones=t("./lib/dragonBones"),void 0!==e.dragonBones&&(dragonBones._timeScale=1,Object.defineProperty(dragonBones,"timeScale",{get:function(){return this._timeScale},set:function(t){this._timeScale=t,this.CCFactory.getInstance()._dragonBones.clock.timeScale=t},configurable:!0}),dragonBones.DisplayType={Image:0,Armature:1,Mesh:2},dragonBones.ArmatureType={Armature:0,MovieClip:1,Stage:2},dragonBones.ExtensionType={FFD:0,AdjustColor:10,BevelFilter:11,BlurFilter:12,DropShadowFilter:13,GlowFilter:14,GradientBevelFilter:15,GradientGlowFilter:16},dragonBones.EventType={Frame:0,Sound:1},dragonBones.ActionType={Play:0,Stop:1,GotoAndPlay:2,GotoAndStop:3,FadeIn:4,FadeOut:5},dragonBones.AnimationFadeOutMode={None:0,SameLayer:1,SameGroup:2,SameLayerAndGroup:3,All:4},dragonBones.BinaryOffset={WeigthBoneCount:0,WeigthFloatOffset:1,WeigthBoneIndices:2,MeshVertexCount:0,MeshTriangleCount:1,MeshFloatOffset:2,MeshWeightOffset:3,MeshVertexIndices:4,TimelineScale:0,TimelineOffset:1,TimelineKeyFrameCount:2,TimelineFrameValueCount:3,TimelineFrameValueOffset:4,TimelineFrameOffset:5,FramePosition:0,FrameTweenType:1,FrameTweenEasingOrCurveSampleCount:2,FrameCurveSamples:3,DeformMeshOffset:0,DeformCount:1,DeformValueCount:2,DeformValueOffset:3,DeformFloatOffset:4},dragonBones.BoneType={Bone:0,Surface:1},t("./CCFactory"),t("./CCSlot"),t("./CCTextureData"),t("./CCArmatureDisplay"),t("./ArmatureCache"),t("./DragonBonesAsset"),t("./DragonBonesAtlasAsset"),t("./ArmatureDisplay"),t("./webgl-assembler"))}),{"./ArmatureCache":412,"./ArmatureDisplay":413,"./CCArmatureDisplay":415,"./CCFactory":416,"./CCSlot":417,"./CCTextureData":418,"./DragonBonesAsset":419,"./DragonBonesAtlasAsset":420,"./lib/dragonBones":422,"./webgl-assembler":423}],422:[(function(t,e){"use strict";var i,n,r,s=Object.setPrototypeOf||Array;r||(r={}),(function(t){var e=(function(){function e(i){this._clock=new t.WorldClock,this._events=[],this._objects=[],this._eventManager=null,this._eventManager=i,console.info("DragonBones: "+e.VERSION+"\nWebsite: http://dragonbones.com/\nSource and Demo: https://github.com/DragonBones/")}return e.prototype.advanceTime=function(e){if(this._objects.length>0){for(var i=0,n=this._objects;i<n.length;i++)n[i].returnToPool();this._objects.length=0}if(this._clock.advanceTime(e),this._events.length>0){for(var r=0;r<this._events.length;++r){var s=this._events[r],a=s.armature;null!==a._armatureData&&(a.eventDispatcher.dispatchDBEvent(s.type,s),s.type===t.EventObject.SOUND_EVENT&&this._eventManager.dispatchDBEvent(s.type,s)),this.bufferObject(s)}this._events.length=0}},e.prototype.bufferEvent=function(t){this._events.indexOf(t)<0&&this._events.push(t)},e.prototype.bufferObject=function(t){this._objects.indexOf(t)<0&&this._objects.push(t)},Object.defineProperty(e.prototype,"clock",{get:function(){return this._clock},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"eventManager",{get:function(){return this._eventManager},enumerable:!0,configurable:!0}),e.VERSION="5.6.300",e.yDown=!1,e.debug=!1,e.debugDraw=!1,e.webAssembly=!1,e})();t.DragonBones=e})(r||(r={})),console.warn||(console.warn=function(){}),console.assert||(console.assert=function(){}),Date.now||(Date.now=function(){return(new Date).getTime()}),s=function(t,e){function i(){this.constructor=t}for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);i.prototype=e.prototype,t.prototype=new i},(function(t){var e=(function(){function t(){this.hashCode=t._hashCode++,this._isInPool=!1}return t._returnObject=function(e){var i=String(e.constructor),n=i in t._maxCountMap?t._maxCountMap[i]:t._defaultMaxCount,r=t._poolsMap[i]=t._poolsMap[i]||[];r.length<n&&(e._isInPool?console.warn("The object is already in the pool."):(e._isInPool=!0,r.push(e)))},t.toString=function(){throw new Error},t.setMaxCount=function(e,i){if((i<0||i!=i)&&(i=0),null!==e)null!==(r=(n=String(e))in t._poolsMap?t._poolsMap[n]:null)&&r.length>i&&(r.length=i),t._maxCountMap[n]=i;else for(var n in t._defaultMaxCount=i,t._poolsMap){var r;(r=t._poolsMap[n]).length>i&&(r.length=i),n in t._maxCountMap&&(t._maxCountMap[n]=i)}},t.clearPool=function(e){if(void 0===e&&(e=null),null!==e){var i=String(e);null!==(r=i in t._poolsMap?t._poolsMap[i]:null)&&r.length>0&&(r.length=0)}else for(var n in t._poolsMap){var r;(r=t._poolsMap[n]).length=0}},t.borrowObject=function(e){var i=String(e),n=i in t._poolsMap?t._poolsMap[i]:null;if(null!==n&&n.length>0){var r=n.pop();return r._isInPool=!1,r}var s=new e;return s._onClear(),s},t.prototype.returnToPool=function(){this._onClear(),t._returnObject(this)},t._hashCode=0,t._defaultMaxCount=3e3,t._maxCountMap={},t._poolsMap={},t})();t.BaseObject=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n,r,s){void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=0),this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s}return t.prototype.toString=function(){return"[object dragonBones.Matrix] a:"+this.a+" b:"+this.b+" c:"+this.c+" d:"+this.d+" tx:"+this.tx+" ty:"+this.ty},t.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},t.prototype.copyFromArray=function(t,e){return void 0===e&&(e=0),this.a=t[e],this.b=t[e+1],this.c=t[e+2],this.d=t[e+3],this.tx=t[e+4],this.ty=t[e+5],this},t.prototype.identity=function(){return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this},t.prototype.concat=function(t){var e=this.a*t.a,i=0,n=0,r=this.d*t.d,s=this.tx*t.a+t.tx,a=this.ty*t.d+t.ty;return 0===this.b&&0===this.c||(e+=this.b*t.c,i+=this.b*t.d,n+=this.c*t.a,r+=this.c*t.b),0===t.b&&0===t.c||(i+=this.a*t.b,n+=this.d*t.c,s+=this.ty*t.c,a+=this.tx*t.b),this.a=e,this.b=i,this.c=n,this.d=r,this.tx=s,this.ty=a,this},t.prototype.invert=function(){var t=this.a,e=this.b,i=this.c,n=this.d,r=this.tx,s=this.ty;if(0===e&&0===i)return this.b=this.c=0,0===t||0===n?this.a=this.b=this.tx=this.ty=0:(t=this.a=1/t,n=this.d=1/n,this.tx=-t*r,this.ty=-n*s),this;var a=t*n-e*i;if(0===a)return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this;a=1/a;var o=this.a=n*a;return e=this.b=-e*a,i=this.c=-i*a,n=this.d=t*a,this.tx=-(o*r+i*s),this.ty=-(e*r+n*s),this},t.prototype.transformPoint=function(t,e,i,n){void 0===n&&(n=!1),i.x=this.a*t+this.c*e,i.y=this.b*t+this.d*e,n||(i.x+=this.tx,i.y+=this.ty)},t.prototype.transformRectangle=function(t,e){void 0===e&&(e=!1);var i=this.a,n=this.b,r=this.c,s=this.d,a=e?0:this.tx,o=e?0:this.ty,l=t.x,c=t.y,h=l+t.width,u=c+t.height,_=i*l+r*c+a,f=n*l+s*c+o,d=i*h+r*c+a,p=n*h+s*c+o,m=i*h+r*u+a,y=n*h+s*u+o,v=i*l+r*u+a,g=n*l+s*u+o,b=0;_>d&&(b=_,_=d,d=b),m>v&&(b=m,m=v,v=b),t.x=Math.floor(_<m?_:m),t.width=Math.ceil((d>v?d:v)-t.x),f>p&&(b=f,f=p,p=b),y>g&&(b=y,y=g,g=b),t.y=Math.floor(f<y?f:y),t.height=Math.ceil((p>g?p:g)-t.y)},t})();t.Matrix=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n,r,s){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),void 0===s&&(s=1),this.x=t,this.y=e,this.skew=i,this.rotation=n,this.scaleX=r,this.scaleY=s}return t.normalizeRadian=function(t){return(t=(t+Math.PI)%(2*Math.PI))+(t>0?-Math.PI:Math.PI)},t.prototype.toString=function(){return"[object dragonBones.Transform] x:"+this.x+" y:"+this.y+" skewX:"+180*this.skew/Math.PI+" skewY:"+180*this.rotation/Math.PI+" scaleX:"+this.scaleX+" scaleY:"+this.scaleY},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.skew=t.skew,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this},t.prototype.identity=function(){return this.x=this.y=0,this.skew=this.rotation=0,this.scaleX=this.scaleY=1,this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.skew+=t.skew,this.rotation+=t.rotation,this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this},t.prototype.minus=function(t){return this.x-=t.x,this.y-=t.y,this.skew-=t.skew,this.rotation-=t.rotation,this.scaleX/=t.scaleX,this.scaleY/=t.scaleY,this},t.prototype.fromMatrix=function(e){var i=this.scaleX,n=this.scaleY,r=t.PI_Q;this.x=e.tx,this.y=e.ty,this.rotation=Math.atan(e.b/e.a);var s=Math.atan(-e.c/e.d);return this.scaleX=this.rotation>-r&&this.rotation<r?e.a/Math.cos(this.rotation):e.b/Math.sin(this.rotation),this.scaleY=s>-r&&s<r?e.d/Math.cos(s):-e.c/Math.sin(s),i>=0&&this.scaleX<0&&(this.scaleX=-this.scaleX,this.rotation=this.rotation-Math.PI),n>=0&&this.scaleY<0&&(this.scaleY=-this.scaleY,s-=Math.PI),this.skew=s-this.rotation,this},t.prototype.toMatrix=function(t){return 0===this.rotation?(t.a=1,t.b=0):(t.a=Math.cos(this.rotation),t.b=Math.sin(this.rotation)),0===this.skew?(t.c=-t.b,t.d=t.a):(t.c=-Math.sin(this.skew+this.rotation),t.d=Math.cos(this.skew+this.rotation)),1!==this.scaleX&&(t.a*=this.scaleX,t.b*=this.scaleX),1!==this.scaleY&&(t.c*=this.scaleY,t.d*=this.scaleY),t.tx=this.x,t.ty=this.y,this},t.PI=Math.PI,t.PI_D=2*Math.PI,t.PI_H=Math.PI/2,t.PI_Q=Math.PI/4,t.RAD_DEG=180/Math.PI,t.DEG_RAD=Math.PI/180,t})();t.Transform=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n,r,s,a,o){void 0===t&&(t=1),void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=0),void 0===o&&(o=0),this.alphaMultiplier=t,this.redMultiplier=e,this.greenMultiplier=i,this.blueMultiplier=n,this.alphaOffset=r,this.redOffset=s,this.greenOffset=a,this.blueOffset=o}return t.prototype.copyFrom=function(t){this.alphaMultiplier=t.alphaMultiplier,this.redMultiplier=t.redMultiplier,this.greenMultiplier=t.greenMultiplier,this.blueMultiplier=t.blueMultiplier,this.alphaOffset=t.alphaOffset,this.redOffset=t.redOffset,this.greenOffset=t.greenOffset,this.blueOffset=t.blueOffset},t.prototype.identity=function(){this.alphaMultiplier=this.redMultiplier=this.greenMultiplier=this.blueMultiplier=1,this.alphaOffset=this.redOffset=this.greenOffset=this.blueOffset=0},t})();t.ColorTransform=e})(r||(r={})),(function(t){var e=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y},t.prototype.clear=function(){this.x=this.y=0},t})();t.Point=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.width=i,this.height=n}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},t.prototype.clear=function(){this.x=this.y=0,this.width=this.height=0},t})();t.Rectangle=e})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ints=[],e.floats=[],e.strings=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.UserData]"},e.prototype._onClear=function(){this.ints.length=0,this.floats.length=0,this.strings.length=0},e.prototype.addInt=function(t){this.ints.push(t)},e.prototype.addFloat=function(t){this.floats.push(t)},e.prototype.addString=function(t){this.strings.push(t)},e.prototype.getInt=function(t){return void 0===t&&(t=0),t>=0&&t<this.ints.length?this.ints[t]:0},e.prototype.getFloat=function(t){return void 0===t&&(t=0),t>=0&&t<this.floats.length?this.floats[t]:0},e.prototype.getString=function(t){return void 0===t&&(t=0),t>=0&&t<this.strings.length?this.strings[t]:""},e})(t.BaseObject);t.UserData=e;var i=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e}return s(e,t),e.toString=function(){return"[class dragonBones.ActionData]"},e.prototype._onClear=function(){null!==this.data&&this.data.returnToPool(),this.type=0,this.name="",this.bone=null,this.slot=null,this.data=null},e})(t.BaseObject);t.ActionData=i})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.frameIndices=[],e.cachedFrames=[],e.armatureNames=[],e.armatures={},e.userData=null,e}return s(e,t),e.toString=function(){return"[class dragonBones.DragonBonesData]"},e.prototype._onClear=function(){for(var t in this.armatures)this.armatures[t].returnToPool(),delete this.armatures[t];null!==this.userData&&this.userData.returnToPool(),this.autoSearch=!1,this.frameRate=0,this.version="",this.name="",this.stage=null,this.frameIndices.length=0,this.cachedFrames.length=0,this.armatureNames.length=0,this.binary=null,this.intArray=null,this.floatArray=null,this.frameIntArray=null,this.frameFloatArray=null,this.frameArray=null,this.timelineArray=null,this.userData=null},e.prototype.addArmature=function(t){t.name in this.armatures?console.warn("Same armature: "+t.name):(t.parent=this,this.armatures[t.name]=t,this.armatureNames.push(t.name))},e.prototype.getArmature=function(t){return t in this.armatures?this.armatures[t]:null},e.prototype.dispose=function(){console.warn("\u5df2\u5e9f\u5f03"),this.returnToPool()},e})(t.BaseObject);t.DragonBonesData=e})(r||(r={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.aabb=new t.Rectangle,i.animationNames=[],i.sortedBones=[],i.sortedSlots=[],i.defaultActions=[],i.actions=[],i.bones={},i.slots={},i.constraints={},i.skins={},i.animations={},i.canvas=null,i.userData=null,i}return s(i,e),i.toString=function(){return"[class dragonBones.ArmatureData]"},i.prototype._onClear=function(){for(var t=0,e=this.defaultActions;t<e.length;t++)e[t].returnToPool();for(var i=0,n=this.actions;i<n.length;i++)n[i].returnToPool();for(var r in this.bones)this.bones[r].returnToPool(),delete this.bones[r];for(var r in this.slots)this.slots[r].returnToPool(),delete this.slots[r];for(var r in this.constraints)this.constraints[r].returnToPool(),delete this.constraints[r];for(var r in this.skins)this.skins[r].returnToPool(),delete this.skins[r];for(var r in this.animations)this.animations[r].returnToPool(),delete this.animations[r];null!==this.canvas&&this.canvas.returnToPool(),null!==this.userData&&this.userData.returnToPool(),this.type=0,this.frameRate=0,this.cacheFrameRate=0,this.scale=1,this.name="",this.aabb.clear(),this.animationNames.length=0,this.sortedBones.length=0,this.sortedSlots.length=0,this.defaultActions.length=0,this.actions.length=0,this.defaultSkin=null,this.defaultAnimation=null,this.canvas=null,this.userData=null,this.parent=null},i.prototype.sortBones=function(){var t=this.sortedBones.length;if(!(t<=0)){var e=this.sortedBones.concat(),i=0,n=0;for(this.sortedBones.length=0;n<t;){var r=e[i++];if(i>=t&&(i=0),!(this.sortedBones.indexOf(r)>=0)){var s=!1;for(var a in this.constraints){var o=this.constraints[a];if(o.root===r&&this.sortedBones.indexOf(o.target)<0){s=!0;break}}s||null!==r.parent&&this.sortedBones.indexOf(r.parent)<0||(this.sortedBones.push(r),n++)}}}},i.prototype.cacheFrames=function(t){if(!(this.cacheFrameRate>0))for(var e in this.cacheFrameRate=t,this.animations)this.animations[e].cacheFrames(this.cacheFrameRate)},i.prototype.setCacheFrame=function(t,e){var i=this.parent.cachedFrames,n=i.length;return i.length+=10,i[n]=t.a,i[n+1]=t.b,i[n+2]=t.c,i[n+3]=t.d,i[n+4]=t.tx,i[n+5]=t.ty,i[n+6]=e.rotation,i[n+7]=e.skew,i[n+8]=e.scaleX,i[n+9]=e.scaleY,n},i.prototype.getCacheFrame=function(t,e,i){var n=this.parent.cachedFrames;t.a=n[i],t.b=n[i+1],t.c=n[i+2],t.d=n[i+3],t.tx=n[i+4],t.ty=n[i+5],e.rotation=n[i+6],e.skew=n[i+7],e.scaleX=n[i+8],e.scaleY=n[i+9],e.x=t.tx,e.y=t.ty},i.prototype.addBone=function(t){t.name in this.bones?console.warn("Same bone: "+t.name):(this.bones[t.name]=t,this.sortedBones.push(t))},i.prototype.addSlot=function(t){t.name in this.slots?console.warn("Same slot: "+t.name):(this.slots[t.name]=t,this.sortedSlots.push(t))},i.prototype.addConstraint=function(t){t.name in this.constraints?console.warn("Same constraint: "+t.name):this.constraints[t.name]=t},i.prototype.addSkin=function(t){t.name in this.skins?console.warn("Same skin: "+t.name):(t.parent=this,this.skins[t.name]=t,null===this.defaultSkin&&(this.defaultSkin=t),"default"===t.name&&(this.defaultSkin=t))},i.prototype.addAnimation=function(t){t.name in this.animations?console.warn("Same animation: "+t.name):(t.parent=this,this.animations[t.name]=t,this.animationNames.push(t.name),null===this.defaultAnimation&&(this.defaultAnimation=t))},i.prototype.addAction=function(t,e){e?this.defaultActions.push(t):this.actions.push(t)},i.prototype.getBone=function(t){return t in this.bones?this.bones[t]:null},i.prototype.getSlot=function(t){return t in this.slots?this.slots[t]:null},i.prototype.getConstraint=function(t){return t in this.constraints?this.constraints[t]:null},i.prototype.getSkin=function(t){return t in this.skins?this.skins[t]:null},i.prototype.getMesh=function(t,e,i){var n=this.getSkin(t);return null===n?null:n.getDisplay(e,i)},i.prototype.getAnimation=function(t){return t in this.animations?this.animations[t]:null},i})(t.BaseObject);t.ArmatureData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.transform=new t.Transform,i.userData=null,i}return s(i,e),i.toString=function(){return"[class dragonBones.BoneData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.inheritTranslation=!1,this.inheritRotation=!1,this.inheritScale=!1,this.inheritReflection=!1,this.type=0,this.length=0,this.name="",this.transform.identity(),this.userData=null,this.parent=null},i})(t.BaseObject);t.BoneData=i;var n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.SurfaceData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1,this.segmentX=0,this.segmentY=0,this.vertices.length=0},e})(i);t.SurfaceData=n;var r=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.color=null,t.userData=null,t}return s(i,e),i.createColor=function(){return new t.ColorTransform},i.toString=function(){return"[class dragonBones.SlotData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.blendMode=0,this.displayIndex=0,this.zOrder=0,this.name="",this.color=null,this.userData=null,this.parent=null},i.DEFAULT_COLOR=new t.ColorTransform,i})(t.BaseObject);t.SlotData=r})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){this.order=0,this.name="",this.type=0,this.target=null,this.root=null,this.bone=null},e})(t.BaseObject);t.ConstraintData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.IKConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.scaleEnabled=!1,this.bendPositive=!1,this.weight=1},e})(e);t.IKConstraintData=i;var n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bones=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.PathConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.pathSlot=null,this.pathDisplayData=null,this.bones.length=0,this.positionMode=0,this.spacingMode=1,this.rotateMode=1,this.position=0,this.spacing=0,this.rotateOffset=0,this.rotateMix=0,this.translateMix=0},e.prototype.AddBone=function(t){this.bones.push(t)},e})(e);t.PathConstraintData=n})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.CanvasData]"},e.prototype._onClear=function(){this.hasBackground=!1,this.color=0,this.x=0,this.y=0,this.width=0,this.height=0},e})(t.BaseObject);t.CanvasData=e})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.displays={},e}return s(e,t),e.toString=function(){return"[class dragonBones.SkinData]"},e.prototype._onClear=function(){for(var t in this.displays){for(var e=0,i=this.displays[t];e<i.length;e++){var n=i[e];null!==n&&n.returnToPool()}delete this.displays[t]}this.name="",this.parent=null},e.prototype.addDisplay=function(t,e){t in this.displays||(this.displays[t]=[]),null!==e&&(e.parent=this),this.displays[t].push(e)},e.prototype.getDisplay=function(t,e){var i=this.getDisplays(t);if(null!==i)for(var n=0,r=i;n<r.length;n++){var s=r[n];if(null!==s&&s.name===e)return s}return null},e.prototype.getDisplays=function(t){return t in this.displays?this.displays[t]:null},e})(t.BaseObject);t.SkinData=e})(r||(r={})),(function(t){var e=(function(){function t(){this.weight=null}return t.prototype.clear=function(){this.isShared||null===this.weight||this.weight.returnToPool(),this.isShared=!1,this.inheritDeform=!1,this.offset=0,this.data=null,this.weight=null},t.prototype.shareFrom=function(t){this.isShared=!0,this.offset=t.offset,this.weight=t.weight},t})();t.VerticesData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.transform=new t.Transform,i}return s(i,e),i.prototype._onClear=function(){this.name="",this.path="",this.transform.identity(),this.parent=null},i})(t.BaseObject);t.DisplayData=i;var n=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.pivot=new t.Point,i}return s(i,e),i.toString=function(){return"[class dragonBones.ImageDisplayData]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this.type=0,this.pivot.clear(),this.texture=null},i})(i);t.ImageDisplayData=n;var r=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.actions=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.ArmatureDisplayData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this);for(var e=0,i=this.actions;e<i.length;e++)i[e].returnToPool();this.type=1,this.inheritAnimation=!1,this.actions.length=0,this.armature=null},e.prototype.addAction=function(t){this.actions.push(t)},e})(i);t.ArmatureDisplayData=r;var a=(function(t){function i(){var i=null!==t&&t.apply(this,arguments)||this;return i.vertices=new e,i}return s(i,t),i.toString=function(){return"[class dragonBones.MeshDisplayData]"},i.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=2,this.vertices.clear(),this.texture=null},i})(i);t.MeshDisplayData=a;var o=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.boundingBox=null,e}return s(e,t),e.toString=function(){return"[class dragonBones.BoundingBoxDisplayData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),null!==this.boundingBox&&this.boundingBox.returnToPool(),this.type=3,this.boundingBox=null},e})(i);t.BoundingBoxDisplayData=o;var l=(function(t){function i(){var i=null!==t&&t.apply(this,arguments)||this;return i.vertices=new e,i.curveLengths=[],i}return s(i,t),i.toString=function(){return"[class dragonBones.PathDisplayData]"},i.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=4,this.closed=!1,this.constantSpeed=!1,this.vertices.clear(),this.curveLengths.length=0},i})(i);t.PathDisplayData=l;var c=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bones=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.WeightData]"},e.prototype._onClear=function(){this.count=0,this.offset=0,this.bones.length=0},e.prototype.addBone=function(t){this.bones.push(t)},e})(t.BaseObject);t.WeightData=c})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){this.color=0,this.width=0,this.height=0},e})(t.BaseObject);t.BoundingBoxData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.RectangleBoundingBoxData]"},e._computeOutCode=function(t,e,i,n,r,s){var a=0;return t<i?a|=1:t>r&&(a|=2),e<n?a|=4:e>s&&(a|=8),a},e.rectangleIntersectsSegment=function(t,i,n,r,s,a,o,l,c,h,u){void 0===c&&(c=null),void 0===h&&(h=null),void 0===u&&(u=null);var _=t>s&&t<o&&i>a&&i<l,f=n>s&&n<o&&r>a&&r<l;if(_&&f)return-1;for(var d=0,p=e._computeOutCode(t,i,s,a,o,l),m=e._computeOutCode(n,r,s,a,o,l);;){if(0==(p|m)){d=2;break}if(0!=(p&m))break;var y=0,v=0,g=0,b=0!==p?p:m;0!=(4&b)?(y=t+(n-t)*(a-i)/(r-i),v=a,null!==u&&(g=.5*-Math.PI)):0!=(8&b)?(y=t+(n-t)*(l-i)/(r-i),v=l,null!==u&&(g=.5*Math.PI)):0!=(2&b)?(v=i+(r-i)*(o-t)/(n-t),y=o,null!==u&&(g=0)):0!=(1&b)&&(v=i+(r-i)*(s-t)/(n-t),y=s,null!==u&&(g=Math.PI)),b===p?(t=y,i=v,p=e._computeOutCode(t,i,s,a,o,l),null!==u&&(u.x=g)):(n=y,r=v,m=e._computeOutCode(n,r,s,a,o,l),null!==u&&(u.y=g))}return d&&(_?(d=2,null!==c&&(c.x=n,c.y=r),null!==h&&(h.x=n,h.y=n),null!==u&&(u.x=u.y+Math.PI)):f?(d=1,null!==c&&(c.x=t,c.y=i),null!==h&&(h.x=t,h.y=i),null!==u&&(u.y=u.x+Math.PI)):(d=3,null!==c&&(c.x=t,c.y=i),null!==h&&(h.x=n,h.y=r))),d},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=0},e.prototype.containsPoint=function(t,e){var i=.5*this.width;if(t>=-i&&t<=i){var n=.5*this.height;if(e>=-n&&e<=n)return!0}return!1},e.prototype.intersectsSegment=function(t,i,n,r,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null);var l=.5*this.width,c=.5*this.height;return e.rectangleIntersectsSegment(t,i,n,r,-l,-c,l,c,s,a,o)},e})(e);t.RectangleBoundingBoxData=i;var n=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.EllipseData]"},e.ellipseIntersectsSegment=function(t,e,i,n,r,s,a,o,l,c,h){void 0===l&&(l=null),void 0===c&&(c=null),void 0===h&&(h=null);var u=a/o,_=u*u,f=i-t,d=(n*=u)-(e*=u),p=Math.sqrt(f*f+d*d),m=f/p,y=d/p,v=(r-t)*m+(s-e)*y,g=a*a,b=g-(t*t+e*e)+v*v,A=0;if(b>=0){var x=Math.sqrt(b),C=v-x,T=v+x,S=C<0?-1:C<=p?0:1,w=T<0?-1:T<=p?0:1,E=S*w;if(E<0)return-1;0===E&&(-1===S?(A=2,i=t+T*m,n=(e+T*y)/u,null!==l&&(l.x=i,l.y=n),null!==c&&(c.x=i,c.y=n),null!==h&&(h.x=Math.atan2(n/g*_,i/g),h.y=h.x+Math.PI)):1===w?(A=1,t+=C*m,e=(e+C*y)/u,null!==l&&(l.x=t,l.y=e),null!==c&&(c.x=t,c.y=e),null!==h&&(h.x=Math.atan2(e/g*_,t/g),h.y=h.x+Math.PI)):(A=3,null!==l&&(l.x=t+C*m,l.y=(e+C*y)/u,null!==h&&(h.x=Math.atan2(l.y/g*_,l.x/g))),null!==c&&(c.x=t+T*m,c.y=(e+T*y)/u,null!==h&&(h.y=Math.atan2(c.y/g*_,c.x/g)))))}return A},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1},e.prototype.containsPoint=function(t,e){var i=.5*this.width;if(t>=-i&&t<=i){var n=.5*this.height;if(e>=-n&&e<=n)return e*=i/n,Math.sqrt(t*t+e*e)<=i}return!1},e.prototype.intersectsSegment=function(t,i,n,r,s,a,o){return void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),e.ellipseIntersectsSegment(t,i,n,r,0,0,.5*this.width,.5*this.height,s,a,o)},e})(e);t.EllipseBoundingBoxData=n;var r=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.PolygonBoundingBoxData]"},e.polygonIntersectsSegment=function(t,e,i,n,r,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),t===i&&(t=i+1e-6),e===n&&(e=n+1e-6);for(var l=r.length,c=t-i,h=e-n,u=t*n-e*i,_=0,f=r[l-2],d=r[l-1],p=0,m=0,y=0,v=0,g=0,b=0,A=0;A<l;A+=2){var x=r[A],C=r[A+1];f===x&&(f=x+1e-4),d===C&&(d=C+1e-4);var T=f-x,S=d-C,w=f*C-d*x,E=c*S-h*T,M=(u*T-c*w)/E;if((M>=f&&M<=x||M>=x&&M<=f)&&(0===c||M>=t&&M<=i||M>=i&&M<=t)){var D=(u*S-h*w)/E;if((D>=d&&D<=C||D>=C&&D<=d)&&(0===h||D>=e&&D<=n||D>=n&&D<=e)){if(null===a){y=M,v=D,g=M,b=D,_++,null!==o&&(o.x=Math.atan2(C-d,x-f)-.5*Math.PI,o.y=o.x);break}var B=M-t;B<0&&(B=-B),0===_?(p=B,m=B,y=M,v=D,g=M,b=D,null!==o&&(o.x=Math.atan2(C-d,x-f)-.5*Math.PI,o.y=o.x)):(B<p&&(p=B,y=M,v=D,null!==o&&(o.x=Math.atan2(C-d,x-f)-.5*Math.PI)),B>m&&(m=B,g=M,b=D,null!==o&&(o.y=Math.atan2(C-d,x-f)-.5*Math.PI))),_++}}f=x,d=C}return 1===_?(null!==s&&(s.x=y,s.y=v),null!==a&&(a.x=y,a.y=v),null!==o&&(o.y=o.x+Math.PI)):_>1&&(_++,null!==s&&(s.x=y,s.y=v),null!==a&&(a.x=g,a.y=b)),_},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=2,this.x=0,this.y=0,this.vertices.length=0},e.prototype.containsPoint=function(t,e){var i=!1;if(t>=this.x&&t<=this.width&&e>=this.y&&e<=this.height)for(var n=0,r=this.vertices.length,s=r-2;n<r;n+=2){var a=this.vertices[s+1],o=this.vertices[n+1];if(o<e&&a>=e||a<e&&o>=e){var l=this.vertices[s],c=this.vertices[n];(e-o)*(l-c)/(a-o)+c<t&&(i=!i)}s=n}return i},e.prototype.intersectsSegment=function(t,n,r,s,a,o,l){void 0===a&&(a=null),void 0===o&&(o=null),void 0===l&&(l=null);var c=0;return 0!==i.rectangleIntersectsSegment(t,n,r,s,this.x,this.y,this.x+this.width,this.y+this.height,null,null,null)&&(c=e.polygonIntersectsSegment(t,n,r,s,this.vertices,a,o,l)),c},e})(e);t.PolygonBoundingBoxData=r})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.cachedFrames=[],e.boneTimelines={},e.surfaceTimelines={},e.slotTimelines={},e.constraintTimelines={},e.animationTimelines={},e.boneCachedFrameIndices={},e.slotCachedFrameIndices={},e.actionTimeline=null,e.zOrderTimeline=null,e}return s(e,t),e.toString=function(){return"[class dragonBones.AnimationData]"},e.prototype._onClear=function(){for(var t in this.boneTimelines){for(var e=0,i=this.boneTimelines[t];e<i.length;e++)i[e].returnToPool();delete this.boneTimelines[t]}for(var t in this.surfaceTimelines){for(var n=0,r=this.surfaceTimelines[t];n<r.length;n++)r[n].returnToPool();delete this.surfaceTimelines[t]}for(var t in this.slotTimelines){for(var s=0,a=this.slotTimelines[t];s<a.length;s++)a[s].returnToPool();delete this.slotTimelines[t]}for(var t in this.constraintTimelines){for(var o=0,l=this.constraintTimelines[t];o<l.length;o++)l[o].returnToPool();delete this.constraintTimelines[t]}for(var t in this.animationTimelines){for(var c=0,h=this.animationTimelines[t];c<h.length;c++)h[c].returnToPool();delete this.animationTimelines[t]}for(var t in this.boneCachedFrameIndices)delete this.boneCachedFrameIndices[t];for(var t in this.slotCachedFrameIndices)delete this.slotCachedFrameIndices[t];null!==this.actionTimeline&&this.actionTimeline.returnToPool(),null!==this.zOrderTimeline&&this.zOrderTimeline.returnToPool(),this.frameIntOffset=0,this.frameFloatOffset=0,this.frameOffset=0,this.frameCount=0,this.playTimes=0,this.duration=0,this.scale=1,this.fadeInTime=0,this.cacheFrameRate=0,this.name="",this.cachedFrames.length=0,this.actionTimeline=null,this.zOrderTimeline=null,this.parent=null},e.prototype.cacheFrames=function(t){if(!(this.cacheFrameRate>0)){this.cacheFrameRate=Math.max(Math.ceil(t*this.scale),1);var e=Math.ceil(this.cacheFrameRate*this.duration)+1;this.cachedFrames.length=e;for(var i=0,n=this.cacheFrames.length;i<n;++i)this.cachedFrames[i]=!1;for(var r=0,s=this.parent.sortedBones;r<s.length;r++){var a=s[r];for(i=0,n=(c=new Array(e)).length;i<n;++i)c[i]=-1;this.boneCachedFrameIndices[a.name]=c}for(var o=0,l=this.parent.sortedSlots;o<l.length;o++){var c,h=l[o];for(i=0,n=(c=new Array(e)).length;i<n;++i)c[i]=-1;this.slotCachedFrameIndices[h.name]=c}}},e.prototype.addBoneTimeline=function(t,e){var i=t.name in this.boneTimelines?this.boneTimelines[t.name]:this.boneTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addSurfaceTimeline=function(t,e){var i=t.name in this.surfaceTimelines?this.surfaceTimelines[t.name]:this.surfaceTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addSlotTimeline=function(t,e){var i=t.name in this.slotTimelines?this.slotTimelines[t.name]:this.slotTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addConstraintTimeline=function(t,e){var i=t.name in this.constraintTimelines?this.constraintTimelines[t.name]:this.constraintTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addAnimationTimeline=function(t,e){var i=t in this.animationTimelines?this.animationTimelines[t]:this.animationTimelines[t]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.getBoneTimelines=function(t){return t in this.boneTimelines?this.boneTimelines[t]:null},e.prototype.getSurfaceTimelines=function(t){return t in this.surfaceTimelines?this.surfaceTimelines[t]:null},e.prototype.getSlotTimelines=function(t){return t in this.slotTimelines?this.slotTimelines[t]:null},e.prototype.getConstraintTimelines=function(t){return t in this.constraintTimelines?this.constraintTimelines[t]:null},e.prototype.getAnimationTimelines=function(t){return t in this.animationTimelines?this.animationTimelines[t]:null},e.prototype.getBoneCachedFrameIndices=function(t){return t in this.boneCachedFrameIndices?this.boneCachedFrameIndices[t]:null},e.prototype.getSlotCachedFrameIndices=function(t){return t in this.slotCachedFrameIndices?this.slotCachedFrameIndices[t]:null},e})(t.BaseObject);t.AnimationData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.TimelineData]"},e.prototype._onClear=function(){this.type=10,this.offset=0,this.frameIndicesOffset=-1},e})(t.BaseObject);t.TimelineData=i})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.boneMask=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.AnimationConfig]"},e.prototype._onClear=function(){this.pauseFadeOut=!0,this.fadeOutMode=4,this.fadeOutTweenType=1,this.fadeOutTime=-1,this.actionEnabled=!0,this.additiveBlending=!1,this.displayControl=!0,this.pauseFadeIn=!0,this.resetToPose=!0,this.fadeInTweenType=1,this.playTimes=-1,this.layer=0,this.position=0,this.duration=-1,this.timeScale=-100,this.weight=1,this.fadeInTime=-1,this.autoFadeOutTime=-1,this.name="",this.animation="",this.group="",this.boneMask.length=0},e.prototype.clear=function(){this._onClear()},e.prototype.copyFrom=function(t){this.pauseFadeOut=t.pauseFadeOut,this.fadeOutMode=t.fadeOutMode,this.autoFadeOutTime=t.autoFadeOutTime,this.fadeOutTweenType=t.fadeOutTweenType,this.actionEnabled=t.actionEnabled,this.additiveBlending=t.additiveBlending,this.displayControl=t.displayControl,this.pauseFadeIn=t.pauseFadeIn,this.resetToPose=t.resetToPose,this.playTimes=t.playTimes,this.layer=t.layer,this.position=t.position,this.duration=t.duration,this.timeScale=t.timeScale,this.fadeInTime=t.fadeInTime,this.fadeOutTime=t.fadeOutTime,this.fadeInTweenType=t.fadeInTweenType,this.weight=t.weight,this.name=t.name,this.animation=t.animation,this.group=t.group,this.boneMask.length=t.boneMask.length;for(var e=0,i=this.boneMask.length;e<i;++e)this.boneMask[e]=t.boneMask[e]},e.prototype.containsBoneMask=function(t){return 0===this.boneMask.length||this.boneMask.indexOf(t)>=0},e.prototype.addBoneMask=function(t,e,i){void 0===i&&(i=!0);var n=t.getBone(e);if(null!==n&&(this.boneMask.indexOf(e)<0&&this.boneMask.push(e),i))for(var r=0,s=t.getBones();r<s.length;r++){var a=s[r];this.boneMask.indexOf(a.name)<0&&n.contains(a)&&this.boneMask.push(a.name)}},e.prototype.removeBoneMask=function(t,e,i){void 0===i&&(i=!0);var n=this.boneMask.indexOf(e);if(n>=0&&this.boneMask.splice(n,1),i){var r=t.getBone(e);if(null!==r)if(this.boneMask.length>0)for(var s=0,a=t.getBones();s<a.length;s++){var o=a[s],l=this.boneMask.indexOf(o.name);l>=0&&r.contains(o)&&this.boneMask.splice(l,1)}else for(var c=0,h=t.getBones();c<h.length;c++)(o=h[c])!==r&&(r.contains(o)||this.boneMask.push(o.name))}},e})(t.BaseObject);t.AnimationConfig=e})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.textures={},e}return s(e,t),e.prototype._onClear=function(){for(var t in this.textures)this.textures[t].returnToPool(),delete this.textures[t];this.autoSearch=!1,this.width=0,this.height=0,this.scale=1,this.name="",this.imagePath=""},e.prototype.copyFrom=function(t){for(var e in this.autoSearch=t.autoSearch,this.scale=t.scale,this.width=t.width,this.height=t.height,this.name=t.name,this.imagePath=t.imagePath,this.textures)this.textures[e].returnToPool(),delete this.textures[e];for(var e in t.textures){var i=this.createTexture();i.copyFrom(t.textures[e]),this.textures[e]=i}},e.prototype.addTexture=function(t){t.name in this.textures?console.warn("Same texture: "+t.name):(t.parent=this,this.textures[t.name]=t)},e.prototype.getTexture=function(t){return t in this.textures?this.textures[t]:null},e})(t.BaseObject);t.TextureAtlasData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.region=new t.Rectangle,i.frame=null,i}return s(i,e),i.createRectangle=function(){return new t.Rectangle},i.prototype._onClear=function(){this.rotated=!1,this.name="",this.region.clear(),this.parent=null,this.frame=null},i.prototype.copyFrom=function(t){this.rotated=t.rotated,this.name=t.name,this.region.copyFrom(t.region),this.parent=t.parent,null===this.frame&&null!==t.frame?this.frame=i.createRectangle():null!==this.frame&&null===t.frame&&(this.frame=null),null!==this.frame&&null!==t.frame&&this.frame.copyFrom(t.frame)},i})(t.BaseObject);t.TextureData=i})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e.bones=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.DeformVertices]"},e.prototype._onClear=function(){this.verticesDirty=!1,this.vertices.length=0,this.bones.length=0,this.verticesData=null},e.prototype.init=function(t,e){if(this.verticesData=t,null!==this.verticesData){var i;i=null!==this.verticesData.weight?2*this.verticesData.weight.count:2*this.verticesData.data.intArray[this.verticesData.offset+0],this.verticesDirty=!0,this.vertices.length=i,this.bones.length=0;for(var n=0,r=this.vertices.length;n<r;++n)this.vertices[n]=0;if(null!==this.verticesData.weight)for(n=0,r=this.verticesData.weight.bones.length;n<r;++n){var s=e.getBone(this.verticesData.weight.bones[n].name);this.bones.push(s)}}else this.verticesDirty=!1,this.vertices.length=0,this.bones.length=0,this.verticesData=null},e.prototype.isBonesUpdate=function(){for(var t=0,e=this.bones;t<e.length;t++){var i=e[t];if(null!==i&&i._childrenTransformDirty)return!0}return!1},e})(t.BaseObject);t.DeformVertices=e})(r||(r={})),n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._bones=[],e._slots=[],e._constraints=[],e._actions=[],e._animation=null,e._proxy=null,e._replaceTextureAtlasData=null,e._clock=null,e}return s(e,t),e.toString=function(){return"[class dragonBones.Armature]"},e._onSortSlots=function(t,e){return t._zOrder>e._zOrder?1:-1},e.prototype._onClear=function(){null!==this._clock&&this._clock.remove(this);for(var t=0,e=this._bones;t<e.length;t++)e[t].returnToPool();for(var i=0,n=this._slots;i<n.length;i++)n[i].returnToPool();for(var r=0,s=this._constraints;r<s.length;r++)s[r].returnToPool();for(var a=0,o=this._actions;a<o.length;a++)o[a].returnToPool();null!==this._animation&&this._animation.returnToPool(),null!==this._proxy&&this._proxy.dbClear(),null!==this._replaceTextureAtlasData&&this._replaceTextureAtlasData.returnToPool(),this.inheritAnimation=!0,this.userData=null,this._lockUpdate=!1,this._slotsDirty=!0,this._zOrderDirty=!1,this._flipX=!1,this._flipY=!1,this._cacheFrameIndex=-1,this._bones.length=0,this._slots.length=0,this._constraints.length=0,this._actions.length=0,this._armatureData=null,this._animation=null,this._proxy=null,this._display=null,this._replaceTextureAtlasData=null,this._replacedTexture=null,this._dragonBones=null,this._clock=null,this._parent=null},e.prototype._sortZOrder=function(t,e){var i=this._armatureData.sortedSlots,n=null===t;if(this._zOrderDirty||!n){for(var r=0,s=i.length;r<s;++r){var a=n?r:t[e+r];if(!(a<0||a>=s)){var o=i[a],l=this.getSlot(o.name);null!==l&&l._setZorder(r)}}this._slotsDirty=!0,this._zOrderDirty=!n}},e.prototype._addBone=function(t){this._bones.indexOf(t)<0&&this._bones.push(t)},e.prototype._addSlot=function(t){this._slots.indexOf(t)<0&&this._slots.push(t)},e.prototype._addConstraint=function(t){this._constraints.indexOf(t)<0&&this._constraints.push(t)},e.prototype._bufferAction=function(t,e){this._actions.indexOf(t)<0&&(e?this._actions.push(t):this._actions.unshift(t))},e.prototype.dispose=function(){null!==this._armatureData&&(this._lockUpdate=!0,this._dragonBones.bufferObject(this))},e.prototype.init=function(t,e,n,r){null===this._armatureData&&(this._armatureData=t,this._animation=i.BaseObject.borrowObject(i.Animation),this._proxy=e,this._display=n,this._dragonBones=r,this._proxy.dbInit(this),this._animation.init(this),this._animation.animations=this._armatureData.animations)},e.prototype.advanceTime=function(t){if(!this._lockUpdate)if(null!==this._armatureData)if(null!==this._armatureData.parent){var i=this._cacheFrameIndex;if(this._animation.advanceTime(t),this._slotsDirty&&(this._slotsDirty=!1,this._slots.sort(e._onSortSlots)),this._cacheFrameIndex<0||this._cacheFrameIndex!==i){var n=0,r=0;for(n=0,r=this._bones.length;n<r;++n)this._bones[n].update(this._cacheFrameIndex);for(n=0,r=this._slots.length;n<r;++n)this._slots[n].update(this._cacheFrameIndex)}if(this._actions.length>0){this._lockUpdate=!0;for(var s=0,a=this._actions;s<a.length;s++){var o=a[s],l=o.actionData;if(null!==l&&0===l.type)if(null!==o.slot)null!==(u=o.slot.childArmature)&&u.animation.fadeIn(l.name);else if(null!==o.bone)for(var c=0,h=this.getSlots();c<h.length;c++){var u,_=h[c];_.parent===o.bone&&null!==(u=_.childArmature)&&u.animation.fadeIn(l.name)}else this._animation.fadeIn(l.name);o.returnToPool()}this._actions.length=0,this._lockUpdate=!1}this._proxy.dbUpdate()}else console.warn("The armature data has been disposed.\nPlease make sure dispose armature before call factory.clear().");else console.warn("The armature has been disposed.")},e.prototype.invalidUpdate=function(t,e){if(void 0===t&&(t=null),void 0===e&&(e=!1),null!==t&&t.length>0){if(null!==(a=this.getBone(t))&&(a.invalidUpdate(),e))for(var i=0,n=this._slots;i<n.length;i++)(c=n[i]).parent===a&&c.invalidUpdate()}else{for(var r=0,s=this._bones;r<s.length;r++){var a;(a=s[r]).invalidUpdate()}if(e)for(var o=0,l=this._slots;o<l.length;o++){var c;(c=l[o]).invalidUpdate()}}},e.prototype.containsPoint=function(t,e){for(var i=0,n=this._slots;i<n.length;i++){var r=n[i];if(r.containsPoint(t,e))return r}return null},e.prototype.intersectsSegment=function(t,e,i,n,r,s,a){void 0===r&&(r=null),void 0===s&&(s=null),void 0===a&&(a=null);for(var o=t===i,l=0,c=0,h=0,u=0,_=0,f=0,d=0,p=0,m=null,y=null,v=0,g=this._slots;v<g.length;v++){var b=g[v];if(b.intersectsSegment(t,e,i,n,r,s,a)>0){if(null===r&&null===s){m=b;break}var A;null!==r&&((A=o?r.y-e:r.x-t)<0&&(A=-A),(null===m||A<l)&&(l=A,h=r.x,u=r.y,m=b,a&&(d=a.x))),null!==s&&((A=s.x-t)<0&&(A=-A),(null===y||A>c)&&(c=A,_=s.x,f=s.y,y=b,null!==a&&(p=a.y)))}}return null!==m&&null!==r&&(r.x=h,r.y=u,null!==a&&(a.x=d)),null!==y&&null!==s&&(s.x=_,s.y=f,null!==a&&(a.y=p)),m},e.prototype.getBone=function(t){for(var e=0,i=this._bones;e<i.length;e++){var n=i[e];if(n.name===t)return n}return null},e.prototype.getBoneByDisplay=function(t){var e=this.getSlotByDisplay(t);return null!==e?e.parent:null},e.prototype.getSlot=function(t){for(var e=0,i=this._slots;e<i.length;e++){var n=i[e];if(n.name===t)return n}return null},e.prototype.getSlotByDisplay=function(t){if(null!==t)for(var e=0,i=this._slots;e<i.length;e++){var n=i[e];if(n.display===t)return n}return null},e.prototype.getBones=function(){return this._bones},e.prototype.getSlots=function(){return this._slots},Object.defineProperty(e.prototype,"flipX",{get:function(){return this._flipX},set:function(t){this._flipX!==t&&(this._flipX=t,this.invalidUpdate())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"flipY",{get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this.invalidUpdate())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cacheFrameRate",{get:function(){return this._armatureData.cacheFrameRate},set:function(t){if(this._armatureData.cacheFrameRate!==t){this._armatureData.cacheFrames(t);for(var e=0,i=this._slots;e<i.length;e++){var n=i[e].childArmature;null!==n&&(n.cacheFrameRate=t)}}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._armatureData.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"armatureData",{get:function(){return this._armatureData},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animation",{get:function(){return this._animation},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"proxy",{get:function(){return this._proxy},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"eventDispatcher",{get:function(){return this._proxy},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"display",{get:function(){return this._display},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"replacedTexture",{get:function(){return this._replacedTexture},set:function(t){if(this._replacedTexture!==t){null!==this._replaceTextureAtlasData&&(this._replaceTextureAtlasData.returnToPool(),this._replaceTextureAtlasData=null),this._replacedTexture=t;for(var e=0,i=this._slots;e<i.length;e++){var n=i[e];n.invalidUpdate(),n.update(-1)}}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"clock",{get:function(){return this._clock},set:function(t){if(this._clock!==t){null!==this._clock&&this._clock.remove(this),this._clock=t,this._clock&&this._clock.add(this);for(var e=0,i=this._slots;e<i.length;e++){var n=i[e].childArmature;null!==n&&(n.clock=this._clock)}}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),e.prototype.replaceTexture=function(t){this.replacedTexture=t},e.prototype.hasEventListener=function(t){return this._proxy.hasDBEventListener(t)},e.prototype.addEventListener=function(t,e,i){this._proxy.addDBEventListener(t,e,i)},e.prototype.removeEventListener=function(t,e,i){this._proxy.removeDBEventListener(t,e,i)},e.prototype.enableAnimationCache=function(t){console.warn("Deprecated."),this.cacheFrameRate=t},e.prototype.getDisplay=function(){return this._display},e})((i=r||(r={})).BaseObject),i.Armature=n,(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.globalTransformMatrix=new t.Matrix,i.global=new t.Transform,i.offset=new t.Transform,i}return s(i,e),i.prototype._onClear=function(){this.globalTransformMatrix.identity(),this.global.identity(),this.offset.identity(),this.origin=null,this.userData=null,this._globalDirty=!1,this._armature=null},i.prototype.updateGlobalTransform=function(){this._globalDirty&&(this._globalDirty=!1,this.global.fromMatrix(this.globalTransformMatrix))},Object.defineProperty(i.prototype,"armature",{get:function(){return this._armature},enumerable:!0,configurable:!0}),i._helpMatrix=new t.Matrix,i._helpTransform=new t.Transform,i._helpPoint=new t.Point,i})(t.BaseObject);t.TransformObject=e})(r||(r={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.animationPose=new t.Transform,i._blendState=new t.BlendState,i}return s(i,e),i.toString=function(){return"[class dragonBones.Bone]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this.offsetMode=1,this.animationPose.identity(),this._transformDirty=!1,this._childrenTransformDirty=!1,this._localDirty=!0,this._hasConstraint=!1,this._visible=!0,this._cachedFrameIndex=-1,this._blendState.clear(),this._boneData=null,this._parent=null,this._cachedFrameIndices=null},i.prototype._updateGlobalTransformMatrix=function(e){var i=this._boneData,n=this.global,r=this.globalTransformMatrix,s=this.origin,a=this.offset,o=this.animationPose,l=this._parent,c=this._armature.flipX,h=this._armature.flipY===t.DragonBones.yDown,u=null!==l,_=0;if(1===this.offsetMode?null!==s?(n.x=s.x+a.x+o.x,n.scaleX=s.scaleX*a.scaleX*o.scaleX,n.scaleY=s.scaleY*a.scaleY*o.scaleY,t.DragonBones.yDown?(n.y=s.y+a.y+o.y,n.skew=s.skew+a.skew+o.skew,n.rotation=s.rotation+a.rotation+o.rotation):(n.y=s.y-a.y+o.y,n.skew=s.skew-a.skew+o.skew,n.rotation=s.rotation-a.rotation+o.rotation)):(n.copyFrom(a),t.DragonBones.yDown||(n.y=-n.y,n.skew=-n.skew,n.rotation=-n.rotation),n.add(o)):0===this.offsetMode?null!==s?n.copyFrom(s).add(o):n.copyFrom(o):(u=!1,n.copyFrom(a),t.DragonBones.yDown||(n.y=-n.y,n.skew=-n.skew,n.rotation=-n.rotation)),u){var f=0===l._boneData.type?l.globalTransformMatrix:l._getGlobalTransformMatrix(n.x,n.y);if(i.inheritScale)i.inheritRotation||(l.updateGlobalTransform(),_=c&&h?n.rotation-(l.global.rotation+Math.PI):c?n.rotation+l.global.rotation+Math.PI:h?n.rotation+l.global.rotation:n.rotation-l.global.rotation,n.rotation=_),n.toMatrix(r),r.concat(f),i.inheritTranslation?(n.x=r.tx,n.y=r.ty):(r.tx=n.x,r.ty=n.y),e?n.fromMatrix(r):this._globalDirty=!0;else{if(i.inheritTranslation){var d=n.x,p=n.y;n.x=f.a*d+f.c*p+f.tx,n.y=f.b*d+f.d*p+f.ty}else c&&(n.x=-n.x),h&&(n.y=-n.y);i.inheritRotation?(l.updateGlobalTransform(),_=l.global.scaleX<0?n.rotation+l.global.rotation+Math.PI:n.rotation+l.global.rotation,f.a*f.d-f.b*f.c<0&&(_-=2*n.rotation,(c!==h||i.inheritReflection)&&(n.skew+=Math.PI),t.DragonBones.yDown||(n.skew=-n.skew)),n.rotation=_):(c||h)&&(c&&h?_=n.rotation+Math.PI:(_=c?Math.PI-n.rotation:-n.rotation,n.skew+=Math.PI),n.rotation=_),n.toMatrix(r)}}else(c||h)&&(c&&(n.x=-n.x),h&&(n.y=-n.y),c&&h?_=n.rotation+Math.PI:(_=c?Math.PI-n.rotation:-n.rotation,n.skew+=Math.PI),n.rotation=_),n.toMatrix(r)},i.prototype.init=function(t,e){null===this._boneData&&(this._boneData=t,this._armature=e,null!==this._boneData.parent&&(this._parent=this._armature.getBone(this._boneData.parent.name)),this._armature._addBone(this),this.origin=this._boneData.transform)},i.prototype.update=function(t){if(this._blendState.dirty=!1,t>=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];if(e>=0&&this._cachedFrameIndex===e)this._transformDirty=!1;else if(e>=0)this._transformDirty=!0,this._cachedFrameIndex=e;else{if(this._hasConstraint)for(var i=0,n=this._armature._constraints;i<n.length;i++)(a=n[i])._root===this&&a.update();this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var r=0,s=this._armature._constraints;r<s.length;r++){var a;(a=s[r])._root===this&&a.update()}(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1)}if(this._transformDirty)if(this._transformDirty=!1,this._childrenTransformDirty=!0,this._cachedFrameIndex<0){var o=t>=0;this._localDirty&&this._updateGlobalTransformMatrix(o),o&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},i.prototype.updateByConstraint=function(){this._localDirty&&(this._localDirty=!1,(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&this._updateGlobalTransformMatrix(!0),this._transformDirty=!0)},i.prototype.invalidUpdate=function(){this._transformDirty=!0},i.prototype.contains=function(t){if(t===this)return!1;for(var e=t;e!==this&&null!==e;)e=e.parent;return e===this},Object.defineProperty(i.prototype,"boneData",{get:function(){return this._boneData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){if(this._visible!==t){this._visible=t;for(var e=0,i=this._armature.getSlots();e<i.length;e++){var n=i[e];n.parent===this&&n._updateVisible()}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._boneData.name},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),i.prototype.getBones=function(){console.warn("Deprecated.");for(var t=new Array,e=0,i=this._armature.getBones();e<i.length;e++){var n=i[e];n.parent===this&&t.push(n)}return t},i.prototype.getSlots=function(){console.warn("Deprecated.");for(var t=new Array,e=0,i=this._armature.getSlots();e<i.length;e++){var n=i[e];n.parent===this&&t.push(n)}return t},Object.defineProperty(i.prototype,"slot",{get:function(){console.warn("Deprecated.");for(var t=0,e=this._armature.getSlots();t<e.length;t++){var i=e[t];if(i.parent===this)return i}return null},enumerable:!0,configurable:!0}),i})(t.TransformObject);t.Bone=e})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._vertices=[],e._deformVertices=[],e._hullCache=[],e._matrixCahce=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.Surface]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._dX=0,this._dY=0,this._k=0,this._kX=0,this._kY=0,this._vertices.length=0,this._deformVertices.length=0,this._matrixCahce.length=0,this._hullCache.length=0},e.prototype._getAffineTransform=function(t,e,i,n,r,s,a,o,l,c,h,u,_){var f=a-r,d=o-s,p=l-r,m=c-s;h.rotation=Math.atan2(d,f),h.skew=Math.atan2(m,p)-.5*Math.PI-h.rotation,_&&(h.rotation+=Math.PI),h.scaleX=Math.sqrt(f*f+d*d)/i,h.scaleY=Math.sqrt(p*p+m*m)/n,h.toMatrix(u),h.x=u.tx=r-(u.a*t+u.c*e),h.y=u.ty=s-(u.b*t+u.d*e)},e.prototype._updateVertices=function(){var t=this._boneData.vertices,e=this._vertices,i=this._deformVertices;if(null!==this._parent)if(1===this._parent._boneData.type)for(var n=0,r=t.length;n<r;n+=2){var s=t[n]+i[n],a=t[n+1]+i[n],o=this._parent._getGlobalTransformMatrix(s,a);e[n]=o.a*s+o.c*a+o.tx,e[n+1]=o.b*s+o.d*a+o.ty}else{var l=this._parent.globalTransformMatrix;for(n=0,r=t.length;n<r;n+=2)s=t[n]+i[n],a=t[n+1]+i[n+1],e[n]=l.a*s+l.c*a+l.tx,e[n+1]=l.b*s+l.d*a+l.ty}else for(n=0,r=t.length;n<r;n+=2)e[n]=t[n]+i[n],e[n+1]=t[n+1]+i[n+1]},e.prototype._updateGlobalTransformMatrix=function(){var t=2*this._boneData.segmentX,e=this._vertices.length-2,i=this._vertices[0],n=this._vertices[1],r=this._vertices[t],s=this._vertices[t+1],a=this._vertices[e],o=this._vertices[e+1],l=this._vertices[e-t],c=this._vertices[e-t+1],h=i+.5*(a-i),u=n+.5*(o-n),_=h+.5*(r+.5*(l-r)-h),f=u+.5*(s+.5*(c-s)-u),d=r+.5*(a-r),p=s+.5*(o-s),m=l+.5*(a-l),y=c+.5*(o-c);this._globalDirty=!1,this._getAffineTransform(0,0,200,200,_,f,d,p,m,y,this.global,this.globalTransformMatrix,!1)},e.prototype._getGlobalTransformMatrix=function(t,i){var n=1e3;if(t<-n||n<t||i<-n||n<i)return this.globalTransformMatrix;var r=!1,s=200,a=this._boneData,o=a.segmentX,l=a.segmentY,c=2*a.segmentX,h=this._dX,u=this._dY,_=Math.floor((t+s)/h),f=Math.floor((i+s)/u),d=0,p=_*h-s,m=f*u-s,y=this._matrixCahce,v=e._helpMatrix;if(t<-s){if(i<-s||i>=s)return this.globalTransformMatrix;if(d=7*(2*(o*(l+1)+2*o+l+f)+((r=i>this._kX*(t+s)+m)?1:0)),this._matrixCahce[d]>0)v.copyFromArray(y,d+1);else{var g=f*(c+2),b=this._hullCache[4],A=this._hullCache[5],x=this._hullCache[2]-(l-f)*b,C=this._hullCache[3]-(l-f)*A,T=this._vertices;r?this._getAffineTransform(-s,m+u,800,u,T[g+c+2],T[g+c+3],x+b,C+A,T[g],T[g+1],e._helpTransform,v,!0):this._getAffineTransform(-n,m,800,u,x,C,T[g],T[g+1],x+b,C+A,e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty}}else if(t>=s){if(i<-s||i>=s)return this.globalTransformMatrix;d=7*(2*(o*(l+1)+o+f)+((r=i>this._kX*(t-n)+m)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=(f+1)*(c+2)-2,b=this._hullCache[4],A=this._hullCache[5],x=this._hullCache[0]+f*b,C=this._hullCache[1]+f*A,T=this._vertices,r?this._getAffineTransform(n,m+u,800,u,x+b,C+A,T[g+c+2],T[g+c+3],x,C,e._helpTransform,v,!0):this._getAffineTransform(s,m,800,u,T[g],T[g+1],x,C,T[g+c+2],T[g+c+3],e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty)}else if(i<-s){if(t<-s||t>=s)return this.globalTransformMatrix;d=7*(o*(l+1)+2*_+((r=i>this._kY*(t-p-h)-n)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=2*_,b=this._hullCache[10],A=this._hullCache[11],x=this._hullCache[8]+_*b,C=this._hullCache[9]+_*A,T=this._vertices,r?this._getAffineTransform(p+h,-s,h,800,T[g+2],T[g+3],T[g],T[g+1],x+b,C+A,e._helpTransform,v,!0):this._getAffineTransform(p,-n,h,800,x,C,x+b,C+A,T[g],T[g+1],e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty)}else if(i>=s){if(t<-s||t>=s)return this.globalTransformMatrix;d=7*(2*(o*(l+1)+o+l+f)+((r=i>this._kY*(t-p-h)+s)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=l*(c+2)+2*_,b=this._hullCache[10],A=this._hullCache[11],x=this._hullCache[6]-(o-_)*b,C=this._hullCache[7]-(o-_)*A,T=this._vertices,r?this._getAffineTransform(p+h,n,h,800,x+b,C+A,x,C,T[g+2],T[g+3],e._helpTransform,v,!0):this._getAffineTransform(p,s,h,800,T[g],T[g+1],T[g+2],T[g+3],x,C,e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty)}else d=7*(2*(o*f+_)+((r=i>this._k*(t-p-h)+m)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=2*_+f*(c+2),T=this._vertices,r?this._getAffineTransform(p+h,m+u,h,u,T[g+c+4],T[g+c+5],T[g+c+2],T[g+c+3],T[g+2],T[g+3],e._helpTransform,v,!0):this._getAffineTransform(p,m,h,u,T[g],T[g+1],T[g+2],T[g+3],T[g+c+2],T[g+c+3],e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty);return v},e.prototype.init=function(e,i){if(null===this._boneData){t.prototype.init.call(this,e,i);var n=e.segmentX,r=e.segmentY,s=e.vertices.length;this._dX=400/n,this._dY=400/r,this._k=-this._dY/this._dX,this._kX=-this._dY/800,this._kY=-800/this._dX,this._vertices.length=s,this._deformVertices.length=s,this._matrixCahce.length=14*(n*r+2*n+2*r),this._hullCache.length=10;for(var a=0;a<s;++a)this._deformVertices[a]=0}},e.prototype.update=function(t){if(this._blendState.dirty=!1,t>=0&&null!==this._cachedFrameIndices){var i=this._cachedFrameIndices[t];if(i>=0&&this._cachedFrameIndex===i)this._transformDirty=!1;else if(i>=0)this._transformDirty=!0,this._cachedFrameIndex=i;else{if(this._hasConstraint)for(var n=0,r=this._armature._constraints;n<r.length;n++)(o=r[n])._root===this&&o.update();this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var s=0,a=this._armature._constraints;s<a.length;s++){var o;(o=a[s])._root===this&&o.update()}(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1)}if(this._transformDirty){this._transformDirty=!1,this._childrenTransformDirty=!0;for(var l=0,c=this._matrixCahce.length;l<c;l+=7)this._matrixCahce[l]=-1;if(this._updateVertices(),this._cachedFrameIndex<0){var h=t>=0;this._localDirty&&this._updateGlobalTransformMatrix(h),h&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);var u=2*this.global.x,_=2*this.global.y,f=e._helpPoint;this.globalTransformMatrix.transformPoint(1e3,-200,f),this._hullCache[0]=f.x,this._hullCache[1]=f.y,this._hullCache[2]=u-f.x,this._hullCache[3]=_-f.y,this.globalTransformMatrix.transformPoint(0,this._dY,f,!0),this._hullCache[4]=f.x,this._hullCache[5]=f.y,this.globalTransformMatrix.transformPoint(200,1e3,f),this._hullCache[6]=f.x,this._hullCache[7]=f.y,this._hullCache[8]=u-f.x,this._hullCache[9]=_-f.y,this.globalTransformMatrix.transformPoint(this._dX,0,f,!0),this._hullCache[10]=f.x,this._hullCache[11]=f.y}else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},e})(t.Bone);t.Surface=e})(r||(r={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i._localMatrix=new t.Matrix,i._colorTransform=new t.ColorTransform,i._displayDatas=[],i._displayList=[],i._deformVertices=null,i._rawDisplay=null,i._meshDisplay=null,i}return s(i,e),i.prototype._onClear=function(){e.prototype._onClear.call(this);for(var i=[],n=0,r=this._displayList;n<r.length;n++)null!==(o=r[n])&&o!==this._rawDisplay&&o!==this._meshDisplay&&i.indexOf(o)<0&&i.push(o);for(var s=0,a=i;s<a.length;s++){var o;(o=a[s])instanceof t.Armature?o.dispose():this._disposeDisplay(o,!0)}null!==this._deformVertices&&this._deformVertices.returnToPool(),null!==this._meshDisplay&&this._meshDisplay!==this._rawDisplay&&this._disposeDisplay(this._meshDisplay,!1),null!==this._rawDisplay&&this._disposeDisplay(this._rawDisplay,!1),this.displayController=null,this._displayDirty=!1,this._zOrderDirty=!1,this._blendModeDirty=!1,this._colorDirty=!1,this._transformDirty=!1,this._visible=!0,this._blendMode=0,this._displayIndex=-1,this._animationDisplayIndex=-1,this._zOrder=0,this._cachedFrameIndex=-1,this._pivotX=0,this._pivotY=0,this._localMatrix.identity(),this._colorTransform.identity(),this._displayList.length=0,this._displayDatas.length=0,this._slotData=null,this._rawDisplayDatas=null,this._displayData=null,this._boundingBoxData=null,this._textureData=null,this._deformVertices=null,this._rawDisplay=null,this._meshDisplay=null,this._display=null,this._childArmature=null,this._parent=null,this._cachedFrameIndices=null},i.prototype._getDefaultRawDisplayData=function(t){var e=this._armature._armatureData.defaultSkin;if(null!==e){var i=e.getDisplays(this._slotData.name);if(null!==i)return t<i.length?i[t]:null}return null},i.prototype._updateDisplayData=function(){var e=this._displayData,n=null!==this._deformVertices?this._deformVertices.verticesData:null,r=this._textureData,s=null,a=null;if(this._displayData=null,this._boundingBoxData=null,this._textureData=null,this._displayIndex>=0&&(null!==this._rawDisplayDatas&&(s=this._displayIndex<this._rawDisplayDatas.length?this._rawDisplayDatas[this._displayIndex]:null),null===s&&(s=this._getDefaultRawDisplayData(this._displayIndex)),this._displayIndex<this._displayDatas.length&&(this._displayData=this._displayDatas[this._displayIndex])),null!==this._displayData&&(2===this._displayData.type?a=this._displayData.vertices:4===this._displayData.type?a=this._displayData.vertices:null!==s&&(2===s.type?a=s.vertices:4===s.type&&(a=s.vertices)),3===this._displayData.type?this._boundingBoxData=this._displayData.boundingBox:null!==s&&3===s.type&&(this._boundingBoxData=s.boundingBox),0===this._displayData.type?this._textureData=this._displayData.texture:2===this._displayData.type&&(this._textureData=this._displayData.texture)),this._displayData!==e||a!==n||this._textureData!==r){if(null===a&&null!==this._textureData){var o=this._displayData,l=this._textureData.parent.scale*this._armature._armatureData.scale,c=this._textureData.frame;this._pivotX=o.pivot.x,this._pivotY=o.pivot.y;var h=null!==c?c:this._textureData.region,u=h.width,_=h.height;this._textureData.rotated&&null===c&&(u=h.height,_=h.width),this._pivotX*=u*l,this._pivotY*=_*l,null!==c&&(this._pivotX+=c.x*l,this._pivotY+=c.y*l),null!==this._displayData&&null!==s&&this._displayData!==s&&(s.transform.toMatrix(i._helpMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(0,0,i._helpPoint),this._pivotX-=i._helpPoint.x,this._pivotY-=i._helpPoint.y,this._displayData.transform.toMatrix(i._helpMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(0,0,i._helpPoint),this._pivotX+=i._helpPoint.x,this._pivotY+=i._helpPoint.y),t.DragonBones.yDown||(this._pivotY=(this._textureData.rotated?this._textureData.region.width:this._textureData.region.height)*l-this._pivotY)}else this._pivotX=0,this._pivotY=0;null!==s?this.origin=s.transform:null!==this._displayData?this.origin=this._displayData.transform:this.origin=null,a!==n?(null===this._deformVertices&&(this._deformVertices=t.BaseObject.borrowObject(t.DeformVertices)),this._deformVertices.init(a,this._armature)):null!==this._deformVertices&&this._textureData!==r&&(this._deformVertices.verticesDirty=!0),this._displayDirty=!0,this._transformDirty=!0}},i.prototype._updateDisplay=function(){var e=null!==this._display?this._display:this._rawDisplay,i=this._childArmature;this._displayIndex>=0&&this._displayIndex<this._displayList.length?(this._display=this._displayList[this._displayIndex],null!==this._display&&this._display instanceof t.Armature?(this._childArmature=this._display,this._display=this._childArmature.display):this._childArmature=null):(this._display=null,this._childArmature=null);var n=null!==this._display?this._display:this._rawDisplay;if(n!==e&&(this._onUpdateDisplay(),this._replaceDisplay(e),this._transformDirty=!0,this._visibleDirty=!0,this._blendModeDirty=!0,this._colorDirty=!0),n!==this._rawDisplay&&n!==this._meshDisplay||this._updateFrame(),this._childArmature!==i&&(null!==i&&(i._parent=null,i.clock=null,i.inheritAnimation&&i.animation.reset()),null!==this._childArmature&&(this._childArmature._parent=this,this._childArmature.clock=this._armature.clock,this._childArmature.inheritAnimation))){if(0===this._childArmature.cacheFrameRate){var r=this._armature.cacheFrameRate;0!==r&&(this._childArmature.cacheFrameRate=r)}var s=null;if(null!==this._displayData&&1===this._displayData.type)s=this._displayData.actions;else if(this._displayIndex>=0&&null!==this._rawDisplayDatas){var a=this._displayIndex<this._rawDisplayDatas.length?this._rawDisplayDatas[this._displayIndex]:null;null===a&&(a=this._getDefaultRawDisplayData(this._displayIndex)),null!==a&&1===a.type&&(s=a.actions)}if(null!==s&&s.length>0)for(var o=0,l=s;o<l.length;o++){var c=l[o],h=t.BaseObject.borrowObject(t.EventObject);t.EventObject.actionDataToInstance(c,h,this._armature),h.slot=this,this._armature._bufferAction(h,!1)}else this._childArmature.animation.play()}},i.prototype._updateGlobalTransformMatrix=function(t){var e=0===this._parent._boneData.type?this._parent.globalTransformMatrix:this._parent._getGlobalTransformMatrix(this.global.x,this.global.y);this.globalTransformMatrix.copyFrom(this._localMatrix),this.globalTransformMatrix.concat(e),t?this.global.fromMatrix(this.globalTransformMatrix):this._globalDirty=!0},i.prototype._setDisplayIndex=function(t,e){if(void 0===e&&(e=!1),e){if(this._animationDisplayIndex===t)return!1;this._animationDisplayIndex=t}return this._displayIndex!==t&&(this._displayIndex=t,this._displayDirty=!0,this._updateDisplayData(),this._displayDirty)},i.prototype._setZorder=function(t){return this._zOrder,this._zOrder=t,this._zOrderDirty=!0,this._zOrderDirty},i.prototype._setColor=function(t){return this._colorTransform.copyFrom(t),this._colorDirty=!0,this._colorDirty},i.prototype._setDisplayList=function(e){if(null!==e&&e.length>0){this._displayList.length!==e.length&&(this._displayList.length=e.length);for(var i=0,n=e.length;i<n;++i){var r=e[i];null!==r&&r!==this._rawDisplay&&r!==this._meshDisplay&&!(r instanceof t.Armature)&&this._displayList.indexOf(r)<0&&this._initDisplay(r,!0),this._displayList[i]=r}}else this._displayList.length>0&&(this._displayList.length=0);return this._displayIndex>=0&&this._displayIndex<this._displayList.length?this._displayDirty=this._display!==this._displayList[this._displayIndex]:this._displayDirty=null!==this._display,this._updateDisplayData(),this._displayDirty},i.prototype.init=function(t,e,i,n){if(null===this._slotData){this._slotData=t,this._isFromCache=!1,this._visibleDirty=!0,this._blendModeDirty=!0,this._colorDirty=!0,this._blendMode=this._slotData.blendMode,this._zOrder=this._slotData.zOrder,this._colorTransform.copyFrom(this._slotData.color),this._rawDisplay=i,this._meshDisplay=n,this._armature=e;var r=this._armature.getBone(this._slotData.parent.name);null!==r&&(this._parent=r),this._armature._addSlot(this),this._initDisplay(this._rawDisplay,!1),this._rawDisplay!==this._meshDisplay&&this._initDisplay(this._meshDisplay,!1),this._onUpdateDisplay(),this._addDisplay()}},i.prototype.update=function(t){if(this._isFromCache=!1,this._displayDirty&&(this._displayDirty=!1,this._updateDisplay(),this._transformDirty&&(null!==this.origin?this.global.copyFrom(this.origin).add(this.offset).toMatrix(this._localMatrix):this.global.copyFrom(this.offset).toMatrix(this._localMatrix))),this._zOrderDirty&&(this._zOrderDirty=!1,this._updateZOrder()),t>=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];e>=0&&this._cachedFrameIndex===e?this._transformDirty=!1:e>=0?(this._transformDirty=!0,this._cachedFrameIndex=e):this._transformDirty||this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}else(this._transformDirty||this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1);if(null!==this._display){if(this._visibleDirty&&(this._visibleDirty=!1,this._updateVisible()),this._blendModeDirty&&(this._blendModeDirty=!1,this._updateBlendMode()),this._colorDirty&&(this._colorDirty=!1,this._updateColor()),null!==this._deformVertices&&null!==this._deformVertices.verticesData&&this._display===this._meshDisplay){var i=null!==this._deformVertices.verticesData.weight,n=0!==this._parent._boneData.type;if((this._deformVertices.verticesDirty||i&&this._deformVertices.isBonesUpdate()||n&&this._parent._childrenTransformDirty)&&(this._deformVertices.verticesDirty=!1,this._updateMesh()),i||n)return}if(this._transformDirty){if(this._transformDirty=!1,this._cachedFrameIndex<0){var r=t>=0;this._updateGlobalTransformMatrix(r),r&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._isFromCache=!0,this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);this._updateTransform()}}},i.prototype.updateTransformAndMatrix=function(){this._transformDirty&&(this._transformDirty=!1,this._updateGlobalTransformMatrix(!1))},i.prototype.replaceDisplayData=function(t,e){if(void 0===e&&(e=-1),e<0&&(e=this._displayIndex<0?0:this._displayIndex),this._displayDatas.length<=e){this._displayDatas.length=e+1;for(var i=0,n=this._displayDatas.length;i<n;++i)this._displayDatas[i]||(this._displayDatas[i]=null)}this._displayDatas[e]=t},i.prototype.containsPoint=function(t,e){return null!==this._boundingBoxData&&(this.updateTransformAndMatrix(),i._helpMatrix.copyFrom(this.globalTransformMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(t,e,i._helpPoint),this._boundingBoxData.containsPoint(i._helpPoint.x,i._helpPoint.y))},i.prototype.intersectsSegment=function(t,e,n,r,s,a,o){if(void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),null===this._boundingBoxData)return 0;this.updateTransformAndMatrix(),i._helpMatrix.copyFrom(this.globalTransformMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(t,e,i._helpPoint),t=i._helpPoint.x,e=i._helpPoint.y,i._helpMatrix.transformPoint(n,r,i._helpPoint),n=i._helpPoint.x,r=i._helpPoint.y;var l=this._boundingBoxData.intersectsSegment(t,e,n,r,s,a,o);return l>0&&(1===l||2===l?null!==s?(this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&(a.x=s.x,a.y=s.y)):null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a):(null!==s&&this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a)),null!==o&&(this.globalTransformMatrix.transformPoint(Math.cos(o.x),Math.sin(o.x),i._helpPoint,!0),o.x=Math.atan2(i._helpPoint.y,i._helpPoint.x),this.globalTransformMatrix.transformPoint(Math.cos(o.y),Math.sin(o.y),i._helpPoint,!0),o.y=Math.atan2(i._helpPoint.y,i._helpPoint.x))),l},i.prototype.invalidUpdate=function(){this._displayDirty=!0,this._transformDirty=!0},Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){this._visible!==t&&(this._visible=t,this._updateVisible())},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayIndex",{get:function(){return this._displayIndex},set:function(t){this._setDisplayIndex(t)&&this.update(-1)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._slotData.name},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayList",{get:function(){return this._displayList.concat()},set:function(e){var i=this._displayList.concat(),n=new Array;this._setDisplayList(e)&&this.update(-1);for(var r=0,s=i;r<s.length;r++)null!==(l=s[r])&&l!==this._rawDisplay&&l!==this._meshDisplay&&this._displayList.indexOf(l)<0&&n.indexOf(l)<0&&n.push(l);for(var a=0,o=n;a<o.length;a++){var l;(l=o[a])instanceof t.Armature||this._disposeDisplay(l,!0)}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"slotData",{get:function(){return this._slotData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"rawDisplayDatas",{get:function(){return this._rawDisplayDatas},set:function(t){if(this._rawDisplayDatas!==t)if(this._displayDirty=!0,this._rawDisplayDatas=t,null!==this._rawDisplayDatas){this._displayDatas.length=this._rawDisplayDatas.length;for(var e=0,i=this._displayDatas.length;e<i;++e){var n=this._rawDisplayDatas[e];null===n&&(n=this._getDefaultRawDisplayData(e)),this._displayDatas[e]=n}}else this._displayDatas.length=0},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayData",{get:function(){return this._displayData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"boundingBoxData",{get:function(){return this._boundingBoxData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"rawDisplay",{get:function(){return this._rawDisplay},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"meshDisplay",{get:function(){return this._meshDisplay},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"display",{get:function(){return this._display},set:function(t){if(this._display!==t){var e=this._displayList.length;if(this._displayIndex<0&&0===e&&(this._displayIndex=0),!(this._displayIndex<0)){var i=this.displayList;e<=this._displayIndex&&(i.length=this._displayIndex+1),i[this._displayIndex]=t,this.displayList=i}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"childArmature",{get:function(){return this._childArmature},set:function(t){this._childArmature!==t&&(this.display=t)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),i.prototype.getDisplay=function(){return this._display},i.prototype.setDisplay=function(t){this.display=t},i})(t.TransformObject);t.Slot=e})(r||(r={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.prototype._onClear=function(){this._armature=null,this._target=null,this._root=null,this._bone=null},Object.defineProperty(i.prototype,"name",{get:function(){return this._constraintData.name},enumerable:!0,configurable:!0}),i._helpMatrix=new t.Matrix,i._helpTransform=new t.Transform,i._helpPoint=new t.Point,i})(t.BaseObject);t.Constraint=e;var i=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.IKConstraint]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this._scaleEnabled=!1,this._bendPositive=!1,this._weight=1,this._constraintData=null},i.prototype._computeA=function(){var e=this._target.global,i=this._root.global,n=this._root.globalTransformMatrix,r=Math.atan2(e.y-i.y,e.x-i.x);i.scaleX<0&&(r+=Math.PI),i.rotation+=t.Transform.normalizeRadian(r-i.rotation)*this._weight,i.toMatrix(n)},i.prototype._computeB=function(){var e=this._bone._boneData.length,i=this._root,n=this._target.global,r=i.global,s=this._bone.global,a=this._bone.globalTransformMatrix,o=a.a*e,l=a.b*e,c=o*o+l*l,h=Math.sqrt(c),u=s.x-r.x,_=s.y-r.y,f=u*u+_*_,d=Math.sqrt(f),p=s.rotation,m=r.rotation,y=Math.atan2(_,u),v=(u=n.x-r.x)*u+(_=n.y-r.y)*_,g=Math.sqrt(v),b=0;if(h+d<=g||g+h<=d||g+d<=h)b=Math.atan2(n.y-r.y,n.x-r.x),h+d<=g||d<h&&(b+=Math.PI);else{var A=(f-c+v)/(2*v),x=Math.sqrt(f-A*A*v)/g,C=r.x+u*A,T=r.y+_*A,S=-_*x,w=u*x,E=!1,M=i.parent;if(null!==M){var D=M.globalTransformMatrix;E=D.a*D.d-D.b*D.c<0}E!==this._bendPositive?(s.x=C-S,s.y=T-w):(s.x=C+S,s.y=T+w),b=Math.atan2(s.y-r.y,s.x-r.x)}var B=t.Transform.normalizeRadian(b-y);r.rotation=m+B*this._weight,r.toMatrix(i.globalTransformMatrix);var I=y+B*this._weight;s.x=r.x+Math.cos(I)*d,s.y=r.y+Math.sin(I)*d;var P=Math.atan2(n.y-s.y,n.x-s.x);s.scaleX<0&&(P+=Math.PI),s.rotation=r.rotation+p-m+t.Transform.normalizeRadian(P-B-p)*this._weight,s.toMatrix(a)},i.prototype.init=function(t,e){if(null===this._constraintData){this._constraintData=t,this._armature=e,this._target=this._armature.getBone(this._constraintData.target.name),this._root=this._armature.getBone(this._constraintData.root.name),this._bone=null!==this._constraintData.bone?this._armature.getBone(this._constraintData.bone.name):null;var i=this._constraintData;this._scaleEnabled=i.scaleEnabled,this._bendPositive=i.bendPositive,this._weight=i.weight,this._root._hasConstraint=!0}},i.prototype.update=function(){this._root.updateByConstraint(),null!==this._bone?(this._bone.updateByConstraint(),this._computeB()):this._computeA()},i.prototype.invalidUpdate=function(){this._root.invalidUpdate(),null!==this._bone&&this._bone.invalidUpdate()},i})(e);t.IKConstraint=i;var n=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._bones=[],t._spaces=[],t._positions=[],t._curves=[],t._boneLengths=[],t._pathGlobalVertices=[],t._segments=[10],t}return s(i,e),i.toString=function(){return"[class dragonBones.PathConstraint]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this.dirty=!1,this.pathOffset=0,this.position=0,this.spacing=0,this.rotateOffset=0,this.rotateMix=1,this.translateMix=1,this._pathSlot=null,this._bones.length=0,this._spaces.length=0,this._positions.length=0,this._curves.length=0,this._boneLengths.length=0,this._pathGlobalVertices.length=0},i.prototype._updatePathVertices=function(t){var e=this._armature,i=e.armatureData.parent,n=e.armatureData.scale,r=i.intArray,s=i.floatArray,a=t.offset,o=r[a+0],l=r[a+2];this._pathGlobalVertices.length=2*o;var c=t.weight;if(null!==c)for(var h=this._pathSlot._deformVertices.bones,u=c.bones.length,_=c.offset,f=r[_+1],d=_+2+u,p=(T=0,0);T<o;T++){for(var m=0,y=0,v=0,g=r[d++];v<g;v++){var b=h[r[d++]];if(null!==b){b.updateByConstraint(),C=b.globalTransformMatrix;var A=s[f++];w=s[f++]*n,E=s[f++]*n,m+=(C.a*w+C.c*E+C.tx)*A,y+=(C.b*w+C.d*E+C.ty)*A}}this._pathGlobalVertices[p++]=m,this._pathGlobalVertices[p++]=y}else{var x=this._pathSlot.parent;x.updateByConstraint();for(var C=x.globalTransformMatrix,T=0,S=l;T<o;T+=2){var w=s[S++]*n,E=s[S++]*n,M=C.a*w+C.c*E+C.tx,D=C.b*w+C.d*E+C.ty;this._pathGlobalVertices[T]=M,this._pathGlobalVertices[T+1]=D}}},i.prototype._computeVertices=function(t,e,i,n){for(var r=i,s=t;r<e;r+=2)n[r]=this._pathGlobalVertices[s++],n[r+1]=this._pathGlobalVertices[s++]},i.prototype._computeBezierCurve=function(t,e,i,n,r){var s=this._armature.armatureData.parent.intArray[t.vertices.offset+0],a=this._positions,o=this._spaces,l=t.closed,c=Array(),h=2*s,u=h/6,_=-1,f=this.position;a.length=3*e+2;var d=0;if(t.constantSpeed){l?(h+=2,c.length=s,this._computeVertices(2,h-4,0,c),this._computeVertices(0,2,h-4,c),c[h-2]=c[0],c[h-1]=c[1]):(u--,h-=4,c.length=h,this._computeVertices(2,h,0,c));var p=new Array(u);d=0;for(var m,y,v,g,b,A,x,C,T=c[0],S=c[1],w=0,E=0,M=0,D=0,B=0,I=0,P=(U=0,2);U<u;U++,P+=6)w=c[P],E=c[P+1],M=c[P+2],D=c[P+3],b=2*(m=.1875*(T-2*w+M))+(v=.09375*(3*(w-M)-T+(B=c[P+4]))),A=2*(y=.1875*(S-2*E+D))+(g=.09375*(3*(E-D)-S+(I=c[P+5]))),x=.75*(w-T)+m+.16666667*v,C=.75*(E-S)+y+.16666667*g,d+=Math.sqrt(x*x+C*C),x+=b,C+=A,b+=v,A+=g,d+=Math.sqrt(x*x+C*C),x+=b,C+=A,d+=Math.sqrt(x*x+C*C),x+=b+v,C+=A+g,d+=Math.sqrt(x*x+C*C),p[U]=d,T=B,S=I;if(n&&(f*=d),r)for(U=0;U<e;U++)o[U]*=d;for(var R=this._segments,O=0,L=(U=0,j=0,H=0,0);U<e;U++,j+=3){var F=f+=o[U];if(l)(F%=d)<0&&(F+=d),H=0;else{if(F<0)continue;if(F>d)continue}for(;;H++){var V=p[H];if(!(F>V)){0===H?F/=V:F=(F-(z=p[H-1]))/(V-z);break}}if(H!==_){_=H;var N=6*H;for(T=c[N],S=c[N+1],w=c[N+2],E=c[N+3],M=c[N+4],D=c[N+5],b=2*(m=.03*(T-2*w+M))+(v=.006*(3*(w-M)-T+(B=c[N+6]))),A=2*(y=.03*(S-2*E+D))+(g=.006*(3*(E-D)-S+(I=c[N+7]))),x=.3*(w-T)+m+.16666667*v,C=.3*(E-S)+y+.16666667*g,O=Math.sqrt(x*x+C*C),R[0]=O,N=1;N<8;N++)x+=b,C+=A,b+=v,A+=g,O+=Math.sqrt(x*x+C*C),R[N]=O;x+=b,C+=A,O+=Math.sqrt(x*x+C*C),R[8]=O,x+=b+v,C+=A+g,O+=Math.sqrt(x*x+C*C),R[9]=O,L=0}for(F*=O;;L++){var k=R[L];if(!(F>k)){var z;0===L?F/=k:F=L+(F-(z=R[L-1]))/(k-z);break}}this.addCurvePosition(.1*F,T,S,w,E,M,D,B,I,a,j,i)}}else{var G=t.curveLengths;if(d=G[u-=l?1:2],n&&(f*=d),r)for(var U=0;U<e;U++)o[U]*=d;c.length=8;U=0;for(var j=0,H=0;U<e;U++,j+=3){if(f+=o[U],l)(f%=d)<0&&(f+=d),H=0;else{if(f<0)continue;if(f>d)continue}for(var W=0;;H++){var X=G[H];if(!(f>X)){if(0===H)W=f/X;else{var Y=G[H-1];W=(f-Y)/(X-Y)}break}}H!==_&&(_=H,l&&H===u?(this._computeVertices(h-4,4,0,c),this._computeVertices(0,4,4,c)):this._computeVertices(6*H+2,8,0,c)),this.addCurvePosition(W,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],a,j,i)}}},i.prototype.addCurvePosition=function(t,e,i,n,r,s,a,o,l,c,h,u){if(0===t)return c[h]=e,c[h+1]=i,void(c[h+2]=0);if(1===t)return c[h]=o,c[h+1]=l,void(c[h+2]=0);var _=1-t,f=_*_,d=t*t,p=f*_,m=f*t*3,y=_*d*3,v=t*d,g=p*e+m*n+y*s+v*o,b=p*i+m*r+y*a+v*l;c[h]=g,c[h+1]=b,c[h+2]=u?Math.atan2(b-(p*i+m*r+y*a),g-(p*e+m*n+y*s)):0},i.prototype.init=function(t,e){this._constraintData=t,this._armature=e;var i=t;this.pathOffset=i.pathDisplayData.vertices.offset,this.position=i.position,this.spacing=i.spacing,this.rotateOffset=i.rotateOffset,this.rotateMix=i.rotateMix,this.translateMix=i.translateMix,this._root=this._armature.getBone(i.root.name),this._target=this._armature.getBone(i.target.name),this._pathSlot=this._armature.getSlot(i.pathSlot.name);for(var n=0,r=i.bones.length;n<r;n++){var s=this._armature.getBone(i.bones[n].name);null!==s&&this._bones.push(s)}2===i.rotateMode&&(this._boneLengths.length=this._bones.length),this._root._hasConstraint=!0},i.prototype.update=function(){var e=this._pathSlot;if(null!==e._deformVertices&&null!==e._deformVertices.verticesData&&e._deformVertices.verticesData.offset===this.pathOffset){var i=this._constraintData,n=e._displayData,r=!1,s=e._deformVertices;if(this._root._childrenTransformDirty?(this._updatePathVertices(n.vertices),r=!0):null!==s&&(s.verticesDirty||s.isBonesUpdate())&&(this._updatePathVertices(n.vertices),s.verticesDirty=!1,r=!0),r||this.dirty){var a=i.positionMode,o=i.spacingMode,l=i.rotateMode,c=this._bones,h=0===o,u=2===l,_=0===l,f=c.length,d=_?f:f+1,p=this.spacing,m=this._spaces;if(m.length=d,u||h){m[0]=0;for(var y=0,v=d-1;y<v;y++){(I=c[y]).updateByConstraint();var g=I._boneData.length,b=g*(P=I.globalTransformMatrix).a,A=g*P.b,x=Math.sqrt(b*b+A*A);u&&(this._boneLengths[y]=x),m[y+1]=(g+p)*x/g}}else for(y=0;y<d;y++)m[y]=p;this._computeBezierCurve(n,d,_,1===a,2===o);var C,T=this._positions,S=this.rotateOffset,w=T[0],E=T[1];0===S?C=1===l:(C=!1,null!==(I=e.parent)&&(S*=(P=I.globalTransformMatrix).a*P.d-P.b*P.c>0?t.Transform.DEG_RAD:-t.Transform.DEG_RAD));for(var M=this.rotateMix,D=this.translateMix,B=(y=0,3);y<f;y++,B+=3){var I,P;(I=c[y]).updateByConstraint(),(P=I.globalTransformMatrix).tx+=(w-P.tx)*D,P.ty+=(E-P.ty)*D;var R=(b=T[B])-w,O=(A=T[B+1])-E;if(u){var L=this._boneLengths[y],F=(Math.sqrt(R*R+O*O)/L-1)*M+1;P.a*=F,P.b*=F}if(w=b,E=A,M>0){var V=P.a,N=P.b,k=P.c,z=P.d,G=void 0,U=void 0,j=void 0;if(G=_?T[B-1]:Math.atan2(O,R),G-=Math.atan2(N,V),C){U=Math.cos(G),j=Math.sin(G);var H=I._boneData.length;w+=(H*(U*V-j*N)-R)*M,E+=(H*(j*V+U*N)-O)*M}else G+=S;G>t.Transform.PI?G-=t.Transform.PI_D:G<-t.Transform.PI&&(G+=t.Transform.PI_D),G*=M,U=Math.cos(G),j=Math.sin(G),P.a=U*V-j*N,P.b=j*V+U*N,P.c=U*k-j*z,P.d=j*k+U*z}I.global.fromMatrix(P)}this.dirty=!1}}},i.prototype.invalidUpdate=function(){},i})(e);t.PathConstraint=n})(r||(r={})),(function(t){var e=(function(){function t(t){void 0===t&&(t=0),this.time=0,this.timeScale=1,this._systemTime=0,this._animatebles=[],this._clock=null,this.time=t,this._systemTime=.001*(new Date).getTime()}return t.prototype.advanceTime=function(t){t!=t&&(t=0);var e=.001*Date.now();if(t<0&&(t=e-this._systemTime),this._systemTime=e,1!==this.timeScale&&(t*=this.timeScale),0!==t){t<0?this.time-=t:this.time+=t;for(var i=0,n=0,r=this._animatebles.length;i<r;++i){var s=this._animatebles[i];null!==s?(n>0&&(this._animatebles[i-n]=s,this._animatebles[i]=null),s.advanceTime(t)):n++}if(n>0){for(r=this._animatebles.length;i<r;++i){var a=this._animatebles[i];null!==a?this._animatebles[i-n]=a:n++}this._animatebles.length-=n}}},t.prototype.contains=function(t){if(t===this)return!1;for(var e=t;e!==this&&null!==e;)e=e.clock;return e===this},t.prototype.add=function(t){this._animatebles.indexOf(t)<0&&(this._animatebles.push(t),t.clock=this)},t.prototype.remove=function(t){var e=this._animatebles.indexOf(t);e>=0&&(this._animatebles[e]=null,t.clock=null)},t.prototype.clear=function(){for(var t=0,e=this._animatebles;t<e.length;t++){var i=e[t];null!==i&&(i.clock=null)}},Object.defineProperty(t.prototype,"clock",{get:function(){return this._clock},set:function(t){this._clock!==t&&(null!==this._clock&&this._clock.remove(this),this._clock=t,null!==this._clock&&this._clock.add(this))},enumerable:!0,configurable:!0}),t.clock=new t,t})();t.WorldClock=e})(r||(r={})),(function(t){var e=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._animationNames=[],t._animationStates=[],t._animations={},t._animationConfig=null,t}return s(i,e),i.toString=function(){return"[class dragonBones.Animation]"},i.prototype._onClear=function(){for(var t=0,e=this._animationStates;t<e.length;t++)e[t].returnToPool();for(var i in this._animations)delete this._animations[i];null!==this._animationConfig&&this._animationConfig.returnToPool(),this.timeScale=1,this._lockUpdate=!1,this._animationDirty=!1,this._inheritTimeScale=1,this._animationNames.length=0,this._animationStates.length=0,this._armature=null,this._animationConfig=null,this._lastAnimationState=null},i.prototype._fadeOut=function(t){switch(t.fadeOutMode){case 1:for(var e=0,i=this._animationStates;e<i.length;e++)null===(c=i[e])._parent&&c.layer===t.layer&&c.fadeOut(t.fadeOutTime,t.pauseFadeOut);break;case 2:for(var n=0,r=this._animationStates;n<r.length;n++)null===(c=r[n])._parent&&c.group===t.group&&c.fadeOut(t.fadeOutTime,t.pauseFadeOut);break;case 3:for(var s=0,a=this._animationStates;s<a.length;s++)null===(c=a[s])._parent&&c.layer===t.layer&&c.group===t.group&&c.fadeOut(t.fadeOutTime,t.pauseFadeOut);break;case 4:for(var o=0,l=this._animationStates;o<l.length;o++){var c;null===(c=l[o])._parent&&c.fadeOut(t.fadeOutTime,t.pauseFadeOut)}}},i.prototype.init=function(e){null===this._armature&&(this._armature=e,this._animationConfig=t.BaseObject.borrowObject(t.AnimationConfig))},i.prototype.advanceTime=function(t){t<0&&(t=-t),this._armature.inheritAnimation&&null!==this._armature._parent?this._inheritTimeScale=this._armature._parent._armature.animation._inheritTimeScale*this.timeScale:this._inheritTimeScale=this.timeScale,1!==this._inheritTimeScale&&(t*=this._inheritTimeScale);var e=this._animationStates.length;if(1===e)if((d=this._animationStates[0])._fadeState>0&&d._subFadeState>0)this._armature._dragonBones.bufferObject(d),this._animationStates.length=0,this._lastAnimationState=null;else{var i=d._animationData,n=i.cacheFrameRate;if(this._animationDirty&&n>0){this._animationDirty=!1;for(var r=0,s=this._armature.getBones();r<s.length;r++){var a=s[r];a._cachedFrameIndices=i.getBoneCachedFrameIndices(a.name)}for(var o=0,l=this._armature.getSlots();o<l.length;o++){var c=l[o],h=c.rawDisplayDatas;if(null!==h&&h.length>0){var u=h[0];if(null!==u&&u.parent===this._armature.armatureData.defaultSkin){c._cachedFrameIndices=i.getSlotCachedFrameIndices(c.name);continue}}c._cachedFrameIndices=null}}d.advanceTime(t,n)}else if(e>1){for(var _=0,f=0;_<e;++_){var d;(d=this._animationStates[_])._fadeState>0&&d._subFadeState>0?(f++,this._armature._dragonBones.bufferObject(d),this._animationDirty=!0,this._lastAnimationState===d&&(this._lastAnimationState=null)):(f>0&&(this._animationStates[_-f]=d),d.advanceTime(t,0)),_===e-1&&f>0&&(this._animationStates.length-=f,null===this._lastAnimationState&&this._animationStates.length>0&&(this._lastAnimationState=this._animationStates[this._animationStates.length-1]))}this._armature._cacheFrameIndex=-1}else this._armature._cacheFrameIndex=-1},i.prototype.reset=function(){for(var t=0,e=this._animationStates;t<e.length;t++)e[t].returnToPool();this._animationDirty=!1,this._animationConfig.clear(),this._animationStates.length=0,this._lastAnimationState=null},i.prototype.stop=function(t){if(void 0===t&&(t=null),null!==t)null!==(n=this.getState(t))&&n.stop();else for(var e=0,i=this._animationStates;e<i.length;e++){var n;(n=i[e]).stop()}},i.prototype.playConfig=function(e){var i=e.animation;if(!(i in this._animations))return console.warn("Non-existent animation.\n","DragonBones name: "+this._armature.armatureData.parent.name,"Armature name: "+this._armature.name,"Animation name: "+i),null;var n=this._animations[i];if(5===e.fadeOutMode)for(var r=0,s=this._animationStates;r<s.length;r++){var a=s[r];if(a._animationData===n)return a}0===this._animationStates.length?e.fadeInTime=0:e.fadeInTime<0&&(e.fadeInTime=n.fadeInTime),e.fadeOutTime<0&&(e.fadeOutTime=e.fadeInTime),e.timeScale<=-100&&(e.timeScale=1/n.scale),n.frameCount>1?(e.position<0?(e.position%=n.duration,e.position=n.duration-e.position):e.position===n.duration?e.position-=1e-6:e.position>n.duration&&(e.position%=n.duration),e.duration>0&&e.position+e.duration>n.duration&&(e.duration=n.duration-e.position),e.playTimes<0&&(e.playTimes=n.playTimes)):(e.playTimes=1,e.position=0,e.duration>0&&(e.duration=0)),0===e.duration&&(e.duration=-1),this._fadeOut(e);var o=t.BaseObject.borrowObject(t.AnimationState);if(o.init(this._armature,n,e),this._animationDirty=!0,this._armature._cacheFrameIndex=-1,this._animationStates.length>0){for(var l=!1,c=0,h=this._animationStates.length;c<h;++c){if(o.layer>this._animationStates[c].layer){l=!0,this._animationStates.splice(c,0,o);break}if(c!==h-1&&o.layer>this._animationStates[c+1].layer){l=!0,this._animationStates.splice(c+1,0,o);break}}l||this._animationStates.push(o)}else this._animationStates.push(o);for(var u=0,_=this._armature.getSlots();u<_.length;u++){var f=_[u].childArmature;null!==f&&f.inheritAnimation&&f.animation.hasAnimation(i)&&null===f.animation.getState(i)&&f.animation.fadeIn(i)}var d=!1;for(var p in n.animationTimelines){this._lockUpdate||(d=!0,this._lockUpdate=!0);var m=this.fadeIn(p,e.fadeInTime,1,o.layer,null,0);null!==m&&(m.resetToPose=!1,m._parent=o,m.stop())}return d&&(this._lockUpdate=!1),this._lockUpdate||(e.fadeInTime<=0&&this._armature.advanceTime(0),this._lastAnimationState=o),o},i.prototype.play=function(t,e){if(void 0===t&&(t=null),void 0===e&&(e=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=null!==t?t:"",null!==t&&t.length>0)this.playConfig(this._animationConfig);else if(null===this._lastAnimationState){var i=this._armature.armatureData.defaultAnimation;null!==i&&(this._animationConfig.animation=i.name,this.playConfig(this._animationConfig))}else this._lastAnimationState.isPlaying||this._lastAnimationState.isCompleted?(this._animationConfig.animation=this._lastAnimationState.name,this.playConfig(this._animationConfig)):this._lastAnimationState.play();return this._lastAnimationState},i.prototype.fadeIn=function(t,e,i,n,r,s){return void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===n&&(n=0),void 0===r&&(r=null),void 0===s&&(s=3),this._animationConfig.clear(),this._animationConfig.fadeOutMode=s,this._animationConfig.playTimes=i,this._animationConfig.layer=n,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==r?r:"",this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByTime=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.position=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t,this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByFrame=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var n=t in this._animations?this._animations[t]:null;return null!==n&&(this._animationConfig.position=n.duration*e/n.frameCount),this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByProgress=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var n=t in this._animations?this._animations[t]:null;return null!==n&&(this._animationConfig.position=n.duration*(e>0?e:0)),this.playConfig(this._animationConfig)},i.prototype.gotoAndStopByTime=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByTime(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByFrame=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByFrame(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByProgress=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByProgress(t,e,1);return null!==i&&i.stop(),i},i.prototype.getState=function(t){for(var e=this._animationStates.length;e--;){var i=this._animationStates[e];if(i.name===t)return i}return null},i.prototype.hasAnimation=function(t){return t in this._animations},i.prototype.getStates=function(){return this._animationStates},Object.defineProperty(i.prototype,"isPlaying",{get:function(){for(var t=0,e=this._animationStates;t<e.length;t++)if(e[t].isPlaying)return!0;return!1},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"isCompleted",{get:function(){for(var t=0,e=this._animationStates;t<e.length;t++)if(!e[t].isCompleted)return!1;return this._animationStates.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationName",{get:function(){return null!==this._lastAnimationState?this._lastAnimationState.name:""},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationNames",{get:function(){return this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animations",{get:function(){return this._animations},set:function(t){if(this._animations!==t){for(var e in this._animationNames.length=0,this._animations)delete this._animations[e];for(var e in t)this._animationNames.push(e),this._animations[e]=t[e]}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationConfig",{get:function(){return this._animationConfig.clear(),this._animationConfig},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationState",{get:function(){return this._lastAnimationState},enumerable:!0,configurable:!0}),i.prototype.gotoAndPlay=function(t,e,i,n,r,s,a,o,l){void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===n&&(n=-1),void 0===r&&(r=0),void 0===s&&(s=null),void 0===a&&(a=3),void 0===o&&(o=!0),void 0===l&&(l=!0),console.warn("Deprecated."),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.fadeOutMode=a,this._animationConfig.playTimes=n,this._animationConfig.layer=r,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==s?s:"";var c=this._animations[t];return c&&i>0&&(this._animationConfig.timeScale=c.duration/i),this.playConfig(this._animationConfig)},i.prototype.gotoAndStop=function(t,e){return void 0===e&&(e=0),console.warn("Deprecated."),this.gotoAndStopByTime(t,e)},Object.defineProperty(i.prototype,"animationList",{get:function(){return console.warn("Deprecated."),this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationDataList",{get:function(){console.warn("Deprecated.");for(var t=[],e=0,i=this._animationNames.length;e<i;++e)t.push(this._animations[this._animationNames[e]]);return t},enumerable:!0,configurable:!0}),i})(t.BaseObject);t.Animation=e})(r||(r={})),(function(t){var e=(function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t._blendState=new n,t._boneMask=[],t._boneTimelines=[],t._surfaceTimelines=[],t._slotTimelines=[],t._constraintTimelines=[],t._animationTimelines=[],t._poseTimelines=[],t._bonePoses={},t._actionTimeline=null,t._zOrderTimeline=null,t._parent=null,t}return s(r,e),r.toString=function(){return"[class dragonBones.AnimationState]"},r.prototype._onClear=function(){for(var t=0,e=this._boneTimelines;t<e.length;t++)e[t].returnToPool();for(var i=0,n=this._surfaceTimelines;i<n.length;i++)n[i].returnToPool();for(var r=0,s=this._slotTimelines;r<s.length;r++)s[r].returnToPool();for(var a=0,o=this._constraintTimelines;a<o.length;a++)o[a].returnToPool();for(var l=0,c=this._animationTimelines;l<c.length;l++)c[l].returnToPool();for(var h in this._bonePoses)this._bonePoses[h].returnToPool(),delete this._bonePoses[h];null!==this._actionTimeline&&this._actionTimeline.returnToPool(),null!==this._zOrderTimeline&&this._zOrderTimeline.returnToPool(),this.actionEnabled=!1,this.additiveBlending=!1,this.displayControl=!1,this.resetToPose=!1,this.playTimes=1,this.layer=0,this.timeScale=1,this.weight=1,this.autoFadeOutTime=0,this.fadeTotalTime=0,this.name="",this.group="",this._timelineDirty=2,this._playheadState=0,this._fadeState=-1,this._subFadeState=-1,this._position=0,this._duration=0,this._fadeTime=0,this._time=0,this._fadeProgress=0,this._weightResult=0,this._blendState.clear(),this._boneMask.length=0,this._boneTimelines.length=0,this._surfaceTimelines.length=0,this._slotTimelines.length=0,this._constraintTimelines.length=0,this._animationTimelines.length=0,this._poseTimelines.length=0,this._animationData=null,this._armature=null,this._actionTimeline=null,this._zOrderTimeline=null,this._parent=null},r.prototype._updateTimelines=function(){for(var e=0,i=this._armature._constraints;e<i.length;e++){var n=i[e];if(null!==(l=this._animationData.getConstraintTimelines(n.name)))for(var r=0,s=l;r<s.length;r++)switch((_=s[r]).type){case 30:(f=t.BaseObject.borrowObject(t.IKConstraintTimelineState)).constraint=n,f.init(this._armature,this,_),this._constraintTimelines.push(f)}else this.resetToPose&&((f=t.BaseObject.borrowObject(t.IKConstraintTimelineState)).constraint=n,f.init(this._armature,this,null),this._constraintTimelines.push(f),this._poseTimelines.push(f))}for(var a=0,o=this._armature.animation.getStates();a<o.length;a++){var l,c=o[a];if(c._parent===this&&null!==(l=this._animationData.getAnimationTimelines(c.name)))for(var h=0,u=l;h<u.length;h++){var _;switch((_=u[h]).type){case 40:var f;(f=t.BaseObject.borrowObject(t.AnimationTimelineState)).animationState=c,f.init(this._armature,this,_),this._animationTimelines.push(f)}}}},r.prototype._updateBoneAndSlotTimelines=function(){for(var e={},n=0,r=this._boneTimelines;n<r.length;n++)(l=(v=r[n]).bone.name)in e||(e[l]=[]),e[l].push(v);for(var s=0,a=this._armature.getBones();s<a.length;s++){var o=a[s],l=o.name;if(this.containsBoneMask(l))if(l in e)delete e[l];else if(0===o._boneData.type){var c=this._animationData.getBoneTimelines(l),h=l in this._bonePoses?this._bonePoses[l]:this._bonePoses[l]=t.BaseObject.borrowObject(i);if(null!==c)for(var u=0,_=c;u<_.length;u++)switch((I=_[u]).type){case 10:(v=t.BaseObject.borrowObject(t.BoneAllTimelineState)).bone=o,v.bonePose=h,v.init(this._armature,this,I),this._boneTimelines.push(v);break;case 11:(v=t.BaseObject.borrowObject(t.BoneTranslateTimelineState)).bone=o,v.bonePose=h,v.init(this._armature,this,I),this._boneTimelines.push(v);break;case 12:(v=t.BaseObject.borrowObject(t.BoneRotateTimelineState)).bone=o,v.bonePose=h,v.init(this._armature,this,I),this._boneTimelines.push(v);break;case 13:(v=t.BaseObject.borrowObject(t.BoneScaleTimelineState)).bone=o,v.bonePose=h,v.init(this._armature,this,I),this._boneTimelines.push(v)}else this.resetToPose&&((v=t.BaseObject.borrowObject(t.BoneAllTimelineState)).bone=o,v.bonePose=h,v.init(this._armature,this,null),this._boneTimelines.push(v),this._poseTimelines.push(v))}else if(1===o._boneData.type)if(null!==(c=this._animationData.getSurfaceTimelines(l)))for(var f=0,d=c;f<d.length;f++)switch((I=d[f]).type){case 50:(v=t.BaseObject.borrowObject(t.SurfaceTimelineState)).surface=o,v.init(this._armature,this,I),this._surfaceTimelines.push(v)}else this.resetToPose&&((v=t.BaseObject.borrowObject(t.SurfaceTimelineState)).surface=o,v.init(this._armature,this,null),this._surfaceTimelines.push(v),this._poseTimelines.push(v))}for(var p in e)for(var m=0,y=e[p];m<y.length;m++){var v=y[m];this._boneTimelines.splice(this._boneTimelines.indexOf(v),1),v.returnToPool()}for(var g={},b=[],A=0,x=this._slotTimelines;A<x.length;A++)(l=(v=x[A]).slot.name)in g||(g[l]=[]),g[l].push(v);for(var C=0,T=this._armature.getSlots();C<T.length;C++){var S=T[C],w=S.parent.name;if(this.containsBoneMask(w))if(l=S.name,c=this._animationData.getSlotTimelines(l),l in g)delete g[l];else{var E=!1,M=!1;if(b.length=0,null!==c)for(var D=0,B=c;D<B.length;D++){var I;switch((I=B[D]).type){case 20:(v=t.BaseObject.borrowObject(t.SlotDislayTimelineState)).slot=S,v.init(this._armature,this,I),this._slotTimelines.push(v),E=!0;break;case 21:(v=t.BaseObject.borrowObject(t.SlotColorTimelineState)).slot=S,v.init(this._armature,this,I),this._slotTimelines.push(v),M=!0;break;case 22:(v=t.BaseObject.borrowObject(t.DeformTimelineState)).slot=S,v.init(this._armature,this,I),this._slotTimelines.push(v),b.push(v.vertexOffset)}}if(this.resetToPose&&(E||((v=t.BaseObject.borrowObject(t.SlotDislayTimelineState)).slot=S,v.init(this._armature,this,null),this._slotTimelines.push(v),this._poseTimelines.push(v)),M||((v=t.BaseObject.borrowObject(t.SlotColorTimelineState)).slot=S,v.init(this._armature,this,null),this._slotTimelines.push(v),this._poseTimelines.push(v)),null!==S.rawDisplayDatas))for(var P=0,R=S.rawDisplayDatas;P<R.length;P++){var O=R[P];if(null!==O&&2===O.type){var L=O.vertices.offset;b.indexOf(L)<0&&((v=t.BaseObject.borrowObject(t.DeformTimelineState)).vertexOffset=L,v.slot=S,v.init(this._armature,this,null),this._slotTimelines.push(v),this._poseTimelines.push(v))}}}}for(var p in g)for(var F=0,V=g[p];F<V.length;F++)v=V[F],this._slotTimelines.splice(this._slotTimelines.indexOf(v),1),v.returnToPool()},r.prototype._advanceFadeTime=function(e){var i,n=this._fadeState>0;if(this._subFadeState<0){this._subFadeState=0;var r=n?t.EventObject.FADE_OUT:t.EventObject.FADE_IN;this._armature.eventDispatcher.hasDBEventListener(r)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=r,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i))}(e<0&&(e=-e),this._fadeTime+=e,this._fadeTime>=this.fadeTotalTime?(this._subFadeState=1,this._fadeProgress=n?0:1):this._fadeTime>0?this._fadeProgress=n?1-this._fadeTime/this.fadeTotalTime:this._fadeTime/this.fadeTotalTime:this._fadeProgress=n?1:0,this._subFadeState>0)&&(n||(this._playheadState|=1,this._fadeState=0),r=n?t.EventObject.FADE_OUT_COMPLETE:t.EventObject.FADE_IN_COMPLETE,this._armature.eventDispatcher.hasDBEventListener(r)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=r,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i)))},r.prototype.init=function(e,i,n){if(null===this._armature){if(this._armature=e,this._animationData=i,this.resetToPose=n.resetToPose,this.additiveBlending=n.additiveBlending,this.displayControl=n.displayControl,this.actionEnabled=n.actionEnabled,this.layer=n.layer,this.playTimes=n.playTimes,this.timeScale=n.timeScale,this.fadeTotalTime=n.fadeInTime,this.autoFadeOutTime=n.autoFadeOutTime,this.weight=n.weight,this.name=n.name.length>0?n.name:n.animation,this.group=n.group,n.pauseFadeIn?this._playheadState=2:this._playheadState=3,n.duration<0?(this._position=0,this._duration=this._animationData.duration,0!==n.position?this.timeScale>=0?this._time=n.position:this._time=n.position-this._duration:this._time=0):(this._position=n.position,this._duration=n.duration,this._time=0),this.timeScale<0&&0===this._time&&(this._time=-1e-6),this.fadeTotalTime<=0&&(this._fadeProgress=.999999),n.boneMask.length>0){this._boneMask.length=n.boneMask.length;for(var r=0,s=this._boneMask.length;r<s;++r)this._boneMask[r]=n.boneMask[r]}this._actionTimeline=t.BaseObject.borrowObject(t.ActionTimelineState),this._actionTimeline.init(this._armature,this,this._animationData.actionTimeline),this._actionTimeline.currentTime=this._time,this._actionTimeline.currentTime<0&&(this._actionTimeline.currentTime=this._duration-this._actionTimeline.currentTime),null!==this._animationData.zOrderTimeline&&(this._zOrderTimeline=t.BaseObject.borrowObject(t.ZOrderTimelineState),this._zOrderTimeline.init(this._armature,this,this._animationData.zOrderTimeline))}},r.prototype.advanceTime=function(e,i){if(this._blendState.dirty=!1,0===this._fadeState&&0===this._subFadeState||this._advanceFadeTime(e),3===this._playheadState&&(1!==this.timeScale&&(e*=this.timeScale),this._time+=e),0!==this._timelineDirty&&(2===this._timelineDirty&&this._updateTimelines(),this._timelineDirty=0,this._updateBoneAndSlotTimelines()),0!==this.weight){var n=0===this._fadeState&&i>0,r=!0,s=!0,a=this._time;if(this._weightResult=this.weight*this._fadeProgress,null!==this._parent&&(this._weightResult*=this._parent._weightResult/this._parent._fadeProgress),this._actionTimeline.playState<=0&&this._actionTimeline.update(a),n){var o=2*i;this._actionTimeline.currentTime=Math.floor(this._actionTimeline.currentTime*o)/o}if(null!==this._zOrderTimeline&&this._zOrderTimeline.playState<=0&&this._zOrderTimeline.update(a),n){var l=Math.floor(this._actionTimeline.currentTime*i);this._armature._cacheFrameIndex===l?(r=!1,s=!1):(this._armature._cacheFrameIndex=l,this._animationData.cachedFrames[l]?s=!1:this._animationData.cachedFrames[l]=!0)}if(r){if(s)for(var c=0,h=this._boneTimelines.length;c<h;++c)(p=this._boneTimelines[c]).playState<=0&&p.update(a),(c===h-1||p.bone!==this._boneTimelines[c+1].bone)&&0!==(u=p.bone._blendState.update(this._weightResult,this.layer))&&p.blend(u);for(c=0,h=this._surfaceTimelines.length;c<h;++c){var u=(p=this._surfaceTimelines[c]).surface._blendState.update(this._weightResult,this.layer);p.playState<=0&&p.update(a),0!==u&&p.blend(u)}if(this.displayControl)for(c=0,h=this._slotTimelines.length;c<h;++c){var _=(p=this._slotTimelines[c]).slot.displayController;null!==_&&_!==this.name&&_!==this.group||p.playState<=0&&p.update(a)}for(c=0,h=this._constraintTimelines.length;c<h;++c)(p=this._constraintTimelines[c]).playState<=0&&p.update(a);for(c=0,h=this._animationTimelines.length;c<h;++c)u=(p=this._animationTimelines[c]).animationState._blendState.update(this._weightResult,this.layer),p.playState<=0&&p.update(a),0!==u&&p.blend(u)}if(0===this._fadeState){if(this._subFadeState>0&&(this._subFadeState=0,this._poseTimelines.length>0)){for(var f=0,d=this._poseTimelines;f<d.length;f++){var p;(p=d[f])instanceof t.BoneTimelineState?this._boneTimelines.splice(this._boneTimelines.indexOf(p),1):p instanceof t.SurfaceTimelineState?this._surfaceTimelines.splice(this._surfaceTimelines.indexOf(p),1):p instanceof t.SlotTimelineState?this._slotTimelines.splice(this._slotTimelines.indexOf(p),1):p instanceof t.ConstraintTimelineState&&this._constraintTimelines.splice(this._constraintTimelines.indexOf(p),1),p.returnToPool()}this._poseTimelines.length=0}this._actionTimeline.playState>0&&this.autoFadeOutTime>=0&&this.fadeOut(this.autoFadeOutTime)}}},r.prototype.play=function(){this._playheadState=3},r.prototype.stop=function(){this._playheadState&=1},r.prototype.fadeOut=function(t,e){if(void 0===e&&(e=!0),t<0&&(t=0),e&&(this._playheadState&=2),this._fadeState>0){if(t>this.fadeTotalTime-this._fadeTime)return}else{this._fadeState=1,this._subFadeState=-1,(t<=0||this._fadeProgress<=0)&&(this._fadeProgress=1e-6);for(var i=0,n=this._boneTimelines;i<n.length;i++)(_=n[i]).fadeOut();for(var r=0,s=this._surfaceTimelines;r<s.length;r++)(_=s[r]).fadeOut();for(var a=0,o=this._slotTimelines;a<o.length;a++)(_=o[a]).fadeOut();for(var l=0,c=this._constraintTimelines;l<c.length;l++)(_=c[l]).fadeOut();for(var h=0,u=this._animationTimelines;h<u.length;h++){var _;(_=u[h]).animationState.fadeOut(t,e),_.fadeOut()}}this.displayControl=!1,this.fadeTotalTime=this._fadeProgress>1e-6?t/this._fadeProgress:0,this._fadeTime=this.fadeTotalTime*(1-this._fadeProgress)},r.prototype.containsBoneMask=function(t){return 0===this._boneMask.length||this._boneMask.indexOf(t)>=0},r.prototype.addBoneMask=function(t,e){void 0===e&&(e=!0);var i=this._armature.getBone(t);if(null!==i){if(this._boneMask.indexOf(t)<0&&this._boneMask.push(t),e)for(var n=0,r=this._armature.getBones();n<r.length;n++){var s=r[n];this._boneMask.indexOf(s.name)<0&&i.contains(s)&&this._boneMask.push(s.name)}this._timelineDirty=1}},r.prototype.removeBoneMask=function(t,e){void 0===e&&(e=!0);var i=this._boneMask.indexOf(t);if(i>=0&&this._boneMask.splice(i,1),e){var n=this._armature.getBone(t);if(null!==n){var r=this._armature.getBones();if(this._boneMask.length>0)for(var s=0,a=r;s<a.length;s++){var o=a[s],l=this._boneMask.indexOf(o.name);l>=0&&n.contains(o)&&this._boneMask.splice(l,1)}else for(var c=0,h=r;c<h.length;c++)(o=h[c])!==n&&(n.contains(o)||this._boneMask.push(o.name))}}this._timelineDirty=1},r.prototype.removeAllBoneMask=function(){this._boneMask.length=0,this._timelineDirty=1},Object.defineProperty(r.prototype,"isFadeIn",{get:function(){return this._fadeState<0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isFadeOut",{get:function(){return this._fadeState>0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isFadeComplete",{get:function(){return 0===this._fadeState},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isPlaying",{get:function(){return 0!=(2&this._playheadState)&&this._actionTimeline.playState<=0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isCompleted",{get:function(){return this._actionTimeline.playState>0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"currentPlayTimes",{get:function(){return this._actionTimeline.currentPlayTimes},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"currentTime",{get:function(){return this._actionTimeline.currentTime},set:function(t){var e=this._actionTimeline.currentPlayTimes-(this._actionTimeline.playState>0?1:0);if((t<0||this._duration<t)&&(t=t%this._duration+e*this._duration)<0&&(t+=this._duration),this.playTimes>0&&e===this.playTimes-1&&t===this._duration&&(t=this._duration-1e-6),this._time!==t){this._time=t,this._actionTimeline.setCurrentTime(this._time),null!==this._zOrderTimeline&&(this._zOrderTimeline.playState=-1);for(var i=0,n=this._boneTimelines;i<n.length;i++)n[i].playState=-1;for(var r=0,s=this._slotTimelines;r<s.length;r++)s[r].playState=-1}},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"animationData",{get:function(){return this._animationData},enumerable:!0,configurable:!0}),r})(t.BaseObject);t.AnimationState=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.current=new t.Transform,i.delta=new t.Transform,i.result=new t.Transform,i}return s(i,e),i.toString=function(){return"[class dragonBones.BonePose]"},i.prototype._onClear=function(){this.current.identity(),this.delta.identity(),this.result.identity()},i})(t.BaseObject);t.BonePose=i;var n=(function(){function t(){}return t.prototype.update=function(t,e){if(this.dirty){if(!(this.leftWeight>0))return 0;if(this.layer!==e){if(this.layerWeight>=this.leftWeight)return this.leftWeight=0,0;this.layer=e,this.leftWeight-=this.layerWeight,this.layerWeight=0}return t*=this.leftWeight,this.layerWeight+=t,this.blendWeight=t,2}return this.dirty=!0,this.layer=e,this.layerWeight=t,this.leftWeight=1,this.blendWeight=t,1},t.prototype.clear=function(){this.dirty=!1,this.layer=0,this.leftWeight=0,this.layerWeight=0,this.blendWeight=0},t})();t.BlendState=n})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){this.playState=-1,this.currentPlayTimes=-1,this.currentTime=-1,this._tweenState=0,this._frameRate=0,this._frameValueOffset=0,this._frameCount=0,this._frameOffset=0,this._frameIndex=-1,this._frameRateR=0,this._position=0,this._duration=0,this._timeScale=1,this._timeOffset=0,this._dragonBonesData=null,this._animationData=null,this._timelineData=null,this._armature=null,this._animationState=null,this._actionTimeline=null,this._frameArray=null,this._frameIntArray=null,this._frameFloatArray=null,this._timelineArray=null,this._frameIndices=null},e.prototype._setCurrentTime=function(t){var e=this.playState,i=this.currentPlayTimes,n=this.currentTime;if(null!==this._actionTimeline&&this._frameCount<=1)this.playState=this._actionTimeline.playState>=0?1:-1,this.currentPlayTimes=1,this.currentTime=this._actionTimeline.currentTime;else if(null===this._actionTimeline||1!==this._timeScale||0!==this._timeOffset){var r=this._animationState.playTimes,s=r*this._duration;t*=this._timeScale,0!==this._timeOffset&&(t+=this._timeOffset*this._animationData.duration),r>0&&(t>=s||t<=-s)?(this.playState<=0&&3===this._animationState._playheadState&&(this.playState=1),this.currentPlayTimes=r,this.currentTime=t<0?0:this._duration+1e-6):(0!==this.playState&&3===this._animationState._playheadState&&(this.playState=0),t<0?(t=-t,this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=this._duration-t%this._duration):(this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=t%this._duration)),this.currentTime+=this._position}else this.playState=this._actionTimeline.playState,this.currentPlayTimes=this._actionTimeline.currentPlayTimes,this.currentTime=this._actionTimeline.currentTime;return(this.currentPlayTimes!==i||this.currentTime!==n)&&((e<0&&this.playState!==e||this.playState<=0&&this.currentPlayTimes!==i)&&(this._frameIndex=-1),!0)},e.prototype.init=function(t,e,i){this._armature=t,this._animationState=e,this._timelineData=i,this._actionTimeline=this._animationState._actionTimeline,this===this._actionTimeline&&(this._actionTimeline=null),this._animationData=this._animationState._animationData,this._frameRate=this._animationData.parent.frameRate,this._frameRateR=1/this._frameRate,this._position=this._animationState._position,this._duration=this._animationState._duration,this._dragonBonesData=this._animationData.parent.parent,null!==this._timelineData&&(this._frameIntArray=this._dragonBonesData.frameIntArray,this._frameFloatArray=this._dragonBonesData.frameFloatArray,this._frameArray=this._dragonBonesData.frameArray,this._timelineArray=this._dragonBonesData.timelineArray,this._frameIndices=this._dragonBonesData.frameIndices,this._frameCount=this._timelineArray[this._timelineData.offset+2],this._frameValueOffset=this._timelineArray[this._timelineData.offset+4],this._timeScale=100/this._timelineArray[this._timelineData.offset+0],this._timeOffset=.01*this._timelineArray[this._timelineData.offset+1])},e.prototype.fadeOut=function(){},e.prototype.update=function(t){if(this._setCurrentTime(t)){if(this._frameCount>1){var e=Math.floor(this.currentTime*this._frameRate),i=this._frameIndices[this._timelineData.frameIndicesOffset+e];this._frameIndex!==i&&(this._frameIndex=i,this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+this._frameIndex],this._onArriveAtFrame())}else this._frameIndex<0&&(this._frameIndex=0,null!==this._timelineData&&(this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5]),this._onArriveAtFrame());0!==this._tweenState&&this._onUpdateFrame()}},e})(t.BaseObject);t.TimelineState=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e._getEasingValue=function(t,e,i){var n=e;switch(t){case 3:n=Math.pow(e,2);break;case 4:n=1-Math.pow(1-e,2);break;case 5:n=.5*(1-Math.cos(e*Math.PI))}return(n-e)*i+e},e._getEasingCurveValue=function(t,e,i,n){if(t<=0)return 0;if(t>=1)return 1;var r=i+1,s=Math.floor(t*r),a=0===s?0:e[n+s-1];return 1e-4*(a+((s===r-1?1e4:e[n+s])-a)*(t*r-s))},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._tweenType=0,this._curveCount=0,this._framePosition=0,this._frameDurationR=0,this._tweenProgress=0,this._tweenEasing=0},e.prototype._onArriveAtFrame=function(){if(this._frameCount>1&&(this._frameIndex!==this._frameCount-1||0===this._animationState.playTimes||this._animationState.currentPlayTimes<this._animationState.playTimes-1))if(this._tweenType=this._frameArray[this._frameOffset+1],this._tweenState=0===this._tweenType?1:2,2===this._tweenType?this._curveCount=this._frameArray[this._frameOffset+2]:0!==this._tweenType&&1!==this._tweenType&&(this._tweenEasing=.01*this._frameArray[this._frameOffset+2]),this._framePosition=this._frameArray[this._frameOffset]*this._frameRateR,this._frameIndex===this._frameCount-1)this._frameDurationR=1/(this._animationData.duration-this._framePosition);else{var t=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+this._frameIndex+1],e=this._frameArray[t]*this._frameRateR-this._framePosition;this._frameDurationR=e>0?1/e:0}else this._tweenState=1},e.prototype._onUpdateFrame=function(){2===this._tweenState?(this._tweenProgress=(this.currentTime-this._framePosition)*this._frameDurationR,2===this._tweenType?this._tweenProgress=e._getEasingCurveValue(this._tweenProgress,this._frameArray,this._curveCount,this._frameOffset+3):1!==this._tweenType&&(this._tweenProgress=e._getEasingValue(this._tweenType,this._tweenProgress,this._tweenEasing))):this._tweenProgress=0},e})(e);t.TweenTimelineState=i;var n=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.bone=null,this.bonePose=null},e.prototype.blend=function(t){var e=this.bone._blendState.blendWeight,i=this.bone.animationPose,n=this.bonePose.result;2===t?(i.x+=n.x*e,i.y+=n.y*e,i.rotation+=n.rotation*e,i.skew+=n.skew*e,i.scaleX+=(n.scaleX-1)*e,i.scaleY+=(n.scaleY-1)*e):1!==e?(i.x=n.x*e,i.y=n.y*e,i.rotation=n.rotation*e,i.skew=n.skew*e,i.scaleX=(n.scaleX-1)*e+1,i.scaleY=(n.scaleY-1)*e+1):(i.x=n.x,i.y=n.y,i.rotation=n.rotation,i.skew=n.skew,i.scaleX=n.scaleX,i.scaleY=n.scaleY),0===this._animationState._fadeState&&0===this._animationState._subFadeState||(this.bone._transformDirty=!0)},e})(i);t.BoneTimelineState=n;var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.slot=null},e})(i);t.SlotTimelineState=r;var a=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.constraint=null},e})(i);t.ConstraintTimelineState=a})(r||(r={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.ActionTimelineState]"},i.prototype._onCrossFrame=function(e){var i=this._armature.eventDispatcher;if(this._animationState.actionEnabled)for(var n=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+e],r=this._frameArray[n+1],s=this._animationData.parent.actions,a=0;a<r;++a){var o=s[this._frameArray[n+2+a]];if(0===o.type)(l=t.BaseObject.borrowObject(t.EventObject)).time=this._frameArray[n]/this._frameRate,l.animationState=this._animationState,t.EventObject.actionDataToInstance(o,l,this._armature),this._armature._bufferAction(l,!0);else{var l,c=10===o.type?t.EventObject.FRAME_EVENT:t.EventObject.SOUND_EVENT;(11===o.type||i.hasDBEventListener(c))&&((l=t.BaseObject.borrowObject(t.EventObject)).time=this._frameArray[n]/this._frameRate,l.animationState=this._animationState,t.EventObject.actionDataToInstance(o,l,this._armature),this._armature._dragonBones.bufferEvent(l))}}},i.prototype._onArriveAtFrame=function(){},i.prototype._onUpdateFrame=function(){},i.prototype.update=function(e){var i=this.playState,n=this.currentPlayTimes,r=this.currentTime;if(this._setCurrentTime(e)){var s=this._armature.eventDispatcher;if(i<0){if(this.playState===i)return;if(this._animationState.displayControl&&this._animationState.resetToPose&&this._armature._sortZOrder(null,0),n=this.currentPlayTimes,s.hasDBEventListener(t.EventObject.START)){var a=t.BaseObject.borrowObject(t.EventObject);a.type=t.EventObject.START,a.armature=this._armature,a.animationState=this._animationState,this._armature._dragonBones.bufferEvent(a)}}var o=this._animationState.timeScale<0,l=null,c=null;if(this.currentPlayTimes!==n&&(s.hasDBEventListener(t.EventObject.LOOP_COMPLETE)&&((l=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.LOOP_COMPLETE,l.armature=this._armature,l.animationState=this._animationState),this.playState>0&&s.hasDBEventListener(t.EventObject.COMPLETE)&&((c=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.COMPLETE,c.armature=this._armature,c.animationState=this._animationState)),this._frameCount>1){var h=this._timelineData,u=Math.floor(this.currentTime*this._frameRate),_=this._frameIndices[h.frameIndicesOffset+u];if(this._frameIndex!==_){var f=this._frameIndex;if(this._frameIndex=_,null!==this._timelineArray)if(this._frameOffset=this._animationData.frameOffset+this._timelineArray[h.offset+5+this._frameIndex],o){if(f<0){var d=Math.floor(r*this._frameRate);f=this._frameIndices[h.frameIndicesOffset+d],this.currentPlayTimes===n&&f===_&&(f=-1)}for(;f>=0;){var p=this._animationData.frameOffset+this._timelineArray[h.offset+5+f],m=this._frameArray[p]/this._frameRate;if(this._position<=m&&m<=this._position+this._duration&&this._onCrossFrame(f),null!==l&&0===f&&(this._armature._dragonBones.bufferEvent(l),l=null),f>0?f--:f=this._frameCount-1,f===_)break}}else for(f<0&&(d=Math.floor(r*this._frameRate),f=this._frameIndices[h.frameIndicesOffset+d],p=this._animationData.frameOffset+this._timelineArray[h.offset+5+f],m=this._frameArray[p]/this._frameRate,this.currentPlayTimes===n&&(r<=m?f>0?f--:f=this._frameCount-1:f===_&&(f=-1)));f>=0&&(f<this._frameCount-1?f++:f=0,p=this._animationData.frameOffset+this._timelineArray[h.offset+5+f],m=this._frameArray[p]/this._frameRate,this._position<=m&&m<=this._position+this._duration&&this._onCrossFrame(f),null!==l&&0===f&&(this._armature._dragonBones.bufferEvent(l),l=null),f!==_););}}else this._frameIndex<0&&(this._frameIndex=0,null!==this._timelineData)&&(this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5],m=this._frameArray[this._frameOffset]/this._frameRate,this.currentPlayTimes===n?r<=m&&this._onCrossFrame(this._frameIndex):this._position<=m&&(o||null===l||(this._armature._dragonBones.bufferEvent(l),l=null),this._onCrossFrame(this._frameIndex)));null!==l&&this._armature._dragonBones.bufferEvent(l),null!==c&&this._armature._dragonBones.bufferEvent(c)}},i.prototype.setCurrentTime=function(t){this._setCurrentTime(t),this._frameIndex=-1},i})(t.TimelineState);t.ActionTimelineState=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.ZOrderTimelineState]"},e.prototype._onArriveAtFrame=function(){this.playState>=0&&(this._frameArray[this._frameOffset+1]>0?this._armature._sortZOrder(this._frameArray,this._frameOffset+2):this._armature._sortZOrder(null,0))},e.prototype._onUpdateFrame=function(){},e})(t.TimelineState);t.ZOrderTimelineState=i;var n=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.BoneAllTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var t=this._animationData.frameFloatOffset+this._frameValueOffset+6*this._frameIndex,i=this._armature._armatureData.scale,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.x=n[t++]*i,r.y=n[t++]*i,r.rotation=n[t++],r.skew=n[t++],r.scaleX=n[t++],r.scaleY=n[t++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(t=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=n[t++]*i-r.x,s.y=n[t++]*i-r.y,s.rotation=n[t++]-r.rotation,s.skew=n[t++]-r.skew,s.scaleX=n[t++]-r.scaleX,s.scaleY=n[t++]-r.scaleY):(s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.x=0,r.y=0,r.rotation=0,r.skew=0,r.scaleX=1,r.scaleY=1,s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.x=t.x+i.x*this._tweenProgress,n.y=t.y+i.y*this._tweenProgress,n.rotation=t.rotation+i.rotation*this._tweenProgress,n.skew=t.skew+i.skew*this._tweenProgress,n.scaleX=t.scaleX+i.scaleX*this._tweenProgress,n.scaleY=t.scaleY+i.scaleY*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i})(t.BoneTimelineState);t.BoneAllTimelineState=n;var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.BoneTranslateTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._armature._armatureData.scale,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.x=n[e++]*i,r.y=n[e++]*i,2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=n[e++]*i-r.x,s.y=n[e++]*i-r.y):(s.x=0,s.y=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.x=0,r.y=0,s.x=0,s.y=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.x=e.x+i.x*this._tweenProgress,n.y=e.y+i.y*this._tweenProgress},e})(t.BoneTimelineState);t.BoneTranslateTimelineState=r;var a=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.BoneRotateTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var i=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.rotation=n[i++],r.skew=n[i++],2===this._tweenState?(this._frameIndex===this._frameCount-1?(i=this._animationData.frameFloatOffset+this._frameValueOffset,s.rotation=t.Transform.normalizeRadian(n[i++]-r.rotation)):s.rotation=n[i++]-r.rotation,s.skew=n[i++]-r.skew):(s.rotation=0,s.skew=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.rotation=0,r.skew=0,s.rotation=0,s.skew=0},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.rotation=t.rotation+i.rotation*this._tweenProgress,n.skew=t.skew+i.skew*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i})(t.BoneTimelineState);t.BoneRotateTimelineState=a;var o=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.BoneScaleTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._frameFloatArray,n=this.bonePose.current,r=this.bonePose.delta;n.scaleX=i[e++],n.scaleY=i[e++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),r.scaleX=i[e++]-n.scaleX,r.scaleY=i[e++]-n.scaleY):(r.scaleX=0,r.scaleY=0)}else n=this.bonePose.current,r=this.bonePose.delta,n.scaleX=1,n.scaleY=1,r.scaleX=0,r.scaleY=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.scaleX=e.scaleX+i.scaleX*this._tweenProgress,n.scaleY=e.scaleY+i.scaleY*this._tweenProgress},e})(t.BoneTimelineState);t.BoneScaleTimelineState=o;var l=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.SurfaceTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.surface=null,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,n=this._frameFloatArray;if(2===this._tweenState){var r=e+this._valueCount;this._frameIndex===this._frameCount-1&&(r=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s<this._valueCount;++s)this._delta[s]=n[r+s]*i-(this._current[s]=n[e+s]*i)}else for(s=0;s<this._valueCount;++s)this._current[s]=n[e+s]*i}else for(s=0;s<this._valueCount;++s)this._current[s]=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this.surface._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0);for(var e=0;e<this._valueCount;++e)this._result[e]=this._current[e]+this._delta[e]*this._tweenProgress},e.prototype.init=function(e,i,n){if(t.prototype.init.call(this,e,i,n),null!==this._timelineData){var r=this._animationData.frameIntOffset+this._timelineArray[this._timelineData.offset+3];this._deformCount=this._frameIntArray[r+1],this._valueCount=this._frameIntArray[r+2],this._valueOffset=this._frameIntArray[r+3],this._frameFloatOffset=this._frameIntArray[r+4]+this._animationData.frameFloatOffset}else this._deformCount=this.surface._deformVertices.length,this._valueCount=this._deformCount,this._valueOffset=0,this._frameFloatOffset=0;this._current.length=this._valueCount,this._delta.length=this._valueCount,this._result.length=this._valueCount;for(var s=0;s<this._valueCount;++s)this._delta[s]=0},e.prototype.blend=function(t){for(var e=this.surface._blendState.blendWeight,i=this.surface._deformVertices,n=0;n<this._deformCount;++n){var r;r=n<this._valueOffset?this._frameFloatArray[this._frameFloatOffset+n]:n<this._valueOffset+this._valueCount?this._result[n-this._valueOffset]:this._frameFloatArray[this._frameFloatOffset+n-this._valueCount],2===t?i[n]+=r*e:i[n]=1!==e?r*e:r}0===this._animationState._fadeState&&0===this._animationState._subFadeState||(this.surface._transformDirty=!0)},e})(t.TweenTimelineState);t.SurfaceTimelineState=l;var c=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.SlotDislayTimelineState]"},e.prototype._onArriveAtFrame=function(){if(this.playState>=0){var t=null!==this._timelineData?this._frameArray[this._frameOffset+1]:this.slot._slotData.displayIndex;this.slot.displayIndex!==t&&this.slot._setDisplayIndex(t,!0)}},e})(t.SlotTimelineState);t.SlotDislayTimelineState=c;var h=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[0,0,0,0,0,0,0,0],e._delta=[0,0,0,0,0,0,0,0],e._result=[0,0,0,0,0,0,0,0],e}return s(e,t),e.toString=function(){return"[class dragonBones.SlotColorTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._dirty=!1},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._dragonBonesData.intArray,i=this._frameIntArray,n=this._animationData.frameIntOffset+this._frameValueOffset+1*this._frameIndex,r=i[n];r<0&&(r+=65536),this._current[0]=e[r++],this._current[1]=e[r++],this._current[2]=e[r++],this._current[3]=e[r++],this._current[4]=e[r++],this._current[5]=e[r++],this._current[6]=e[r++],this._current[7]=e[r++],2===this._tweenState&&((r=this._frameIndex===this._frameCount-1?i[this._animationData.frameIntOffset+this._frameValueOffset]:i[n+1])<0&&(r+=65536),this._delta[0]=e[r++]-this._current[0],this._delta[1]=e[r++]-this._current[1],this._delta[2]=e[r++]-this._current[2],this._delta[3]=e[r++]-this._current[3],this._delta[4]=e[r++]-this._current[4],this._delta[5]=e[r++]-this._current[5],this._delta[6]=e[r++]-this._current[6],this._delta[7]=e[r++]-this._current[7])}else{var s=this.slot._slotData.color;this._current[0]=100*s.alphaMultiplier,this._current[1]=100*s.redMultiplier,this._current[2]=100*s.greenMultiplier,this._current[3]=100*s.blueMultiplier,this._current[4]=s.alphaOffset,this._current[5]=s.redOffset,this._current[6]=s.greenOffset,this._current[7]=s.blueOffset}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this._dirty=!0,2!==this._tweenState&&(this._tweenState=0),this._result[0]=.01*(this._current[0]+this._delta[0]*this._tweenProgress),this._result[1]=.01*(this._current[1]+this._delta[1]*this._tweenProgress),this._result[2]=.01*(this._current[2]+this._delta[2]*this._tweenProgress),this._result[3]=.01*(this._current[3]+this._delta[3]*this._tweenProgress),this._result[4]=this._current[4]+this._delta[4]*this._tweenProgress,this._result[5]=this._current[5]+this._delta[5]*this._tweenProgress,this._result[6]=this._current[6]+this._delta[6]*this._tweenProgress,this._result[7]=this._current[7]+this._delta[7]*this._tweenProgress},e.prototype.fadeOut=function(){this._tweenState=0,this._dirty=!1},e.prototype.update=function(e){if(t.prototype.update.call(this,e),0!==this._tweenState||this._dirty){var i=this.slot._colorTransform;if(0!==this._animationState._fadeState||0!==this._animationState._subFadeState){if(i.alphaMultiplier!==this._result[0]||i.redMultiplier!==this._result[1]||i.greenMultiplier!==this._result[2]||i.blueMultiplier!==this._result[3]||i.alphaOffset!==this._result[4]||i.redOffset!==this._result[5]||i.greenOffset!==this._result[6]||i.blueOffset!==this._result[7]){var n=Math.pow(this._animationState._fadeProgress,4);i.alphaMultiplier+=(this._result[0]-i.alphaMultiplier)*n,i.redMultiplier+=(this._result[1]-i.redMultiplier)*n,i.greenMultiplier+=(this._result[2]-i.greenMultiplier)*n,i.blueMultiplier+=(this._result[3]-i.blueMultiplier)*n,i.alphaOffset+=(this._result[4]-i.alphaOffset)*n,i.redOffset+=(this._result[5]-i.redOffset)*n,i.greenOffset+=(this._result[6]-i.greenOffset)*n,i.blueOffset+=(this._result[7]-i.blueOffset)*n,this.slot._colorDirty=!0}}else this._dirty&&(this._dirty=!1,i.alphaMultiplier===this._result[0]&&i.redMultiplier===this._result[1]&&i.greenMultiplier===this._result[2]&&i.blueMultiplier===this._result[3]&&i.alphaOffset===this._result[4]&&i.redOffset===this._result[5]&&i.greenOffset===this._result[6]&&i.blueOffset===this._result[7]||(i.alphaMultiplier=this._result[0],i.redMultiplier=this._result[1],i.greenMultiplier=this._result[2],i.blueMultiplier=this._result[3],i.alphaOffset=this._result[4],i.redOffset=this._result[5],i.greenOffset=this._result[6],i.blueOffset=this._result[7],this.slot._colorDirty=!0))}},e})(t.SlotTimelineState);t.SlotColorTimelineState=h;var u=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.DeformTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.vertexOffset=0,this._dirty=!1,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,n=this._frameFloatArray;if(2===this._tweenState){var r=e+this._valueCount;this._frameIndex===this._frameCount-1&&(r=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s<this._valueCount;++s)this._delta[s]=n[r+s]*i-(this._current[s]=n[e+s]*i)}else for(s=0;s<this._valueCount;++s)this._current[s]=n[e+s]*i}else for(s=0;s<this._valueCount;++s)this._current[s]=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this._dirty=!0,2!==this._tweenState&&(this._tweenState=0);for(var e=0;e<this._valueCount;++e)this._result[e]=this._current[e]+this._delta[e]*this._tweenProgress},e.prototype.init=function(e,i,n){if(t.prototype.init.call(this,e,i,n),null!==this._timelineData){var r=this._animationData.frameIntOffset+this._timelineArray[this._timelineData.offset+3];this.vertexOffset=this._frameIntArray[r+0],this.vertexOffset<0&&(this.vertexOffset+=65536),this._deformCount=this._frameIntArray[r+1],this._valueCount=this._frameIntArray[r+2],this._valueOffset=this._frameIntArray[r+3],this._frameFloatOffset=this._frameIntArray[r+4]+this._animationData.frameFloatOffset}else{var s=this.slot._deformVertices;this._deformCount=null!==s?s.vertices.length:0,this._valueCount=this._deformCount,this._valueOffset=0,this._frameFloatOffset=0}this._current.length=this._valueCount,this._delta.length=this._valueCount,this._result.length=this._valueCount;for(var a=0;a<this._valueCount;++a)this._delta[a]=0},e.prototype.fadeOut=function(){this._tweenState=0,this._dirty=!1},e.prototype.update=function(e){var i=this.slot._deformVertices;if(null!==i&&null!==i.verticesData&&i.verticesData.offset===this.vertexOffset&&(t.prototype.update.call(this,e),0!==this._tweenState||this._dirty)){var n=i.vertices;if(0!==this._animationState._fadeState||0!==this._animationState._subFadeState){for(var r=Math.pow(this._animationState._fadeProgress,2),s=0;s<this._deformCount;++s)s<this._valueOffset?n[s]+=(this._frameFloatArray[this._frameFloatOffset+s]-n[s])*r:s<this._valueOffset+this._valueCount?n[s]+=(this._result[s-this._valueOffset]-n[s])*r:n[s]+=(this._frameFloatArray[this._frameFloatOffset+s-this._valueCount]-n[s])*r;i.verticesDirty=!0}else if(this._dirty){for(this._dirty=!1,s=0;s<this._deformCount;++s)s<this._valueOffset?n[s]=this._frameFloatArray[this._frameFloatOffset+s]:s<this._valueOffset+this._valueCount?n[s]=this._result[s-this._valueOffset]:n[s]=this._frameFloatArray[this._frameFloatOffset+s-this._valueCount];i.verticesDirty=!0}}},e})(t.SlotTimelineState);t.DeformTimelineState=u;var _=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.IKConstraintTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._current=0,this._delta=0},e.prototype._onArriveAtFrame=function(){t.prototype._onArriveAtFrame.call(this);var e=this.constraint;if(null!==this._timelineData){var i=this._animationData.frameIntOffset+this._frameValueOffset+2*this._frameIndex,n=this._frameIntArray,r=0!==n[i++];this._current=.01*n[i++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(i=this._animationData.frameIntOffset+this._frameValueOffset),this._delta=.01*n[i+1]-this._current):this._delta=0,e._bendPositive=r}else{var s=e._constraintData;this._current=s.weight,this._delta=0,e._bendPositive=s.bendPositive}e.invalidUpdate()},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),2!==this._tweenState&&(this._tweenState=0);var e=this.constraint;e._weight=this._current+this._delta*this._tweenProgress,e.invalidUpdate()},e})(t.ConstraintTimelineState);t.IKConstraintTimelineState=_;var f=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._floats=[0,0,0,0,0,0],e}return s(e,t),e.toString=function(){return"[class dragonBones.AnimationTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.animationState=null},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameIntOffset+this._frameValueOffset+2*this._frameIndex,i=1/this.animationState._animationData.parent.frameRate,n=this._frameIntArray;this._floats[0]=n[e++]*i,this._floats[3]=.01*n[e++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameIntOffset+this._frameValueOffset),this._floats[1]=n[e++]*i-this._floats[0],this._floats[4]=.01*n[e++]-this._floats[3]):(this._floats[1]=0,this._floats[4]=0)}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),2!==this._tweenState&&(this._tweenState=0),this._floats[0]>=0&&(this._floats[2]=this._floats[0]+this._floats[1]*this._tweenProgress),this._floats[5]=this._floats[3]+this._floats[4]*this._tweenProgress},e.prototype.blend=function(t){var e=this.animationState,i=e._blendState.blendWeight;2===t?(e.weight+=this._floats[5]*i,e.currentTime+=this._floats[2]*i):(e.weight=this._floats[5]*i,e.currentTime=this._floats[2]*i)},e})(t.TweenTimelineState);t.AnimationTimelineState=f})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.actionDataToInstance=function(t,i,n){0===t.type?i.type=e.FRAME_EVENT:i.type=10===t.type?e.FRAME_EVENT:e.SOUND_EVENT,i.name=t.name,i.armature=n,i.actionData=t,i.data=t.data,null!==t.bone&&(i.bone=n.getBone(t.bone.name)),null!==t.slot&&(i.slot=n.getSlot(t.slot.name))},e.toString=function(){return"[class dragonBones.EventObject]"},e.prototype._onClear=function(){this.time=0,this.type="",this.name="",this.armature=null,this.bone=null,this.slot=null,this.animationState=null,this.actionData=null,this.data=null},e.START="start",e.LOOP_COMPLETE="loopComplete",e.COMPLETE="complete",e.FADE_IN="fadeIn",e.FADE_IN_COMPLETE="fadeInComplete",e.FADE_OUT="fadeOut",e.FADE_OUT_COMPLETE="fadeOutComplete",e.FRAME_EVENT="frameEvent",e.SOUND_EVENT="soundEvent",e})(t.BaseObject);t.EventObject=e})(r||(r={})),(function(t){var e=(function(){function e(){}return e._getArmatureType=function(t){switch(t.toLowerCase()){case"stage":return 2;case"armature":return 0;case"movieclip":return 1;default:return 0}},e._getBoneType=function(t){switch(t.toLowerCase()){case"bone":return 0;case"surface":return 1;default:return 0}},e._getDisplayType=function(t){switch(t.toLowerCase()){case"image":return 0;case"mesh":return 2;case"armature":return 1;case"boundingbox":return 3;case"path":return 4;default:return 0}},e._getBoundingBoxType=function(t){switch(t.toLowerCase()){case"rectangle":return 0;case"ellipse":return 1;case"polygon":return 2;default:return 0}},e._getActionType=function(t){switch(t.toLowerCase()){case"play":return 0;case"frame":return 10;case"sound":return 11;default:return 0}},e._getBlendMode=function(t){switch(t.toLowerCase()){case"normal":return 0;case"add":return 1;case"alpha":return 2;case"darken":return 3;case"difference":return 4;case"erase":return 5;case"hardlight":return 6;case"invert":return 7;case"layer":return 8;case"lighten":return 9;case"multiply":return 10;case"overlay":return 11;case"screen":return 12;case"subtract":return 13;default:return 0}},e._getPositionMode=function(t){switch(t.toLocaleLowerCase()){case"percent":return 1;case"fixed":return 0;default:return 1}},e._getSpacingMode=function(t){switch(t.toLocaleLowerCase()){case"length":return 0;case"percent":return 2;case"fixed":return 1;default:return 0}},e._getRotateMode=function(t){switch(t.toLocaleLowerCase()){case"tangent":return 0;case"chain":return 1;case"chainscale":return 2;default:return 0}},e.parseDragonBonesData=function(e){return console.warn("Deprecated."),e instanceof ArrayBuffer?t.BinaryDataParser.getInstance().parseDragonBonesData(e):t.ObjectDataParser.getInstance().parseDragonBonesData(e)},e.parseTextureAtlasData=function(i,n){void 0===n&&(n=1),console.warn("\u5df2\u5e9f\u5f03");for(var r={},s=i[e.SUB_TEXTURE],a=0,o=s.length;a<o;a++){var l=s[a],c=l[e.NAME],h=new t.Rectangle,u=null;h.x=l[e.X]/n,h.y=l[e.Y]/n,h.width=l[e.WIDTH]/n,h.height=l[e.HEIGHT]/n,e.FRAME_WIDTH in l&&((u=new t.Rectangle).x=l[e.FRAME_X]/n,u.y=l[e.FRAME_Y]/n,u.width=l[e.FRAME_WIDTH]/n,u.height=l[e.FRAME_HEIGHT]/n),r[c]={region:h,frame:u,rotated:!1}}return r},e.DATA_VERSION_2_3="2.3",e.DATA_VERSION_3_0="3.0",e.DATA_VERSION_4_0="4.0",e.DATA_VERSION_4_5="4.5",e.DATA_VERSION_5_0="5.0",e.DATA_VERSION_5_5="5.5",e.DATA_VERSION=e.DATA_VERSION_5_5,e.DATA_VERSIONS=[e.DATA_VERSION_4_0,e.DATA_VERSION_4_5,e.DATA_VERSION_5_0,e.DATA_VERSION_5_5],e.TEXTURE_ATLAS="textureAtlas",e.SUB_TEXTURE="SubTexture",e.FORMAT="format",e.IMAGE_PATH="imagePath",e.WIDTH="width",e.HEIGHT="height",e.ROTATED="rotated",e.FRAME_X="frameX",e.FRAME_Y="frameY",e.FRAME_WIDTH="frameWidth",e.FRAME_HEIGHT="frameHeight",e.DRADON_BONES="dragonBones",e.USER_DATA="userData",e.ARMATURE="armature",e.BONE="bone",e.SURFACE="surface",e.SLOT="slot",e.CONSTRAINT="constraint",e.IK="ik",e.PATH_CONSTRAINT="path",e.SKIN="skin",e.DISPLAY="display",e.ANIMATION="animation",e.Z_ORDER="zOrder",e.FFD="ffd",e.FRAME="frame",e.TRANSLATE_FRAME="translateFrame",e.ROTATE_FRAME="rotateFrame",e.SCALE_FRAME="scaleFrame",e.DISPLAY_FRAME="displayFrame",e.COLOR_FRAME="colorFrame",e.DEFAULT_ACTIONS="defaultActions",e.ACTIONS="actions",e.EVENTS="events",e.INTS="ints",e.FLOATS="floats",e.STRINGS="strings",e.CANVAS="canvas",e.TRANSFORM="transform",e.PIVOT="pivot",e.AABB="aabb",e.COLOR="color",e.VERSION="version",e.COMPATIBLE_VERSION="compatibleVersion",e.FRAME_RATE="frameRate",e.TYPE="type",e.SUB_TYPE="subType",e.NAME="name",e.PARENT="parent",e.TARGET="target",e.STAGE="stage",e.SHARE="share",e.PATH="path",e.LENGTH="length",e.DISPLAY_INDEX="displayIndex",e.BLEND_MODE="blendMode",e.INHERIT_TRANSLATION="inheritTranslation",e.INHERIT_ROTATION="inheritRotation",e.INHERIT_SCALE="inheritScale",e.INHERIT_REFLECTION="inheritReflection",e.INHERIT_ANIMATION="inheritAnimation",e.INHERIT_DEFORM="inheritDeform",e.SEGMENT_X="segmentX",e.SEGMENT_Y="segmentY",e.BEND_POSITIVE="bendPositive",e.CHAIN="chain",e.WEIGHT="weight",e.FADE_IN_TIME="fadeInTime",e.PLAY_TIMES="playTimes",e.SCALE="scale",e.OFFSET="offset",e.POSITION="position",e.DURATION="duration",e.TWEEN_EASING="tweenEasing",e.TWEEN_ROTATE="tweenRotate",e.TWEEN_SCALE="tweenScale",e.CLOCK_WISE="clockwise",e.CURVE="curve",e.SOUND="sound",e.EVENT="event",e.ACTION="action",e.X="x",e.Y="y",e.SKEW_X="skX",e.SKEW_Y="skY",e.SCALE_X="scX",e.SCALE_Y="scY",e.VALUE="value",e.ROTATE="rotate",e.SKEW="skew",e.ALPHA_OFFSET="aO",e.RED_OFFSET="rO",e.GREEN_OFFSET="gO",e.BLUE_OFFSET="bO",e.ALPHA_MULTIPLIER="aM",e.RED_MULTIPLIER="rM",e.GREEN_MULTIPLIER="gM",e.BLUE_MULTIPLIER="bM",e.UVS="uvs",e.VERTICES="vertices",e.TRIANGLES="triangles",e.WEIGHTS="weights",e.SLOT_POSE="slotPose",e.BONE_POSE="bonePose",e.GLUE_WEIGHTS="glueWeights",e.GLUE_MESHES="glueMeshes",e.BONES="bones",e.POSITION_MODE="positionMode",e.SPACING_MODE="spacingMode",e.ROTATE_MODE="rotateMode",e.SPACING="spacing",e.ROTATE_OFFSET="rotateOffset",e.ROTATE_MIX="rotateMix",e.TRANSLATE_MIX="translateMix",e.TARGET_DISPLAY="targetDisplay",e.CLOSED="closed",e.CONSTANT_SPEED="constantSpeed",e.VERTEX_COUNT="vertexCount",e.LENGTHS="lengths",e.GOTO_AND_PLAY="gotoAndPlay",e.DEFAULT_NAME="default",e})();t.DataParser=e})(r||(r={})),(function(t){var e=(function(e){function n(){var i=null!==e&&e.apply(this,arguments)||this;return i._rawTextureAtlasIndex=0,i._rawBones=[],i._data=null,i._armature=null,i._bone=null,i._surface=null,i._slot=null,i._skin=null,i._mesh=null,i._animation=null,i._timeline=null,i._rawTextureAtlases=null,i._defaultColorOffset=-1,i._prevClockwise=0,i._prevRotation=0,i._helpMatrixA=new t.Matrix,i._helpMatrixB=new t.Matrix,i._helpTransform=new t.Transform,i._helpColorTransform=new t.ColorTransform,i._helpPoint=new t.Point,i._helpArray=[],i._intArray=[],i._floatArray=[],i._frameIntArray=[],i._frameFloatArray=[],i._frameArray=[],i._timelineArray=[],i._cacheRawMeshes=[],i._cacheMeshes=[],i._actionFrames=[],i._weightSlotPose={},i._weightBonePoses={},i._cacheBones={},i._slotChildActions={},i}return s(n,e),n._getBoolean=function(t,e,i){if(e in t){var n=t[e],r=typeof n;if("boolean"===r)return n;if("string"!==r)return!!n;switch(n){case"0":case"NaN":case"":case"false":case"null":case"undefined":return!1;default:return!0}}return i},n._getNumber=function(t,e,i){if(e in t){var n=t[e];return null===n||"NaN"===n?i:+n||0}return i},n._getString=function(e,i,n){if(i in e){var r=e[i];if("string"==typeof r){if(t.DragonBones.webAssembly)for(var s=0,a=r.length;s<a;++s)if(r.charCodeAt(s)>255)return encodeURI(r);return r}return String(r)}return n},n.prototype._getCurvePoint=function(t,e,i,n,r,s,a,o,l,c){var h=1-l,u=h*h,_=l*l,f=h*u,d=3*l*u,p=3*h*_,m=l*_;c.x=f*t+d*i+p*r+m*a,c.y=f*e+d*n+p*s+m*o},n.prototype._samplingEasingCurve=function(t,e){for(var i=t.length,n=-2,r=0,s=e.length;r<s;++r){for(var a=(r+1)/(s+1);(n+6<i?t[n+6]:1)<a;)n+=6;for(var o=n>=0&&n+6<i,l=o?t[n]:0,c=o?t[n+1]:0,h=t[n+2],u=t[n+3],_=t[n+4],f=t[n+5],d=o?t[n+6]:1,p=o?t[n+7]:1,m=0,y=1;y-m>1e-4;){var v=.5*(y+m);this._getCurvePoint(l,c,h,u,_,f,d,p,v,this._helpPoint),a-this._helpPoint.x>0?m=v:y=v}e[r]=this._helpPoint.y}},n.prototype._parseActionDataInFrame=function(e,i,n,r){t.DataParser.EVENT in e&&this._mergeActionFrame(e[t.DataParser.EVENT],i,10,n,r),t.DataParser.SOUND in e&&this._mergeActionFrame(e[t.DataParser.SOUND],i,11,n,r),t.DataParser.ACTION in e&&this._mergeActionFrame(e[t.DataParser.ACTION],i,0,n,r),t.DataParser.EVENTS in e&&this._mergeActionFrame(e[t.DataParser.EVENTS],i,10,n,r),t.DataParser.ACTIONS in e&&this._mergeActionFrame(e[t.DataParser.ACTIONS],i,0,n,r)},n.prototype._mergeActionFrame=function(e,n,r,s,a){for(var o=t.DragonBones.webAssembly?this._armature.actions.size():this._armature.actions.length,l=this._parseActionData(e,r,s,a),c=0,h=null,u=0,_=l;u<_.length;u++){var f=_[u];this._armature.addAction(f,!1)}0===this._actionFrames.length&&((h=new i).frameStart=0,this._actionFrames.push(h),h=null);for(var d=0,p=this._actionFrames;d<p.length;d++){var m=p[d];if(m.frameStart===n){h=m;break}if(m.frameStart>n)break;c++}null===h&&((h=new i).frameStart=n,this._actionFrames.splice(c+1,0,h));for(var y=0;y<l.length;++y)h.actions.push(o+y)},n.prototype._parseArmature=function(e,i){var r=t.BaseObject.borrowObject(t.ArmatureData);if(r.name=n._getString(e,t.DataParser.NAME,""),r.frameRate=n._getNumber(e,t.DataParser.FRAME_RATE,this._data.frameRate),r.scale=i,t.DataParser.TYPE in e&&"string"==typeof e[t.DataParser.TYPE]?r.type=t.DataParser._getArmatureType(e[t.DataParser.TYPE]):r.type=n._getNumber(e,t.DataParser.TYPE,0),0===r.frameRate&&(r.frameRate=24),this._armature=r,t.DataParser.CANVAS in e){var s=e[t.DataParser.CANVAS],a=t.BaseObject.borrowObject(t.CanvasData);t.DataParser.COLOR in s?a.hasBackground=!0:a.hasBackground=!1,a.color=n._getNumber(s,t.DataParser.COLOR,0),a.x=n._getNumber(s,t.DataParser.X,0)*r.scale,a.y=n._getNumber(s,t.DataParser.Y,0)*r.scale,a.width=n._getNumber(s,t.DataParser.WIDTH,0)*r.scale,a.height=n._getNumber(s,t.DataParser.HEIGHT,0)*r.scale,r.canvas=a}if(t.DataParser.AABB in e){var o=e[t.DataParser.AABB];r.aabb.x=n._getNumber(o,t.DataParser.X,0)*r.scale,r.aabb.y=n._getNumber(o,t.DataParser.Y,0)*r.scale,r.aabb.width=n._getNumber(o,t.DataParser.WIDTH,0)*r.scale,r.aabb.height=n._getNumber(o,t.DataParser.HEIGHT,0)*r.scale}if(t.DataParser.BONE in e)for(var l=0,c=e[t.DataParser.BONE];l<c.length;l++){var h=c[l],u=n._getString(h,t.DataParser.PARENT,""),_=this._parseBone(h);if(u.length>0){var f=r.getBone(u);null!==f?_.parent=f:(u in this._cacheBones||(this._cacheBones[u]=[]),this._cacheBones[u].push(_))}if(_.name in this._cacheBones){for(var d=0,p=this._cacheBones[_.name];d<p.length;d++)p[d].parent=_;delete this._cacheBones[_.name]}r.addBone(_),this._rawBones.push(_)}if(t.DataParser.IK in e)for(var m=0,y=e[t.DataParser.IK];m<y.length;m++){var v=y[m];(M=this._parseIKConstraint(v))&&r.addConstraint(M)}if(r.sortBones(),t.DataParser.SLOT in e)for(var g=0,b=0,A=e[t.DataParser.SLOT];b<A.length;b++){var x=A[b];r.addSlot(this._parseSlot(x,g++))}if(t.DataParser.SKIN in e)for(var C=0,T=e[t.DataParser.SKIN];C<T.length;C++){var S=T[C];r.addSkin(this._parseSkin(S))}if(t.DataParser.PATH_CONSTRAINT in e)for(var w=0,E=e[t.DataParser.PATH_CONSTRAINT];w<E.length;w++){var M,D=E[w];(M=this._parsePathConstraint(D))&&r.addConstraint(M)}for(var B=0,I=this._cacheRawMeshes.length;B<I;++B){var P=this._cacheRawMeshes[B];t.DataParser.GLUE_WEIGHTS in P&&t.DataParser.GLUE_MESHES in P&&this._parseMeshGlue(P,this._cacheMeshes[B])}for(B=0,I=this._cacheRawMeshes.length;B<I;++B){var R=this._cacheRawMeshes[B],O=n._getString(R,t.DataParser.SHARE,"");if(0!==O.length){var L=n._getString(R,t.DataParser.SKIN,t.DataParser.DEFAULT_NAME);0===L.length&&(L=t.DataParser.DEFAULT_NAME);var F=r.getMesh(L,"",O);null!==F&&this._cacheMeshes[B].vertices.shareFrom(F.vertices)}}if(t.DataParser.ANIMATION in e)for(var V=0,N=e[t.DataParser.ANIMATION];V<N.length;V++){var k=N[V],z=this._parseAnimation(k);r.addAnimation(z)}if(t.DataParser.DEFAULT_ACTIONS in e)for(var G=0,U=this._parseActionData(e[t.DataParser.DEFAULT_ACTIONS],0,null,null);G<U.length;G++){var j=U[G];r.addAction(j,!0),0===j.type&&null!==(z=r.getAnimation(j.name))&&(r.defaultAnimation=z)}if(t.DataParser.ACTIONS in e)for(var H=0,W=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);H<W.length;H++)j=W[H],r.addAction(j,!1);for(var X in this._rawBones.length=0,this._cacheRawMeshes.length=0,this._cacheMeshes.length=0,this._armature=null,this._weightSlotPose)delete this._weightSlotPose[X];for(var X in this._weightBonePoses)delete this._weightBonePoses[X];for(var X in this._cacheBones)delete this._cacheBones[X];for(var X in this._slotChildActions)delete this._slotChildActions[X];return r},n.prototype._parseBone=function(e){var i=this._armature.scale;if(0===(t.DataParser.TYPE in e&&"string"==typeof e[t.DataParser.TYPE]?t.DataParser._getBoneType(e[t.DataParser.TYPE]):n._getNumber(e,t.DataParser.TYPE,0))){var r=t.BaseObject.borrowObject(t.BoneData);return r.inheritTranslation=n._getBoolean(e,t.DataParser.INHERIT_TRANSLATION,!0),r.inheritRotation=n._getBoolean(e,t.DataParser.INHERIT_ROTATION,!0),r.inheritScale=n._getBoolean(e,t.DataParser.INHERIT_SCALE,!0),r.inheritReflection=n._getBoolean(e,t.DataParser.INHERIT_REFLECTION,!0),r.length=n._getNumber(e,t.DataParser.LENGTH,0)*i,r.name=n._getString(e,t.DataParser.NAME,""),t.DataParser.TRANSFORM in e&&this._parseTransform(e[t.DataParser.TRANSFORM],r.transform,i),r}var s=t.BaseObject.borrowObject(t.SurfaceData);if(s.name=n._getString(e,t.DataParser.NAME,""),s.segmentX=n._getNumber(e,t.DataParser.SEGMENT_X,0),s.segmentY=n._getNumber(e,t.DataParser.SEGMENT_Y,0),s.vertices.length=(s.segmentX+1)*(s.segmentY+1)*2,t.DataParser.VERTICES in e)for(var a=e[t.DataParser.VERTICES],o=0,l=s.vertices.length;o<l;++o)o<a.length?s.vertices[o]=a[o]*i:s.vertices[o]=0;return s},n.prototype._parseIKConstraint=function(e){var i=this._armature.getBone(n._getString(e,t.DataParser.BONE,""));if(null===i)return null;var r=this._armature.getBone(n._getString(e,t.DataParser.TARGET,""));if(null===r)return null;var s=t.BaseObject.borrowObject(t.IKConstraintData);return s.scaleEnabled=n._getBoolean(e,t.DataParser.SCALE,!1),s.bendPositive=n._getBoolean(e,t.DataParser.BEND_POSITIVE,!0),s.weight=n._getNumber(e,t.DataParser.WEIGHT,1),s.name=n._getString(e,t.DataParser.NAME,""),s.type=0,s.target=r,n._getNumber(e,t.DataParser.CHAIN,0)>0&&null!==i.parent?(s.root=i.parent,s.bone=i):(s.root=i,s.bone=null),s},n.prototype._parsePathConstraint=function(e){var i=this._armature.getSlot(n._getString(e,t.DataParser.TARGET,""));if(null===i)return null;var r=this._armature.defaultSkin;if(null===r)return null;var s=r.getDisplay(i.name,n._getString(e,t.DataParser.TARGET_DISPLAY,i.name));if(null===s||!(s instanceof t.PathDisplayData))return null;var a=e[t.DataParser.BONES];if(null===a||0===a.length)return null;var o=t.BaseObject.borrowObject(t.PathConstraintData);o.name=n._getString(e,t.DataParser.NAME,""),o.type=1,o.pathSlot=i,o.pathDisplayData=s,o.target=i.parent,o.positionMode=t.DataParser._getPositionMode(n._getString(e,t.DataParser.POSITION_MODE,"")),o.spacingMode=t.DataParser._getSpacingMode(n._getString(e,t.DataParser.SPACING_MODE,"")),o.rotateMode=t.DataParser._getRotateMode(n._getString(e,t.DataParser.ROTATE_MODE,"")),o.position=n._getNumber(e,t.DataParser.POSITION,0),o.spacing=n._getNumber(e,t.DataParser.SPACING,0),o.rotateOffset=n._getNumber(e,t.DataParser.ROTATE_OFFSET,0),o.rotateMix=n._getNumber(e,t.DataParser.ROTATE_MIX,1),o.translateMix=n._getNumber(e,t.DataParser.TRANSLATE_MIX,1);for(var l=0,c=a;l<c.length;l++){var h=c[l],u=this._armature.getBone(h);null!==u&&(o.AddBone(u),null===o.root&&(o.root=u))}return o},n.prototype._parseSlot=function(e,i){var r=t.BaseObject.borrowObject(t.SlotData);return r.displayIndex=n._getNumber(e,t.DataParser.DISPLAY_INDEX,0),r.zOrder=i,r.name=n._getString(e,t.DataParser.NAME,""),r.parent=this._armature.getBone(n._getString(e,t.DataParser.PARENT,"")),t.DataParser.BLEND_MODE in e&&"string"==typeof e[t.DataParser.BLEND_MODE]?r.blendMode=t.DataParser._getBlendMode(e[t.DataParser.BLEND_MODE]):r.blendMode=n._getNumber(e,t.DataParser.BLEND_MODE,0),t.DataParser.COLOR in e?(r.color=t.SlotData.createColor(),this._parseColorTransform(e[t.DataParser.COLOR],r.color)):r.color=t.SlotData.DEFAULT_COLOR,t.DataParser.ACTIONS in e&&(this._slotChildActions[r.name]=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null)),r},n.prototype._parseSkin=function(e){var i=t.BaseObject.borrowObject(t.SkinData);if(i.name=n._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME),t.DataParser.SLOT in e){var r=e[t.DataParser.SLOT];this._skin=i;for(var s=0,a=r;s<a.length;s++){var o=a[s],l=n._getString(o,t.DataParser.NAME,""),c=this._armature.getSlot(l);if(null!==c){if(this._slot=c,t.DataParser.DISPLAY in o)for(var h=0,u=o[t.DataParser.DISPLAY];h<u.length;h++){var _=u[h];_?i.addDisplay(l,this._parseDisplay(_)):i.addDisplay(l,null)}this._slot=null}}this._skin=null}return i},n.prototype._parseDisplay=function(e){var i=n._getString(e,t.DataParser.NAME,""),r=n._getString(e,t.DataParser.PATH,""),s=0,a=null;switch(s=t.DataParser.TYPE in e&&"string"==typeof e[t.DataParser.TYPE]?t.DataParser._getDisplayType(e[t.DataParser.TYPE]):n._getNumber(e,t.DataParser.TYPE,s)){case 0:var o=a=t.BaseObject.borrowObject(t.ImageDisplayData);o.name=i,o.path=r.length>0?r:i,this._parsePivot(e,o);break;case 1:var l=a=t.BaseObject.borrowObject(t.ArmatureDisplayData);if(l.name=i,l.path=r.length>0?r:i,l.inheritAnimation=!0,t.DataParser.ACTIONS in e)for(var c=0,h=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);c<h.length;c++){var u=h[c];l.addAction(u)}else if(this._slot.name in this._slotChildActions){var _=this._skin.getDisplays(this._slot.name);if(null===_?0===this._slot.displayIndex:this._slot.displayIndex===_.length){for(var f=0,d=this._slotChildActions[this._slot.name];f<d.length;f++)u=d[f],l.addAction(u);delete this._slotChildActions[this._slot.name]}}break;case 2:var p=a=t.BaseObject.borrowObject(t.MeshDisplayData);p.vertices.inheritDeform=n._getBoolean(e,t.DataParser.INHERIT_DEFORM,!0),p.name=i,p.path=r.length>0?r:i,p.vertices.data=this._data,t.DataParser.SHARE in e?(this._cacheRawMeshes.push(e),this._cacheMeshes.push(p)):this._parseMesh(e,p),t.DataParser.GLUE_WEIGHTS in e&&t.DataParser.GLUE_MESHES in e&&(this._cacheRawMeshes.push(e),this._cacheMeshes.push(p));break;case 3:var m=this._parseBoundingBox(e);if(null!==m){var y=a=t.BaseObject.borrowObject(t.BoundingBoxDisplayData);y.name=i,y.path=r.length>0?r:i,y.boundingBox=m}break;case 4:var v=e[t.DataParser.LENGTHS],g=a=t.BaseObject.borrowObject(t.PathDisplayData);g.closed=n._getBoolean(e,t.DataParser.CLOSED,!1),g.constantSpeed=n._getBoolean(e,t.DataParser.CONSTANT_SPEED,!1),g.name=i,g.path=r.length>0?r:i,g.vertices.data=this._data,g.curveLengths.length=v.length;for(var b=0,A=v.length;b<A;++b)g.curveLengths[b]=v[b];this._parsePath(e,g)}return null!==a&&t.DataParser.TRANSFORM in e&&this._parseTransform(e[t.DataParser.TRANSFORM],a.transform,this._armature.scale),a},n.prototype._parsePath=function(e,i){var r=e[t.DataParser.VERTICES],s=n._getNumber(e,t.DataParser.VERTEX_COUNT,0),a=this._floatArray.length,o=this._intArray.length;if(i.vertices.offset=o,this._intArray.length+=2,this._intArray[o+0]=s,this._intArray[o+2]=a,t.DataParser.WEIGHTS in e){var l=e[t.DataParser.WEIGHTS],c=e[t.DataParser.BONES],h=c.length,u=Math.floor(l.length-s)/2,_=this._intArray.length,f=this._floatArray.length,d=this._armature.sortedBones,p=t.BaseObject.borrowObject(t.WeightData);for(p.count=u,p.offset=_,this._intArray.length+=2+h+s+u,this._intArray[_+0]=h,this._intArray[_+1]=f,M=0;M<h;M++){var m=c[M],y=this._rawBones[m];p.addBone(y),this._intArray[_+2+M]=d.indexOf(y)}this._floatArray.length+=3*u,M=0;for(var v=0,g=0,b=_+2+h,A=f;M<u;M++){var x=l[v++];this._intArray[b++]=x;for(var C=0;C<x;C++){var T=l[v++],S=l[v++],w=r[g++],E=r[g++];this._intArray[b++]=c.indexOf(T),this._floatArray[A++]=S,this._floatArray[A++]=w,this._floatArray[A++]=E}}i.vertices.weight=p}else{this._floatArray.length+=r.length;for(var M=0,D=r.length;M<D;++M)this._floatArray[a+M]=r[M]}},n.prototype._parsePivot=function(e,i){if(t.DataParser.PIVOT in e){var r=e[t.DataParser.PIVOT];i.pivot.x=n._getNumber(r,t.DataParser.X,0),i.pivot.y=n._getNumber(r,t.DataParser.Y,0)}else i.pivot.x=.5,i.pivot.y=.5},n.prototype._parseMesh=function(e,i){var n=e[t.DataParser.VERTICES],r=e[t.DataParser.UVS],s=e[t.DataParser.TRIANGLES],a=Math.floor(n.length/2),o=Math.floor(s.length/3),l=this._floatArray.length,c=l+2*a,h=this._intArray.length,u=this._skin.name+"_"+this._slot.name+"_"+i.name;i.vertices.offset=h,this._intArray.length+=4+3*o,this._intArray[h+0]=a,this._intArray[h+1]=o,this._intArray[h+2]=l;for(var _=0,f=3*o;_<f;++_)this._intArray[h+4+_]=s[_];for(this._floatArray.length+=2*a+2*a,_=0,f=2*a;_<f;++_)this._floatArray[l+_]=n[_],this._floatArray[c+_]=r[_];if(t.DataParser.WEIGHTS in e){var d=e[t.DataParser.WEIGHTS],p=e[t.DataParser.SLOT_POSE],m=e[t.DataParser.BONE_POSE],y=this._armature.sortedBones,v=new Array,g=Math.floor(m.length/7),b=this._floatArray.length,A=Math.floor(d.length-a)/2,x=this._intArray.length,C=t.BaseObject.borrowObject(t.WeightData);for(C.count=A,C.offset=x,v.length=g,this._intArray.length+=2+g+a+A,this._intArray[x+1]=b,_=0;_<g;++_){var T=m[7*_],S=this._rawBones[T];C.addBone(S),v[_]=T,this._intArray[x+2+_]=y.indexOf(S)}this._floatArray.length+=3*A,this._helpMatrixA.copyFromArray(p,0),_=0;for(var w=0,E=x+2+g,M=b;_<a;++_){var D=2*_,B=this._intArray[E++]=d[w++],I=this._floatArray[l+D],P=this._floatArray[l+D+1];this._helpMatrixA.transformPoint(I,P,this._helpPoint),I=this._helpPoint.x,P=this._helpPoint.y;for(var R=0;R<B;++R){T=d[w++];var O=v.indexOf(T);this._helpMatrixB.copyFromArray(m,7*O+1),this._helpMatrixB.invert(),this._helpMatrixB.transformPoint(I,P,this._helpPoint),this._intArray[E++]=O,this._floatArray[M++]=d[w++],this._floatArray[M++]=this._helpPoint.x,this._floatArray[M++]=this._helpPoint.y}}i.vertices.weight=C,this._weightSlotPose[u]=p,this._weightBonePoses[u]=m}},n.prototype._parseMeshGlue=function(){},n.prototype._parseBoundingBox=function(e){var i=null,r=0;switch(r=t.DataParser.SUB_TYPE in e&&"string"==typeof e[t.DataParser.SUB_TYPE]?t.DataParser._getBoundingBoxType(e[t.DataParser.SUB_TYPE]):n._getNumber(e,t.DataParser.SUB_TYPE,r)){case 0:i=t.BaseObject.borrowObject(t.RectangleBoundingBoxData);break;case 1:i=t.BaseObject.borrowObject(t.EllipseBoundingBoxData);break;case 2:i=this._parsePolygonBoundingBox(e)}return null!==i&&(i.color=n._getNumber(e,t.DataParser.COLOR,0),0!==i.type&&1!==i.type||(i.width=n._getNumber(e,t.DataParser.WIDTH,0),i.height=n._getNumber(e,t.DataParser.HEIGHT,0))),i},n.prototype._parsePolygonBoundingBox=function(e){var i=t.BaseObject.borrowObject(t.PolygonBoundingBoxData);if(t.DataParser.VERTICES in e){var n=this._armature.scale,r=e[t.DataParser.VERTICES],s=i.vertices;t.DragonBones.webAssembly?s.resize(r.length,0):s.length=r.length;for(var a=0,o=r.length;a<o;a+=2){var l=r[a]*n,c=r[a+1]*n;t.DragonBones.webAssembly?(s.set(a,l),s.set(a+1,c)):(s[a]=l,s[a+1]=c),0===a?(i.x=l,i.y=c,i.width=l,i.height=c):(l<i.x?i.x=l:l>i.width&&(i.width=l),c<i.y?i.y=c:c>i.height&&(i.height=c))}i.width-=i.x,i.height-=i.y}else console.warn("Data error.\n Please reexport DragonBones Data to fixed the bug.");return i},n.prototype._parseAnimation=function(e){var i=t.BaseObject.borrowObject(t.AnimationData);if(i.frameCount=Math.max(n._getNumber(e,t.DataParser.DURATION,1),1),i.playTimes=n._getNumber(e,t.DataParser.PLAY_TIMES,1),i.duration=i.frameCount/this._armature.frameRate,i.fadeInTime=n._getNumber(e,t.DataParser.FADE_IN_TIME,0),i.scale=n._getNumber(e,t.DataParser.SCALE,1),i.name=n._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME),i.frameIntOffset=this._frameIntArray.length,i.frameFloatOffset=this._frameFloatArray.length,i.frameOffset=this._frameArray.length,this._animation=i,t.DataParser.FRAME in e){var r=e[t.DataParser.FRAME],s=r.length;if(s>0)for(var a=0,o=0;a<s;++a){var l=r[a];this._parseActionDataInFrame(l,o,null,null),o+=n._getNumber(l,t.DataParser.DURATION,1)}}if(t.DataParser.Z_ORDER in e&&(this._animation.zOrderTimeline=this._parseTimeline(e[t.DataParser.Z_ORDER],null,t.DataParser.FRAME,1,!1,!1,0,this._parseZOrderFrame)),t.DataParser.BONE in e)for(var c=0,h=e[t.DataParser.BONE];c<h.length;c++){var u=h[c];this._parseBoneTimeline(u)}if(t.DataParser.SURFACE in e)for(var _=0,f=e[t.DataParser.SURFACE];_<f.length;_++){u=f[_];var d=n._getString(u,t.DataParser.NAME,"");this._surface=this._armature.getBone(d),null!==this._surface&&(null!==(M=this._parseTimeline(u,null,t.DataParser.FRAME,50,!1,!0,0,this._parseSurfaceFrame))&&this._animation.addSurfaceTimeline(this._surface,M),this._surface=null)}if(t.DataParser.SLOT in e)for(var p=0,m=e[t.DataParser.SLOT];p<m.length;p++)u=m[p],this._parseSlotTimeline(u);if(t.DataParser.FFD in e)for(var y=0,v=e[t.DataParser.FFD];y<v.length;y++){u=v[y];var g=n._getString(u,t.DataParser.SKIN,t.DataParser.DEFAULT_NAME),b=n._getString(u,t.DataParser.SLOT,""),A=n._getString(u,t.DataParser.NAME,"");0===g.length&&(g=t.DataParser.DEFAULT_NAME),this._slot=this._armature.getSlot(b),this._mesh=this._armature.getMesh(g,b,A),null!==this._slot&&null!==this._mesh&&(null!==(M=this._parseTimeline(u,null,t.DataParser.FRAME,22,!1,!0,0,this._parseSlotFFDFrame))&&this._animation.addSlotTimeline(this._slot,M),this._slot=null,this._mesh=null)}if(t.DataParser.IK in e)for(var x=0,C=e[t.DataParser.IK];x<C.length;x++){u=C[x];var T=n._getString(u,t.DataParser.NAME,""),S=this._armature.getConstraint(T);null!==S&&null!==(M=this._parseTimeline(u,null,t.DataParser.FRAME,30,!0,!1,2,this._parseIKConstraintFrame))&&this._animation.addConstraintTimeline(S,M)}if(t.DataParser.ANIMATION in e)for(var w=0,E=e[t.DataParser.ANIMATION];w<E.length;w++){u=E[w];var M,D=n._getString(u,t.DataParser.NAME,"");null!==(M=this._parseTimeline(u,null,t.DataParser.FRAME,40,!0,!1,2,this._parseAnimationFrame))&&this._animation.addAnimationTimeline(D,M)}return this._actionFrames.length>0&&(this._animation.actionTimeline=this._parseTimeline(null,this._actionFrames,"",0,!1,!1,0,this._parseActionFrame),this._actionFrames.length=0),this._animation=null,i},n.prototype._parseTimeline=function(e,r,s,a,o,l,c,h){if(null!==e&&s.length>0&&s in e&&(r=e[s]),null===r)return null;var u=r.length;if(0===u)return null;var _=this._frameIntArray.length,f=this._frameFloatArray.length,d=t.BaseObject.borrowObject(t.TimelineData),p=this._timelineArray.length;if(this._timelineArray.length+=5+u,null!==e?(this._timelineArray[p+0]=Math.round(100*n._getNumber(e,t.DataParser.SCALE,1)),this._timelineArray[p+1]=Math.round(100*n._getNumber(e,t.DataParser.OFFSET,0))):(this._timelineArray[p+0]=100,this._timelineArray[p+1]=0),this._timelineArray[p+2]=u,this._timelineArray[p+3]=c,this._timelineArray[p+4]=o?_-this._animation.frameIntOffset:l?f-this._animation.frameFloatOffset:0,this._timeline=d,d.type=a,d.offset=p,1===u)d.frameIndicesOffset=-1,this._timelineArray[p+5+0]=h.call(this,r[0],0,0)-this._animation.frameOffset;else{var m=this._animation.frameCount+1,y=this._data.frameIndices,v=0;t.DragonBones.webAssembly?(v=y.size(),y.resize(v+m,0)):(v=y.length,y.length+=m),d.frameIndicesOffset=v;for(var g=0,b=0,A=0,x=0;g<m;++g){if(A+x<=g&&b<u){var C=r[b];A=g,x=b===u-1?this._animation.frameCount-A:C instanceof i?this._actionFrames[b+1].frameStart-A:n._getNumber(C,t.DataParser.DURATION,1),this._timelineArray[p+5+b]=h.call(this,C,A,x)-this._animation.frameOffset,b++}t.DragonBones.webAssembly?y.set(v+g,b-1):y[v+g]=b-1}}return this._timeline=null,d},n.prototype._parseBoneTimeline=function(e){var i,r=this._armature.getBone(n._getString(e,t.DataParser.NAME,""));null!==r&&(this._bone=r,this._slot=this._armature.getSlot(this._bone.name),t.DataParser.TRANSLATE_FRAME in e&&null!==(i=this._parseTimeline(e,null,t.DataParser.TRANSLATE_FRAME,11,!1,!0,2,this._parseBoneTranslateFrame))&&this._animation.addBoneTimeline(r,i),t.DataParser.ROTATE_FRAME in e&&null!==(i=this._parseTimeline(e,null,t.DataParser.ROTATE_FRAME,12,!1,!0,2,this._parseBoneRotateFrame))&&this._animation.addBoneTimeline(r,i),t.DataParser.SCALE_FRAME in e&&null!==(i=this._parseTimeline(e,null,t.DataParser.SCALE_FRAME,13,!1,!0,2,this._parseBoneScaleFrame))&&this._animation.addBoneTimeline(r,i),t.DataParser.FRAME in e&&null!==(i=this._parseTimeline(e,null,t.DataParser.FRAME,10,!1,!0,6,this._parseBoneAllFrame))&&this._animation.addBoneTimeline(r,i),this._bone=null,this._slot=null)},n.prototype._parseSlotTimeline=function(e){var i=this._armature.getSlot(n._getString(e,t.DataParser.NAME,""));if(null!==i){this._slot=i;var r;null!==(r=t.DataParser.DISPLAY_FRAME in e?this._parseTimeline(e,null,t.DataParser.DISPLAY_FRAME,20,!1,!1,0,this._parseSlotDisplayFrame):this._parseTimeline(e,null,t.DataParser.FRAME,20,!1,!1,0,this._parseSlotDisplayFrame))&&this._animation.addSlotTimeline(i,r);var s;null!==(s=t.DataParser.COLOR_FRAME in e?this._parseTimeline(e,null,t.DataParser.COLOR_FRAME,21,!0,!1,1,this._parseSlotColorFrame):this._parseTimeline(e,null,t.DataParser.FRAME,21,!0,!1,1,this._parseSlotColorFrame))&&this._animation.addSlotTimeline(i,s),this._slot=null}},n.prototype._parseFrame=function(t,e){var i=this._frameArray.length;return this._frameArray.length+=1,this._frameArray[i+0]=e,i},n.prototype._parseTweenFrame=function(e,i,r){var s=this._parseFrame(e,i,r);if(r>0)if(t.DataParser.CURVE in e){var a=r+1;this._helpArray.length=a,this._samplingEasingCurve(e[t.DataParser.CURVE],this._helpArray),this._frameArray.length+=2+this._helpArray.length,this._frameArray[s+1]=2,this._frameArray[s+2]=a;for(var o=0;o<a;++o)this._frameArray[s+3+o]=Math.round(1e4*this._helpArray[o])}else{var l=-2;t.DataParser.TWEEN_EASING in e&&(l=n._getNumber(e,t.DataParser.TWEEN_EASING,-2)),-2===l?(this._frameArray.length+=1,this._frameArray[s+1]=0):0===l?(this._frameArray.length+=1,this._frameArray[s+1]=1):l<0?(this._frameArray.length+=2,this._frameArray[s+1]=3,this._frameArray[s+2]=Math.round(100*-l)):l<=1?(this._frameArray.length+=2,this._frameArray[s+1]=4,this._frameArray[s+2]=Math.round(100*l)):(this._frameArray.length+=2,this._frameArray[s+1]=5,this._frameArray[s+2]=Math.round(100*l-100))}else this._frameArray.length+=1,this._frameArray[s+1]=0;return s},n.prototype._parseActionFrame=function(t,e){var i=this._frameArray.length,n=t.actions.length;this._frameArray.length+=2+n,this._frameArray[i+0]=e,this._frameArray[i+0+1]=n;for(var r=0;r<n;++r)this._frameArray[i+0+2+r]=t.actions[r];return i},n.prototype._parseZOrderFrame=function(e,i,n){var r=this._parseFrame(e,i,n);if(t.DataParser.Z_ORDER in e){var s=e[t.DataParser.Z_ORDER];if(s.length>0){for(var a=this._armature.sortedSlots.length,o=new Array(a-s.length/2),l=new Array(a),c=0;c<o.length;++c)o[c]=0;for(var h=0;h<a;++h)l[h]=-1;for(var u=0,_=0,f=0,d=s.length;f<d;f+=2){for(var p=s[f],m=s[f+1];u!==p;)o[_++]=u++;l[u+m]=u++}for(;u<a;)o[_++]=u++;this._frameArray.length+=1+a,this._frameArray[r+1]=a;for(var y=a;y--;)-1===l[y]?this._frameArray[r+2+y]=o[--_]||0:this._frameArray[r+2+y]=l[y]||0;return r}}return this._frameArray.length+=1,this._frameArray[r+1]=0,r},n.prototype._parseBoneAllFrame=function(e,i,r){this._helpTransform.identity(),t.DataParser.TRANSFORM in e&&this._parseTransform(e[t.DataParser.TRANSFORM],this._helpTransform,1);var s=this._helpTransform.rotation;0!==i&&(0===this._prevClockwise?s=this._prevRotation+t.Transform.normalizeRadian(s-this._prevRotation):((this._prevClockwise>0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=n._getNumber(e,t.DataParser.TWEEN_ROTATE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,r),o=this._frameFloatArray.length;return this._frameFloatArray.length+=6,this._frameFloatArray[o++]=this._helpTransform.x,this._frameFloatArray[o++]=this._helpTransform.y,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=this._helpTransform.skew,this._frameFloatArray[o++]=this._helpTransform.scaleX,this._frameFloatArray[o++]=this._helpTransform.scaleY,this._parseActionDataInFrame(e,i,this._bone,this._slot),a},n.prototype._parseBoneTranslateFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.X,0),this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.Y,0),s},n.prototype._parseBoneRotateFrame=function(e,i,r){var s=n._getNumber(e,t.DataParser.ROTATE,0)*t.Transform.DEG_RAD;0!==i&&(0===this._prevClockwise?s=this._prevRotation+t.Transform.normalizeRadian(s-this._prevRotation):((this._prevClockwise>0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=n._getNumber(e,t.DataParser.CLOCK_WISE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,r),o=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=n._getNumber(e,t.DataParser.SKEW,0)*t.Transform.DEG_RAD,a},n.prototype._parseBoneScaleFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.X,1),this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.Y,1),s},n.prototype._parseSurfaceFrame=function(e,i,r){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,r),o=e[t.DataParser.VERTICES],l=n._getNumber(e,t.DataParser.OFFSET,0),c=this._surface.vertices.length/2,h=0,u=0;this._frameFloatArray.length+=2*c;for(var _=0;_<2*c;_+=2)h=_<l||_-l>=o.length?0:o[_-l],u=_+1<l||_+1-l>=o.length?0:o[_+1-l],this._frameFloatArray[s+_]=h,this._frameFloatArray[s+_+1]=u;if(0===i){var f=this._frameIntArray.length;this._frameIntArray.length+=5,this._frameIntArray[f+0]=0,this._frameIntArray[f+1]=this._frameFloatArray.length-s,this._frameIntArray[f+2]=this._frameFloatArray.length-s,this._frameIntArray[f+3]=0,this._frameIntArray[f+4]=s-this._animation.frameFloatOffset,this._timelineArray[this._timeline.offset+3]=f-this._animation.frameIntOffset}return a},n.prototype._parseSlotDisplayFrame=function(e,i,r){var s=this._parseFrame(e,i,r);return this._frameArray.length+=1,t.DataParser.VALUE in e?this._frameArray[s+1]=n._getNumber(e,t.DataParser.VALUE,0):this._frameArray[s+1]=n._getNumber(e,t.DataParser.DISPLAY_INDEX,0),this._parseActionDataInFrame(e,i,this._slot.parent,this._slot),s},n.prototype._parseSlotColorFrame=function(e,i,n){var r=this._parseTweenFrame(e,i,n),s=-1;if(t.DataParser.VALUE in e||t.DataParser.COLOR in e){var a=t.DataParser.VALUE in e?e[t.DataParser.VALUE]:e[t.DataParser.COLOR];for(var o in a){this._parseColorTransform(a,this._helpColorTransform),s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=Math.round(100*this._helpColorTransform.alphaMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.redMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.greenMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.blueMultiplier),this._intArray[s++]=Math.round(this._helpColorTransform.alphaOffset),this._intArray[s++]=Math.round(this._helpColorTransform.redOffset),this._intArray[s++]=Math.round(this._helpColorTransform.greenOffset),this._intArray[s++]=Math.round(this._helpColorTransform.blueOffset),s-=8;break}}s<0&&(this._defaultColorOffset<0&&(this._defaultColorOffset=s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0),s=this._defaultColorOffset);var l=this._frameIntArray.length;return this._frameIntArray.length+=1,this._frameIntArray[l]=s,r},n.prototype._parseSlotFFDFrame=function(e,i,r){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,r),o=t.DataParser.VERTICES in e?e[t.DataParser.VERTICES]:null,l=n._getNumber(e,t.DataParser.OFFSET,0),c=this._intArray[this._mesh.vertices.offset+0],h=this._mesh.parent.name+"_"+this._slot.name+"_"+this._mesh.name,u=this._mesh.vertices.weight,_=0,f=0,d=0,p=0;if(null!==u){var m=this._weightSlotPose[h];this._helpMatrixA.copyFromArray(m,0),this._frameFloatArray.length+=2*u.count,d=u.offset+2+u.bones.length}else this._frameFloatArray.length+=2*c;for(var y=0;y<2*c;y+=2)if(null===o?(_=0,f=0):(_=y<l||y-l>=o.length?0:o[y-l],f=y+1<l||y+1-l>=o.length?0:o[y+1-l]),null!==u){var v=this._weightBonePoses[h],g=this._intArray[d++];this._helpMatrixA.transformPoint(_,f,this._helpPoint,!0),_=this._helpPoint.x,f=this._helpPoint.y;for(var b=0;b<g;++b){var A=this._intArray[d++];this._helpMatrixB.copyFromArray(v,7*A+1),this._helpMatrixB.invert(),this._helpMatrixB.transformPoint(_,f,this._helpPoint,!0),this._frameFloatArray[s+p++]=this._helpPoint.x,this._frameFloatArray[s+p++]=this._helpPoint.y}}else this._frameFloatArray[s+y]=_,this._frameFloatArray[s+y+1]=f;if(0===i){var x=this._frameIntArray.length;this._frameIntArray.length+=5,this._frameIntArray[x+0]=this._mesh.vertices.offset,this._frameIntArray[x+1]=this._frameFloatArray.length-s,this._frameIntArray[x+2]=this._frameFloatArray.length-s,this._frameIntArray[x+3]=0,this._frameIntArray[x+4]=s-this._animation.frameFloatOffset,this._timelineArray[this._timeline.offset+3]=x-this._animation.frameIntOffset}return a},n.prototype._parseIKConstraintFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameIntArray.length;return this._frameIntArray.length+=2,this._frameIntArray[a++]=n._getBoolean(e,t.DataParser.BEND_POSITIVE,!0)?1:0,this._frameIntArray[a++]=Math.round(100*n._getNumber(e,t.DataParser.WEIGHT,1)),s},n.prototype._parseAnimationFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameIntArray.length;return this._frameIntArray.length+=2,this._frameIntArray[a++]=n._getNumber(e,t.DataParser.VALUE,0),this._frameIntArray[a++]=Math.round(100*n._getNumber(e,t.DataParser.WEIGHT,1)),s},n.prototype._parseActionData=function(e,i,r,s){var a=new Array;if("string"==typeof e)(h=t.BaseObject.borrowObject(t.ActionData)).type=i,h.name=e,h.bone=r,h.slot=s,a.push(h);else if(e instanceof Array)for(var o=0,l=e;o<l.length;o++){var c=l[o],h=t.BaseObject.borrowObject(t.ActionData);if(t.DataParser.GOTO_AND_PLAY in c?(h.type=0,h.name=n._getString(c,t.DataParser.GOTO_AND_PLAY,"")):(t.DataParser.TYPE in c&&"string"==typeof c[t.DataParser.TYPE]?h.type=t.DataParser._getActionType(c[t.DataParser.TYPE]):h.type=n._getNumber(c,t.DataParser.TYPE,i),h.name=n._getString(c,t.DataParser.NAME,"")),t.DataParser.BONE in c){var u=n._getString(c,t.DataParser.BONE,"");h.bone=this._armature.getBone(u)}else h.bone=r;if(t.DataParser.SLOT in c){var _=n._getString(c,t.DataParser.SLOT,"");h.slot=this._armature.getSlot(_)}else h.slot=s;var f=null;if(t.DataParser.INTS in c){null===f&&(f=t.BaseObject.borrowObject(t.UserData));for(var d=0,p=c[t.DataParser.INTS];d<p.length;d++){var m=p[d];f.addInt(m)}}if(t.DataParser.FLOATS in c){null===f&&(f=t.BaseObject.borrowObject(t.UserData));for(var y=0,v=c[t.DataParser.FLOATS];y<v.length;y++)m=v[y],f.addFloat(m)}if(t.DataParser.STRINGS in c){null===f&&(f=t.BaseObject.borrowObject(t.UserData));for(var g=0,b=c[t.DataParser.STRINGS];g<b.length;g++)m=b[g],f.addString(m)}h.data=f,a.push(h)}return a},n.prototype._parseTransform=function(e,i,r){i.x=n._getNumber(e,t.DataParser.X,0)*r,i.y=n._getNumber(e,t.DataParser.Y,0)*r,t.DataParser.ROTATE in e||t.DataParser.SKEW in e?(i.rotation=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.ROTATE,0)*t.Transform.DEG_RAD),i.skew=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.SKEW,0)*t.Transform.DEG_RAD)):(t.DataParser.SKEW_X in e||t.DataParser.SKEW_Y in e)&&(i.rotation=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.SKEW_Y,0)*t.Transform.DEG_RAD),i.skew=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.SKEW_X,0)*t.Transform.DEG_RAD)-i.rotation),i.scaleX=n._getNumber(e,t.DataParser.SCALE_X,1),i.scaleY=n._getNumber(e,t.DataParser.SCALE_Y,1)},n.prototype._parseColorTransform=function(e,i){i.alphaMultiplier=.01*n._getNumber(e,t.DataParser.ALPHA_MULTIPLIER,100),i.redMultiplier=.01*n._getNumber(e,t.DataParser.RED_MULTIPLIER,100),i.greenMultiplier=.01*n._getNumber(e,t.DataParser.GREEN_MULTIPLIER,100),i.blueMultiplier=.01*n._getNumber(e,t.DataParser.BLUE_MULTIPLIER,100),i.alphaOffset=n._getNumber(e,t.DataParser.ALPHA_OFFSET,0),i.redOffset=n._getNumber(e,t.DataParser.RED_OFFSET,0),i.greenOffset=n._getNumber(e,t.DataParser.GREEN_OFFSET,0),i.blueOffset=n._getNumber(e,t.DataParser.BLUE_OFFSET,0)},n.prototype._parseArray=function(){this._intArray.length=0,this._floatArray.length=0,this._frameIntArray.length=0,this._frameFloatArray.length=0,this._frameArray.length=0,this._timelineArray.length=0},n.prototype._modifyArray=function(){this._intArray.length%Int16Array.BYTES_PER_ELEMENT!=0&&this._intArray.push(0),this._frameIntArray.length%Int16Array.BYTES_PER_ELEMENT!=0&&this._frameIntArray.push(0),this._frameArray.length%Int16Array.BYTES_PER_ELEMENT!=0&&this._frameArray.push(0),this._timelineArray.length%Uint16Array.BYTES_PER_ELEMENT!=0&&this._timelineArray.push(0);var e=this._intArray.length*Int16Array.BYTES_PER_ELEMENT,i=this._floatArray.length*Float32Array.BYTES_PER_ELEMENT,n=this._frameIntArray.length*Int16Array.BYTES_PER_ELEMENT,r=this._frameFloatArray.length*Float32Array.BYTES_PER_ELEMENT,s=this._frameArray.length*Int16Array.BYTES_PER_ELEMENT,a=this._timelineArray.length*Uint16Array.BYTES_PER_ELEMENT,o=e+i+n+r+s+a;if(t.DragonBones.webAssembly){for(var l=t.webAssemblyModule.HEAP16.buffer,c=t.webAssemblyModule._malloc(o),h=new Int16Array(l,c,this._intArray.length),u=new Float32Array(l,c+e,this._floatArray.length),_=new Int16Array(l,c+e+i,this._frameIntArray.length),f=new Float32Array(l,c+e+i+n,this._frameFloatArray.length),d=new Int16Array(l,c+e+i+n+r,this._frameArray.length),p=new Uint16Array(l,c+e+i+n+r+s,this._timelineArray.length),m=0,y=this._intArray.length;m<y;++m)h[m]=this._intArray[m];for(m=0,y=this._floatArray.length;m<y;++m)u[m]=this._floatArray[m];for(m=0,y=this._frameIntArray.length;m<y;++m)_[m]=this._frameIntArray[m];for(m=0,y=this._frameFloatArray.length;m<y;++m)f[m]=this._frameFloatArray[m];for(m=0,y=this._frameArray.length;m<y;++m)d[m]=this._frameArray[m];for(m=0,y=this._timelineArray.length;m<y;++m)p[m]=this._timelineArray[m];t.webAssemblyModule.setDataBinary(this._data,c,e,i,n,r,s,a)}else{var v=new ArrayBuffer(o);for(h=new Int16Array(v,0,this._intArray.length),u=new Float32Array(v,e,this._floatArray.length),_=new Int16Array(v,e+i,this._frameIntArray.length),f=new Float32Array(v,e+i+n,this._frameFloatArray.length),d=new Int16Array(v,e+i+n+r,this._frameArray.length),p=new Uint16Array(v,e+i+n+r+s,this._timelineArray.length),m=0,y=this._intArray.length;m<y;++m)h[m]=this._intArray[m];for(m=0,y=this._floatArray.length;m<y;++m)u[m]=this._floatArray[m];for(m=0,y=this._frameIntArray.length;m<y;++m)_[m]=this._frameIntArray[m];for(m=0,y=this._frameFloatArray.length;m<y;++m)f[m]=this._frameFloatArray[m];for(m=0,y=this._frameArray.length;m<y;++m)d[m]=this._frameArray[m];for(m=0,y=this._timelineArray.length;m<y;++m)p[m]=this._timelineArray[m];this._data.binary=v,this._data.intArray=h,this._data.floatArray=u,this._data.frameIntArray=_,this._data.frameFloatArray=f,this._data.frameArray=d,this._data.timelineArray=p}this._defaultColorOffset=-1},n.prototype.parseDragonBonesData=function(e,i){void 0===i&&(i=1),console.assert(null!=e,"Data error.");var r=n._getString(e,t.DataParser.VERSION,""),s=n._getString(e,t.DataParser.COMPATIBLE_VERSION,"");if(t.DataParser.DATA_VERSIONS.indexOf(r)>=0||t.DataParser.DATA_VERSIONS.indexOf(s)>=0){var a=t.BaseObject.borrowObject(t.DragonBonesData);if(a.version=r,a.name=n._getString(e,t.DataParser.NAME,""),a.frameRate=n._getNumber(e,t.DataParser.FRAME_RATE,24),0===a.frameRate&&(a.frameRate=24),t.DataParser.ARMATURE in e){this._data=a,this._parseArray(e);for(var o=0,l=e[t.DataParser.ARMATURE];o<l.length;o++){var c=l[o];a.addArmature(this._parseArmature(c,i))}this._data.binary||this._modifyArray(),t.DataParser.STAGE in e?a.stage=a.getArmature(n._getString(e,t.DataParser.STAGE,"")):a.armatureNames.length>0&&(a.stage=a.getArmature(a.armatureNames[0])),this._data=null}return t.DataParser.TEXTURE_ATLAS in e&&(this._rawTextureAtlases=e[t.DataParser.TEXTURE_ATLAS]),a}return console.assert(!1,"Nonsupport data version: "+r+"\nPlease convert DragonBones data to support version.\nRead more: https://github.com/DragonBones/Tools/"),null},n.prototype.parseTextureAtlasData=function(e,i,r){if(void 0===r&&(r=1),console.assert(void 0!==e),null===e){if(null===this._rawTextureAtlases||0===this._rawTextureAtlases.length)return!1;var s=this._rawTextureAtlases[this._rawTextureAtlasIndex++];return this.parseTextureAtlasData(s,i,r),this._rawTextureAtlasIndex>=this._rawTextureAtlases.length&&(this._rawTextureAtlasIndex=0,this._rawTextureAtlases=null),!0}if(i.width=n._getNumber(e,t.DataParser.WIDTH,0),i.height=n._getNumber(e,t.DataParser.HEIGHT,0),i.scale=1===r?1/n._getNumber(e,t.DataParser.SCALE,1):r,i.name=n._getString(e,t.DataParser.NAME,""),i.imagePath=n._getString(e,t.DataParser.IMAGE_PATH,""),t.DataParser.SUB_TEXTURE in e)for(var a=e[t.DataParser.SUB_TEXTURE],o=0,l=a.length;o<l;++o){var c=a[o],h=i.createTexture();h.rotated=n._getBoolean(c,t.DataParser.ROTATED,!1),h.name=n._getString(c,t.DataParser.NAME,""),h.region.x=n._getNumber(c,t.DataParser.X,0),h.region.y=n._getNumber(c,t.DataParser.Y,0),h.region.width=n._getNumber(c,t.DataParser.WIDTH,0),h.region.height=n._getNumber(c,t.DataParser.HEIGHT,0);var u=n._getNumber(c,t.DataParser.FRAME_WIDTH,-1),_=n._getNumber(c,t.DataParser.FRAME_HEIGHT,-1);u>0&&_>0&&(h.frame=t.TextureData.createRectangle(),h.frame.x=n._getNumber(c,t.DataParser.FRAME_X,0),h.frame.y=n._getNumber(c,t.DataParser.FRAME_Y,0),h.frame.width=u,h.frame.height=_),i.addTexture(h)}return!0},n.getInstance=function(){return null===n._objectDataParserInstance&&(n._objectDataParserInstance=new n),n._objectDataParserInstance},n._objectDataParserInstance=null,n})(t.DataParser);t.ObjectDataParser=e;var i=function(){this.frameStart=0,this.actions=[]};t.ActionFrame=i})(r||(r={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.prototype._inRange=function(t,e,i){return e<=t&&t<=i},i.prototype._decodeUTF8=function(t){for(var e,i=0,n="",r=0,s=0,a=0,o=0;t.length>i;){var l=t[i++];if(-1===l)e=0!==s?65533:-1;else if(0===s)this._inRange(l,0,127)?e=l:(this._inRange(l,194,223)?(s=1,o=128,r=l-192):this._inRange(l,224,239)?(s=2,o=2048,r=l-224):this._inRange(l,240,244)&&(s=3,o=65536,r=l-240),r*=Math.pow(64,s),e=null);else if(this._inRange(l,128,191))if(a+=1,r+=(l-128)*Math.pow(64,s-a),a!==s)e=null;else{var c=r,h=o;r=0,s=0,a=0,o=0,e=this._inRange(c,h,1114111)&&!this._inRange(c,55296,57343)?c:l}else r=0,s=0,a=0,o=0,i--,e=l;null!==e&&-1!==e&&(e<=65535?e>0&&(n+=String.fromCharCode(e)):(e-=65536,n+=String.fromCharCode(55296+(e>>10&1023)),n+=String.fromCharCode(56320+(1023&e))))}return n},i.prototype._getUTF16Key=function(t){for(var e=0,i=t.length;e<i;++e)if(t.charCodeAt(e)>255)return encodeURI(t);return t},i.prototype._parseBinaryTimeline=function(e,i,n){void 0===n&&(n=null);var r=null!==n?n:t.BaseObject.borrowObject(t.TimelineData);r.type=e,r.offset=i,this._timeline=r;var s=this._timelineArrayBuffer[r.offset+2];if(1===s)r.frameIndicesOffset=-1;else{var a=0,o=this._animation.frameCount+1,l=this._data.frameIndices;t.DragonBones.webAssembly?(a=l.size(),l.resize(a+o,0)):(a=l.length,l.length+=o),r.frameIndicesOffset=a;for(var c=0,h=0,u=0,_=0;c<o;++c)u+_<=c&&h<s&&(u=this._frameArrayBuffer[this._animation.frameOffset+this._timelineArrayBuffer[r.offset+5+h]],_=h===s-1?this._animation.frameCount-u:this._frameArrayBuffer[this._animation.frameOffset+this._timelineArrayBuffer[r.offset+5+h+1]]-u,h++),t.DragonBones.webAssembly?l.set(a+c,h-1):l[a+c]=h-1}return this._timeline=null,r},i.prototype._parseVertices=function(e,i){i.offset=e[t.DataParser.OFFSET];var n=this._intArrayBuffer[i.offset+3];if(n>=0){var r=t.BaseObject.borrowObject(t.WeightData),s=this._intArrayBuffer[i.offset+0],a=this._intArrayBuffer[n+0];r.offset=n;for(var o=0;o<a;++o){var l=this._intArrayBuffer[n+2+o];r.addBone(this._rawBones[l])}for(var c=n+2+a,h=0,u=(o=0,s);o<u;++o){var _=this._intArrayBuffer[c++];h+=_,c+=_}r.count=h,i.weight=r}},i.prototype._parseMesh=function(t,e){this._parseVertices(t,e.vertices)},i.prototype._parsePath=function(t,e){this._parseVertices(t,e.vertices)},i.prototype._parseAnimation=function(e){var i=t.BaseObject.borrowObject(t.AnimationData);i.frameCount=Math.max(t.ObjectDataParser._getNumber(e,t.DataParser.DURATION,1),1),i.playTimes=t.ObjectDataParser._getNumber(e,t.DataParser.PLAY_TIMES,1),i.duration=i.frameCount/this._armature.frameRate,i.fadeInTime=t.ObjectDataParser._getNumber(e,t.DataParser.FADE_IN_TIME,0),i.scale=t.ObjectDataParser._getNumber(e,t.DataParser.SCALE,1),i.name=t.ObjectDataParser._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME);var n=e[t.DataParser.OFFSET];if(i.frameIntOffset=n[0],i.frameFloatOffset=n[1],i.frameOffset=n[2],this._animation=i,t.DataParser.ACTION in e&&(i.actionTimeline=this._parseBinaryTimeline(0,e[t.DataParser.ACTION])),t.DataParser.Z_ORDER in e&&(i.zOrderTimeline=this._parseBinaryTimeline(1,e[t.DataParser.Z_ORDER])),t.DataParser.BONE in e){var r=e[t.DataParser.BONE];for(var s in r){var a=r[s];t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var o=this._armature.getBone(s);if(null!==o)for(var l=0,c=a.length;l<c;l+=2){var h=a[l],u=a[l+1],_=this._parseBinaryTimeline(h,u);this._animation.addBoneTimeline(o,_)}}}if(t.DataParser.SURFACE in e)for(var s in r=e[t.DataParser.SURFACE]){a=r[s],t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var f=this._armature.getBone(s);if(null!==f)for(l=0,c=a.length;l<c;l+=2)h=a[l],u=a[l+1],_=this._parseBinaryTimeline(h,u),this._animation.addSurfaceTimeline(f,_)}if(t.DataParser.SLOT in e)for(var s in r=e[t.DataParser.SLOT]){a=r[s],t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var d=this._armature.getSlot(s);if(null!==d)for(l=0,c=a.length;l<c;l+=2)h=a[l],u=a[l+1],_=this._parseBinaryTimeline(h,u),this._animation.addSlotTimeline(d,_)}if(t.DataParser.CONSTRAINT in e)for(var s in r=e[t.DataParser.CONSTRAINT]){a=r[s],t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var p=this._armature.getConstraint(s);if(null!==p)for(l=0,c=a.length;l<c;l+=2)h=a[l],u=a[l+1],_=this._parseBinaryTimeline(h,u),this._animation.addConstraintTimeline(p,_)}if(t.DataParser.ANIMATION in e)for(var s in r=e[t.DataParser.ANIMATION])for(a=r[s],t.DragonBones.webAssembly&&(s=this._getUTF16Key(s)),l=0,c=a.length;l<c;l+=2)h=a[l],u=a[l+1],_=this._parseBinaryTimeline(h,u),this._animation.addAnimationTimeline(s,_);return this._animation=null,i},i.prototype._parseArray=function(e){var i=e[t.DataParser.OFFSET],n=i[1],r=i[3],s=i[5],a=i[7],o=i[9],l=i[11],c=new Int16Array(this._binary,this._binaryOffset+i[0],n/Int16Array.BYTES_PER_ELEMENT),h=new Float32Array(this._binary,this._binaryOffset+i[2],r/Float32Array.BYTES_PER_ELEMENT),u=new Int16Array(this._binary,this._binaryOffset+i[4],s/Int16Array.BYTES_PER_ELEMENT),_=new Float32Array(this._binary,this._binaryOffset+i[6],a/Float32Array.BYTES_PER_ELEMENT),f=new Int16Array(this._binary,this._binaryOffset+i[8],o/Int16Array.BYTES_PER_ELEMENT),d=new Uint16Array(this._binary,this._binaryOffset+i[10],l/Uint16Array.BYTES_PER_ELEMENT);if(t.DragonBones.webAssembly){for(var p=n+r+s+a+o+l,m=t.webAssemblyModule._malloc(p),y=new Uint8Array(this._binary,this._binaryOffset,p/Uint8Array.BYTES_PER_ELEMENT),v=new Uint8Array(t.webAssemblyModule.HEAP16.buffer,m,y.length),g=0,b=y.length;g<b;++g)v[g]=y[g];t.webAssemblyModule.setDataBinary(this._data,m,n,r,s,a,o,l),this._intArrayBuffer=c,this._floatArrayBuffer=h,this._frameIntArrayBuffer=u,this._frameFloatArrayBuffer=_,this._frameArrayBuffer=f,this._timelineArrayBuffer=d}else this._data.binary=this._binary,this._data.intArray=this._intArrayBuffer=c,this._data.floatArray=this._floatArrayBuffer=h,this._data.frameIntArray=this._frameIntArrayBuffer=u,this._data.frameFloatArray=this._frameFloatArrayBuffer=_,this._data.frameArray=this._frameArrayBuffer=f,this._data.timelineArray=this._timelineArrayBuffer=d},i.prototype.parseDragonBonesData=function(t,i){void 0===i&&(i=1),console.assert(null!=t&&t instanceof ArrayBuffer,"Data error.");var n=new Uint8Array(t,0,8);if(n[0]!=="D".charCodeAt(0)||n[1]!=="B".charCodeAt(0)||n[2]!=="D".charCodeAt(0)||n[3]!=="T".charCodeAt(0))return console.assert(!1,"Nonsupport data."),null;var r=new Uint32Array(t,8,1)[0],s=new Uint8Array(t,12,r),a=this._decodeUTF8(s),o=JSON.parse(a);return this._binaryOffset=12+r,this._binary=t,e.prototype.parseDragonBonesData.call(this,o,i)},i.getInstance=function(){return null===i._binaryDataParserInstance&&(i._binaryDataParserInstance=new i),i._binaryDataParserInstance},i._binaryDataParserInstance=null,i})(t.ObjectDataParser);t.BinaryDataParser=e})(r||(r={})),(function(t){var e=(function(){function e(i){void 0===i&&(i=null),this.autoSearch=!1,this._dragonBonesDataMap={},this._textureAtlasDataMap={},this._dragonBones=null,this._dataParser=null,null===e._objectParser&&(e._objectParser=new t.ObjectDataParser),null===e._binaryParser&&(e._binaryParser=new t.BinaryDataParser),this._dataParser=null!==i?i:e._objectParser}return e.prototype._isSupportMesh=function(){return!0},e.prototype._getTextureData=function(t,e){if(t in this._textureAtlasDataMap)for(var i=0,n=this._textureAtlasDataMap[t];i<n.length;i++)if(null!==(l=(o=n[i]).getTexture(e)))return l;if(this.autoSearch)for(var r in this._textureAtlasDataMap)for(var s=0,a=this._textureAtlasDataMap[r];s<a.length;s++){var o,l;if((o=a[s]).autoSearch&&null!==(l=o.getTexture(e)))return l}return null},e.prototype._fillBuildArmaturePackage=function(t,e,i,n,r){var s=null,a=null;if(e.length>0&&e in this._dragonBonesDataMap&&(a=(s=this._dragonBonesDataMap[e]).getArmature(i)),null===a&&(0===e.length||this.autoSearch))for(var o in this._dragonBonesDataMap)if(s=this._dragonBonesDataMap[o],(0===e.length||s.autoSearch)&&null!==(a=s.getArmature(i))){e=o;break}if(null!==a){if(t.dataName=e,t.textureAtlasName=r,t.data=s,t.armature=a,t.skin=null,n.length>0&&(t.skin=a.getSkin(n),null===t.skin&&this.autoSearch))for(var o in this._dragonBonesDataMap){var l=this._dragonBonesDataMap[o].getArmature(n);if(null!==l){t.skin=l.defaultSkin;break}}return null===t.skin&&(t.skin=a.defaultSkin),!0}return!1},e.prototype._buildBones=function(e,i){for(var n=0,r=e.armature.sortedBones;n<r.length;n++){var s=r[n];t.BaseObject.borrowObject(0===s.type?t.Bone:t.Surface).init(s,i)}},e.prototype._buildSlots=function(e,i){var n=e.skin,r=e.armature.defaultSkin;if(null!==n&&null!==r){var s={};for(var a in r.displays){var o=r.getDisplays(a);s[a]=o}if(n!==r)for(var a in n.displays)o=n.getDisplays(a),s[a]=o;for(var l=0,c=e.armature.sortedSlots;l<c.length;l++){var h=c[l],u=h.name in s?s[h.name]:null,_=this._buildSlot(e,h,i);if(_.rawDisplayDatas=u,null!==u){for(var f=new Array,d=0,p=t.DragonBones.webAssembly?u.size():u.length;d<p;++d){var m=t.DragonBones.webAssembly?u.get(d):u[d];null!==m?f.push(this._getSlotDisplay(e,m,null,_)):f.push(null)}_._setDisplayList(f)}_._setDisplayIndex(h.displayIndex,!0)}}},e.prototype._buildConstraints=function(e,i){var n=e.armature.constraints;for(var r in n){var s=n[r];switch(s.type){case 0:var a=t.BaseObject.borrowObject(t.IKConstraint);a.init(s,i),i._addConstraint(a);break;case 1:var o=t.BaseObject.borrowObject(t.PathConstraint);o.init(s,i),i._addConstraint(o);break;default:var l=t.BaseObject.borrowObject(t.IKConstraint);l.init(s,i),i._addConstraint(l)}}},e.prototype._buildChildArmature=function(t,e,i){return this.buildArmature(i.path,null!==t?t.dataName:"","",null!==t?t.textureAtlasName:"")},e.prototype._getSlotDisplay=function(e,i,n,r){var s=null!==e?e.dataName:i.parent.parent.parent.name,a=null;switch(i.type){case 0:var o=i;null!==e&&e.textureAtlasName.length>0&&(o.texture=this._getTextureData(e.textureAtlasName,i.path)),null===o.texture&&(o.texture=this._getTextureData(s,i.path)),a=null!==n&&2===n.type&&this._isSupportMesh()?r.meshDisplay:r.rawDisplay;break;case 2:var l=i;null!==e&&e.textureAtlasName.length>0&&(l.texture=this._getTextureData(e.textureAtlasName,l.path)),null===l.texture&&(l.texture=this._getTextureData(s,l.path)),a=this._isSupportMesh()?r.meshDisplay:r.rawDisplay;break;case 1:var c=i,h=this._buildChildArmature(e,r,i);if(null!==h){if(h.inheritAnimation=c.inheritAnimation,!h.inheritAnimation){var u=c.actions.length>0?c.actions:h.armatureData.defaultActions;if(u.length>0)for(var _=0,f=u;_<f.length;_++){var d=f[_],p=t.BaseObject.borrowObject(t.EventObject);t.EventObject.actionDataToInstance(d,p,r.armature),p.slot=r,r.armature._bufferAction(p,!1)}else h.animation.play()}c.armature=h.armatureData}a=h}return a},e.prototype.parseDragonBonesData=function(t,i,n){void 0===i&&(i=null),void 0===n&&(n=1);for(var r=t instanceof ArrayBuffer?e._binaryParser:this._dataParser,s=r.parseDragonBonesData(t,n);;){var a=this._buildTextureAtlasData(null,null);if(!r.parseTextureAtlasData(null,a,n)){a.returnToPool();break}this.addTextureAtlasData(a,i)}return null!==s&&this.addDragonBonesData(s,i),s},e.prototype.parseTextureAtlasData=function(t,e,i,n){void 0===i&&(i=null),void 0===n&&(n=1);var r=this._buildTextureAtlasData(null,null);return this._dataParser.parseTextureAtlasData(t,r,n),this._buildTextureAtlasData(r,e||null),this.addTextureAtlasData(r,i),r},e.prototype.updateTextureAtlasData=function(t,e){var i=this.getTextureAtlasData(t);if(null!==i)for(var n=0,r=i.length;n<r;++n)n<e.length&&this._buildTextureAtlasData(i[n],e[n])},e.prototype.getDragonBonesData=function(t){return t in this._dragonBonesDataMap?this._dragonBonesDataMap[t]:null},e.prototype.addDragonBonesData=function(t,e){if(void 0===e&&(e=null),(e=null!==e?e:t.name)in this._dragonBonesDataMap){if(this._dragonBonesDataMap[e]===t)return;console.warn("Can not add same name data: "+e)}else this._dragonBonesDataMap[e]=t},e.prototype.removeDragonBonesData=function(t,e){void 0===e&&(e=!0),t in this._dragonBonesDataMap&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[t]),delete this._dragonBonesDataMap[t])},e.prototype.getTextureAtlasData=function(t){return t in this._textureAtlasDataMap?this._textureAtlasDataMap[t]:null},e.prototype.addTextureAtlasData=function(t,e){void 0===e&&(e=null);var i=(e=null!==e?e:t.name)in this._textureAtlasDataMap?this._textureAtlasDataMap[e]:this._textureAtlasDataMap[e]=[];i.indexOf(t)<0&&i.push(t)},e.prototype.removeTextureAtlasData=function(t,e){if(void 0===e&&(e=!0),t in this._textureAtlasDataMap){var i=this._textureAtlasDataMap[t];if(e)for(var n=0,r=i;n<r.length;n++){var s=r[n];this._dragonBones.bufferObject(s)}delete this._textureAtlasDataMap[t]}},e.prototype.getArmatureData=function(t,e){void 0===e&&(e="");var n=new i;return this._fillBuildArmaturePackage(n,e,t,"","")?n.armature:null},e.prototype.clear=function(t){for(var e in void 0===t&&(t=!0),this._dragonBonesDataMap)t&&this._dragonBones.bufferObject(this._dragonBonesDataMap[e]),delete this._dragonBonesDataMap[e];for(var e in this._textureAtlasDataMap){if(t)for(var i=0,n=this._textureAtlasDataMap[e];i<n.length;i++){var r=n[i];this._dragonBones.bufferObject(r)}delete this._textureAtlasDataMap[e]}},e.prototype.buildArmature=function(t,e,n,r){void 0===e&&(e=""),void 0===n&&(n=""),void 0===r&&(r="");var s=new i;if(!this._fillBuildArmaturePackage(s,e||"",t,n||"",r||""))return console.warn("No armature data: "+t+", "+(null!==e?e:"")),null;var a=this._buildArmature(s);return this._buildBones(s,a),this._buildSlots(s,a),this._buildConstraints(s,a),a.invalidUpdate(null,!0),a.advanceTime(0),a},e.prototype.replaceDisplay=function(e,i,n){void 0===n&&(n=-1),n<0&&(n=e.displayIndex),n<0&&(n=0),e.replaceDisplayData(i,n);var r=e.displayList;if(r.length<=n){r.length=n+1;for(var s=0,a=r.length;s<a;++s)r[s]||(r[s]=null)}if(null!==i){var o=e.rawDisplayDatas,l=null;o&&(t.DragonBones.webAssembly?n<o.size()&&(l=o.get(n)):n<o.length&&(l=o[n])),r[n]=this._getSlotDisplay(null,i,l,e)}else r[n]=null;e.displayList=r},e.prototype.replaceSlotDisplay=function(t,e,i,n,r,s){void 0===s&&(s=-1);var a=this.getArmatureData(e,t||"");if(!a||!a.defaultSkin)return!1;var o=a.defaultSkin.getDisplay(i,n);return!!o&&(this.replaceDisplay(r,o,s),!0)},e.prototype.replaceSlotDisplayList=function(e,i,n,r){var s=this.getArmatureData(i,e||"");if(!s||!s.defaultSkin)return!1;var a=s.defaultSkin.getDisplays(n);if(!a)return!1;for(var o=0,l=0,c=t.DragonBones.webAssembly?a.size():a.length;l<c;++l){var h=t.DragonBones.webAssembly?a.get(l):a[l];this.replaceDisplay(r,h,o++)}return!0},e.prototype.replaceSkin=function(e,i,n,r){void 0===n&&(n=!1),void 0===r&&(r=null);for(var s=!1,a=i.parent.defaultSkin,o=0,l=e.getSlots();o<l.length;o++){var c=l[o];if(!(null!==r&&r.indexOf(c.name)>=0)){var h=i.getDisplays(c.name);if(h||(null!==a&&i!==a&&(h=a.getDisplays(c.name)),h)){var u=t.DragonBones.webAssembly?h.size():h.length,_=c.displayList;_.length=u;for(var f=0,d=u;f<d;++f){var p=t.DragonBones.webAssembly?h.get(f):h[f];_[f]=null!==p?this._getSlotDisplay(null,p,null,c):null}s=!0,c.rawDisplayDatas=h,c.displayList=_}else n&&(c.rawDisplayDatas=null,c.displayList=[])}}return s},e.prototype.replaceAnimation=function(e,i,n){void 0===n&&(n=!0);var r=i.defaultSkin;if(null===r)return!1;if(n)e.animation.animations=i.animations;else{var s=e.animation.animations,a={};for(var o in s)a[o]=s[o];for(var o in i.animations)a[o]=i.animations[o];e.animation.animations=a}for(var l=0,c=e.getSlots();l<c.length;l++)for(var h=c[l],u=0,_=0,f=h.displayList;_<f.length;_++){var d=f[_];if(d instanceof t.Armature){var p=r.getDisplays(h.name);if(null!==p&&u<(t.DragonBones.webAssembly?p.size():p.length)){var m=t.DragonBones.webAssembly?p.get(u):p[u];if(null!==m&&1===m.type){var y=this.getArmatureData(m.path,m.parent.parent.parent.name);y&&this.replaceAnimation(d,y,n)}}}u++}return!0},e.prototype.getAllDragonBonesData=function(){return this._dragonBonesDataMap},e.prototype.getAllTextureAtlasData=function(){return this._textureAtlasDataMap},Object.defineProperty(e.prototype,"clock",{get:function(){return this._dragonBones.clock},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dragonBones",{get:function(){return this._dragonBones},enumerable:!0,configurable:!0}),e.prototype.changeSkin=function(t,e,i){return void 0===i&&(i=null),this.replaceSkin(t,e,!1,i)},e.prototype.copyAnimationsToArmature=function(t,e,i,n,r){void 0===i&&(i=""),void 0===n&&(n=""),void 0===r&&(r=!0);var s=this.getArmatureData(e,n);return!!s&&this.replaceAnimation(t,s,r)},e._objectParser=null,e._binaryParser=null,e})();t.BaseFactory=e;var i=function(){this.dataName="",this.textureAtlasName="",this.skin=null};t.BuildArmaturePackage=i})(r||(r={})),e.exports=r}),{}],423:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../cocos2d/core/renderer/assembler")),r=s(t("../../cocos2d/core/value-types/mat4"));function s(t){return t&&t.__esModule?t:{default:t}}var a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D,B,I,P,R,O,L,F=t("./ArmatureDisplay"),V=t("../../cocos2d/core/renderer/render-flow"),N=cc.gfx,k=cc.color(255,0,0,255),z=cc.color(0,0,255,255),G=cc.color(0,255,0,255);function U(t,e){if(!t)return null;var i,n;switch(e){case 1:i=h?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE;break;case 10:i=cc.macro.DST_COLOR,n=cc.macro.ONE_MINUS_SRC_ALPHA;break;case 12:i=cc.macro.ONE,n=cc.macro.ONE_MINUS_SRC_COLOR;break;case 0:default:i=h?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE_MINUS_SRC_ALPHA}var r=!m.enableBatch,s=m._materials[0];if(!s)return null;var a=m._materialCache,o=t.getId()+i+n+r,l=a[o];return l||(a.baseMaterial?l=cc.MaterialVariant.create(s):(l=s,a.baseMaterial=s),l.define("CC_USE_MODEL",r),l.setProperty("texture",t),l.setBlend(!0,N.BLEND_FUNC_ADD,i,n,N.BLEND_FUNC_ADD,i,n),a[o]=l),l}function j(t,e){M=t.a*e*c,u=h?M/255:1,S=t.r*a*u,w=t.g*o*u,E=t.b*l*u,T=(M<<24>>>0)+(E<<16)+(w<<8)+S}var H=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=n.prototype;return s.updateRenderData=function(){},s.realTimeTraverse=function(t,e,i){for(var n,s,a,o,l,c,h,u,m,S,w=t._slots,E=0,M=w.length;E<M;E++)if(h=(u=w[E])._color,u._visible&&u._displayData)if(e?u._mulMat(u._worldMatrix,e,u._matrix):r.default.copy(u._worldMatrix,u._matrix),u.childArmature)this.realTimeTraverse(u.childArmature,u._worldMatrix,i*h.a/255);else if(o=U(u.getTexture(),u._blendMode)){(_||o.getHash()!==p.material.getHash())&&(_=!1,p._flush(),p.node=d,p.material=o),j(h,i),m=u._worldMatrix.m,l=u._localVertices,b=l.length>>2,c=u._indices,A=c.length,S=f.request(b,A),v=S.indiceOffset,y=S.byteOffset>>2,g=S.vertexOffset,n=f._vData,s=f._iData,a=f._uintVData,B=m[0],I=m[4],P=m[12],R=m[1],O=m[5],L=m[13];for(var D=0,F=l.length;D<F;)x=l[D++],C=l[D++],n[y++]=x*B+C*I+P,n[y++]=x*R+C*O+L,n[y++]=l[D++],n[y++]=l[D++],a[y++]=T;for(var V=0,N=c.length;V<N;V++)s[v++]=g+c[V]}},s.cacheTraverse=function(t,e){if(t){var i=t.segments;if(0!=i.length){var n,r,s,a,o,l=t.vertices,c=t.indices,h=0,u=0,m=0;if(e){var S=e.m;B=S[0],R=S[1],I=S[4],O=S[5],P=S[12],L=S[13]}var w=16&D,E=w&&1===B&&0===R&&0===I&&1===O,M=0,F=t.colors,V=F[M++],N=V.vfOffset;j(V,1);for(var k=0,z=i.length;k<z;k++){var G=i[k];a=U(G.tex,G.blendMode),(_||a.getHash()!==p.material.getHash())&&(_=!1,p._flush(),p.node=d,p.material=a),b=G.vertexCount,A=G.indexCount,o=f.request(b,A),v=o.indiceOffset,g=o.vertexOffset,y=o.byteOffset>>2,n=f._vData,r=f._iData,s=f._uintVData;for(var H=v,W=v+A;H<W;H++)r[H]=g+c[u++];if(m=G.vfCount,n.set(l.subarray(h,h+m),y),h+=m,E)for(var X=y,Y=y+m;X<Y;X+=5)n[X]+=P,n[X+1]+=L;else if(w)for(var q=y,J=y+m;q<J;q+=5)x=n[q],C=n[q+1],n[q]=x*B+C*I+P,n[q+1]=x*R+C*O+L;if(1&D)for(var Z=h-m,K=y+4,Q=y+4+m;K<Q;K+=5,Z+=5)Z>=N&&(j(V=F[M++],1),N=V.vfOffset),s[K]=T}}}},s.fillBuffers=function(t,e){t.node._renderFlag|=V.FLAG_UPDATE_RENDER_DATA;var i=t._armature;if(i){_=!0,h=t.premultipliedAlpha,d=t.node,f=e._meshBuffer,p=e,m=t,D=0;var n=d._color;a=n.r/255,o=n.g/255,l=n.b/255,c=n.a/255,4294967295!==n._val&&(D|=1);var r=void 0;if(m.enableBatch&&(r=d._worldMatrix,_=!1,D|=16),t.isAnimationCached())this.cacheTraverse(t._curFrame,r);else{this.realTimeTraverse(i,r,1);var s=t._debugDraw;if(t.debugBones&&s){s.clear(),s.lineWidth=5,s.strokeColor=k,s.fillColor=z;for(var u=i.getBones(),y=0,v=u.length;y<v;y++){var g=u[y],b=Math.max(g.boneData.length,5),A=g.globalTransformMatrix.tx,x=g.globalTransformMatrix.ty,C=A+g.globalTransformMatrix.a*b,T=x+g.globalTransformMatrix.b*b;s.moveTo(A,x),s.lineTo(C,T),s.stroke(),s.circle(A,x,2*Math.PI),s.fill(),0===y&&(s.fillColor=G)}}}e.worldMatDirty++,t.attachUtil._syncAttachedNode(),d=void 0,f=void 0,p=void 0,m=void 0}},s.postFillBuffers=function(t,e){e.worldMatDirty--},n})(n.default);i.default=H,n.default.register(F,H),e.exports=i.default}),{"../../cocos2d/core/renderer/assembler":267,"../../cocos2d/core/renderer/render-flow":271,"../../cocos2d/core/value-types/mat4":340,"./ArmatureDisplay":413}],424:[(function(t,e){"use strict";var i,n=(i=t("../../cocos2d/core/value-types/mat4"))&&i.__esModule?i:{default:i},r=t("../../cocos2d/core/renderer/render-flow").FLAG_TRANSFORM,s=function(){},a=function(t){Object.defineProperty(t,"_worldMatDirty",{get:function(){return!0},set:function(){}}),t._calculWorldMatrix=s,t._mulMat=s},o=new n.default,l=cc.Class({name:"sp.AttachUtil",ctor:function(){this._inited=!1,this._skeleton=null,this._skeletonNode=null,this._skeletonComp=null,this._attachedRootNode=null,this._attachedNodeArray=[],this._boneIndexToNode={}},init:function(t){this._inited=!0,this._skeleton=t._skeleton,this._skeletonNode=t.node,this._skeletonComp=t},reset:function(){this._inited=!1,this._skeleton=null,this._skeletonNode=null,this._skeletonComp=null},_prepareAttachNode:function(){if(this._skeleton){var t=this._skeletonNode.getChildByName("ATTACHED_NODE_TREE");return t&&t.isValid||(t=new cc.Node("ATTACHED_NODE_TREE"),a(t),this._skeletonNode.addChild(t)),this._skeletonComp.isAnimationCached()&&this._skeletonComp._frameCache&&this._skeletonComp._frameCache.enableCacheAttachedInfo(),this._attachedRootNode=t,t}},_buildBoneAttachedNode:function(t,e){var i="ATTACHED_NODE:"+t.data.name,n=new cc.Node(i);return this._buildBoneRelation(n,t,e),n},_buildBoneRelation:function(t,e,i){a(t),t._bone=e,t._boneIndex=i,this._attachedNodeArray.push(t),this._boneIndexToNode[i]=t},getAttachedRootNode:function(){return this._attachedRootNode},getAttachedNodes:function(t){var e=this._attachedNodeArray,i=[];if(!this._inited)return i;for(var n=0,r=e.length;n<r;n++){var s=e[n];s&&s.isValid&&s.name==="ATTACHED_NODE:"+t&&i.push(s)}return i},_rebuildNodeArray:function(){for(var t=this._boneIndexToNode={},e=this._attachedNodeArray,i=this._attachedNodeArray=[],n=0,r=e.length;n<r;n++){var s=e[n];s&&s.isValid&&!s._toRemove&&(i.push(s),t[s._boneIndex]=s)}},_sortNodeArray:function(){this._attachedNodeArray.sort((function(t,e){return t._boneIndex<e._boneIndex?-1:1}))},_getNodeByBoneIndex:function(t){var e=this._boneIndexToNode[t];return e&&e.isValid?e:null},destroyAttachedNodes:function(t){if(this._inited){for(var e=this._attachedNodeArray,i=function t(e){for(var i=e.children,n=0,r=i.length;n<r;n++){var s=i[n];s&&t(s)}e._toRemove=!0},n=0,r=e.length;n<r;n++){var s=e[n];s&&s.isValid&&s.name.split("ATTACHED_NODE:")[1]===t&&(i(s),s.removeFromParent(!0),s.destroy(),e[n]=null)}this._rebuildNodeArray()}},generateAttachedNodes:function(t){var e=[];if(!this._inited)return e;var i=this._prepareAttachNode();if(!i)return e;for(var n=[],r=this._skeleton.bones,s=0,a=r.length;s<a;s++){var o=r[s];o.data.name==t&&n.push(o)}for(var l=function(t){if(t){var e=t.data,n=this._getNodeByBoneIndex(e.index);if(n)return n;n=this._buildBoneAttachedNode(t,e.index);var r=l(t.parent)||i;return n.parent=r,n}}.bind(this),c=0,h=n.length;c<h;c++){var u=l(n[c]);e.push(u)}return this._sortNodeArray(),e},destroyAllAttachedNodes:function(){if(this._attachedRootNode=null,this._attachedNodeArray.length=0,this._boneIndexToNode={},this._inited){var t=this._skeletonNode.getChildByName("ATTACHED_NODE_TREE");t&&(t.removeFromParent(!0),t.destroy(),t=null)}},generateAllAttachedNodes:function(){if(this._inited){this._boneIndexToNode={},this._attachedNodeArray.length=0;var t=this._prepareAttachNode();if(t){for(var e=this._skeleton.bones,i=0,n=e.length;i<n;i++){var r=e[i],s=r.data,a=null;if(r.parent){var o=r.parent.data.index;a=this._boneIndexToNode[o]}else a=t;if(a){var l=a.getChildByName("ATTACHED_NODE:"+s.name);l&&l.isValid?this._buildBoneRelation(l,r,s.index):(l=this._buildBoneAttachedNode(r,s.index),a.addChild(l))}}return t}}},_hasAttachedNode:function(){return!!this._inited&&!!this._skeletonNode.getChildByName("ATTACHED_NODE_TREE")},_associateAttachedNode:function(){if(this._inited){var t=this._skeletonNode.getChildByName("ATTACHED_NODE_TREE");if(t&&t.isValid){this._attachedRootNode=t,this._boneIndexToNode={},this._attachedNodeArray.length=0,a(t),this._skeletonComp.isAnimationCached()&&this._skeletonComp._frameCache&&this._skeletonComp._frameCache.enableCacheAttachedInfo();for(var e=this._skeleton.bones,i=0,n=e.length;i<n;i++){var r=e[i],s=r.data,o=null;if(r.parent){var l=r.parent.data.index;o=this._boneIndexToNode[l]}else o=t;if(o){var c=o.getChildByName("ATTACHED_NODE:"+s.name);c&&c.isValid&&this._buildBoneRelation(c,r,s.index)}}}}},_syncAttachedNode:function(){if(this._inited){var t=this._attachedRootNode,e=this._attachedNodeArray;if(!t||!t.isValid)return this._attachedRootNode=null,void(e.length=0);var i=this._skeletonNode._worldMatrix;n.default.copy(t._worldMatrix,i),t._renderFlag&=~r;var s;if(s=this._skeletonComp.isAnimationCached()?this._skeletonComp._curFrame&&this._skeletonComp._curFrame.boneInfos:this._skeleton.bones){for(var a=this._skeletonNode._mulMat,l=function(t,e,i){var n=o.m;n[0]=i.a,n[1]=i.c,n[4]=i.b,n[5]=i.d,n[12]=i.worldX,n[13]=i.worldY,a(t,e,o)},c=!1,h=0,u=e.length;h<u;h++){var _=e[h];if(_&&_.isValid){var f=s[_._boneIndex];f?(l(_._worldMatrix,t._worldMatrix,f),_._renderFlag&=~r):(_.removeFromParent(!0),_.destroy(),e[h]=null,c=!0)}else e[h]=null,c=!0}c&&this._rebuildNodeArray()}}}});e.exports=sp.AttachUtil=l}),{"../../cocos2d/core/renderer/render-flow":271,"../../cocos2d/core/value-types/mat4":340}],425:[(function(t,e){"use strict";var i=t("./track-entry-listeners"),n=t("../../cocos2d/core/components/CCRenderComponent"),r=t("./lib/spine"),s=t("../../cocos2d/core/graphics/graphics"),a=t("../../cocos2d/core/renderer/render-flow").FLAG_POST_RENDER,o=t("./skeleton-cache"),l=t("./AttachUtil"),c=cc.Enum({default:-1}),h=cc.Enum({"<None>":0}),u=cc.Enum({REALTIME:0,SHARED_CACHE:1,PRIVATE_CACHE:2});sp.Skeleton=cc.Class({name:"sp.Skeleton",extends:n,editor:!1,statics:{AnimationCacheMode:u},properties:{paused:{default:!1,visible:!1},skeletonData:{default:null,type:sp.SkeletonData,notify:function(){this.defaultSkin="",this.defaultAnimation="",this._updateSkeletonData()},tooltip:!1},defaultSkin:{default:"",visible:!1},defaultAnimation:{default:"",visible:!1},animation:{get:function(){if(this.isAnimationCached())return this._animationName;var t=this.getCurrent(0);return t&&t.animation.name||""},set:function(t){this.defaultAnimation=t,t?this.setAnimation(0,t,this.loop):this.isAnimationCached()||(this.clearTrack(0),this.setToSetupPose())},visible:!1},_defaultSkinIndex:{get:function(){if(this.skeletonData){var t=this.skeletonData.getSkinsEnum();if(t)if(""===this.defaultSkin){if(t.hasOwnProperty(0))return this._defaultSkinIndex=0,0}else{var e=t[this.defaultSkin];if(void 0!==e)return e}}return 0},set:function(t){var e;if(this.skeletonData&&(e=this.skeletonData.getSkinsEnum()),!e)return cc.errorID("",this.name);var i=e[t];void 0!==i?(this.defaultSkin=i,this.setSkin(this.defaultSkin)):cc.errorID(7501,this.name)},type:c,visible:!0,animatable:!1,displayName:"Default Skin",tooltip:!1},_animationIndex:{get:function(){var t=this.animation;if(this.skeletonData&&t){var e=this.skeletonData.getAnimsEnum();if(e){var i=e[t];if(void 0!==i)return i}}return 0},set:function(t){if(0!==t){var e;if(this.skeletonData&&(e=this.skeletonData.getAnimsEnum()),!e)return cc.errorID(7502,this.name);var i=e[t];void 0!==i?this.animation=i:cc.errorID(7503,this.name)}else this.animation=""},type:h,visible:!0,animatable:!1,displayName:"Animation",tooltip:!1},_preCacheMode:-1,_cacheMode:u.REALTIME,_defaultCacheMode:{default:0,type:u,notify:function(){this.setAnimationCacheMode(this._defaultCacheMode)},editorOnly:!0,visible:!0,animatable:!1,displayName:"Animation Cache Mode",tooltip:!1},loop:{default:!0,tooltip:!1},premultipliedAlpha:{default:!0,tooltip:!1},timeScale:{default:1,tooltip:!1},debugSlots:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},debugBones:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},debugMesh:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},useTint:{default:!1,tooltip:!1,notify:function(){this._updateUseTint()}},enableBatch:{default:!1,notify:function(){this._updateBatch()},tooltip:!1},_accTime:0,_playCount:0,_frameCache:null,_curFrame:null,_skeletonCache:null,_animationName:"",_animationQueue:[],_headAniInfo:null,_playTimes:0,_isAniComplete:!0},ctor:function(){this._effectDelegate=null,this._skeleton=null,this._rootBone=null,this._listener=null,this._materialCache={},this._debugRenderer=null,this._startSlotIndex=-1,this._endSlotIndex=-1,this._startEntry={animation:{name:""},trackIndex:0},this._endEntry={animation:{name:""},trackIndex:0},this.attachUtil=new l},_getDefaultMaterial:function(){return cc.Material.getBuiltinMaterial("2d-spine")},_updateMaterial:function(){var t=this.useTint||this.isAnimationCached()&&!0,e=this.getMaterial(0);if(e){e.define("USE_TINT",t),e.define("CC_USE_MODEL",!this.enableBatch);var i=this.premultipliedAlpha?cc.gfx.BLEND_ONE:cc.gfx.BLEND_SRC_ALPHA,n=cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;e.setBlend(!0,cc.gfx.BLEND_FUNC_ADD,i,i,cc.gfx.BLEND_FUNC_ADD,n,n)}this._materialCache={}},disableRender:function(){this._super(),this.node._renderFlag&=~a},markForRender:function(t){this._super(t),t?this.node._renderFlag|=a:this.node._renderFlag&=~a},_updateUseTint:function(){var t=this.getMaterial(0);if(t){var e=this.useTint||this.isAnimationCached()&&!0;t.define("USE_TINT",e)}this._materialCache={}},_updateBatch:function(){var t=this.getMaterial(0);t&&t.define("CC_USE_MODEL",!this.enableBatch),this._materialCache={}},_validateRender:function(){var t=this.skeletonData;t&&t.isTexturesLoaded()?this._super():this.disableRender()},setSkeletonData:function(t){if(null!=t.width&&null!=t.height&&this.node.setContentSize(t.width,t.height),this._cacheMode===u.SHARED_CACHE?this._skeletonCache=o.sharedCache:this._cacheMode===u.PRIVATE_CACHE&&(this._skeletonCache=new o,this._skeletonCache.enablePrivateMode()),this.isAnimationCached()){(this.debugBones||this.debugSlots)&&cc.warn("Debug bones or slots is invalid in cached mode");var e=this._skeletonCache.getSkeletonCache(this.skeletonData._uuid,t);this._skeleton=e.skeleton,this._clipper=e.clipper,this._rootBone=this._skeleton.getRootBone()}else this._skeleton=new r.Skeleton(t),this._clipper=new r.SkeletonClipping,this._rootBone=this._skeleton.getRootBone();this.markForRender(!0)},setSlotsRange:function(t,e){this.isAnimationCached()?cc.warn("Slots visible range can not be modified in cached mode."):(this._startSlotIndex=t,this._endSlotIndex=e)},setAnimationStateData:function(t){if(this.isAnimationCached())cc.warn("'setAnimationStateData' interface can not be invoked in cached mode.");else{var e=new r.AnimationState(t);this._listener&&(this._state&&this._state.removeListener(this._listener),e.addListener(this._listener)),this._state=e}},__preload:function(){this._super();for(var t=this.node.children,e=0,i=t.length;e<i;e++){var n=t[e];n&&"DEBUG_DRAW_NODE"===n._name&&n.destroy()}this._updateSkeletonData(),this._updateDebugDraw(),this._updateUseTint(),this._updateBatch()},setAnimationCacheMode:function(t){this._preCacheMode!==t&&(this._cacheMode=t,this._updateSkeletonData(),this._updateUseTint())},isAnimationCached:function(){return this._cacheMode!==u.REALTIME},update:function(t){if(!this.paused)if(t*=this.timeScale*sp.timeScale,this.isAnimationCached()){if(this._isAniComplete){if(0===this._animationQueue.length&&!this._headAniInfo){var e=this._frameCache;if(e&&e.isInvalid()){e.updateToFrame();var i=e.frames;this._curFrame=i[i.length-1]}return}if(this._headAniInfo||(this._headAniInfo=this._animationQueue.shift()),this._accTime+=t,this._accTime>this._headAniInfo.delay){var n=this._headAniInfo;this._headAniInfo=null,this.setAnimation(0,n.animationName,n.loop)}return}this._updateCache(t)}else this._updateRealtime(t)},_emitCacheCompleteEvent:function(){this._listener&&(this._endEntry.animation.name=this._animationName,this._listener.complete&&this._listener.complete(this._endEntry),this._listener.end&&this._listener.end(this._endEntry))},_updateCache:function(t){var e=this._frameCache;if(e.isInited()){var i=e.frames,n=o.FrameTime;0==this._accTime&&0==this._playCount&&(this._startEntry.animation.name=this._animationName,this._listener&&this._listener.start&&this._listener.start(this._startEntry)),this._accTime+=t;var r=Math.floor(this._accTime/n);if(e.isCompleted||e.updateToFrame(r),e.isCompleted&&r>=i.length){if(this._playCount++,this._playTimes>0&&this._playCount>=this._playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playCount=0,this._isAniComplete=!0,void this._emitCacheCompleteEvent();this._accTime=0,r=0,this._emitCacheCompleteEvent()}this._curFrame=i[r]}},_updateRealtime:function(t){var e=this._skeleton,i=this._state;e&&(e.update(t),i&&(i.update(t),i.apply(e)))},setVertexEffectDelegate:function(t){this._effectDelegate=t},updateWorldTransform:function(){this.isAnimationCached()&&this._skeleton&&this._skeleton.updateWorldTransform()},setToSetupPose:function(){this._skeleton&&this._skeleton.setToSetupPose()},setBonesToSetupPose:function(){this._skeleton&&this._skeleton.setBonesToSetupPose()},setSlotsToSetupPose:function(){this._skeleton&&this._skeleton.setSlotsToSetupPose()},updateAnimationCache:function(t){if(this.isAnimationCached()){var e=this.skeletonData._uuid;this._skeletonCache&&this._skeletonCache.updateAnimationCache(e,t)}},invalidAnimationCache:function(){this.isAnimationCached()&&this._skeletonCache&&this._skeletonCache.invalidAnimationCache(this.skeletonData._uuid)},findBone:function(t){return this._skeleton?this._skeleton.findBone(t):null},findSlot:function(t){return this._skeleton?this._skeleton.findSlot(t):null},setSkin:function(t){this._skeleton&&(this._skeleton.setSkinByName(t),this._skeleton.setSlotsToSetupPose()),this.invalidAnimationCache()},getAttachment:function(t,e){return this._skeleton?this._skeleton.getAttachmentByName(t,e):null},setAttachment:function(t,e){this._skeleton&&this._skeleton.setAttachment(t,e),this.invalidAnimationCache()},getTextureAtlas:function(t){return t.region},setMix:function(t,e,i){this._state&&this._state.data.setMix(t,e,i)},setAnimation:function(t,e,i){if(this._playTimes=i?0:1,this._animationName=e,this.isAnimationCached()){if(0!==t&&cc.warn("Track index can not greater than 0 in cached mode."),!this._skeletonCache)return null;var n=this._skeletonCache.getAnimationCache(this.skeletonData._uuid,e);n||(n=this._skeletonCache.initAnimationCache(this.skeletonData._uuid,e)),n&&(this._isAniComplete=!1,this._accTime=0,this._playCount=0,this._frameCache=n,this.attachUtil._hasAttachedNode()&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._curFrame=this._frameCache.frames[0])}else if(this._skeleton){var r=this._skeleton.data.findAnimation(e);if(!r)return cc.logID(7509,e),null;var s=this._state.setAnimationWith(t,r,i);return this._state.apply(this._skeleton),s}return null},addAnimation:function(t,e,i,n){if(n=n||0,this.isAnimationCached())0!==t&&cc.warn("Track index can not greater than 0 in cached mode."),this._animationQueue.push({animationName:e,loop:i,delay:n});else if(this._skeleton){var r=this._skeleton.data.findAnimation(e);return r?this._state.addAnimationWith(t,r,i,n):(cc.logID(7510,e),null)}return null},findAnimation:function(t){return this._skeleton?this._skeleton.data.findAnimation(t):null},getCurrent:function(t){if(this.isAnimationCached())cc.warn("'getCurrent' interface can not be invoked in cached mode.");else if(this._state)return this._state.getCurrent(t);return null},clearTracks:function(){this.isAnimationCached()?cc.warn("'clearTracks' interface can not be invoked in cached mode."):this._state&&this._state.clearTracks()},clearTrack:function(t){this.isAnimationCached()?cc.warn("'clearTrack' interface can not be invoked in cached mode."):this._state&&this._state.clearTrack(t)},setStartListener:function(t){this._ensureListener(),this._listener.start=t},setInterruptListener:function(t){this._ensureListener(),this._listener.interrupt=t},setEndListener:function(t){this._ensureListener(),this._listener.end=t},setDisposeListener:function(t){this._ensureListener(),this._listener.dispose=t},setCompleteListener:function(t){this._ensureListener(),this._listener.complete=t},setEventListener:function(t){this._ensureListener(),this._listener.event=t},setTrackStartListener:function(t,e){i.getListeners(t).start=e},setTrackInterruptListener:function(t,e){i.getListeners(t).interrupt=e},setTrackEndListener:function(t,e){i.getListeners(t).end=e},setTrackDisposeListener:function(t,e){i.getListeners(t).dispose=e},setTrackCompleteListener:function(t,e){i.getListeners(t).complete=function(t){var i=Math.floor(t.trackTime/t.animationEnd);e(t,i)}},setTrackEventListener:function(t,e){i.getListeners(t).event=e},getState:function(){return this._state},_updateAnimEnum:!1,_updateSkinEnum:!1,_ensureListener:function(){this._listener||(this._listener=new i,this._state&&this._state.addListener(this._listener))},_updateSkeletonData:function(){if(this.skeletonData){var t=this.skeletonData.getRuntimeData();if(t){try{this.setSkeletonData(t),this.isAnimationCached()||this.setAnimationStateData(new r.AnimationStateData(this._skeleton.data)),this.defaultSkin&&this.setSkin(this.defaultSkin)}catch(e){cc.warn(e)}this.attachUtil.init(this),this.attachUtil._associateAttachedNode(),this._preCacheMode=this._cacheMode,this.animation=this.defaultAnimation}else this.disableRender()}else this.disableRender()},_refreshInspector:function(){this._updateAnimEnum(),this._updateSkinEnum(),Editor.Utils.refreshSelectedInspector("node",this.node.uuid)},_updateDebugDraw:function(){if(this.debugBones||this.debugSlots){if(!this._debugRenderer){var t=new cc.PrivateNode;t.name="DEBUG_DRAW_NODE";var e=t.addComponent(s);e.lineWidth=1,e.strokeColor=cc.color(255,0,0,255),this._debugRenderer=e}this._debugRenderer.node.parent=this.node,this.isAnimationCached()&&cc.warn("Debug bones or slots is invalid in cached mode")}else this._debugRenderer&&(this._debugRenderer.node.parent=null)}}),e.exports=sp.Skeleton}),{"../../cocos2d/core/components/CCRenderComponent":159,"../../cocos2d/core/graphics/graphics":201,"../../cocos2d/core/renderer/render-flow":271,"./AttachUtil":424,"./lib/spine":427,"./skeleton-cache":428,"./track-entry-listeners":432}],426:[(function(t){"use strict";var e="undefined"==typeof window?global:window;e.spine=t("./lib/spine"),e.sp={},sp._timeScale=1,Object.defineProperty(sp,"timeScale",{get:function(){return this._timeScale},set:function(t){this._timeScale=t},configurable:!0}),sp.ATTACHMENT_TYPE={REGION:0,BOUNDING_BOX:1,MESH:2,SKINNED_MESH:3},sp.AnimationEventType=cc.Enum({START:0,INTERRUPT:1,END:2,DISPOSE:3,COMPLETE:4,EVENT:5}),sp.spine=e.spine,t("./skeleton-texture"),t("./skeleton-data"),t("./vertex-effect-delegate"),t("./Skeleton"),t("./spine-assembler")}),{"./Skeleton":425,"./lib/spine":427,"./skeleton-data":429,"./skeleton-texture":430,"./spine-assembler":431,"./vertex-effect-delegate":433}],427:[(function(t,e){"use strict";var i,n,r,s=(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});(function(t){var e,i,n,r=(function(){function t(t,e,i){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.timelineIds=[];for(var n=0;n<e.length;n++)this.timelineIds[e[n].getPropertyId()]=!0;this.duration=i}return t.prototype.hasTimeline=function(t){return 1==this.timelineIds[t]},t.prototype.apply=function(t,e,i,n,r,s,a,o){if(null==t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(i%=this.duration,e>0&&(e%=this.duration));for(var l=this.timelines,c=0,h=l.length;c<h;c++)l[c].apply(t,e,i,r,s,a,o)},t.binarySearch=function(t,e,i){void 0===i&&(i=1);var n=0,r=t.length/i-2;if(0==r)return i;for(var s=r>>>1;;){if(t[(s+1)*i]<=e?n=s+1:r=s,n==r)return(n+1)*i;s=n+r>>>1}},t.linearSearch=function(t,e,i){for(var n=0,r=t.length-i;n<=r;n+=i)if(t[n]>e)return n;return-1},t})();t.Animation=r,(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.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut"})(i=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"})(n=t.TimelineType||(t.TimelineType={}));var a=(function(){function e(i){if(i<=0)throw new Error("frameCount must be > 0: "+i);this.curves=t.Utils.newFloatArray((i-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 i=t*e.BEZIER_SIZE;if(i==this.curves.length)return e.LINEAR;var n=this.curves[i];return n==e.LINEAR?e.LINEAR:n==e.STEPPED?e.STEPPED:e.BEZIER},e.prototype.setCurve=function(t,i,n,r,s){var a=.03*(2*-i+r),o=.03*(2*-n+s),l=.006*(3*(i-r)+1),c=.006*(3*(n-s)+1),h=2*a+l,u=2*o+c,_=.3*i+a+.16666667*l,f=.3*n+o+.16666667*c,d=t*e.BEZIER_SIZE,p=this.curves;p[d++]=e.BEZIER;for(var m=_,y=f,v=d+e.BEZIER_SIZE-1;d<v;d+=2)p[d]=m,p[d+1]=y,_+=h,f+=u,h+=l,u+=c,m+=_,y+=f},e.prototype.getCurvePercent=function(i,n){n=t.MathUtils.clamp(n,0,1);var r=this.curves,s=i*e.BEZIER_SIZE,a=r[s];if(a==e.LINEAR)return n;if(a==e.STEPPED)return 0;for(var o=0,l=++s,c=s+e.BEZIER_SIZE-1;s<c;s+=2)if((o=r[s])>=n){var h=void 0,u=void 0;return s==l?(h=0,u=0):(h=r[s-2],u=r[s-1]),u+(r[s+1]-u)*(n-h)/(o-h)}var _=r[s-1];return _+(1-_)*(n-o)/(1-o)},e.LINEAR=0,e.STEPPED=1,e.BEZIER=2,e.BEZIER_SIZE=19,e})();t.CurveTimeline=a;var o=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e<<1),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.rotate<<24)+this.boneIndex},a.prototype.setFrame=function(t,e,i){t<<=1,this.frames[t]=e,this.frames[t+a.ROTATION]=i},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n<c[0])switch(l){case e.setup:return void(h.rotation=h.data.rotation);case e.first:var u=h.data.rotation-h.rotation;h.rotation+=(u-360*(16384-(16384.499999999996-u/360|0)))*o}else if(n>=c[c.length-a.ENTRIES]){var _=c[c.length+a.PREV_ROTATION];switch(l){case e.setup:h.rotation=h.data.rotation+_*o;break;case e.first:case e.replace:_+=h.data.rotation-h.rotation,_-=360*(16384-(16384.499999999996-_/360|0));case e.add:h.rotation+=_*o}}else{var f=r.binarySearch(c,n,a.ENTRIES),d=c[f+a.PREV_ROTATION],p=c[f],m=this.getCurvePercent((f>>1)-1,1-(n-p)/(c[f+a.PREV_TIME]-p)),y=c[f+a.ROTATION]-d;switch(y=d+(y-360*(16384-(16384.499999999996-y/360|0)))*m,l){case e.setup:h.rotation=h.data.rotation+(y-360*(16384-(16384.499999999996-y/360|0)))*o;break;case e.first:case e.replace:y+=h.data.rotation-h.rotation;case e.add:h.rotation+=(y-360*(16384-(16384.499999999996-y/360|0)))*o}}},a.ENTRIES=2,a.PREV_TIME=-2,a.PREV_ROTATION=-1,a.ROTATION=1,a})(a);t.RotateTimeline=o;var l=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.translate<<24)+this.boneIndex},a.prototype.setFrame=function(t,e,i,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.X]=i,this.frames[t+a.Y]=n},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n<c[0])switch(l){case e.setup:return h.x=h.data.x,void(h.y=h.data.y);case e.first:h.x+=(h.data.x-h.x)*o,h.y+=(h.data.y-h.y)*o}else{var u=0,_=0;if(n>=c[c.length-a.ENTRIES])u=c[c.length+a.PREV_X],_=c[c.length+a.PREV_Y];else{var f=r.binarySearch(c,n,a.ENTRIES);u=c[f+a.PREV_X],_=c[f+a.PREV_Y];var d=c[f],p=this.getCurvePercent(f/a.ENTRIES-1,1-(n-d)/(c[f+a.PREV_TIME]-d));u+=(c[f+a.X]-u)*p,_+=(c[f+a.Y]-_)*p}switch(l){case e.setup:h.x=h.data.x+u*o,h.y=h.data.y+_*o;break;case e.first:case e.replace:h.x+=(h.data.x+u-h.x)*o,h.y+=(h.data.y+_-h.y)*o;break;case e.add:h.x+=u*o,h.y+=_*o}}},a.ENTRIES=3,a.PREV_TIME=-3,a.PREV_X=-2,a.PREV_Y=-1,a.X=1,a.Y=2,a})(a);t.TranslateTimeline=l;var c=(function(a){function o(t){return a.call(this,t)||this}return s(o,a),o.prototype.getPropertyId=function(){return(n.scale<<24)+this.boneIndex},o.prototype.apply=function(n,s,a,l,c,h,u){var _=this.frames,f=n.bones[this.boneIndex];if(f.active)if(a<_[0])switch(h){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)*c,f.scaleY+=(f.data.scaleY-f.scaleY)*c}else{var d=0,p=0;if(a>=_[_.length-o.ENTRIES])d=_[_.length+o.PREV_X]*f.data.scaleX,p=_[_.length+o.PREV_Y]*f.data.scaleY;else{var m=r.binarySearch(_,a,o.ENTRIES);d=_[m+o.PREV_X],p=_[m+o.PREV_Y];var y=_[m],v=this.getCurvePercent(m/o.ENTRIES-1,1-(a-y)/(_[m+o.PREV_TIME]-y));d=(d+(_[m+o.X]-d)*v)*f.data.scaleX,p=(p+(_[m+o.Y]-p)*v)*f.data.scaleY}if(1==c)h==e.add?(f.scaleX+=d-f.data.scaleX,f.scaleY+=p-f.data.scaleY):(f.scaleX=d,f.scaleY=p);else{var g=0,b=0;if(u==i.mixOut)switch(h){case e.setup:g=f.data.scaleX,b=f.data.scaleY,f.scaleX=g+(Math.abs(d)*t.MathUtils.signum(g)-g)*c,f.scaleY=b+(Math.abs(p)*t.MathUtils.signum(b)-b)*c;break;case e.first:case e.replace:g=f.scaleX,b=f.scaleY,f.scaleX=g+(Math.abs(d)*t.MathUtils.signum(g)-g)*c,f.scaleY=b+(Math.abs(p)*t.MathUtils.signum(b)-b)*c;break;case e.add:g=f.scaleX,b=f.scaleY,f.scaleX=g+(Math.abs(d)*t.MathUtils.signum(g)-f.data.scaleX)*c,f.scaleY=b+(Math.abs(p)*t.MathUtils.signum(b)-f.data.scaleY)*c}else switch(h){case e.setup:g=Math.abs(f.data.scaleX)*t.MathUtils.signum(d),b=Math.abs(f.data.scaleY)*t.MathUtils.signum(p),f.scaleX=g+(d-g)*c,f.scaleY=b+(p-b)*c;break;case e.first:case e.replace:g=Math.abs(f.scaleX)*t.MathUtils.signum(d),b=Math.abs(f.scaleY)*t.MathUtils.signum(p),f.scaleX=g+(d-g)*c,f.scaleY=b+(p-b)*c;break;case e.add:g=t.MathUtils.signum(d),b=t.MathUtils.signum(p),f.scaleX=Math.abs(f.scaleX)*g+(d-Math.abs(f.data.scaleX)*g)*c,f.scaleY=Math.abs(f.scaleY)*b+(p-Math.abs(f.data.scaleY)*b)*c}}}},o})(l);t.ScaleTimeline=c;var h=(function(t){function i(e){return t.call(this,e)||this}return s(i,t),i.prototype.getPropertyId=function(){return(n.shear<<24)+this.boneIndex},i.prototype.apply=function(t,n,s,a,o,l){var c=this.frames,h=t.bones[this.boneIndex];if(h.active)if(s<c[0])switch(l){case e.setup:return h.shearX=h.data.shearX,void(h.shearY=h.data.shearY);case e.first:h.shearX+=(h.data.shearX-h.shearX)*o,h.shearY+=(h.data.shearY-h.shearY)*o}else{var u=0,_=0;if(s>=c[c.length-i.ENTRIES])u=c[c.length+i.PREV_X],_=c[c.length+i.PREV_Y];else{var f=r.binarySearch(c,s,i.ENTRIES);u=c[f+i.PREV_X],_=c[f+i.PREV_Y];var d=c[f],p=this.getCurvePercent(f/i.ENTRIES-1,1-(s-d)/(c[f+i.PREV_TIME]-d));u+=(c[f+i.X]-u)*p,_+=(c[f+i.Y]-_)*p}switch(l){case e.setup:h.shearX=h.data.shearX+u*o,h.shearY=h.data.shearY+_*o;break;case e.first:case e.replace:h.shearX+=(h.data.shearX+u-h.shearX)*o,h.shearY+=(h.data.shearY+_-h.shearY)*o;break;case e.add:h.shearX+=u*o,h.shearY+=_*o}}},i})(l);t.ShearTimeline=h;var u=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.color<<24)+this.slotIndex},a.prototype.setFrame=function(t,e,i,n,r,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=i,this.frames[t+a.G]=n,this.frames[t+a.B]=r,this.frames[t+a.A]=s},a.prototype.apply=function(t,i,n,s,o,l){var c=t.slots[this.slotIndex];if(c.bone.active){var h=this.frames;if(n<h[0])switch(l){case e.setup:return void c.color.setFromColor(c.data.color);case e.first:var u=c.color,_=c.data.color;u.add((_.r-u.r)*o,(_.g-u.g)*o,(_.b-u.b)*o,(_.a-u.a)*o)}else{var f=0,d=0,p=0,m=0;if(n>=h[h.length-a.ENTRIES]){var y=h.length;f=h[y+a.PREV_R],d=h[y+a.PREV_G],p=h[y+a.PREV_B],m=h[y+a.PREV_A]}else{var v=r.binarySearch(h,n,a.ENTRIES);f=h[v+a.PREV_R],d=h[v+a.PREV_G],p=h[v+a.PREV_B],m=h[v+a.PREV_A];var g=h[v],b=this.getCurvePercent(v/a.ENTRIES-1,1-(n-g)/(h[v+a.PREV_TIME]-g));f+=(h[v+a.R]-f)*b,d+=(h[v+a.G]-d)*b,p+=(h[v+a.B]-p)*b,m+=(h[v+a.A]-m)*b}1==o?c.color.set(f,d,p,m):(u=c.color,l==e.setup&&u.setFromColor(c.data.color),u.add((f-u.r)*o,(d-u.g)*o,(p-u.b)*o,(m-u.a)*o))}}},a.ENTRIES=5,a.PREV_TIME=-5,a.PREV_R=-4,a.PREV_G=-3,a.PREV_B=-2,a.PREV_A=-1,a.R=1,a.G=2,a.B=3,a.A=4,a})(a);t.ColorTimeline=u;var _=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.twoColor<<24)+this.slotIndex},a.prototype.setFrame=function(t,e,i,n,r,s,o,l,c){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=i,this.frames[t+a.G]=n,this.frames[t+a.B]=r,this.frames[t+a.A]=s,this.frames[t+a.R2]=o,this.frames[t+a.G2]=l,this.frames[t+a.B2]=c},a.prototype.apply=function(t,i,n,s,o,l){var c=t.slots[this.slotIndex];if(c.bone.active){var h=this.frames;if(n<h[0])switch(l){case e.setup:return c.color.setFromColor(c.data.color),void c.darkColor.setFromColor(c.data.darkColor);case e.first:var u=c.color,_=c.darkColor,f=c.data.color,d=c.data.darkColor;u.add((f.r-u.r)*o,(f.g-u.g)*o,(f.b-u.b)*o,(f.a-u.a)*o),_.add((d.r-_.r)*o,(d.g-_.g)*o,(d.b-_.b)*o,0)}else{var p=0,m=0,y=0,v=0,g=0,b=0,A=0;if(n>=h[h.length-a.ENTRIES]){var x=h.length;p=h[x+a.PREV_R],m=h[x+a.PREV_G],y=h[x+a.PREV_B],v=h[x+a.PREV_A],g=h[x+a.PREV_R2],b=h[x+a.PREV_G2],A=h[x+a.PREV_B2]}else{var C=r.binarySearch(h,n,a.ENTRIES);p=h[C+a.PREV_R],m=h[C+a.PREV_G],y=h[C+a.PREV_B],v=h[C+a.PREV_A],g=h[C+a.PREV_R2],b=h[C+a.PREV_G2],A=h[C+a.PREV_B2];var T=h[C],S=this.getCurvePercent(C/a.ENTRIES-1,1-(n-T)/(h[C+a.PREV_TIME]-T));p+=(h[C+a.R]-p)*S,m+=(h[C+a.G]-m)*S,y+=(h[C+a.B]-y)*S,v+=(h[C+a.A]-v)*S,g+=(h[C+a.R2]-g)*S,b+=(h[C+a.G2]-b)*S,A+=(h[C+a.B2]-A)*S}1==o?(c.color.set(p,m,y,v),c.darkColor.set(g,b,A,1)):(u=c.color,_=c.darkColor,l==e.setup&&(u.setFromColor(c.data.color),_.setFromColor(c.data.darkColor)),u.add((p-u.r)*o,(m-u.g)*o,(y-u.b)*o,(v-u.a)*o),_.add((g-_.r)*o,(b-_.g)*o,(A-_.b)*o,0))}}},a.ENTRIES=8,a.PREV_TIME=-8,a.PREV_R=-7,a.PREV_G=-6,a.PREV_B=-5,a.PREV_A=-4,a.PREV_R2=-3,a.PREV_G2=-2,a.PREV_B2=-1,a.R=1,a.G=2,a.B=3,a.A=4,a.R2=5,a.G2=6,a.B2=7,a})(a);t.TwoColorTimeline=_;var f=(function(){function s(e){this.frames=t.Utils.newFloatArray(e),this.attachmentNames=new Array(e)}return s.prototype.getPropertyId=function(){return(n.attachment<<24)+this.slotIndex},s.prototype.getFrameCount=function(){return this.frames.length},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.attachmentNames[t]=i},s.prototype.apply=function(t,n,s,a,o,l,c){var h=t.slots[this.slotIndex];if(h.bone.active)if(c!=i.mixOut||l!=e.setup){var u=this.frames;if(s<u[0]){if(l==e.setup||l==e.first){var _=h.data.attachmentName;h.setAttachment(null==_?null:t.getAttachment(this.slotIndex,_))}}else{var f;f=s>=u[u.length-1]?u.length-1:r.binarySearch(u,s,1)-1;var d=this.attachmentNames[f];t.slots[this.slotIndex].setAttachment(null==d?null:t.getAttachment(this.slotIndex,d))}}else{var p=h.data.attachmentName;h.setAttachment(null==p?null:t.getAttachment(this.slotIndex,p))}},s})();t.AttachmentTimeline=f;var d=null,p=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e),n.frameVertices=new Array(e),null==d&&(d=t.Utils.newFloatArray(64)),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.deform<<27)+ +this.attachment.id+this.slotIndex},a.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.frameVertices[t]=i},a.prototype.apply=function(i,n,s,a,o,l){var c=i.slots[this.slotIndex];if(c.bone.active){var h=c.getAttachment();if(h instanceof t.VertexAttachment&&h.deformAttachment==this.attachment){var u=c.deform;0==u.length&&(l=e.setup);var _=this.frameVertices,f=_[0].length,d=this.frames;if(s<d[0]){var p=h;switch(l){case e.setup:return void(u.length=0);case e.first:if(1==o){u.length=0;break}var m=t.Utils.setArraySize(u,f);if(null==p.bones)for(var y=p.vertices,v=0;v<f;v++)m[v]+=(y[v]-m[v])*o;else for(o=1-o,v=0;v<f;v++)m[v]*=o}}else{var g=t.Utils.setArraySize(u,f);if(s>=d[d.length-1]){var b=_[d.length-1];if(1==o)if(l==e.add)if(null==(p=h).bones){y=p.vertices;for(var A=0;A<f;A++)g[A]+=b[A]-y[A]}else for(var x=0;x<f;x++)g[x]+=b[x];else t.Utils.arrayCopy(b,0,g,0,f);else switch(l){case e.setup:var C=h;if(null==C.bones){y=C.vertices;for(var T=0;T<f;T++){var S=y[T];g[T]=S+(b[T]-S)*o}}else for(var w=0;w<f;w++)g[w]=b[w]*o;break;case e.first:case e.replace:for(var E=0;E<f;E++)g[E]+=(b[E]-g[E])*o;case e.add:if(null==(p=h).bones){y=p.vertices;for(var M=0;M<f;M++)g[M]+=(b[M]-y[M])*o}else for(var D=0;D<f;D++)g[D]+=b[D]*o}}else{var B=r.binarySearch(d,s),I=_[B-1],P=_[B],R=d[B],O=this.getCurvePercent(B-1,1-(s-R)/(d[B-1]-R));if(1==o)if(l==e.add)if(null==(p=h).bones){y=p.vertices;for(var L=0;L<f;L++){var F=I[L];g[L]+=F+(P[L]-F)*O-y[L]}}else for(var V=0;V<f;V++)F=I[V],g[V]+=F+(P[V]-F)*O;else for(var N=0;N<f;N++)F=I[N],g[N]=F+(P[N]-F)*O;else switch(l){case e.setup:var k=h;if(null==k.bones){y=k.vertices;for(var z=0;z<f;z++)F=I[z],S=y[z],g[z]=S+(F+(P[z]-F)*O-S)*o}else for(var G=0;G<f;G++)F=I[G],g[G]=(F+(P[G]-F)*O)*o;break;case e.first:case e.replace:for(var U=0;U<f;U++)F=I[U],g[U]+=(F+(P[U]-F)*O-g[U])*o;break;case e.add:if(null==(p=h).bones){y=p.vertices;for(var j=0;j<f;j++)F=I[j],g[j]+=(F+(P[j]-F)*O-y[j])*o}else for(var H=0;H<f;H++)F=I[H],g[H]+=(F+(P[H]-F)*O)*o}}}}}},a})(a);t.DeformTimeline=p;var m=(function(){function e(e){this.frames=t.Utils.newFloatArray(e),this.events=new Array(e)}return e.prototype.getPropertyId=function(){return n.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,i,n,s,a,o){if(null!=n){var l=this.frames,c=this.frames.length;if(e>i)this.apply(t,e,Number.MAX_VALUE,n,s,a,o),e=-1;else if(e>=l[c-1])return;if(!(i<l[0])){var h=0;if(e<l[0])h=0;else for(var u=l[h=r.binarySearch(l,e)];h>0&&l[h-1]==u;)h--;for(;h<c&&i>=l[h];h++)n.push(this.events[h])}}},e})();t.EventTimeline=m;var y=(function(){function s(e){this.frames=t.Utils.newFloatArray(e),this.drawOrders=new Array(e)}return s.prototype.getPropertyId=function(){return n.drawOrder<<24},s.prototype.getFrameCount=function(){return this.frames.length},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.drawOrders[t]=i},s.prototype.apply=function(n,s,a,o,l,c,h){var u=n.drawOrder,_=n.slots;if(h!=i.mixOut||c!=e.setup){var f=this.frames;if(a<f[0])c!=e.setup&&c!=e.first||t.Utils.arrayCopy(n.slots,0,n.drawOrder,0,n.slots.length);else{var d;d=a>=f[f.length-1]?f.length-1:r.binarySearch(f,a)-1;var p=this.drawOrders[d];if(null==p)t.Utils.arrayCopy(_,0,u,0,_.length);else for(var m=0,y=p.length;m<y;m++)u[m]=_[p[m]]}}else t.Utils.arrayCopy(n.slots,0,n.drawOrder,0,n.slots.length)},s})();t.DrawOrderTimeline=y;var v=(function(a){function o(e){var i=a.call(this,e)||this;return i.frames=t.Utils.newFloatArray(e*o.ENTRIES),i}return s(o,a),o.prototype.getPropertyId=function(){return(n.ikConstraint<<24)+this.ikConstraintIndex},o.prototype.setFrame=function(t,e,i,n,r,s,a){t*=o.ENTRIES,this.frames[t]=e,this.frames[t+o.MIX]=i,this.frames[t+o.SOFTNESS]=n,this.frames[t+o.BEND_DIRECTION]=r,this.frames[t+o.COMPRESS]=s?1:0,this.frames[t+o.STRETCH]=a?1:0},o.prototype.apply=function(t,n,s,a,l,c,h){var u=this.frames,_=t.ikConstraints[this.ikConstraintIndex];if(_.active)if(s<u[0])switch(c){case e.setup:return _.mix=_.data.mix,_.softness=_.data.softness,_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,void(_.stretch=_.data.stretch);case e.first:_.mix+=(_.data.mix-_.mix)*l,_.softness+=(_.data.softness-_.softness)*l,_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch}else if(s>=u[u.length-o.ENTRIES])c==e.setup?(_.mix=_.data.mix+(u[u.length+o.PREV_MIX]-_.data.mix)*l,_.softness=_.data.softness+(u[u.length+o.PREV_SOFTNESS]-_.data.softness)*l,h==i.mixOut?(_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch):(_.bendDirection=u[u.length+o.PREV_BEND_DIRECTION],_.compress=0!=u[u.length+o.PREV_COMPRESS],_.stretch=0!=u[u.length+o.PREV_STRETCH])):(_.mix+=(u[u.length+o.PREV_MIX]-_.mix)*l,_.softness+=(u[u.length+o.PREV_SOFTNESS]-_.softness)*l,h==i.mixIn&&(_.bendDirection=u[u.length+o.PREV_BEND_DIRECTION],_.compress=0!=u[u.length+o.PREV_COMPRESS],_.stretch=0!=u[u.length+o.PREV_STRETCH]));else{var f=r.binarySearch(u,s,o.ENTRIES),d=u[f+o.PREV_MIX],p=u[f+o.PREV_SOFTNESS],m=u[f],y=this.getCurvePercent(f/o.ENTRIES-1,1-(s-m)/(u[f+o.PREV_TIME]-m));c==e.setup?(_.mix=_.data.mix+(d+(u[f+o.MIX]-d)*y-_.data.mix)*l,_.softness=_.data.softness+(p+(u[f+o.SOFTNESS]-p)*y-_.data.softness)*l,h==i.mixOut?(_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch):(_.bendDirection=u[f+o.PREV_BEND_DIRECTION],_.compress=0!=u[f+o.PREV_COMPRESS],_.stretch=0!=u[f+o.PREV_STRETCH])):(_.mix+=(d+(u[f+o.MIX]-d)*y-_.mix)*l,_.softness+=(p+(u[f+o.SOFTNESS]-p)*y-_.softness)*l,h==i.mixIn&&(_.bendDirection=u[f+o.PREV_BEND_DIRECTION],_.compress=0!=u[f+o.PREV_COMPRESS],_.stretch=0!=u[f+o.PREV_STRETCH]))}},o.ENTRIES=6,o.PREV_TIME=-6,o.PREV_MIX=-5,o.PREV_SOFTNESS=-4,o.PREV_BEND_DIRECTION=-3,o.PREV_COMPRESS=-2,o.PREV_STRETCH=-1,o.MIX=1,o.SOFTNESS=2,o.BEND_DIRECTION=3,o.COMPRESS=4,o.STRETCH=5,o})(a);t.IkConstraintTimeline=v;var g=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.transformConstraint<<24)+this.transformConstraintIndex},a.prototype.setFrame=function(t,e,i,n,r,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=i,this.frames[t+a.TRANSLATE]=n,this.frames[t+a.SCALE]=r,this.frames[t+a.SHEAR]=s},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.transformConstraints[this.transformConstraintIndex];if(h.active)if(n<c[0]){var u=h.data;switch(l){case e.setup:return h.rotateMix=u.rotateMix,h.translateMix=u.translateMix,h.scaleMix=u.scaleMix,void(h.shearMix=u.shearMix);case e.first:h.rotateMix+=(u.rotateMix-h.rotateMix)*o,h.translateMix+=(u.translateMix-h.translateMix)*o,h.scaleMix+=(u.scaleMix-h.scaleMix)*o,h.shearMix+=(u.shearMix-h.shearMix)*o}}else{var _=0,f=0,d=0,p=0;if(n>=c[c.length-a.ENTRIES]){var m=c.length;_=c[m+a.PREV_ROTATE],f=c[m+a.PREV_TRANSLATE],d=c[m+a.PREV_SCALE],p=c[m+a.PREV_SHEAR]}else{var y=r.binarySearch(c,n,a.ENTRIES);_=c[y+a.PREV_ROTATE],f=c[y+a.PREV_TRANSLATE],d=c[y+a.PREV_SCALE],p=c[y+a.PREV_SHEAR];var v=c[y],g=this.getCurvePercent(y/a.ENTRIES-1,1-(n-v)/(c[y+a.PREV_TIME]-v));_+=(c[y+a.ROTATE]-_)*g,f+=(c[y+a.TRANSLATE]-f)*g,d+=(c[y+a.SCALE]-d)*g,p+=(c[y+a.SHEAR]-p)*g}l==e.setup?(u=h.data,h.rotateMix=u.rotateMix+(_-u.rotateMix)*o,h.translateMix=u.translateMix+(f-u.translateMix)*o,h.scaleMix=u.scaleMix+(d-u.scaleMix)*o,h.shearMix=u.shearMix+(p-u.shearMix)*o):(h.rotateMix+=(_-h.rotateMix)*o,h.translateMix+=(f-h.translateMix)*o,h.scaleMix+=(d-h.scaleMix)*o,h.shearMix+=(p-h.shearMix)*o)}},a.ENTRIES=5,a.PREV_TIME=-5,a.PREV_ROTATE=-4,a.PREV_TRANSLATE=-3,a.PREV_SCALE=-2,a.PREV_SHEAR=-1,a.ROTATE=1,a.TRANSLATE=2,a.SCALE=3,a.SHEAR=4,a})(a);t.TransformConstraintTimeline=g;var b=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.pathConstraintPosition<<24)+this.pathConstraintIndex},a.prototype.setFrame=function(t,e,i){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.VALUE]=i},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n<c[0])switch(l){case e.setup:return void(h.position=h.data.position);case e.first:h.position+=(h.data.position-h.position)*o}else{var u=0;if(n>=c[c.length-a.ENTRIES])u=c[c.length+a.PREV_VALUE];else{var _=r.binarySearch(c,n,a.ENTRIES);u=c[_+a.PREV_VALUE];var f=c[_],d=this.getCurvePercent(_/a.ENTRIES-1,1-(n-f)/(c[_+a.PREV_TIME]-f));u+=(c[_+a.VALUE]-u)*d}l==e.setup?h.position=h.data.position+(u-h.data.position)*o:h.position+=(u-h.position)*o}},a.ENTRIES=2,a.PREV_TIME=-2,a.PREV_VALUE=-1,a.VALUE=1,a})(a);t.PathConstraintPositionTimeline=b;var A=(function(t){function i(e){return t.call(this,e)||this}return s(i,t),i.prototype.getPropertyId=function(){return(n.pathConstraintSpacing<<24)+this.pathConstraintIndex},i.prototype.apply=function(t,n,s,a,o,l){var c=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(s<c[0])switch(l){case e.setup:return void(h.spacing=h.data.spacing);case e.first:h.spacing+=(h.data.spacing-h.spacing)*o}else{var u=0;if(s>=c[c.length-i.ENTRIES])u=c[c.length+i.PREV_VALUE];else{var _=r.binarySearch(c,s,i.ENTRIES);u=c[_+i.PREV_VALUE];var f=c[_],d=this.getCurvePercent(_/i.ENTRIES-1,1-(s-f)/(c[_+i.PREV_TIME]-f));u+=(c[_+i.VALUE]-u)*d}l==e.setup?h.spacing=h.data.spacing+(u-h.data.spacing)*o:h.spacing+=(u-h.spacing)*o}},i})(b);t.PathConstraintSpacingTimeline=A;var x=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.pathConstraintMix<<24)+this.pathConstraintIndex},a.prototype.setFrame=function(t,e,i,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=i,this.frames[t+a.TRANSLATE]=n},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n<c[0])switch(l){case e.setup:return h.rotateMix=h.data.rotateMix,void(h.translateMix=h.data.translateMix);case e.first:h.rotateMix+=(h.data.rotateMix-h.rotateMix)*o,h.translateMix+=(h.data.translateMix-h.translateMix)*o}else{var u=0,_=0;if(n>=c[c.length-a.ENTRIES])u=c[c.length+a.PREV_ROTATE],_=c[c.length+a.PREV_TRANSLATE];else{var f=r.binarySearch(c,n,a.ENTRIES);u=c[f+a.PREV_ROTATE],_=c[f+a.PREV_TRANSLATE];var d=c[f],p=this.getCurvePercent(f/a.ENTRIES-1,1-(n-d)/(c[f+a.PREV_TIME]-d));u+=(c[f+a.ROTATE]-u)*p,_+=(c[f+a.TRANSLATE]-_)*p}l==e.setup?(h.rotateMix=h.data.rotateMix+(u-h.data.rotateMix)*o,h.translateMix=h.data.translateMix+(_-h.data.translateMix)*o):(h.rotateMix+=(u-h.rotateMix)*o,h.translateMix+=(_-h.translateMix)*o)}},a.ENTRIES=3,a.PREV_TIME=-3,a.PREV_ROTATE=-2,a.PREV_TRANSLATE=-1,a.ROTATE=1,a.TRANSLATE=2,a})(a);t.PathConstraintMixTimeline=x})(r||(r={})),(function(t){var e=(function(){function e(e){this.tracks=new Array,this.timeScale=1,this.events=new Array,this.listeners=new Array,this.queue=new r(this),this.propertyIDs=new t.IntSet,this.animationsChanged=!1,this.trackEntryPool=new t.Pool(function(){return new i}),this.data=e}return e.prototype.update=function(t){t*=this.timeScale;for(var e=this.tracks,i=0,n=e.length;i<n;i++){var r=e[i];if(null!=r){r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast;var s=t*r.timeScale;if(r.delay>0){if(r.delay-=s,r.delay>0)continue;s=-r.delay,r.delay=0}var a=r.next;if(null!=a){var o=r.trackLast-a.delay;if(o>=0){for(a.delay=0,a.trackTime+=0==r.timeScale?0:(o/r.timeScale+t)*a.timeScale,r.trackTime+=s,this.setCurrent(i,a,!0);null!=a.mixingFrom;)a.mixTime+=t,a=a.mixingFrom;continue}}else if(r.trackLast>=r.trackEnd&&null==r.mixingFrom){e[i]=null,this.queue.end(r),this.disposeNext(r);continue}if(null!=r.mixingFrom&&this.updateMixingFrom(r,t)){var l=r.mixingFrom;for(r.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}r.trackTime+=s}}this.queue.drain()},e.prototype.updateMixingFrom=function(t,e){var i=t.mixingFrom;if(null==i)return!0;var n=this.updateMixingFrom(i,e);return i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=i.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=i.mixingFrom,null!=i.mixingFrom&&(i.mixingFrom.mixingTo=t),t.interruptAlpha=i.interruptAlpha,this.queue.end(i)),n):(i.trackTime+=e*i.timeScale,t.mixTime+=e,!1)},e.prototype.apply=function(i){if(null==i)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var n=this.events,r=this.tracks,s=!1,a=0,o=r.length;a<o;a++){var l=r[a];if(!(null==l||l.delay>0)){s=!0;var c=0==a?t.MixBlend.first:l.mixBlend,h=l.alpha;null!=l.mixingFrom?h*=this.applyMixingFrom(l,i,c):l.trackTime>=l.trackEnd&&null==l.next&&(h=0);var u=l.animationLast,_=l.getAnimationTime(),f=l.animation.timelines.length,d=l.animation.timelines;if(0==a&&1==h||c==t.MixBlend.add)for(var p=0;p<f;p++)t.Utils.webkit602BugfixHelper(h,c),d[p].apply(i,u,_,n,h,c,t.MixDirection.mixIn);else{var m=l.timelineMode,y=0==l.timelinesRotation.length;y&&t.Utils.setArraySize(l.timelinesRotation,f<<1,null);var v=l.timelinesRotation;for(p=0;p<f;p++){var g=d[p],b=(m[p]&e.NOT_LAST-1)==e.SUBSEQUENT?c:t.MixBlend.setup;g instanceof t.RotateTimeline?this.applyRotateTimeline(g,i,_,h,b,v,p<<1,y):(t.Utils.webkit602BugfixHelper(h,c),g.apply(i,u,_,n,h,b,t.MixDirection.mixIn))}}this.queueEvents(l,_),n.length=0,l.nextAnimationLast=_,l.nextTrackLast=l.trackTime}}return this.queue.drain(),s},e.prototype.applyMixingFrom=function(i,n,r){var s=i.mixingFrom;null!=s.mixingFrom&&this.applyMixingFrom(s,n,r);var a=0;0==i.mixDuration?(a=1,r==t.MixBlend.first&&(r=t.MixBlend.setup)):((a=i.mixTime/i.mixDuration)>1&&(a=1),r!=t.MixBlend.first&&(r=s.mixBlend));var o=a<s.eventThreshold?this.events:null,l=a<s.attachmentThreshold,c=a<s.drawOrderThreshold,h=s.animationLast,u=s.getAnimationTime(),_=s.animation.timelines.length,f=s.animation.timelines,d=s.alpha*i.interruptAlpha,p=d*(1-a);if(r==t.MixBlend.add)for(var m=0;m<_;m++)f[m].apply(n,h,u,o,p,r,t.MixDirection.mixOut);else{var y=s.timelineMode,v=s.timelineHoldMix,g=0==s.timelinesRotation.length;g&&t.Utils.setArraySize(s.timelinesRotation,_<<1,null);var b=s.timelinesRotation;for(s.totalAlpha=0,m=0;m<_;m++){var A=f[m],x=t.MixDirection.mixOut,C=void 0,T=0;switch(y[m]&e.NOT_LAST-1){case e.SUBSEQUENT:if(C=r,!l&&A instanceof t.AttachmentTimeline){if((y[m]&e.NOT_LAST)==e.NOT_LAST)continue;C=t.MixBlend.setup}if(!c&&A instanceof t.DrawOrderTimeline)continue;T=p;break;case e.FIRST:C=t.MixBlend.setup,T=p;break;case e.HOLD:C=t.MixBlend.setup,T=d;break;default:C=t.MixBlend.setup;var S=v[m];T=d*Math.max(0,1-S.mixTime/S.mixDuration)}s.totalAlpha+=T,A instanceof t.RotateTimeline?this.applyRotateTimeline(A,n,u,T,C,b,m<<1,g):(t.Utils.webkit602BugfixHelper(T,r),C==t.MixBlend.setup&&(A instanceof t.AttachmentTimeline?(l||(y[m]&e.NOT_LAST)==e.NOT_LAST)&&(x=t.MixDirection.mixIn):A instanceof t.DrawOrderTimeline&&c&&(x=t.MixDirection.mixIn)),A.apply(n,h,u,o,T,C,x))}}return i.mixDuration>0&&this.queueEvents(s,u),this.events.length=0,s.nextAnimationLast=u,s.nextTrackLast=s.trackTime,a},e.prototype.applyRotateTimeline=function(e,i,n,r,s,a,o,l){if(l&&(a[o]=0),1!=r){var c=e,h=c.frames,u=i.bones[c.boneIndex];if(u.active){var _=0,f=0;if(n<h[0])switch(s){case t.MixBlend.setup:u.rotation=u.data.rotation;default:return;case t.MixBlend.first:_=u.rotation,f=u.data.rotation}else if(_=s==t.MixBlend.setup?u.data.rotation:u.rotation,n>=h[h.length-t.RotateTimeline.ENTRIES])f=u.data.rotation+h[h.length+t.RotateTimeline.PREV_ROTATION];else{var d=t.Animation.binarySearch(h,n,t.RotateTimeline.ENTRIES),p=h[d+t.RotateTimeline.PREV_ROTATION],m=h[d],y=c.getCurvePercent((d>>1)-1,1-(n-m)/(h[d+t.RotateTimeline.PREV_TIME]-m));f=h[d+t.RotateTimeline.ROTATION]-p,f=p+(f-=360*(16384-(16384.499999999996-f/360|0)))*y+u.data.rotation,f-=360*(16384-(16384.499999999996-f/360|0))}var v=0,g=f-_;if(0==(g-=360*(16384-(16384.499999999996-g/360|0))))v=a[o];else{var b=0,A=0;l?(b=0,A=g):(b=a[o],A=a[o+1]);var x=g>0,C=b>=0;t.MathUtils.signum(A)!=t.MathUtils.signum(g)&&Math.abs(A)<=90&&(Math.abs(b)>180&&(b+=360*t.MathUtils.signum(b)),C=x),v=g+b-b%360,C!=x&&(v+=360*t.MathUtils.signum(b)),a[o]=v}a[o+1]=g,_+=v*r,u.rotation=_-360*(16384-(16384.499999999996-_/360|0))}}else e.apply(i,0,n,null,1,s,t.MixDirection.mixIn)},e.prototype.queueEvents=function(t,e){for(var i=t.animationStart,n=t.animationEnd,r=n-i,s=t.trackLast%r,a=this.events,o=0,l=a.length;o<l;o++){var c=a[o];if(c.time<s)break;c.time>n||this.queue.event(t,c)}for((t.loop?0==r||s>t.trackTime%r:e>=n&&t.animationLast<n)&&this.queue.complete(t);o<l;o++)a[o].time<i||this.queue.event(t,a[o])},e.prototype.clearTracks=function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,i=this.tracks.length;e<i;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 i=e;;){var n=i.mixingFrom;if(null==n)break;this.queue.end(n),i.mixingFrom=null,i.mixingTo=null,i=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}},e.prototype.setCurrent=function(t,e,i){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(i&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)},e.prototype.setAnimation=function(t,e,i){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,i)},e.prototype.setAnimationWith=function(t,e,i){if(null==e)throw new Error("animation cannot be null.");var n=!0,r=this.expandToIndex(t);null!=r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.disposeNext(r),r=r.mixingFrom,n=!1):this.disposeNext(r));var s=this.trackEntry(t,e,i,r);return this.setCurrent(t,s,n),this.queue.drain(),s},e.prototype.addAnimation=function(t,e,i,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,i,n)},e.prototype.addAnimationWith=function(t,e,i,n){if(null==e)throw new Error("animation cannot be null.");var r=this.expandToIndex(t);if(null!=r)for(;null!=r.next;)r=r.next;var s=this.trackEntry(t,e,i,r);if(null==r)this.setCurrent(t,s,!0),this.queue.drain();else if(r.next=s,n<=0){var a=r.animationEnd-r.animationStart;0!=a?(r.loop?n+=a*(1+(r.trackTime/a|0)):n+=Math.max(a,r.trackTime),n-=this.data.getMix(r.animation,e)):n=r.trackTime}return s.delay=n,s},e.prototype.setEmptyAnimation=function(t,i){var n=this.setAnimationWith(t,e.emptyAnimation,!1);return n.mixDuration=i,n.trackEnd=i,n},e.prototype.addEmptyAnimation=function(t,i,n){n<=0&&(n-=i);var r=this.addAnimationWith(t,e.emptyAnimation,!1,n);return r.mixDuration=i,r.trackEnd=i,r},e.prototype.setEmptyAnimations=function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var i=0,n=this.tracks.length;i<n;i++){var r=this.tracks[i];null!=r&&this.setEmptyAnimation(r.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+1,null),this.tracks.length=e+1,null)},e.prototype.trackEntry=function(t,e,i,n){var r=this.trackEntryPool.obtain();return r.trackIndex=t,r.animation=e,r.loop=i,r.holdPrevious=!1,r.eventThreshold=0,r.attachmentThreshold=0,r.drawOrderThreshold=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.interruptAlpha=1,r.mixTime=0,r.mixDuration=null==n?0:this.data.getMix(n.animation,e),r},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,i=this.tracks.length;e<i;e++)if(null!=(n=this.tracks[e])){for(;null!=n.mixingFrom;)n=n.mixingFrom;do{null!=n.mixingFrom&&n.mixBlend==t.MixBlend.add||this.computeHold(n),n=n.mixingTo}while(null!=n)}for(this.propertyIDs.clear(),e=this.tracks.length-1;e>=0;e--)for(var n=this.tracks[e];null!=n;)this.computeNotLast(n),n=n.mixingFrom},e.prototype.computeHold=function(i){var n=i.mixingTo,r=i.animation.timelines,s=i.animation.timelines.length,a=t.Utils.setArraySize(i.timelineMode,s);i.timelineHoldMix.length=0;var o=t.Utils.setArraySize(i.timelineHoldMix,s),l=this.propertyIDs;if(null!=n&&n.holdPrevious)for(var c=0;c<s;c++)l.add(r[c].getPropertyId()),a[c]=e.HOLD;else t:for(c=0;c<s;c++){var h=r[c],u=h.getPropertyId();if(l.add(u))if(null==n||h instanceof t.AttachmentTimeline||h instanceof t.DrawOrderTimeline||h instanceof t.EventTimeline||!n.animation.hasTimeline(u))a[c]=e.FIRST;else{for(var _=n.mixingTo;null!=_;_=_.mixingTo)if(!_.animation.hasTimeline(u)){if(i.mixDuration>0){a[c]=e.HOLD_MIX,o[c]=_;continue t}break}a[c]=e.HOLD}else a[c]=e.SUBSEQUENT}},e.prototype.computeNotLast=function(i){for(var n=i.animation.timelines,r=i.animation.timelines.length,s=i.timelineMode,a=this.propertyIDs,o=0;o<r;o++)if(n[o]instanceof t.AttachmentTimeline){var l=n[o];a.add(l.slotIndex)||(s[o]|=e.NOT_LAST)}},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.emptyAnimation=new t.Animation("<empty>",[],0),e.SUBSEQUENT=0,e.FIRST=1,e.HOLD=2,e.HOLD_MIX=3,e.NOT_LAST=4,e})();t.AnimationState=e;var i=(function(){function e(){this.mixBlend=t.MixBlend.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}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},e})();t.TrackEntry=i;var n,r=(function(){function t(t){this.objects=[],this.drainDisabled=!1,this.animState=t}return t.prototype.start=function(t){this.objects.push(n.start),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.interrupt=function(t){this.objects.push(n.interrupt),this.objects.push(t)},t.prototype.end=function(t){this.objects.push(n.end),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.dispose=function(t){this.objects.push(n.dispose),this.objects.push(t)},t.prototype.complete=function(t){this.objects.push(n.complete),this.objects.push(t)},t.prototype.event=function(t,e){this.objects.push(n.event),this.objects.push(t),this.objects.push(e)},t.prototype.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,i=0;i<t.length;i+=2){var r=t[i],s=t[i+1];switch(r){case n.start:null!=s.listener&&s.listener.start&&s.listener.start(s);for(var a=0;a<e.length;a++)e[a].start&&e[a].start(s);break;case n.interrupt:for(null!=s.listener&&s.listener.interrupt&&s.listener.interrupt(s),a=0;a<e.length;a++)e[a].interrupt&&e[a].interrupt(s);break;case n.end:for(null!=s.listener&&s.listener.end&&s.listener.end(s),a=0;a<e.length;a++)e[a].end&&e[a].end(s);case n.dispose:for(null!=s.listener&&s.listener.dispose&&s.listener.dispose(s),a=0;a<e.length;a++)e[a].dispose&&e[a].dispose(s);this.animState.trackEntryPool.free(s);break;case n.complete:for(null!=s.listener&&s.listener.complete&&s.listener.complete(s),a=0;a<e.length;a++)e[a].complete&&e[a].complete(s);break;case n.event:var o=t[2+i++];for(null!=s.listener&&s.listener.event&&s.listener.event(s,o),a=0;a<e.length;a++)e[a].event&&e[a].event(s,o)}}this.clear(),this.drainDisabled=!1}},t.prototype.clear=function(){this.objects.length=0},t})();t.EventQueue=r,(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"})(n=t.EventType||(t.EventType={}));var s=(function(){function t(){}return t.prototype.start=function(){},t.prototype.interrupt=function(){},t.prototype.end=function(){},t.prototype.dispose=function(){},t.prototype.complete=function(){},t.prototype.event=function(){},t})();t.AnimationStateAdapter=s})(r||(r={})),(function(t){var e=(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,i){var n=this.skeletonData.findAnimation(t);if(null==n)throw new Error("Animation not found: "+t);var r=this.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);this.setMixWith(n,r,i)},t.prototype.setMixWith=function(t,e,i){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=i},t.prototype.getMix=function(t,e){var i=t.name+"."+e.name,n=this.animationToMixTime[i];return void 0===n?this.defaultMix:n},t})();t.AnimationStateData=e})(r||(r={})),(function(t){var e=(function(){function e(t,e){void 0===e&&(e=""),this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.textureLoader=t,this.pathPrefix=e}return e.downloadText=function(t,e,i){var n=new XMLHttpRequest;n.open("GET",t,!0),n.onload=function(){200==n.status?e(n.responseText):i(n.status,n.responseText)},n.onerror=function(){i(n.status,n.responseText)},n.send()},e.downloadBinary=function(t,e,i){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status?e(new Uint8Array(n.response)):i(n.status,n.responseText)},n.onerror=function(){i(n.status,n.responseText)},n.send()},e.prototype.loadBinary=function(t,i,n){var r=this;void 0===i&&(i=null),void 0===n&&(n=null),t=this.pathPrefix+t,this.toLoad++,e.downloadBinary(t,(function(e){r.assets[t]=e,i&&i(t,e),r.toLoad--,r.loaded++}),(function(e,i){r.errors[t]="Couldn't load binary "+t+": status "+status+", "+i,n&&n(t,"Couldn't load binary "+t+": status "+status+", "+i),r.toLoad--,r.loaded++}))},e.prototype.loadText=function(t,i,n){var r=this;void 0===i&&(i=null),void 0===n&&(n=null),t=this.pathPrefix+t,this.toLoad++,e.downloadText(t,(function(e){r.assets[t]=e,i&&i(t,e),r.toLoad--,r.loaded++}),(function(e,i){r.errors[t]="Couldn't load text "+t+": status "+status+", "+i,n&&n(t,"Couldn't load text "+t+": status "+status+", "+i),r.toLoad--,r.loaded++}))},e.prototype.loadTexture=function(t,e,i){var n=this;void 0===e&&(e=null),void 0===i&&(i=null),t=this.pathPrefix+t,this.toLoad++;var r=new Image;r.crossOrigin="anonymous",r.onload=function(){var i=n.textureLoader(r);n.assets[t]=i,n.toLoad--,n.loaded++,e&&e(t,r)},r.onerror=function(){n.errors[t]="Couldn't load image "+t,n.toLoad--,n.loaded++,i&&i(t,"Couldn't load image "+t)},r.src=t},e.prototype.loadTextureData=function(t,e,i,n){var r=this;void 0===i&&(i=null),void 0===n&&(n=null),t=this.pathPrefix+t,this.toLoad++;var s=new Image;s.onload=function(){var e=r.textureLoader(s);r.assets[t]=e,r.toLoad--,r.loaded++,i&&i(t,s)},s.onerror=function(){r.errors[t]="Couldn't load image "+t,r.toLoad--,r.loaded++,n&&n(t,"Couldn't load image "+t)},s.src=e},e.prototype.loadTextureAtlas=function(i,n,r){var s=this;void 0===n&&(n=null),void 0===r&&(r=null);var a=i.lastIndexOf("/")>=0?i.substring(0,i.lastIndexOf("/")):"";i=this.pathPrefix+i,this.toLoad++,e.downloadText(i,(function(e){var o={count:0},l=new Array;try{new t.TextureAtlas(e,function(e){l.push(a+"/"+e);var i=document.createElement("img");return i.width=16,i.height=16,new t.FakeTexture(i)})}catch(f){var c=f;return s.errors[i]="Couldn't load texture atlas "+i+": "+c.message,r&&r(i,"Couldn't load texture atlas "+i+": "+c.message),s.toLoad--,void s.loaded++}for(var h=function(c){var h=!1;s.loadTexture(c,(function(c){if(o.count++,o.count==l.length)if(h)s.errors[i]="Couldn't load texture atlas page "+c+"} of atlas "+i,r&&r(i,"Couldn't load texture atlas page "+c+" of atlas "+i),s.toLoad--,s.loaded++;else try{var u=new t.TextureAtlas(e,function(t){return s.get(a+"/"+t)});s.assets[i]=u,n&&n(i,u),s.toLoad--,s.loaded++}catch(f){var _=f;s.errors[i]="Couldn't load texture atlas "+i+": "+_.message,r&&r(i,"Couldn't load texture atlas "+i+": "+_.message),s.toLoad--,s.loaded++}}),(function(t){h=!0,o.count++,o.count==l.length&&(s.errors[i]="Couldn't load texture atlas page "+t+"} of atlas "+i,r&&r(i,"Couldn't load texture atlas page "+t+" of atlas "+i),s.toLoad--,s.loaded++)}))},u=0,_=l;u<_.length;u++)h(_[u])}),(function(t,e){s.errors[i]="Couldn't load texture atlas "+i+": status "+status+", "+e,r&&r(i,"Couldn't load texture atlas "+i+": status "+status+", "+e),s.toLoad--,s.loaded++}))},e.prototype.get=function(t){return t=this.pathPrefix+t,this.assets[t]},e.prototype.remove=function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null},e.prototype.removeAll=function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}},e.prototype.isLoadingComplete=function(){return 0==this.toLoad},e.prototype.getToLoad=function(){return this.toLoad},e.prototype.getLoaded=function(){return this.loaded},e.prototype.dispose=function(){this.removeAll()},e.prototype.hasErrors=function(){return Object.keys(this.errors).length>0},e.prototype.getErrors=function(){return this.errors},e})();t.AssetManager=e})(r||(r={})),(function(t){var e=(function(){function e(t){this.atlas=t}return e.prototype.newRegionAttachment=function(e,i,n){var r=this.atlas.findRegion(n);if(null==r)return null;r.renderObject=r;var s=new t.RegionAttachment(i);return s.setRegion(r),s},e.prototype.newMeshAttachment=function(e,i,n){var r=this.atlas.findRegion(n);if(null==r)return null;r.renderObject=r;var s=new t.MeshAttachment(i);return s.region=r,s},e.prototype.newBoundingBoxAttachment=function(e,i){return new t.BoundingBoxAttachment(i)},e.prototype.newPathAttachment=function(e,i){return new t.PathAttachment(i)},e.prototype.newPointAttachment=function(e,i){return new t.PointAttachment(i)},e.prototype.newClippingAttachment=function(e,i){return new t.ClippingAttachment(i)},e})();t.AtlasAttachmentLoader=e})(r||(r={})),(function(t){(function(t){t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen"})(t.BlendMode||(t.BlendMode={}))})(r||(r={})),(function(t){var e=(function(){function e(t,e,i){if(this.children=new Array,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.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.sorted=!1,this.active=!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=i,this.setToSetupPose()}return e.prototype.isActive=function(){return this.active},e.prototype.update=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransformWith=function(e,i,n,r,s,a,o){this.ax=e,this.ay=i,this.arotation=n,this.ascaleX=r,this.ascaleY=s,this.ashearX=a,this.ashearY=o,this.appliedValid=!0;var l=this.parent;if(null==l){var c=this.skeleton,h=n+90+o,u=c.scaleX,_=c.scaleY;return this.a=t.MathUtils.cosDeg(n+a)*r*u,this.b=t.MathUtils.cosDeg(h)*s*u,this.c=t.MathUtils.sinDeg(n+a)*r*_,this.d=t.MathUtils.sinDeg(h)*s*_,this.worldX=e*u+c.x,void(this.worldY=i*_+c.y)}var f=l.a,d=l.b,p=l.c,m=l.d;switch(this.worldX=f*e+d*i+l.worldX,this.worldY=p*e+m*i+l.worldY,this.data.transformMode){case t.TransformMode.Normal:h=n+90+o;var y=t.MathUtils.cosDeg(n+a)*r,v=t.MathUtils.cosDeg(h)*s,g=t.MathUtils.sinDeg(n+a)*r,b=t.MathUtils.sinDeg(h)*s;return this.a=f*y+d*g,this.b=f*v+d*b,this.c=p*y+m*g,void(this.d=p*v+m*b);case t.TransformMode.OnlyTranslation:h=n+90+o,this.a=t.MathUtils.cosDeg(n+a)*r,this.b=t.MathUtils.cosDeg(h)*s,this.c=t.MathUtils.sinDeg(n+a)*r,this.d=t.MathUtils.sinDeg(h)*s;break;case t.TransformMode.NoRotationOrReflection:var A=0;(T=f*f+p*p)>1e-4?(d=p*(T=Math.abs(f*m-d*p)/T),m=f*T,A=Math.atan2(p,f)*t.MathUtils.radDeg):(f=0,p=0,A=90-Math.atan2(m,d)*t.MathUtils.radDeg);var x=n+a-A,C=n+o-A+90;y=t.MathUtils.cosDeg(x)*r,v=t.MathUtils.cosDeg(C)*s,g=t.MathUtils.sinDeg(x)*r,b=t.MathUtils.sinDeg(C)*s,this.a=f*y-d*g,this.b=f*v-d*b,this.c=p*y+m*g,this.d=p*v+m*b;break;case t.TransformMode.NoScale:case t.TransformMode.NoScaleOrReflection:var T,S=t.MathUtils.cosDeg(n),w=t.MathUtils.sinDeg(n),E=(f*S+d*w)/this.skeleton.scaleX,M=(p*S+m*w)/this.skeleton.scaleY;(T=Math.sqrt(E*E+M*M))>1e-5&&(T=1/T),E*=T,M*=T,T=Math.sqrt(E*E+M*M),this.data.transformMode==t.TransformMode.NoScale&&f*m-d*p<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(T=-T);var D=Math.PI/2+Math.atan2(M,E),B=Math.cos(D)*T,I=Math.sin(D)*T;y=t.MathUtils.cosDeg(a)*r,v=t.MathUtils.cosDeg(90+o)*s,g=t.MathUtils.sinDeg(a)*r,b=t.MathUtils.sinDeg(90+o)*s,this.a=E*y+B*g,this.b=E*v+B*b,this.c=M*y+I*g,this.d=M*v+I*b}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY},e.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},e.prototype.getWorldRotationX=function(){return Math.atan2(this.c,this.a)*t.MathUtils.radDeg},e.prototype.getWorldRotationY=function(){return Math.atan2(this.d,this.b)*t.MathUtils.radDeg},e.prototype.getWorldScaleX=function(){return Math.sqrt(this.a*this.a+this.c*this.c)},e.prototype.getWorldScaleY=function(){return Math.sqrt(this.b*this.b+this.d*this.d)},e.prototype.updateAppliedTransform=function(){this.appliedValid=!0;var e=this.parent;if(null==e)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*t.MathUtils.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)*t.MathUtils.radDeg);var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=this.worldX-e.worldX,l=this.worldY-e.worldY;this.ax=o*s*a-l*n*a,this.ay=l*i*a-o*r*a;var c=a*s,h=a*i,u=a*n,_=a*r,f=c*this.a-u*this.c,d=c*this.b-u*this.d,p=h*this.c-_*this.a,m=h*this.d-_*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(f*f+p*p),this.ascaleX>1e-4){var y=f*m-d*p;this.ascaleY=y/this.ascaleX,this.ashearY=Math.atan2(f*d+p*m,y)*t.MathUtils.radDeg,this.arotation=Math.atan2(p,f)*t.MathUtils.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(d*d+m*m),this.ashearY=0,this.arotation=90-Math.atan2(m,d)*t.MathUtils.radDeg},e.prototype.worldToLocal=function(t){var e=this.a,i=this.b,n=this.c,r=this.d,s=1/(e*r-i*n),a=t.x-this.worldX,o=t.y-this.worldY;return t.x=a*r*s-o*i*s,t.y=o*e*s-a*n*s,t},e.prototype.localToWorld=function(t){var e=t.x,i=t.y;return t.x=e*this.a+i*this.b+this.worldX,t.y=e*this.c+i*this.d+this.worldY,t},e.prototype.worldToLocalRotation=function(e){var i=t.MathUtils.sinDeg(e),n=t.MathUtils.cosDeg(e);return Math.atan2(this.a*i-this.c*n,this.d*n-this.b*i)*t.MathUtils.radDeg+this.rotation-this.shearX},e.prototype.localToWorldRotation=function(e){e-=this.rotation-this.shearX;var i=t.MathUtils.sinDeg(e),n=t.MathUtils.cosDeg(e);return Math.atan2(n*this.c+i*this.d,n*this.a+i*this.b)*t.MathUtils.radDeg},e.prototype.rotateWorld=function(e){var i=this.a,n=this.b,r=this.c,s=this.d,a=t.MathUtils.cosDeg(e),o=t.MathUtils.sinDeg(e);this.a=a*i-o*r,this.b=a*n-o*s,this.c=o*i+a*r,this.d=o*n+a*s,this.appliedValid=!1},e})();t.Bone=e})(r||(r={})),(function(t){var e;t.BoneData=function(i,n,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=e.Normal,this.skinRequired=!1,this.color=new t.Color,i<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");this.index=i,this.name=n,this.parent=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"})(e=t.TransformMode||(t.TransformMode={}))})(r||(r={})),(function(t){t.ConstraintData=function(t,e,i){this.name=t,this.order=e,this.skinRequired=i}})(r||(r={})),(function(t){t.Event=function(t,e){if(null==e)throw new Error("data cannot be null.");this.time=t,this.data=e}})(r||(r={})),(function(t){t.EventData=function(t){this.name=t}})(r||(r={})),(function(t){var e=(function(){function e(t,e){if(this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!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.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch,this.bones=new Array;for(var i=0;i<t.bones.length;i++)this.bones.push(e.findBone(t.bones[i].name));this.target=e.findBone(t.target.name)}return e.prototype.isActive=function(){return this.active},e.prototype.apply=function(){this.update()},e.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.softness,this.mix)}},e.prototype.apply1=function(e,i,n,r,s,a,o){e.appliedValid||e.updateAppliedTransform();var l=e.parent,c=1/(l.a*l.d-l.b*l.c),h=i-l.worldX,u=n-l.worldY,_=(h*l.d-u*l.b)*c-e.ax,f=(u*l.a-h*l.c)*c-e.ay,d=Math.atan2(f,_)*t.MathUtils.radDeg-e.ashearX-e.arotation;e.ascaleX<0&&(d+=180),d>180?d-=360:d<-180&&(d+=360);var p=e.ascaleX,m=e.ascaleY;if(r||s){var y=e.data.length*p,v=Math.sqrt(_*_+f*f);if(r&&v<y||s&&v>y&&y>1e-4){var g=(v/y-1)*o+1;p*=g,a&&(m*=g)}}e.updateWorldTransformWith(e.ax,e.ay,e.arotation+d*o,p,m,e.ashearX,e.ashearY)},e.prototype.apply2=function(e,i,n,r,s,a,o,l){if(0!=l){e.appliedValid||e.updateAppliedTransform(),i.appliedValid||i.updateAppliedTransform();var c=e.ax,h=e.ay,u=e.ascaleX,_=u,f=e.ascaleY,d=i.ascaleX,p=0,m=0,y=0;u<0?(u=-u,p=180,y=-1):(p=0,y=1),f<0&&(f=-f,y=-y),d<0?(d=-d,m=180):m=0;var v=i.ax,g=0,b=0,A=0,x=e.a,C=e.b,T=e.c,S=e.d,w=Math.abs(u-f)<=1e-4;w?(b=x*v+C*(g=i.ay)+e.worldX,A=T*v+S*g+e.worldY):(g=0,b=x*v+e.worldX,A=T*v+e.worldY);var E=e.parent;x=E.a,C=E.b,T=E.c;var M,D,B=1/(x*(S=E.d)-C*T),I=b-E.worldX,P=A-E.worldY,R=(I*S-P*C)*B-c,O=(P*x-I*T)*B-h,L=Math.sqrt(R*R+O*O),F=i.data.length*d;if(L<1e-4)return this.apply1(e,n,r,!1,a,!1,l),void i.updateWorldTransformWith(v,g,0,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY);var V=((I=n-E.worldX)*S-(P=r-E.worldY)*C)*B-c,N=(P*x-I*T)*B-h,k=V*V+N*N;if(0!=o){o*=u*(d+1)/2;var z=Math.sqrt(k),G=z-L-F*u+o;if(G>0){var U=Math.min(1,G/(2*o))-1;k=(V-=(U=(G-o*(1-U*U))/z)*V)*V+(N-=U*N)*N}}t:if(w){var j=(k-L*L-(F*=u)*F)/(2*L*F);j<-1?j=-1:j>1&&(j=1,a&&(_*=(Math.sqrt(k)/(L+F)-1)*l+1)),D=Math.acos(j)*s,x=L+F*j,C=F*Math.sin(D),M=Math.atan2(N*x-V*C,V*x+N*C)}else{var H=(x=u*F)*x,W=(C=f*F)*C,X=Math.atan2(N,V),Y=-2*W*L,q=W-H;if((S=Y*Y-4*q*(T=W*L*L+H*k-H*W))>=0){var J=Math.sqrt(S);Y<0&&(J=-J);var Z=(J=-(Y+J)/2)/q,K=T/J,Q=Math.abs(Z)<Math.abs(K)?Z:K;if(Q*Q<=k){P=Math.sqrt(k-Q*Q)*s,M=X-Math.atan2(P,Q),D=Math.atan2(P/f,(Q-L)/u);break t}}var $=t.MathUtils.PI,tt=L-x,et=tt*tt,it=0,nt=0,rt=L+x,st=rt*rt,at=0;(T=-x*L/(H-W))>=-1&&T<=1&&(T=Math.acos(T),(S=(I=x*Math.cos(T)+L)*I+(P=C*Math.sin(T))*P)<et&&($=T,et=S,tt=I,it=P),S>st&&(nt=T,st=S,rt=I,at=P)),k<=(et+st)/2?(M=X-Math.atan2(it*s,tt),D=$*s):(M=X-Math.atan2(at*s,rt),D=nt*s)}var ot=Math.atan2(g,v)*y,lt=e.arotation;(M=(M-ot)*t.MathUtils.radDeg+p-lt)>180?M-=360:M<-180&&(M+=360),e.updateWorldTransformWith(c,h,lt+M*l,_,e.ascaleY,0,0),lt=i.arotation,(D=((D+ot)*t.MathUtils.radDeg-i.ashearX)*y+m-lt)>180?D-=360:D<-180&&(D+=360),i.updateWorldTransformWith(v,g,lt+D*l,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY)}else i.updateWorldTransform()},e})();t.IkConstraint=e})(r||(r={})),(function(t){var e=(function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i.bendDirection=1,i.compress=!1,i.stretch=!1,i.uniform=!1,i.mix=1,i.softness=0,i}return s(e,t),e})(t.ConstraintData);t.IkConstraintData=e})(r||(r={})),(function(t){var e=(function(){function e(t,e){if(this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(var i=0,n=t.bones.length;i<n;i++)this.bones.push(e.findBone(t.bones[i].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 e.prototype.isActive=function(){return this.active},e.prototype.apply=function(){this.update()},e.prototype.update=function(){var i=this.target.getAttachment();if(i instanceof t.PathAttachment){var n=this.rotateMix,r=this.translateMix,s=n>0;if(r>0||s){var a=this.data,o=a.spacingMode==t.SpacingMode.Percent,l=a.rotateMode,c=l==t.RotateMode.Tangent,h=l==t.RotateMode.ChainScale,u=this.bones.length,_=c?u:u+1,f=this.bones,d=t.Utils.setArraySize(this.spaces,_),p=null,m=this.spacing;if(h||!o){h&&(p=t.Utils.setArraySize(this.lengths,u));for(var y=a.spacingMode==t.SpacingMode.Length,v=0,g=_-1;v<g;){var b=(I=f[v]).data.length;if(b<e.epsilon)h&&(p[v]=0),d[++v]=0;else if(o){if(h){var A=b*I.a,x=b*I.c,C=Math.sqrt(A*A+x*x);p[v]=C}d[++v]=m}else{A=b*I.a,x=b*I.c;var T=Math.sqrt(A*A+x*x);h&&(p[v]=T),d[++v]=(y?b+m:m)*T/b}}}else for(v=1;v<_;v++)d[v]=m;var S=this.computeWorldPositions(i,_,c,a.positionMode==t.PositionMode.Percent,o),w=S[0],E=S[1],M=a.offsetRotation,D=!1;0==M?D=l==t.RotateMode.Chain:(D=!1,M*=(B=this.target.bone).a*B.d-B.b*B.c>0?t.MathUtils.degRad:-t.MathUtils.degRad),v=0;for(var B=3;v<u;v++,B+=3){var I;(I=f[v]).worldX+=(w-I.worldX)*r,I.worldY+=(E-I.worldY)*r;var P=(A=S[B])-w,R=(x=S[B+1])-E;if(h){var O=p[v];if(0!=O){var L=(Math.sqrt(P*P+R*R)/O-1)*n+1;I.a*=L,I.c*=L}}if(w=A,E=x,s){var F=I.a,V=I.b,N=I.c,k=I.d,z=0,G=0,U=0;if(z=c?S[B-1]:0==d[v+1]?S[B+2]:Math.atan2(R,P),z-=Math.atan2(N,F),D){G=Math.cos(z),U=Math.sin(z);var j=I.data.length;w+=(j*(G*F-U*N)-P)*n,E+=(j*(U*F+G*N)-R)*n}else z+=M;z>t.MathUtils.PI?z-=t.MathUtils.PI2:z<-t.MathUtils.PI&&(z+=t.MathUtils.PI2),z*=n,G=Math.cos(z),U=Math.sin(z),I.a=G*F-U*N,I.b=G*V-U*k,I.c=U*F+G*N,I.d=U*V+G*k}I.appliedValid=!1}}}},e.prototype.computeWorldPositions=function(i,n,r,s,a){var o=this.target,l=this.position,c=this.spaces,h=t.Utils.setArraySize(this.positions,3*n+2),u=null,_=i.closed,f=i.worldVerticesLength,d=f/6,p=e.NONE;if(!i.constantSpeed){var m=i.lengths,y=m[d-=_?1:2];if(s&&(l*=y),a)for(var v=1;v<n;v++)c[v]*=y;u=t.Utils.setArraySize(this.world,8),v=0;for(var g=0,b=0;v<n;v++,g+=3){var A=l+=W=c[v];if(_)(A%=y)<0&&(A+=y),b=0;else{if(A<0){p!=e.BEFORE&&(p=e.BEFORE,i.computeWorldVertices(o,2,4,u,0,2)),this.addBeforePosition(A,u,0,h,g);continue}if(A>y){p!=e.AFTER&&(p=e.AFTER,i.computeWorldVertices(o,f-6,4,u,0,2)),this.addAfterPosition(A-y,u,0,h,g);continue}}for(;;b++){var x=m[b];if(!(A>x)){0==b?A/=x:A=(A-(J=m[b-1]))/(x-J);break}}b!=p&&(p=b,_&&b==d?(i.computeWorldVertices(o,f-4,4,u,0,2),i.computeWorldVertices(o,0,4,u,4,2)):i.computeWorldVertices(o,6*b+2,8,u,0,2)),this.addCurvePosition(A,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],h,g,r||v>0&&0==W)}return h}_?(f+=2,u=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f-4,u,0,2),i.computeWorldVertices(o,0,2,u,f-4,2),u[f-2]=u[0],u[f-1]=u[1]):(d--,f-=4,u=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f,u,0,2));for(var C=t.Utils.setArraySize(this.curves,d),T=0,S=u[0],w=u[1],E=0,M=0,D=0,B=0,I=0,P=0,R=0,O=0,L=0,F=0,V=0,N=0,k=0,z=0,G=(v=0,2);v<d;v++,G+=6)E=u[G],M=u[G+1],D=u[G+2],B=u[G+3],V=2*(R=.1875*(S-2*E+D))+(L=.09375*(3*(E-D)-S+(I=u[G+4]))),N=2*(O=.1875*(w-2*M+B))+(F=.09375*(3*(M-B)-w+(P=u[G+5]))),k=.75*(E-S)+R+.16666667*L,z=.75*(M-w)+O+.16666667*F,T+=Math.sqrt(k*k+z*z),k+=V,z+=N,V+=L,N+=F,T+=Math.sqrt(k*k+z*z),k+=V,z+=N,T+=Math.sqrt(k*k+z*z),k+=V+L,z+=N+F,T+=Math.sqrt(k*k+z*z),C[v]=T,S=I,w=P;if(l*=s?T:T/i.lengths[d-1],a)for(v=1;v<n;v++)c[v]*=T;for(var U=this.segments,j=0,H=(v=0,g=0,b=0,0);v<n;v++,g+=3){var W;if(A=l+=W=c[v],_)(A%=T)<0&&(A+=T),b=0;else{if(A<0){this.addBeforePosition(A,u,0,h,g);continue}if(A>T){this.addAfterPosition(A-T,u,f-4,h,g);continue}}for(;;b++){var X=C[b];if(!(A>X)){0==b?A/=X:A=(A-(J=C[b-1]))/(X-J);break}}if(b!=p){p=b;var Y=6*b;for(S=u[Y],w=u[Y+1],E=u[Y+2],M=u[Y+3],D=u[Y+4],B=u[Y+5],V=2*(R=.03*(S-2*E+D))+(L=.006*(3*(E-D)-S+(I=u[Y+6]))),N=2*(O=.03*(w-2*M+B))+(F=.006*(3*(M-B)-w+(P=u[Y+7]))),k=.3*(E-S)+R+.16666667*L,z=.3*(M-w)+O+.16666667*F,j=Math.sqrt(k*k+z*z),U[0]=j,Y=1;Y<8;Y++)k+=V,z+=N,V+=L,N+=F,j+=Math.sqrt(k*k+z*z),U[Y]=j;k+=V,z+=N,j+=Math.sqrt(k*k+z*z),U[8]=j,k+=V+L,z+=N+F,j+=Math.sqrt(k*k+z*z),U[9]=j,H=0}for(A*=j;;H++){var q=U[H];if(!(A>q)){var J;0==H?A/=q:A=H+(A-(J=U[H-1]))/(q-J);break}}this.addCurvePosition(.1*A,S,w,E,M,D,B,I,P,h,g,r||v>0&&0==W)}return h},e.prototype.addBeforePosition=function(t,e,i,n,r){var s=e[i],a=e[i+1],o=e[i+2]-s,l=e[i+3]-a,c=Math.atan2(l,o);n[r]=s+t*Math.cos(c),n[r+1]=a+t*Math.sin(c),n[r+2]=c},e.prototype.addAfterPosition=function(t,e,i,n,r){var s=e[i+2],a=e[i+3],o=s-e[i],l=a-e[i+1],c=Math.atan2(l,o);n[r]=s+t*Math.cos(c),n[r+1]=a+t*Math.sin(c),n[r+2]=c},e.prototype.addCurvePosition=function(t,e,i,n,r,s,a,o,l,c,h,u){if(0==t||isNaN(t))return c[h]=e,c[h+1]=i,void(c[h+2]=Math.atan2(r-i,n-e));var _=t*t,f=_*t,d=1-t,p=d*d,m=p*d,y=d*t,v=3*y,g=d*v,b=v*t,A=e*m+n*g+s*b+o*f,x=i*m+r*g+a*b+l*f;c[h]=A,c[h+1]=x,u&&(c[h+2]=t<.001?Math.atan2(r-i,n-e):Math.atan2(x-(i*p+r*y*2+a*_),A-(e*p+n*y*2+s*_)))},e.NONE=-1,e.BEFORE=-2,e.AFTER=-3,e.epsilon=1e-5,e})();t.PathConstraint=e})(r||(r={})),(function(t){var e=(function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i}return s(e,t),e})(t.ConstraintData);t.PathConstraintData=e,(function(t){t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent"})(t.PositionMode||(t.PositionMode={})),(function(t){t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent"})(t.SpacingMode||(t.SpacingMode={})),(function(t){t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale"})(t.RotateMode||(t.RotateMode={}))})(r||(r={})),(function(t){var e=(function(){function t(t){this.toLoad=new Array,this.assets={},this.clientId=t}return t.prototype.loaded=function(){var t=0;for(var e in this.assets)t++;return t},t})(),i=(function(){function t(t){void 0===t&&(t=""),this.clientAssets={},this.queuedAssets={},this.rawAssets={},this.errors={},this.pathPrefix=t}return t.prototype.queueAsset=function(t,i,n){var r=this.clientAssets[t];return null==r&&(r=new e(t),this.clientAssets[t]=r),null!==i&&(r.textureLoader=i),r.toLoad.push(n),this.queuedAssets[n]!==n&&(this.queuedAssets[n]=n,!0)},t.prototype.loadText=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var n=new XMLHttpRequest;n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&(n.status>=200&&n.status<300?i.rawAssets[e]=n.responseText:i.errors[e]="Couldn't load text "+e+": status "+n.status+", "+n.responseText)},n.open("GET",e,!0),n.send()}},t.prototype.loadJson=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var n=new XMLHttpRequest;n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&(n.status>=200&&n.status<300?i.rawAssets[e]=JSON.parse(n.responseText):i.errors[e]="Couldn't load text "+e+": status "+n.status+", "+n.responseText)},n.open("GET",e,!0),n.send()}},t.prototype.loadTexture=function(t,e,i){var n=this;if(i=this.pathPrefix+i,this.queueAsset(t,e,i)){var r=new Image;r.src=i,r.crossOrigin="anonymous",r.onload=function(){n.rawAssets[i]=r},r.onerror=function(){n.errors[i]="Couldn't load image "+i}}},t.prototype.get=function(t,e){e=this.pathPrefix+e;var i=this.clientAssets[t];return null==i||i.assets[e]},t.prototype.updateClientAssets=function(t){for(var e=0;e<t.toLoad.length;e++){var i=t.toLoad[e];if(null==t.assets[i]){var n=this.rawAssets[i];if(null==n)continue;n instanceof HTMLImageElement?t.assets[i]=t.textureLoader(n):t.assets[i]=n}}},t.prototype.isLoadingComplete=function(t){var e=this.clientAssets[t];return null==e||(this.updateClientAssets(e),e.toLoad.length==e.loaded())},t.prototype.dispose=function(){},t.prototype.hasErrors=function(){return Object.keys(this.errors).length>0},t.prototype.getErrors=function(){return this.errors},t})();t.SharedAssetManager=i})(r||(r={})),(function(t){var e=(function(){function e(e){if(this._updateCache=new Array,this.updateCacheReset=new Array,this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var i=0;i<e.bones.length;i++){var n=e.bones[i],r=void 0;if(null==n.parent)r=new t.Bone(n,this,null);else{var s=this.bones[n.parent.index];r=new t.Bone(n,this,s),s.children.push(r)}this.bones.push(r)}for(this.slots=new Array,this.drawOrder=new Array,i=0;i<e.slots.length;i++){var a=e.slots[i],o=(r=this.bones[a.boneData.index],new t.Slot(a,r));this.slots.push(o),this.drawOrder.push(o)}for(this.ikConstraints=new Array,i=0;i<e.ikConstraints.length;i++){var l=e.ikConstraints[i];this.ikConstraints.push(new t.IkConstraint(l,this))}for(this.transformConstraints=new Array,i=0;i<e.transformConstraints.length;i++){var c=e.transformConstraints[i];this.transformConstraints.push(new t.TransformConstraint(c,this))}for(this.pathConstraints=new Array,i=0;i<e.pathConstraints.length;i++){var h=e.pathConstraints[i];this.pathConstraints.push(new t.PathConstraint(h,this))}this.color=new t.Color(1,1,1,1),this.updateCache()}return e.prototype.updateCache=function(){this._updateCache.length=0,this.updateCacheReset.length=0;for(var t=this.bones,e=0,i=t.length;e<i;e++)(r=t[e]).sorted=r.data.skinRequired,r.active=!r.sorted;if(null!=this.skin){var n=this.skin.bones;for(e=0,i=this.skin.bones.length;e<i;e++){var r=this.bones[n[e].index];do{r.sorted=!1,r.active=!0,r=r.parent}while(null!=r)}}var s=this.ikConstraints,a=this.transformConstraints,o=this.pathConstraints,l=s.length,c=a.length,h=o.length,u=l+c+h;t:for(e=0;e<u;e++){for(var _=0;_<l;_++)if((f=s[_]).data.order==e){this.sortIkConstraint(f);continue t}for(_=0;_<c;_++)if((f=a[_]).data.order==e){this.sortTransformConstraint(f);continue t}for(_=0;_<h;_++){var f;if((f=o[_]).data.order==e){this.sortPathConstraint(f);continue t}}}for(e=0,i=t.length;e<i;e++)this.sortBone(t[e])},e.prototype.sortIkConstraint=function(e){if(e.active=e.target.isActive()&&(!e.data.skinRequired||null!=this.skin&&t.Utils.contains(this.skin.constraints,e.data,!0)),e.active){var i=e.target;this.sortBone(i);var n=e.bones,r=n[0];if(this.sortBone(r),n.length>1){var s=n[n.length-1];this._updateCache.indexOf(s)>-1||this.updateCacheReset.push(s)}this._updateCache.push(e),this.sortReset(r.children),n[n.length-1].sorted=!0}},e.prototype.sortPathConstraint=function(e){if(e.active=e.target.bone.isActive()&&(!e.data.skinRequired||null!=this.skin&&t.Utils.contains(this.skin.constraints,e.data,!0)),e.active){var i=e.target,n=i.data.index,r=i.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,n,r),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,n,r);for(var s=0,a=this.data.skins.length;s<a;s++)this.sortPathConstraintAttachment(this.data.skins[s],n,r);var o=i.getAttachment();o instanceof t.PathAttachment&&this.sortPathConstraintAttachmentWith(o,r);var l=e.bones,c=l.length;for(s=0;s<c;s++)this.sortBone(l[s]);for(this._updateCache.push(e),s=0;s<c;s++)this.sortReset(l[s].children);for(s=0;s<c;s++)l[s].sorted=!0}},e.prototype.sortTransformConstraint=function(e){if(e.active=e.target.isActive()&&(!e.data.skinRequired||null!=this.skin&&t.Utils.contains(this.skin.constraints,e.data,!0)),e.active){this.sortBone(e.target);var i=e.bones,n=i.length;if(e.data.local)for(var r=0;r<n;r++){var s=i[r];this.sortBone(s.parent),this._updateCache.indexOf(s)>-1||this.updateCacheReset.push(s)}else for(r=0;r<n;r++)this.sortBone(i[r]);this._updateCache.push(e);for(var a=0;a<n;a++)this.sortReset(i[a].children);for(a=0;a<n;a++)i[a].sorted=!0}},e.prototype.sortPathConstraintAttachment=function(t,e,i){var n=t.attachments[e];if(n)for(var r in n)this.sortPathConstraintAttachmentWith(n[r],i)},e.prototype.sortPathConstraintAttachmentWith=function(e,i){if(e instanceof t.PathAttachment){var n=e.bones;if(null==n)this.sortBone(i);else for(var r=this.bones,s=0;s<n.length;)for(var a=n[s++],o=s+a;s<o;s++){var l=n[s];this.sortBone(r[l])}}},e.prototype.sortBone=function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}},e.prototype.sortReset=function(t){for(var e=0,i=t.length;e<i;e++){var n=t[e];n.active&&(n.sorted&&this.sortReset(n.children),n.sorted=!1)}},e.prototype.updateWorldTransform=function(){for(var t=this.updateCacheReset,e=0,i=t.length;e<i;e++){var n=t[e];n.ax=n.x,n.ay=n.y,n.arotation=n.rotation,n.ascaleX=n.scaleX,n.ascaleY=n.scaleY,n.ashearX=n.shearX,n.ashearY=n.shearY,n.appliedValid=!0}var r=this._updateCache;for(e=0,i=r.length;e<i;e++)r[e].update()},e.prototype.setToSetupPose=function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},e.prototype.setBonesToSetupPose=function(){for(var t=this.bones,e=0,i=t.length;e<i;e++)t[e].setToSetupPose();var n=this.ikConstraints;for(e=0,i=n.length;e<i;e++)(o=n[e]).mix=o.data.mix,o.softness=o.data.softness,o.bendDirection=o.data.bendDirection,o.compress=o.data.compress,o.stretch=o.data.stretch;var r=this.transformConstraints;for(e=0,i=r.length;e<i;e++){var s=(o=r[e]).data;o.rotateMix=s.rotateMix,o.translateMix=s.translateMix,o.scaleMix=s.scaleMix,o.shearMix=s.shearMix}var a=this.pathConstraints;for(e=0,i=a.length;e<i;e++){var o;s=(o=a[e]).data,o.position=s.position,o.spacing=s.spacing,o.rotateMix=s.rotateMix,o.translateMix=s.translateMix}},e.prototype.setSlotsToSetupPose=function(){var e=this.slots;t.Utils.arrayCopy(e,0,this.drawOrder,0,e.length);for(var i=0,n=e.length;i<n;i++)e[i].setToSetupPose()},e.prototype.getRootBone=function(){return 0==this.bones.length?null:this.bones[0]},e.prototype.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++)if(e[i].data.name==t)return i;return-1},e.prototype.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++)if(e[i].data.name==t)return i;return-1},e.prototype.setSkinByName=function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)},e.prototype.setSkin=function(t){if(t!=this.skin){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,i=0,n=e.length;i<n;i++){var r=e[i],s=r.data.attachmentName;if(null!=s){var a=t.getAttachment(i,s);null!=a&&r.setAttachment(a)}}this.skin=t,this.updateCache()}},e.prototype.getAttachmentByName=function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)},e.prototype.getAttachment=function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var i=this.skin.getAttachment(t,e);if(null!=i)return i}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},e.prototype.setAttachment=function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var i=this.slots,n=0,r=i.length;n<r;n++){var s=i[n];if(s.data.name==t){var a=null;if(null!=e&&null==(a=this.getAttachment(n,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void s.setAttachment(a)}}throw new Error("Slot not found: "+t)},e.prototype.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.getBounds=function(e,i,n){if(void 0===n&&(n=new Array(2)),null==e)throw new Error("offset cannot be null.");if(null==i)throw new Error("size cannot be null.");for(var r=this.drawOrder,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,l=Number.NEGATIVE_INFINITY,c=0,h=r.length;c<h;c++){var u=r[c];if(u.bone.active){var _=0,f=null,d=u.getAttachment();if(d instanceof t.RegionAttachment)_=8,f=t.Utils.setArraySize(n,_,0),d.computeWorldVertices(u.bone,f,0,2);else if(d instanceof t.MeshAttachment){var p=d;_=p.worldVerticesLength,f=t.Utils.setArraySize(n,_,0),p.computeWorldVertices(u,0,_,f,0,2)}if(null!=f)for(var m=0,y=f.length;m<y;m+=2){var v=f[m],g=f[m+1];s=Math.min(s,v),a=Math.min(a,g),o=Math.max(o,v),l=Math.max(l,g)}}}e.set(s,a),i.set(o-s,l-a)},e.prototype.update=function(t){this.time+=t},e})();t.Skeleton=e})(r||(r={})),(function(t){var e=(function(){function e(t){this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=t}return e.prototype.readSkeletonData=function(n){var r=this.scale,s=new t.SkeletonData;s.name="";var a=new i(n);s.hash=a.readString(),s.version=a.readString(),s.x=a.readFloat(),s.y=a.readFloat(),s.width=a.readFloat(),s.height=a.readFloat();var o=a.readBoolean();o&&(s.fps=a.readFloat(),s.imagesPath=a.readString(),s.audioPath=a.readString());var l=0;l=a.readInt(!0);for(var c=0;c<l;c++)a.strings.push(a.readString());for(l=a.readInt(!0),c=0;c<l;c++){var h=a.readString(),u=0==c?null:s.bones[a.readInt(!0)];(d=new t.BoneData(c,h,u)).rotation=a.readFloat(),d.x=a.readFloat()*r,d.y=a.readFloat()*r,d.scaleX=a.readFloat(),d.scaleY=a.readFloat(),d.shearX=a.readFloat(),d.shearY=a.readFloat(),d.length=a.readFloat()*r,d.transformMode=e.TransformModeValues[a.readInt(!0)],d.skinRequired=a.readBoolean(),o&&t.Color.rgba8888ToColor(d.color,a.readInt32()),s.bones.push(d)}for(l=a.readInt(!0),c=0;c<l;c++){var _=a.readString(),f=s.bones[a.readInt(!0)],d=new t.SlotData(c,_,f);t.Color.rgba8888ToColor(d.color,a.readInt32());var p=a.readInt32();-1!=p&&t.Color.rgb888ToColor(d.darkColor=new t.Color,p),d.attachmentName=a.readStringRef(),d.blendMode=e.BlendModeValues[a.readInt(!0)],s.slots.push(d)}l=a.readInt(!0),c=0;for(var m=void 0;c<l;c++){(d=new t.IkConstraintData(a.readString())).order=a.readInt(!0),d.skinRequired=a.readBoolean(),m=a.readInt(!0);for(var y=0;y<m;y++)d.bones.push(s.bones[a.readInt(!0)]);d.target=s.bones[a.readInt(!0)],d.mix=a.readFloat(),d.softness=a.readFloat()*r,d.bendDirection=a.readByte(),d.compress=a.readBoolean(),d.stretch=a.readBoolean(),d.uniform=a.readBoolean(),s.ikConstraints.push(d)}for(l=a.readInt(!0),c=0,m=void 0;c<l;c++){for((d=new t.TransformConstraintData(a.readString())).order=a.readInt(!0),d.skinRequired=a.readBoolean(),m=a.readInt(!0),y=0;y<m;y++)d.bones.push(s.bones[a.readInt(!0)]);d.target=s.bones[a.readInt(!0)],d.local=a.readBoolean(),d.relative=a.readBoolean(),d.offsetRotation=a.readFloat(),d.offsetX=a.readFloat()*r,d.offsetY=a.readFloat()*r,d.offsetScaleX=a.readFloat(),d.offsetScaleY=a.readFloat(),d.offsetShearY=a.readFloat(),d.rotateMix=a.readFloat(),d.translateMix=a.readFloat(),d.scaleMix=a.readFloat(),d.shearMix=a.readFloat(),s.transformConstraints.push(d)}for(l=a.readInt(!0),c=0,m=void 0;c<l;c++){for((d=new t.PathConstraintData(a.readString())).order=a.readInt(!0),d.skinRequired=a.readBoolean(),m=a.readInt(!0),y=0;y<m;y++)d.bones.push(s.bones[a.readInt(!0)]);d.target=s.slots[a.readInt(!0)],d.positionMode=e.PositionModeValues[a.readInt(!0)],d.spacingMode=e.SpacingModeValues[a.readInt(!0)],d.rotateMode=e.RotateModeValues[a.readInt(!0)],d.offsetRotation=a.readFloat(),d.position=a.readFloat(),d.positionMode==t.PositionMode.Fixed&&(d.position*=r),d.spacing=a.readFloat(),d.spacingMode!=t.SpacingMode.Length&&d.spacingMode!=t.SpacingMode.Fixed||(d.spacing*=r),d.rotateMix=a.readFloat(),d.translateMix=a.readFloat(),s.pathConstraints.push(d)}var v=this.readSkin(a,s,!0,o);for(null!=v&&(s.defaultSkin=v,s.skins.push(v)),c=s.skins.length,t.Utils.setArraySize(s.skins,l=c+a.readInt(!0));c<l;c++)s.skins[c]=this.readSkin(a,s,!1,o);for(l=this.linkedMeshes.length,c=0;c<l;c++){var g=this.linkedMeshes[c],b=null==g.skin?s.defaultSkin:s.findSkin(g.skin);if(null==b)throw new Error("Skin not found: "+g.skin);var A=b.getAttachment(g.slotIndex,g.parent);if(null==A)throw new Error("Parent mesh not found: "+g.parent);g.mesh.deformAttachment=g.inheritDeform?A:g.mesh,g.mesh.setParentMesh(A),g.mesh.updateUVs()}for(this.linkedMeshes.length=0,l=a.readInt(!0),c=0;c<l;c++)(d=new t.EventData(a.readStringRef())).intValue=a.readInt(!1),d.floatValue=a.readFloat(),d.stringValue=a.readString(),d.audioPath=a.readString(),null!=d.audioPath&&(d.volume=a.readFloat(),d.balance=a.readFloat()),s.events.push(d);for(l=a.readInt(!0),c=0;c<l;c++)s.animations.push(this.readAnimation(a,a.readString(),s));return s},e.prototype.readSkin=function(e,i,n,r){var s=null,a=0;if(n){if(0==(a=e.readInt(!0)))return null;s=new t.Skin("default")}else{(s=new t.Skin(e.readStringRef())).bones.length=e.readInt(!0);for(var o=0,l=s.bones.length;o<l;o++)s.bones[o]=i.bones[e.readInt(!0)];for(o=0,l=e.readInt(!0);o<l;o++)s.constraints.push(i.ikConstraints[e.readInt(!0)]);for(o=0,l=e.readInt(!0);o<l;o++)s.constraints.push(i.transformConstraints[e.readInt(!0)]);for(o=0,l=e.readInt(!0);o<l;o++)s.constraints.push(i.pathConstraints[e.readInt(!0)]);a=e.readInt(!0)}for(o=0;o<a;o++)for(var c=e.readInt(!0),h=0,u=e.readInt(!0);h<u;h++){var _=e.readStringRef(),f=this.readAttachment(e,i,s,c,_,r);null!=f&&s.setAttachment(c,_,f)}return s},e.prototype.readAttachment=function(i,r,s,a,o,l){var c=this.scale,h=i.readStringRef();null==h&&(h=o);var u=i.readByte();switch(e.AttachmentTypeValues[u]){case t.AttachmentType.Region:var _=i.readStringRef(),f=i.readFloat(),d=i.readFloat(),p=i.readFloat(),m=i.readFloat(),y=i.readFloat(),v=i.readFloat(),g=i.readFloat(),b=i.readInt32();null==_&&(_=h);var A=this.attachmentLoader.newRegionAttachment(s,h,_);return null==A?null:(A.path=_,A.x=d*c,A.y=p*c,A.scaleX=m,A.scaleY=y,A.rotation=f,A.width=v*c,A.height=g*c,t.Color.rgba8888ToColor(A.color,b),A.updateOffset(),A);case t.AttachmentType.BoundingBox:var x=i.readInt(!0),C=this.readVertices(i,x),T=(b=l?i.readInt32():0,this.attachmentLoader.newBoundingBoxAttachment(s,h));return null==T?null:(T.worldVerticesLength=x<<1,T.vertices=C.vertices,T.bones=C.bones,l&&t.Color.rgba8888ToColor(T.color,b),T);case t.AttachmentType.Mesh:_=i.readStringRef(),b=i.readInt32(),x=i.readInt(!0);var S=this.readFloatArray(i,x<<1,1),w=this.readShortArray(i),E=(C=this.readVertices(i,x),i.readInt(!0)),M=null;return v=0,g=0,l&&(M=this.readShortArray(i),v=i.readFloat(),g=i.readFloat()),null==_&&(_=h),null==(D=this.attachmentLoader.newMeshAttachment(s,h,_))?null:(D.path=_,t.Color.rgba8888ToColor(D.color,b),D.bones=C.bones,D.vertices=C.vertices,D.worldVerticesLength=x<<1,D.triangles=w,D.regionUVs=S,D.updateUVs(),D.hullLength=E<<1,l&&(D.edges=M,D.width=v*c,D.height=g*c),D);case t.AttachmentType.LinkedMesh:_=i.readStringRef(),b=i.readInt32();var D,B=i.readStringRef(),I=i.readStringRef(),P=i.readBoolean();return v=0,g=0,l&&(v=i.readFloat(),g=i.readFloat()),null==_&&(_=h),null==(D=this.attachmentLoader.newMeshAttachment(s,h,_))?null:(D.path=_,t.Color.rgba8888ToColor(D.color,b),l&&(D.width=v*c,D.height=g*c),this.linkedMeshes.push(new n(D,B,a,I,P)),D);case t.AttachmentType.Path:for(var R=i.readBoolean(),O=i.readBoolean(),L=(x=i.readInt(!0),C=this.readVertices(i,x),t.Utils.newArray(x/3,0)),F=0,V=L.length;F<V;F++)L[F]=i.readFloat()*c;return b=l?i.readInt32():0,null==(_=this.attachmentLoader.newPathAttachment(s,h))?null:(_.closed=R,_.constantSpeed=O,_.worldVerticesLength=x<<1,_.vertices=C.vertices,_.bones=C.bones,_.lengths=L,l&&t.Color.rgba8888ToColor(_.color,b),_);case t.AttachmentType.Point:f=i.readFloat(),d=i.readFloat(),p=i.readFloat(),b=l?i.readInt32():0;var N=this.attachmentLoader.newPointAttachment(s,h);return null==N?null:(N.x=d*c,N.y=p*c,N.rotation=f,l&&t.Color.rgba8888ToColor(N.color,b),N);case t.AttachmentType.Clipping:var k=i.readInt(!0),z=(x=i.readInt(!0),C=this.readVertices(i,x),b=l?i.readInt32():0,this.attachmentLoader.newClippingAttachment(s,h));return null==z?null:(z.endSlot=r.slots[k],z.worldVerticesLength=x<<1,z.vertices=C.vertices,z.bones=C.bones,l&&t.Color.rgba8888ToColor(z.color,b),z)}return null},e.prototype.readVertices=function(e,i){var n=i<<1,s=new r,a=this.scale;if(!e.readBoolean())return s.vertices=this.readFloatArray(e,n,a),s;for(var o=new Array,l=new Array,c=0;c<i;c++){var h=e.readInt(!0);l.push(h);for(var u=0;u<h;u++)l.push(e.readInt(!0)),o.push(e.readFloat()*a),o.push(e.readFloat()*a),o.push(e.readFloat())}return s.vertices=t.Utils.toFloatArray(o),s.bones=l,s},e.prototype.readFloatArray=function(t,e,i){var n=new Array(e);if(1==i)for(var r=0;r<e;r++)n[r]=t.readFloat();else for(r=0;r<e;r++)n[r]=t.readFloat()*i;return n},e.prototype.readShortArray=function(t){for(var e=t.readInt(!0),i=new Array(e),n=0;n<e;n++)i[n]=t.readShort();return i},e.prototype.readAnimation=function(i,n,r){for(var s=new Array,a=this.scale,o=0,l=new t.Color,c=new t.Color,h=0,u=i.readInt(!0);h<u;h++)for(var _=i.readInt(!0),f=0,d=i.readInt(!0);f<d;f++){var p=i.readByte(),m=i.readInt(!0);switch(p){case e.SLOT_ATTACHMENT:(b=new t.AttachmentTimeline(m)).slotIndex=_;for(var y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readStringRef());s.push(b),o=Math.max(o,b.frames[m-1]);break;case e.SLOT_COLOR:for((b=new t.ColorTimeline(m)).slotIndex=_,y=0;y<m;y++){var v=i.readFloat();t.Color.rgba8888ToColor(l,i.readInt32()),b.setFrame(y,v,l.r,l.g,l.b,l.a),y<m-1&&this.readCurve(i,y,b)}s.push(b),o=Math.max(o,b.frames[(m-1)*t.ColorTimeline.ENTRIES]);break;case e.SLOT_TWO_COLOR:for((b=new t.TwoColorTimeline(m)).slotIndex=_,y=0;y<m;y++)v=i.readFloat(),t.Color.rgba8888ToColor(l,i.readInt32()),t.Color.rgb888ToColor(c,i.readInt32()),b.setFrame(y,v,l.r,l.g,l.b,l.a,c.r,c.g,c.b),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.TwoColorTimeline.ENTRIES])}}for(h=0,u=i.readInt(!0);h<u;h++){var g=i.readInt(!0);for(f=0,d=i.readInt(!0);f<d;f++)switch(p=i.readByte(),m=i.readInt(!0),p){case e.BONE_ROTATE:for((b=new t.RotateTimeline(m)).boneIndex=g,y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readFloat()),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.RotateTimeline.ENTRIES]);break;case e.BONE_TRANSLATE:case e.BONE_SCALE:case e.BONE_SHEAR:var b=void 0,A=1;for(p==e.BONE_SCALE?b=new t.ScaleTimeline(m):p==e.BONE_SHEAR?b=new t.ShearTimeline(m):(b=new t.TranslateTimeline(m),A=a),b.boneIndex=g,y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readFloat()*A,i.readFloat()*A),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.TranslateTimeline.ENTRIES])}}for(h=0,u=i.readInt(!0);h<u;h++){var x=i.readInt(!0);for(m=i.readInt(!0),(b=new t.IkConstraintTimeline(m)).ikConstraintIndex=x,y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readFloat(),i.readFloat()*a,i.readByte(),i.readBoolean(),i.readBoolean()),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.IkConstraintTimeline.ENTRIES])}for(h=0,u=i.readInt(!0);h<u;h++){for(x=i.readInt(!0),m=i.readInt(!0),(b=new t.TransformConstraintTimeline(m)).transformConstraintIndex=x,y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readFloat(),i.readFloat(),i.readFloat(),i.readFloat()),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.TransformConstraintTimeline.ENTRIES])}for(h=0,u=i.readInt(!0);h<u;h++){x=i.readInt(!0);var C=r.pathConstraints[x];for(f=0,d=i.readInt(!0);f<d;f++)switch(p=i.readByte(),m=i.readInt(!0),p){case e.PATH_POSITION:case e.PATH_SPACING:for(b=void 0,A=1,p==e.PATH_SPACING?(b=new t.PathConstraintSpacingTimeline(m),C.spacingMode!=t.SpacingMode.Length&&C.spacingMode!=t.SpacingMode.Fixed||(A=a)):(b=new t.PathConstraintPositionTimeline(m),C.positionMode==t.PositionMode.Fixed&&(A=a)),b.pathConstraintIndex=x,y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readFloat()*A),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.PathConstraintPositionTimeline.ENTRIES]);break;case e.PATH_MIX:for((b=new t.PathConstraintMixTimeline(m)).pathConstraintIndex=x,y=0;y<m;y++)b.setFrame(y,i.readFloat(),i.readFloat(),i.readFloat()),y<m-1&&this.readCurve(i,y,b);s.push(b),o=Math.max(o,b.frames[(m-1)*t.PathConstraintMixTimeline.ENTRIES])}}for(h=0,u=i.readInt(!0);h<u;h++){var T=r.skins[i.readInt(!0)];for(f=0,d=i.readInt(!0);f<d;f++){_=i.readInt(!0);for(var S=0,w=i.readInt(!0);S<w;S++){var E=T.getAttachment(_,i.readStringRef()),M=null!=E.bones,D=E.vertices,B=M?D.length/3*2:D.length;for(m=i.readInt(!0),(b=new t.DeformTimeline(m)).slotIndex=_,b.attachment=E,y=0;y<m;y++){v=i.readFloat();var I=void 0,P=i.readInt(!0);if(0==P)I=M?t.Utils.newFloatArray(B):D;else{I=t.Utils.newFloatArray(B);var R=i.readInt(!0);if(P+=R,1==a)for(var O=R;O<P;O++)I[O]=i.readFloat();else for(O=R;O<P;O++)I[O]=i.readFloat()*a;if(!M){O=0;for(var L=I.length;O<L;O++)I[O]+=D[O]}}b.setFrame(y,v,I),y<m-1&&this.readCurve(i,y,b)}s.push(b),o=Math.max(o,b.frames[m-1])}}}var F=i.readInt(!0);if(F>0){b=new t.DrawOrderTimeline(F);var V=r.slots.length;for(h=0;h<F;h++){v=i.readFloat();var N=i.readInt(!0),k=t.Utils.newArray(V,0);for(f=V-1;f>=0;f--)k[f]=-1;var z=t.Utils.newArray(V-N,0),G=0,U=0;for(f=0;f<N;f++){for(_=i.readInt(!0);G!=_;)z[U++]=G++;k[G+i.readInt(!0)]=G++}for(;G<V;)z[U++]=G++;for(f=V-1;f>=0;f--)-1==k[f]&&(k[f]=z[--U]);b.setFrame(h,v,k)}s.push(b),o=Math.max(o,b.frames[F-1])}var j=i.readInt(!0);if(j>0){for(b=new t.EventTimeline(j),h=0;h<j;h++){v=i.readFloat();var H=r.events[i.readInt(!0)],W=new t.Event(v,H);W.intValue=i.readInt(!1),W.floatValue=i.readFloat(),W.stringValue=i.readBoolean()?i.readString():H.stringValue,null!=W.data.audioPath&&(W.volume=i.readFloat(),W.balance=i.readFloat()),b.setFrame(h,W)}s.push(b),o=Math.max(o,b.frames[j-1])}return new t.Animation(n,s,o)},e.prototype.readCurve=function(t,i,n){switch(t.readByte()){case e.CURVE_STEPPED:n.setStepped(i);break;case e.CURVE_BEZIER:this.setCurve(n,i,t.readFloat(),t.readFloat(),t.readFloat(),t.readFloat())}},e.prototype.setCurve=function(t,e,i,n,r,s){t.setCurve(e,i,n,r,s)},e.AttachmentTypeValues=[0,1,2,3,4,5,6],e.TransformModeValues=[t.TransformMode.Normal,t.TransformMode.OnlyTranslation,t.TransformMode.NoRotationOrReflection,t.TransformMode.NoScale,t.TransformMode.NoScaleOrReflection],e.PositionModeValues=[t.PositionMode.Fixed,t.PositionMode.Percent],e.SpacingModeValues=[t.SpacingMode.Length,t.SpacingMode.Fixed,t.SpacingMode.Percent],e.RotateModeValues=[t.RotateMode.Tangent,t.RotateMode.Chain,t.RotateMode.ChainScale],e.BlendModeValues=[t.BlendMode.Normal,t.BlendMode.Additive,t.BlendMode.Multiply,t.BlendMode.Screen],e.BONE_ROTATE=0,e.BONE_TRANSLATE=1,e.BONE_SCALE=2,e.BONE_SHEAR=3,e.SLOT_ATTACHMENT=0,e.SLOT_COLOR=1,e.SLOT_TWO_COLOR=2,e.PATH_POSITION=0,e.PATH_SPACING=1,e.PATH_MIX=2,e.CURVE_LINEAR=0,e.CURVE_STEPPED=1,e.CURVE_BEZIER=2,e})();t.SkeletonBinary=e;var i=(function(){function t(t,e,i,n){void 0===e&&(e=new Array),void 0===i&&(i=0),void 0===n&&(n=new DataView(t.buffer)),this.strings=e,this.index=i,this.buffer=n}return t.prototype.readByte=function(){return this.buffer.getInt8(this.index++)},t.prototype.readShort=function(){var t=this.buffer.getInt16(this.index);return this.index+=2,t},t.prototype.readInt32=function(){var t=this.buffer.getInt32(this.index);return this.index+=4,t},t.prototype.readInt=function(t){var e=this.readByte(),i=127&e;return 0!=(128&e)&&(i|=(127&(e=this.readByte()))<<7,0!=(128&e)&&(i|=(127&(e=this.readByte()))<<14,0!=(128&e)&&(i|=(127&(e=this.readByte()))<<21,0!=(128&e)&&(i|=(127&(e=this.readByte()))<<28)))),t?i:i>>>1^-(1&i)},t.prototype.readStringRef=function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]},t.prototype.readString=function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",i=0;i<t;){var n=this.readByte();switch(n>>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),i+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),i+=3;break;default:e+=String.fromCharCode(n),i++}}return e},t.prototype.readFloat=function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t},t.prototype.readBoolean=function(){return 0!=this.readByte()},t})(),n=function(t,e,i,n,r){this.mesh=t,this.skin=e,this.slotIndex=i,this.parent=n,this.inheritDeform=r},r=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.bones=t,this.vertices=e}})(r||(r={})),(function(t){var e=(function(){function e(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=new Array,this.polygons=new Array,this.polygonPool=new t.Pool(function(){return t.Utils.newFloatArray(16)})}return e.prototype.update=function(e,i){if(null==e)throw new Error("skeleton cannot be null.");var n=this.boundingBoxes,r=this.polygons,s=this.polygonPool,a=e.slots,o=a.length;n.length=0,s.freeAll(r),r.length=0;for(var l=0;l<o;l++){var c=a[l];if(c.bone.active){var h=c.getAttachment();if(h instanceof t.BoundingBoxAttachment){var u=h;n.push(u);var _=s.obtain();_.length!=u.worldVerticesLength&&(_=t.Utils.newFloatArray(u.worldVerticesLength)),r.push(_),u.computeWorldVertices(c,0,u.worldVerticesLength,_,0,2)}}}i?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)},e.prototype.aabbCompute=function(){for(var t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=this.polygons,s=0,a=r.length;s<a;s++)for(var o=r[s],l=o,c=0,h=o.length;c<h;c+=2){var u=l[c],_=l[c+1];t=Math.min(t,u),e=Math.min(e,_),i=Math.max(i,u),n=Math.max(n,_)}this.minX=t,this.minY=e,this.maxX=i,this.maxY=n},e.prototype.aabbContainsPoint=function(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},e.prototype.aabbIntersectsSegment=function(t,e,i,n){var r=this.minX,s=this.minY,a=this.maxX,o=this.maxY;if(t<=r&&i<=r||e<=s&&n<=s||t>=a&&i>=a||e>=o&&n>=o)return!1;var l=(n-e)/(i-t),c=l*(r-t)+e;if(c>s&&c<o)return!0;if((c=l*(a-t)+e)>s&&c<o)return!0;var h=(s-e)/l+t;return h>r&&h<a||(h=(o-e)/l+t)>r&&h<a},e.prototype.aabbIntersectsSkeleton=function(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY},e.prototype.containsPoint=function(t,e){for(var i=this.polygons,n=0,r=i.length;n<r;n++)if(this.containsPointPolygon(i[n],t,e))return this.boundingBoxes[n];return null},e.prototype.containsPointPolygon=function(t,e,i){for(var n=t,r=t.length,s=r-2,a=!1,o=0;o<r;o+=2){var l=n[o+1],c=n[s+1];if(l<i&&c>=i||c<i&&l>=i){var h=n[o];h+(i-l)/(c-l)*(n[s]-h)<e&&(a=!a)}s=o}return a},e.prototype.intersectsSegment=function(t,e,i,n){for(var r=this.polygons,s=0,a=r.length;s<a;s++)if(this.intersectsSegmentPolygon(r[s],t,e,i,n))return this.boundingBoxes[s];return null},e.prototype.intersectsSegmentPolygon=function(t,e,i,n,r){for(var s=t,a=t.length,o=e-n,l=i-r,c=e*r-i*n,h=s[a-2],u=s[a-1],_=0;_<a;_+=2){var f=s[_],d=s[_+1],p=h*d-u*f,m=h-f,y=u-d,v=o*y-l*m,g=(c*m-o*p)/v;if((g>=h&&g<=f||g>=f&&g<=h)&&(g>=e&&g<=n||g>=n&&g<=e)){var b=(c*y-l*p)/v;if((b>=u&&b<=d||b>=d&&b<=u)&&(b>=i&&b<=r||b>=r&&b<=i))return!0}h=f,u=d}return!1},e.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]},e.prototype.getWidth=function(){return this.maxX-this.minX},e.prototype.getHeight=function(){return this.maxY-this.minY},e})();t.SkeletonBounds=e})(r||(r={})),(function(t){var e=(function(){function e(){this.triangulator=new t.Triangulator,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array}return e.prototype.clipStart=function(i,n){if(null!=this.clipAttachment)return 0;this.clipAttachment=n;var r=n.worldVerticesLength,s=t.Utils.setArraySize(this.clippingPolygon,r);n.computeWorldVertices(i,0,r,s,0,2);var a=this.clippingPolygon;e.makeClockwise(a);for(var o=this.clippingPolygons=this.triangulator.decompose(a,this.triangulator.triangulate(a)),l=0,c=o.length;l<c;l++){var h=o[l];e.makeClockwise(h),h.push(h[0]),h.push(h[1])}return o.length},e.prototype.clipEndWithSlot=function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()},e.prototype.clipEnd=function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)},e.prototype.isClipping=function(){return null!=this.clipAttachment},e.prototype.clipTriangles=function(e,i,n,r,s,a,o,l,c,h,u,_){var f=this.clipOutput,d=this.clippedVertices,p=this.clippedTriangles,m=this.clippingPolygons,y=this.clippingPolygons.length,v=l?12:8,g=0;h=h||0,u=u||0,_=_||0,d.length=0,p.length=0;t:for(var b=h,A=h+r;b<A;b+=3){var x=n[b]*c,C=x+u,T=x+_,S=e[C],w=e[C+1],E=s[T],M=s[T+1];T=(x=n[b+1]*c)+_;var D=e[C=x+u],B=e[C+1],I=s[T],P=s[T+1];T=(x=n[b+2]*c)+_;for(var R=e[C=x+u],O=e[C+1],L=s[T],F=s[T+1],V=0;V<y;V++){var N=d.length;if(!this.clip(S,w,D,B,R,O,m[V],f)){(Y=t.Utils.setArraySize(d,N+3*v))[N]=S,Y[N+1]=w,Y[N+2]=a.r,Y[N+3]=a.g,Y[N+4]=a.b,Y[N+5]=a.a,l?(Y[N+6]=E,Y[N+7]=M,Y[N+8]=o.r,Y[N+9]=o.g,Y[N+10]=o.b,Y[N+11]=o.a,Y[N+12]=D,Y[N+13]=B,Y[N+14]=a.r,Y[N+15]=a.g,Y[N+16]=a.b,Y[N+17]=a.a,Y[N+18]=I,Y[N+19]=P,Y[N+20]=o.r,Y[N+21]=o.g,Y[N+22]=o.b,Y[N+23]=o.a,Y[N+24]=R,Y[N+25]=O,Y[N+26]=a.r,Y[N+27]=a.g,Y[N+28]=a.b,Y[N+29]=a.a,Y[N+30]=L,Y[N+31]=F,Y[N+32]=o.r,Y[N+33]=o.g,Y[N+34]=o.b,Y[N+35]=o.a):(Y[N+6]=E,Y[N+7]=M,Y[N+8]=D,Y[N+9]=B,Y[N+10]=a.r,Y[N+11]=a.g,Y[N+12]=a.b,Y[N+13]=a.a,Y[N+14]=I,Y[N+15]=P,Y[N+16]=R,Y[N+17]=O,Y[N+18]=a.r,Y[N+19]=a.g,Y[N+20]=a.b,Y[N+21]=a.a,Y[N+22]=L,Y[N+23]=F),N=p.length,(it=t.Utils.setArraySize(p,N+3))[N]=g,it[N+1]=g+1,it[N+2]=g+2,g+=3;continue t}var k=f.length;if(0!=k){for(var z=B-O,G=R-D,U=S-R,j=O-w,H=1/(z*U+G*(w-O)),W=k>>1,X=this.clipOutput,Y=t.Utils.setArraySize(d,N+W*v),q=0;q<k;q+=2){var J=X[q],Z=X[q+1];Y[N]=J,Y[N+1]=Z,Y[N+2]=a.r,Y[N+3]=a.g,Y[N+4]=a.b,Y[N+5]=a.a;var K=J-R,Q=Z-O,$=(z*K+G*Q)*H,tt=(j*K+U*Q)*H,et=1-$-tt;Y[N+6]=E*$+I*tt+L*et,Y[N+7]=M*$+P*tt+F*et,l&&(Y[N+8]=o.r,Y[N+9]=o.g,Y[N+10]=o.b,Y[N+11]=o.a),N+=v}N=p.length;var it=t.Utils.setArraySize(p,N+3*(W-2));for(W--,q=1;q<W;q++)it[N]=g,it[N+1]=g+q,it[N+2]=g+q+1,N+=3;g+=W+1}}}},e.prototype.clip=function(t,e,i,n,r,s,a,o){var l=o,c=!1,h=null;a.length%4>=2?(h=o,o=this.scratch):h=this.scratch,h.length=0,h.push(t),h.push(e),h.push(i),h.push(n),h.push(r),h.push(s),h.push(t),h.push(e),o.length=0;for(var u=a,_=a.length-4,f=0;;f+=2){for(var d=u[f],p=u[f+1],m=u[f+2],y=u[f+3],v=d-m,g=p-y,b=h,A=h.length-2,x=o.length,C=0;C<A;C+=2){var T=b[C],S=b[C+1],w=b[C+2],E=b[C+3],M=v*(E-y)-g*(w-m)>0;if(v*(S-y)-g*(T-m)>0){if(M){o.push(w),o.push(E);continue}var D=(I=E-S)*(m-d)-(P=w-T)*(y-p);if(Math.abs(D)>1e-6){var B=(P*(p-S)-I*(d-T))/D;o.push(d+(m-d)*B),o.push(p+(y-p)*B)}else o.push(d),o.push(p)}else if(M){var I,P;D=(I=E-S)*(m-d)-(P=w-T)*(y-p),Math.abs(D)>1e-6?(B=(P*(p-S)-I*(d-T))/D,o.push(d+(m-d)*B),o.push(p+(y-p)*B)):(o.push(d),o.push(p)),o.push(w),o.push(E)}c=!0}if(x==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==_)break;var R=o;(o=h).length=0,h=R}if(l!=o){l.length=0,f=0;for(var O=o.length-2;f<O;f++)l[f]=o[f]}else l.length=l.length-2;return c},e.makeClockwise=function(t){for(var e=t,i=t.length,n=e[i-2]*e[1]-e[0]*e[i-1],r=0,s=0,a=0,o=0,l=i-3;o<l;o+=2)r=e[o],s=e[o+1],a=e[o+2],n+=r*e[o+3]-a*s;if(!(n<0)){o=0;var c=i-2;for(l=i>>1;o<l;o+=2){var h=e[o],u=e[o+1],_=c-o;e[o]=e[_],e[o+1]=e[_+1],e[_]=h,e[_+1]=u}}},e})();t.SkeletonClipping=e})(r||(r={})),(function(t){var e=(function(){function t(){this.bones=new Array,this.slots=new Array,this.skins=new Array,this.events=new Array,this.animations=new Array,this.ikConstraints=new Array,this.transformConstraints=new Array,this.pathConstraints=new Array,this.fps=0}return t.prototype.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++)if(e[i].name==t)return i;return-1},t.prototype.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++)if(e[i].name==t)return i;return-1},t.prototype.findSkin=function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findEvent=function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findAnimation=function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findPathConstraintIndex=function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,i=0,n=e.length;i<n;i++)if(e[i].name==t)return i;return-1},t})();t.SkeletonData=e})(r||(r={})),(function(t){var e=(function(){function e(t){this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=t}return e.prototype.readSkeletonData=function(i){var n=this.scale,r=new t.SkeletonData,s="string"==typeof i?JSON.parse(i):i,a=s.skeleton;if(null!=a&&(r.hash=a.hash,r.version=a.spine,r.x=a.x,r.y=a.y,r.width=a.width,r.height=a.height,r.fps=a.fps,r.imagesPath=a.images),s.bones)for(var o=0;o<s.bones.length;o++){var l=s.bones[o],c=null,h=this.getValue(l,"parent",null);if(null!=h&&null==(c=r.findBone(h)))throw new Error("Parent bone not found: "+h);(d=new t.BoneData(r.bones.length,l.name,c)).length=this.getValue(l,"length",0)*n,d.x=this.getValue(l,"x",0)*n,d.y=this.getValue(l,"y",0)*n,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")),d.skinRequired=this.getValue(l,"skin",!1),r.bones.push(d)}if(s.slots)for(o=0;o<s.slots.length;o++){var u=(D=s.slots[o]).name,_=D.bone,f=r.findBone(_);if(null==f)throw new Error("Slot bone not found: "+_);var d=new t.SlotData(r.slots.length,u,f),p=this.getValue(D,"color",null);null!=p&&d.color.setFromString(p);var m=this.getValue(D,"dark",null);null!=m&&(d.darkColor=new t.Color(1,1,1,1),d.darkColor.setFromString(m)),d.attachmentName=this.getValue(D,"attachment",null),d.blendMode=e.blendModeFromString(this.getValue(D,"blend","normal")),r.slots.push(d)}if(s.ik)for(o=0;o<s.ik.length;o++){var y=s.ik[o];(d=new t.IkConstraintData(y.name)).order=this.getValue(y,"order",0),d.skinRequired=this.getValue(y,"skin",!1);for(var v=0;v<y.bones.length;v++){if(_=y.bones[v],null==(w=r.findBone(_)))throw new Error("IK bone not found: "+_);d.bones.push(w)}var g=y.target;if(d.target=r.findBone(g),null==d.target)throw new Error("IK target bone not found: "+g);d.mix=this.getValue(y,"mix",1),d.softness=this.getValue(y,"softness",0)*n,d.bendDirection=this.getValue(y,"bendPositive",!0)?1:-1,d.compress=this.getValue(y,"compress",!1),d.stretch=this.getValue(y,"stretch",!1),d.uniform=this.getValue(y,"uniform",!1),r.ikConstraints.push(d)}if(s.transform)for(o=0;o<s.transform.length;o++){for(y=s.transform[o],(d=new t.TransformConstraintData(y.name)).order=this.getValue(y,"order",0),d.skinRequired=this.getValue(y,"skin",!1),v=0;v<y.bones.length;v++){if(_=y.bones[v],null==(w=r.findBone(_)))throw new Error("Transform constraint bone not found: "+_);d.bones.push(w)}if(g=y.target,d.target=r.findBone(g),null==d.target)throw new Error("Transform constraint target bone not found: "+g);d.local=this.getValue(y,"local",!1),d.relative=this.getValue(y,"relative",!1),d.offsetRotation=this.getValue(y,"rotation",0),d.offsetX=this.getValue(y,"x",0)*n,d.offsetY=this.getValue(y,"y",0)*n,d.offsetScaleX=this.getValue(y,"scaleX",0),d.offsetScaleY=this.getValue(y,"scaleY",0),d.offsetShearY=this.getValue(y,"shearY",0),d.rotateMix=this.getValue(y,"rotateMix",1),d.translateMix=this.getValue(y,"translateMix",1),d.scaleMix=this.getValue(y,"scaleMix",1),d.shearMix=this.getValue(y,"shearMix",1),r.transformConstraints.push(d)}if(s.path)for(o=0;o<s.path.length;o++){for(y=s.path[o],(d=new t.PathConstraintData(y.name)).order=this.getValue(y,"order",0),d.skinRequired=this.getValue(y,"skin",!1),v=0;v<y.bones.length;v++){if(_=y.bones[v],null==(w=r.findBone(_)))throw new Error("Transform constraint bone not found: "+_);d.bones.push(w)}if(g=y.target,d.target=r.findSlot(g),null==d.target)throw new Error("Path target slot not found: "+g);d.positionMode=e.positionModeFromString(this.getValue(y,"positionMode","percent")),d.spacingMode=e.spacingModeFromString(this.getValue(y,"spacingMode","length")),d.rotateMode=e.rotateModeFromString(this.getValue(y,"rotateMode","tangent")),d.offsetRotation=this.getValue(y,"rotation",0),d.position=this.getValue(y,"position",0),d.positionMode==t.PositionMode.Fixed&&(d.position*=n),d.spacing=this.getValue(y,"spacing",0),d.spacingMode!=t.SpacingMode.Length&&d.spacingMode!=t.SpacingMode.Fixed||(d.spacing*=n),d.rotateMix=this.getValue(y,"rotateMix",1),d.translateMix=this.getValue(y,"translateMix",1),r.pathConstraints.push(d)}if(s.skins){var b=s.skins;if(!(b instanceof Array)){var A=[];for(var x in b)A.push({name:x,attachments:b[x]});b=A}for(o=0;o<b.length;o++){var C=b[o],T=new t.Skin(C.name);if(C.bones)for(var S=0;S<C.bones.length;S++){var w;if(null==(w=r.findBone(C.bones[S])))throw new Error("Skin bone not found: "+C.bones[o]);T.bones.push(w)}if(C.ik)for(S=0;S<C.ik.length;S++){if(null==(E=r.findIkConstraint(C.ik[S])))throw new Error("Skin IK constraint not found: "+C.ik[o]);T.constraints.push(E)}if(C.transform)for(S=0;S<C.transform.length;S++){if(null==(E=r.findTransformConstraint(C.transform[S])))throw new Error("Skin transform constraint not found: "+C.transform[o]);T.constraints.push(E)}if(C.path)for(S=0;S<C.path.length;S++){var E;if(null==(E=r.findPathConstraint(C.path[S])))throw new Error("Skin path constraint not found: "+C.path[o]);T.constraints.push(E)}for(var u in C.attachments){var M=r.findSlot(u);if(null==M)throw new Error("Slot not found: "+u);var D=C.attachments[u];for(var B in D){var I=this.readAttachment(D[B],T,M.index,B,r);null!=I&&T.setAttachment(M.index,B,I)}}r.skins.push(T),"default"==T.name&&(r.defaultSkin=T)}}o=0;for(var P=this.linkedMeshes.length;o<P;o++){var R=this.linkedMeshes[o];if(null==(T=null==R.skin?r.defaultSkin:r.findSkin(R.skin)))throw new Error("Skin not found: "+R.skin);var O=T.getAttachment(R.slotIndex,R.parent);if(null==O)throw new Error("Parent mesh not found: "+R.parent);R.mesh.deformAttachment=R.inheritDeform?O:R.mesh,R.mesh.setParentMesh(O),R.mesh.updateUVs()}if(this.linkedMeshes.length=0,s.events)for(var L in s.events){var F=s.events[L];(d=new t.EventData(L)).intValue=this.getValue(F,"int",0),d.floatValue=this.getValue(F,"float",0),d.stringValue=this.getValue(F,"string",""),d.audioPath=this.getValue(F,"audio",null),null!=d.audioPath&&(d.volume=this.getValue(F,"volume",1),d.balance=this.getValue(F,"balance",0)),r.events.push(d)}if(s.animations)for(var V in s.animations){var N=s.animations[V];this.readAnimation(N,V,r)}return r},e.prototype.readAttachment=function(e,n,r,s,a){var o=this.scale;switch(s=this.getValue(e,"name",s),this.getValue(e,"type","region")){case"region":var l=this.getValue(e,"path",s),c=this.attachmentLoader.newRegionAttachment(n,s,l);return null==c?null:(c.path=l,c.x=this.getValue(e,"x",0)*o,c.y=this.getValue(e,"y",0)*o,c.scaleX=this.getValue(e,"scaleX",1),c.scaleY=this.getValue(e,"scaleY",1),c.rotation=this.getValue(e,"rotation",0),c.width=e.width*o,c.height=e.height*o,null!=(g=this.getValue(e,"color",null))&&c.color.setFromString(g),c.updateOffset(),c);case"boundingbox":var h=this.attachmentLoader.newBoundingBoxAttachment(n,s);return null==h?null:(this.readVertices(e,h,e.vertexCount<<1),null!=(g=this.getValue(e,"color",null))&&h.color.setFromString(g),h);case"mesh":case"linkedmesh":l=this.getValue(e,"path",s);var u=this.attachmentLoader.newMeshAttachment(n,s,l);if(null==u)return null;u.path=l,null!=(g=this.getValue(e,"color",null))&&u.color.setFromString(g),u.width=this.getValue(e,"width",0)*o,u.height=this.getValue(e,"height",0)*o;var _=this.getValue(e,"parent",null);if(null!=_)return this.linkedMeshes.push(new i(u,this.getValue(e,"skin",null),r,_,this.getValue(e,"deform",!0))),u;var f=e.uvs;return this.readVertices(e,u,f.length),u.triangles=e.triangles,u.regionUVs=f,u.updateUVs(),u.edges=this.getValue(e,"edges",null),u.hullLength=2*this.getValue(e,"hull",0),u;case"path":if(null==(l=this.attachmentLoader.newPathAttachment(n,s)))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 p=t.Utils.newArray(d/3,0),m=0;m<e.lengths.length;m++)p[m]=e.lengths[m]*o;return l.lengths=p,null!=(g=this.getValue(e,"color",null))&&l.color.setFromString(g),l;case"point":var y=this.attachmentLoader.newPointAttachment(n,s);return null==y?null:(y.x=this.getValue(e,"x",0)*o,y.y=this.getValue(e,"y",0)*o,y.rotation=this.getValue(e,"rotation",0),null!=(g=this.getValue(e,"color",null))&&y.color.setFromString(g),y);case"clipping":var v=this.attachmentLoader.newClippingAttachment(n,s);if(null==v)return null;var g,b=this.getValue(e,"end",null);if(null!=b){var A=a.findSlot(b);if(null==A)throw new Error("Clipping end slot not found: "+b);v.endSlot=A}return d=e.vertexCount,this.readVertices(e,v,d<<1),null!=(g=this.getValue(e,"color",null))&&v.color.setFromString(g),v}return null},e.prototype.readVertices=function(e,i,n){var r=this.scale;i.worldVerticesLength=n;var s=e.vertices;if(n!=s.length){var a=new Array,o=new Array;for(u=0,_=s.length;u<_;){var l=s[u++];o.push(l);for(var c=u+4*l;u<c;u+=4)o.push(s[u]),a.push(s[u+1]*r),a.push(s[u+2]*r),a.push(s[u+3])}i.bones=o,i.vertices=t.Utils.toFloatArray(a)}else{var h=t.Utils.toFloatArray(s);if(1!=r)for(var u=0,_=s.length;u<_;u++)h[u]*=r;i.vertices=h}},e.prototype.readAnimation=function(e,i,n){var r=this.scale,s=new Array,a=0;if(e.slots)for(var o in e.slots){var l=e.slots[o];if(-1==(K=n.findSlotIndex(o)))throw new Error("Slot not found: "+o);for(var c in l){var h=l[c];if("attachment"==c){(b=new t.AttachmentTimeline(h.length)).slotIndex=K;for(var u=0,_=0;_<h.length;_++){var f=h[_];b.setFrame(u++,this.getValue(f,"time",0),f.name)}s.push(b),a=Math.max(a,b.frames[b.getFrameCount()-1])}else if("color"==c){for((b=new t.ColorTimeline(h.length)).slotIndex=K,u=0,_=0;_<h.length;_++){f=h[_];var d=new t.Color;d.setFromString(f.color),b.setFrame(u,this.getValue(f,"time",0),d.r,d.g,d.b,d.a),this.readCurve(f,b,u),u++}s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.ColorTimeline.ENTRIES])}else{if("twoColor"!=c)throw new Error("Invalid timeline type for a slot: "+c+" ("+o+")");for((b=new t.TwoColorTimeline(h.length)).slotIndex=K,u=0,_=0;_<h.length;_++){f=h[_];var p=new t.Color,m=new t.Color;p.setFromString(f.light),m.setFromString(f.dark),b.setFrame(u,this.getValue(f,"time",0),p.r,p.g,p.b,p.a,m.r,m.g,m.b),this.readCurve(f,b,u),u++}s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.TwoColorTimeline.ENTRIES])}}}if(e.bones)for(var y in e.bones){var v=e.bones[y],g=n.findBoneIndex(y);if(-1==g)throw new Error("Bone not found: "+y);for(var c in v)if(h=v[c],"rotate"===c){for((b=new t.RotateTimeline(h.length)).boneIndex=g,u=0,_=0;_<h.length;_++)f=h[_],b.setFrame(u,this.getValue(f,"time",0),this.getValue(f,"angle",0)),this.readCurve(f,b,u),u++;s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.RotateTimeline.ENTRIES])}else{if("translate"!==c&&"scale"!==c&&"shear"!==c)throw new Error("Invalid timeline type for a bone: "+c+" ("+y+")");var b=null,A=1,x=0;for("scale"===c?(b=new t.ScaleTimeline(h.length),x=1):"shear"===c?b=new t.ShearTimeline(h.length):(b=new t.TranslateTimeline(h.length),A=r),b.boneIndex=g,u=0,_=0;_<h.length;_++){f=h[_];var C=this.getValue(f,"x",x),T=this.getValue(f,"y",x);b.setFrame(u,this.getValue(f,"time",0),C*A,T*A),this.readCurve(f,b,u),u++}s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.TranslateTimeline.ENTRIES])}}if(e.ik)for(var S in e.ik){var w=e.ik[S],E=n.findIkConstraint(S);for((b=new t.IkConstraintTimeline(w.length)).ikConstraintIndex=n.ikConstraints.indexOf(E),u=0,_=0;_<w.length;_++)f=w[_],b.setFrame(u,this.getValue(f,"time",0),this.getValue(f,"mix",1),this.getValue(f,"softness",0)*r,this.getValue(f,"bendPositive",!0)?1:-1,this.getValue(f,"compress",!1),this.getValue(f,"stretch",!1)),this.readCurve(f,b,u),u++;s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.IkConstraintTimeline.ENTRIES])}if(e.transform)for(var S in e.transform){for(w=e.transform[S],E=n.findTransformConstraint(S),(b=new t.TransformConstraintTimeline(w.length)).transformConstraintIndex=n.transformConstraints.indexOf(E),u=0,_=0;_<w.length;_++)f=w[_],b.setFrame(u,this.getValue(f,"time",0),this.getValue(f,"rotateMix",1),this.getValue(f,"translateMix",1),this.getValue(f,"scaleMix",1),this.getValue(f,"shearMix",1)),this.readCurve(f,b,u),u++;s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.TransformConstraintTimeline.ENTRIES])}var M=e.path||e.paths;if(M)for(var S in M){w=M[S];var D=n.findPathConstraintIndex(S);if(-1==D)throw new Error("Path constraint not found: "+S);var B=n.pathConstraints[D];for(var c in w)if(h=w[c],"position"===c||"spacing"===c){for(b=null,A=1,"spacing"===c?(b=new t.PathConstraintSpacingTimeline(h.length),B.spacingMode!=t.SpacingMode.Length&&B.spacingMode!=t.SpacingMode.Fixed||(A=r)):(b=new t.PathConstraintPositionTimeline(h.length),B.positionMode==t.PositionMode.Fixed&&(A=r)),b.pathConstraintIndex=D,u=0,_=0;_<h.length;_++)f=h[_],b.setFrame(u,this.getValue(f,"time",0),this.getValue(f,c,0)*A),this.readCurve(f,b,u),u++;s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.PathConstraintPositionTimeline.ENTRIES])}else if("mix"===c){for((b=new t.PathConstraintMixTimeline(h.length)).pathConstraintIndex=D,u=0,_=0;_<h.length;_++)f=h[_],b.setFrame(u,this.getValue(f,"time",0),this.getValue(f,"rotateMix",1),this.getValue(f,"translateMix",1)),this.readCurve(f,b,u),u++;s.push(b),a=Math.max(a,b.frames[(b.getFrameCount()-1)*t.PathConstraintMixTimeline.ENTRIES])}}if(e.deform)for(var I in e.deform){var P=e.deform[I],R=n.findSkin(I);if(null==R)throw new Error("Skin not found: "+I);for(var o in P){if(l=P[o],-1==(K=n.findSlotIndex(o)))throw new Error("Slot not found: "+l.name);for(var c in l){h=l[c];var O=R.getAttachment(K,c);if(null!=O){var L=null!=O.bones,F=O.vertices,V=L?F.length/3*2:F.length;(b=new t.DeformTimeline(h.length)).slotIndex=K,b.attachment=O,u=0;for(var N=0;N<h.length;N++){f=h[N];var k=void 0,z=this.getValue(f,"vertices",null);if(null==z)k=L?t.Utils.newFloatArray(V):F;else{k=t.Utils.newFloatArray(V);var G=this.getValue(f,"offset",0);if(t.Utils.arrayCopy(z,0,k,G,z.length),1!=r)for(var U=(_=G)+z.length;_<U;_++)k[_]*=r;if(!L)for(_=0;_<V;_++)k[_]+=F[_]}b.setFrame(u,this.getValue(f,"time",0),k),this.readCurve(f,b,u),u++}s.push(b),a=Math.max(a,b.frames[b.getFrameCount()-1])}}}}var j=e.drawOrder;if(null==j&&(j=e.draworder),null!=j){b=new t.DrawOrderTimeline(j.length);var H=n.slots.length;for(u=0,N=0;N<j.length;N++){var W=j[N],X=null,Y=this.getValue(W,"offsets",null);if(null!=Y){X=t.Utils.newArray(H,-1);var q=t.Utils.newArray(H-Y.length,0),J=0,Z=0;for(_=0;_<Y.length;_++){var K,Q=Y[_];if(-1==(K=n.findSlotIndex(Q.slot)))throw new Error("Slot not found: "+Q.slot);for(;J!=K;)q[Z++]=J++;X[J+Q.offset]=J++}for(;J<H;)q[Z++]=J++;for(_=H-1;_>=0;_--)-1==X[_]&&(X[_]=q[--Z])}b.setFrame(u++,this.getValue(W,"time",0),X)}s.push(b),a=Math.max(a,b.frames[b.getFrameCount()-1])}if(e.events){for(b=new t.EventTimeline(e.events.length),u=0,_=0;_<e.events.length;_++){var $=e.events[_],tt=n.findEvent($.name);if(null==tt)throw new Error("Event not found: "+$.name);var et=new t.Event(t.Utils.toSinglePrecision(this.getValue($,"time",0)),tt);et.intValue=this.getValue($,"int",tt.intValue),et.floatValue=this.getValue($,"float",tt.floatValue),et.stringValue=this.getValue($,"string",tt.stringValue),null!=et.data.audioPath&&(et.volume=this.getValue($,"volume",1),et.balance=this.getValue($,"balance",0)),b.setFrame(u++,et)}s.push(b),a=Math.max(a,b.frames[b.getFrameCount()-1])}if(isNaN(a))throw new Error("Error while parsing animation, duration is NaN");n.animations.push(new t.Animation(i,s,a))},e.prototype.readCurve=function(t,e,i){var n=t.curve;n&&("stepped"==n?e.setStepped(i):"[object Array]"===Object.prototype.toString.call(n)?e.setCurve(i,n[0],n[1],n[2],n[3]):e.setCurve(i,n,this.getValue(t,"c2",0),this.getValue(t,"c3",1),this.getValue(t,"c4",1)))},e.prototype.getValue=function(t,e,i){return void 0!==t[e]?t[e]:i},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 i=function(t,e,i,n,r){this.mesh=t,this.skin=e,this.slotIndex=i,this.parent=n,this.inheritDeform=r}})(r||(r={})),(function(t){var e=function(t,e,i){this.slotIndex=t,this.name=e,this.attachment=i};t.SkinEntry=e;var i=(function(){function i(t){if(this.attachments=new Array,this.bones=Array(),this.constraints=new Array,null==t)throw new Error("name cannot be null.");this.name=t}return i.prototype.setAttachment=function(t,e,i){if(null==i)throw new Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=i},i.prototype.addSkin=function(t){for(var e=0;e<t.bones.length;e++){for(var i=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==i){n=!0;break}n||this.bones.push(i)}for(e=0;e<t.constraints.length;e++){var s=t.constraints[e];for(n=!1,r=0;r<this.constraints.length;r++)if(this.constraints[r]==s){n=!0;break}n||this.constraints.push(s)}var a=t.getAttachments();for(e=0;e<a.length;e++){var o=a[e];this.setAttachment(o.slotIndex,o.name,o.attachment)}},i.prototype.copySkin=function(e){for(var i=0;i<e.bones.length;i++){for(var n=e.bones[i],r=!1,s=0;s<this.bones.length;s++)if(this.bones[s]==n){r=!0;break}r||this.bones.push(n)}for(i=0;i<e.constraints.length;i++){var a=e.constraints[i];for(r=!1,s=0;s<this.constraints.length;s++)if(this.constraints[s]==a){r=!0;break}r||this.constraints.push(a)}var o=e.getAttachments();for(i=0;i<o.length;i++){var l=o[i];null!=l.attachment&&(l.attachment instanceof t.MeshAttachment?(l.attachment=l.attachment.newLinkedMesh(),this.setAttachment(l.slotIndex,l.name,l.attachment)):(l.attachment=l.attachment.copy(),this.setAttachment(l.slotIndex,l.name,l.attachment)))}},i.prototype.getAttachment=function(t,e){var i=this.attachments[t];return i?i[e]:null},i.prototype.removeAttachment=function(t,e){var i=this.attachments[t];i&&(i[e]=null)},i.prototype.getAttachments=function(){for(var t=new Array,i=0;i<this.attachments.length;i++){var n=this.attachments[i];if(n)for(var r in n){var s=n[r];s&&t.push(new e(i,r,s))}}return t},i.prototype.getAttachmentsForSlot=function(t,i){var n=this.attachments[t];if(n)for(var r in n){var s=n[r];s&&i.push(new e(t,r,s))}},i.prototype.clear=function(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0},i.prototype.attachAll=function(t,e){for(var i=0,n=0;n<t.slots.length;n++){var r=t.slots[n],s=r.getAttachment();if(s&&i<e.attachments.length){var a=e.attachments[i];for(var o in a)if(s==a[o]){var l=this.getAttachment(i,o);null!=l&&r.setAttachment(l);break}}i++}},i})();t.Skin=i})(r||(r={})),(function(t){var e=(function(){function e(e,i){if(this.deform=new Array,null==e)throw new Error("data cannot be null.");if(null==i)throw new Error("bone cannot be null.");this.data=e,this.bone=i,this.color=new t.Color,this.darkColor=null==e.darkColor?null:new t.Color,this.setToSetupPose()}return e.prototype.getSkeleton=function(){return this.bone.skeleton},e.prototype.getAttachment=function(){return this.attachment},e.prototype.setAttachment=function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.deform.length=0)},e.prototype.setAttachmentTime=function(t){this.attachmentTime=this.bone.skeleton.time-t},e.prototype.getAttachmentTime=function(){return this.bone.skeleton.time-this.attachmentTime},e.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)))},e})();t.Slot=e})(r||(r={})),(function(t){t.SlotData=function(e,i,n){if(this.color=new t.Color(1,1,1,1),e<0)throw new Error("index must be >= 0.");if(null==i)throw new Error("name cannot be null.");if(null==n)throw new Error("boneData cannot be null.");this.index=e,this.name=i,this.boneData=n}})(r||(r={})),(function(t){var e,i,n=(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 i.MirroredRepeat;case"clamptoedge":return i.ClampToEdge;case"repeat":return i.Repeat;default:throw new Error("Unknown texture wrap "+t)}},t})();t.Texture=n,(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"})(i=t.TextureWrap||(t.TextureWrap={}));t.TextureRegion=function(){this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0};var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.setFilters=function(){},e.prototype.setWraps=function(){},e.prototype.dispose=function(){},e})(n);t.FakeTexture=r})(r||(r={})),(function(t){var e=(function(){function e(t,e){this.pages=new Array,this.regions=new Array,this.load(t,e)}return e.prototype.load=function(e,s){if(null==s)throw new Error("textureLoader cannot be null.");for(var a=new i(e),o=new Array(4),l=null;;){var c=a.readLine();if(null==c)break;if(0==(c=c.trim()).length)l=null;else if(l){var h=new r;h.name=c,h.page=l;var u=a.readValue();"true"==u.toLocaleLowerCase()?h.degrees=90:"false"==u.toLocaleLowerCase()?h.degrees=0:h.degrees=parseFloat(u),h.rotate=90==h.degrees,a.readTuple(o);var _=parseInt(o[0]),f=parseInt(o[1]);a.readTuple(o);var d=parseInt(o[0]),p=parseInt(o[1]);h.u=_/l.width,h.v=f/l.height,h.rotate?(h.u2=(_+p)/l.width,h.v2=(f+d)/l.height):(h.u2=(_+d)/l.width,h.v2=(f+p)/l.height),h.x=_,h.y=f,h.width=Math.abs(d),h.height=Math.abs(p),4==a.readTuple(o)&&4==a.readTuple(o)&&a.readTuple(o),h.originalWidth=parseInt(o[0]),h.originalHeight=parseInt(o[1]),a.readTuple(o),h.offsetX=parseInt(o[0]),h.offsetY=parseInt(o[1]),h.index=parseInt(a.readValue()),h.texture=l.texture,this.regions.push(h)}else{(l=new n).name=c,2==a.readTuple(o)&&(l.width=parseInt(o[0]),l.height=parseInt(o[1]),a.readTuple(o)),a.readTuple(o),l.minFilter=t.Texture.filterFromString(o[0]),l.magFilter=t.Texture.filterFromString(o[1]);var m=a.readValue();l.uWrap=t.TextureWrap.ClampToEdge,l.vWrap=t.TextureWrap.ClampToEdge,"x"==m?l.uWrap=t.TextureWrap.Repeat:"y"==m?l.vWrap=t.TextureWrap.Repeat:"xy"==m&&(l.uWrap=l.vWrap=t.TextureWrap.Repeat),l.texture=s(c),l.texture.setFilters(l.minFilter,l.magFilter),l.texture.setWraps(l.uWrap,l.vWrap),l.width=l.texture.getImage().width,l.height=l.texture.getImage().height,this.pages.push(l)}}},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].texture.dispose()},e})();t.TextureAtlas=e;var i=(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(),i=e.indexOf(":");if(-1==i)throw new Error("Invalid line: "+e);for(var n=0,r=i+1;n<3;n++){var s=e.indexOf(",",r);if(-1==s)break;t[n]=e.substr(r,s-r).trim(),r=s+1}return t[n]=e.substring(r).trim(),n+1},t})(),n=function(){};t.TextureAtlasPage=n;var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e})(t.TextureRegion);t.TextureAtlasRegion=r})(r||(r={})),(function(t){var e=(function(){function e(e,i){if(this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new t.Vector2,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==i)throw new Error("skeleton cannot be null.");this.data=e,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix,this.scaleMix=e.scaleMix,this.shearMix=e.shearMix,this.bones=new Array;for(var n=0;n<e.bones.length;n++)this.bones.push(i.findBone(e.bones[n].name));this.target=i.findBone(e.target.name)}return e.prototype.isActive=function(){return this.active},e.prototype.apply=function(){this.update()},e.prototype.update=function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()},e.prototype.applyAbsoluteWorld=function(){for(var e=this.rotateMix,i=this.translateMix,n=this.scaleMix,r=this.shearMix,s=this.target,a=s.a,o=s.b,l=s.c,c=s.d,h=a*c-o*l>0?t.MathUtils.degRad:-t.MathUtils.degRad,u=this.data.offsetRotation*h,_=this.data.offsetShearY*h,f=this.bones,d=0,p=f.length;d<p;d++){var m=f[d],y=!1;if(0!=e){var v=m.a,g=m.b,b=m.c,A=m.d;(E=Math.atan2(l,a)-Math.atan2(b,v)+u)>t.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E*=e;var x=Math.cos(E),C=Math.sin(E);m.a=x*v-C*b,m.b=x*g-C*A,m.c=C*v+x*b,m.d=C*g+x*A,y=!0}if(0!=i){var T=this.temp;s.localToWorld(T.set(this.data.offsetX,this.data.offsetY)),m.worldX+=(T.x-m.worldX)*i,m.worldY+=(T.y-m.worldY)*i,y=!0}if(n>0){var S=Math.sqrt(m.a*m.a+m.c*m.c),w=Math.sqrt(a*a+l*l);S>1e-5&&(S=(S+(w-S+this.data.offsetScaleX)*n)/S),m.a*=S,m.c*=S,S=Math.sqrt(m.b*m.b+m.d*m.d),w=Math.sqrt(o*o+c*c),S>1e-5&&(S=(S+(w-S+this.data.offsetScaleY)*n)/S),m.b*=S,m.d*=S,y=!0}if(r>0){g=m.b,A=m.d;var E,M=Math.atan2(A,g);(E=Math.atan2(c,o)-Math.atan2(l,a)-(M-Math.atan2(m.c,m.a)))>t.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E=M+(E+_)*r,S=Math.sqrt(g*g+A*A),m.b=Math.cos(E)*S,m.d=Math.sin(E)*S,y=!0}y&&(m.appliedValid=!1)}},e.prototype.applyRelativeWorld=function(){for(var e=this.rotateMix,i=this.translateMix,n=this.scaleMix,r=this.shearMix,s=this.target,a=s.a,o=s.b,l=s.c,c=s.d,h=a*c-o*l>0?t.MathUtils.degRad:-t.MathUtils.degRad,u=this.data.offsetRotation*h,_=this.data.offsetShearY*h,f=this.bones,d=0,p=f.length;d<p;d++){var m,y=f[d],v=!1;if(0!=e){var g=y.a,b=y.b,A=y.c,x=y.d;(m=Math.atan2(l,a)+u)>t.MathUtils.PI?m-=t.MathUtils.PI2:m<-t.MathUtils.PI&&(m+=t.MathUtils.PI2),m*=e;var C=Math.cos(m),T=Math.sin(m);y.a=C*g-T*A,y.b=C*b-T*x,y.c=T*g+C*A,y.d=T*b+C*x,v=!0}if(0!=i){var S=this.temp;s.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),y.worldX+=S.x*i,y.worldY+=S.y*i,v=!0}if(n>0){var w=(Math.sqrt(a*a+l*l)-1+this.data.offsetScaleX)*n+1;y.a*=w,y.c*=w,w=(Math.sqrt(o*o+c*c)-1+this.data.offsetScaleY)*n+1,y.b*=w,y.d*=w,v=!0}if(r>0)(m=Math.atan2(c,o)-Math.atan2(l,a))>t.MathUtils.PI?m-=t.MathUtils.PI2:m<-t.MathUtils.PI&&(m+=t.MathUtils.PI2),b=y.b,x=y.d,m=Math.atan2(x,b)+(m-t.MathUtils.PI/2+_)*r,w=Math.sqrt(b*b+x*x),y.b=Math.cos(m)*w,y.d=Math.sin(m)*w,v=!0;v&&(y.appliedValid=!1)}},e.prototype.applyAbsoluteLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a<o;a++){var l=s[a];l.appliedValid||l.updateAppliedTransform();var c=l.arotation;if(0!=t){var h=r.arotation-c+this.data.offsetRotation;c+=(h-=360*(16384-(16384.499999999996-h/360|0)))*t}var u=l.ax,_=l.ay;0!=e&&(u+=(r.ax-u+this.data.offsetX)*e,_+=(r.ay-_+this.data.offsetY)*e);var f=l.ascaleX,d=l.ascaleY;0!=i&&(f>1e-5&&(f=(f+(r.ascaleX-f+this.data.offsetScaleX)*i)/f),d>1e-5&&(d=(d+(r.ascaleY-d+this.data.offsetScaleY)*i)/d));var p=l.ashearY;0!=n&&(h=r.ashearY-p+this.data.offsetShearY,h-=360*(16384-(16384.499999999996-h/360|0)),l.shearY+=h*n),l.updateWorldTransformWith(u,_,c,f,d,l.ashearX,p)}},e.prototype.applyRelativeLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a<o;a++){var l=s[a];l.appliedValid||l.updateAppliedTransform();var c=l.arotation;0!=t&&(c+=(r.arotation+this.data.offsetRotation)*t);var h=l.ax,u=l.ay;0!=e&&(h+=(r.ax+this.data.offsetX)*e,u+=(r.ay+this.data.offsetY)*e);var _=l.ascaleX,f=l.ascaleY;0!=i&&(_>1e-5&&(_*=(r.ascaleX-1+this.data.offsetScaleX)*i+1),f>1e-5&&(f*=(r.ascaleY-1+this.data.offsetScaleY)*i+1));var d=l.ashearY;0!=n&&(d+=(r.ashearY+this.data.offsetShearY)*n),l.updateWorldTransformWith(h,u,c,_,f,l.ashearX,d)}},e})();t.TransformConstraint=e})(r||(r={})),(function(t){var e=(function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i.rotateMix=0,i.translateMix=0,i.scaleMix=0,i.shearMix=0,i.offsetRotation=0,i.offsetX=0,i.offsetY=0,i.offsetScaleX=0,i.offsetScaleY=0,i.offsetShearY=0,i.relative=!1,i.local=!1,i}return s(e,t),e})(t.ConstraintData);t.TransformConstraintData=e})(r||(r={})),(function(t){var e=(function(){function e(){this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new t.Pool(function(){return new Array}),this.polygonIndicesPool=new t.Pool(function(){return new Array})}return e.prototype.triangulate=function(t){var i=t,n=t.length>>1,r=this.indicesArray;r.length=0;for(var s=0;s<n;s++)r[s]=s;var a=this.isConcaveArray;a.length=0,s=0;for(var o=n;s<o;++s)a[s]=e.isConcave(s,n,i,r);var l=this.triangles;for(l.length=0;n>3;){for(var c=n-1,h=(s=0,1);;){t:if(!a[s]){for(var u=r[c]<<1,_=r[s]<<1,f=r[h]<<1,d=i[u],p=i[u+1],m=i[_],y=i[_+1],v=i[f],g=i[f+1],b=(h+1)%n;b!=c;b=(b+1)%n)if(a[b]){var A=r[b]<<1,x=i[A],C=i[A+1];if(e.positiveArea(v,g,d,p,x,C)&&e.positiveArea(d,p,m,y,x,C)&&e.positiveArea(m,y,v,g,x,C))break t}break}if(0==h){do{if(!a[s])break;s--}while(s>0);break}c=s,s=h,h=(h+1)%n}l.push(r[(n+s-1)%n]),l.push(r[s]),l.push(r[(s+1)%n]),r.splice(s,1),a.splice(s,1);var T=(--n+s-1)%n,S=s==n?0:s;a[T]=e.isConcave(T,n,i,r),a[S]=e.isConcave(S,n,i,r)}return 3==n&&(l.push(r[2]),l.push(r[0]),l.push(r[1])),l},e.prototype.decompose=function(t,i){var n=t,r=this.convexPolygons;this.polygonPool.freeAll(r),r.length=0;var s=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(s),s.length=0;var a=this.polygonIndicesPool.obtain();a.length=0;var o=this.polygonPool.obtain();o.length=0;for(var l=-1,c=0,h=0,u=i.length;h<u;h+=3){var _=i[h]<<1,f=i[h+1]<<1,d=i[h+2]<<1,p=n[_],m=n[_+1],y=n[f],v=n[f+1],g=n[d],b=n[d+1],A=!1;if(l==_){var x=o.length-4,C=e.winding(o[x],o[x+1],o[x+2],o[x+3],g,b),T=e.winding(g,b,o[0],o[1],o[2],o[3]);C==c&&T==c&&(o.push(g),o.push(b),a.push(d),A=!0)}A||(o.length>0?(r.push(o),s.push(a)):(this.polygonPool.free(o),this.polygonIndicesPool.free(a)),(o=this.polygonPool.obtain()).length=0,o.push(p),o.push(m),o.push(y),o.push(v),o.push(g),o.push(b),(a=this.polygonIndicesPool.obtain()).length=0,a.push(_),a.push(f),a.push(d),c=e.winding(p,m,y,v,g,b),l=_)}for(o.length>0&&(r.push(o),s.push(a)),h=0,u=r.length;h<u;h++)if(0!=(a=s[h]).length)for(var S=a[0],w=a[a.length-1],E=(o=r[h])[x=o.length-4],M=o[x+1],D=o[x+2],B=o[x+3],I=o[0],P=o[1],R=o[2],O=o[3],L=e.winding(E,M,D,B,I,P),F=0;F<u;F++)if(F!=h){var V=s[F];if(3==V.length){var N=V[0],k=V[1],z=V[2],G=r[F];g=G[G.length-2],b=G[G.length-1],N==S&&k==w&&(C=e.winding(E,M,D,B,g,b),T=e.winding(g,b,I,P,R,O),C==L&&T==L&&(G.length=0,V.length=0,o.push(g),o.push(b),a.push(z),E=D,M=B,D=g,B=b,F=0))}}for(h=r.length-1;h>=0;h--)0==(o=r[h]).length&&(r.splice(h,1),this.polygonPool.free(o),a=s[h],s.splice(h,1),this.polygonIndicesPool.free(a));return r},e.isConcave=function(t,e,i,n){var r=n[(e+t-1)%e]<<1,s=n[t]<<1,a=n[(t+1)%e]<<1;return!this.positiveArea(i[r],i[r+1],i[s],i[s+1],i[a],i[a+1])},e.positiveArea=function(t,e,i,n,r,s){return t*(s-n)+i*(e-s)+r*(n-e)>=0},e.winding=function(t,e,i,n,r,s){var a=i-t,o=n-e;return r*o-s*a+a*e-t*o>=0?1:-1},e})();t.Triangulator=e})(r||(r={})),(function(t){var e=(function(){function t(){this.array=new 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 i=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.set=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,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,i,n){return this.r+=t,this.g+=e,this.b+=i,this.a+=n,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.rgba8888ToColor=function(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},t.rgb888ToColor=function(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255},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=i;var n=(function(){function t(){}return t.clamp=function(t,e,i){return t<e?e:t>i?i: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,i){return t.randomTriangularWith(e,i,.5*(e+i))},t.randomTriangularWith=function(t,e,i){var n=Math.random(),r=e-t;return n<=(i-t)/r?t+Math.sqrt(n*r*(i-t)):e-Math.sqrt((1-n)*r*(e-i))},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=n;var r=(function(){function t(){}return t.prototype.apply=function(t,e,i){return t+(e-t)*this.applyInternal(i)},t})();t.Interpolation=r;var a=(function(t){function e(e){var i=t.call(this)||this;return i.power=2,i.power=e,i}return s(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})(r);t.Pow=a;var o=(function(t){function e(e){return t.call(this,e)||this}return s(e,t),e.prototype.applyInternal=function(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1},e})(a);t.PowOut=o;var l=(function(){function t(){}return t.arrayCopy=function(t,e,i,n,r){for(var s=e,a=n;s<e+r;s++,a++)i[a]=t[s]},t.setArraySize=function(t,e,i){void 0===i&&(i=0);var n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var r=n;r<e;r++)t[r]=i;return t},t.ensureArrayCapacity=function(e,i,n){return void 0===n&&(n=0),e.length>=i?e:t.setArraySize(e,i,n)},t.newArray=function(t,e){for(var i=new Array(t),n=0;n<t;n++)i[n]=e;return i},t.newFloatArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var i=new Array(e),n=0;n<i.length;n++)i[n]=0;return i},t.newShortArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var i=new Array(e),n=0;n<i.length;n++)i[n]=0;return i},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.contains=function(t,e,i){void 0===i&&(i=!0);for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1},t.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array,t})();t.Utils=l;var c=(function(){function t(){}return t.logBones=function(t){for(var e=0;e<t.bones.length;e++){var i=t.bones[e];console.log(i.data.name+", "+i.a+", "+i.b+", "+i.c+", "+i.d+", "+i.worldX+", "+i.worldY)}},t})();t.DebugUtils=c;var h=(function(){function t(t){this.items=new Array,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 _=(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=_;var f=(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=f})(r||(r={})),Math.fround||(Math.fround=(n=new Float32Array(1),function(t){return n[0]=t,n[0]})),(function(t){var e=function(t){if(null==t)throw new Error("name cannot be null.");this.name=t};t.Attachment=e;var i=(function(e){function i(t){var n=e.call(this,t)||this;return n.id=(65535&i.nextID++)<<11,n.worldVerticesLength=0,n.deformAttachment=n,n}return s(i,e),i.prototype.computeWorldVertices=function(t,e,i,n,r,s){i=r+(i>>1)*s;var a=t.bone.skeleton,o=t.deform,l=this.vertices,c=this.bones;if(null!=c){for(var h=0,u=0,_=0;_<e;_+=2)h+=(m=c[h])+1,u+=m;var f=a.bones;if(0==o.length)for(M=r,T=3*u;M<i;M+=s){var d=0,p=0,m=c[h++];for(m+=h;h<m;h++,T+=3){b=f[c[h]],D=l[T],B=l[T+1];var y=l[T+2];d+=(D*b.a+B*b.b+b.worldX)*y,p+=(D*b.c+B*b.d+b.worldY)*y}n[M]=d,n[M+1]=p}else for(var v=o,g=(M=r,T=3*u,u<<1);M<i;M+=s){for(d=0,p=0,m=c[h++],m+=h;h<m;h++,T+=3,g+=2)b=f[c[h]],D=l[T]+v[g],B=l[T+1]+v[g+1],y=l[T+2],d+=(D*b.a+B*b.b+b.worldX)*y,p+=(D*b.c+B*b.d+b.worldY)*y;n[M]=d,n[M+1]=p}}else{o.length>0&&(l=o);for(var b,A=(b=t.bone).worldX,x=b.worldY,C=b.a,T=b.b,S=b.c,w=b.d,E=e,M=r;M<i;E+=2,M+=s){var D=l[E],B=l[E+1];n[M]=D*C+B*T+A,n[M+1]=D*S+B*w+x}}},i.prototype.copyTo=function(e){null!=this.bones?(e.bones=new Array(this.bones.length),t.Utils.arrayCopy(this.bones,0,e.bones,0,this.bones.length)):e.bones=null,null!=this.vertices?(e.vertices=t.Utils.newFloatArray(this.vertices.length),t.Utils.arrayCopy(this.vertices,0,e.vertices,0,this.vertices.length)):e.vertices=null,e.worldVerticesLength=this.worldVerticesLength,e.deformAttachment=this.deformAttachment},i.nextID=0,i})(e);t.VertexAttachment=i})(r||(r={})),(function(t){(function(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.AttachmentType||(t.AttachmentType={}))})(r||(r={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(1,1,1,1),n}return s(i,e),i.prototype.copy=function(){var t=new i(name);return this.copyTo(t),t.color.setFromColor(this.color),t},i})(t.VertexAttachment);t.BoundingBoxAttachment=e})(r||(r={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(.2275,.2275,.8078,1),n}return s(i,e),i.prototype.copy=function(){var t=new i(name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t},i})(t.VertexAttachment);t.ClippingAttachment=e})(r||(r={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(1,1,1,1),n.tempColor=new t.Color(0,0,0,0),n}return s(i,e),i.prototype.updateUVs=function(){var e=this.regionUVs;null!=this.uvs&&this.uvs.length==e.length||(this.uvs=t.Utils.newFloatArray(e.length));var i=this.uvs,n=this.uvs.length,r=this.region.u,s=this.region.v,a=0,o=0;if(this.region instanceof t.TextureAtlasRegion){var l=this.region,c=l.texture.getImage().width,h=l.texture.getImage().height;switch(l.degrees){case 90:r-=(l.originalHeight-l.offsetY-l.height)/c,s-=(l.originalWidth-l.offsetX-l.width)/h,a=l.originalHeight/c,o=l.originalWidth/h;for(var u=0;u<n;u+=2)i[u]=r+e[u+1]*a,i[u+1]=s+(1-e[u])*o;return;case 180:for(r-=(l.originalWidth-l.offsetX-l.width)/c,s-=l.offsetY/h,a=l.originalWidth/c,o=l.originalHeight/h,u=0;u<n;u+=2)i[u]=r+(1-e[u])*a,i[u+1]=s+(1-e[u+1])*o;return;case 270:for(r-=l.offsetY/c,s-=l.offsetX/h,a=l.originalHeight/c,o=l.originalWidth/h,u=0;u<n;u+=2)i[u]=r+(1-e[u+1])*a,i[u+1]=s+e[u]*o;return}r-=l.offsetX/c,s-=(l.originalHeight-l.offsetY-l.height)/h,a=l.originalWidth/c,o=l.originalHeight/h}else null==this.region?(r=s=0,a=o=1):(a=this.region.u2-r,o=this.region.v2-s);for(u=0;u<n;u+=2)i[u]=r+e[u]*a,i[u+1]=s+e[u+1]*o},i.prototype.getParentMesh=function(){return this.parentMesh},i.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)},i.prototype.copy=function(){if(null!=this.parentMesh)return this.newLinkedMesh();var e=new i(this.name);return e.region=this.region,e.path=this.path,e.color.setFromColor(this.color),this.copyTo(e),e.regionUVs=new Array(this.regionUVs.length),t.Utils.arrayCopy(this.regionUVs,0,e.regionUVs,0,this.regionUVs.length),e.uvs=new Array(this.uvs.length),t.Utils.arrayCopy(this.uvs,0,e.uvs,0,this.uvs.length),e.triangles=new Array(this.triangles.length),t.Utils.arrayCopy(this.triangles,0,e.triangles,0,this.triangles.length),e.hullLength=this.hullLength,null!=this.edges&&(e.edges=new Array(this.edges.length),t.Utils.arrayCopy(this.edges,0,e.edges,0,this.edges.length)),e.width=this.width,e.height=this.height,e},i.prototype.newLinkedMesh=function(){var t=new i(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),t.deformAttachment=this.deformAttachment,t.setParentMesh(null!=this.parentMesh?this.parentMesh:this),t.updateUVs(),t},i})(t.VertexAttachment);t.MeshAttachment=e})(r||(r={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.closed=!1,n.constantSpeed=!1,n.color=new t.Color(1,1,1,1),n}return s(i,e),i.prototype.copy=function(){var e=new i(name);return this.copyTo(e),e.lengths=new Array(this.lengths.length),t.Utils.arrayCopy(this.lengths,0,e.lengths,0,this.lengths.length),e.closed=closed,e.constantSpeed=this.constantSpeed,e.color.setFromColor(this.color),e},i})(t.VertexAttachment);t.PathAttachment=e})(r||(r={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(.38,.94,0,1),n}return s(i,e),i.prototype.computeWorldPosition=function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e},i.prototype.computeWorldRotation=function(e){var i=t.MathUtils.cosDeg(this.rotation),n=t.MathUtils.sinDeg(this.rotation),r=i*e.a+n*e.b,s=i*e.c+n*e.d;return Math.atan2(s,r)*t.MathUtils.radDeg},i.prototype.copy=function(){var t=new i(name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t},i})(t.VertexAttachment);t.PointAttachment=e})(r||(r={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.x=0,n.y=0,n.scaleX=1,n.scaleY=1,n.rotation=0,n.width=0,n.height=0,n.color=new t.Color(1,1,1,1),n.offset=t.Utils.newFloatArray(8),n.uvs=t.Utils.newFloatArray(8),n.tempColor=new t.Color(1,1,1,1),n}return s(i,e),i.prototype.updateOffset=function(){var t=this.width/this.region.originalWidth*this.scaleX,e=this.height/this.region.originalHeight*this.scaleY,n=-this.width/2*this.scaleX+this.region.offsetX*t,r=-this.height/2*this.scaleY+this.region.offsetY*e,s=n+this.region.width*t,a=r+this.region.height*e,o=this.rotation*Math.PI/180,l=Math.cos(o),c=Math.sin(o),h=n*l+this.x,u=n*c,_=r*l+this.y,f=r*c,d=s*l+this.x,p=s*c,m=a*l+this.y,y=a*c,v=this.offset;v[i.OX1]=h-f,v[i.OY1]=_+u,v[i.OX2]=h-y,v[i.OY2]=m+u,v[i.OX3]=d-y,v[i.OY3]=m+p,v[i.OX4]=d-f,v[i.OY4]=_+p},i.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)},i.prototype.computeWorldVertices=function(t,e,n,r){var s=this.offset,a=t.worldX,o=t.worldY,l=t.a,c=t.b,h=t.c,u=t.d,_=0,f=0;_=s[i.OX1],f=s[i.OY1],e[n]=_*l+f*c+a,e[n+1]=_*h+f*u+o,n+=r,_=s[i.OX2],f=s[i.OY2],e[n]=_*l+f*c+a,e[n+1]=_*h+f*u+o,n+=r,_=s[i.OX3],f=s[i.OY3],e[n]=_*l+f*c+a,e[n+1]=_*h+f*u+o,n+=r,_=s[i.OX4],f=s[i.OY4],e[n]=_*l+f*c+a,e[n+1]=_*h+f*u+o},i.prototype.copy=function(){var e=new i(name);return e.region=this.region,e.rendererObject=this.rendererObject,e.path=this.path,e.x=this.x,e.y=this.y,e.scaleX=this.scaleX,e.scaleY=this.scaleY,e.rotation=this.rotation,e.width=this.width,e.height=this.height,t.Utils.arrayCopy(this.uvs,0,e.uvs,0,8),t.Utils.arrayCopy(this.offset,0,e.offset,0,8),e.color.setFromColor(this.color),e},i.OX1=0,i.OY1=1,i.OX2=2,i.OY2=3,i.OX3=4,i.OY3=5,i.OX4=6,i.OY4=7,i.X1=0,i.Y1=1,i.C1R=2,i.C1G=3,i.C1B=4,i.C1A=5,i.U1=6,i.V1=7,i.X2=8,i.Y2=9,i.C2R=10,i.C2G=11,i.C2B=12,i.C2A=13,i.U2=14,i.V2=15,i.X3=16,i.Y3=17,i.C3R=18,i.C3G=19,i.C3B=20,i.C3A=21,i.U3=22,i.V3=23,i.X4=24,i.Y4=25,i.C4R=26,i.C4G=27,i.C4B=28,i.C4A=29,i.U4=30,i.V4=31,i})(t.Attachment);t.RegionAttachment=e})(r||(r={})),(function(t){var e=(function(){function e(t,e){this.jitterX=0,this.jitterY=0,this.jitterX=t,this.jitterY=e}return e.prototype.begin=function(){},e.prototype.transform=function(e){e.x+=t.MathUtils.randomTriangular(-this.jitterX,this.jitterY),e.y+=t.MathUtils.randomTriangular(-this.jitterX,this.jitterY)},e.prototype.end=function(){},e})();t.JitterEffect=e})(r||(r={})),(function(t){var e=(function(){function e(t,e){this.centerX=0,this.centerY=0,this.radius=0,this.angle=0,this.worldX=0,this.worldY=0,this.radius=t,this.interpolation=e}return e.prototype.begin=function(t){this.worldX=t.x+this.centerX,this.worldY=t.y+this.centerY},e.prototype.transform=function(e){var i=this.angle*t.MathUtils.degreesToRadians,n=e.x-this.worldX,r=e.y-this.worldY,s=Math.sqrt(n*n+r*r);if(s<this.radius){var a=this.interpolation.apply(0,i,(this.radius-s)/this.radius),o=Math.cos(a),l=Math.sin(a);e.x=o*n-l*r+this.worldX,e.y=l*n+o*r+this.worldY}},e.prototype.end=function(){},e.interpolation=new t.PowOut(2),e})();t.SwirlEffect=e})(r||(r={})),e.exports=r}),{}],428:[(function(t,e){"use strict";var i,n,r,s,a,o,l=t("./track-entry-listeners"),c=t("./lib/spine"),h=[],u=[],_=0,f=0,d=0,p=null,m=null,y=0,v=0,g=0,b=0,A=null,x=null,C=0,T=0,S=new c.Color(1,1,1,1),w=new c.Color(1,1,1,1),E=[0,1,2,2,3,0],M=cc.Class({ctor:function(){this._privateMode=!1,this._inited=!1,this._invalid=!0,this._enableCacheAttachedInfo=!1,this.frames=[],this.totalTime=0,this._frameIdx=-1,this.isCompleted=!1,this._skeletonInfo=null,this._animationName=null,this._tempSegments=null,this._tempColors=null,this._tempBoneInfos=null},init:function(t,e){this._inited=!0,this._animationName=e,this._skeletonInfo=t},clear:function(){this._inited=!1;for(var t=0,e=this.frames.length;t<e;t++)this.frames[t].segments.length=0;this.invalidAllFrame()},bind:function(t){var e=function(t){t&&t.animation.name===this._animationName&&(this.isCompleted=!0)}.bind(this);t.complete=e},unbind:function(t){t.complete=null},begin:function(){if(this._invalid){var t=this._skeletonInfo,e=t.curAnimationCache;e&&e!==this&&(this._privateMode?e.invalidAllFrame():e.updateToFrame());var i=t.skeleton,n=t.listener,r=t.state,s=i.data.findAnimation(this._animationName);r.setAnimationWith(0,s,!1),this.bind(n),t.curAnimationCache=this,this._frameIdx=-1,this.isCompleted=!1,this.totalTime=0,this._invalid=!1}},end:function(){this._needToUpdate()||(this._skeletonInfo.curAnimationCache=null,this.frames.length=this._frameIdx+1,this.isCompleted=!0,this.unbind(this._skeletonInfo.listener))},_needToUpdate:function(t){return!this.isCompleted&&this.totalTime<30&&(null==t||this._frameIdx<t)},updateToFrame:function(t){if(this._inited&&(this.begin(),this._needToUpdate(t))){var e=this._skeletonInfo,i=e.skeleton,n=e.clipper,r=e.state;do{i.update(1/60),r.update(1/60),r.apply(i),i.updateWorldTransform(),this._frameIdx++,this._updateFrame(i,n,this._frameIdx),this.totalTime+=1/60}while(this._needToUpdate(t));this.end()}},isInited:function(){return this._inited},isInvalid:function(){return this._invalid},invalidAllFrame:function(){this.isCompleted=!1,this._invalid=!0},updateAllFrame:function(){this.invalidAllFrame(),this.updateToFrame()},enableCacheAttachedInfo:function(){this._enableCacheAttachedInfo||(this._enableCacheAttachedInfo=!0,this.invalidAllFrame())},_updateFrame:function(t,e,i){d=0,_=0,f=0,p=null,m=null,y=0,v=0,g=0,b=0,A=null,x=null,this.frames[i]=this.frames[i]||{segments:[],colors:[],boneInfos:[],vertices:null,uintVert:null,indices:null};var n=this.frames[i],r=this._tempSegments=n.segments,s=this._tempColors=n.colors,a=this._tempBoneInfos=n.boneInfos;this._traverseSkeleton(t,e),b>0&&(s[b-1].vfOffset=d),s.length=b,a.length=_;var o=g-1;if(o>=0)if(v>0){var l=r[o];l.indexCount=v,l.vfCount=6*y,l.vertexCount=y,r.length=g}else r.length=g-1;if(0!=r.length){var c=n.vertices,C=n.uintVert;(!c||c.length<d)&&(c=n.vertices=new Float32Array(d),C=n.uintVert=new Uint32Array(c.buffer));for(var T=0,S=0;T<d;)c[T++]=h[S++],c[T++]=h[S++],c[T++]=h[S++],c[T++]=h[S++],C[T++]=h[S++],C[T++]=h[S++];var w=n.indices;(!w||w.length<f)&&(w=n.indices=new Uint16Array(f));for(var E=0;E<f;E++)w[E]=u[E];n.vertices=c,n.uintVert=C,n.indices=w}},fillVertices:function(t,e,l,c,_){if(s=l.a*e.a*t.a*255,i=e.r*t.r*255,n=e.g*t.g*255,r=e.b*t.b*255,S.r=i*l.r,S.g=n*l.g,S.b=r*l.b,S.a=s,null==_.darkColor?w.set(0,0,0,1):(w.r=_.darkColor.r*i,w.g=_.darkColor.g*n,w.b=_.darkColor.b*r),w.a=0,a=(S.a<<24>>>0)+(S.b<<16)+(S.g<<8)+S.r,o=(w.a<<24>>>0)+(w.b<<16)+(w.g<<8)+w.r,A!==a||x!==o){var p=this._tempColors;A=a,x=o,b>0&&(p[b-1].vfOffset=d),p[b++]={fr:S.r,fg:S.g,fb:S.b,fa:S.a,dr:w.r,dg:w.g,db:w.b,da:w.a,vfOffset:0}}if(c.isClipping()){c.clipTriangles(h,C,u,T,h,S,w,!0,6,f,d,d+2);var m=c.clippedVertices,y=c.clippedTriangles;T=y.length,C=m.length/12*6;for(var v=0,g=f,E=y.length;v<E;)u[g++]=y[v++];for(var M=0,D=m.length,B=d;M<D;M+=12,B+=6)h[B]=m[M],h[B+1]=m[M+1],h[B+2]=m[M+6],h[B+3]=m[M+7],h[B+4]=a,h[B+5]=o}else for(var I=d,P=d+C;I<P;I+=6)h[I+4]=a,h[I+5]=o},_traverseSkeleton:function(t,e){var i,n,r,s,a,o,l,b,A,x,S,w,M=this._tempSegments,D=this._tempBoneInfos,B=t.color,I=t.bones;if(this._enableCacheAttachedInfo)for(var P=0,R=I.length;P<R;P++,_++){var O=I[P],L=D[_];L||(L=D[_]={}),L.a=O.a,L.b=O.b,L.c=O.c,L.d=O.d,L.worldX=O.worldX,L.worldY=O.worldY}for(var F=0,V=t.drawOrder.length;F<V;F++)if(w=t.drawOrder[F],C=0,T=0,i=w.getAttachment())if(o=i instanceof c.RegionAttachment,l=i instanceof c.MeshAttachment,i instanceof c.ClippingAttachment)e.clipStart(w,i);else if(o||l)if(b=i.region.texture._texture)if(S=w.data.blendMode,p===b.nativeUrl&&m===S||(p=b.nativeUrl,m=S,(A=g-1)>=0&&(v>0?((x=M[A]).indexCount=v,x.vertexCount=y,x.vfCount=6*y):g--),M[g]={tex:b,blendMode:S,indexCount:0,vertexCount:0,vfCount:0},g++,v=0,y=0),o?(a=E,C=24,T=6,i.computeWorldVertices(w.bone,h,d,6)):l&&(a=i.triangles,C=6*(i.worldVerticesLength>>1),T=a.length,i.computeWorldVertices(w,0,i.worldVerticesLength,h,d,6)),0!=C&&0!=T){for(var N=0,k=f,z=a.length;N<z;)u[k++]=a[N++];s=i.uvs;for(var G=d,U=d+C,j=0;G<U;G+=6,j+=2)h[G+2]=s[j],h[G+3]=s[j+1];if(n=i.color,r=w.color,this.fillVertices(B,n,r,e,w),T>0){for(var H=f,W=f+T;H<W;H++)u[H]+=y;f+=T,d+=C,v+=T,y+=C/6}e.clipEndWithSlot(w)}else e.clipEndWithSlot(w);else e.clipEndWithSlot(w);else e.clipEndWithSlot(w);else e.clipEndWithSlot(w);e.clipEnd()}}),D=cc.Class({ctor:function(){this._privateMode=!1,this._animationPool={},this._skeletonCache={}},enablePrivateMode:function(){this._privateMode=!0},clear:function(){this._animationPool={},this._skeletonCache={}},removeSkeleton:function(t){var e=this._skeletonCache[t];if(e){var i=e.animationsCache;for(var n in i){var r=i[n];r&&(this._animationPool[t+"#"+n]=r,r.clear())}delete this._skeletonCache[t]}},getSkeletonCache:function(t,e){var i=this._skeletonCache[t];if(!i){var n=new c.Skeleton(e),r=new c.SkeletonClipping,s=new c.AnimationStateData(n.data),a=new c.AnimationState(s),o=new l;a.addListener(o),this._skeletonCache[t]=i={skeleton:n,clipper:r,state:a,listener:o,animationsCache:{},curAnimationCache:null}}return i},getAnimationCache:function(t,e){var i=this._skeletonCache[t];return i?i.animationsCache[e]:null},invalidAnimationCache:function(t){var e=this._skeletonCache[t];if(e&&e.skeleton){var i=e.animationsCache;for(var n in i)i[n].invalidAllFrame()}},initAnimationCache:function(t,e){if(!e)return null;var i=this._skeletonCache[t],n=i&&i.skeleton;if(!n)return null;if(!n.data.findAnimation(e))return null;var r=i.animationsCache,s=r[e];if(!s){var a=t+"#"+e;(s=this._animationPool[a])?delete this._animationPool[a]:(s=new M)._privateMode=this._privateMode,s.init(i,e),r[e]=s}return s},updateAnimationCache:function(t,e){if(e){var i=this.initAnimationCache(t,e);if(!i)return null;i.updateAllFrame()}else{var n=this._skeletonCache[t];if(!n||!n.skeleton)return;var r=n.animationsCache;for(var s in r)r[s].updateAllFrame()}}});D.FrameTime=1/60,D.sharedCache=new D,e.exports=D}),{"./lib/spine":427,"./track-entry-listeners":432}],429:[(function(t,e){"use strict";var i=t("./skeleton-cache").sharedCache,n=cc.Class({name:"sp.SkeletonData",extends:cc.Asset,ctor:function(){this.reset()},properties:{_skeletonJson:null,skeletonJsonStr:{get:function(){return this._skeletonJson?JSON.stringify(this._skeletonJson):""}},skeletonJson:{get:function(){return this._skeletonJson},set:function(t){this.reset(),this._skeletonJson="string"==typeof t?JSON.parse(t):t,!this._uuid&&t.skeleton&&(this._uuid=t.skeleton.hash)}},_atlasText:"",atlasText:{get:function(){return this._atlasText},set:function(t){this._atlasText=t,this.reset()}},textures:{default:[],type:[cc.Texture2D]},textureNames:{default:[],type:[cc.String]},scale:1,_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t,this.reset()},override:!0}},statics:{preventDeferredLoadDependents:!0},createNode:!1,reset:function(){this._skeletonCache=null,this._atlasCache=null},ensureTexturesLoaded:function(t,e){var i=this.textures,n=i.length;if(0!=n)for(var r=0,s=function(){++r>=n&&(t&&t.call(e,!0),t=null)},a=0;a<n;a++){var o=i[a];o.loaded?s():o.once("load",s)}else t.call(e,!1)},isTexturesLoaded:function(){for(var t=this.textures,e=t.length,i=0;i<e;i++)if(!t[i].loaded)return!1;return!0},getRuntimeData:function(t){if(this._skeletonCache)return this._skeletonCache;if(!(this.textures&&this.textures.length>0)&&this.textureNames&&this.textureNames.length>0)return t||cc.errorID(7507,this.name),null;var e=this._getAtlas(t);if(!e)return null;var i=new sp.spine.AtlasAttachmentLoader(e),n=null,r=null;return this.skeletonJson?(r=new sp.spine.SkeletonJson(i),n=this.skeletonJson):(r=new sp.spine.SkeletonBinary(i),n=new Uint8Array(this._nativeAsset)),r.scale=this.scale,this._skeletonCache=r.readSkeletonData(n),e.dispose(),this._skeletonCache},getSkinsEnum:!1,getAnimsEnum:!1,_getTexture:function(t){for(var e=this.textureNames,i=0;i<e.length;i++)if(e[i]===t){var n=this.textures[i],r=new sp.SkeletonTexture({width:n.width,height:n.height});return r.setRealTexture(n),r}return cc.errorID(7506,t),null},_getAtlas:function(t){return this._atlasCache?this._atlasCache:this.atlasText?this._atlasCache=new sp.spine.TextureAtlas(this.atlasText,this._getTexture.bind(this)):(t||cc.errorID(7508,this.name),null)},destroy:function(){i.removeSkeleton(this._uuid),this._super()}});sp.SkeletonData=e.exports=n}),{"./skeleton-cache":428}],430:[(function(){"use strict";sp.SkeletonTexture=cc.Class({name:"sp.SkeletonTexture",extends:sp.spine.Texture,_texture:null,_material:null,setRealTexture:function(t){this._texture=t},getRealTexture:function(){return this._texture},setFilters:function(t,e){this._texture&&this._texture.setFilters(t,e)},setWraps:function(t,e){this._texture&&this._texture.setWrapMode(t,e)},dispose:function(){}})}),{}],431:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A=(n=t("../../cocos2d/core/renderer/assembler"))&&n.__esModule?n:{default:n},x=t("./Skeleton"),C=t("./lib/spine"),T=t("../../cocos2d/core/renderer/render-flow"),S=t("../../cocos2d/core/renderer/webgl/vertex-format"),w=S.vfmtPosUvColor,E=S.vfmtPosUvTwoColor,M=cc.gfx,D=0,B=[0,1,2,2,3,0],I=cc.color(0,0,255,255),P=cc.color(255,0,0,255),R=cc.color(0,255,0,255),O=cc.color(255,255,0,255),L=null,F=null,V=null,N=null;L=new C.Color(1,1,1,1),F=new C.Color(1,1,1,1),V=new C.Vector2,N=new C.Vector2;var k,z,G,U,j,H,W,X,Y,q,J,Z,K,Q,$,tt,et,it,nt,rt,st,at,ot,lt,ct,ht,ut,_t,ft,dt=0,pt=0,mt=0,yt=0,vt=0,gt=0,bt=0;function At(t,e){var i,n;switch(e){case C.BlendMode.Additive:i=r?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE;break;case C.BlendMode.Multiply:i=cc.macro.DST_COLOR,n=cc.macro.ONE_MINUS_SRC_ALPHA;break;case C.BlendMode.Screen:i=cc.macro.ONE,n=cc.macro.ONE_MINUS_SRC_COLOR;break;case C.BlendMode.Normal:default:i=r?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE_MINUS_SRC_ALPHA}var s=!lt.enableBatch,a=lt._materials[0];if(!a)return null;var o=t.getId()+i+n+l+s,c=lt._materialCache,h=c[o];return h||(c.baseMaterial?h=cc.MaterialVariant.create(a):(h=a,c.baseMaterial=a),h.define("CC_USE_MODEL",s),h.define("USE_TINT",l),h.setProperty("texture",t),h.setBlend(!0,M.BLEND_FUNC_ADD,i,n,M.BLEND_FUNC_ADD,i,n),c[o]=h),h}function xt(t){rt=t.fa*p,Q=_*(s=r?rt/255:1),$=f*s,tt=d*s,et=t.fr*Q,it=t.fg*$,nt=t.fb*tt,m=(rt<<24>>>0)+(nt<<16)+(it<<8)+et,st=t.dr*Q,at=t.dg*$,ot=t.db*tt,y=((r?255:0)<<24>>>0)+(ot<<16)+(at<<8)+st}function Ct(t){return(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r}var Tt=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var A=n.prototype;return A.updateRenderData=function(t){if(!t.isAnimationCached()){var e=t._skeleton;e&&e.updateWorldTransform()}},A.fillVertices=function(t,e,i,n,a){var o,c=ct._vData,h=ct._iData,u=ct._uintVData;if(L.a=i.a*e.a*t.a*p*255,s=r?L.a:255,k=_*e.r*t.r*s,z=f*e.g*t.g*s,G=d*e.b*t.b*s,L.r=k*i.r,L.g=z*i.g,L.b=G*i.b,null==a.darkColor?F.set(0,0,0,1):(F.r=a.darkColor.r*k,F.g=a.darkColor.g*z,F.b=a.darkColor.b*G),F.a=r?255:0,n.isClipping()){var v=c.subarray(mt+2);n.clipTriangles(c.subarray(mt),dt,h.subarray(gt),vt,v,L,F,l,g);var A=new Float32Array(n.clippedVertices),x=n.clippedTriangles;if(vt=x.length,dt=A.length/b*g,o=ct.request(dt/g,vt),gt=o.indiceOffset,yt=o.vertexOffset,mt=o.byteOffset>>2,c=ct._vData,h=ct._iData,u=ct._uintVData,h.set(x,gt),ft)for(var C=0,T=A.length,S=mt;C<T;C+=b,S+=g)V.x=A[C],V.y=A[C+1],L.set(A[C+2],A[C+3],A[C+4],A[C+5]),N.x=A[C+6],N.y=A[C+7],l?F.set(A[C+8],A[C+9],A[C+10],A[C+11]):F.set(0,0,0,0),ft.transform(V,N,L,F),c[S]=V.x,c[S+1]=V.y,c[S+2]=N.x,c[S+3]=N.y,u[S+4]=Ct(L),l&&(u[S+5]=Ct(F));else for(var w=0,E=A.length,M=mt;w<E;w+=b,M+=g)c[M]=A[w],c[M+1]=A[w+1],c[M+2]=A[w+6],c[M+3]=A[w+7],m=(A[w+5]<<24>>>0)+(A[w+4]<<16)+(A[w+3]<<8)+A[w+2],u[M+4]=m,l&&(y=(A[w+11]<<24>>>0)+(A[w+10]<<16)+(A[w+9]<<8)+A[w+8],u[M+5]=y)}else if(ft)for(var D=mt,B=mt+dt;D<B;D+=g)V.x=c[D],V.y=c[D+1],N.x=c[D+2],N.y=c[D+3],ft.transform(V,N,L,F),c[D]=V.x,c[D+1]=V.y,c[D+2]=N.x,c[D+3]=N.y,u[D+4]=Ct(L),l&&(u[D+5]=Ct(F));else{m=Ct(L),y=Ct(F);for(var I=mt,P=mt+dt;I<P;I+=g)u[I+4]=m,l&&(u[I+5]=y)}},A.realTimeTraverse=function(t){var e,i,n,r,s,_,f,d,p,m,y,v,A=lt._skeleton,x=A.color,T=lt._debugRenderer,S=lt._clipper,w=null;a=lt._startSlotIndex,o=lt._endSlotIndex,U=!1,-1==a&&(U=!0),c=lt.debugSlots,h=lt.debugBones,u=lt.debugMesh,T&&(h||c||u)&&(T.clear(),T.lineWidth=2),b=l?12:8,dt=0,mt=0,yt=0,vt=0,gt=0;for(var E=0,M=A.drawOrder.length;E<M;E++)if(null!=(y=A.drawOrder[E]))if(a>=0&&a==y.data.index&&(U=!0),U)if(o>=0&&o==y.data.index&&(U=!1),dt=0,vt=0,n=y.getAttachment())if(d=n instanceof C.RegionAttachment,p=n instanceof C.MeshAttachment,n instanceof C.ClippingAttachment)S.clipStart(y,n);else if(d||p)if(w=At(n.region.texture._texture,y.data.blendMode)){if((j||w.getHash()!==ht.material.getHash())&&(j=!1,ht._flush(),ht.node=ut,ht.material=w),d){if(f=B,dt=4*g,vt=6,m=ct.request(4,6),gt=m.indiceOffset,yt=m.vertexOffset,mt=m.byteOffset>>2,e=ct._vData,i=ct._iData,n.computeWorldVertices(y.bone,e,mt,g),T&&c){T.strokeColor=I,T.moveTo(e[mt],e[mt+1]);for(var D=mt+g,L=mt+dt;D<L;D+=g)T.lineTo(e[D],e[D+1]);T.close(),T.stroke()}}else if(p&&(f=n.triangles,dt=(n.worldVerticesLength>>1)*g,vt=f.length,m=ct.request(dt/g,vt),gt=m.indiceOffset,yt=m.vertexOffset,mt=m.byteOffset>>2,e=ct._vData,i=ct._iData,n.computeWorldVertices(y,0,n.worldVerticesLength,e,mt,g),T&&u)){T.strokeColor=O;for(var F=0,V=f.length;F<V;F+=3){var N=f[F]*g+mt,k=f[F+1]*g+mt,z=f[F+2]*g+mt;T.moveTo(e[N],e[N+1]),T.lineTo(e[k],e[k+1]),T.lineTo(e[z],e[z+1]),T.close(),T.stroke()}}if(0!=dt&&0!=vt){i.set(f,gt),_=n.uvs;for(var G=mt,Q=mt+dt,$=0;G<Q;G+=g,$+=2)e[G+2]=_[$],e[G+3]=_[$+1];if(r=n.color,s=y.color,this.fillVertices(x,r,s,S,y),e=ct._vData,i=ct._iData,vt>0){for(var tt=gt,et=gt+vt;tt<et;tt++)i[tt]+=yt;if(t){v=t.m,X=v[0],Y=v[4],q=v[12],J=v[1],Z=v[5],K=v[13];for(var it=mt,nt=mt+dt;it<nt;it+=g)H=e[it],W=e[it+1],e[it]=H*X+W*Y+q,e[it+1]=H*J+W*Z+K}ct.adjust(dt/g,vt)}S.clipEndWithSlot(y)}else S.clipEndWithSlot(y)}else S.clipEndWithSlot(y);else S.clipEndWithSlot(y);else S.clipEndWithSlot(y);else S.clipEndWithSlot(y);if(S.clipEnd(),T&&h){var rt;T.strokeColor=P,T.fillColor=I;for(var st=0,at=A.bones.length;st<at;st++){var ot=(rt=A.bones[st]).data.length*rt.a+rt.worldX,_t=rt.data.length*rt.c+rt.worldY;T.moveTo(rt.worldX,rt.worldY),T.lineTo(ot,_t),T.stroke(),T.circle(rt.worldX,rt.worldY,1.5*Math.PI),T.fill(),0===st&&(T.fillColor=R)}}},A.cacheTraverse=function(t){var e=lt._curFrame;if(e){var i=e.segments;if(0!=i.length){var n,r,s,a,o,l,c=e.vertices,h=e.indices,u=0,_=0,f=0;t&&(l=t.m,X=l[0],J=l[1],Y=l[4],Z=l[5],q=l[12],K=l[13]);var d=16&D,p=d&&1===X&&0===J&&0===Y&&1===Z,v=0,g=e.colors,b=g[v++],A=b.vfOffset;xt(b);for(var x=0,C=i.length;x<C;x++){var T=i[x];if(a=At(T.tex,T.blendMode)){(j||a.getHash()!==ht.material.getHash())&&(j=!1,ht._flush(),ht.node=ut,ht.material=a),pt=T.vertexCount,vt=T.indexCount,o=ct.request(pt,vt),gt=o.indiceOffset,yt=o.vertexOffset,bt=o.byteOffset>>2,n=ct._vData,r=ct._iData,s=ct._uintVData;for(var S=gt,w=gt+vt;S<w;S++)r[S]=yt+h[_++];if(f=T.vfCount,n.set(c.subarray(u,u+f),bt),u+=f,p)for(var E=bt,M=bt+f;E<M;E+=6)n[E]+=q,n[E+1]+=K;else if(d)for(var B=bt,I=bt+f;B<I;B+=6)H=n[B],W=n[B+1],n[B]=H*X+W*Y+q,n[B+1]=H*J+W*Z+K;if(ct.adjust(pt,vt),_t)for(var P=u-f,R=bt+4,O=bt+4+f;R<O;R+=6,P+=6)P>=A&&(xt(b=g[v++]),A=b.vfOffset),s[R]=m,s[R+1]=y}}}}},A.fillBuffers=function(t,e){var i=t.node;if(i._renderFlag|=T.FLAG_UPDATE_RENDER_DATA,t._skeleton){var n=i._color;_=n.r/255,f=n.g/255,d=n.b/255,p=n.a/255,l=t.useTint||t.isAnimationCached(),v=l?E:w,g=l?6:5,ut=t.node,ct=e.getBuffer("spine",v),ht=e,lt=t,j=!0,r=t.premultipliedAlpha,s=1,D=0,_t=!1,ft=t._effectDelegate&&t._effectDelegate._vertexEffect,(4294967295!==n._val||r)&&(_t=!0),l&&(D|=1);var a=void 0;lt.enableBatch&&(a=ut._worldMatrix,j=!1,D|=16),t.isAnimationCached()?this.cacheTraverse(a):(ft&&ft.begin(t._skeleton),this.realTimeTraverse(a),ft&&ft.end()),e.worldMatDirty++,t.attachUtil._syncAttachedNode(),ut=void 0,ct=void 0,ht=void 0,lt=void 0,ft=null}},A.postFillBuffers=function(t,e){e.worldMatDirty--},n})(A.default);i.default=Tt,A.default.register(x,Tt),e.exports=i.default}),{"../../cocos2d/core/renderer/assembler":267,"../../cocos2d/core/renderer/render-flow":271,"../../cocos2d/core/renderer/webgl/vertex-format":312,"./Skeleton":425,"./lib/spine":427}],432:[(function(t,e){"use strict";var i=function(){this.start=null,this.end=null,this.complete=null,this.event=null,this.interrupt=null,this.dispose=null};i.getListeners=function(t){return t.listener||(t.listener=new i),t.listener},e.exports=i}),{}],433:[(function(t,e){"use strict";var i=t("./lib/spine");sp.VertexEffectDelegate=cc.Class({name:"sp.VertexEffectDelegate",ctor:function(){this._vertexEffect=null,this._interpolation=null,this._effectType="none"},clear:function(){this._vertexEffect=null,this._interpolation=null,this._effectType="none"},initJitter:function(t,e){return this._effectType="jitter",this._vertexEffect=new i.JitterEffect(t,e),this._vertexEffect},initSwirlWithPow:function(t,e){return this._interpolation=new i.Pow(e),this._vertexEffect=new i.SwirlEffect(t,this._interpolation),this._vertexEffect},initSwirlWithPowOut:function(t,e){return this._interpolation=new i.PowOut(e),this._vertexEffect=new i.SwirlEffect(t,this._interpolation),this._vertexEffect},getJitterVertexEffect:function(){return this._vertexEffect},getSwirlVertexEffect:function(){return this._vertexEffect},getVertexEffect:function(){return this._vertexEffect},getEffectType:function(){return this._effectType}}),e.exports=sp.VertexEffectDelegate}),{"./lib/spine":427}],434:[(function(t,e,i){"use strict";var n;n=function(t){function e(t,e){return void 0!==t?t:e}var i=1e37,n=1e-5,r=n*n,s=3.14159265359,a=2,o=8,l=.008,c=2/180*s,h=2*l,u=-1,_=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.major=0,this.minor=0,this.revision=0,this.major=t,this.minor=e,this.revision=i}return t.prototype.toString=function(){return this.major+"."+this.minor+"."+this.revision},t})(),f=new _(2,3,2);function d(t,e){for(var i=[],n=0;n<t;++n)i.push(e(n));return i}function p(t,e){void 0===e&&(e=0);for(var i=[],n=0;n<t;++n)i.push(e);return i}var m=Math.abs,y=Math.min,v=Math.max;function g(t,e,i){return t<e?e:t>i?i:t}var b=isFinite;function A(t){return t*t}function x(t){return 1/Math.sqrt(t)}var C,T=Math.sqrt,S=Math.pow,w=Math.cos,E=Math.sin,M=Math.acos,D=Math.asin,B=Math.atan2,I=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.Clone=function(){return new t(this.x,this.y)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this},t.prototype.Set=function(t,e){return this.x=t,this.y=e,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.SelfAddXY=function(t,e){return this.x+=t,this.y+=e,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.SelfSubXY=function(t,e){return this.x-=t,this.y-=e,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this},t.prototype.SelfMulAdd=function(t,e){return this.x+=t*e.x,this.y+=t*e.y,this},t.prototype.SelfMulSub=function(t,e){return this.x-=t*e.x,this.y-=t*e.y,this},t.prototype.Dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.Cross=function(t){return this.x*t.y-this.y*t.x},t.prototype.Length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},t.prototype.LengthSquared=function(){var t=this.x,e=this.y;return t*t+e*e},t.prototype.Normalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return t},t.prototype.SelfNormalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return this},t.prototype.SelfRotate=function(t){var e=Math.cos(t),i=Math.sin(t),n=this.x;return this.x=e*n-i*this.y,this.y=i*n+e*this.y,this},t.prototype.IsValid=function(){return isFinite(this.x)&&isFinite(this.y)},t.prototype.SelfCrossVS=function(t){var e=this.x;return this.x=t*this.y,this.y=-t*e,this},t.prototype.SelfCrossSV=function(t){var e=this.x;return this.x=-t*this.y,this.y=t*e,this},t.prototype.SelfMinV=function(t){return this.x=y(this.x,t.x),this.y=y(this.y,t.y),this},t.prototype.SelfMaxV=function(t){return this.x=v(this.x,t.x),this.y=v(this.y,t.y),this},t.prototype.SelfAbs=function(){return this.x=m(this.x),this.y=m(this.y),this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.SelfSkew=function(){var t=this.x;return this.x=-this.y,this.y=t,this},t.MakeArray=function(e){return d(e,(function(){return new t}))},t.AbsV=function(t,e){return e.x=m(t.x),e.y=m(t.y),e},t.MinV=function(t,e,i){return i.x=y(t.x,e.x),i.y=y(t.y,e.y),i},t.MaxV=function(t,e,i){return i.x=v(t.x,e.x),i.y=v(t.y,e.y),i},t.ClampV=function(t,e,i,n){return n.x=g(t.x,e.x,i.x),n.y=g(t.y,e.y,i.y),n},t.RotateV=function(t,e,i){var n=t.x,r=t.y,s=Math.cos(e),a=Math.sin(e);return i.x=s*n-a*r,i.y=a*n+s*r,i},t.DotVV=function(t,e){return t.x*e.x+t.y*e.y},t.CrossVV=function(t,e){return t.x*e.y-t.y*e.x},t.CrossVS=function(t,e,i){var n=t.x;return i.x=e*t.y,i.y=-e*n,i},t.CrossVOne=function(t,e){var i=t.x;return e.x=t.y,e.y=-i,e},t.CrossSV=function(t,e,i){var n=e.x;return i.x=-t*e.y,i.y=t*n,i},t.CrossOneV=function(t,e){var i=t.x;return e.x=-t.y,e.y=i,e},t.AddVV=function(t,e,i){return i.x=t.x+e.x,i.y=t.y+e.y,i},t.SubVV=function(t,e,i){return i.x=t.x-e.x,i.y=t.y-e.y,i},t.MulSV=function(t,e,i){return i.x=e.x*t,i.y=e.y*t,i},t.MulVS=function(t,e,i){return i.x=t.x*e,i.y=t.y*e,i},t.AddVMulSV=function(t,e,i,n){return n.x=t.x+e*i.x,n.y=t.y+e*i.y,n},t.SubVMulSV=function(t,e,i,n){return n.x=t.x-e*i.x,n.y=t.y-e*i.y,n},t.AddVCrossSV=function(t,e,i,n){var r=i.x;return n.x=t.x-e*i.y,n.y=t.y+e*r,n},t.MidVV=function(t,e,i){return i.x=.5*(t.x+e.x),i.y=.5*(t.y+e.y),i},t.ExtVV=function(t,e,i){return i.x=.5*(e.x-t.x),i.y=.5*(e.y-t.y),i},t.IsEqualToV=function(t,e){return t.x===e.x&&t.y===e.y},t.DistanceVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return Math.sqrt(i*i+n*n)},t.DistanceSquaredVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n},t.NegV=function(t,e){return e.x=-t.x,e.y=-t.y,e},t.ZERO=new t(0,0),t.UNITX=new t(1,0),t.UNITY=new t(0,1),t.s_t0=new t,t.s_t1=new t,t.s_t2=new t,t.s_t3=new t,t})(),P=new I(0,0),R=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=i}return t.prototype.Clone=function(){return new t(this.x,this.y,this.z)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this.z=0,this},t.prototype.SetXYZ=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.SelfAddXYZ=function(t,e,i){return this.x+=t,this.y+=e,this.z+=i,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},t.prototype.SelfSubXYZ=function(t,e,i){return this.x-=t,this.y-=e,this.z-=i,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.DotV3V3=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},t.CrossV3V3=function(t,e,i){var n=t.x,r=t.y,s=t.z,a=e.x,o=e.y,l=e.z;return i.x=r*l-s*o,i.y=s*a-n*l,i.z=n*o-r*a,i},t.ZERO=new t(0,0,0),t.s_t0=new t,t})(),O=(function(){function t(){this.ex=new I(1,0),this.ey=new I(0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.FromVV=function(e,i){return(new t).SetVV(e,i)},t.FromSSSS=function(e,i,n,r){return(new t).SetSSSS(e,i,n,r)},t.FromAngle=function(e){return(new t).SetAngle(e)},t.prototype.SetSSSS=function(t,e,i,n){return this.ex.Set(t,i),this.ey.Set(e,n),this},t.prototype.SetVV=function(t,e){return this.ex.Copy(t),this.ey.Copy(e),this},t.prototype.SetAngle=function(t){var e=Math.cos(t),i=Math.sin(t);return this.ex.Set(e,i),this.ey.Set(-i,e),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this},t.prototype.SetIdentity=function(){return this.ex.Set(1,0),this.ey.Set(0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this},t.prototype.GetAngle=function(){return Math.atan2(this.ex.y,this.ex.x)},t.prototype.GetInverse=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;return 0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.y=-s*n,t.ey.y=s*e,t},t.prototype.Solve=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,a=this.ey.y,o=n*a-r*s;return 0!==o&&(o=1/o),i.x=o*(a*t-r*e),i.y=o*(n*e-s*t),i},t.prototype.SelfAbs=function(){return this.ex.SelfAbs(),this.ey.SelfAbs(),this},t.prototype.SelfInv=function(){return this.GetInverse(this),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this},t.prototype.SelfSubM=function(t){return this.ex.SelfSub(t.ex),this.ey.SelfSub(t.ey),this},t.AbsM=function(t,e){var i=t.ex,n=t.ey;return e.ex.x=m(i.x),e.ex.y=m(i.y),e.ey.x=m(n.x),e.ey.y=m(n.y),e},t.MulMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,a=e.y;return i.x=n.x*s+r.x*a,i.y=n.y*s+r.y*a,i},t.MulTMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,a=e.y;return i.x=n.x*s+n.y*a,i.y=r.x*s+r.y*a,i},t.AddMM=function(t,e,i){var n=t.ex,r=t.ey,s=e.ex,a=e.ey;return i.ex.x=n.x+s.x,i.ex.y=n.y+s.y,i.ey.x=r.x+a.x,i.ey.y=r.y+a.y,i},t.MulMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,a=t.ey.y,o=e.ex.x,l=e.ex.y,c=e.ey.x,h=e.ey.y;return i.ex.x=n*o+s*l,i.ex.y=r*o+a*l,i.ey.x=n*c+s*h,i.ey.y=r*c+a*h,i},t.MulTMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,a=t.ey.y,o=e.ex.x,l=e.ex.y,c=e.ey.x,h=e.ey.y;return i.ex.x=n*o+r*l,i.ex.y=s*o+a*l,i.ey.x=n*c+r*h,i.ey.y=s*c+a*h,i},t.IDENTITY=new t,t})(),L=(function(){function t(){this.ex=new R(1,0,0),this.ey=new R(0,1,0),this.ez=new R(0,0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.SetVVV=function(t,e,i){return this.ex.Copy(t),this.ey.Copy(e),this.ez.Copy(i),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this.ez.Copy(t.ez),this},t.prototype.SetIdentity=function(){return this.ex.SetXYZ(1,0,0),this.ey.SetXYZ(0,1,0),this.ez.SetXYZ(0,0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this.ez.SetZero(),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this.ez.SelfAdd(t.ez),this},t.prototype.Solve33=function(t,e,i,n){var r=this.ex.x,s=this.ex.y,a=this.ex.z,o=this.ey.x,l=this.ey.y,c=this.ey.z,h=this.ez.x,u=this.ez.y,_=this.ez.z,f=r*(l*_-c*u)+s*(c*h-o*_)+a*(o*u-l*h);return 0!==f&&(f=1/f),n.x=f*(t*(l*_-c*u)+e*(c*h-o*_)+i*(o*u-l*h)),n.y=f*(r*(e*_-i*u)+s*(i*h-t*_)+a*(t*u-e*h)),n.z=f*(r*(l*i-c*e)+s*(c*t-o*i)+a*(o*e-l*t)),n},t.prototype.Solve22=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,a=this.ey.y,o=n*a-r*s;return 0!==o&&(o=1/o),i.x=o*(a*t-r*e),i.y=o*(n*e-s*t),i},t.prototype.GetInverse22=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.z=0,t.ex.y=-s*n,t.ey.y=s*e,t.ey.z=0,t.ez.x=0,t.ez.y=0,t.ez.z=0},t.prototype.GetSymInverse33=function(t){var e=R.DotV3V3(this.ex,R.CrossV3V3(this.ey,this.ez,R.s_t0));0!==e&&(e=1/e);var i=this.ex.x,n=this.ey.x,r=this.ez.x,s=this.ey.y,a=this.ez.y,o=this.ez.z;t.ex.x=e*(s*o-a*a),t.ex.y=e*(r*a-n*o),t.ex.z=e*(n*a-r*s),t.ey.x=t.ex.y,t.ey.y=e*(i*o-r*r),t.ey.z=e*(r*n-i*a),t.ez.x=t.ex.z,t.ez.y=t.ey.z,t.ez.z=e*(i*s-n*n)},t.MulM33V3=function(t,e,i){var n=e.x,r=e.y,s=e.z;return i.x=t.ex.x*n+t.ey.x*r+t.ez.x*s,i.y=t.ex.y*n+t.ey.y*r+t.ez.y*s,i.z=t.ex.z*n+t.ey.z*r+t.ez.z*s,i},t.MulM33XYZ=function(t,e,i,n,r){return r.x=t.ex.x*e+t.ey.x*i+t.ez.x*n,r.y=t.ex.y*e+t.ey.y*i+t.ez.y*n,r.z=t.ex.z*e+t.ey.z*i+t.ez.z*n,r},t.MulM33V2=function(t,e,i){var n=e.x,r=e.y;return i.x=t.ex.x*n+t.ey.x*r,i.y=t.ex.y*n+t.ey.y*r,i},t.MulM33XY=function(t,e,i,n){return n.x=t.ex.x*e+t.ey.x*i,n.y=t.ex.y*e+t.ey.y*i,n},t.IDENTITY=new t,t})(),F=(function(){function t(t){void 0===t&&(t=0),this.s=0,this.c=1,t&&(this.s=Math.sin(t),this.c=Math.cos(t))}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.s=t.s,this.c=t.c,this},t.prototype.SetAngle=function(t){return this.s=Math.sin(t),this.c=Math.cos(t),this},t.prototype.SetIdentity=function(){return this.s=0,this.c=1,this},t.prototype.GetAngle=function(){return Math.atan2(this.s,this.c)},t.prototype.GetXAxis=function(t){return t.x=this.c,t.y=this.s,t},t.prototype.GetYAxis=function(t){return t.x=-this.s,t.y=this.c,t},t.MulRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,a=e.s;return i.s=r*s+n*a,i.c=n*s-r*a,i},t.MulTRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,a=e.s;return i.s=n*a-r*s,i.c=n*s+r*a,i},t.MulRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,a=e.y;return i.x=n*s-r*a,i.y=r*s+n*a,i},t.MulTRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,a=e.y;return i.x=n*s+r*a,i.y=-r*s+n*a,i},t.IDENTITY=new t,t})(),V=(function(){function t(){this.p=new I,this.q=new F}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.p.Copy(t.p),this.q.Copy(t.q),this},t.prototype.SetIdentity=function(){return this.p.SetZero(),this.q.SetIdentity(),this},t.prototype.SetPositionRotation=function(t,e){return this.p.Copy(t),this.q.Copy(e),this},t.prototype.SetPositionAngle=function(t,e){return this.p.Copy(t),this.q.SetAngle(e),this},t.prototype.SetPosition=function(t){return this.p.Copy(t),this},t.prototype.SetPositionXY=function(t,e){return this.p.Set(t,e),this},t.prototype.SetRotation=function(t){return this.q.Copy(t),this},t.prototype.SetRotationAngle=function(t){return this.q.SetAngle(t),this},t.prototype.GetPosition=function(){return this.p},t.prototype.GetRotation=function(){return this.q},t.prototype.GetRotationAngle=function(){return this.q.GetAngle()},t.prototype.GetAngle=function(){return this.q.GetAngle()},t.MulXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x,a=e.y;return i.x=n*s-r*a+t.p.x,i.y=r*s+n*a+t.p.y,i},t.MulTXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x-t.p.x,a=e.y-t.p.y;return i.x=n*s+r*a,i.y=-r*s+n*a,i},t.MulXX=function(t,e,i){return F.MulRR(t.q,e.q,i.q),I.AddVV(F.MulRV(t.q,e.p,i.p),t.p,i.p),i},t.MulTXX=function(t,e,i){return F.MulTRR(t.q,e.q,i.q),F.MulTRV(t.q,I.SubVV(e.p,t.p,i.p),i.p),i},t.IDENTITY=new t,t})(),N=(function(){function t(){this.localCenter=new I,this.c0=new I,this.c=new I,this.a0=0,this.a=0,this.alpha0=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.localCenter.Copy(t.localCenter),this.c0.Copy(t.c0),this.c.Copy(t.c),this.a0=t.a0,this.a=t.a,this.alpha0=t.alpha0,this},t.prototype.GetTransform=function(t,e){var i=1-e;t.p.x=i*this.c0.x+e*this.c.x,t.p.y=i*this.c0.y+e*this.c.y;var n=i*this.a0+e*this.a;return t.q.SetAngle(n),t.p.SelfSub(F.MulRV(t.q,this.localCenter,I.s_t0)),t},t.prototype.Advance=function(t){var e=(t-this.alpha0)/(1-this.alpha0),i=1-e;this.c0.x=i*this.c0.x+e*this.c.x,this.c0.y=i*this.c0.y+e*this.c.y,this.a0=i*this.a0+e*this.a,this.alpha0=t},t.prototype.Normalize=function(){var t=6.28318530718*Math.floor(this.a0/6.28318530718);this.a0-=t,this.a-=t},t})(),k=(function(){function t(t,e,i,n){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=.5),void 0===n&&(n=1),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.IsEqual=function(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a},t.prototype.IsZero=function(){return 0===this.r&&0===this.g&&0===this.b&&0===this.a},t.prototype.Set=function(t,e,i,n){void 0===n&&(n=this.a),this.SetRGBA(t,e,i,n)},t.prototype.SetByteRGB=function(t,e,i){return this.r=t/255,this.g=e/255,this.b=i/255,this},t.prototype.SetByteRGBA=function(t,e,i,n){return this.r=t/255,this.g=e/255,this.b=i/255,this.a=n/255,this},t.prototype.SetRGB=function(t,e,i){return this.r=t,this.g=e,this.b=i,this},t.prototype.SetRGBA=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,this},t.prototype.SelfAdd=function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this},t.prototype.Add=function(t,e){return e.r=this.r+t.r,e.g=this.g+t.g,e.b=this.b+t.b,e.a=this.a+t.a,e},t.prototype.SelfSub=function(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this},t.prototype.Sub=function(t,e){return e.r=this.r-t.r,e.g=this.g-t.g,e.b=this.b-t.b,e.a=this.a-t.a,e},t.prototype.SelfMul=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},t.prototype.Mul=function(t,e){return e.r=this.r*t,e.g=this.g*t,e.b=this.b*t,e.a=this.a*t,e},t.prototype.Mix=function(e,i){t.MixColors(this,e,i)},t.MixColors=function(t,e,i){var n=i*(e.r-t.r),r=i*(e.g-t.g),s=i*(e.b-t.b),a=i*(e.a-t.a);t.r+=n,t.g+=r,t.b+=s,t.a+=a,e.r-=n,e.g-=r,e.b-=s,e.a-=a},t.prototype.MakeStyleString=function(e){return void 0===e&&(e=this.a),t.MakeStyleString(this.r,this.g,this.b,e)},t.MakeStyleString=function(t,e,i,n){return void 0===n&&(n=1),t*=255,e*=255,i*=255,n<1?"rgba("+t+","+e+","+i+","+n+")":"rgb("+t+","+e+","+i+")"},t.ZERO=new t(0,0,0,0),t.RED=new t(1,0,0),t.GREEN=new t(0,1,0),t.BLUE=new t(0,0,1),t})();(C=t.b2DrawFlags||(t.b2DrawFlags={}))[C.e_none=0]="e_none",C[C.e_shapeBit=1]="e_shapeBit",C[C.e_jointBit=2]="e_jointBit",C[C.e_aabbBit=4]="e_aabbBit",C[C.e_pairBit=8]="e_pairBit",C[C.e_centerOfMassBit=16]="e_centerOfMassBit",C[C.e_particleBit=32]="e_particleBit",C[C.e_controllerBit=64]="e_controllerBit",C[C.e_all=63]="e_all";var z=(function(){function t(){this.m_drawFlags=0}return t.prototype.SetFlags=function(t){this.m_drawFlags=t},t.prototype.GetFlags=function(){return this.m_drawFlags},t.prototype.AppendFlags=function(t){this.m_drawFlags|=t},t.prototype.ClearFlags=function(t){this.m_drawFlags&=~t},t})(),G=(function(){function t(){this.m_start=Date.now()}return t.prototype.Reset=function(){return this.m_start=Date.now(),this},t.prototype.GetMilliseconds=function(){return Date.now()-this.m_start},t})(),U=(function(){function t(){this.m_count=0,this.m_min_count=0,this.m_max_count=0}return t.prototype.GetCount=function(){return this.m_count},t.prototype.GetMinCount=function(){return this.m_min_count},t.prototype.GetMaxCount=function(){return this.m_max_count},t.prototype.ResetCount=function(){var t=this.m_count;return this.m_count=0,t},t.prototype.ResetMinCount=function(){this.m_min_count=0},t.prototype.ResetMaxCount=function(){this.m_max_count=0},t.prototype.Increment=function(){this.m_count++,this.m_max_count<this.m_count&&(this.m_max_count=this.m_count)},t.prototype.Decrement=function(){this.m_count--,this.m_min_count>this.m_count&&(this.m_min_count=this.m_count)},t})(),j=(function(){function t(t){this.m_stack=[],this.m_count=0,this.m_stack=d(t,(function(){return null})),this.m_count=0}return t.prototype.Reset=function(){return this.m_count=0,this},t.prototype.Push=function(t){this.m_stack[this.m_count]=t,this.m_count++},t.prototype.Pop=function(){this.m_count--;var t=this.m_stack[this.m_count];if(this.m_stack[this.m_count]=null,null===t)throw new Error;return t},t.prototype.GetCount=function(){return this.m_count},t})(),H=(function(){function t(){this.m_buffer=I.MakeArray(2),this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0}return t.prototype.Copy=function(t){return t.m_vertices===t.m_buffer?(this.m_vertices=this.m_buffer,this.m_buffer[0].Copy(t.m_buffer[0]),this.m_buffer[1].Copy(t.m_buffer[1])):this.m_vertices=t.m_vertices,this.m_count=t.m_count,this.m_radius=t.m_radius,this},t.prototype.Reset=function(){return this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0,this},t.prototype.SetShape=function(t,e){t.SetupDistanceProxy(this,e)},t.prototype.SetVerticesRadius=function(t,e,i){this.m_vertices=t,this.m_count=e,this.m_radius=i},t.prototype.GetSupport=function(t){for(var e=0,i=I.DotVV(this.m_vertices[0],t),n=1;n<this.m_count;++n){var r=I.DotVV(this.m_vertices[n],t);r>i&&(e=n,i=r)}return e},t.prototype.GetSupportVertex=function(t){for(var e=0,i=I.DotVV(this.m_vertices[0],t),n=1;n<this.m_count;++n){var r=I.DotVV(this.m_vertices[n],t);r>i&&(e=n,i=r)}return this.m_vertices[e]},t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertex=function(t){return this.m_vertices[t]},t})(),W=(function(){function t(){this.metric=0,this.count=0,this.indexA=[0,0,0],this.indexB=[0,0,0]}return t.prototype.Reset=function(){return this.metric=0,this.count=0,this},t})(),X=(function(){function t(){this.proxyA=new H,this.proxyB=new H,this.transformA=new V,this.transformB=new V,this.useRadii=!1}return t.prototype.Reset=function(){return this.proxyA.Reset(),this.proxyB.Reset(),this.transformA.SetIdentity(),this.transformB.SetIdentity(),this.useRadii=!1,this},t})(),Y=(function(){function t(){this.pointA=new I,this.pointB=new I,this.distance=0,this.iterations=0}return t.prototype.Reset=function(){return this.pointA.SetZero(),this.pointB.SetZero(),this.distance=0,this.iterations=0,this},t})();t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0;var q=(function(){function t(){this.wA=new I,this.wB=new I,this.w=new I,this.a=0,this.indexA=0,this.indexB=0}return t.prototype.Copy=function(t){return this.wA.Copy(t.wA),this.wB.Copy(t.wB),this.w.Copy(t.w),this.a=t.a,this.indexA=t.indexA,this.indexB=t.indexB,this},t})(),J=(function(){function t(){this.m_v1=new q,this.m_v2=new q,this.m_v3=new q,this.m_vertices=[],this.m_count=0,this.m_vertices[0]=this.m_v1,this.m_vertices[1]=this.m_v2,this.m_vertices[2]=this.m_v3}return t.prototype.ReadCache=function(t,e,i,r,s){this.m_count=t.count;for(var a=this.m_vertices,o=0;o<this.m_count;++o){(_=a[o]).indexA=t.indexA[o],_.indexB=t.indexB[o];var l=e.GetVertex(_.indexA),c=r.GetVertex(_.indexB);V.MulXV(i,l,_.wA),V.MulXV(s,c,_.wB),I.SubVV(_.wB,_.wA,_.w),_.a=0}if(this.m_count>1){var h=t.metric,u=this.GetMetric();(u<.5*h||2*h<u||u<n)&&(this.m_count=0)}var _;0===this.m_count&&((_=a[0]).indexA=0,_.indexB=0,l=e.GetVertex(0),c=r.GetVertex(0),V.MulXV(i,l,_.wA),V.MulXV(s,c,_.wB),I.SubVV(_.wB,_.wA,_.w),_.a=1,this.m_count=1)},t.prototype.WriteCache=function(t){t.metric=this.GetMetric(),t.count=this.m_count;for(var e=this.m_vertices,i=0;i<this.m_count;++i)t.indexA[i]=e[i].indexA,t.indexB[i]=e[i].indexB},t.prototype.GetSearchDirection=function(t){switch(this.m_count){case 1:return I.NegV(this.m_v1.w,t);case 2:var e=I.SubVV(this.m_v2.w,this.m_v1.w,t);return I.CrossVV(e,I.NegV(this.m_v1.w,I.s_t0))>0?I.CrossOneV(e,t):I.CrossVOne(e,t);default:return t.SetZero()}},t.prototype.GetClosestPoint=function(t){switch(this.m_count){case 0:return t.SetZero();case 1:return t.Copy(this.m_v1.w);case 2:return t.Set(this.m_v1.a*this.m_v1.w.x+this.m_v2.a*this.m_v2.w.x,this.m_v1.a*this.m_v1.w.y+this.m_v2.a*this.m_v2.w.y);case 3:default:return t.SetZero()}},t.prototype.GetWitnessPoints=function(t,e){switch(this.m_count){case 0:break;case 1:t.Copy(this.m_v1.wA),e.Copy(this.m_v1.wB);break;case 2:t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x,t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y,e.x=this.m_v1.a*this.m_v1.wB.x+this.m_v2.a*this.m_v2.wB.x,e.y=this.m_v1.a*this.m_v1.wB.y+this.m_v2.a*this.m_v2.wB.y;break;case 3:e.x=t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x+this.m_v3.a*this.m_v3.wA.x,e.y=t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y+this.m_v3.a*this.m_v3.wA.y}},t.prototype.GetMetric=function(){switch(this.m_count){case 0:case 1:return 0;case 2:return I.DistanceVV(this.m_v1.w,this.m_v2.w);case 3:return I.CrossVV(I.SubVV(this.m_v2.w,this.m_v1.w,I.s_t0),I.SubVV(this.m_v3.w,this.m_v1.w,I.s_t1));default:return 0}},t.prototype.Solve2=function(){var e=this.m_v1.w,i=this.m_v2.w,n=I.SubVV(i,e,t.s_e12),r=-I.DotVV(e,n);if(r<=0)return this.m_v1.a=1,void(this.m_count=1);var s=I.DotVV(i,n);if(s<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);var a=1/(s+r);this.m_v1.a=s*a,this.m_v2.a=r*a,this.m_count=2},t.prototype.Solve3=function(){var e=this.m_v1.w,i=this.m_v2.w,n=this.m_v3.w,r=I.SubVV(i,e,t.s_e12),s=I.DotVV(e,r),a=I.DotVV(i,r),o=-s,l=I.SubVV(n,e,t.s_e13),c=I.DotVV(e,l),h=I.DotVV(n,l),u=-c,_=I.SubVV(n,i,t.s_e23),f=I.DotVV(i,_),d=I.DotVV(n,_),p=-f,m=I.CrossVV(r,l),y=m*I.CrossVV(i,n),v=m*I.CrossVV(n,e),g=m*I.CrossVV(e,i);if(o<=0&&u<=0)return this.m_v1.a=1,void(this.m_count=1);if(a>0&&o>0&&g<=0){var b=1/(a+o);return this.m_v1.a=a*b,this.m_v2.a=o*b,void(this.m_count=2)}if(h>0&&u>0&&v<=0){var A=1/(h+u);return this.m_v1.a=h*A,this.m_v3.a=u*A,this.m_count=2,void this.m_v2.Copy(this.m_v3)}if(a<=0&&p<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);if(h<=0&&d<=0)return this.m_v3.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v3);if(d>0&&p>0&&y<=0){var x=1/(d+p);return this.m_v2.a=d*x,this.m_v3.a=p*x,this.m_count=2,void this.m_v1.Copy(this.m_v3)}var C=1/(y+v+g);this.m_v1.a=y*C,this.m_v2.a=v*C,this.m_v3.a=g*C,this.m_count=3},t.s_e12=new I,t.s_e13=new I,t.s_e23=new I,t})(),Z=new J,K=[0,0,0],Q=[0,0,0],$=new I,tt=new I,et=new I,it=new I,nt=new I;function rt(e,i,s){++t.b2_gjkCalls;var a=s.proxyA,o=s.proxyB,l=s.transformA,c=s.transformB,h=Z;h.ReadCache(i,a,l,o,c);for(var u=h.m_vertices,_=K,f=Q,d=0,p=0;p<20;){d=h.m_count;for(var m=0;m<d;++m)_[m]=u[m].indexA,f[m]=u[m].indexB;switch(h.m_count){case 1:break;case 2:h.Solve2();break;case 3:h.Solve3()}if(3===h.m_count)break;var y=h.GetSearchDirection(tt);if(y.LengthSquared()<r)break;var g=u[h.m_count];g.indexA=a.GetSupport(F.MulTRV(l.q,I.NegV(y,I.s_t0),it)),V.MulXV(l,a.GetVertex(g.indexA),g.wA),g.indexB=o.GetSupport(F.MulTRV(c.q,y,nt)),V.MulXV(c,o.GetVertex(g.indexB),g.wB),I.SubVV(g.wB,g.wA,g.w),++p,++t.b2_gjkIters;var b=!1;for(m=0;m<d;++m)if(g.indexA===_[m]&&g.indexB===f[m]){b=!0;break}if(b)break;++h.m_count}if(t.b2_gjkMaxIters=v(t.b2_gjkMaxIters,p),h.GetWitnessPoints(e.pointA,e.pointB),e.distance=I.DistanceVV(e.pointA,e.pointB),e.iterations=p,h.WriteCache(i),s.useRadii){var A=a.m_radius,x=o.m_radius;if(e.distance>A+x&&e.distance>n){e.distance-=A+x;var C=I.SubVV(e.pointB,e.pointA,et);C.Normalize(),e.pointA.SelfMulAdd(A,C),e.pointB.SelfMulSub(x,C)}else{var T=I.MidVV(e.pointA,e.pointB,$);e.pointA.Copy(T),e.pointB.Copy(T),e.distance=0}}}var st,at=new I,ot=new J,lt=new I,ct=new I,ht=new I,ut=new I,_t=new I,ft=new I;(st=t.b2ContactFeatureType||(t.b2ContactFeatureType={}))[st.e_vertex=0]="e_vertex",st[st.e_face=1]="e_face";var dt,pt=(function(){function t(){this._key=0,this._key_invalid=!1,this._indexA=0,this._indexB=0,this._typeA=0,this._typeB=0}return Object.defineProperty(t.prototype,"key",{get:function(){return this._key_invalid&&(this._key_invalid=!1,this._key=this._indexA|this._indexB<<8|this._typeA<<16|this._typeB<<24),this._key},set:function(t){this._key=t,this._key_invalid=!1,this._indexA=255&this._key,this._indexB=this._key>>8&255,this._typeA=this._key>>16&255,this._typeB=this._key>>24&255},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexA",{get:function(){return this._indexA},set:function(t){this._indexA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexB",{get:function(){return this._indexB},set:function(t){this._indexB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeA",{get:function(){return this._typeA},set:function(t){this._typeA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeB",{get:function(){return this._typeB},set:function(t){this._typeB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),t})(),mt=(function(){function t(){this.cf=new pt}return t.prototype.Copy=function(t){return this.key=t.key,this},t.prototype.Clone=function(){return(new t).Copy(this)},Object.defineProperty(t.prototype,"key",{get:function(){return this.cf.key},set:function(t){this.cf.key=t},enumerable:!0,configurable:!0}),t})(),yt=(function(){function t(){this.localPoint=new I,this.normalImpulse=0,this.tangentImpulse=0,this.id=new mt}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t.prototype.Reset=function(){this.localPoint.SetZero(),this.normalImpulse=0,this.tangentImpulse=0,this.id.key=0},t.prototype.Copy=function(t){return this.localPoint.Copy(t.localPoint),this.normalImpulse=t.normalImpulse,this.tangentImpulse=t.tangentImpulse,this.id.Copy(t.id),this},t})();(dt=t.b2ManifoldType||(t.b2ManifoldType={}))[dt.e_unknown=-1]="e_unknown",dt[dt.e_circles=0]="e_circles",dt[dt.e_faceA=1]="e_faceA",dt[dt.e_faceB=2]="e_faceB";var vt,gt=(function(){function e(){this.points=yt.MakeArray(a),this.localNormal=new I,this.localPoint=new I,this.type=t.b2ManifoldType.e_unknown,this.pointCount=0}return e.prototype.Reset=function(){for(var e=0;e<a;++e)this.points[e].Reset();this.localNormal.SetZero(),this.localPoint.SetZero(),this.type=t.b2ManifoldType.e_unknown,this.pointCount=0},e.prototype.Copy=function(t){this.pointCount=t.pointCount;for(var e=0;e<a;++e)this.points[e].Copy(t.points[e]);return this.localNormal.Copy(t.localNormal),this.localPoint.Copy(t.localPoint),this.type=t.type,this},e.prototype.Clone=function(){return(new e).Copy(this)},e})(),bt=(function(){function e(){this.normal=new I,this.points=I.MakeArray(a),this.separations=p(a)}return e.prototype.Initialize=function(i,n,s,a,o){if(0!==i.pointCount)switch(i.type){case t.b2ManifoldType.e_circles:this.normal.Set(1,0);var l=V.MulXV(n,i.localPoint,e.Initialize_s_pointA),c=V.MulXV(a,i.points[0].localPoint,e.Initialize_s_pointB);I.DistanceSquaredVV(l,c)>r&&I.SubVV(c,l,this.normal).SelfNormalize();var h=I.AddVMulSV(l,s,this.normal,e.Initialize_s_cA),u=I.SubVMulSV(c,o,this.normal,e.Initialize_s_cB);I.MidVV(h,u,this.points[0]),this.separations[0]=I.DotVV(I.SubVV(u,h,I.s_t0),this.normal);break;case t.b2ManifoldType.e_faceA:F.MulRV(n.q,i.localNormal,this.normal);for(var _=V.MulXV(n,i.localPoint,e.Initialize_s_planePoint),f=0;f<i.pointCount;++f){var d=V.MulXV(a,i.points[f].localPoint,e.Initialize_s_clipPoint),p=s-I.DotVV(I.SubVV(d,_,I.s_t0),this.normal);h=I.AddVMulSV(d,p,this.normal,e.Initialize_s_cA),u=I.SubVMulSV(d,o,this.normal,e.Initialize_s_cB),I.MidVV(h,u,this.points[f]),this.separations[f]=I.DotVV(I.SubVV(u,h,I.s_t0),this.normal)}break;case t.b2ManifoldType.e_faceB:for(F.MulRV(a.q,i.localNormal,this.normal),_=V.MulXV(a,i.localPoint,e.Initialize_s_planePoint),f=0;f<i.pointCount;++f)d=V.MulXV(n,i.points[f].localPoint,e.Initialize_s_clipPoint),p=o-I.DotVV(I.SubVV(d,_,I.s_t0),this.normal),u=I.AddVMulSV(d,p,this.normal,e.Initialize_s_cB),h=I.SubVMulSV(d,s,this.normal,e.Initialize_s_cA),I.MidVV(h,u,this.points[f]),this.separations[f]=I.DotVV(I.SubVV(h,u,I.s_t0),this.normal);this.normal.SelfNeg()}},e.Initialize_s_pointA=new I,e.Initialize_s_pointB=new I,e.Initialize_s_cA=new I,e.Initialize_s_cB=new I,e.Initialize_s_planePoint=new I,e.Initialize_s_clipPoint=new I,e})();(vt=t.b2PointState||(t.b2PointState={}))[vt.b2_nullState=0]="b2_nullState",vt[vt.b2_addState=1]="b2_addState",vt[vt.b2_persistState=2]="b2_persistState",vt[vt.b2_removeState=3]="b2_removeState";var At=(function(){function t(){this.v=new I,this.id=new mt}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t.prototype.Copy=function(t){return this.v.Copy(t.v),this.id.Copy(t.id),this},t})(),xt=(function(){function t(){this.p1=new I,this.p2=new I,this.maxFraction=1}return t.prototype.Copy=function(t){return this.p1.Copy(t.p1),this.p2.Copy(t.p2),this.maxFraction=t.maxFraction,this},t})(),Ct=(function(){function t(){this.normal=new I,this.fraction=0}return t.prototype.Copy=function(t){return this.normal.Copy(t.normal),this.fraction=t.fraction,this},t})(),Tt=(function(){function t(){this.lowerBound=new I,this.upperBound=new I,this.m_cache_center=new I,this.m_cache_extent=new I}return t.prototype.Copy=function(t){return this.lowerBound.Copy(t.lowerBound),this.upperBound.Copy(t.upperBound),this},t.prototype.IsValid=function(){var t=this.upperBound.x-this.lowerBound.x,e=this.upperBound.y-this.lowerBound.y,i=t>=0&&e>=0;return i&&this.lowerBound.IsValid()&&this.upperBound.IsValid()},t.prototype.GetCenter=function(){return I.MidVV(this.lowerBound,this.upperBound,this.m_cache_center)},t.prototype.GetExtents=function(){return I.ExtVV(this.lowerBound,this.upperBound,this.m_cache_extent)},t.prototype.GetPerimeter=function(){return 2*(this.upperBound.x-this.lowerBound.x+(this.upperBound.y-this.lowerBound.y))},t.prototype.Combine1=function(t){return this.lowerBound.x=y(this.lowerBound.x,t.lowerBound.x),this.lowerBound.y=y(this.lowerBound.y,t.lowerBound.y),this.upperBound.x=v(this.upperBound.x,t.upperBound.x),this.upperBound.y=v(this.upperBound.y,t.upperBound.y),this},t.prototype.Combine2=function(t,e){return this.lowerBound.x=y(t.lowerBound.x,e.lowerBound.x),this.lowerBound.y=y(t.lowerBound.y,e.lowerBound.y),this.upperBound.x=v(t.upperBound.x,e.upperBound.x),this.upperBound.y=v(t.upperBound.y,e.upperBound.y),this},t.Combine=function(t,e,i){return i.Combine2(t,e),i},t.prototype.Contains=function(t){var e=!0;return(e=(e=(e=e&&this.lowerBound.x<=t.lowerBound.x)&&this.lowerBound.y<=t.lowerBound.y)&&t.upperBound.x<=this.upperBound.x)&&t.upperBound.y<=this.upperBound.y},t.prototype.RayCast=function(t,e){var r,s,a=-i,o=i,l=e.p1.x,c=e.p1.y,h=e.p2.x-e.p1.x,u=e.p2.y-e.p1.y,_=m(h),f=m(u),d=t.normal;if(_<n){if(l<this.lowerBound.x||this.upperBound.x<l)return!1}else{var p=1/h,v=-1;if((r=(this.lowerBound.x-l)*p)>(s=(this.upperBound.x-l)*p)){var g=r;r=s,s=g,v=1}if(r>a&&(d.x=v,d.y=0,a=r),a>(o=y(o,s)))return!1}if(f<n){if(c<this.lowerBound.y||this.upperBound.y<c)return!1}else if(p=1/u,v=-1,(r=(this.lowerBound.y-c)*p)>(s=(this.upperBound.y-c)*p)&&(g=r,r=s,s=g,v=1),r>a&&(d.x=0,d.y=v,a=r),a>(o=y(o,s)))return!1;return!(a<0||e.maxFraction<a||(t.fraction=a,0))},t.prototype.TestContain=function(t){return!(t.x<this.lowerBound.x||this.upperBound.x<t.x||t.y<this.lowerBound.y||this.upperBound.y<t.y)},t.prototype.TestOverlap=function(t){var e=t.lowerBound.x-this.upperBound.x,i=t.lowerBound.y-this.upperBound.y,n=this.lowerBound.x-t.upperBound.x,r=this.lowerBound.y-t.upperBound.y;return!(e>0||i>0||n>0||r>0)},t})();function St(t,e){var i=e.lowerBound.x-t.upperBound.x,n=e.lowerBound.y-t.upperBound.y,r=t.lowerBound.x-e.upperBound.x,s=t.lowerBound.y-e.upperBound.y;return!(i>0||n>0||r>0||s>0)}function wt(e,i,n,r,s){var a=0,o=i[0],l=i[1],c=I.DotVV(n,o.v)-r,h=I.DotVV(n,l.v)-r;if(c<=0&&e[a++].Copy(o),h<=0&&e[a++].Copy(l),c*h<0){var u=c/(c-h),_=e[a].v;_.x=o.v.x+u*(l.v.x-o.v.x),_.y=o.v.y+u*(l.v.y-o.v.y);var f=e[a].id;f.cf.indexA=s,f.cf.indexB=o.id.cf.indexB,f.cf.typeA=t.b2ContactFeatureType.e_vertex,f.cf.typeB=t.b2ContactFeatureType.e_face,++a}return a}var Et=new X,Mt=new W,Dt=new Y;function Bt(t,e,i,r,s,a){var o=Et.Reset();o.proxyA.SetShape(t,e),o.proxyB.SetShape(i,r),o.transformA.Copy(s),o.transformB.Copy(a),o.useRadii=!0;var l=Mt.Reset();l.count=0;var c=Dt.Reset();return rt(c,l,o),c.distance<10*n}function It(t){if(null===t)throw new Error;return t}var Pt=(function(){function t(t){void 0===t&&(t=0),this.m_id=0,this.aabb=new Tt,this.parent=null,this.child1=null,this.child2=null,this.height=0,this.m_id=t}return t.prototype.IsLeaf=function(){return null===this.child1},t})(),Rt=(function(){function t(){this.m_root=null,this.m_freeList=null,this.m_path=0,this.m_insertionCount=0,this.m_stack=new j(256)}return t.prototype.Query=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestOverlap(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(It(n.child1)),i.Push(It(n.child2))}}},t.prototype.QueryPoint=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestContain(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(It(n.child1)),i.Push(It(n.child2))}}},t.prototype.RayCast=function(e,i){if(null!==this.m_root){var n=e.p1,r=e.p2,s=I.SubVV(r,n,t.s_r);s.Normalize();var a=I.CrossOneV(s,t.s_v),o=I.AbsV(a,t.s_abs_v),l=e.maxFraction,c=t.s_segmentAABB,h=n.x+l*(r.x-n.x),u=n.y+l*(r.y-n.y);c.lowerBound.x=y(n.x,h),c.lowerBound.y=y(n.y,u),c.upperBound.x=v(n.x,h),c.upperBound.y=v(n.y,u);var _=this.m_stack.Reset();for(_.Push(this.m_root);_.GetCount()>0;){var f=_.Pop();if(St(f.aabb,c)){var d=f.aabb.GetCenter(),p=f.aabb.GetExtents();if(!(m(I.DotVV(a,I.SubVV(n,d,I.s_t0)))-I.DotVV(o,p)>0))if(f.IsLeaf()){var g=t.s_subInput;g.p1.Copy(e.p1),g.p2.Copy(e.p2),g.maxFraction=l;var b=i(g,f);if(0===b)return;b>0&&(l=b,h=n.x+l*(r.x-n.x),u=n.y+l*(r.y-n.y),c.lowerBound.x=y(n.x,h),c.lowerBound.y=y(n.y,u),c.upperBound.x=v(n.x,h),c.upperBound.y=v(n.y,u))}else _.Push(It(f.child1)),_.Push(It(f.child2))}}}},t.prototype.AllocateNode=function(){if(this.m_freeList){var e=this.m_freeList;return this.m_freeList=e.parent,e.parent=null,e.child1=null,e.child2=null,e.height=0,delete e.userData,e}return new Pt(t.s_node_id++)},t.prototype.FreeNode=function(t){t.parent=this.m_freeList,t.child1=null,t.child2=null,t.height=-1,delete t.userData,this.m_freeList=t},t.prototype.CreateProxy=function(t,e){var i=this.AllocateNode();return i.aabb.lowerBound.x=t.lowerBound.x-.1,i.aabb.lowerBound.y=t.lowerBound.y-.1,i.aabb.upperBound.x=t.upperBound.x+.1,i.aabb.upperBound.y=t.upperBound.y+.1,i.userData=e,i.height=0,this.InsertLeaf(i),i},t.prototype.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},t.prototype.MoveProxy=function(t,e,i){if(t.aabb.Contains(e))return!1;this.RemoveLeaf(t);var n=.1+2*(i.x>0?i.x:-i.x),r=.1+2*(i.y>0?i.y:-i.y);return t.aabb.lowerBound.x=e.lowerBound.x-n,t.aabb.lowerBound.y=e.lowerBound.y-r,t.aabb.upperBound.x=e.upperBound.x+n,t.aabb.upperBound.y=e.upperBound.y+r,this.InsertLeaf(t),!0},t.prototype.InsertLeaf=function(e){if(++this.m_insertionCount,null===this.m_root)return this.m_root=e,void(this.m_root.parent=null);for(var i=e.aabb,n=this.m_root;!n.IsLeaf();){var r=It(n.child1),s=It(n.child2),a=n.aabb.GetPerimeter(),o=t.s_combinedAABB;o.Combine2(n.aabb,i);var l=o.GetPerimeter(),c=2*l,h=2*(l-a),u=void 0,_=t.s_aabb,f=void 0;r.IsLeaf()?(_.Combine2(i,r.aabb),u=_.GetPerimeter()+h):(_.Combine2(i,r.aabb),f=r.aabb.GetPerimeter(),u=_.GetPerimeter()-f+h);var d=void 0;if(s.IsLeaf()?(_.Combine2(i,s.aabb),d=_.GetPerimeter()+h):(_.Combine2(i,s.aabb),f=s.aabb.GetPerimeter(),d=_.GetPerimeter()-f+h),c<u&&c<d)break;n=u<d?r:s}var p=n,m=p.parent,y=this.AllocateNode();y.parent=m,delete y.userData,y.aabb.Combine2(i,p.aabb),y.height=p.height+1,m?(m.child1===p?m.child1=y:m.child2=y,y.child1=p,y.child2=e,p.parent=y,e.parent=y):(y.child1=p,y.child2=e,p.parent=y,e.parent=y,this.m_root=y);for(var g=e.parent;null!==g;)r=It((g=this.Balance(g)).child1),s=It(g.child2),g.height=1+v(r.height,s.height),g.aabb.Combine2(r.aabb,s.aabb),g=g.parent},t.prototype.RemoveLeaf=function(t){if(t!==this.m_root){var e,i=It(t.parent),n=i&&i.parent;if(e=i.child1===t?It(i.child2):It(i.child1),n){n.child1===i?n.child1=e:n.child2=e,e.parent=n,this.FreeNode(i);for(var r=n;r;){var s=It((r=this.Balance(r)).child1),a=It(r.child2);r.aabb.Combine2(s.aabb,a.aabb),r.height=1+v(s.height,a.height),r=r.parent}}else this.m_root=e,e.parent=null,this.FreeNode(i)}else this.m_root=null},t.prototype.Balance=function(t){if(t.IsLeaf()||t.height<2)return t;var e=It(t.child1),i=It(t.child2),n=i.height-e.height;if(n>1){var r=It(i.child1),s=It(i.child2);return i.child1=t,i.parent=t.parent,t.parent=i,null!==i.parent?i.parent.child1===t?i.parent.child1=i:i.parent.child2=i:this.m_root=i,r.height>s.height?(i.child2=r,t.child2=s,s.parent=t,t.aabb.Combine2(e.aabb,s.aabb),i.aabb.Combine2(t.aabb,r.aabb),t.height=1+v(e.height,s.height),i.height=1+v(t.height,r.height)):(i.child2=s,t.child2=r,r.parent=t,t.aabb.Combine2(e.aabb,r.aabb),i.aabb.Combine2(t.aabb,s.aabb),t.height=1+v(e.height,r.height),i.height=1+v(t.height,s.height)),i}if(n<-1){var a=It(e.child1),o=It(e.child2);return e.child1=t,e.parent=t.parent,t.parent=e,null!==e.parent?e.parent.child1===t?e.parent.child1=e:e.parent.child2=e:this.m_root=e,a.height>o.height?(e.child2=a,t.child1=o,o.parent=t,t.aabb.Combine2(i.aabb,o.aabb),e.aabb.Combine2(t.aabb,a.aabb),t.height=1+v(i.height,o.height),e.height=1+v(t.height,a.height)):(e.child2=o,t.child1=a,a.parent=t,t.aabb.Combine2(i.aabb,a.aabb),e.aabb.Combine2(t.aabb,o.aabb),t.height=1+v(i.height,a.height),e.height=1+v(t.height,o.height)),e}return t},t.prototype.GetHeight=function(){return null===this.m_root?0:this.m_root.height},t.GetAreaNode=function(e){if(null===e)return 0;if(e.IsLeaf())return 0;var i=e.aabb.GetPerimeter();return(i+=t.GetAreaNode(e.child1))+t.GetAreaNode(e.child2)},t.prototype.GetAreaRatio=function(){if(null===this.m_root)return 0;var e=this.m_root.aabb.GetPerimeter();return t.GetAreaNode(this.m_root)/e},t.prototype.ComputeHeightNode=function(t){if(!t||t.IsLeaf())return 0;var e=this.ComputeHeightNode(t.child1),i=this.ComputeHeightNode(t.child2);return 1+v(e,i)},t.prototype.ComputeHeight=function(){return this.ComputeHeightNode(this.m_root)},t.prototype.ValidateStructure=function(t){if(null!==t){this.m_root;var e=t;if(!e.IsLeaf()){var i=It(e.child1),n=It(e.child2);this.ValidateStructure(i),this.ValidateStructure(n)}}},t.prototype.ValidateMetrics=function(e){if(null!==e){var i=e;if(!i.IsLeaf()){var n=It(i.child1),r=It(i.child2);t.s_aabb.Combine2(n.aabb,r.aabb),this.ValidateMetrics(n),this.ValidateMetrics(r)}}},t.prototype.Validate=function(){},t.GetMaxBalanceNode=function(t,e){if(null===t)return e;if(t.height<=1)return e;var i=It(t.child1),n=It(t.child2),r=m(n.height-i.height);return v(e,r)},t.prototype.GetMaxBalance=function(){return t.GetMaxBalanceNode(this.m_root,0)},t.prototype.RebuildBottomUp=function(){this.Validate()},t.ShiftOriginNode=function(e,i){if(null!==e&&!(e.height<=1)){var n=e.child1,r=e.child2;t.ShiftOriginNode(n,i),t.ShiftOriginNode(r,i),e.aabb.lowerBound.SelfSub(i),e.aabb.upperBound.SelfSub(i)}},t.prototype.ShiftOrigin=function(e){t.ShiftOriginNode(this.m_root,e)},t.s_r=new I,t.s_v=new I,t.s_abs_v=new I,t.s_segmentAABB=new Tt,t.s_subInput=new xt,t.s_combinedAABB=new Tt,t.s_aabb=new Tt,t.s_node_id=0,t})(),Ot=function(t,e){this.proxyA=t,this.proxyB=e},Lt=(function(){function t(){this.m_tree=new Rt,this.m_proxyCount=0,this.m_moveCount=0,this.m_moveBuffer=[],this.m_pairCount=0,this.m_pairBuffer=[]}return t.prototype.CreateProxy=function(t,e){var i=this.m_tree.CreateProxy(t,e);return++this.m_proxyCount,this.BufferMove(i),i},t.prototype.DestroyProxy=function(t){this.UnBufferMove(t),--this.m_proxyCount,this.m_tree.DestroyProxy(t)},t.prototype.MoveProxy=function(t,e,i){this.m_tree.MoveProxy(t,e,i)&&this.BufferMove(t)},t.prototype.TouchProxy=function(t){this.BufferMove(t)},t.prototype.GetProxyCount=function(){return this.m_proxyCount},t.prototype.UpdatePairs=function(t){var e=this;this.m_pairCount=0;for(var i=function(t){var i=n.m_moveBuffer[t];if(null===i)return"continue";var r=i.aabb;n.m_tree.Query(r,(function(t){if(t.m_id===i.m_id)return!0;var n,r;if(t.m_id<i.m_id?(n=t,r=i):(n=i,r=t),e.m_pairCount===e.m_pairBuffer.length)e.m_pairBuffer[e.m_pairCount]=new Ot(n,r);else{var s=e.m_pairBuffer[e.m_pairCount];s.proxyA=n,s.proxyB=r}return++e.m_pairCount,!0}))},n=this,r=0;r<this.m_moveCount;++r)i(r);this.m_moveCount=0,this.m_pairBuffer.length=this.m_pairCount,this.m_pairBuffer.sort(Ft);for(var s=0;s<this.m_pairCount;){var a=this.m_pairBuffer[s],o=a.proxyA.userData,l=a.proxyB.userData;for(o&&l&&t(o,l),++s;s<this.m_pairCount;){var c=this.m_pairBuffer[s];if(c.proxyA.m_id!==a.proxyA.m_id||c.proxyB.m_id!==a.proxyB.m_id)break;++s}}},t.prototype.Query=function(t,e){this.m_tree.Query(t,e)},t.prototype.QueryPoint=function(t,e){this.m_tree.QueryPoint(t,e)},t.prototype.RayCast=function(t,e){this.m_tree.RayCast(t,e)},t.prototype.GetTreeHeight=function(){return this.m_tree.GetHeight()},t.prototype.GetTreeBalance=function(){return this.m_tree.GetMaxBalance()},t.prototype.GetTreeQuality=function(){return this.m_tree.GetAreaRatio()},t.prototype.ShiftOrigin=function(t){this.m_tree.ShiftOrigin(t)},t.prototype.BufferMove=function(t){this.m_moveBuffer[this.m_moveCount]=t,++this.m_moveCount},t.prototype.UnBufferMove=function(t){var e=this.m_moveBuffer.indexOf(t);this.m_moveBuffer[e]=null},t})();function Ft(t,e){return t.proxyA.m_id===e.proxyA.m_id?t.proxyB.m_id-e.proxyB.m_id:t.proxyA.m_id-e.proxyA.m_id}t.b2_toiTime=0,t.b2_toiMaxTime=0,t.b2_toiCalls=0,t.b2_toiIters=0,t.b2_toiMaxIters=0,t.b2_toiRootIters=0,t.b2_toiMaxRootIters=0;var Vt,Nt=new V,kt=new V,zt=new I,Gt=new I,Ut=new I,jt=new I,Ht=new I,Wt=function(){this.proxyA=new H,this.proxyB=new H,this.sweepA=new N,this.sweepB=new N,this.tMax=0};(Vt=t.b2TOIOutputState||(t.b2TOIOutputState={}))[Vt.e_unknown=0]="e_unknown",Vt[Vt.e_failed=1]="e_failed",Vt[Vt.e_overlapped=2]="e_overlapped",Vt[Vt.e_touching=3]="e_touching",Vt[Vt.e_separated=4]="e_separated";var Xt,Yt=function(){this.state=t.b2TOIOutputState.e_unknown,this.t=0};(Xt=t.b2SeparationFunctionType||(t.b2SeparationFunctionType={}))[Xt.e_unknown=-1]="e_unknown",Xt[Xt.e_points=0]="e_points",Xt[Xt.e_faceA=1]="e_faceA",Xt[Xt.e_faceB=2]="e_faceB";var qt=(function(){function e(){this.m_sweepA=new N,this.m_sweepB=new N,this.m_type=t.b2SeparationFunctionType.e_unknown,this.m_localPoint=new I,this.m_axis=new I}return e.prototype.Initialize=function(e,i,n,r,s,a){this.m_proxyA=i,this.m_proxyB=r;var o=e.count;this.m_sweepA.Copy(n),this.m_sweepB.Copy(s);var l=Nt,c=kt;if(this.m_sweepA.GetTransform(l,a),this.m_sweepB.GetTransform(c,a),1===o){this.m_type=t.b2SeparationFunctionType.e_points;var h=this.m_proxyA.GetVertex(e.indexA[0]),u=this.m_proxyB.GetVertex(e.indexB[0]),_=V.MulXV(l,h,zt),f=V.MulXV(c,u,Gt);I.SubVV(f,_,this.m_axis);var d=this.m_axis.Normalize();return this.m_localPoint.SetZero(),d}if(e.indexA[0]===e.indexA[1]){this.m_type=t.b2SeparationFunctionType.e_faceB;var p=this.m_proxyB.GetVertex(e.indexB[0]),m=this.m_proxyB.GetVertex(e.indexB[1]);I.CrossVOne(I.SubVV(m,p,I.s_t0),this.m_axis).SelfNormalize();var y=F.MulRV(c.q,this.m_axis,Ut);return I.MidVV(p,m,this.m_localPoint),f=V.MulXV(c,this.m_localPoint,Gt),h=this.m_proxyA.GetVertex(e.indexA[0]),_=V.MulXV(l,h,zt),(d=I.DotVV(I.SubVV(_,f,I.s_t0),y))<0&&(this.m_axis.SelfNeg(),d=-d),d}this.m_type=t.b2SeparationFunctionType.e_faceA;var v=this.m_proxyA.GetVertex(e.indexA[0]),g=this.m_proxyA.GetVertex(e.indexA[1]);return I.CrossVOne(I.SubVV(g,v,I.s_t0),this.m_axis).SelfNormalize(),y=F.MulRV(l.q,this.m_axis,Ut),I.MidVV(v,g,this.m_localPoint),_=V.MulXV(l,this.m_localPoint,zt),u=this.m_proxyB.GetVertex(e.indexB[0]),f=V.MulXV(c,u,Gt),(d=I.DotVV(I.SubVV(f,_,I.s_t0),y))<0&&(this.m_axis.SelfNeg(),d=-d),d},e.prototype.FindMinSeparation=function(e,i,n){var r=Nt,s=kt;switch(this.m_sweepA.GetTransform(r,n),this.m_sweepB.GetTransform(s,n),this.m_type){case t.b2SeparationFunctionType.e_points:var a=F.MulTRV(r.q,this.m_axis,jt),o=F.MulTRV(s.q,I.NegV(this.m_axis,I.s_t0),Ht);e[0]=this.m_proxyA.GetSupport(a),i[0]=this.m_proxyB.GetSupport(o);var l=this.m_proxyA.GetVertex(e[0]),c=this.m_proxyB.GetVertex(i[0]),h=V.MulXV(r,l,zt),u=V.MulXV(s,c,Gt);return I.DotVV(I.SubVV(u,h,I.s_t0),this.m_axis);case t.b2SeparationFunctionType.e_faceA:var _=F.MulRV(r.q,this.m_axis,Ut);return h=V.MulXV(r,this.m_localPoint,zt),o=F.MulTRV(s.q,I.NegV(_,I.s_t0),Ht),e[0]=-1,i[0]=this.m_proxyB.GetSupport(o),c=this.m_proxyB.GetVertex(i[0]),u=V.MulXV(s,c,Gt),I.DotVV(I.SubVV(u,h,I.s_t0),_);case t.b2SeparationFunctionType.e_faceB:return _=F.MulRV(s.q,this.m_axis,Ut),u=V.MulXV(s,this.m_localPoint,Gt),a=F.MulTRV(r.q,I.NegV(_,I.s_t0),jt),i[0]=-1,e[0]=this.m_proxyA.GetSupport(a),l=this.m_proxyA.GetVertex(e[0]),h=V.MulXV(r,l,zt),I.DotVV(I.SubVV(h,u,I.s_t0),_);default:return e[0]=-1,i[0]=-1,0}},e.prototype.Evaluate=function(e,i,n){var r=Nt,s=kt;switch(this.m_sweepA.GetTransform(r,n),this.m_sweepB.GetTransform(s,n),this.m_type){case t.b2SeparationFunctionType.e_points:var a=this.m_proxyA.GetVertex(e),o=this.m_proxyB.GetVertex(i),l=V.MulXV(r,a,zt),c=V.MulXV(s,o,Gt);return I.DotVV(I.SubVV(c,l,I.s_t0),this.m_axis);case t.b2SeparationFunctionType.e_faceA:var h=F.MulRV(r.q,this.m_axis,Ut);return l=V.MulXV(r,this.m_localPoint,zt),o=this.m_proxyB.GetVertex(i),c=V.MulXV(s,o,Gt),I.DotVV(I.SubVV(c,l,I.s_t0),h);case t.b2SeparationFunctionType.e_faceB:return h=F.MulRV(s.q,this.m_axis,Ut),c=V.MulXV(s,this.m_localPoint,Gt),a=this.m_proxyA.GetVertex(e),l=V.MulXV(r,a,zt),I.DotVV(I.SubVV(l,c,I.s_t0),h);default:return 0}},e})(),Jt=new G,Zt=new W,Kt=new X,Qt=new Y,$t=new qt,te=[0],ee=[0],ie=new N,ne=new N;function re(e,i){var n=Jt.Reset();++t.b2_toiCalls,e.state=t.b2TOIOutputState.e_unknown,e.t=i.tMax;var r=i.proxyA,s=i.proxyB,a=ie.Copy(i.sweepA),c=ne.Copy(i.sweepB);a.Normalize(),c.Normalize();var h=i.tMax,u=r.m_radius+s.m_radius,_=v(l,u-3*l),f=.25*l,d=0,p=0,y=Zt;y.count=0;var g=Kt;for(g.proxyA.Copy(i.proxyA),g.proxyB.Copy(i.proxyB),g.useRadii=!1;;){var b=Nt,A=kt;a.GetTransform(b,d),c.GetTransform(A,d),g.transformA.Copy(b),g.transformB.Copy(A);var x=Qt;if(rt(x,y,g),x.distance<=0){e.state=t.b2TOIOutputState.e_overlapped,e.t=0;break}if(x.distance<_+f){e.state=t.b2TOIOutputState.e_touching,e.t=d;break}var C=$t;C.Initialize(y,r,a,s,c,d);for(var T=!1,S=h,w=0;;){var E=te,M=ee,D=C.FindMinSeparation(E,M,S);if(D>_+f){e.state=t.b2TOIOutputState.e_separated,e.t=h,T=!0;break}if(D>_-f){d=S;break}var B=C.Evaluate(E[0],M[0],d);if(B<_-f){e.state=t.b2TOIOutputState.e_failed,e.t=d,T=!0;break}if(B<=_+f){e.state=t.b2TOIOutputState.e_touching,e.t=d,T=!0;break}for(var I=0,P=d,R=S;;){var O;O=1&I?P+(_-B)*(R-P)/(D-B):.5*(P+R),++I,++t.b2_toiRootIters;var L=C.Evaluate(E[0],M[0],O);if(m(L-_)<f){S=O;break}if(L>_?(P=O,B=L):(R=O,D=L),50===I)break}if(t.b2_toiMaxRootIters=v(t.b2_toiMaxRootIters,I),++w===o)break}if(++p,++t.b2_toiIters,T)break;if(20===p){e.state=t.b2TOIOutputState.e_failed,e.t=d;break}}t.b2_toiMaxIters=v(t.b2_toiMaxIters,p);var F=n.GetMilliseconds();t.b2_toiMaxTime=v(t.b2_toiMaxTime,F),t.b2_toiTime+=F}var se=new I,ae=new I;function oe(e,i,n,r,s){e.pointCount=0;var a=V.MulXV(n,i.m_p,se),o=V.MulXV(s,r.m_p,ae),l=I.DistanceSquaredVV(a,o),c=i.m_radius+r.m_radius;l>c*c||(e.type=t.b2ManifoldType.e_circles,e.localPoint.Copy(i.m_p),e.localNormal.SetZero(),e.pointCount=1,e.points[0].localPoint.Copy(r.m_p),e.points[0].id.key=0)}var le=new I,ce=new I,he=new I;function ue(e,r,s,a,o){e.pointCount=0;for(var l=V.MulXV(o,a.m_p,le),c=V.MulTXV(s,l,ce),h=0,u=-i,_=r.m_radius+a.m_radius,f=r.m_count,d=r.m_vertices,p=r.m_normals,m=0;m<f;++m){var y=I.DotVV(p[m],I.SubVV(c,d[m],I.s_t0));if(y>_)return;y>u&&(u=y,h=m)}var v=h,g=(v+1)%f,b=d[v],A=d[g];if(u<n)return e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(p[h]),I.MidVV(b,A,e.localPoint),e.points[0].localPoint.Copy(a.m_p),void(e.points[0].id.key=0);var x=I.DotVV(I.SubVV(c,b,I.s_t0),I.SubVV(A,b,I.s_t1)),C=I.DotVV(I.SubVV(c,A,I.s_t0),I.SubVV(b,A,I.s_t1));if(x<=0){if(I.DistanceSquaredVV(c,b)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,I.SubVV(c,b,e.localNormal).SelfNormalize(),e.localPoint.Copy(b),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else if(C<=0){if(I.DistanceSquaredVV(c,A)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,I.SubVV(c,A,e.localNormal).SelfNormalize(),e.localPoint.Copy(A),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else{var T=I.MidVV(b,A,he);if(I.DotVV(I.SubVV(c,T,I.s_t1),p[v])>_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(p[v]).SelfNormalize(),e.localPoint.Copy(T),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}}var _e=new I,fe=new I,de=new I,pe=new I;function me(t,e,n,r,s){for(var a=t.m_vertices,o=t.m_normals,l=r.m_count,c=r.m_vertices,h=F.MulRV(e.q,o[n],_e),u=F.MulTRV(s.q,h,fe),_=0,f=i,d=0;d<l;++d){var p=I.DotVV(c[d],u);p<f&&(f=p,_=d)}var m=V.MulXV(e,a[n],de),y=V.MulXV(s,c[_],pe);return I.DotVV(I.SubVV(y,m,I.s_t0),h)}var ye=new I,ve=new I;function ge(t,e,n,r,s){for(var a=e.m_count,o=e.m_normals,l=I.SubVV(V.MulXV(s,r.m_centroid,I.s_t0),V.MulXV(n,e.m_centroid,I.s_t1),ye),c=F.MulTRV(n.q,l,ve),h=0,u=-i,_=0;_<a;++_){var f=I.DotVV(o[_],c);f>u&&(u=f,h=_)}var d=me(e,n,h,r,s),p=(h+a-1)%a,m=me(e,n,p,r,s),y=(h+1)%a,v=me(e,n,y,r,s),g=0,b=0,A=0;if(m>d&&m>v)A=-1,g=p,b=m;else{if(!(v>d))return t[0]=h,d;A=1,g=y,b=v}for(;(d=me(e,n,h=-1===A?(g+a-1)%a:(g+1)%a,r,s))>b;)g=h,b=d;return t[0]=g,b}var be=new I;function Ae(e,n,r,s,a,o){for(var l=n.m_normals,c=a.m_count,h=a.m_vertices,u=a.m_normals,_=F.MulTRV(o.q,F.MulRV(r.q,l[s],I.s_t0),be),f=0,d=i,p=0;p<c;++p){var m=I.DotVV(_,u[p]);m<d&&(d=m,f=p)}var y=f,v=(y+1)%c,g=e[0];V.MulXV(o,h[y],g.v);var b=g.id.cf;b.indexA=s,b.indexB=y,b.typeA=t.b2ContactFeatureType.e_face,b.typeB=t.b2ContactFeatureType.e_vertex;var A=e[1];V.MulXV(o,h[v],A.v);var x=A.id.cf;x.indexA=s,x.indexB=v,x.typeA=t.b2ContactFeatureType.e_face,x.typeB=t.b2ContactFeatureType.e_vertex}var xe=At.MakeArray(2),Ce=At.MakeArray(2),Te=At.MakeArray(2),Se=[0],we=[0],Ee=new I,Me=new I,De=new I,Be=new I,Ie=new I,Pe=new I,Re=new I,Oe=new I;function Le(e,i,n,r,s){e.pointCount=0;var o=i.m_radius+r.m_radius,l=Se;l[0]=0;var c=ge(l,i,n,r,s);if(!(c>o)){var h=we;h[0]=0;var u=ge(h,r,s,i,n);if(!(u>o)){var _,f,d,p,m=0,y=0;u>.98*c+.001?(_=r,f=i,d=s,p=n,m=h[0],e.type=t.b2ManifoldType.e_faceB,y=1):(_=i,f=r,d=n,p=s,m=l[0],e.type=t.b2ManifoldType.e_faceA,y=0);var v=xe;Ae(v,_,d,m,f,p);var g=_.m_count,b=_.m_vertices,A=m,x=(m+1)%g,C=b[A],T=b[x],S=I.SubVV(T,C,Ee);S.Normalize();var w=I.CrossVOne(S,Me),E=I.MidVV(C,T,De),M=F.MulRV(d.q,S,Ie),D=I.CrossVOne(M,Be),B=V.MulXV(d,C,Re),P=V.MulXV(d,T,Oe),R=I.DotVV(D,B),O=-I.DotVV(M,B)+o,L=I.DotVV(M,P)+o,N=Ce,k=Te;if(!(wt(N,v,I.NegV(M,Pe),O,A)<2||wt(k,N,M,L,x)<2)){e.localNormal.Copy(w),e.localPoint.Copy(E);for(var z=0,G=0;G<a;++G){var U=k[G];if(I.DotVV(D,U.v)-R<=o){var j=e.points[z];if(V.MulTXV(p,U.v,j.localPoint),j.id.Copy(U.id),y){var H=j.id.cf;j.id.cf.indexA=H.indexB,j.id.cf.indexB=H.indexA,j.id.cf.typeA=H.typeB,j.id.cf.typeB=H.typeA}++z}}e.pointCount=z}}}}var Fe=new I,Ve=new I,Ne=new I,ke=new I,ze=new I,Ge=new I,Ue=new I,je=new mt;function He(e,i,n,r,s){e.pointCount=0;var a=V.MulTXV(n,V.MulXV(s,r.m_p,I.s_t0),Fe),o=i.m_vertex1,l=i.m_vertex2,c=I.SubVV(l,o,Ve),h=I.DotVV(c,I.SubVV(l,a,I.s_t0)),u=I.DotVV(c,I.SubVV(a,o,I.s_t0)),_=i.m_radius+r.m_radius,f=je;if(f.cf.indexB=0,f.cf.typeB=t.b2ContactFeatureType.e_vertex,u<=0){var d=o,p=I.SubVV(a,d,Ne);if(I.DotVV(p,p)>_*_)return;if(i.m_hasVertex0){var m=i.m_vertex0,y=o,v=I.SubVV(y,m,ke);if(I.DotVV(v,I.SubVV(y,a,I.s_t0))>0)return}return f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(d),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}if(h<=0){var g=l,b=I.SubVV(a,g,Ne);if(I.DotVV(b,b)>_*_)return;if(i.m_hasVertex3){var A=i.m_vertex3,x=l,C=I.SubVV(A,x,ze);if(I.DotVV(C,I.SubVV(a,x,I.s_t0))>0)return}return f.cf.indexA=1,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(g),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}var T=I.DotVV(c,c),S=Ge;S.x=1/T*(h*o.x+u*l.x),S.y=1/T*(h*o.y+u*l.y);var w=I.SubVV(a,S,Ne);if(!(I.DotVV(w,w)>_*_)){var E=Ue.Set(-c.y,c.x);I.DotVV(E,I.SubVV(a,o,I.s_t0))<0&&E.Set(-E.x,-E.y),E.Normalize(),f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_face,e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(E),e.localPoint.Copy(o),e.points[0].id.Copy(f),e.points[0].localPoint.Copy(r.m_p)}}var We=function(){this.type=0,this.index=0,this.separation=0},Xe=function(){this.vertices=I.MakeArray(o),this.normals=I.MakeArray(o),this.count=0},Ye=function(){this.i1=0,this.i2=0,this.v1=new I,this.v2=new I,this.normal=new I,this.sideNormal1=new I,this.sideOffset1=0,this.sideNormal2=new I,this.sideOffset2=0},qe=new(function(){function e(){this.m_polygonB=new Xe,this.m_xf=new V,this.m_centroidB=new I,this.m_v0=new I,this.m_v1=new I,this.m_v2=new I,this.m_v3=new I,this.m_normal0=new I,this.m_normal1=new I,this.m_normal2=new I,this.m_normal=new I,this.m_type1=0,this.m_type2=0,this.m_lowerLimit=new I,this.m_upperLimit=new I,this.m_radius=0,this.m_front=!1}return e.prototype.Collide=function(i,n,r,s,o){V.MulTXX(r,o,this.m_xf),V.MulXV(this.m_xf,s.m_centroid,this.m_centroidB),this.m_v0.Copy(n.m_vertex0),this.m_v1.Copy(n.m_vertex1),this.m_v2.Copy(n.m_vertex2),this.m_v3.Copy(n.m_vertex3);var l=n.m_hasVertex0,c=n.m_hasVertex3,h=I.SubVV(this.m_v2,this.m_v1,e.s_edge1);h.Normalize(),this.m_normal1.Set(h.y,-h.x);var u=I.DotVV(this.m_normal1,I.SubVV(this.m_centroidB,this.m_v1,I.s_t0)),_=0,f=0,d=!1,p=!1;if(l){var m=I.SubVV(this.m_v1,this.m_v0,e.s_edge0);m.Normalize(),this.m_normal0.Set(m.y,-m.x),d=I.CrossVV(m,h)>=0,_=I.DotVV(this.m_normal0,I.SubVV(this.m_centroidB,this.m_v0,I.s_t0))}if(c){var y=I.SubVV(this.m_v3,this.m_v2,e.s_edge2);y.Normalize(),this.m_normal2.Set(y.y,-y.x),p=I.CrossVV(h,y)>0,f=I.DotVV(this.m_normal2,I.SubVV(this.m_centroidB,this.m_v2,I.s_t0))}l&&c?d&&p?(this.m_front=_>=0||u>=0||f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):d?(this.m_front=_>=0||u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):p?(this.m_front=f>=0||_>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):(this.m_front=_>=0&&u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):l?d?(this.m_front=_>=0||u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):(this.m_front=_>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):c?p?(this.m_front=u>=0||f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1))),this.m_polygonB.count=s.m_count;for(var v=0;v<s.m_count;++v)V.MulXV(this.m_xf,s.m_vertices[v],this.m_polygonB.vertices[v]),F.MulRV(this.m_xf.q,s.m_normals[v],this.m_polygonB.normals[v]);this.m_radius=s.m_radius+n.m_radius,i.pointCount=0;var g=this.ComputeEdgeSeparation(e.s_edgeAxis);if(0!==g.type&&!(g.separation>this.m_radius)){var b=this.ComputePolygonSeparation(e.s_polygonAxis);if(!(0!==b.type&&b.separation>this.m_radius)){var A;A=0===b.type?g:b.separation>.98*g.separation+.001?b:g;var x=e.s_ie,C=e.s_rf;if(1===A.type){i.type=t.b2ManifoldType.e_faceA;var T=0,S=I.DotVV(this.m_normal,this.m_polygonB.normals[0]);for(v=1;v<this.m_polygonB.count;++v){var w=I.DotVV(this.m_normal,this.m_polygonB.normals[v]);w<S&&(S=w,T=v)}var E=T,M=(E+1)%this.m_polygonB.count;(D=x[0]).v.Copy(this.m_polygonB.vertices[E]),D.id.cf.indexA=0,D.id.cf.indexB=E,D.id.cf.typeA=t.b2ContactFeatureType.e_face,D.id.cf.typeB=t.b2ContactFeatureType.e_vertex,(B=x[1]).v.Copy(this.m_polygonB.vertices[M]),B.id.cf.indexA=0,B.id.cf.indexB=M,B.id.cf.typeA=t.b2ContactFeatureType.e_face,B.id.cf.typeB=t.b2ContactFeatureType.e_vertex,this.m_front?(C.i1=0,C.i2=1,C.v1.Copy(this.m_v1),C.v2.Copy(this.m_v2),C.normal.Copy(this.m_normal1)):(C.i1=1,C.i2=0,C.v1.Copy(this.m_v2),C.v2.Copy(this.m_v1),C.normal.Copy(this.m_normal1).SelfNeg())}else{var D,B;i.type=t.b2ManifoldType.e_faceB,(D=x[0]).v.Copy(this.m_v1),D.id.cf.indexA=0,D.id.cf.indexB=A.index,D.id.cf.typeA=t.b2ContactFeatureType.e_vertex,D.id.cf.typeB=t.b2ContactFeatureType.e_face,(B=x[1]).v.Copy(this.m_v2),B.id.cf.indexA=0,B.id.cf.indexB=A.index,B.id.cf.typeA=t.b2ContactFeatureType.e_vertex,B.id.cf.typeB=t.b2ContactFeatureType.e_face,C.i1=A.index,C.i2=(C.i1+1)%this.m_polygonB.count,C.v1.Copy(this.m_polygonB.vertices[C.i1]),C.v2.Copy(this.m_polygonB.vertices[C.i2]),C.normal.Copy(this.m_polygonB.normals[C.i1])}C.sideNormal1.Set(C.normal.y,-C.normal.x),C.sideNormal2.Copy(C.sideNormal1).SelfNeg(),C.sideOffset1=I.DotVV(C.sideNormal1,C.v1),C.sideOffset2=I.DotVV(C.sideNormal2,C.v2);var P=e.s_clipPoints1,R=e.s_clipPoints2;if(!(wt(P,x,C.sideNormal1,C.sideOffset1,C.i1)<a||wt(R,P,C.sideNormal2,C.sideOffset2,C.i2)<a)){1===A.type?(i.localNormal.Copy(C.normal),i.localPoint.Copy(C.v1)):(i.localNormal.Copy(s.m_normals[C.i1]),i.localPoint.Copy(s.m_vertices[C.i1]));var O=0;for(v=0;v<a;++v)if(I.DotVV(C.normal,I.SubVV(R[v].v,C.v1,I.s_t0))<=this.m_radius){var L=i.points[O];1===A.type?(V.MulTXV(this.m_xf,R[v].v,L.localPoint),L.id=R[v].id):(L.localPoint.Copy(R[v].v),L.id.cf.typeA=R[v].id.cf.typeB,L.id.cf.typeB=R[v].id.cf.typeA,L.id.cf.indexA=R[v].id.cf.indexB,L.id.cf.indexB=R[v].id.cf.indexA),++O}i.pointCount=O}}}},e.prototype.ComputeEdgeSeparation=function(t){var e=t;e.type=1,e.index=this.m_front?0:1,e.separation=i;for(var n=0;n<this.m_polygonB.count;++n){var r=I.DotVV(this.m_normal,I.SubVV(this.m_polygonB.vertices[n],this.m_v1,I.s_t0));r<e.separation&&(e.separation=r)}return e},e.prototype.ComputePolygonSeparation=function(t){var n=t;n.type=0,n.index=-1,n.separation=-i;for(var r=e.s_perp.Set(-this.m_normal.y,this.m_normal.x),s=0;s<this.m_polygonB.count;++s){var a=I.NegV(this.m_polygonB.normals[s],e.s_n),o=I.DotVV(a,I.SubVV(this.m_polygonB.vertices[s],this.m_v1,I.s_t0)),l=I.DotVV(a,I.SubVV(this.m_polygonB.vertices[s],this.m_v2,I.s_t0)),h=y(o,l);if(h>this.m_radius)return n.type=2,n.index=s,n.separation=h,n;if(I.DotVV(a,r)>=0){if(I.DotVV(I.SubVV(a,this.m_upperLimit,I.s_t0),this.m_normal)<-c)continue}else if(I.DotVV(I.SubVV(a,this.m_lowerLimit,I.s_t0),this.m_normal)<-c)continue;h>n.separation&&(n.type=2,n.index=s,n.separation=h)}return n},e.s_edge1=new I,e.s_edge0=new I,e.s_edge2=new I,e.s_ie=At.MakeArray(2),e.s_rf=new Ye,e.s_clipPoints1=At.MakeArray(2),e.s_clipPoints2=At.MakeArray(2),e.s_edgeAxis=new We,e.s_polygonAxis=new We,e.s_n=new I,e.s_perp=new I,e}());function Je(t,e,i,n,r){qe.Collide(t,e,i,n,r)}var Ze,Ke=function(){this.mass=0,this.center=new I(0,0),this.I=0};(Ze=t.b2ShapeType||(t.b2ShapeType={}))[Ze.e_unknown=-1]="e_unknown",Ze[Ze.e_circleShape=0]="e_circleShape",Ze[Ze.e_edgeShape=1]="e_edgeShape",Ze[Ze.e_polygonShape=2]="e_polygonShape",Ze[Ze.e_chainShape=3]="e_chainShape",Ze[Ze.e_shapeTypeCount=4]="e_shapeTypeCount";var Qe=(function(){function e(e,i){this.m_type=t.b2ShapeType.e_unknown,this.m_radius=0,this.m_type=e,this.m_radius=i}return e.prototype.Copy=function(t){return this.m_radius=t.m_radius,this},e.prototype.GetType=function(){return this.m_type},e})(),$e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};function ti(t,e){function i(){this.constructor=t}$e(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var ei,ii=(function(e){function i(i){void 0===i&&(i=0);var n=e.call(this,t.b2ShapeType.e_circleShape,i)||this;return n.m_p=new I,n}return ti(i,e),i.prototype.Set=function(t,e){return void 0===e&&(e=this.m_radius),this.m_p.Copy(t),this.m_radius=e,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_p.Copy(t.m_p),this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(t,e){var n=V.MulXV(t,this.m_p,i.TestPoint_s_center),r=I.SubVV(e,n,i.TestPoint_s_d);return I.DotVV(r,r)<=A(this.m_radius)},i.prototype.ComputeDistance=function(t,e,n){var r=V.MulXV(t,this.m_p,i.ComputeDistance_s_center);return I.SubVV(e,r,n),n.Normalize()-this.m_radius},i.prototype.RayCast=function(t,e,r){var s=V.MulXV(r,this.m_p,i.RayCast_s_position),a=I.SubVV(e.p1,s,i.RayCast_s_s),o=I.DotVV(a,a)-A(this.m_radius),l=I.SubVV(e.p2,e.p1,i.RayCast_s_r),c=I.DotVV(a,l),h=I.DotVV(l,l),u=c*c-h*o;if(u<0||h<n)return!1;var _=-(c+T(u));return 0<=_&&_<=e.maxFraction*h&&(_/=h,t.fraction=_,I.AddVMulSV(a,_,l,t.normal).SelfNormalize(),!0)},i.prototype.ComputeAABB=function(t,e){var n=V.MulXV(e,this.m_p,i.ComputeAABB_s_p);t.lowerBound.Set(n.x-this.m_radius,n.y-this.m_radius),t.upperBound.Set(n.x+this.m_radius,n.y+this.m_radius)},i.prototype.ComputeMass=function(t,e){var i=A(this.m_radius);t.mass=e*s*i,t.center.Copy(this.m_p),t.I=t.mass*(.5*i+I.DotVV(this.m_p,this.m_p))},i.prototype.SetupDistanceProxy=function(t){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_p),t.m_count=1,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,r){var a=V.MulXV(i,this.m_p,new I),o=-(I.DotVV(t,a)-e);if(o<-this.m_radius+n)return 0;if(o>this.m_radius)return r.Copy(a),s*this.m_radius*this.m_radius;var l=this.m_radius*this.m_radius,c=o*o,h=l*(D(o/this.m_radius)+s/2)+o*T(l-c),u=-2/3*S(l-c,1.5)/h;return r.x=a.x+t.x*u,r.y=a.y+t.y*u,h},i.prototype.Dump=function(t){t(" const shape: b2CircleShape = new b2CircleShape();\n"),t(" shape.m_radius = %.15f;\n",this.m_radius),t(" shape.m_p.Set(%.15f, %.15f);\n",this.m_p.x,this.m_p.y)},i.TestPoint_s_center=new I,i.TestPoint_s_d=new I,i.ComputeDistance_s_center=new I,i.RayCast_s_position=new I,i.RayCast_s_s=new I,i.RayCast_s_r=new I,i.ComputeAABB_s_p=new I,i})(Qe),ni=(function(e){function r(){var i=e.call(this,t.b2ShapeType.e_polygonShape,h)||this;return i.m_centroid=new I(0,0),i.m_vertices=[],i.m_normals=[],i.m_count=0,i}return ti(r,e),r.prototype.Clone=function(){return(new r).Copy(this)},r.prototype.Copy=function(t){e.prototype.Copy.call(this,t),this.m_centroid.Copy(t.m_centroid),this.m_count=t.m_count,this.m_vertices=I.MakeArray(this.m_count),this.m_normals=I.MakeArray(this.m_count);for(var i=0;i<this.m_count;++i)this.m_vertices[i].Copy(t.m_vertices[i]),this.m_normals[i].Copy(t.m_normals[i]);return this},r.prototype.GetChildCount=function(){return 1},r.prototype.Set=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this.SetAsBox(1,1);for(var n=y(e,o),s=r.Set_s_ps,a=0,c=0;c<n;++c){for(var h=t[i+c],u=!0,_=0;_<a;++_)if(I.DistanceSquaredVV(h,s[_])<.25*l*l){u=!1;break}u&&s[a++].Copy(h)}if((n=a)<3)return this.SetAsBox(1,1);var f=0,d=s[0].x;for(c=1;c<n;++c){var p=s[c].x;(p>d||p===d&&s[c].y<s[f].y)&&(f=c,d=p)}for(var m=r.Set_s_hull,v=0,g=f;;){m[v]=g;var b=0;for(_=1;_<n;++_)if(b!==g){var A=I.SubVV(s[b],s[m[v]],r.Set_s_r),x=(h=I.SubVV(s[_],s[m[v]],r.Set_s_v),I.CrossVV(A,h));x<0&&(b=_),0===x&&h.LengthSquared()>A.LengthSquared()&&(b=_)}else b=_;if(++v,g=b,b===f)break}for(this.m_count=v,this.m_vertices=I.MakeArray(this.m_count),this.m_normals=I.MakeArray(this.m_count),c=0;c<v;++c)this.m_vertices[c].Copy(s[m[c]]);for(c=0;c<v;++c){var C=this.m_vertices[c],T=this.m_vertices[(c+1)%v],S=I.SubVV(T,C,I.s_t0);I.CrossVOne(S,this.m_normals[c]).SelfNormalize()}return r.ComputeCentroid(this.m_vertices,v,this.m_centroid),this},r.prototype.SetAsArray=function(t,e){return void 0===e&&(e=t.length),this.Set(t,e)},r.prototype.SetAsBox=function(t,e,i,n){if(void 0===n&&(n=0),this.m_count=4,this.m_vertices=I.MakeArray(this.m_count),this.m_normals=I.MakeArray(this.m_count),this.m_vertices[0].Set(-t,-e),this.m_vertices[1].Set(t,-e),this.m_vertices[2].Set(t,e),this.m_vertices[3].Set(-t,e),this.m_normals[0].Set(0,-1),this.m_normals[1].Set(1,0),this.m_normals[2].Set(0,1),this.m_normals[3].Set(-1,0),this.m_centroid.SetZero(),i){this.m_centroid.Copy(i);var r=new V;r.SetPosition(i),r.SetRotationAngle(n);for(var s=0;s<this.m_count;++s)V.MulXV(r,this.m_vertices[s],this.m_vertices[s]),F.MulRV(r.q,this.m_normals[s],this.m_normals[s])}return this},r.prototype.TestPoint=function(t,e){for(var i=V.MulTXV(t,e,r.TestPoint_s_pLocal),n=0;n<this.m_count;++n)if(I.DotVV(this.m_normals[n],I.SubVV(i,this.m_vertices[n],I.s_t0))>0)return!1;return!0},r.prototype.ComputeDistance=function(t,e,n){for(var s=V.MulTXV(t,e,r.ComputeDistance_s_pLocal),a=-i,o=r.ComputeDistance_s_normalForMaxDistance.Copy(s),l=0;l<this.m_count;++l){var c=I.DotVV(this.m_normals[l],I.SubVV(s,this.m_vertices[l],I.s_t0));c>a&&(a=c,o.Copy(this.m_normals[l]))}if(a>0){var h=r.ComputeDistance_s_minDistance.Copy(o),u=a*a;for(l=0;l<this.m_count;++l){var _=I.SubVV(s,this.m_vertices[l],r.ComputeDistance_s_distance),f=_.LengthSquared();u>f&&(h.Copy(_),u=f)}return F.MulRV(t.q,h,n),n.Normalize(),Math.sqrt(u)}return F.MulRV(t.q,o,n),a},r.prototype.RayCast=function(t,e,i){for(var n=V.MulTXV(i,e.p1,r.RayCast_s_p1),s=V.MulTXV(i,e.p2,r.RayCast_s_p2),a=I.SubVV(s,n,r.RayCast_s_d),o=0,l=e.maxFraction,c=-1,h=0;h<this.m_count;++h){var u=I.DotVV(this.m_normals[h],I.SubVV(this.m_vertices[h],n,I.s_t0)),_=I.DotVV(this.m_normals[h],a);if(0===_){if(u<0)return!1}else _<0&&u<o*_?(o=u/_,c=h):_>0&&u<l*_&&(l=u/_);if(l<o)return!1}return c>=0&&(t.fraction=o,F.MulRV(i.q,this.m_normals[c],t.normal),!0)},r.prototype.ComputeAABB=function(t,e){for(var i=V.MulXV(e,this.m_vertices[0],t.lowerBound),n=t.upperBound.Copy(i),s=0;s<this.m_count;++s){var a=V.MulXV(e,this.m_vertices[s],r.ComputeAABB_s_v);I.MinV(a,i,i),I.MaxV(a,n,n)}var o=this.m_radius;i.SelfSubXY(o,o),n.SelfAddXY(o,o)},r.prototype.ComputeMass=function(t,e){for(var i=r.ComputeMass_s_center.SetZero(),n=0,s=0,a=r.ComputeMass_s_s.SetZero(),o=0;o<this.m_count;++o)a.SelfAdd(this.m_vertices[o]);for(a.SelfMul(1/this.m_count),o=0;o<this.m_count;++o){var l=I.SubVV(this.m_vertices[o],a,r.ComputeMass_s_e1),c=I.SubVV(this.m_vertices[(o+1)%this.m_count],a,r.ComputeMass_s_e2),h=I.CrossVV(l,c),u=.5*h;n+=u,i.SelfAdd(I.MulSV(u*(1/3),I.AddVV(l,c,I.s_t0),I.s_t1));var _=l.x,f=l.y,d=c.x,p=c.y;s+=1/3*.25*h*(_*_+d*_+d*d+f*f+p*f+p*p)}t.mass=e*n,i.SelfMul(1/n),I.AddVV(i,a,t.center),t.I=e*s,t.I+=t.mass*(I.DotVV(t.center,t.center)-I.DotVV(i,i))},r.prototype.Validate=function(){for(var t=0;t<this.m_count;++t)for(var e=t,i=(t+1)%this.m_count,n=this.m_vertices[e],s=I.SubVV(this.m_vertices[i],n,r.Validate_s_e),a=0;a<this.m_count;++a)if(a!==e&&a!==i){var o=I.SubVV(this.m_vertices[a],n,r.Validate_s_v);if(I.CrossVV(s,o)<0)return!1}return!0},r.prototype.SetupDistanceProxy=function(t){t.m_vertices=this.m_vertices,t.m_count=this.m_count,t.m_radius=this.m_radius},r.prototype.ComputeSubmergedArea=function(t,e,i,s){for(var a=F.MulTRV(i.q,t,r.ComputeSubmergedArea_s_normalL),o=e-I.DotVV(t,i.p),l=r.ComputeSubmergedArea_s_depths,c=0,h=-1,u=-1,_=!1,f=0;f<this.m_count;++f){l[f]=I.DotVV(a,this.m_vertices[f])-o;var d=l[f]<-n;f>0&&(d?_||(h=f-1,c++):_&&(u=f-1,c++)),_=d}switch(c){case 0:if(_){var p=r.ComputeSubmergedArea_s_md;return this.ComputeMass(p,1),V.MulXV(i,p.center,s),p.mass}return 0;case 1:-1===h?h=this.m_count-1:u=this.m_count-1}for(var m,y=(h+1)%this.m_count,v=(u+1)%this.m_count,g=(0-l[h])/(l[y]-l[h]),b=(0-l[u])/(l[v]-l[u]),A=r.ComputeSubmergedArea_s_intoVec.Set(this.m_vertices[h].x*(1-g)+this.m_vertices[y].x*g,this.m_vertices[h].y*(1-g)+this.m_vertices[y].y*g),x=r.ComputeSubmergedArea_s_outoVec.Set(this.m_vertices[u].x*(1-b)+this.m_vertices[v].x*b,this.m_vertices[u].y*(1-b)+this.m_vertices[v].y*b),C=0,T=r.ComputeSubmergedArea_s_center.SetZero(),S=this.m_vertices[y],w=y;w!==v;){m=(w=(w+1)%this.m_count)===v?x:this.m_vertices[w];var E=.5*((S.x-A.x)*(m.y-A.y)-(S.y-A.y)*(m.x-A.x));C+=E,T.x+=E*(A.x+S.x+m.x)/3,T.y+=E*(A.y+S.y+m.y)/3,S=m}return T.SelfMul(1/C),V.MulXV(i,T,s),C},r.prototype.Dump=function(t){t(" const shape: b2PolygonShape = new b2PolygonShape();\n"),t(" const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",o);for(var e=0;e<this.m_count;++e)t(" vs[%d].Set(%.15f, %.15f);\n",e,this.m_vertices[e].x,this.m_vertices[e].y);t(" shape.Set(vs, %d);\n",this.m_count)},r.ComputeCentroid=function(t,e,i){var n=i;n.SetZero();for(var s=0,a=r.ComputeCentroid_s_pRef.SetZero(),o=0;o<e;++o){var l=a,c=t[o],h=t[(o+1)%e],u=I.SubVV(c,l,r.ComputeCentroid_s_e1),_=I.SubVV(h,l,r.ComputeCentroid_s_e2),f=.5*I.CrossVV(u,_);s+=f,n.x+=f*(1/3)*(l.x+c.x+h.x),n.y+=f*(1/3)*(l.y+c.y+h.y)}return n.SelfMul(1/s),n},r.Set_s_ps=I.MakeArray(o),r.Set_s_hull=p(o),r.Set_s_r=new I,r.Set_s_v=new I,r.TestPoint_s_pLocal=new I,r.ComputeDistance_s_pLocal=new I,r.ComputeDistance_s_normalForMaxDistance=new I,r.ComputeDistance_s_minDistance=new I,r.ComputeDistance_s_distance=new I,r.RayCast_s_p1=new I,r.RayCast_s_p2=new I,r.RayCast_s_d=new I,r.ComputeAABB_s_v=new I,r.ComputeMass_s_center=new I,r.ComputeMass_s_s=new I,r.ComputeMass_s_e1=new I,r.ComputeMass_s_e2=new I,r.Validate_s_e=new I,r.Validate_s_v=new I,r.ComputeSubmergedArea_s_normalL=new I,r.ComputeSubmergedArea_s_depths=p(o),r.ComputeSubmergedArea_s_md=new Ke,r.ComputeSubmergedArea_s_intoVec=new I,r.ComputeSubmergedArea_s_outoVec=new I,r.ComputeSubmergedArea_s_center=new I,r.ComputeCentroid_s_pRef=new I,r.ComputeCentroid_s_e1=new I,r.ComputeCentroid_s_e2=new I,r})(Qe),ri=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_edgeShape,h)||this;return i.m_vertex1=new I,i.m_vertex2=new I,i.m_vertex0=new I,i.m_vertex3=new I,i.m_hasVertex0=!1,i.m_hasVertex3=!1,i}return ti(i,e),i.prototype.Set=function(t,e){return this.m_vertex1.Copy(t),this.m_vertex2.Copy(e),this.m_hasVertex0=!1,this.m_hasVertex3=!1,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_vertex1.Copy(t.m_vertex1),this.m_vertex2.Copy(t.m_vertex2),this.m_vertex0.Copy(t.m_vertex0),this.m_vertex3.Copy(t.m_vertex3),this.m_hasVertex0=t.m_hasVertex0,this.m_hasVertex3=t.m_hasVertex3,this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(){return!1},i.prototype.ComputeDistance=function(t,e,n){var r=V.MulXV(t,this.m_vertex1,i.ComputeDistance_s_v1),s=V.MulXV(t,this.m_vertex2,i.ComputeDistance_s_v2),a=I.SubVV(e,r,i.ComputeDistance_s_d),o=I.SubVV(s,r,i.ComputeDistance_s_s),l=I.DotVV(a,o);if(l>0){var c=I.DotVV(o,o);l>c?I.SubVV(e,s,a):a.SelfMulSub(l/c,o)}return n.Copy(a),n.Normalize()},i.prototype.RayCast=function(t,e,n){var r=V.MulTXV(n,e.p1,i.RayCast_s_p1),s=V.MulTXV(n,e.p2,i.RayCast_s_p2),a=I.SubVV(s,r,i.RayCast_s_d),o=this.m_vertex1,l=this.m_vertex2,c=I.SubVV(l,o,i.RayCast_s_e),h=t.normal.Set(c.y,-c.x).SelfNormalize(),u=I.DotVV(h,I.SubVV(o,r,I.s_t0)),_=I.DotVV(h,a);if(0===_)return!1;var f=u/_;if(f<0||e.maxFraction<f)return!1;var d=I.AddVMulSV(r,f,a,i.RayCast_s_q),p=I.SubVV(l,o,i.RayCast_s_r),m=I.DotVV(p,p);if(0===m)return!1;var y=I.DotVV(I.SubVV(d,o,I.s_t0),p)/m;return!(y<0||1<y||(t.fraction=f,F.MulRV(n.q,t.normal,t.normal),u>0&&t.normal.SelfNeg(),0))},i.prototype.ComputeAABB=function(t,e){var n=V.MulXV(e,this.m_vertex1,i.ComputeAABB_s_v1),r=V.MulXV(e,this.m_vertex2,i.ComputeAABB_s_v2);I.MinV(n,r,t.lowerBound),I.MaxV(n,r,t.upperBound);var s=this.m_radius;t.lowerBound.SelfSubXY(s,s),t.upperBound.SelfAddXY(s,s)},i.prototype.ComputeMass=function(t){t.mass=0,I.MidVV(this.m_vertex1,this.m_vertex2,t.center),t.I=0},i.prototype.SetupDistanceProxy=function(t){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertex1),t.m_vertices[1].Copy(this.m_vertex2),t.m_count=2,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.Dump=function(t){t(" const shape: b2EdgeShape = new b2EdgeShape();\n"),t(" shape.m_radius = %.15f;\n",this.m_radius),t(" shape.m_vertex0.Set(%.15f, %.15f);\n",this.m_vertex0.x,this.m_vertex0.y),t(" shape.m_vertex1.Set(%.15f, %.15f);\n",this.m_vertex1.x,this.m_vertex1.y),t(" shape.m_vertex2.Set(%.15f, %.15f);\n",this.m_vertex2.x,this.m_vertex2.y),t(" shape.m_vertex3.Set(%.15f, %.15f);\n",this.m_vertex3.x,this.m_vertex3.y),t(" shape.m_hasVertex0 = %s;\n",this.m_hasVertex0),t(" shape.m_hasVertex3 = %s;\n",this.m_hasVertex3)},i.ComputeDistance_s_v1=new I,i.ComputeDistance_s_v2=new I,i.ComputeDistance_s_d=new I,i.ComputeDistance_s_s=new I,i.RayCast_s_p1=new I,i.RayCast_s_p2=new I,i.RayCast_s_d=new I,i.RayCast_s_e=new I,i.RayCast_s_q=new I,i.RayCast_s_r=new I,i.ComputeAABB_s_v1=new I,i.ComputeAABB_s_v2=new I,i})(Qe),si=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_chainShape,h)||this;return i.m_vertices=[],i.m_count=0,i.m_prevVertex=new I,i.m_nextVertex=new I,i.m_hasPrevVertex=!1,i.m_hasNextVertex=!1,i}return ti(i,e),i.prototype.CreateLoop=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this;this.m_count=e+1,this.m_vertices=I.MakeArray(this.m_count);for(var n=0;n<e;++n)this.m_vertices[n].Copy(t[i+n]);return this.m_vertices[e].Copy(this.m_vertices[0]),this.m_prevVertex.Copy(this.m_vertices[this.m_count-2]),this.m_nextVertex.Copy(this.m_vertices[1]),this.m_hasPrevVertex=!0,this.m_hasNextVertex=!0,this},i.prototype.CreateChain=function(t,e,i){void 0===e&&(e=t.length),void 0===i&&(i=0),this.m_count=e,this.m_vertices=I.MakeArray(e);for(var n=0;n<e;++n)this.m_vertices[n].Copy(t[i+n]);return this.m_hasPrevVertex=!1,this.m_hasNextVertex=!1,this.m_prevVertex.SetZero(),this.m_nextVertex.SetZero(),this},i.prototype.SetPrevVertex=function(t){return this.m_prevVertex.Copy(t),this.m_hasPrevVertex=!0,this},i.prototype.SetNextVertex=function(t){return this.m_nextVertex.Copy(t),this.m_hasNextVertex=!0,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.CreateChain(t.m_vertices,t.m_count),this.m_prevVertex.Copy(t.m_prevVertex),this.m_nextVertex.Copy(t.m_nextVertex),this.m_hasPrevVertex=t.m_hasPrevVertex,this.m_hasNextVertex=t.m_hasNextVertex,this},i.prototype.GetChildCount=function(){return this.m_count-1},i.prototype.GetChildEdge=function(e,i){e.m_type=t.b2ShapeType.e_edgeShape,e.m_radius=this.m_radius,e.m_vertex1.Copy(this.m_vertices[i]),e.m_vertex2.Copy(this.m_vertices[i+1]),i>0?(e.m_vertex0.Copy(this.m_vertices[i-1]),e.m_hasVertex0=!0):(e.m_vertex0.Copy(this.m_prevVertex),e.m_hasVertex0=this.m_hasPrevVertex),i<this.m_count-2?(e.m_vertex3.Copy(this.m_vertices[i+2]),e.m_hasVertex3=!0):(e.m_vertex3.Copy(this.m_nextVertex),e.m_hasVertex3=this.m_hasNextVertex)},i.prototype.TestPoint=function(){return!1},i.prototype.ComputeDistance=function(t,e,n,r){var s=i.ComputeDistance_s_edgeShape;return this.GetChildEdge(s,r),s.ComputeDistance(t,e,n,0)},i.prototype.RayCast=function(t,e,n,r){var s=i.RayCast_s_edgeShape;return s.m_vertex1.Copy(this.m_vertices[r]),s.m_vertex2.Copy(this.m_vertices[(r+1)%this.m_count]),s.RayCast(t,e,n,0)},i.prototype.ComputeAABB=function(t,e,n){var r=this.m_vertices[n],s=this.m_vertices[(n+1)%this.m_count],a=V.MulXV(e,r,i.ComputeAABB_s_v1),o=V.MulXV(e,s,i.ComputeAABB_s_v2);I.MinV(a,o,t.lowerBound),I.MaxV(a,o,t.upperBound)},i.prototype.ComputeMass=function(t){t.mass=0,t.center.SetZero(),t.I=0},i.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertices[e]),e+1<this.m_count?t.m_vertices[1].Copy(this.m_vertices[e+1]):t.m_vertices[1].Copy(this.m_vertices[0]),t.m_count=2,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.Dump=function(t){t(" const shape: b2ChainShape = new b2ChainShape();\n"),t(" const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",o);for(var e=0;e<this.m_count;++e)t(" vs[%d].Set(%.15f, %.15f);\n",e,this.m_vertices[e].x,this.m_vertices[e].y);t(" shape.CreateChain(vs, %d);\n",this.m_count),t(" shape.m_prevVertex.Set(%.15f, %.15f);\n",this.m_prevVertex.x,this.m_prevVertex.y),t(" shape.m_nextVertex.Set(%.15f, %.15f);\n",this.m_nextVertex.x,this.m_nextVertex.y),t(" shape.m_hasPrevVertex = %s;\n",this.m_hasPrevVertex?"true":"false"),t(" shape.m_hasNextVertex = %s;\n",this.m_hasNextVertex?"true":"false")},i.ComputeDistance_s_edgeShape=new ri,i.RayCast_s_edgeShape=new ri,i.ComputeAABB_s_v1=new I,i.ComputeAABB_s_v2=new I,i})(Qe),ai=(function(){function t(){this.categoryBits=1,this.maskBits=65535,this.groupIndex=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.categoryBits=t.categoryBits,this.maskBits=t.maskBits,this.groupIndex=t.groupIndex||0,this},t.DEFAULT=new t,t})(),oi=function(){this.userData=null,this.friction=.2,this.restitution=0,this.density=0,this.isSensor=!1,this.filter=new ai},li=function(t){this.aabb=new Tt,this.childIndex=0,this.fixture=t},ci=(function(){function t(t,e){this.m_density=0,this.m_next=null,this.m_friction=0,this.m_restitution=0,this.m_proxies=[],this.m_proxyCount=0,this.m_filter=new ai,this.m_isSensor=!1,this.m_userData=null,this.m_body=e,this.m_shape=t.shape.Clone()}return t.prototype.GetType=function(){return this.m_shape.GetType()},t.prototype.GetShape=function(){return this.m_shape},t.prototype.SetSensor=function(t){t!==this.m_isSensor&&(this.m_body.SetAwake(!0),this.m_isSensor=t)},t.prototype.IsSensor=function(){return this.m_isSensor},t.prototype.SetFilterData=function(t){this.m_filter.Copy(t),this.Refilter()},t.prototype.GetFilterData=function(){return this.m_filter},t.prototype.Refilter=function(){for(var t=this.m_body.GetContactList();t;){var e=t.contact,i=e.GetFixtureA(),n=e.GetFixtureB();i!==this&&n!==this||e.FlagForFiltering(),t=t.next}var r=this.m_body.GetWorld();if(null!==r)for(var s=r.m_contactManager.m_broadPhase,a=0;a<this.m_proxyCount;++a)s.TouchProxy(this.m_proxies[a].treeNode)},t.prototype.GetBody=function(){return this.m_body},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetUserData=function(){return this.m_userData},t.prototype.SetUserData=function(t){this.m_userData=t},t.prototype.TestPoint=function(t){return this.m_shape.TestPoint(this.m_body.GetTransform(),t)},t.prototype.ComputeDistance=function(t,e,i){return this.m_shape.ComputeDistance(this.m_body.GetTransform(),t,e,i)},t.prototype.RayCast=function(t,e,i){return this.m_shape.RayCast(t,e,this.m_body.GetTransform(),i)},t.prototype.GetMassData=function(t){return void 0===t&&(t=new Ke),this.m_shape.ComputeMass(t,this.m_density),t},t.prototype.SetDensity=function(t){this.m_density=t},t.prototype.GetDensity=function(){return this.m_density},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetAABB=function(t){return this.m_proxies[t].aabb},t.prototype.Dump=function(t,e){t(" const fd: b2FixtureDef = new b2FixtureDef();\n"),t(" fd.friction = %.15f;\n",this.m_friction),t(" fd.restitution = %.15f;\n",this.m_restitution),t(" fd.density = %.15f;\n",this.m_density),t(" fd.isSensor = %s;\n",this.m_isSensor?"true":"false"),t(" fd.filter.categoryBits = %d;\n",this.m_filter.categoryBits),t(" fd.filter.maskBits = %d;\n",this.m_filter.maskBits),t(" fd.filter.groupIndex = %d;\n",this.m_filter.groupIndex),this.m_shape.Dump(t),t("\n"),t(" fd.shape = shape;\n"),t("\n"),t(" bodies[%d].CreateFixture(fd);\n",e)},t.prototype.Create=function(t){var i=this;this.m_userData=t.userData,this.m_friction=e(t.friction,.2),this.m_restitution=e(t.restitution,0),this.m_next=null,this.m_filter.Copy(e(t.filter,ai.DEFAULT)),this.m_isSensor=e(t.isSensor,!1),this.m_proxies=d(this.m_shape.GetChildCount(),(function(){return new li(i)})),this.m_proxyCount=0,this.m_density=e(t.density,0)},t.prototype.Destroy=function(){},t.prototype.CreateProxies=function(t){var e=this.m_body.m_world.m_contactManager.m_broadPhase;this.m_proxyCount=this.m_shape.GetChildCount();for(var i=0;i<this.m_proxyCount;++i){var n=this.m_proxies[i]=new li(this);this.m_shape.ComputeAABB(n.aabb,t,i),n.treeNode=e.CreateProxy(n.aabb,n),n.childIndex=i}},t.prototype.DestroyProxies=function(){for(var t=this.m_body.m_world.m_contactManager.m_broadPhase,e=0;e<this.m_proxyCount;++e){var i=this.m_proxies[e];delete i.treeNode.userData,t.DestroyProxy(i.treeNode),delete i.treeNode}this.m_proxyCount=0},t.prototype.TouchProxies=function(){for(var t=this.m_body.m_world.m_contactManager.m_broadPhase,e=this.m_proxyCount,i=0;i<e;++i)t.TouchProxy(this.m_proxies[i].treeNode)},t.prototype.Synchronize=function(e,i){if(0!==this.m_proxyCount)for(var n=this.m_body.m_world.m_contactManager.m_broadPhase,r=0;r<this.m_proxyCount;++r){var s=this.m_proxies[r],a=t.Synchronize_s_aabb1,o=t.Synchronize_s_aabb2;this.m_shape.ComputeAABB(a,e,r),this.m_shape.ComputeAABB(o,i,r),s.aabb.Combine2(a,o);var l=I.SubVV(i.p,e.p,t.Synchronize_s_displacement);n.MoveProxy(s.treeNode,s.aabb,l)}},t.Synchronize_s_aabb1=new Tt,t.Synchronize_s_aabb2=new Tt,t.Synchronize_s_displacement=new I,t})();(ei=t.b2BodyType||(t.b2BodyType={}))[ei.b2_unknown=-1]="b2_unknown",ei[ei.b2_staticBody=0]="b2_staticBody",ei[ei.b2_kinematicBody=1]="b2_kinematicBody",ei[ei.b2_dynamicBody=2]="b2_dynamicBody";var hi,ui,_i=(function(){function i(i,n){this.m_type=t.b2BodyType.b2_staticBody,this.m_islandFlag=!1,this.m_awakeFlag=!1,this.m_autoSleepFlag=!1,this.m_bulletFlag=!1,this.m_fixedRotationFlag=!1,this.m_activeFlag=!1,this.m_toiFlag=!1,this.m_islandIndex=0,this.m_xf=new V,this.m_xf0=new V,this.m_sweep=new N,this.m_linearVelocity=new I,this.m_angularVelocity=0,this.m_force=new I,this.m_torque=0,this.m_prev=null,this.m_next=null,this.m_fixtureList=null,this.m_fixtureCount=0,this.m_jointList=null,this.m_contactList=null,this.m_mass=1,this.m_invMass=1,this.m_I=0,this.m_invI=0,this.m_linearDamping=0,this.m_angularDamping=0,this.m_gravityScale=1,this.m_sleepTime=0,this.m_userData=null,this.m_controllerList=null,this.m_controllerCount=0,this.m_bulletFlag=e(i.bullet,!1),this.m_fixedRotationFlag=e(i.fixedRotation,!1),this.m_autoSleepFlag=e(i.allowSleep,!0),this.m_awakeFlag=e(i.awake,!0),this.m_activeFlag=e(i.active,!0),this.m_world=n,this.m_xf.p.Copy(e(i.position,I.ZERO)),this.m_xf.q.SetAngle(e(i.angle,0)),this.m_xf0.Copy(this.m_xf),this.m_sweep.localCenter.SetZero(),this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),this.m_sweep.a0=this.m_sweep.a=this.m_xf.q.GetAngle(),this.m_sweep.alpha0=0,this.m_linearVelocity.Copy(e(i.linearVelocity,I.ZERO)),this.m_angularVelocity=e(i.angularVelocity,0),this.m_linearDamping=e(i.linearDamping,0),this.m_angularDamping=e(i.angularDamping,0),this.m_gravityScale=e(i.gravityScale,1),this.m_force.SetZero(),this.m_torque=0,this.m_sleepTime=0,this.m_type=e(i.type,t.b2BodyType.b2_staticBody),i.type===t.b2BodyType.b2_dynamicBody?(this.m_mass=1,this.m_invMass=1):(this.m_mass=0,this.m_invMass=0),this.m_I=0,this.m_invI=0,this.m_userData=i.userData,this.m_fixtureList=null,this.m_fixtureCount=0,this.m_controllerList=null,this.m_controllerCount=0}return i.prototype.CreateFixture=function(t,e){return void 0===e&&(e=0),t instanceof Qe?this.CreateFixtureShapeDensity(t,e):this.CreateFixtureDef(t)},i.prototype.CreateFixtureDef=function(t){if(this.m_world.IsLocked())throw new Error;var e=new ci(t,this);return e.Create(t),this.m_activeFlag&&e.CreateProxies(this.m_xf),e.m_next=this.m_fixtureList,this.m_fixtureList=e,++this.m_fixtureCount,e.m_density>0&&this.ResetMassData(),this.m_world.m_newFixture=!0,e},i.prototype.CreateFixtureShapeDensity=function(t,e){void 0===e&&(e=0);var n=i.CreateFixtureShapeDensity_s_def;return n.shape=t,n.density=e,this.CreateFixtureDef(n)},i.prototype.DestroyFixture=function(t){if(this.m_world.IsLocked())throw new Error;for(var e=this.m_fixtureList,i=null;null!==e;){if(e===t){i?i.m_next=t.m_next:this.m_fixtureList=t.m_next;break}i=e,e=e.m_next}for(var n=this.m_contactList;n;){var r=n.contact;n=n.next;var s=r.GetFixtureA(),a=r.GetFixtureB();t!==s&&t!==a||this.m_world.m_contactManager.Destroy(r)}this.m_activeFlag&&t.DestroyProxies(),t.m_next=null,t.Destroy(),--this.m_fixtureCount,this.ResetMassData()},i.prototype.SetTransformVec=function(t,e){this.SetTransformXY(t.x,t.y,e)},i.prototype.SetTransformXY=function(t,e,i){if(this.m_world.IsLocked())throw new Error;this.m_xf.q.SetAngle(i),this.m_xf.p.Set(t,e),this.m_xf0.Copy(this.m_xf),V.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.a=i,this.m_sweep.c0.Copy(this.m_sweep.c),this.m_sweep.a0=i;for(var n=this.m_fixtureList;n;n=n.m_next)n.Synchronize(this.m_xf,this.m_xf);this.m_world.m_contactManager.FindNewContacts()},i.prototype.SetTransform=function(t){this.SetTransformVec(t.p,t.GetAngle())},i.prototype.GetTransform=function(){return this.m_xf},i.prototype.GetPosition=function(){return this.m_xf.p},i.prototype.SetPosition=function(t){this.SetTransformVec(t,this.GetAngle())},i.prototype.SetPositionXY=function(t,e){this.SetTransformXY(t,e,this.GetAngle())},i.prototype.GetAngle=function(){return this.m_sweep.a},i.prototype.SetAngle=function(t){this.SetTransformVec(this.GetPosition(),t)},i.prototype.GetWorldCenter=function(){return this.m_sweep.c},i.prototype.GetLocalCenter=function(){return this.m_sweep.localCenter},i.prototype.SetLinearVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(I.DotVV(e,e)>0&&this.SetAwake(!0),this.m_linearVelocity.Copy(e))},i.prototype.GetLinearVelocity=function(){return this.m_linearVelocity},i.prototype.SetAngularVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(e*e>0&&this.SetAwake(!0),this.m_angularVelocity=e)},i.prototype.GetAngularVelocity=function(){return this.m_angularVelocity},i.prototype.GetDefinition=function(t){return t.type=this.GetType(),t.allowSleep=this.m_autoSleepFlag,t.angle=this.GetAngle(),t.angularDamping=this.m_angularDamping,t.gravityScale=this.m_gravityScale,t.angularVelocity=this.m_angularVelocity,t.fixedRotation=this.m_fixedRotationFlag,t.bullet=this.m_bulletFlag,t.awake=this.m_awakeFlag,t.linearDamping=this.m_linearDamping,t.linearVelocity.Copy(this.GetLinearVelocity()),t.position.Copy(this.GetPosition()),t.userData=this.GetUserData(),t},i.prototype.ApplyForce=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y,this.m_torque+=(i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x))},i.prototype.ApplyForceToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y))},i.prototype.ApplyTorque=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_torque+=e))},i.prototype.ApplyLinearImpulse=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y,this.m_angularVelocity+=this.m_invI*((i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x)))},i.prototype.ApplyLinearImpulseToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y))},i.prototype.ApplyAngularImpulse=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_angularVelocity+=this.m_invI*e))},i.prototype.GetMass=function(){return this.m_mass},i.prototype.GetInertia=function(){return this.m_I+this.m_mass*I.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter)},i.prototype.GetMassData=function(t){return t.mass=this.m_mass,t.I=this.m_I+this.m_mass*I.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter),t.center.Copy(this.m_sweep.localCenter),t},i.prototype.SetMassData=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type===t.b2BodyType.b2_dynamicBody){this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_mass=e.mass,this.m_mass<=0&&(this.m_mass=1),this.m_invMass=1/this.m_mass,e.I>0&&!this.m_fixedRotationFlag&&(this.m_I=e.I-this.m_mass*I.DotVV(e.center,e.center),this.m_invI=1/this.m_I);var n=i.SetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e.center),V.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),I.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,I.SubVV(this.m_sweep.c,n,I.s_t0),this.m_linearVelocity)}},i.prototype.ResetMassData=function(){if(this.m_mass=0,this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_sweep.localCenter.SetZero(),this.m_type===t.b2BodyType.b2_staticBody||this.m_type===t.b2BodyType.b2_kinematicBody)return this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),void(this.m_sweep.a0=this.m_sweep.a);for(var e=i.ResetMassData_s_localCenter.SetZero(),n=this.m_fixtureList;n;n=n.m_next)if(0!==n.m_density){var r=n.GetMassData(i.ResetMassData_s_massData);this.m_mass+=r.mass,e.x+=r.center.x*r.mass,e.y+=r.center.y*r.mass,this.m_I+=r.I}this.m_mass>0?(this.m_invMass=1/this.m_mass,e.x*=this.m_invMass,e.y*=this.m_invMass):(this.m_mass=1,this.m_invMass=1),this.m_I>0&&!this.m_fixedRotationFlag?(this.m_I-=this.m_mass*I.DotVV(e,e),this.m_invI=1/this.m_I):(this.m_I=0,this.m_invI=0);var s=i.ResetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e),V.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),I.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,I.SubVV(this.m_sweep.c,s,I.s_t0),this.m_linearVelocity)},i.prototype.GetWorldPoint=function(t,e){return V.MulXV(this.m_xf,t,e)},i.prototype.GetWorldVector=function(t,e){return F.MulRV(this.m_xf.q,t,e)},i.prototype.GetLocalPoint=function(t,e){return V.MulTXV(this.m_xf,t,e)},i.prototype.GetLocalVector=function(t,e){return F.MulTRV(this.m_xf.q,t,e)},i.prototype.GetLinearVelocityFromWorldPoint=function(t,e){return I.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,I.SubVV(t,this.m_sweep.c,I.s_t0),e)},i.prototype.GetLinearVelocityFromLocalPoint=function(t,e){return this.GetLinearVelocityFromWorldPoint(this.GetWorldPoint(t,e),e)},i.prototype.GetLinearDamping=function(){return this.m_linearDamping},i.prototype.SetLinearDamping=function(t){this.m_linearDamping=t},i.prototype.GetAngularDamping=function(){return this.m_angularDamping},i.prototype.SetAngularDamping=function(t){this.m_angularDamping=t},i.prototype.GetGravityScale=function(){return this.m_gravityScale},i.prototype.SetGravityScale=function(t){this.m_gravityScale=t},i.prototype.SetType=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type!==e){this.m_type=e,this.ResetMassData(),this.m_type===t.b2BodyType.b2_staticBody&&(this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_sweep.a0=this.m_sweep.a,this.m_sweep.c0.Copy(this.m_sweep.c),this.SynchronizeFixtures()),this.SetAwake(!0),this.m_force.SetZero(),this.m_torque=0;for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null;for(var r=this.m_fixtureList;r;r=r.m_next)r.TouchProxies()}},i.prototype.GetType=function(){return this.m_type},i.prototype.SetBullet=function(t){this.m_bulletFlag=t},i.prototype.IsBullet=function(){return this.m_bulletFlag},i.prototype.SetSleepingAllowed=function(t){this.m_autoSleepFlag=t,t||this.SetAwake(!0)},i.prototype.IsSleepingAllowed=function(){return this.m_autoSleepFlag},i.prototype.SetAwake=function(t){t?(this.m_awakeFlag=!0,this.m_sleepTime=0):(this.m_awakeFlag=!1,this.m_sleepTime=0,this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_force.SetZero(),this.m_torque=0)},i.prototype.IsAwake=function(){return this.m_awakeFlag},i.prototype.SetActive=function(t){if(this.m_world.IsLocked())throw new Error;if(t!==this.IsActive())if(this.m_activeFlag=t,t)for(var e=this.m_fixtureList;e;e=e.m_next)e.CreateProxies(this.m_xf);else{for(e=this.m_fixtureList;e;e=e.m_next)e.DestroyProxies();for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null}},i.prototype.IsActive=function(){return this.m_activeFlag},i.prototype.SetFixedRotation=function(t){this.m_fixedRotationFlag!==t&&(this.m_fixedRotationFlag=t,this.m_angularVelocity=0,this.ResetMassData())},i.prototype.IsFixedRotation=function(){return this.m_fixedRotationFlag},i.prototype.GetFixtureList=function(){return this.m_fixtureList},i.prototype.GetJointList=function(){return this.m_jointList},i.prototype.GetContactList=function(){return this.m_contactList},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.GetWorld=function(){return this.m_world},i.prototype.Dump=function(e){var i=this.m_islandIndex;e("{\n"),e(" const bd: b2BodyDef = new b2BodyDef();\n");var n="";switch(this.m_type){case t.b2BodyType.b2_staticBody:n="b2BodyType.b2_staticBody";break;case t.b2BodyType.b2_kinematicBody:n="b2BodyType.b2_kinematicBody";break;case t.b2BodyType.b2_dynamicBody:n="b2BodyType.b2_dynamicBody"}e(" bd.type = %s;\n",n),e(" bd.position.Set(%.15f, %.15f);\n",this.m_xf.p.x,this.m_xf.p.y),e(" bd.angle = %.15f;\n",this.m_sweep.a),e(" bd.linearVelocity.Set(%.15f, %.15f);\n",this.m_linearVelocity.x,this.m_linearVelocity.y),e(" bd.angularVelocity = %.15f;\n",this.m_angularVelocity),e(" bd.linearDamping = %.15f;\n",this.m_linearDamping),e(" bd.angularDamping = %.15f;\n",this.m_angularDamping),e(" bd.allowSleep = %s;\n",this.m_autoSleepFlag?"true":"false"),e(" bd.awake = %s;\n",this.m_awakeFlag?"true":"false"),e(" bd.fixedRotation = %s;\n",this.m_fixedRotationFlag?"true":"false"),e(" bd.bullet = %s;\n",this.m_bulletFlag?"true":"false"),e(" bd.active = %s;\n",this.m_activeFlag?"true":"false"),e(" bd.gravityScale = %.15f;\n",this.m_gravityScale),e("\n"),e(" bodies[%d] = this.m_world.CreateBody(bd);\n",this.m_islandIndex),e("\n");for(var r=this.m_fixtureList;r;r=r.m_next)e(" {\n"),r.Dump(e,i),e(" }\n");e("}\n")},i.prototype.SynchronizeFixtures=function(){var t=i.SynchronizeFixtures_s_xf1;t.q.SetAngle(this.m_sweep.a0),F.MulRV(t.q,this.m_sweep.localCenter,t.p),I.SubVV(this.m_sweep.c0,t.p,t.p);for(var e=this.m_fixtureList;e;e=e.m_next)e.Synchronize(t,this.m_xf)},i.prototype.SynchronizeTransform=function(){this.m_xf.q.SetAngle(this.m_sweep.a),F.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),I.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.ShouldCollide=function(e){return(this.m_type!==t.b2BodyType.b2_staticBody||e.m_type!==t.b2BodyType.b2_staticBody)&&this.ShouldCollideConnected(e)},i.prototype.ShouldCollideConnected=function(t){for(var e=this.m_jointList;e;e=e.next)if(e.other===t&&!e.joint.m_collideConnected)return!1;return!0},i.prototype.Advance=function(t){this.m_sweep.Advance(t),this.m_sweep.c.Copy(this.m_sweep.c0),this.m_sweep.a=this.m_sweep.a0,this.m_xf.q.SetAngle(this.m_sweep.a),F.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),I.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.GetControllerList=function(){return this.m_controllerList},i.prototype.GetControllerCount=function(){return this.m_controllerCount},i.CreateFixtureShapeDensity_s_def=new oi,i.SetMassData_s_oldCenter=new I,i.ResetMassData_s_localCenter=new I,i.ResetMassData_s_oldCenter=new I,i.ResetMassData_s_massData=new Ke,i.SynchronizeFixtures_s_xf1=new V,i})();(hi=t.b2JointType||(t.b2JointType={}))[hi.e_unknownJoint=0]="e_unknownJoint",hi[hi.e_revoluteJoint=1]="e_revoluteJoint",hi[hi.e_prismaticJoint=2]="e_prismaticJoint",hi[hi.e_distanceJoint=3]="e_distanceJoint",hi[hi.e_pulleyJoint=4]="e_pulleyJoint",hi[hi.e_mouseJoint=5]="e_mouseJoint",hi[hi.e_gearJoint=6]="e_gearJoint",hi[hi.e_wheelJoint=7]="e_wheelJoint",hi[hi.e_weldJoint=8]="e_weldJoint",hi[hi.e_frictionJoint=9]="e_frictionJoint",hi[hi.e_ropeJoint=10]="e_ropeJoint",hi[hi.e_motorJoint=11]="e_motorJoint",hi[hi.e_areaJoint=12]="e_areaJoint",(ui=t.b2LimitState||(t.b2LimitState={}))[ui.e_inactiveLimit=0]="e_inactiveLimit",ui[ui.e_atLowerLimit=1]="e_atLowerLimit",ui[ui.e_atUpperLimit=2]="e_atUpperLimit",ui[ui.e_equalLimits=3]="e_equalLimits";var fi=(function(){function t(){this.linear=new I,this.angularA=0,this.angularB=0}return t.prototype.SetZero=function(){return this.linear.SetZero(),this.angularA=0,this.angularB=0,this},t.prototype.Set=function(t,e,i){return this.linear.Copy(t),this.angularA=e,this.angularB=i,this},t})(),di=function(t,e){this.prev=null,this.next=null,this.joint=t,this.other=e},pi=function(e){this.type=t.b2JointType.e_unknownJoint,this.userData=null,this.collideConnected=!1,this.type=e},mi=(function(){function i(i){this.m_type=t.b2JointType.e_unknownJoint,this.m_prev=null,this.m_next=null,this.m_index=0,this.m_islandFlag=!1,this.m_collideConnected=!1,this.m_userData=null,this.m_type=i.type,this.m_edgeA=new di(this,i.bodyB),this.m_edgeB=new di(this,i.bodyA),this.m_bodyA=i.bodyA,this.m_bodyB=i.bodyB,this.m_collideConnected=e(i.collideConnected,!1),this.m_userData=i.userData}return i.prototype.GetType=function(){return this.m_type},i.prototype.GetBodyA=function(){return this.m_bodyA},i.prototype.GetBodyB=function(){return this.m_bodyB},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.IsActive=function(){return this.m_bodyA.IsActive()&&this.m_bodyB.IsActive()},i.prototype.GetCollideConnected=function(){return this.m_collideConnected},i.prototype.Dump=function(t){t("// Dump is not supported for this joint type.\n")},i.prototype.ShiftOrigin=function(){},i})(),yi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_distanceJoint)||this;return i.localAnchorA=new I,i.localAnchorB=new I,i.length=1,i.frequencyHz=0,i.dampingRatio=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(n,this.localAnchorB),this.length=I.DistanceVV(i,n),this.frequencyHz=0,this.dampingRatio=0},i})(pi),vi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new I,n.m_localAnchorB=new I,n.m_gamma=0,n.m_impulse=0,n.m_length=0,n.m_indexA=0,n.m_indexB=0,n.m_u=new I,n.m_rA=new I,n.m_rB=new I,n.m_localCenterA=new I,n.m_localCenterB=new I,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new I,n.m_lalcB=new I,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_length=i.length,n}return ti(i,t),i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_u.x,e.y=t*this.m_impulse*this.m_u.y,e},i.prototype.GetReactionTorque=function(){return 0},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetLength=function(t){this.m_length=t},i.prototype.Length=function(){return this.m_length},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2DistanceJointDef = new b2DistanceJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.length = %.15f;\n",this.m_length),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,a=t.velocities[this.m_indexA].w,o=t.positions[this.m_indexB].c,c=t.positions[this.m_indexB].a,h=t.velocities[this.m_indexB].v,u=t.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(n),f=this.m_qB.SetAngle(c);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(_,this.m_lalcA,this.m_rA),I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.x=o.x+this.m_rB.x-e.x-this.m_rA.x,this.m_u.y=o.y+this.m_rB.y-e.y-this.m_rA.y;var d=this.m_u.Length();d>l?this.m_u.SelfMul(1/d):this.m_u.SetZero();var p=I.CrossVV(this.m_rA,this.m_u),m=I.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,this.m_frequencyHz>0){var v=d-this.m_length,g=2*s*this.m_frequencyHz,b=2*this.m_mass*this.m_dampingRatio*g,A=this.m_mass*g*g,x=t.step.dt;this.m_gamma=x*(b+x*A),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*x*A*this.m_gamma,y+=this.m_gamma,this.m_mass=0!==y?1/y:0}else this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var C=I.MulSV(this.m_impulse,this.m_u,i.InitVelocityConstraints_s_P);r.SelfMulSub(this.m_invMassA,C),a-=this.m_invIA*I.CrossVV(this.m_rA,C),h.SelfMulAdd(this.m_invMassB,C),u+=this.m_invIB*I.CrossVV(this.m_rB,C)}else this.m_impulse=0;t.velocities[this.m_indexA].w=a,t.velocities[this.m_indexB].w=u},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=I.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=I.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),l=I.DotVV(this.m_u,I.SubVV(o,a,I.s_t0)),c=-this.m_mass*(l+this.m_bias+this.m_gamma*this.m_impulse);this.m_impulse+=c;var h=I.MulSV(c,this.m_u,i.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,h),n-=this.m_invIA*I.CrossVV(this.m_rA,h),r.SelfMulAdd(this.m_invMassB,h),s+=this.m_invIB*I.CrossVV(this.m_rB,h),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){if(this.m_frequencyHz>0)return!0;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s),c=F.MulRV(a,this.m_lalcA,this.m_rA),h=F.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_u;u.x=r.x+h.x-e.x-c.x,u.y=r.y+h.y-e.y-c.y;var _=this.m_u.Normalize()-this.m_length;_=g(_,-.2,.2);var f=-this.m_mass*_,d=I.MulSV(f,u,i.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,d),n-=this.m_invIA*I.CrossVV(c,d),r.SelfMulAdd(this.m_invMassB,d),s+=this.m_invIB*I.CrossVV(h,d),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,m(_)<l},i.InitVelocityConstraints_s_P=new I,i.SolveVelocityConstraints_s_vpA=new I,i.SolveVelocityConstraints_s_vpB=new I,i.SolveVelocityConstraints_s_P=new I,i.SolvePositionConstraints_s_P=new I,i})(mi),gi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_areaJoint)||this;return i.bodies=[],i.frequencyHz=0,i.dampingRatio=0,i}return ti(i,e),i.prototype.AddBody=function(t){this.bodies.push(t),1===this.bodies.length?this.bodyA=t:2===this.bodies.length&&(this.bodyB=t)},i})(pi),bi=(function(t){function i(i){var n=t.call(this,i)||this;n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_impulse=0,n.m_targetArea=0,n.m_bodies=i.bodies,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_targetLengths=p(i.bodies.length),n.m_normals=I.MakeArray(i.bodies.length),n.m_joints=[],n.m_deltas=I.MakeArray(i.bodies.length),n.m_delta=new I;var r=new yi;r.frequencyHz=n.m_frequencyHz,r.dampingRatio=n.m_dampingRatio,n.m_targetArea=0;for(var s=0;s<n.m_bodies.length;++s){var a=n.m_bodies[s],o=n.m_bodies[(s+1)%n.m_bodies.length],l=a.GetWorldCenter(),c=o.GetWorldCenter();n.m_targetLengths[s]=I.DistanceVV(l,c),n.m_targetArea+=I.CrossVV(l,c),r.Initialize(a,o,l,c),n.m_joints[s]=a.GetWorld().CreateJoint(r)}return n.m_targetArea*=.5,n}return ti(i,t),i.prototype.GetAnchorA=function(t){return t},i.prototype.GetAnchorB=function(t){return t},i.prototype.GetReactionForce=function(t,e){return e},i.prototype.GetReactionTorque=function(){return 0},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t;for(var e=0;e<this.m_joints.length;++e)this.m_joints[e].SetFrequency(t)},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t;for(var e=0;e<this.m_joints.length;++e)this.m_joints[e].SetDampingRatio(t)},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){t("Area joint dumping is not supported.\n")},i.prototype.InitVelocityConstraints=function(t){for(var e=0;e<this.m_bodies.length;++e){var i=this.m_bodies[(e+this.m_bodies.length-1)%this.m_bodies.length],n=this.m_bodies[(e+1)%this.m_bodies.length],r=t.positions[i.m_islandIndex].c,s=t.positions[n.m_islandIndex].c,a=this.m_deltas[e];I.SubVV(s,r,a)}if(t.step.warmStarting)for(this.m_impulse*=t.step.dtRatio,e=0;e<this.m_bodies.length;++e){var o=this.m_bodies[e],l=t.velocities[o.m_islandIndex].v;a=this.m_deltas[e],l.x+=o.m_invMass*a.y*.5*this.m_impulse,l.y+=o.m_invMass*-a.x*.5*this.m_impulse}else this.m_impulse=0},i.prototype.SolveVelocityConstraints=function(t){for(var e=0,i=0,n=0;n<this.m_bodies.length;++n){var r=this.m_bodies[n],s=t.velocities[r.m_islandIndex].v;e+=(o=this.m_deltas[n]).LengthSquared()/r.GetMass(),i+=I.CrossVV(s,o)}var a=-2*i/e;for(this.m_impulse+=a,n=0;n<this.m_bodies.length;++n){r=this.m_bodies[n],s=t.velocities[r.m_islandIndex].v;var o=this.m_deltas[n];s.x+=r.m_invMass*o.y*.5*a,s.y+=r.m_invMass*-o.x*.5*a}},i.prototype.SolvePositionConstraints=function(t){for(var e=0,i=0,r=0;r<this.m_bodies.length;++r){var s=this.m_bodies[r],a=this.m_bodies[(r+1)%this.m_bodies.length],o=t.positions[s.m_islandIndex].c,c=t.positions[a.m_islandIndex].c,h=(f=I.SubVV(c,o,this.m_delta)).Length();h<n&&(h=1),this.m_normals[r].x=f.y/h,this.m_normals[r].y=-f.x/h,e+=h,i+=I.CrossVV(o,c)}i*=.5;var u=.5*(this.m_targetArea-i)/e,_=!0;for(r=0;r<this.m_bodies.length;++r){s=this.m_bodies[r],o=t.positions[s.m_islandIndex].c;var f,d=(r+1)%this.m_bodies.length;(f=I.AddVV(this.m_normals[r],this.m_normals[d],this.m_delta)).SelfMul(u);var p=f.LengthSquared();p>A(.2)&&f.SelfMul(.2/T(p)),p>A(l)&&(_=!1),o.x+=f.x,o.y+=f.y}return _},i})(mi),Ai=(function(e){function i(){var i=e.call(this,t.b2JointType.e_frictionJoint)||this;return i.localAnchorA=new I,i.localAnchorB=new I,i.maxForce=0,i.maxTorque=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB)},i})(pi),xi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorA=new I,n.m_localAnchorB=new I,n.m_linearImpulse=new I,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_indexA=0,n.m_indexB=0,n.m_rA=new I,n.m_rB=new I,n.m_localCenterA=new I,n.m_localCenterB=new I,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new O,n.m_angularMass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new I,n.m_lalcB=new I,n.m_K=new O,n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_linearMass.SetZero(),n}return ti(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].a,i=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.positions[this.m_indexB].a,s=t.velocities[this.m_indexB].v,a=t.velocities[this.m_indexB].w,o=this.m_qA.SetAngle(e),l=this.m_qB.SetAngle(r);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(o,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(l,this.m_lalcB,this.m_rB),u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,d=this.m_invIB,p=this.m_K;if(p.ex.x=u+_+f*c.y*c.y+d*h.y*h.y,p.ex.y=-f*c.x*c.y-d*h.x*h.y,p.ey.x=p.ex.y,p.ey.y=u+_+f*c.x*c.x+d*h.x*h.x,p.GetInverse(this.m_linearMass),this.m_angularMass=f+d,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var m=this.m_linearImpulse;i.SelfMulSub(u,m),n-=f*(I.CrossVV(this.m_rA,m)+this.m_angularImpulse),s.SelfMulAdd(_,m),a+=d*(I.CrossVV(this.m_rB,m)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=a},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,c=this.m_invIB,h=t.step.dt,u=s-n,_=-this.m_angularMass*u,f=this.m_angularImpulse,d=h*this.m_maxTorque;this.m_angularImpulse=g(this.m_angularImpulse+_,-d,d),n-=l*(_=this.m_angularImpulse-f),s+=c*_;var p=I.SubVV(I.AddVCrossSV(r,s,this.m_rB,I.s_t0),I.AddVCrossSV(e,n,this.m_rA,I.s_t1),i.SolveVelocityConstraints_s_Cdot_v2),m=O.MulMV(this.m_linearMass,p,i.SolveVelocityConstraints_s_impulseV).SelfNeg(),y=i.SolveVelocityConstraints_s_oldImpulseV.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(m),d=h*this.m_maxForce,this.m_linearImpulse.LengthSquared()>d*d&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(d)),I.SubVV(this.m_linearImpulse,y,m),e.SelfMulSub(a,m),n-=l*I.CrossVV(this.m_rA,m),r.SelfMulAdd(o,m),s+=c*I.CrossVV(this.m_rB,m),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(){return!0},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_linearImpulse.x,e.y=t*this.m_linearImpulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2FrictionJointDef = new b2FrictionJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.maxForce = %.15f;\n",this.m_maxForce),t(" jd.maxTorque = %.15f;\n",this.m_maxTorque),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.SolveVelocityConstraints_s_Cdot_v2=new I,i.SolveVelocityConstraints_s_impulseV=new I,i.SolveVelocityConstraints_s_oldImpulseV=new I,i})(mi),Ci=(function(e){function i(){var i=e.call(this,t.b2JointType.e_gearJoint)||this;return i.ratio=1,i}return ti(i,e),i})(pi),Ti=(function(i){function n(n){var r,s,a=i.call(this,n)||this;a.m_typeA=t.b2JointType.e_unknownJoint,a.m_typeB=t.b2JointType.e_unknownJoint,a.m_localAnchorA=new I,a.m_localAnchorB=new I,a.m_localAnchorC=new I,a.m_localAnchorD=new I,a.m_localAxisC=new I,a.m_localAxisD=new I,a.m_referenceAngleA=0,a.m_referenceAngleB=0,a.m_constant=0,a.m_ratio=0,a.m_impulse=0,a.m_indexA=0,a.m_indexB=0,a.m_indexC=0,a.m_indexD=0,a.m_lcA=new I,a.m_lcB=new I,a.m_lcC=new I,a.m_lcD=new I,a.m_mA=0,a.m_mB=0,a.m_mC=0,a.m_mD=0,a.m_iA=0,a.m_iB=0,a.m_iC=0,a.m_iD=0,a.m_JvAC=new I,a.m_JvBD=new I,a.m_JwA=0,a.m_JwB=0,a.m_JwC=0,a.m_JwD=0,a.m_mass=0,a.m_qA=new F,a.m_qB=new F,a.m_qC=new F,a.m_qD=new F,a.m_lalcA=new I,a.m_lalcB=new I,a.m_lalcC=new I,a.m_lalcD=new I,a.m_joint1=n.joint1,a.m_joint2=n.joint2,a.m_typeA=a.m_joint1.GetType(),a.m_typeB=a.m_joint2.GetType(),a.m_bodyC=a.m_joint1.GetBodyA(),a.m_bodyA=a.m_joint1.GetBodyB();var o=a.m_bodyA.m_xf,l=a.m_bodyA.m_sweep.a,c=a.m_bodyC.m_xf,h=a.m_bodyC.m_sweep.a;if(a.m_typeA===t.b2JointType.e_revoluteJoint){var u=n.joint1;a.m_localAnchorC.Copy(u.m_localAnchorA),a.m_localAnchorA.Copy(u.m_localAnchorB),a.m_referenceAngleA=u.m_referenceAngle,a.m_localAxisC.SetZero(),r=l-h-a.m_referenceAngleA}else{var _=n.joint1;a.m_localAnchorC.Copy(_.m_localAnchorA),a.m_localAnchorA.Copy(_.m_localAnchorB),a.m_referenceAngleA=_.m_referenceAngle,a.m_localAxisC.Copy(_.m_localXAxisA);var f=a.m_localAnchorC,d=F.MulTRV(c.q,I.AddVV(F.MulRV(o.q,a.m_localAnchorA,I.s_t0),I.SubVV(o.p,c.p,I.s_t1),I.s_t0),I.s_t0);r=I.DotVV(I.SubVV(d,f,I.s_t0),a.m_localAxisC)}a.m_bodyD=a.m_joint2.GetBodyA(),a.m_bodyB=a.m_joint2.GetBodyB();var p=a.m_bodyB.m_xf,m=a.m_bodyB.m_sweep.a,y=a.m_bodyD.m_xf,v=a.m_bodyD.m_sweep.a;if(a.m_typeB===t.b2JointType.e_revoluteJoint)u=n.joint2,a.m_localAnchorD.Copy(u.m_localAnchorA),a.m_localAnchorB.Copy(u.m_localAnchorB),a.m_referenceAngleB=u.m_referenceAngle,a.m_localAxisD.SetZero(),s=m-v-a.m_referenceAngleB;else{_=n.joint2,a.m_localAnchorD.Copy(_.m_localAnchorA),a.m_localAnchorB.Copy(_.m_localAnchorB),a.m_referenceAngleB=_.m_referenceAngle,a.m_localAxisD.Copy(_.m_localXAxisA);var g=a.m_localAnchorD,b=F.MulTRV(y.q,I.AddVV(F.MulRV(p.q,a.m_localAnchorB,I.s_t0),I.SubVV(p.p,y.p,I.s_t1),I.s_t0),I.s_t0);s=I.DotVV(I.SubVV(b,g,I.s_t0),a.m_localAxisD)}return a.m_ratio=e(n.ratio,1),a.m_constant=r+a.m_ratio*s,a.m_impulse=0,a}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_indexC=this.m_bodyC.m_islandIndex,this.m_indexD=this.m_bodyD.m_islandIndex,this.m_lcA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_lcB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_lcC.Copy(this.m_bodyC.m_sweep.localCenter),this.m_lcD.Copy(this.m_bodyD.m_sweep.localCenter),this.m_mA=this.m_bodyA.m_invMass,this.m_mB=this.m_bodyB.m_invMass,this.m_mC=this.m_bodyC.m_invMass,this.m_mD=this.m_bodyD.m_invMass,this.m_iA=this.m_bodyA.m_invI,this.m_iB=this.m_bodyB.m_invI,this.m_iC=this.m_bodyC.m_invI,this.m_iD=this.m_bodyD.m_invI;var i=e.positions[this.m_indexA].a,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,a=e.positions[this.m_indexB].a,o=e.velocities[this.m_indexB].v,l=e.velocities[this.m_indexB].w,c=e.positions[this.m_indexC].a,h=e.velocities[this.m_indexC].v,u=e.velocities[this.m_indexC].w,_=e.positions[this.m_indexD].a,f=e.velocities[this.m_indexD].v,d=e.velocities[this.m_indexD].w,p=this.m_qA.SetAngle(i),m=this.m_qB.SetAngle(a),y=this.m_qC.SetAngle(c),v=this.m_qD.SetAngle(_);if(this.m_mass=0,this.m_typeA===t.b2JointType.e_revoluteJoint)this.m_JvAC.SetZero(),this.m_JwA=1,this.m_JwC=1,this.m_mass+=this.m_iA+this.m_iC;else{var g=F.MulRV(y,this.m_localAxisC,n.InitVelocityConstraints_s_u);I.SubVV(this.m_localAnchorC,this.m_lcC,this.m_lalcC);var b=F.MulRV(y,this.m_lalcC,n.InitVelocityConstraints_s_rC);I.SubVV(this.m_localAnchorA,this.m_lcA,this.m_lalcA);var A=F.MulRV(p,this.m_lalcA,n.InitVelocityConstraints_s_rA);this.m_JvAC.Copy(g),this.m_JwC=I.CrossVV(b,g),this.m_JwA=I.CrossVV(A,g),this.m_mass+=this.m_mC+this.m_mA+this.m_iC*this.m_JwC*this.m_JwC+this.m_iA*this.m_JwA*this.m_JwA}if(this.m_typeB===t.b2JointType.e_revoluteJoint)this.m_JvBD.SetZero(),this.m_JwB=this.m_ratio,this.m_JwD=this.m_ratio,this.m_mass+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD);else{g=F.MulRV(v,this.m_localAxisD,n.InitVelocityConstraints_s_u),I.SubVV(this.m_localAnchorD,this.m_lcD,this.m_lalcD);var x=F.MulRV(v,this.m_lalcD,n.InitVelocityConstraints_s_rD);I.SubVV(this.m_localAnchorB,this.m_lcB,this.m_lalcB);var C=F.MulRV(m,this.m_lalcB,n.InitVelocityConstraints_s_rB);I.MulSV(this.m_ratio,g,this.m_JvBD),this.m_JwD=this.m_ratio*I.CrossVV(x,g),this.m_JwB=this.m_ratio*I.CrossVV(C,g),this.m_mass+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*this.m_JwD*this.m_JwD+this.m_iB*this.m_JwB*this.m_JwB}this.m_mass=this.m_mass>0?1/this.m_mass:0,e.step.warmStarting?(r.SelfMulAdd(this.m_mA*this.m_impulse,this.m_JvAC),s+=this.m_iA*this.m_impulse*this.m_JwA,o.SelfMulAdd(this.m_mB*this.m_impulse,this.m_JvBD),l+=this.m_iB*this.m_impulse*this.m_JwB,h.SelfMulSub(this.m_mC*this.m_impulse,this.m_JvAC),u-=this.m_iC*this.m_impulse*this.m_JwC,f.SelfMulSub(this.m_mD*this.m_impulse,this.m_JvBD),d-=this.m_iD*this.m_impulse*this.m_JwD):this.m_impulse=0,e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=l,e.velocities[this.m_indexC].w=u,e.velocities[this.m_indexD].w=d},n.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,s=t.velocities[this.m_indexC].v,a=t.velocities[this.m_indexC].w,o=t.velocities[this.m_indexD].v,l=t.velocities[this.m_indexD].w,c=I.DotVV(this.m_JvAC,I.SubVV(e,s,I.s_t0))+I.DotVV(this.m_JvBD,I.SubVV(n,o,I.s_t0));c+=this.m_JwA*i-this.m_JwC*a+(this.m_JwB*r-this.m_JwD*l);var h=-this.m_mass*c;this.m_impulse+=h,e.SelfMulAdd(this.m_mA*h,this.m_JvAC),i+=this.m_iA*h*this.m_JwA,n.SelfMulAdd(this.m_mB*h,this.m_JvBD),r+=this.m_iB*h*this.m_JwB,s.SelfMulSub(this.m_mC*h,this.m_JvAC),a-=this.m_iC*h*this.m_JwC,o.SelfMulSub(this.m_mD*h,this.m_JvBD),l-=this.m_iD*h*this.m_JwD,t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=r,t.velocities[this.m_indexC].w=a,t.velocities[this.m_indexD].w=l},n.prototype.SolvePositionConstraints=function(e){var i,r,s,a,o,c,h=e.positions[this.m_indexA].c,u=e.positions[this.m_indexA].a,_=e.positions[this.m_indexB].c,f=e.positions[this.m_indexB].a,d=e.positions[this.m_indexC].c,p=e.positions[this.m_indexC].a,m=e.positions[this.m_indexD].c,y=e.positions[this.m_indexD].a,v=this.m_qA.SetAngle(u),g=this.m_qB.SetAngle(f),b=this.m_qC.SetAngle(p),A=this.m_qD.SetAngle(y),x=this.m_JvAC,C=this.m_JvBD,T=0;if(this.m_typeA===t.b2JointType.e_revoluteJoint)x.SetZero(),s=1,o=1,T+=this.m_iA+this.m_iC,i=u-p-this.m_referenceAngleA;else{var S=F.MulRV(b,this.m_localAxisC,n.SolvePositionConstraints_s_u),w=F.MulRV(b,this.m_lalcC,n.SolvePositionConstraints_s_rC),E=F.MulRV(v,this.m_lalcA,n.SolvePositionConstraints_s_rA);x.Copy(S),o=I.CrossVV(w,S),s=I.CrossVV(E,S),T+=this.m_mC+this.m_mA+this.m_iC*o*o+this.m_iA*s*s;var M=this.m_lalcC,D=F.MulTRV(b,I.AddVV(E,I.SubVV(h,d,I.s_t0),I.s_t0),I.s_t0);i=I.DotVV(I.SubVV(D,M,I.s_t0),this.m_localAxisC)}if(this.m_typeB===t.b2JointType.e_revoluteJoint)C.SetZero(),a=this.m_ratio,c=this.m_ratio,T+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD),r=f-y-this.m_referenceAngleB;else{S=F.MulRV(A,this.m_localAxisD,n.SolvePositionConstraints_s_u);var B=F.MulRV(A,this.m_lalcD,n.SolvePositionConstraints_s_rD),P=F.MulRV(g,this.m_lalcB,n.SolvePositionConstraints_s_rB);I.MulSV(this.m_ratio,S,C),c=this.m_ratio*I.CrossVV(B,S),a=this.m_ratio*I.CrossVV(P,S),T+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*c*c+this.m_iB*a*a;var R=this.m_lalcD,O=F.MulTRV(A,I.AddVV(P,I.SubVV(_,m,I.s_t0),I.s_t0),I.s_t0);r=I.DotVV(I.SubVV(O,R,I.s_t0),this.m_localAxisD)}var L=i+this.m_ratio*r-this.m_constant,V=0;return T>0&&(V=-L/T),h.SelfMulAdd(this.m_mA*V,x),u+=this.m_iA*V*s,_.SelfMulAdd(this.m_mB*V,C),f+=this.m_iB*V*a,d.SelfMulSub(this.m_mC*V,x),p-=this.m_iC*V*o,m.SelfMulSub(this.m_mD*V,C),y-=this.m_iD*V*c,e.positions[this.m_indexA].a=u,e.positions[this.m_indexB].a=f,e.positions[this.m_indexC].a=p,e.positions[this.m_indexD].a=y,0<l},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return I.MulSV(t*this.m_impulse,this.m_JvAC,e)},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse*this.m_JwA},n.prototype.GetJoint1=function(){return this.m_joint1},n.prototype.GetJoint2=function(){return this.m_joint2},n.prototype.GetRatio=function(){return this.m_ratio},n.prototype.SetRatio=function(t){this.m_ratio=t},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex,n=this.m_joint1.m_index,r=this.m_joint2.m_index;t(" const jd: b2GearJointDef = new b2GearJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.joint1 = joints[%d];\n",n),t(" jd.joint2 = joints[%d];\n",r),t(" jd.ratio = %.15f;\n",this.m_ratio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_u=new I,n.InitVelocityConstraints_s_rA=new I,n.InitVelocityConstraints_s_rB=new I,n.InitVelocityConstraints_s_rC=new I,n.InitVelocityConstraints_s_rD=new I,n.SolvePositionConstraints_s_u=new I,n.SolvePositionConstraints_s_rA=new I,n.SolvePositionConstraints_s_rB=new I,n.SolvePositionConstraints_s_rC=new I,n.SolvePositionConstraints_s_rD=new I,n})(mi),Si=(function(e){function i(){var i=e.call(this,t.b2JointType.e_motorJoint)||this;return i.linearOffset=new I(0,0),i.angularOffset=0,i.maxForce=1,i.maxTorque=1,i.correctionFactor=.3,i}return ti(i,e),i.prototype.Initialize=function(t,e){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(this.bodyB.GetPosition(),this.linearOffset);var i=this.bodyA.GetAngle(),n=this.bodyB.GetAngle();this.angularOffset=n-i},i})(pi),wi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_linearOffset=new I,n.m_angularOffset=0,n.m_linearImpulse=new I,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_correctionFactor=.3,n.m_indexA=0,n.m_indexB=0,n.m_rA=new I,n.m_rB=new I,n.m_localCenterA=new I,n.m_localCenterB=new I,n.m_linearError=new I,n.m_angularError=0,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new O,n.m_angularMass=0,n.m_qA=new F,n.m_qB=new F,n.m_K=new O,n.m_linearOffset.Copy(e(i.linearOffset,I.ZERO)),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_correctionFactor=e(i.correctionFactor,.3),n}return ti(i,t),i.prototype.GetAnchorA=function(t){var e=this.m_bodyA.GetPosition();return t.x=e.x,t.y=e.y,t},i.prototype.GetAnchorB=function(t){var e=this.m_bodyB.GetPosition();return t.x=e.x,t.y=e.y,t},i.prototype.GetReactionForce=function(t,e){return I.MulSV(t,this.m_linearImpulse,e)},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.SetLinearOffset=function(t){I.IsEqualToV(t,this.m_linearOffset)||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_linearOffset.Copy(t))},i.prototype.GetLinearOffset=function(){return this.m_linearOffset},i.prototype.SetAngularOffset=function(t){t!==this.m_angularOffset&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_angularOffset=t)},i.prototype.GetAngularOffset=function(){return this.m_angularOffset},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,n=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,s=t.positions[this.m_indexB].c,a=t.positions[this.m_indexB].a,o=t.velocities[this.m_indexB].v,l=t.velocities[this.m_indexB].w,c=this.m_qA.SetAngle(i),h=this.m_qB.SetAngle(a),u=F.MulRV(c,I.SubVV(this.m_linearOffset,this.m_localCenterA,I.s_t0),this.m_rA),_=F.MulRV(h,I.NegV(this.m_localCenterB,I.s_t0),this.m_rB),f=this.m_invMassA,d=this.m_invMassB,p=this.m_invIA,m=this.m_invIB,y=this.m_K;if(y.ex.x=f+d+p*u.y*u.y+m*_.y*_.y,y.ex.y=-p*u.x*u.y-m*_.x*_.y,y.ey.x=y.ex.y,y.ey.y=f+d+p*u.x*u.x+m*_.x*_.x,y.GetInverse(this.m_linearMass),this.m_angularMass=p+m,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),I.SubVV(I.AddVV(s,_,I.s_t0),I.AddVV(e,u,I.s_t1),this.m_linearError),this.m_angularError=a-i-this.m_angularOffset,t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var v=this.m_linearImpulse;n.SelfMulSub(f,v),r-=p*(I.CrossVV(u,v)+this.m_angularImpulse),o.SelfMulAdd(d,v),l+=m*(I.CrossVV(_,v)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=l},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,c=this.m_invIB,h=t.step.dt,u=t.step.inv_dt,_=s-n+u*this.m_correctionFactor*this.m_angularError,f=-this.m_angularMass*_,d=this.m_angularImpulse,p=h*this.m_maxTorque;this.m_angularImpulse=g(this.m_angularImpulse+f,-p,p),n-=l*(f=this.m_angularImpulse-d),s+=c*f;var m=this.m_rA,y=this.m_rB,v=I.AddVV(I.SubVV(I.AddVV(r,I.CrossSV(s,y,I.s_t0),I.s_t0),I.AddVV(e,I.CrossSV(n,m,I.s_t1),I.s_t1),I.s_t2),I.MulSV(u*this.m_correctionFactor,this.m_linearError,I.s_t3),i.SolveVelocityConstraints_s_Cdot_v2),b=O.MulMV(this.m_linearMass,v,i.SolveVelocityConstraints_s_impulse_v2).SelfNeg(),A=i.SolveVelocityConstraints_s_oldImpulse_v2.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(b),p=h*this.m_maxForce,this.m_linearImpulse.LengthSquared()>p*p&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(p)),I.SubVV(this.m_linearImpulse,A,b),e.SelfMulSub(a,b),n-=l*I.CrossVV(m,b),r.SelfMulAdd(o,b),s+=c*I.CrossVV(y,b),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(){return!0},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2MotorJointDef = new b2MotorJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.linearOffset.Set(%.15f, %.15f);\n",this.m_linearOffset.x,this.m_linearOffset.y),t(" jd.angularOffset = %.15f;\n",this.m_angularOffset),t(" jd.maxForce = %.15f;\n",this.m_maxForce),t(" jd.maxTorque = %.15f;\n",this.m_maxTorque),t(" jd.correctionFactor = %.15f;\n",this.m_correctionFactor),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.SolveVelocityConstraints_s_Cdot_v2=new I,i.SolveVelocityConstraints_s_impulse_v2=new I,i.SolveVelocityConstraints_s_oldImpulse_v2=new I,i})(mi),Ei=(function(e){function i(){var i=e.call(this,t.b2JointType.e_mouseJoint)||this;return i.target=new I,i.maxForce=0,i.frequencyHz=5,i.dampingRatio=.7,i}return ti(i,e),i})(pi),Mi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorB=new I,n.m_targetA=new I,n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_beta=0,n.m_impulse=new I,n.m_maxForce=0,n.m_gamma=0,n.m_indexA=0,n.m_indexB=0,n.m_rB=new I,n.m_localCenterB=new I,n.m_invMassB=0,n.m_invIB=0,n.m_mass=new O,n.m_C=new I,n.m_qB=new F,n.m_lalcB=new I,n.m_K=new O,n.m_targetA.Copy(e(i.target,I.ZERO)),V.MulTXV(n.m_bodyB.GetTransform(),n.m_targetA,n.m_localAnchorB),n.m_maxForce=e(i.maxForce,0),n.m_impulse.SetZero(),n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_beta=0,n.m_gamma=0,n}return ti(i,t),i.prototype.SetTarget=function(t){this.m_bodyB.IsAwake()||this.m_bodyB.SetAwake(!0),this.m_targetA.Copy(t)},i.prototype.GetTarget=function(){return this.m_targetA},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.InitVelocityConstraints=function(t){this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexB].c,i=t.positions[this.m_indexB].a,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,a=this.m_qB.SetAngle(i),o=this.m_bodyB.GetMass(),l=2*s*this.m_frequencyHz,c=2*o*this.m_dampingRatio*l,h=o*l*l,u=t.step.dt;this.m_gamma=u*(c+u*h),0!==this.m_gamma&&(this.m_gamma=1/this.m_gamma),this.m_beta=u*h*this.m_gamma,I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(a,this.m_lalcB,this.m_rB);var _=this.m_K;_.ex.x=this.m_invMassB+this.m_invIB*this.m_rB.y*this.m_rB.y+this.m_gamma,_.ex.y=-this.m_invIB*this.m_rB.x*this.m_rB.y,_.ey.x=_.ex.y,_.ey.y=this.m_invMassB+this.m_invIB*this.m_rB.x*this.m_rB.x+this.m_gamma,_.GetInverse(this.m_mass),this.m_C.x=e.x+this.m_rB.x-this.m_targetA.x,this.m_C.y=e.y+this.m_rB.y-this.m_targetA.y,this.m_C.SelfMul(this.m_beta),r*=.98,t.step.warmStarting?(this.m_impulse.SelfMul(t.step.dtRatio),n.x+=this.m_invMassB*this.m_impulse.x,n.y+=this.m_invMassB*this.m_impulse.y,r+=this.m_invIB*I.CrossVV(this.m_rB,this.m_impulse)):this.m_impulse.SetZero(),t.velocities[this.m_indexB].w=r},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,r=I.AddVCrossSV(e,n,this.m_rB,i.SolveVelocityConstraints_s_Cdot),s=O.MulMV(this.m_mass,I.AddVV(r,I.AddVV(this.m_C,I.MulSV(this.m_gamma,this.m_impulse,I.s_t0),I.s_t0),I.s_t0).SelfNeg(),i.SolveVelocityConstraints_s_impulse),a=i.SolveVelocityConstraints_s_oldImpulse.Copy(this.m_impulse);this.m_impulse.SelfAdd(s);var o=t.step.dt*this.m_maxForce;this.m_impulse.LengthSquared()>o*o&&this.m_impulse.SelfMul(o/this.m_impulse.Length()),I.SubVV(this.m_impulse,a,s),e.SelfMulAdd(this.m_invMassB,s),n+=this.m_invIB*I.CrossVV(this.m_rB,s),t.velocities[this.m_indexB].w=n},i.prototype.SolvePositionConstraints=function(){return!0},i.prototype.GetAnchorA=function(t){return t.x=this.m_targetA.x,t.y=this.m_targetA.y,t},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return I.MulSV(t,this.m_impulse,e)},i.prototype.GetReactionTorque=function(){return 0},i.prototype.Dump=function(t){t("Mouse joint dumping is not supported.\n")},i.prototype.ShiftOrigin=function(t){this.m_targetA.SelfSub(t)},i.SolveVelocityConstraints_s_Cdot=new I,i.SolveVelocityConstraints_s_impulse=new I,i.SolveVelocityConstraints_s_oldImpulse=new I,i})(mi),Di=(function(e){function i(){var i=e.call(this,t.b2JointType.e_prismaticJoint)||this;return i.localAnchorA=new I,i.localAnchorB=new I,i.localAxisA=new I(1,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerTranslation=0,i.upperTranslation=0,i.enableMotor=!1,i.maxMotorForce=0,i.motorSpeed=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),Bi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new I,r.m_localAnchorB=new I,r.m_localXAxisA=new I,r.m_localYAxisA=new I,r.m_referenceAngle=0,r.m_impulse=new R(0,0,0),r.m_motorImpulse=0,r.m_lowerTranslation=0,r.m_upperTranslation=0,r.m_maxMotorForce=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_enableMotor=!1,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_indexA=0,r.m_indexB=0,r.m_localCenterA=new I,r.m_localCenterB=new I,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_axis=new I(0,0),r.m_perp=new I(0,0),r.m_s1=0,r.m_s2=0,r.m_a1=0,r.m_a2=0,r.m_K=new L,r.m_K3=new L,r.m_K2=new O,r.m_motorMass=0,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new I,r.m_lalcB=new I,r.m_rA=new I,r.m_rB=new I,r.m_localAnchorA.Copy(e(n.localAnchorA,I.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,I.ZERO)),r.m_localXAxisA.Copy(e(n.localAxisA,new I(1,0))).SelfNormalize(),I.CrossOneV(r.m_localXAxisA,r.m_localYAxisA),r.m_referenceAngle=e(n.referenceAngle,0),r.m_lowerTranslation=e(n.lowerTranslation,0),r.m_upperTranslation=e(n.upperTranslation,0),r.m_maxMotorForce=e(n.maxMotorForce,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,c=e.positions[this.m_indexB].a,h=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(c);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=F.MulRV(_,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p=F.MulRV(f,this.m_lalcB,this.m_rB),y=I.AddVV(I.SubVV(o,i,I.s_t0),I.SubVV(p,d,I.s_t1),n.InitVelocityConstraints_s_d),v=this.m_invMassA,g=this.m_invMassB,b=this.m_invIA,A=this.m_invIB;if(F.MulRV(_,this.m_localXAxisA,this.m_axis),this.m_a1=I.CrossVV(I.AddVV(y,d,I.s_t0),this.m_axis),this.m_a2=I.CrossVV(p,this.m_axis),this.m_motorMass=v+g+b*this.m_a1*this.m_a1+A*this.m_a2*this.m_a2,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),F.MulRV(_,this.m_localYAxisA,this.m_perp),this.m_s1=I.CrossVV(I.AddVV(y,d,I.s_t0),this.m_perp),this.m_s2=I.CrossVV(p,this.m_perp),this.m_K.ex.x=v+g+b*this.m_s1*this.m_s1+A*this.m_s2*this.m_s2,this.m_K.ex.y=b*this.m_s1+A*this.m_s2,this.m_K.ex.z=b*this.m_s1*this.m_a1+A*this.m_s2*this.m_a2,this.m_K.ey.x=this.m_K.ex.y,this.m_K.ey.y=b+A,0===this.m_K.ey.y&&(this.m_K.ey.y=1),this.m_K.ey.z=b*this.m_a1+A*this.m_a2,this.m_K.ez.x=this.m_K.ex.z,this.m_K.ez.y=this.m_K.ey.z,this.m_K.ez.z=v+g+b*this.m_a1*this.m_a1+A*this.m_a2*this.m_a2,this.m_enableLimit){var x=I.DotVV(this.m_axis,y);m(this.m_upperTranslation-this.m_lowerTranslation)<2*l?this.m_limitState=t.b2LimitState.e_equalLimits:x<=this.m_lowerTranslation?this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_limitState=t.b2LimitState.e_atLowerLimit,this.m_impulse.z=0):x>=this.m_upperTranslation?this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_limitState=t.b2LimitState.e_atUpperLimit,this.m_impulse.z=0):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0;if(this.m_enableMotor||(this.m_motorImpulse=0),e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var C=I.AddVV(I.MulSV(this.m_impulse.x,this.m_perp,I.s_t0),I.MulSV(this.m_motorImpulse+this.m_impulse.z,this.m_axis,I.s_t1),n.InitVelocityConstraints_s_P),T=this.m_impulse.x*this.m_s1+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a1,S=this.m_impulse.x*this.m_s2+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a2;s.SelfMulSub(v,C),a-=b*T,h.SelfMulAdd(g,C),u+=A*S}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,l=this.m_invMassB,c=this.m_invIA,h=this.m_invIB;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits){var u=I.DotVV(this.m_axis,I.SubVV(s,i,I.s_t0))+this.m_a2*a-this.m_a1*r,_=this.m_motorMass*(this.m_motorSpeed-u),f=this.m_motorImpulse,d=e.step.dt*this.m_maxMotorForce;this.m_motorImpulse=g(this.m_motorImpulse+_,-d,d),_=this.m_motorImpulse-f;var p=I.MulSV(_,this.m_axis,n.SolveVelocityConstraints_s_P),m=_*this.m_a1,b=_*this.m_a2;i.SelfMulSub(o,p),r-=c*m,s.SelfMulAdd(l,p),a+=h*b}var A=I.DotVV(this.m_perp,I.SubVV(s,i,I.s_t0))+this.m_s2*a-this.m_s1*r,x=a-r;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit){var C=I.DotVV(this.m_axis,I.SubVV(s,i,I.s_t0))+this.m_a2*a-this.m_a1*r,T=n.SolveVelocityConstraints_s_f1.Copy(this.m_impulse),S=this.m_K.Solve33(-A,-x,-C,n.SolveVelocityConstraints_s_df3);this.m_impulse.SelfAdd(S),this.m_limitState===t.b2LimitState.e_atLowerLimit?this.m_impulse.z=v(this.m_impulse.z,0):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=y(this.m_impulse.z,0));var w=-A-(this.m_impulse.z-T.z)*this.m_K.ez.x,E=-x-(this.m_impulse.z-T.z)*this.m_K.ez.y,M=this.m_K.Solve22(w,E,n.SolveVelocityConstraints_s_f2r);M.x+=T.x,M.y+=T.y,this.m_impulse.x=M.x,this.m_impulse.y=M.y,S.x=this.m_impulse.x-T.x,S.y=this.m_impulse.y-T.y,S.z=this.m_impulse.z-T.z,p=I.AddVV(I.MulSV(S.x,this.m_perp,I.s_t0),I.MulSV(S.z,this.m_axis,I.s_t1),n.SolveVelocityConstraints_s_P),m=S.x*this.m_s1+S.y+S.z*this.m_a1,b=S.x*this.m_s2+S.y+S.z*this.m_a2,i.SelfMulSub(o,p),r-=c*m,s.SelfMulAdd(l,p),a+=h*b}else{var D=this.m_K.Solve22(-A,-x,n.SolveVelocityConstraints_s_df2);this.m_impulse.x+=D.x,this.m_impulse.y+=D.y,p=I.MulSV(D.x,this.m_perp,n.SolveVelocityConstraints_s_P),m=D.x*this.m_s1+D.y,b=D.x*this.m_s2+D.y,i.SelfMulSub(o,p),r-=c*m,s.SelfMulAdd(l,p),a+=h*b}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),o=this.m_qB.SetAngle(s),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB,d=F.MulRV(a,this.m_lalcA,this.m_rA),p=F.MulRV(o,this.m_lalcB,this.m_rB),y=I.SubVV(I.AddVV(r,p,I.s_t0),I.AddVV(e,d,I.s_t1),n.SolvePositionConstraints_s_d),b=F.MulRV(a,this.m_localXAxisA,this.m_axis),A=I.CrossVV(I.AddVV(y,d,I.s_t0),b),x=I.CrossVV(p,b),C=F.MulRV(a,this.m_localYAxisA,this.m_perp),T=I.CrossVV(I.AddVV(y,d,I.s_t0),C),S=I.CrossVV(p,C),w=n.SolvePositionConstraints_s_impulse,E=I.DotVV(C,y),M=s-i-this.m_referenceAngle,D=m(E),B=m(M),P=!1,R=0;if(this.m_enableLimit){var O=I.DotVV(b,y);m(this.m_upperTranslation-this.m_lowerTranslation)<2*l?(R=g(O,-.2,.2),D=v(D,m(O)),P=!0):O<=this.m_lowerTranslation?(R=g(O-this.m_lowerTranslation+l,-.2,0),D=v(D,this.m_lowerTranslation-O),P=!0):O>=this.m_upperTranslation&&(R=g(O-this.m_upperTranslation-l,0,.2),D=v(D,O-this.m_upperTranslation),P=!0)}if(P){var L=h+u+_*T*T+f*S*S,V=_*T+f*S,N=_*T*A+f*S*x;0===(U=_+f)&&(U=1);var k=_*A+f*x,z=h+u+_*A*A+f*x*x,G=this.m_K3;G.ex.SetXYZ(L,V,N),G.ey.SetXYZ(V,U,k),G.ez.SetXYZ(N,k,z),w=G.Solve33(-E,-M,-R,w)}else{var U;L=h+u+_*T*T+f*S*S,V=_*T+f*S,0===(U=_+f)&&(U=1);var j=this.m_K2;j.ex.Set(L,V),j.ey.Set(V,U);var H=j.Solve(-E,-M,n.SolvePositionConstraints_s_impulse1);w.x=H.x,w.y=H.y,w.z=0}var W=I.AddVV(I.MulSV(w.x,C,I.s_t0),I.MulSV(w.z,b,I.s_t1),n.SolvePositionConstraints_s_P),X=w.x*T+w.y+w.z*A,Y=w.x*S+w.y+w.z*x;return e.SelfMulSub(h,W),i-=_*X,r.SelfMulAdd(u,W),s+=f*Y,t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,D<=l&&B<=c},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse.x*this.m_perp.x+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.x),e.y=t*(this.m_impulse.x*this.m_perp.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.y),e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.y},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointTranslation=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,n.GetJointTranslation_s_pA),e=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,n.GetJointTranslation_s_pB),i=I.SubVV(e,t,n.GetJointTranslation_s_d),r=this.m_bodyA.GetWorldVector(this.m_localXAxisA,n.GetJointTranslation_s_axis);return I.DotVV(i,r)},n.prototype.GetJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;I.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=F.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=F.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=I.AddVV(t.m_sweep.c,i,I.s_t0),s=I.AddVV(e.m_sweep.c,n,I.s_t1),a=I.SubVV(s,r,I.s_t2),o=t.GetWorldVector(this.m_localXAxisA,this.m_axis),l=t.m_linearVelocity,c=e.m_linearVelocity,h=t.m_angularVelocity,u=e.m_angularVelocity;return I.DotVV(a,I.CrossSV(h,o,I.s_t0))+I.DotVV(o,I.SubVV(I.AddVCrossSV(c,u,n,I.s_t0),I.AddVCrossSV(l,h,i,I.s_t1),I.s_t0))},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.prototype.GetLowerLimit=function(){return this.m_lowerTranslation},n.prototype.GetUpperLimit=function(){return this.m_upperTranslation},n.prototype.SetLimits=function(t,e){t===this.m_lowerTranslation&&e===this.m_upperTranslation||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_lowerTranslation=t,this.m_upperTranslation=e,this.m_impulse.z=0)},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorForce=function(t){t!==this.m_maxMotorForce&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorForce=t)},n.prototype.GetMaxMotorForce=function(){return this.m_maxMotorForce},n.prototype.GetMotorForce=function(t){return t*this.m_motorImpulse},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2PrismaticJointDef = new b2PrismaticJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t(" jd.lowerTranslation = %.15f;\n",this.m_lowerTranslation),t(" jd.upperTranslation = %.15f;\n",this.m_upperTranslation),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorForce = %.15f;\n",this.m_maxMotorForce),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_d=new I,n.InitVelocityConstraints_s_P=new I,n.SolveVelocityConstraints_s_P=new I,n.SolveVelocityConstraints_s_f2r=new I,n.SolveVelocityConstraints_s_f1=new R,n.SolveVelocityConstraints_s_df3=new R,n.SolveVelocityConstraints_s_df2=new I,n.SolvePositionConstraints_s_d=new I,n.SolvePositionConstraints_s_impulse=new R,n.SolvePositionConstraints_s_impulse1=new I,n.SolvePositionConstraints_s_P=new I,n.GetJointTranslation_s_pA=new I,n.GetJointTranslation_s_pB=new I,n.GetJointTranslation_s_d=new I,n.GetJointTranslation_s_axis=new I,n})(mi),Ii=(function(e){function i(){var i=e.call(this,t.b2JointType.e_pulleyJoint)||this;return i.groundAnchorA=new I(-1,1),i.groundAnchorB=new I(1,1),i.localAnchorA=new I(-1,0),i.localAnchorB=new I(1,0),i.lengthA=0,i.lengthB=0,i.ratio=1,i.collideConnected=!0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n,r,s,a){this.bodyA=t,this.bodyB=e,this.groundAnchorA.Copy(i),this.groundAnchorB.Copy(n),this.bodyA.GetLocalPoint(r,this.localAnchorA),this.bodyB.GetLocalPoint(s,this.localAnchorB),this.lengthA=I.DistanceVV(r,i),this.lengthB=I.DistanceVV(s,n),this.ratio=a},i})(pi),Pi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_groundAnchorA=new I,n.m_groundAnchorB=new I,n.m_lengthA=0,n.m_lengthB=0,n.m_localAnchorA=new I,n.m_localAnchorB=new I,n.m_constant=0,n.m_ratio=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_uA=new I,n.m_uB=new I,n.m_rA=new I,n.m_rB=new I,n.m_localCenterA=new I,n.m_localCenterB=new I,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new I,n.m_lalcB=new I,n.m_groundAnchorA.Copy(e(i.groundAnchorA,new I(-1,1))),n.m_groundAnchorB.Copy(e(i.groundAnchorB,new I(1,0))),n.m_localAnchorA.Copy(e(i.localAnchorA,new I(-1,0))),n.m_localAnchorB.Copy(e(i.localAnchorB,new I(1,0))),n.m_lengthA=e(i.lengthA,0),n.m_lengthB=e(i.lengthB,0),n.m_ratio=e(i.ratio,1),n.m_constant=e(i.lengthA,0)+n.m_ratio*e(i.lengthB,0),n.m_impulse=0,n}return ti(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,s=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].c,o=t.positions[this.m_indexB].a,c=t.velocities[this.m_indexB].v,h=t.velocities[this.m_indexB].w,u=this.m_qA.SetAngle(n),_=this.m_qB.SetAngle(o);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(u,this.m_lalcA,this.m_rA),I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(_,this.m_lalcB,this.m_rB),this.m_uA.Copy(e).SelfAdd(this.m_rA).SelfSub(this.m_groundAnchorA),this.m_uB.Copy(a).SelfAdd(this.m_rB).SelfSub(this.m_groundAnchorB);var f=this.m_uA.Length(),d=this.m_uB.Length();f>10*l?this.m_uA.SelfMul(1/f):this.m_uA.SetZero(),d>10*l?this.m_uB.SelfMul(1/d):this.m_uB.SetZero();var p=I.CrossVV(this.m_rA,this.m_uA),m=I.CrossVV(this.m_rB,this.m_uB),y=this.m_invMassA+this.m_invIA*p*p,v=this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=y+this.m_ratio*this.m_ratio*v,this.m_mass>0&&(this.m_mass=1/this.m_mass),t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var g=I.MulSV(-this.m_impulse,this.m_uA,i.InitVelocityConstraints_s_PA),b=I.MulSV(-this.m_ratio*this.m_impulse,this.m_uB,i.InitVelocityConstraints_s_PB);r.SelfMulAdd(this.m_invMassA,g),s+=this.m_invIA*I.CrossVV(this.m_rA,g),c.SelfMulAdd(this.m_invMassB,b),h+=this.m_invIB*I.CrossVV(this.m_rB,b)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=h},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=I.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=I.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),l=-I.DotVV(this.m_uA,a)-this.m_ratio*I.DotVV(this.m_uB,o),c=-this.m_mass*l;this.m_impulse+=c;var h=I.MulSV(-c,this.m_uA,i.SolveVelocityConstraints_s_PA),u=I.MulSV(-this.m_ratio*c,this.m_uB,i.SolveVelocityConstraints_s_PB);e.SelfMulAdd(this.m_invMassA,h),n+=this.m_invIA*I.CrossVV(this.m_rA,h),r.SelfMulAdd(this.m_invMassB,u),s+=this.m_invIB*I.CrossVV(this.m_rB,u),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(a,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_uA.Copy(e).SelfAdd(c).SelfSub(this.m_groundAnchorA),_=this.m_uB.Copy(r).SelfAdd(h).SelfSub(this.m_groundAnchorB),f=u.Length(),d=_.Length();f>10*l?u.SelfMul(1/f):u.SetZero(),d>10*l?_.SelfMul(1/d):_.SetZero();var p=I.CrossVV(c,u),y=I.CrossVV(h,_),v=this.m_invMassA+this.m_invIA*p*p,g=this.m_invMassB+this.m_invIB*y*y,b=v+this.m_ratio*this.m_ratio*g;b>0&&(b=1/b);var A=this.m_constant-f-this.m_ratio*d,x=m(A),C=-b*A,T=I.MulSV(-C,u,i.SolvePositionConstraints_s_PA),S=I.MulSV(-this.m_ratio*C,_,i.SolvePositionConstraints_s_PB);return e.SelfMulAdd(this.m_invMassA,T),n+=this.m_invIA*I.CrossVV(c,T),r.SelfMulAdd(this.m_invMassB,S),s+=this.m_invIB*I.CrossVV(h,S),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,x<l},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_uB.x,e.y=t*this.m_impulse*this.m_uB.y,e},i.prototype.GetReactionTorque=function(){return 0},i.prototype.GetGroundAnchorA=function(){return this.m_groundAnchorA},i.prototype.GetGroundAnchorB=function(){return this.m_groundAnchorB},i.prototype.GetLengthA=function(){return this.m_lengthA},i.prototype.GetLengthB=function(){return this.m_lengthB},i.prototype.GetRatio=function(){return this.m_ratio},i.prototype.GetCurrentLengthA=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,i.GetCurrentLengthA_s_p),e=this.m_groundAnchorA;return I.DistanceVV(t,e)},i.prototype.GetCurrentLengthB=function(){var t=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,i.GetCurrentLengthB_s_p),e=this.m_groundAnchorB;return I.DistanceVV(t,e)},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2PulleyJointDef = new b2PulleyJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.groundAnchorA.Set(%.15f, %.15f);\n",this.m_groundAnchorA.x,this.m_groundAnchorA.y),t(" jd.groundAnchorB.Set(%.15f, %.15f);\n",this.m_groundAnchorB.x,this.m_groundAnchorB.y),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.lengthA = %.15f;\n",this.m_lengthA),t(" jd.lengthB = %.15f;\n",this.m_lengthB),t(" jd.ratio = %.15f;\n",this.m_ratio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.prototype.ShiftOrigin=function(t){this.m_groundAnchorA.SelfSub(t),this.m_groundAnchorB.SelfSub(t)},i.InitVelocityConstraints_s_PA=new I,i.InitVelocityConstraints_s_PB=new I,i.SolveVelocityConstraints_s_vpA=new I,i.SolveVelocityConstraints_s_vpB=new I,i.SolveVelocityConstraints_s_PA=new I,i.SolveVelocityConstraints_s_PB=new I,i.SolvePositionConstraints_s_PA=new I,i.SolvePositionConstraints_s_PB=new I,i.GetCurrentLengthA_s_p=new I,i.GetCurrentLengthB_s_p=new I,i})(mi),Ri=(function(e){function i(){var i=e.call(this,t.b2JointType.e_revoluteJoint)||this;return i.localAnchorA=new I(0,0),i.localAnchorB=new I(0,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerAngle=0,i.upperAngle=0,i.enableMotor=!1,i.motorSpeed=0,i.maxMotorTorque=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),Oi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new I,r.m_localAnchorB=new I,r.m_impulse=new R,r.m_motorImpulse=0,r.m_enableMotor=!1,r.m_maxMotorTorque=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_referenceAngle=0,r.m_lowerAngle=0,r.m_upperAngle=0,r.m_indexA=0,r.m_indexB=0,r.m_rA=new I,r.m_rB=new I,r.m_localCenterA=new I,r.m_localCenterB=new I,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=new L,r.m_motorMass=0,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new I,r.m_lalcB=new I,r.m_K=new O,r.m_localAnchorA.Copy(e(n.localAnchorA,I.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,I.ZERO)),r.m_referenceAngle=e(n.referenceAngle,0),r.m_impulse.SetZero(),r.m_motorImpulse=0,r.m_lowerAngle=e(n.lowerAngle,0),r.m_upperAngle=e(n.upperAngle,0),r.m_maxMotorTorque=e(n.maxMotorTorque,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r.m_limitState=t.b2LimitState.e_inactiveLimit,r}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].a,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,a=e.positions[this.m_indexB].a,o=e.velocities[this.m_indexB].v,l=e.velocities[this.m_indexB].w,h=this.m_qA.SetAngle(i),u=this.m_qB.SetAngle(a);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(h,this.m_lalcA,this.m_rA),I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(u,this.m_lalcB,this.m_rB);var _=this.m_invMassA,f=this.m_invMassB,d=this.m_invIA,p=this.m_invIB,y=d+p===0;if(this.m_mass.ex.x=_+f+this.m_rA.y*this.m_rA.y*d+this.m_rB.y*this.m_rB.y*p,this.m_mass.ey.x=-this.m_rA.y*this.m_rA.x*d-this.m_rB.y*this.m_rB.x*p,this.m_mass.ez.x=-this.m_rA.y*d-this.m_rB.y*p,this.m_mass.ex.y=this.m_mass.ey.x,this.m_mass.ey.y=_+f+this.m_rA.x*this.m_rA.x*d+this.m_rB.x*this.m_rB.x*p,this.m_mass.ez.y=this.m_rA.x*d+this.m_rB.x*p,this.m_mass.ex.z=this.m_mass.ez.x,this.m_mass.ey.z=this.m_mass.ez.y,this.m_mass.ez.z=d+p,this.m_motorMass=d+p,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),this.m_enableMotor&&!y||(this.m_motorImpulse=0),this.m_enableLimit&&!y){var v=a-i-this.m_referenceAngle;m(this.m_upperAngle-this.m_lowerAngle)<2*c?this.m_limitState=t.b2LimitState.e_equalLimits:v<=this.m_lowerAngle?(this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atLowerLimit):v>=this.m_upperAngle?(this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atUpperLimit):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit;if(e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var g=n.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);r.SelfMulSub(_,g),s-=d*(I.CrossVV(this.m_rA,g)+this.m_motorImpulse+this.m_impulse.z),o.SelfMulAdd(f,g),l+=p*(I.CrossVV(this.m_rB,g)+this.m_motorImpulse+this.m_impulse.z)}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=l},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,l=this.m_invMassB,c=this.m_invIA,h=this.m_invIB,u=c+h===0;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits&&!u){var _=a-r-this.m_motorSpeed,f=-this.m_motorMass*_,d=this.m_motorImpulse,p=e.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=g(this.m_motorImpulse+f,-p,p),r-=c*(f=this.m_motorImpulse-d),a+=h*f}if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!u){var m=I.SubVV(I.AddVCrossSV(s,a,this.m_rB,I.s_t0),I.AddVCrossSV(i,r,this.m_rA,I.s_t1),n.SolveVelocityConstraints_s_Cdot1),y=a-r,v=this.m_mass.Solve33(m.x,m.y,y,n.SolveVelocityConstraints_s_impulse_v3).SelfNeg();if(this.m_limitState===t.b2LimitState.e_equalLimits)this.m_impulse.SelfAdd(v);else if(this.m_limitState===t.b2LimitState.e_atLowerLimit)if(this.m_impulse.z+v.z<0){var b=-m.x+this.m_impulse.z*this.m_mass.ez.x,A=-m.y+this.m_impulse.z*this.m_mass.ez.y,x=this.m_mass.Solve22(b,A,n.SolveVelocityConstraints_s_reduced_v2);v.x=x.x,v.y=x.y,v.z=-this.m_impulse.z,this.m_impulse.x+=x.x,this.m_impulse.y+=x.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(v);else this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z+v.z>0?(b=-m.x+this.m_impulse.z*this.m_mass.ez.x,A=-m.y+this.m_impulse.z*this.m_mass.ez.y,x=this.m_mass.Solve22(b,A,n.SolveVelocityConstraints_s_reduced_v2),v.x=x.x,v.y=x.y,v.z=-this.m_impulse.z,this.m_impulse.x+=x.x,this.m_impulse.y+=x.y,this.m_impulse.z=0):this.m_impulse.SelfAdd(v));var C=n.SolveVelocityConstraints_s_P.Set(v.x,v.y);i.SelfMulSub(o,C),r-=c*(I.CrossVV(this.m_rA,C)+v.z),s.SelfMulAdd(l,C),a+=h*(I.CrossVV(this.m_rB,C)+v.z)}else{var T=I.SubVV(I.AddVCrossSV(s,a,this.m_rB,I.s_t0),I.AddVCrossSV(i,r,this.m_rA,I.s_t1),n.SolveVelocityConstraints_s_Cdot_v2),S=this.m_mass.Solve22(-T.x,-T.y,n.SolveVelocityConstraints_s_impulse_v2);this.m_impulse.x+=S.x,this.m_impulse.y+=S.y,i.SelfMulSub(o,S),r-=c*I.CrossVV(this.m_rA,S),s.SelfMulAdd(l,S),a+=h*I.CrossVV(this.m_rB,S)}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},n.prototype.SolvePositionConstraints=function(e){var i,r=e.positions[this.m_indexA].c,s=e.positions[this.m_indexA].a,a=e.positions[this.m_indexB].c,o=e.positions[this.m_indexB].a,h=this.m_qA.SetAngle(s),u=this.m_qB.SetAngle(o),_=0,f=this.m_invIA+this.m_invIB===0;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!f){var d=o-s-this.m_referenceAngle,p=0;if(this.m_limitState===t.b2LimitState.e_equalLimits){var y=g(d-this.m_lowerAngle,-.13962634015955555,.13962634015955555);p=-this.m_motorMass*y,_=m(y)}else this.m_limitState===t.b2LimitState.e_atLowerLimit?(_=-(y=d-this.m_lowerAngle),y=g(y+c,-.13962634015955555,0),p=-this.m_motorMass*y):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(_=y=d-this.m_upperAngle,y=g(y-c,0,.13962634015955555),p=-this.m_motorMass*y);s-=this.m_invIA*p,o+=this.m_invIB*p}h.SetAngle(s),u.SetAngle(o),I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var v=F.MulRV(h,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var b=F.MulRV(u,this.m_lalcB,this.m_rB),A=I.SubVV(I.AddVV(a,b,I.s_t0),I.AddVV(r,v,I.s_t1),n.SolvePositionConstraints_s_C_v2);i=A.Length();var x=this.m_invMassA,C=this.m_invMassB,T=this.m_invIA,S=this.m_invIB,w=this.m_K;w.ex.x=x+C+T*v.y*v.y+S*b.y*b.y,w.ex.y=-T*v.x*v.y-S*b.x*b.y,w.ey.x=w.ex.y,w.ey.y=x+C+T*v.x*v.x+S*b.x*b.x;var E=w.Solve(A.x,A.y,n.SolvePositionConstraints_s_impulse).SelfNeg();return r.SelfMulSub(x,E),s-=T*I.CrossVV(v,E),a.SelfMulAdd(C,E),o+=S*I.CrossVV(b,E),e.positions[this.m_indexA].a=s,e.positions[this.m_indexB].a=o,i<=l&&_<=c},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a-this.m_referenceAngle},n.prototype.GetJointSpeed=function(){return this.m_bodyB.m_angularVelocity-this.m_bodyA.m_angularVelocity},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},n.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.prototype.GetLowerLimit=function(){return this.m_lowerAngle},n.prototype.GetUpperLimit=function(){return this.m_upperAngle},n.prototype.SetLimits=function(t,e){t===this.m_lowerAngle&&e===this.m_upperAngle||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_impulse.z=0,this.m_lowerAngle=t,this.m_upperAngle=e)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2RevoluteJointDef = new b2RevoluteJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t(" jd.lowerAngle = %.15f;\n",this.m_lowerAngle),t(" jd.upperAngle = %.15f;\n",this.m_upperAngle),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_P=new I,n.SolveVelocityConstraints_s_P=new I,n.SolveVelocityConstraints_s_Cdot_v2=new I,n.SolveVelocityConstraints_s_Cdot1=new I,n.SolveVelocityConstraints_s_impulse_v3=new R,n.SolveVelocityConstraints_s_reduced_v2=new I,n.SolveVelocityConstraints_s_impulse_v2=new I,n.SolvePositionConstraints_s_C_v2=new I,n.SolvePositionConstraints_s_impulse=new I,n})(mi),Li=(function(e){function i(){var i=e.call(this,t.b2JointType.e_ropeJoint)||this;return i.localAnchorA=new I(-1,0),i.localAnchorB=new I(1,0),i.maxLength=0,i}return ti(i,e),i})(pi),Fi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new I,r.m_localAnchorB=new I,r.m_maxLength=0,r.m_length=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_u=new I,r.m_rA=new I,r.m_rB=new I,r.m_localCenterA=new I,r.m_localCenterB=new I,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=0,r.m_state=t.b2LimitState.e_inactiveLimit,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new I,r.m_lalcB=new I,r.m_localAnchorA.Copy(e(n.localAnchorA,new I(-1,0))),r.m_localAnchorB.Copy(e(n.localAnchorB,new I(1,0))),r.m_maxLength=e(n.maxLength,0),r}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,c=e.positions[this.m_indexB].a,h=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(c);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(_,this.m_lalcA,this.m_rA),I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.Copy(o).SelfAdd(this.m_rB).SelfSub(i).SelfSub(this.m_rA),this.m_length=this.m_u.Length();var d=this.m_length-this.m_maxLength;if(this.m_state=d>0?t.b2LimitState.e_atUpperLimit:t.b2LimitState.e_inactiveLimit,!(this.m_length>l))return this.m_u.SetZero(),this.m_mass=0,void(this.m_impulse=0);this.m_u.SelfMul(1/this.m_length);var p=I.CrossVV(this.m_rA,this.m_u),m=I.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,e.step.warmStarting){this.m_impulse*=e.step.dtRatio;var v=I.MulSV(this.m_impulse,this.m_u,n.InitVelocityConstraints_s_P);s.SelfMulSub(this.m_invMassA,v),a-=this.m_invIA*I.CrossVV(this.m_rA,v),h.SelfMulAdd(this.m_invMassB,v),u+=this.m_invIB*I.CrossVV(this.m_rB,v)}else this.m_impulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=I.AddVCrossSV(e,i,this.m_rA,n.SolveVelocityConstraints_s_vpA),o=I.AddVCrossSV(r,s,this.m_rB,n.SolveVelocityConstraints_s_vpB),l=this.m_length-this.m_maxLength,c=I.DotVV(this.m_u,I.SubVV(o,a,I.s_t0));l<0&&(c+=t.step.inv_dt*l);var h=-this.m_mass*c,u=this.m_impulse;this.m_impulse=y(0,this.m_impulse+h),h=this.m_impulse-u;var _=I.MulSV(h,this.m_u,n.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,_),i-=this.m_invIA*I.CrossVV(this.m_rA,_),r.SelfMulAdd(this.m_invMassB,_),s+=this.m_invIB*I.CrossVV(this.m_rB,_),t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=s},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),o=this.m_qB.SetAngle(s);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(a,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_u.Copy(r).SelfAdd(h).SelfSub(e).SelfSub(c),_=u.Normalize(),f=_-this.m_maxLength;f=g(f,0,.2);var d=-this.m_mass*f,p=I.MulSV(d,u,n.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,p),i-=this.m_invIA*I.CrossVV(c,p),r.SelfMulAdd(this.m_invMassB,p),s+=this.m_invIB*I.CrossVV(h,p),t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,_-this.m_maxLength<l},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return I.MulSV(t*this.m_impulse,this.m_u,e)},n.prototype.GetReactionTorque=function(){return 0},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.SetMaxLength=function(t){this.m_maxLength=t},n.prototype.GetMaxLength=function(){return this.m_maxLength},n.prototype.GetLimitState=function(){return this.m_state},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2RopeJointDef = new b2RopeJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.maxLength = %.15f;\n",this.m_maxLength),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_P=new I,n.SolveVelocityConstraints_s_vpA=new I,n.SolveVelocityConstraints_s_vpB=new I,n.SolveVelocityConstraints_s_P=new I,n.SolvePositionConstraints_s_P=new I,n})(mi),Vi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_weldJoint)||this;return i.localAnchorA=new I,i.localAnchorB=new I,i.referenceAngle=0,i.frequencyHz=0,i.dampingRatio=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),Ni=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new I,n.m_localAnchorB=new I,n.m_referenceAngle=0,n.m_gamma=0,n.m_impulse=new R(0,0,0),n.m_indexA=0,n.m_indexB=0,n.m_rA=new I,n.m_rB=new I,n.m_localCenterA=new I,n.m_localCenterB=new I,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=new L,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new I,n.m_lalcB=new I,n.m_K=new L,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(e(i.localAnchorA,I.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,I.ZERO)),n.m_referenceAngle=e(i.referenceAngle,0),n.m_impulse.SetZero(),n}return ti(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].a,n=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].a,o=t.velocities[this.m_indexB].v,l=t.velocities[this.m_indexB].w,c=this.m_qA.SetAngle(e),h=this.m_qB.SetAngle(a);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(c,this.m_lalcA,this.m_rA),I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(h,this.m_lalcB,this.m_rB);var u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,d=this.m_invIB,p=this.m_K;if(p.ex.x=u+_+this.m_rA.y*this.m_rA.y*f+this.m_rB.y*this.m_rB.y*d,p.ey.x=-this.m_rA.y*this.m_rA.x*f-this.m_rB.y*this.m_rB.x*d,p.ez.x=-this.m_rA.y*f-this.m_rB.y*d,p.ex.y=p.ey.x,p.ey.y=u+_+this.m_rA.x*this.m_rA.x*f+this.m_rB.x*this.m_rB.x*d,p.ez.y=this.m_rA.x*f+this.m_rB.x*d,p.ex.z=p.ez.x,p.ey.z=p.ez.y,p.ez.z=f+d,this.m_frequencyHz>0){p.GetInverse22(this.m_mass);var m=f+d,y=m>0?1/m:0,v=a-e-this.m_referenceAngle,g=2*s*this.m_frequencyHz,b=2*y*this.m_dampingRatio*g,A=y*g*g,x=t.step.dt;this.m_gamma=x*(b+x*A),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*x*A*this.m_gamma,m+=this.m_gamma,this.m_mass.ez.z=0!==m?1/m:0}else p.GetSymInverse33(this.m_mass),this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse.SelfMul(t.step.dtRatio);var C=i.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);n.SelfMulSub(u,C),r-=f*(I.CrossVV(this.m_rA,C)+this.m_impulse.z),o.SelfMulAdd(_,C),l+=d*(I.CrossVV(this.m_rB,C)+this.m_impulse.z)}else this.m_impulse.SetZero();t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=l},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,c=this.m_invIB;if(this.m_frequencyHz>0){var h=s-n,u=-this.m_mass.ez.z*(h+this.m_bias+this.m_gamma*this.m_impulse.z);this.m_impulse.z+=u,n-=l*u,s+=c*u;var _=I.SubVV(I.AddVCrossSV(r,s,this.m_rB,I.s_t0),I.AddVCrossSV(e,n,this.m_rA,I.s_t1),i.SolveVelocityConstraints_s_Cdot1),f=L.MulM33XY(this.m_mass,_.x,_.y,i.SolveVelocityConstraints_s_impulse1).SelfNeg();this.m_impulse.x+=f.x,this.m_impulse.y+=f.y;var d=f;e.SelfMulSub(a,d),n-=l*I.CrossVV(this.m_rA,d),r.SelfMulAdd(o,d),s+=c*I.CrossVV(this.m_rB,d)}else{_=I.SubVV(I.AddVCrossSV(r,s,this.m_rB,I.s_t0),I.AddVCrossSV(e,n,this.m_rA,I.s_t1),i.SolveVelocityConstraints_s_Cdot1),h=s-n;var p=L.MulM33XYZ(this.m_mass,_.x,_.y,h,i.SolveVelocityConstraints_s_impulse).SelfNeg();this.m_impulse.SelfAdd(p),d=i.SolveVelocityConstraints_s_P.Set(p.x,p.y),e.SelfMulSub(a,d),n-=l*(I.CrossVV(this.m_rA,d)+p.z),r.SelfMulAdd(o,d),s+=c*(I.CrossVV(this.m_rB,d)+p.z)}t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB;I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=F.MulRV(a,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p,y,v=F.MulRV(o,this.m_lalcB,this.m_rB),g=this.m_K;if(g.ex.x=h+u+d.y*d.y*_+v.y*v.y*f,g.ey.x=-d.y*d.x*_-v.y*v.x*f,g.ez.x=-d.y*_-v.y*f,g.ex.y=g.ey.x,g.ey.y=h+u+d.x*d.x*_+v.x*v.x*f,g.ez.y=d.x*_+v.x*f,g.ex.z=g.ez.x,g.ey.z=g.ez.y,g.ez.z=_+f,this.m_frequencyHz>0){p=(A=I.SubVV(I.AddVV(r,v,I.s_t0),I.AddVV(e,d,I.s_t1),i.SolvePositionConstraints_s_C1)).Length(),y=0;var b=g.Solve22(A.x,A.y,i.SolvePositionConstraints_s_P).SelfNeg();e.SelfMulSub(h,b),n-=_*I.CrossVV(d,b),r.SelfMulAdd(u,b),s+=f*I.CrossVV(v,b)}else{var A=I.SubVV(I.AddVV(r,v,I.s_t0),I.AddVV(e,d,I.s_t1),i.SolvePositionConstraints_s_C1),x=s-n-this.m_referenceAngle;p=A.Length(),y=m(x);var C=g.Solve33(A.x,A.y,x,i.SolvePositionConstraints_s_impulse).SelfNeg();b=i.SolvePositionConstraints_s_P.Set(C.x,C.y),e.SelfMulSub(h,b),n-=_*(I.CrossVV(this.m_rA,b)+C.z),r.SelfMulAdd(u,b),s+=f*(I.CrossVV(this.m_rB,b)+C.z)}return t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,p<=l&&y<=c},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2WeldJointDef = new b2WeldJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.InitVelocityConstraints_s_P=new I,i.SolveVelocityConstraints_s_Cdot1=new I,i.SolveVelocityConstraints_s_impulse1=new I,i.SolveVelocityConstraints_s_impulse=new R,i.SolveVelocityConstraints_s_P=new I,i.SolvePositionConstraints_s_C1=new I,i.SolvePositionConstraints_s_P=new I,i.SolvePositionConstraints_s_impulse=new R,i})(mi),ki=(function(e){function i(){var i=e.call(this,t.b2JointType.e_wheelJoint)||this;return i.localAnchorA=new I(0,0),i.localAnchorB=new I(0,0),i.localAxisA=new I(1,0),i.enableMotor=!1,i.maxMotorTorque=0,i.motorSpeed=0,i.frequencyHz=2,i.dampingRatio=.7,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA)},i})(pi),zi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_localAnchorA=new I,n.m_localAnchorB=new I,n.m_localXAxisA=new I,n.m_localYAxisA=new I,n.m_impulse=0,n.m_motorImpulse=0,n.m_springImpulse=0,n.m_maxMotorTorque=0,n.m_motorSpeed=0,n.m_enableMotor=!1,n.m_indexA=0,n.m_indexB=0,n.m_localCenterA=new I,n.m_localCenterB=new I,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_ax=new I,n.m_ay=new I,n.m_sAx=0,n.m_sBx=0,n.m_sAy=0,n.m_sBy=0,n.m_mass=0,n.m_motorMass=0,n.m_springMass=0,n.m_bias=0,n.m_gamma=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new I,n.m_lalcB=new I,n.m_rA=new I,n.m_rB=new I,n.m_frequencyHz=e(i.frequencyHz,2),n.m_dampingRatio=e(i.dampingRatio,.7),n.m_localAnchorA.Copy(e(i.localAnchorA,I.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,I.ZERO)),n.m_localXAxisA.Copy(e(i.localAxisA,I.UNITX)),I.CrossOneV(n.m_localXAxisA,n.m_localYAxisA),n.m_maxMotorTorque=e(i.maxMotorTorque,0),n.m_motorSpeed=e(i.motorSpeed,0),n.m_enableMotor=e(i.enableMotor,!1),n.m_ax.SetZero(),n.m_ay.SetZero(),n}return ti(i,t),i.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},i.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},i.prototype.SetSpringFrequencyHz=function(t){this.m_frequencyHz=t},i.prototype.GetSpringFrequencyHz=function(){return this.m_frequencyHz},i.prototype.SetSpringDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetSpringDampingRatio=function(){return this.m_dampingRatio},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,a=this.m_invIB,o=t.positions[this.m_indexA].c,l=t.positions[this.m_indexA].a,c=t.velocities[this.m_indexA].v,h=t.velocities[this.m_indexA].w,u=t.positions[this.m_indexB].c,_=t.positions[this.m_indexB].a,f=t.velocities[this.m_indexB].v,d=t.velocities[this.m_indexB].w,p=this.m_qA.SetAngle(l),m=this.m_qB.SetAngle(_);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var y=F.MulRV(p,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var v=F.MulRV(m,this.m_lalcB,this.m_rB),g=I.SubVV(I.AddVV(u,v,I.s_t0),I.AddVV(o,y,I.s_t1),i.InitVelocityConstraints_s_d);if(F.MulRV(p,this.m_localYAxisA,this.m_ay),this.m_sAy=I.CrossVV(I.AddVV(g,y,I.s_t0),this.m_ay),this.m_sBy=I.CrossVV(v,this.m_ay),this.m_mass=e+n+r*this.m_sAy*this.m_sAy+a*this.m_sBy*this.m_sBy,this.m_mass>0&&(this.m_mass=1/this.m_mass),this.m_springMass=0,this.m_bias=0,this.m_gamma=0,this.m_frequencyHz>0){F.MulRV(p,this.m_localXAxisA,this.m_ax),this.m_sAx=I.CrossVV(I.AddVV(g,y,I.s_t0),this.m_ax),this.m_sBx=I.CrossVV(v,this.m_ax);var b=e+n+r*this.m_sAx*this.m_sAx+a*this.m_sBx*this.m_sBx;if(b>0){this.m_springMass=1/b;var A=I.DotVV(g,this.m_ax),x=2*s*this.m_frequencyHz,C=2*this.m_springMass*this.m_dampingRatio*x,T=this.m_springMass*x*x,S=t.step.dt;this.m_gamma=S*(C+S*T),this.m_gamma>0&&(this.m_gamma=1/this.m_gamma),this.m_bias=A*S*T*this.m_gamma,this.m_springMass=b+this.m_gamma,this.m_springMass>0&&(this.m_springMass=1/this.m_springMass)}}else this.m_springImpulse=0;if(this.m_enableMotor?(this.m_motorMass=r+a,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass)):(this.m_motorMass=0,this.m_motorImpulse=0),t.step.warmStarting){this.m_impulse*=t.step.dtRatio,this.m_springImpulse*=t.step.dtRatio,this.m_motorImpulse*=t.step.dtRatio;var w=I.AddVV(I.MulSV(this.m_impulse,this.m_ay,I.s_t0),I.MulSV(this.m_springImpulse,this.m_ax,I.s_t1),i.InitVelocityConstraints_s_P),E=this.m_impulse*this.m_sAy+this.m_springImpulse*this.m_sAx+this.m_motorImpulse,M=this.m_impulse*this.m_sBy+this.m_springImpulse*this.m_sBx+this.m_motorImpulse;c.SelfMulSub(this.m_invMassA,w),h-=this.m_invIA*E,f.SelfMulAdd(this.m_invMassB,w),d+=this.m_invIB*M}else this.m_impulse=0,this.m_springImpulse=0,this.m_motorImpulse=0;t.velocities[this.m_indexA].w=h,t.velocities[this.m_indexB].w=d},i.prototype.SolveVelocityConstraints=function(t){var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,s=this.m_invIB,a=t.velocities[this.m_indexA].v,o=t.velocities[this.m_indexA].w,l=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,h=I.DotVV(this.m_ax,I.SubVV(l,a,I.s_t0))+this.m_sBx*c-this.m_sAx*o,u=-this.m_springMass*(h+this.m_bias+this.m_gamma*this.m_springImpulse);this.m_springImpulse+=u;var _=I.MulSV(u,this.m_ax,i.SolveVelocityConstraints_s_P),f=u*this.m_sAx,d=u*this.m_sBx;a.SelfMulSub(e,_),o-=r*f,l.SelfMulAdd(n,_),h=(c+=s*d)-o-this.m_motorSpeed,u=-this.m_motorMass*h;var p=this.m_motorImpulse,m=t.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=g(this.m_motorImpulse+u,-m,m),o-=r*(u=this.m_motorImpulse-p),c+=s*u,h=I.DotVV(this.m_ay,I.SubVV(l,a,I.s_t0))+this.m_sBy*c-this.m_sAy*o,u=-this.m_mass*h,this.m_impulse+=u,_=I.MulSV(u,this.m_ay,i.SolveVelocityConstraints_s_P),f=u*this.m_sAy,d=u*this.m_sBy,a.SelfMulSub(e,_),o-=r*f,l.SelfMulAdd(n,_),c+=s*d,t.velocities[this.m_indexA].w=o,t.velocities[this.m_indexB].w=c},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s);I.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(a,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h,u=F.MulRV(o,this.m_lalcB,this.m_rB),_=I.AddVV(I.SubVV(r,e,I.s_t0),I.SubVV(u,c,I.s_t1),i.SolvePositionConstraints_s_d),f=F.MulRV(a,this.m_localYAxisA,this.m_ay),d=I.CrossVV(I.AddVV(_,c,I.s_t0),f),p=I.CrossVV(u,f),y=I.DotVV(_,this.m_ay),v=this.m_invMassA+this.m_invMassB+this.m_invIA*this.m_sAy*this.m_sAy+this.m_invIB*this.m_sBy*this.m_sBy;h=0!==v?-y/v:0;var g=I.MulSV(h,f,i.SolvePositionConstraints_s_P),b=h*d,A=h*p;return e.SelfMulSub(this.m_invMassA,g),n-=this.m_invIA*b,r.SelfMulAdd(this.m_invMassB,g),s+=this.m_invIB*A,t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,m(y)<=l},i.prototype.GetDefinition=function(t){return t},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse*this.m_ay.x+this.m_springImpulse*this.m_ax.x),e.y=t*(this.m_impulse*this.m_ay.y+this.m_springImpulse*this.m_ax.y),e},i.prototype.GetReactionTorque=function(t){return t*this.m_motorImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},i.prototype.GetJointTranslation=function(){return this.GetPrismaticJointTranslation()},i.prototype.GetJointLinearSpeed=function(){return this.GetPrismaticJointSpeed()},i.prototype.GetJointAngle=function(){return this.GetRevoluteJointAngle()},i.prototype.GetJointAngularSpeed=function(){return this.GetRevoluteJointSpeed()},i.prototype.GetPrismaticJointTranslation=function(){var t=this.m_bodyA,e=this.m_bodyB,i=t.GetWorldPoint(this.m_localAnchorA,new I),n=e.GetWorldPoint(this.m_localAnchorB,new I),r=I.SubVV(n,i,new I),s=t.GetWorldVector(this.m_localXAxisA,new I);return I.DotVV(r,s)},i.prototype.GetPrismaticJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;I.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=F.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);I.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=F.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=I.AddVV(t.m_sweep.c,i,I.s_t0),s=I.AddVV(e.m_sweep.c,n,I.s_t1),a=I.SubVV(s,r,I.s_t2),o=t.GetWorldVector(this.m_localXAxisA,new I),l=t.m_linearVelocity,c=e.m_linearVelocity,h=t.m_angularVelocity,u=e.m_angularVelocity;return I.DotVV(a,I.CrossSV(h,o,I.s_t0))+I.DotVV(o,I.SubVV(I.AddVCrossSV(c,u,n,I.s_t0),I.AddVCrossSV(l,h,i,I.s_t1),I.s_t0))},i.prototype.GetRevoluteJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a},i.prototype.GetRevoluteJointSpeed=function(){var t=this.m_bodyA.m_angularVelocity;return this.m_bodyB.m_angularVelocity-t},i.prototype.IsMotorEnabled=function(){return this.m_enableMotor},i.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},i.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},i.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},i.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2WheelJointDef = new b2WheelJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.InitVelocityConstraints_s_d=new I,i.InitVelocityConstraints_s_P=new I,i.SolveVelocityConstraints_s_P=new I,i.SolvePositionConstraints_s_d=new I,i.SolvePositionConstraints_s_P=new I,i})(mi);function Gi(t,e){return T(t*e)}function Ui(t,e){return t>e?t:e}var ji,Hi=function(t){this.prev=null,this.next=null,this.contact=t},Wi=(function(){function t(){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!1,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_prev=null,this.m_next=null,this.m_indexA=0,this.m_indexB=0,this.m_manifold=new gt,this.m_toiCount=0,this.m_toi=0,this.m_friction=0,this.m_restitution=0,this.m_tangentSpeed=0,this.m_oldManifold=new gt,this.m_nodeA=new Hi(this),this.m_nodeB=new Hi(this)}return t.prototype.GetManifold=function(){return this.m_manifold},t.prototype.GetWorldManifold=function(t){var e=this.m_fixtureA.GetBody(),i=this.m_fixtureB.GetBody(),n=this.m_fixtureA.GetShape(),r=this.m_fixtureB.GetShape();t.Initialize(this.m_manifold,e.GetTransform(),n.m_radius,i.GetTransform(),r.m_radius)},t.prototype.IsTouching=function(){return this.m_touchingFlag},t.prototype.SetEnabled=function(t){this.m_enabledFlag=t},t.prototype.IsEnabled=function(){return this.m_enabledFlag},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetFixtureA=function(){return this.m_fixtureA},t.prototype.GetChildIndexA=function(){return this.m_indexA},t.prototype.GetFixtureB=function(){return this.m_fixtureB},t.prototype.GetChildIndexB=function(){return this.m_indexB},t.prototype.FlagForFiltering=function(){this.m_filterFlag=!0},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.ResetFriction=function(){this.m_friction=Gi(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction)},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.ResetRestitution=function(){this.m_restitution=Ui(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.SetTangentSpeed=function(t){this.m_tangentSpeed=t},t.prototype.GetTangentSpeed=function(){return this.m_tangentSpeed},t.prototype.Reset=function(t,e,i,n){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!0,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_fixtureA=t,this.m_fixtureB=i,this.m_indexA=e,this.m_indexB=n,this.m_manifold.pointCount=0,this.m_prev=null,this.m_next=null,delete this.m_nodeA.contact,this.m_nodeA.prev=null,this.m_nodeA.next=null,delete this.m_nodeA.other,delete this.m_nodeB.contact,this.m_nodeB.prev=null,this.m_nodeB.next=null,delete this.m_nodeB.other,this.m_toiCount=0,this.m_friction=Gi(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction),this.m_restitution=Ui(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.Update=function(t){var e=this.m_oldManifold;this.m_oldManifold=this.m_manifold,this.m_manifold=e,this.m_enabledFlag=!0;var i=!1,n=this.m_touchingFlag,r=this.m_fixtureA.IsSensor(),s=this.m_fixtureB.IsSensor(),a=r||s,o=this.m_fixtureA.GetBody(),l=this.m_fixtureB.GetBody(),c=o.GetTransform(),h=l.GetTransform();if(a){var u=this.m_fixtureA.GetShape(),_=this.m_fixtureB.GetShape();i=Bt(u,this.m_indexA,_,this.m_indexB,c,h),this.m_manifold.pointCount=0}else{this.Evaluate(this.m_manifold,c,h),i=this.m_manifold.pointCount>0;for(var f=0;f<this.m_manifold.pointCount;++f){var d=this.m_manifold.points[f];d.normalImpulse=0,d.tangentImpulse=0;for(var p=d.id,m=0;m<this.m_oldManifold.pointCount;++m){var y=this.m_oldManifold.points[m];if(y.id.key===p.key){d.normalImpulse=y.normalImpulse,d.tangentImpulse=y.tangentImpulse;break}}}i!==n&&(o.SetAwake(!0),l.SetAwake(!0))}this.m_touchingFlag=i,!n&&i&&t&&t.BeginContact(this),n&&!i&&t&&t.EndContact(this),!a&&i&&t&&t.PreSolve(this,this.m_oldManifold)},t.prototype.ComputeTOI=function(e,i){var n=t.ComputeTOI_s_input;n.proxyA.SetShape(this.m_fixtureA.GetShape(),this.m_indexA),n.proxyB.SetShape(this.m_fixtureB.GetShape(),this.m_indexB),n.sweepA.Copy(e),n.sweepB.Copy(i),n.tMax=l;var r=t.ComputeTOI_s_output;return re(r,n),r.t},t.ComputeTOI_s_input=new Wt,t.ComputeTOI_s_output=new Yt,t})(),Xi=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){oe(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Wi),Yi=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){Le(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Wi),qi=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){ue(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Wi),Ji=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){He(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Wi),Zi=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){Je(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Wi),Ki=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,i,n){var r=this.m_fixtureA.GetShape(),s=this.m_fixtureB.GetShape(),a=r,o=e.Evaluate_s_edge;a.GetChildEdge(o,this.m_indexA),He(t,o,i,s,n)},e.Evaluate_s_edge=new ri,e})(Wi),Qi=(function(t){function e(){return t.call(this)||this}return ti(e,t),e.Create=function(){return new e},e.Destroy=function(){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,i,n){var r=this.m_fixtureA.GetShape(),s=this.m_fixtureB.GetShape(),a=r,o=e.Evaluate_s_edge;a.GetChildEdge(o,this.m_indexA),Je(t,o,i,s,n)},e.Evaluate_s_edge=new ri,e})(Wi),$i=function(){this.createFcn=null,this.destroyFcn=null,this.primary=!1},tn=(function(){function e(t){this.m_allocator=null,this.m_allocator=t,this.InitializeRegisters()}return e.prototype.AddType=function(t,e,i,n){var r=this,s=d(256,(function(){return t(r.m_allocator)}));function a(e){return s.pop()||t(e)}function o(t){s.push(t)}this.m_registers[i][n].createFcn=a,this.m_registers[i][n].destroyFcn=o,this.m_registers[i][n].primary=!0,i!==n&&(this.m_registers[n][i].createFcn=a,this.m_registers[n][i].destroyFcn=o,this.m_registers[n][i].primary=!1)},e.prototype.InitializeRegisters=function(){this.m_registers=[];for(var e=0;e<t.b2ShapeType.e_shapeTypeCount;e++){this.m_registers[e]=[];for(var i=0;i<t.b2ShapeType.e_shapeTypeCount;i++)this.m_registers[e][i]=new $i}this.AddType(Xi.Create,Xi.Destroy,t.b2ShapeType.e_circleShape,t.b2ShapeType.e_circleShape),this.AddType(qi.Create,qi.Destroy,t.b2ShapeType.e_polygonShape,t.b2ShapeType.e_circleShape),this.AddType(Yi.Create,Yi.Destroy,t.b2ShapeType.e_polygonShape,t.b2ShapeType.e_polygonShape),this.AddType(Ji.Create,Ji.Destroy,t.b2ShapeType.e_edgeShape,t.b2ShapeType.e_circleShape),this.AddType(Zi.Create,Zi.Destroy,t.b2ShapeType.e_edgeShape,t.b2ShapeType.e_polygonShape),this.AddType(Ki.Create,Ki.Destroy,t.b2ShapeType.e_chainShape,t.b2ShapeType.e_circleShape),this.AddType(Qi.Create,Qi.Destroy,t.b2ShapeType.e_chainShape,t.b2ShapeType.e_polygonShape)},e.prototype.Create=function(t,e,i,n){var r=t.GetType(),s=i.GetType(),a=this.m_registers[r][s];if(a.createFcn){var o=a.createFcn(this.m_allocator);return a.primary?o.Reset(t,e,i,n):o.Reset(i,n,t,e),o}return null},e.prototype.Destroy=function(t){var e=t.m_fixtureA,i=t.m_fixtureB;t.m_manifold.pointCount>0&&!e.IsSensor()&&!i.IsSensor()&&(e.GetBody().SetAwake(!0),i.GetBody().SetAwake(!0));var n=e.GetType(),r=i.GetType(),s=this.m_registers[n][r];s.destroyFcn&&s.destroyFcn(t,this.m_allocator)},e})(),en=(function(){function t(){}return t.prototype.SayGoodbyeJoint=function(){},t.prototype.SayGoodbyeFixture=function(){},t.prototype.SayGoodbyeParticleGroup=function(){},t.prototype.SayGoodbyeParticle=function(){},t})(),nn=(function(){function e(){}return e.prototype.ShouldCollide=function(e,i){var n=e.GetBody(),r=i.GetBody();if(r.GetType()===t.b2BodyType.b2_staticBody&&n.GetType()===t.b2BodyType.b2_staticBody)return!1;if(!r.ShouldCollideConnected(n))return!1;var s=e.GetFilterData(),a=i.GetFilterData();return s.groupIndex===a.groupIndex&&0!==s.groupIndex?s.groupIndex>0:0!=(s.maskBits&a.categoryBits)&&0!=(s.categoryBits&a.maskBits)},e.prototype.ShouldCollideFixtureParticle=function(){return!0},e.prototype.ShouldCollideParticleParticle=function(){return!0},e.b2_defaultFilter=new e,e})(),rn=function(){this.normalImpulses=p(a),this.tangentImpulses=p(a),this.count=0},sn=(function(){function t(){}return t.prototype.BeginContact=function(){},t.prototype.EndContact=function(){},t.prototype.BeginContactFixtureParticle=function(){},t.prototype.EndContactFixtureParticle=function(){},t.prototype.BeginContactParticleParticle=function(){},t.prototype.EndContactParticleParticle=function(){},t.prototype.PreSolve=function(){},t.prototype.PostSolve=function(){},t.b2_defaultListener=new t,t})(),an=(function(){function t(){}return t.prototype.ReportFixture=function(){return!0},t.prototype.ReportParticle=function(){return!1},t.prototype.ShouldQueryParticleSystem=function(){return!0},t})(),on=(function(){function t(){}return t.prototype.ReportFixture=function(t,e,i,n){return n},t.prototype.ReportParticle=function(){return 0},t.prototype.ShouldQueryParticleSystem=function(){return!0},t})(),ln=(function(){function e(){this.m_broadPhase=new Lt,this.m_contactList=null,this.m_contactCount=0,this.m_contactFilter=nn.b2_defaultFilter,this.m_contactListener=sn.b2_defaultListener,this.m_allocator=null,this.m_contactFactory=new tn(this.m_allocator)}return e.prototype.AddPair=function(t,e){var i=t.fixture,n=e.fixture,r=t.childIndex,s=e.childIndex,a=i.GetBody(),o=n.GetBody();if(a!==o){for(var l=o.GetContactList();l;){if(l.other===a){var c=l.contact.GetFixtureA(),h=l.contact.GetFixtureB(),u=l.contact.GetChildIndexA(),_=l.contact.GetChildIndexB();if(c===i&&h===n&&u===r&&_===s)return;if(c===n&&h===i&&u===s&&_===r)return}l=l.next}if(!this.m_contactFilter||this.m_contactFilter.ShouldCollide(i,n)){var f=this.m_contactFactory.Create(i,r,n,s);null!==f&&(i=f.GetFixtureA(),n=f.GetFixtureB(),r=f.GetChildIndexA(),s=f.GetChildIndexB(),a=i.m_body,o=n.m_body,f.m_prev=null,f.m_next=this.m_contactList,null!==this.m_contactList&&(this.m_contactList.m_prev=f),this.m_contactList=f,f.m_nodeA.contact=f,f.m_nodeA.other=o,f.m_nodeA.prev=null,f.m_nodeA.next=a.m_contactList,null!==a.m_contactList&&(a.m_contactList.prev=f.m_nodeA),a.m_contactList=f.m_nodeA,f.m_nodeB.contact=f,f.m_nodeB.other=a,f.m_nodeB.prev=null,f.m_nodeB.next=o.m_contactList,null!==o.m_contactList&&(o.m_contactList.prev=f.m_nodeB),o.m_contactList=f.m_nodeB,i.IsSensor()||n.IsSensor()||(a.SetAwake(!0),o.SetAwake(!0)),++this.m_contactCount)}}},e.prototype.FindNewContacts=function(){var t=this;this.m_broadPhase.UpdatePairs((function(e,i){t.AddPair(e,i)}))},e.prototype.Destroy=function(t){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=e.GetBody(),r=i.GetBody();this.m_contactListener&&t.IsTouching()&&this.m_contactListener.EndContact(t),t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_contactList&&(this.m_contactList=t.m_next),t.m_nodeA.prev&&(t.m_nodeA.prev.next=t.m_nodeA.next),t.m_nodeA.next&&(t.m_nodeA.next.prev=t.m_nodeA.prev),t.m_nodeA===n.m_contactList&&(n.m_contactList=t.m_nodeA.next),t.m_nodeB.prev&&(t.m_nodeB.prev.next=t.m_nodeB.next),t.m_nodeB.next&&(t.m_nodeB.next.prev=t.m_nodeB.prev),t.m_nodeB===r.m_contactList&&(r.m_contactList=t.m_nodeB.next),this.m_contactFactory.Destroy(t),--this.m_contactCount},e.prototype.Collide=function(){for(var e=this.m_contactList;e;){var i=e.GetFixtureA(),n=e.GetFixtureB(),r=e.GetChildIndexA(),s=e.GetChildIndexB(),a=i.GetBody(),o=n.GetBody();if(e.m_filterFlag){if(this.m_contactFilter&&!this.m_contactFilter.ShouldCollide(i,n)){e=(h=e).m_next,this.Destroy(h);continue}e.m_filterFlag=!1}var l=a.IsAwake()&&a.m_type!==t.b2BodyType.b2_staticBody,c=o.IsAwake()&&o.m_type!==t.b2BodyType.b2_staticBody;if(l||c){var h,u=i.m_proxies[r].treeNode,_=n.m_proxies[s].treeNode;St(u.aabb,_.aabb)?(e.Update(this.m_contactListener),e=e.m_next):(e=(h=e).m_next,this.Destroy(h))}else e=e.m_next}},e})(),cn=(function(){function t(){this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0}return t.prototype.Reset=function(){return this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0,this},t})(),hn=(function(){function t(){this.dt=0,this.inv_dt=0,this.dtRatio=0,this.velocityIterations=0,this.positionIterations=0,this.particleIterations=0,this.warmStarting=!1}return t.prototype.Copy=function(t){return this.dt=t.dt,this.inv_dt=t.inv_dt,this.dtRatio=t.dtRatio,this.positionIterations=t.positionIterations,this.velocityIterations=t.velocityIterations,this.particleIterations=t.particleIterations,this.warmStarting=t.warmStarting,this},t})(),un=(function(){function t(){this.c=new I,this.a=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),_n=(function(){function t(){this.v=new I,this.w=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),fn=function(){this.step=new hn},dn=(function(){function t(){this.rA=new I,this.rB=new I,this.normalImpulse=0,this.tangentImpulse=0,this.normalMass=0,this.tangentMass=0,this.velocityBias=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),pn=(function(){function t(){this.points=dn.MakeArray(a),this.normal=new I,this.tangent=new I,this.normalMass=new O,this.K=new O,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.invIA=0,this.invIB=0,this.friction=0,this.restitution=0,this.tangentSpeed=0,this.pointCount=0,this.contactIndex=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),mn=(function(){function e(){this.localPoints=I.MakeArray(a),this.localNormal=new I,this.localPoint=new I,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.localCenterA=new I,this.localCenterB=new I,this.invIA=0,this.invIB=0,this.type=t.b2ManifoldType.e_unknown,this.radiusA=0,this.radiusB=0,this.pointCount=0}return e.MakeArray=function(t){return d(t,(function(){return new e}))},e})(),yn=function(){this.step=new hn,this.count=0,this.allocator=null},vn=(function(){function e(){this.normal=new I,this.point=new I,this.separation=0}return e.prototype.Initialize=function(i,n,r,s){var a=e.Initialize_s_pointA,o=e.Initialize_s_pointB,l=e.Initialize_s_planePoint,c=e.Initialize_s_clipPoint;switch(i.type){case t.b2ManifoldType.e_circles:V.MulXV(n,i.localPoint,a),V.MulXV(r,i.localPoints[0],o),I.SubVV(o,a,this.normal).SelfNormalize(),I.MidVV(a,o,this.point),this.separation=I.DotVV(I.SubVV(o,a,I.s_t0),this.normal)-i.radiusA-i.radiusB;break;case t.b2ManifoldType.e_faceA:F.MulRV(n.q,i.localNormal,this.normal),V.MulXV(n,i.localPoint,l),V.MulXV(r,i.localPoints[s],c),this.separation=I.DotVV(I.SubVV(c,l,I.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(c);break;case t.b2ManifoldType.e_faceB:F.MulRV(r.q,i.localNormal,this.normal),V.MulXV(r,i.localPoint,l),V.MulXV(n,i.localPoints[s],c),this.separation=I.DotVV(I.SubVV(c,l,I.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(c),this.normal.SelfNeg()}},e.Initialize_s_pointA=new I,e.Initialize_s_pointB=new I,e.Initialize_s_planePoint=new I,e.Initialize_s_clipPoint=new I,e})(),gn=(function(){function t(){this.m_step=new hn,this.m_allocator=null,this.m_positionConstraints=mn.MakeArray(1024),this.m_velocityConstraints=pn.MakeArray(1024),this.m_count=0}return t.prototype.Initialize=function(t){if(this.m_step.Copy(t.step),this.m_allocator=t.allocator,this.m_count=t.count,this.m_positionConstraints.length<this.m_count)for(var e=v(2*this.m_positionConstraints.length,this.m_count);this.m_positionConstraints.length<e;)this.m_positionConstraints[this.m_positionConstraints.length]=new mn;if(this.m_velocityConstraints.length<this.m_count)for(e=v(2*this.m_velocityConstraints.length,this.m_count);this.m_velocityConstraints.length<e;)this.m_velocityConstraints[this.m_velocityConstraints.length]=new pn;this.m_positions=t.positions,this.m_velocities=t.velocities,this.m_contacts=t.contacts;for(var i=0;i<this.m_count;++i){var n=this.m_contacts[i],r=n.m_fixtureA,s=n.m_fixtureB,a=r.GetShape(),o=s.GetShape(),l=a.m_radius,c=o.m_radius,h=r.GetBody(),u=s.GetBody(),_=n.GetManifold(),f=_.pointCount,d=this.m_velocityConstraints[i];d.friction=n.m_friction,d.restitution=n.m_restitution,d.tangentSpeed=n.m_tangentSpeed,d.indexA=h.m_islandIndex,d.indexB=u.m_islandIndex,d.invMassA=h.m_invMass,d.invMassB=u.m_invMass,d.invIA=h.m_invI,d.invIB=u.m_invI,d.contactIndex=i,d.pointCount=f,d.K.SetZero(),d.normalMass.SetZero();var p=this.m_positionConstraints[i];p.indexA=h.m_islandIndex,p.indexB=u.m_islandIndex,p.invMassA=h.m_invMass,p.invMassB=u.m_invMass,p.localCenterA.Copy(h.m_sweep.localCenter),p.localCenterB.Copy(u.m_sweep.localCenter),p.invIA=h.m_invI,p.invIB=u.m_invI,p.localNormal.Copy(_.localNormal),p.localPoint.Copy(_.localPoint),p.pointCount=f,p.radiusA=l,p.radiusB=c,p.type=_.type;for(var m=0;m<f;++m){var y=_.points[m],g=d.points[m];this.m_step.warmStarting?(g.normalImpulse=this.m_step.dtRatio*y.normalImpulse,g.tangentImpulse=this.m_step.dtRatio*y.tangentImpulse):(g.normalImpulse=0,g.tangentImpulse=0),g.rA.SetZero(),g.rB.SetZero(),g.normalMass=0,g.tangentMass=0,g.velocityBias=0,p.localPoints[m].Copy(y.localPoint)}}return this},t.prototype.InitializeVelocityConstraints=function(){for(var e=t.InitializeVelocityConstraints_s_xfA,i=t.InitializeVelocityConstraints_s_xfB,n=t.InitializeVelocityConstraints_s_worldManifold,r=0;r<this.m_count;++r){var s=this.m_velocityConstraints[r],a=this.m_positionConstraints[r],o=a.radiusA,l=a.radiusB,c=this.m_contacts[s.contactIndex].GetManifold(),h=s.indexA,u=s.indexB,_=s.invMassA,f=s.invMassB,d=s.invIA,p=s.invIB,m=a.localCenterA,y=a.localCenterB,v=this.m_positions[h].c,g=this.m_positions[h].a,b=this.m_velocities[h].v,A=this.m_velocities[h].w,x=this.m_positions[u].c,C=this.m_positions[u].a,T=this.m_velocities[u].v,S=this.m_velocities[u].w;e.q.SetAngle(g),i.q.SetAngle(C),I.SubVV(v,F.MulRV(e.q,m,I.s_t0),e.p),I.SubVV(x,F.MulRV(i.q,y,I.s_t0),i.p),n.Initialize(c,e,o,i,l),s.normal.Copy(n.normal),I.CrossVOne(s.normal,s.tangent);for(var w=s.pointCount,E=0;E<w;++E){var M=s.points[E];I.SubVV(n.points[E],v,M.rA),I.SubVV(n.points[E],x,M.rB);var D=I.CrossVV(M.rA,s.normal),B=I.CrossVV(M.rB,s.normal),P=_+f+d*D*D+p*B*B;M.normalMass=P>0?1/P:0;var R=s.tangent,O=I.CrossVV(M.rA,R),L=I.CrossVV(M.rB,R),V=_+f+d*O*O+p*L*L;M.tangentMass=V>0?1/V:0,M.velocityBias=0;var N=I.DotVV(s.normal,I.SubVV(I.AddVCrossSV(T,S,M.rB,I.s_t0),I.AddVCrossSV(b,A,M.rA,I.s_t1),I.s_t0));N<-1&&(M.velocityBias+=-s.restitution*N)}s.pointCount}},t.prototype.WarmStart=function(){for(var e=t.WarmStart_s_P,i=0;i<this.m_count;++i){for(var n=this.m_velocityConstraints[i],r=n.indexA,s=n.indexB,a=n.invMassA,o=n.invIA,l=n.invMassB,c=n.invIB,h=n.pointCount,u=this.m_velocities[r].v,_=this.m_velocities[r].w,f=this.m_velocities[s].v,d=this.m_velocities[s].w,p=n.normal,m=n.tangent,y=0;y<h;++y){var v=n.points[y];I.AddVV(I.MulSV(v.normalImpulse,p,I.s_t0),I.MulSV(v.tangentImpulse,m,I.s_t1),e),_-=o*I.CrossVV(v.rA,e),u.SelfMulSub(a,e),d+=c*I.CrossVV(v.rB,e),f.SelfMulAdd(l,e)}this.m_velocities[r].w=_,this.m_velocities[s].w=d}},t.prototype.SolveVelocityConstraints=function(){for(var e=t.SolveVelocityConstraints_s_dv,i=(t.SolveVelocityConstraints_s_dv1,t.SolveVelocityConstraints_s_dv2,t.SolveVelocityConstraints_s_P),n=(t.SolveVelocityConstraints_s_a,t.SolveVelocityConstraints_s_b,t.SolveVelocityConstraints_s_x,t.SolveVelocityConstraints_s_d,t.SolveVelocityConstraints_s_P1,t.SolveVelocityConstraints_s_P2,t.SolveVelocityConstraints_s_P1P2,0);n<this.m_count;++n){for(var r=this.m_velocityConstraints[n],s=r.indexA,a=r.indexB,o=r.invMassA,l=r.invIA,c=r.invMassB,h=r.invIB,u=r.pointCount,_=this.m_velocities[s].v,f=this.m_velocities[s].w,d=this.m_velocities[a].v,p=this.m_velocities[a].w,m=r.normal,y=r.tangent,b=r.friction,A=0;A<u;++A){var x=r.points[A];I.SubVV(I.AddVCrossSV(d,p,x.rB,I.s_t0),I.AddVCrossSV(_,f,x.rA,I.s_t1),e);var C=I.DotVV(e,y)-r.tangentSpeed,T=x.tangentMass*-C,S=b*x.normalImpulse;T=(w=g(x.tangentImpulse+T,-S,S))-x.tangentImpulse,x.tangentImpulse=w,I.MulSV(T,y,i),_.SelfMulSub(o,i),f-=l*I.CrossVV(x.rA,i),d.SelfMulAdd(c,i),p+=h*I.CrossVV(x.rB,i)}for(r.pointCount,A=0;A<u;++A){x=r.points[A],I.SubVV(I.AddVCrossSV(d,p,x.rB,I.s_t0),I.AddVCrossSV(_,f,x.rA,I.s_t1),e);var w,E=I.DotVV(e,m);T=-x.normalMass*(E-x.velocityBias),T=(w=v(x.normalImpulse+T,0))-x.normalImpulse,x.normalImpulse=w,I.MulSV(T,m,i),_.SelfMulSub(o,i),f-=l*I.CrossVV(x.rA,i),d.SelfMulAdd(c,i),p+=h*I.CrossVV(x.rB,i)}this.m_velocities[s].w=f,this.m_velocities[a].w=p}},t.prototype.StoreImpulses=function(){for(var t=0;t<this.m_count;++t)for(var e=this.m_velocityConstraints[t],i=this.m_contacts[e.contactIndex].GetManifold(),n=0;n<e.pointCount;++n)i.points[n].normalImpulse=e.points[n].normalImpulse,i.points[n].tangentImpulse=e.points[n].tangentImpulse},t.prototype.SolvePositionConstraints=function(){for(var e=t.SolvePositionConstraints_s_xfA,i=t.SolvePositionConstraints_s_xfB,n=t.SolvePositionConstraints_s_psm,r=t.SolvePositionConstraints_s_rA,s=t.SolvePositionConstraints_s_rB,a=t.SolvePositionConstraints_s_P,o=0,c=0;c<this.m_count;++c){for(var h=this.m_positionConstraints[c],u=h.indexA,_=h.indexB,f=h.localCenterA,d=h.invMassA,p=h.invIA,m=h.localCenterB,v=h.invMassB,b=h.invIB,A=h.pointCount,x=this.m_positions[u].c,C=this.m_positions[u].a,T=this.m_positions[_].c,S=this.m_positions[_].a,w=0;w<A;++w){e.q.SetAngle(C),i.q.SetAngle(S),I.SubVV(x,F.MulRV(e.q,f,I.s_t0),e.p),I.SubVV(T,F.MulRV(i.q,m,I.s_t0),i.p),n.Initialize(h,e,i,w);var E=n.normal,M=n.point,D=n.separation;I.SubVV(M,x,r),I.SubVV(M,T,s),o=y(o,D);var B=g(.2*(D+l),-.2,0),P=I.CrossVV(r,E),R=I.CrossVV(s,E),O=d+v+p*P*P+b*R*R,L=O>0?-B/O:0;I.MulSV(L,E,a),x.SelfMulSub(d,a),C-=p*I.CrossVV(r,a),T.SelfMulAdd(v,a),S+=b*I.CrossVV(s,a)}this.m_positions[u].a=C,this.m_positions[_].a=S}return o>-3*l},t.prototype.SolveTOIPositionConstraints=function(e,i){for(var n=t.SolveTOIPositionConstraints_s_xfA,r=t.SolveTOIPositionConstraints_s_xfB,s=t.SolveTOIPositionConstraints_s_psm,a=t.SolveTOIPositionConstraints_s_rA,o=t.SolveTOIPositionConstraints_s_rB,c=t.SolveTOIPositionConstraints_s_P,h=0,u=0;u<this.m_count;++u){var _=this.m_positionConstraints[u],f=_.indexA,d=_.indexB,p=_.localCenterA,m=_.localCenterB,v=_.pointCount,b=0,A=0;f!==e&&f!==i||(b=_.invMassA,A=_.invIA);var x=0,C=0;d!==e&&d!==i||(x=_.invMassB,C=_.invIB);for(var T=this.m_positions[f].c,S=this.m_positions[f].a,w=this.m_positions[d].c,E=this.m_positions[d].a,M=0;M<v;++M){n.q.SetAngle(S),r.q.SetAngle(E),I.SubVV(T,F.MulRV(n.q,p,I.s_t0),n.p),I.SubVV(w,F.MulRV(r.q,m,I.s_t0),r.p),s.Initialize(_,n,r,M);var D=s.normal,B=s.point,P=s.separation;I.SubVV(B,T,a),I.SubVV(B,w,o),h=y(h,P);var R=g(.75*(P+l),-.2,0),O=I.CrossVV(a,D),L=I.CrossVV(o,D),V=b+x+A*O*O+C*L*L,N=V>0?-R/V:0;I.MulSV(N,D,c),T.SelfMulSub(b,c),S-=A*I.CrossVV(a,c),w.SelfMulAdd(x,c),E+=C*I.CrossVV(o,c)}this.m_positions[f].a=S,this.m_positions[d].a=E}return h>=-1.5*l},t.InitializeVelocityConstraints_s_xfA=new V,t.InitializeVelocityConstraints_s_xfB=new V,t.InitializeVelocityConstraints_s_worldManifold=new bt,t.WarmStart_s_P=new I,t.SolveVelocityConstraints_s_dv=new I,t.SolveVelocityConstraints_s_dv1=new I,t.SolveVelocityConstraints_s_dv2=new I,t.SolveVelocityConstraints_s_P=new I,t.SolveVelocityConstraints_s_a=new I,t.SolveVelocityConstraints_s_b=new I,t.SolveVelocityConstraints_s_x=new I,t.SolveVelocityConstraints_s_d=new I,t.SolveVelocityConstraints_s_P1=new I,t.SolveVelocityConstraints_s_P2=new I,t.SolveVelocityConstraints_s_P1P2=new I,t.SolvePositionConstraints_s_xfA=new V,t.SolvePositionConstraints_s_xfB=new V,t.SolvePositionConstraints_s_psm=new vn,t.SolvePositionConstraints_s_rA=new I,t.SolvePositionConstraints_s_rB=new I,t.SolvePositionConstraints_s_P=new I,t.SolveTOIPositionConstraints_s_xfA=new V,t.SolveTOIPositionConstraints_s_xfB=new V,t.SolveTOIPositionConstraints_s_psm=new vn,t.SolveTOIPositionConstraints_s_rA=new I,t.SolveTOIPositionConstraints_s_rB=new I,t.SolveTOIPositionConstraints_s_P=new I,t})(),bn=(function(){function e(){this.m_allocator=null,this.m_bodies=[],this.m_contacts=[],this.m_joints=[],this.m_positions=un.MakeArray(1024),this.m_velocities=_n.MakeArray(1024),this.m_bodyCount=0,this.m_jointCount=0,this.m_contactCount=0,this.m_bodyCapacity=0,this.m_contactCapacity=0,this.m_jointCapacity=0}return e.prototype.Initialize=function(t,e,i,n,r){if(this.m_bodyCapacity=t,this.m_contactCapacity=e,this.m_jointCapacity=i,this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0,this.m_allocator=n,this.m_listener=r,this.m_positions.length<t)for(var s=v(2*this.m_positions.length,t);this.m_positions.length<s;)this.m_positions[this.m_positions.length]=new un;if(this.m_velocities.length<t)for(s=v(2*this.m_velocities.length,t);this.m_velocities.length<s;)this.m_velocities[this.m_velocities.length]=new _n},e.prototype.Clear=function(){this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0},e.prototype.AddBody=function(t){t.m_islandIndex=this.m_bodyCount,this.m_bodies[this.m_bodyCount++]=t},e.prototype.AddContact=function(t){this.m_contacts[this.m_contactCount++]=t},e.prototype.AddJoint=function(t){this.m_joints[this.m_jointCount++]=t},e.prototype.Solve=function(n,r,s,a){for(var o=e.s_timer.Reset(),l=r.dt,c=0;c<this.m_bodyCount;++c){var h=this.m_bodies[c];this.m_positions[c].c.Copy(h.m_sweep.c);var u=h.m_sweep.a,_=this.m_velocities[c].v.Copy(h.m_linearVelocity),f=h.m_angularVelocity;h.m_sweep.c0.Copy(h.m_sweep.c),h.m_sweep.a0=h.m_sweep.a,h.m_type===t.b2BodyType.b2_dynamicBody&&(_.x+=l*(h.m_gravityScale*s.x+h.m_invMass*h.m_force.x),_.y+=l*(h.m_gravityScale*s.y+h.m_invMass*h.m_force.y),f+=l*h.m_invI*h.m_torque,_.SelfMul(1/(1+l*h.m_linearDamping)),f*=1/(1+l*h.m_angularDamping)),this.m_positions[c].a=u,this.m_velocities[c].w=f}o.Reset();var d=e.s_solverData;d.step.Copy(r),d.positions=this.m_positions,d.velocities=this.m_velocities;var p=e.s_contactSolverDef;p.step.Copy(r),p.contacts=this.m_contacts,p.count=this.m_contactCount,p.positions=this.m_positions,p.velocities=this.m_velocities,p.allocator=this.m_allocator;var v=e.s_contactSolver.Initialize(p);for(v.InitializeVelocityConstraints(),r.warmStarting&&v.WarmStart(),c=0;c<this.m_jointCount;++c)this.m_joints[c].InitVelocityConstraints(d);for(n.solveInit=o.GetMilliseconds(),o.Reset(),c=0;c<r.velocityIterations;++c){for(var g=0;g<this.m_jointCount;++g)this.m_joints[g].SolveVelocityConstraints(d);v.SolveVelocityConstraints()}for(v.StoreImpulses(),n.solveVelocity=o.GetMilliseconds(),c=0;c<this.m_bodyCount;++c){var b=this.m_positions[c].c,A=(u=this.m_positions[c].a,_=this.m_velocities[c].v,f=this.m_velocities[c].w,I.MulSV(l,_,e.s_translation));if(I.DotVV(A,A)>4){var x=2/A.Length();_.SelfMul(x)}var C=l*f;C*C>2.4674011002726646&&(f*=x=1.570796326795/m(C)),b.x+=l*_.x,b.y+=l*_.y,u+=l*f,this.m_positions[c].a=u,this.m_velocities[c].w=f}o.Reset();var T=!1;for(c=0;c<r.positionIterations;++c){var S=v.SolvePositionConstraints(),w=!0;for(g=0;g<this.m_jointCount;++g){var E=this.m_joints[g].SolvePositionConstraints(d);w=w&&E}if(S&&w){T=!0;break}}for(c=0;c<this.m_bodyCount;++c){var M=this.m_bodies[c];M.m_sweep.c.Copy(this.m_positions[c].c),M.m_sweep.a=this.m_positions[c].a,M.m_linearVelocity.Copy(this.m_velocities[c].v),M.m_angularVelocity=this.m_velocities[c].w,M.SynchronizeTransform()}if(n.solvePosition=o.GetMilliseconds(),this.Report(v.m_velocityConstraints),a){var D=i;for(c=0;c<this.m_bodyCount;++c)(h=this.m_bodies[c]).GetType()!==t.b2BodyType.b2_staticBody&&(!h.m_autoSleepFlag||h.m_angularVelocity*h.m_angularVelocity>.0012184696791469947||I.DotVV(h.m_linearVelocity,h.m_linearVelocity)>1e-4?(h.m_sleepTime=0,D=0):(h.m_sleepTime+=l,D=y(D,h.m_sleepTime)));if(D>=.5&&T)for(c=0;c<this.m_bodyCount;++c)(h=this.m_bodies[c]).SetAwake(!1)}},e.prototype.SolveTOI=function(t,i,n){for(var r=0;r<this.m_bodyCount;++r){var s=this.m_bodies[r];this.m_positions[r].c.Copy(s.m_sweep.c),this.m_positions[r].a=s.m_sweep.a,this.m_velocities[r].v.Copy(s.m_linearVelocity),this.m_velocities[r].w=s.m_angularVelocity}var a=e.s_contactSolverDef;a.contacts=this.m_contacts,a.count=this.m_contactCount,a.allocator=this.m_allocator,a.step.Copy(t),a.positions=this.m_positions,a.velocities=this.m_velocities;var o=e.s_contactSolver.Initialize(a);for(r=0;r<t.positionIterations&&!o.SolveTOIPositionConstraints(i,n);++r);for(this.m_bodies[i].m_sweep.c0.Copy(this.m_positions[i].c),this.m_bodies[i].m_sweep.a0=this.m_positions[i].a,this.m_bodies[n].m_sweep.c0.Copy(this.m_positions[n].c),this.m_bodies[n].m_sweep.a0=this.m_positions[n].a,o.InitializeVelocityConstraints(),r=0;r<t.velocityIterations;++r)o.SolveVelocityConstraints();var l=t.dt;for(r=0;r<this.m_bodyCount;++r){var c=this.m_positions[r].c,h=this.m_positions[r].a,u=this.m_velocities[r].v,_=this.m_velocities[r].w,f=I.MulSV(l,u,e.s_translation);if(I.DotVV(f,f)>4){var d=2/f.Length();u.SelfMul(d)}var p=l*_;p*p>2.4674011002726646&&(_*=d=1.570796326795/m(p)),c.SelfMulAdd(l,u),h+=l*_,this.m_positions[r].a=h,this.m_velocities[r].w=_;var y=this.m_bodies[r];y.m_sweep.c.Copy(c),y.m_sweep.a=h,y.m_linearVelocity.Copy(u),y.m_angularVelocity=_,y.SynchronizeTransform()}this.Report(o.m_velocityConstraints)},e.prototype.Report=function(t){if(null!==this.m_listener)for(var i=0;i<this.m_contactCount;++i){var n=this.m_contacts[i];if(n){var r=t[i],s=e.s_impulse;s.count=r.pointCount;for(var a=0;a<r.pointCount;++a)s.normalImpulses[a]=r.points[a].normalImpulse,s.tangentImpulses[a]=r.points[a].tangentImpulse;this.m_listener.PostSolve(n,s)}}},e.s_timer=new G,e.s_solverData=new fn,e.s_contactSolverDef=new yn,e.s_contactSolver=new gn,e.s_translation=new I,e.s_impulse=new rn,e})();(ji=t.b2ParticleFlag||(t.b2ParticleFlag={}))[ji.b2_waterParticle=0]="b2_waterParticle",ji[ji.b2_zombieParticle=2]="b2_zombieParticle",ji[ji.b2_wallParticle=4]="b2_wallParticle",ji[ji.b2_springParticle=8]="b2_springParticle",ji[ji.b2_elasticParticle=16]="b2_elasticParticle",ji[ji.b2_viscousParticle=32]="b2_viscousParticle",ji[ji.b2_powderParticle=64]="b2_powderParticle",ji[ji.b2_tensileParticle=128]="b2_tensileParticle",ji[ji.b2_colorMixingParticle=256]="b2_colorMixingParticle",ji[ji.b2_destructionListenerParticle=512]="b2_destructionListenerParticle",ji[ji.b2_barrierParticle=1024]="b2_barrierParticle",ji[ji.b2_staticPressureParticle=2048]="b2_staticPressureParticle",ji[ji.b2_reactiveParticle=4096]="b2_reactiveParticle",ji[ji.b2_repulsiveParticle=8192]="b2_repulsiveParticle",ji[ji.b2_fixtureContactListenerParticle=16384]="b2_fixtureContactListenerParticle",ji[ji.b2_particleContactListenerParticle=32768]="b2_particleContactListenerParticle",ji[ji.b2_fixtureContactFilterParticle=65536]="b2_fixtureContactFilterParticle",ji[ji.b2_particleContactFilterParticle=131072]="b2_particleContactFilterParticle";var An=function(){this.flags=0,this.position=new I,this.velocity=new I,this.color=new k(0,0,0,0),this.lifetime=0,this.userData=null,this.group=null};function xn(t,e,i){return g(Math.ceil(Math.sqrt(t/(.01*e))*i),1,8)}var Cn,Tn=(function(){function t(){this.m_index=u}return t.prototype.GetIndex=function(){return this.m_index},t.prototype.SetIndex=function(t){this.m_index=t},t})();(Cn=t.b2ParticleGroupFlag||(t.b2ParticleGroupFlag={}))[Cn.b2_solidParticleGroup=1]="b2_solidParticleGroup",Cn[Cn.b2_rigidParticleGroup=2]="b2_rigidParticleGroup",Cn[Cn.b2_particleGroupCanBeEmpty=4]="b2_particleGroupCanBeEmpty",Cn[Cn.b2_particleGroupWillBeDestroyed=8]="b2_particleGroupWillBeDestroyed",Cn[Cn.b2_particleGroupNeedsUpdateDepth=16]="b2_particleGroupNeedsUpdateDepth",Cn[Cn.b2_particleGroupInternalMask=24]="b2_particleGroupInternalMask";var Sn=function(){this.flags=0,this.groupFlags=0,this.position=new I,this.angle=0,this.linearVelocity=new I,this.angularVelocity=0,this.color=new k,this.strength=1,this.shapeCount=0,this.stride=0,this.particleCount=0,this.lifetime=0,this.userData=null,this.group=null},wn=(function(){function e(t){this.m_firstIndex=0,this.m_lastIndex=0,this.m_groupFlags=0,this.m_strength=1,this.m_prev=null,this.m_next=null,this.m_timestamp=-1,this.m_mass=0,this.m_inertia=0,this.m_center=new I,this.m_linearVelocity=new I,this.m_angularVelocity=0,this.m_transform=new V,this.m_userData=null,this.m_system=t}return e.prototype.GetNext=function(){return this.m_next},e.prototype.GetParticleSystem=function(){return this.m_system},e.prototype.GetParticleCount=function(){return this.m_lastIndex-this.m_firstIndex},e.prototype.GetBufferIndex=function(){return this.m_firstIndex},e.prototype.ContainsParticle=function(t){return this.m_firstIndex<=t&&t<this.m_lastIndex},e.prototype.GetAllParticleFlags=function(){if(!this.m_system.m_flagsBuffer.data)throw new Error;for(var t=0,e=this.m_firstIndex;e<this.m_lastIndex;e++)t|=this.m_system.m_flagsBuffer.data[e];return t},e.prototype.GetGroupFlags=function(){return this.m_groupFlags},e.prototype.SetGroupFlags=function(e){e|=this.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupInternalMask,this.m_system.SetGroupFlags(this,e)},e.prototype.GetMass=function(){return this.UpdateStatistics(),this.m_mass},e.prototype.GetInertia=function(){return this.UpdateStatistics(),this.m_inertia},e.prototype.GetCenter=function(){return this.UpdateStatistics(),this.m_center},e.prototype.GetLinearVelocity=function(){return this.UpdateStatistics(),this.m_linearVelocity},e.prototype.GetAngularVelocity=function(){return this.UpdateStatistics(),this.m_angularVelocity},e.prototype.GetTransform=function(){return this.m_transform},e.prototype.GetPosition=function(){return this.m_transform.p},e.prototype.GetAngle=function(){return this.m_transform.q.GetAngle()},e.prototype.GetLinearVelocityFromWorldPoint=function(t,i){var n=e.GetLinearVelocityFromWorldPoint_s_t0;return this.UpdateStatistics(),I.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,I.SubVV(t,this.m_center,n),i)},e.prototype.GetUserData=function(){return this.m_userData},e.prototype.SetUserData=function(t){this.m_userData=t},e.prototype.ApplyForce=function(t){this.m_system.ApplyForce(this.m_firstIndex,this.m_lastIndex,t)},e.prototype.ApplyLinearImpulse=function(t){this.m_system.ApplyLinearImpulse(this.m_firstIndex,this.m_lastIndex,t)},e.prototype.DestroyParticles=function(t){if(this.m_system.m_world.IsLocked())throw new Error;for(var e=this.m_firstIndex;e<this.m_lastIndex;e++)this.m_system.DestroyParticle(e,t)},e.prototype.UpdateStatistics=function(){if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var t=new I,e=new I;if(this.m_timestamp!==this.m_system.m_timestamp){var i=this.m_system.GetParticleMass();this.m_mass=i*(this.m_lastIndex-this.m_firstIndex),this.m_center.SetZero(),this.m_linearVelocity.SetZero();for(var n=this.m_firstIndex;n<this.m_lastIndex;n++)this.m_center.SelfMulAdd(i,this.m_system.m_positionBuffer.data[n]),this.m_linearVelocity.SelfMulAdd(i,this.m_system.m_velocityBuffer.data[n]);if(this.m_mass>0){var r=1/this.m_mass;this.m_center.SelfMul(r),this.m_linearVelocity.SelfMul(r)}for(this.m_inertia=0,this.m_angularVelocity=0,n=this.m_firstIndex;n<this.m_lastIndex;n++)I.SubVV(this.m_system.m_positionBuffer.data[n],this.m_center,t),I.SubVV(this.m_system.m_velocityBuffer.data[n],this.m_linearVelocity,e),this.m_inertia+=i*I.DotVV(t,t),this.m_angularVelocity+=i*I.CrossVV(t,e);this.m_inertia>0&&(this.m_angularVelocity*=1/this.m_inertia),this.m_timestamp=this.m_system.m_timestamp}},e.GetLinearVelocityFromWorldPoint_s_t0=new I,e})(),En=(function(){function t(t){this.m_front=0,this.m_back=0,this.m_capacity=0,this.m_buffer=d(t,(function(){return null})),this.m_capacity=t}return t.prototype.Push=function(t){if(this.m_back>=this.m_capacity){for(var e=this.m_front;e<this.m_back;e++)this.m_buffer[e-this.m_front]=this.m_buffer[e];this.m_back-=this.m_front,this.m_front=0,this.m_back>=this.m_capacity&&(this.m_capacity>0?(this.m_buffer.concat(d(this.m_capacity,(function(){return null}))),this.m_capacity*=2):(this.m_buffer.concat(d(1,(function(){return null}))),this.m_capacity=1))}this.m_buffer[this.m_back]=t,this.m_back++},t.prototype.Pop=function(){this.m_buffer[this.m_front]=null,this.m_front++},t.prototype.Empty=function(){return this.m_front===this.m_back},t.prototype.Front=function(){var t=this.m_buffer[this.m_front];if(!t)throw new Error;return t},t})(),Mn=(function(){function t(e){this.m_generatorCapacity=0,this.m_generatorCount=0,this.m_countX=0,this.m_countY=0,this.m_diagram=[],this.m_generatorBuffer=d(e,(function(){return new t.Generator})),this.m_generatorCapacity=e}return t.prototype.AddGenerator=function(t,e,i){var n=this.m_generatorBuffer[this.m_generatorCount++];n.center.Copy(t),n.tag=e,n.necessary=i},t.prototype.Generate=function(e,n){for(var r=1/e,s=new I(+i,+i),a=new I(-i,-i),o=0,l=0;l<this.m_generatorCount;l++)(f=this.m_generatorBuffer[l]).necessary&&(I.MinV(s,f.center,s),I.MaxV(a,f.center,a),++o);if(0===o)return this.m_countX=0,void(this.m_countY=0);s.x-=n,s.y-=n,a.x+=n,a.y+=n,this.m_countX=1+Math.floor(r*(a.x-s.x)),this.m_countY=1+Math.floor(r*(a.y-s.y)),this.m_diagram=[];var c=new En(4*this.m_countX*this.m_countY);for(l=0;l<this.m_generatorCount;l++){(f=this.m_generatorBuffer[l]).center.SelfSub(s).SelfMul(r);var h=Math.floor(f.center.x),u=Math.floor(f.center.y);h>=0&&u>=0&&h<this.m_countX&&u<this.m_countY&&c.Push(new t.Task(h,u,h+u*this.m_countX,f))}for(;!c.Empty();){h=(d=c.Front()).m_x,u=d.m_y;var _=d.m_i,f=d.m_generator;c.Pop(),this.m_diagram[_]||(this.m_diagram[_]=f,h>0&&c.Push(new t.Task(h-1,u,_-1,f)),u>0&&c.Push(new t.Task(h,u-1,_-this.m_countX,f)),h<this.m_countX-1&&c.Push(new t.Task(h+1,u,_+1,f)),u<this.m_countY-1&&c.Push(new t.Task(h,u+1,_+this.m_countX,f)))}for(u=0;u<this.m_countY;u++)for(h=0;h<this.m_countX-1;h++)_=h+u*this.m_countX,(p=this.m_diagram[_])!==(m=this.m_diagram[_+1])&&(c.Push(new t.Task(h,u,_,m)),c.Push(new t.Task(h+1,u,_+1,p)));for(u=0;u<this.m_countY-1;u++)for(h=0;h<this.m_countX;h++)_=h+u*this.m_countX,(p=this.m_diagram[_])!==(m=this.m_diagram[_+this.m_countX])&&(c.Push(new t.Task(h,u,_,m)),c.Push(new t.Task(h,u+1,_+this.m_countX,p)));for(;!c.Empty();){var d,p,m;if(h=(d=c.Front()).m_x,u=d.m_y,_=d.m_i,l=d.m_generator,c.Pop(),(p=this.m_diagram[_])!==(m=l)){var y=p.center.x-h,v=p.center.y-u,g=m.center.x-h,b=m.center.y-u;y*y+v*v>g*g+b*b&&(this.m_diagram[_]=m,h>0&&c.Push(new t.Task(h-1,u,_-1,m)),u>0&&c.Push(new t.Task(h,u-1,_-this.m_countX,m)),h<this.m_countX-1&&c.Push(new t.Task(h+1,u,_+1,m)),u<this.m_countY-1&&c.Push(new t.Task(h,u+1,_+this.m_countX,m)))}}},t.prototype.GetNodes=function(t){for(var e=0;e<this.m_countY-1;e++)for(var i=0;i<this.m_countX-1;i++){var n=i+e*this.m_countX,r=this.m_diagram[n],s=this.m_diagram[n+1],a=this.m_diagram[n+this.m_countX],o=this.m_diagram[n+1+this.m_countX];s!==a&&(r!==s&&r!==a&&(r.necessary||s.necessary||a.necessary)&&t(r.tag,s.tag,a.tag),o!==s&&o!==a&&(r.necessary||s.necessary||a.necessary)&&t(s.tag,o.tag,a.tag))}},t})();function Dn(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function Bn(t,e){return t<e}function In(t,e,i,n){void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Bn);for(var r=e,s=[],a=0;;){for(;r+1<i;i++){var o=t[r+Math.floor(Math.random()*(i-r))];s[a++]=i;for(var l=r-1;;){for(;n(t[++l],o););for(;n(o,t[--i]););if(l>=i)break;Dn(t,l,i)}}if(0===a)break;r=i,i=s[--a]}return t}function Pn(t,e,i,n){return void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Bn),In(t,e,i,n)}function Rn(t,e,i){void 0===i&&(i=t.length);for(var n=0,r=0;r<i;++r)e(t[r])||(r!==n?Dn(t,n++,r):++n);return n}function On(t,e,i,n,r){void 0===r&&(r=Bn);for(var s=i-e;s>0;){var a=Math.floor(s/2),o=e+a;r(t[o],n)?(e=++o,s-=a+1):s=a}return e}function Ln(t,e,i,n,r){void 0===r&&(r=Bn);for(var s=i-e;s>0;){var a=Math.floor(s/2),o=e+a;r(n,t[o])?s=a:(e=++o,s-=a+1)}return e}function Fn(t,e,i,n){for(var r=i;e!==r;)Dn(t,e++,r++),r===n?r=i:e===i&&(i=r)}function Vn(t,e,i,n){if(e===i)return i;for(var r=e;++e!==i;)n(t[r],t[e])||Dn(t,++r,e);return++r}(function(t){t.Generator=function(){this.center=new I,this.tag=0,this.necessary=!1};t.Task=function(t,e,i,n){this.m_x=t,this.m_y=e,this.m_i=i,this.m_generator=n}})(Mn||(Mn={}));var Nn=(function(){function t(t){this.data=[],this.count=0,this.capacity=0,this.allocator=t}return t.prototype.Append=function(){return this.count>=this.capacity&&this.Grow(),this.count++},t.prototype.Reserve=function(t){if(!(this.capacity>=t)){for(var e=this.capacity;e<t;++e)this.data[e]=this.allocator();this.capacity=t}},t.prototype.Grow=function(){var t=this.capacity?2*this.capacity:256;this.Reserve(t)},t.prototype.Free=function(){0!==this.data.length&&(this.data=[],this.capacity=0,this.count=0)},t.prototype.Shorten=function(){},t.prototype.Data=function(){return this.data},t.prototype.GetCount=function(){return this.count},t.prototype.SetCount=function(t){this.count=t},t.prototype.GetCapacity=function(){return this.capacity},t.prototype.RemoveIf=function(t){this.count=Rn(this.data,t,this.count)},t.prototype.Unique=function(t){this.count=Vn(this.data,0,this.count,t)},t})(),kn=(function(t){function e(e){var i=t.call(this)||this;return i.m_system=e,i}return ti(e,t),e.prototype.ShouldQueryParticleSystem=function(){return!1},e.prototype.ReportFixture=function(t){if(t.IsSensor())return!0;for(var e=t.GetShape().GetChildCount(),i=0;i<e;i++)for(var n=t.GetAABB(i),r=this.m_system.GetInsideBoundsEnumerator(n),s=void 0;(s=r.GetNext())>=0;)this.ReportFixtureAndParticle(t,i,s);return!0},e.prototype.ReportParticle=function(){return!1},e.prototype.ReportFixtureAndParticle=function(){},e})(an),zn=(function(){function t(){this.indexA=0,this.indexB=0,this.weight=0,this.normal=new I,this.flags=0}return t.prototype.SetIndices=function(t,e){this.indexA=t,this.indexB=e},t.prototype.SetWeight=function(t){this.weight=t},t.prototype.SetNormal=function(t){this.normal.Copy(t)},t.prototype.SetFlags=function(t){this.flags=t},t.prototype.GetIndexA=function(){return this.indexA},t.prototype.GetIndexB=function(){return this.indexB},t.prototype.GetWeight=function(){return this.weight},t.prototype.GetNormal=function(){return this.normal},t.prototype.GetFlags=function(){return this.flags},t.prototype.IsEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&this.weight===t.weight&&this.normal.x===t.normal.x&&this.normal.y===t.normal.y},t.prototype.IsNotEqual=function(t){return!this.IsEqual(t)},t.prototype.ApproximatelyEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&m(this.weight-t.weight)<.01&&I.DistanceSquaredVV(this.normal,t.normal)<1e-4},t})(),Gn=function(){this.index=0,this.weight=0,this.normal=new I,this.mass=0},Un=function(){this.indexA=0,this.indexB=0,this.flags=0,this.strength=0,this.distance=0},jn=function(){this.indexA=0,this.indexB=0,this.indexC=0,this.flags=0,this.strength=0,this.pa=new I(0,0),this.pb=new I(0,0),this.pc=new I(0,0),this.ka=0,this.kb=0,this.kc=0,this.s=0},Hn=(function(){function t(){this.strictContactCheck=!1,this.density=1,this.gravityScale=1,this.radius=1,this.maxCount=0,this.pressureStrength=.005,this.dampingStrength=1,this.elasticStrength=.25,this.springStrength=.25,this.viscousStrength=.25,this.surfaceTensionPressureStrength=.2,this.surfaceTensionNormalStrength=.2,this.repulsiveStrength=1,this.powderStrength=.5,this.ejectionStrength=.5,this.staticPressureStrength=.2,this.staticPressureRelaxation=.2,this.staticPressureIterations=8,this.colorMixingStrength=.5,this.destroyByAge=!0,this.lifetimeGranularity=1/60}return t.prototype.Copy=function(t){return this.strictContactCheck=t.strictContactCheck,this.density=t.density,this.gravityScale=t.gravityScale,this.radius=t.radius,this.maxCount=t.maxCount,this.pressureStrength=t.pressureStrength,this.dampingStrength=t.dampingStrength,this.elasticStrength=t.elasticStrength,this.springStrength=t.springStrength,this.viscousStrength=t.viscousStrength,this.surfaceTensionPressureStrength=t.surfaceTensionPressureStrength,this.surfaceTensionNormalStrength=t.surfaceTensionNormalStrength,this.repulsiveStrength=t.repulsiveStrength,this.powderStrength=t.powderStrength,this.ejectionStrength=t.ejectionStrength,this.staticPressureStrength=t.staticPressureStrength,this.staticPressureRelaxation=t.staticPressureRelaxation,this.staticPressureIterations=t.staticPressureIterations,this.colorMixingStrength=t.colorMixingStrength,this.destroyByAge=t.destroyByAge,this.lifetimeGranularity=t.lifetimeGranularity,this},t.prototype.Clone=function(){return(new t).Copy(this)},t})();t.b2ParticleSystem=(function(){function n(t,e){this.m_paused=!1,this.m_timestamp=0,this.m_allParticleFlags=0,this.m_needsUpdateAllParticleFlags=!1,this.m_allGroupFlags=0,this.m_needsUpdateAllGroupFlags=!1,this.m_hasForce=!1,this.m_iterationIndex=0,this.m_inverseDensity=0,this.m_particleDiameter=0,this.m_inverseDiameter=0,this.m_squaredDiameter=0,this.m_count=0,this.m_internalAllocatedCapacity=0,this.m_handleIndexBuffer=new n.UserOverridableBuffer,this.m_flagsBuffer=new n.UserOverridableBuffer,this.m_positionBuffer=new n.UserOverridableBuffer,this.m_velocityBuffer=new n.UserOverridableBuffer,this.m_forceBuffer=[],this.m_weightBuffer=[],this.m_staticPressureBuffer=[],this.m_accumulationBuffer=[],this.m_accumulation2Buffer=[],this.m_depthBuffer=[],this.m_colorBuffer=new n.UserOverridableBuffer,this.m_groupBuffer=[],this.m_userDataBuffer=new n.UserOverridableBuffer,this.m_stuckThreshold=0,this.m_lastBodyContactStepBuffer=new n.UserOverridableBuffer,this.m_bodyContactCountBuffer=new n.UserOverridableBuffer,this.m_consecutiveContactStepsBuffer=new n.UserOverridableBuffer,this.m_stuckParticleBuffer=new Nn(function(){return 0}),this.m_proxyBuffer=new Nn(function(){return new n.Proxy}),this.m_contactBuffer=new Nn(function(){return new zn}),this.m_bodyContactBuffer=new Nn(function(){return new Gn}),this.m_pairBuffer=new Nn(function(){return new Un}),this.m_triadBuffer=new Nn(function(){return new jn}),this.m_expirationTimeBuffer=new n.UserOverridableBuffer,this.m_indexByExpirationTimeBuffer=new n.UserOverridableBuffer,this.m_timeElapsed=0,this.m_expirationTimeBufferRequiresSorting=!1,this.m_groupCount=0,this.m_groupList=null,this.m_def=new Hn,this.m_prev=null,this.m_next=null,this.SetStrictContactCheck(t.strictContactCheck),this.SetDensity(t.density),this.SetGravityScale(t.gravityScale),this.SetRadius(t.radius),this.SetMaxParticleCount(t.maxCount),this.m_def=t.Clone(),this.m_world=e,this.SetDestructionByAge(this.m_def.destroyByAge)}return n.computeTag=function(t,e){return(e+n.yOffset>>>0<<n.yShift)+(n.xScale*t+n.xOffset>>>0)>>>0},n.computeRelativeTag=function(t,e,i){return t+(i<<n.yShift)+(e<<n.xShift)>>>0},n.prototype.Drop=function(){for(;this.m_groupList;)this.DestroyParticleGroup(this.m_groupList);this.FreeUserOverridableBuffer(this.m_handleIndexBuffer),this.FreeUserOverridableBuffer(this.m_flagsBuffer),this.FreeUserOverridableBuffer(this.m_lastBodyContactStepBuffer),this.FreeUserOverridableBuffer(this.m_bodyContactCountBuffer),this.FreeUserOverridableBuffer(this.m_consecutiveContactStepsBuffer),this.FreeUserOverridableBuffer(this.m_positionBuffer),this.FreeUserOverridableBuffer(this.m_velocityBuffer),this.FreeUserOverridableBuffer(this.m_colorBuffer),this.FreeUserOverridableBuffer(this.m_userDataBuffer),this.FreeUserOverridableBuffer(this.m_expirationTimeBuffer),this.FreeUserOverridableBuffer(this.m_indexByExpirationTimeBuffer),this.FreeBuffer(this.m_forceBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_weightBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_staticPressureBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulationBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulation2Buffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_depthBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_groupBuffer,this.m_internalAllocatedCapacity)},n.prototype.CreateParticle=function(t){if(this.m_world.IsLocked())throw new Error;if(this.m_count>=this.m_internalAllocatedCapacity){var i=this.m_count?2*this.m_count:256;this.ReallocateInternalAllocatedBuffers(i)}if(this.m_count>=this.m_internalAllocatedCapacity){if(!this.m_def.destroyByAge)return u;this.DestroyOldestParticle(0,!1),this.SolveZombie()}var n=this.m_count++;if(!this.m_flagsBuffer.data)throw new Error;if(this.m_flagsBuffer.data[n]=0,this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=0),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=0),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=0),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;this.m_positionBuffer.data[n]=(this.m_positionBuffer.data[n]||new I).Copy(e(t.position,I.ZERO)),this.m_velocityBuffer.data[n]=(this.m_velocityBuffer.data[n]||new I).Copy(e(t.velocity,I.ZERO)),this.m_weightBuffer[n]=0,this.m_forceBuffer[n]=(this.m_forceBuffer[n]||new I).SetZero(),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=0),this.m_depthBuffer&&(this.m_depthBuffer[n]=0);var r=(new k).Copy(e(t.color,k.ZERO));!this.m_colorBuffer.data&&r.IsZero()||(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data[n]=(this.m_colorBuffer.data[n]||new k).Copy(r)),(this.m_userDataBuffer.data||t.userData)&&(this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data[n]=t.userData),this.m_handleIndexBuffer.data&&(this.m_handleIndexBuffer.data[n]=null);var s=this.m_proxyBuffer.data[this.m_proxyBuffer.Append()],a=e(t.lifetime,0),o=a>0;if(this.m_expirationTimeBuffer.data||o){if(this.SetParticleLifetime(n,o?a:this.ExpirationTimeToLifetime(-this.GetQuantizedTimeElapsed())),!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_indexByExpirationTimeBuffer.data[n]=n}s.index=n;var l=e(t.group,null);return this.m_groupBuffer[n]=l,l&&(l.m_firstIndex<l.m_lastIndex?(this.RotateBuffer(l.m_firstIndex,l.m_lastIndex,n),l.m_lastIndex=n+1):(l.m_firstIndex=n,l.m_lastIndex=n+1)),this.SetParticleFlags(n,e(t.flags,0)),n},n.prototype.GetParticleHandleFromIndex=function(t){this.m_handleIndexBuffer.data=this.RequestBuffer(this.m_handleIndexBuffer.data);var e=this.m_handleIndexBuffer.data[t];return e||((e=new Tn).SetIndex(t),this.m_handleIndexBuffer.data[t]=e,e)},n.prototype.DestroyParticle=function(e,i){if(void 0===i&&(i=!1),!this.m_flagsBuffer.data)throw new Error;var n=t.b2ParticleFlag.b2_zombieParticle;i&&(n|=t.b2ParticleFlag.b2_destructionListenerParticle),this.SetParticleFlags(e,this.m_flagsBuffer.data[e]|n)},n.prototype.DestroyOldestParticle=function(t,e){void 0===e&&(e=!1);var i=this.GetParticleCount();if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;if(!this.m_expirationTimeBuffer.data)throw new Error;var n=this.m_indexByExpirationTimeBuffer.data[i-(t+1)],r=this.m_indexByExpirationTimeBuffer.data[t];this.DestroyParticle(this.m_expirationTimeBuffer.data[n]>0?n:r,e)},n.prototype.DestroyParticlesInShape=function(t,e,i){void 0===i&&(i=!1);var r=n.DestroyParticlesInShape_s_aabb;if(this.m_world.IsLocked())throw new Error;var s=new n.DestroyParticlesInShapeCallback(this,t,e,i),a=r;return t.ComputeAABB(a,e,0),this.m_world.QueryAABB(s,a),s.Destroyed()},n.prototype.CreateParticleGroup=function(t){var i=n.CreateParticleGroup_s_transform;if(this.m_world.IsLocked())throw new Error;var r=i;r.SetPositionAngle(e(t.position,I.ZERO),e(t.angle,0));var s=this.m_count;if(t.shape&&this.CreateParticlesWithShapeForGroup(t.shape,t,r),t.shapes&&this.CreateParticlesWithShapesForGroup(t.shapes,e(t.shapeCount,t.shapes.length),t,r),t.positionData)for(var a=e(t.particleCount,t.positionData.length),o=0;o<a;o++){var l=t.positionData[o];this.CreateParticleForGroup(t,r,l)}var c=this.m_count,h=new wn(this);for(h.m_firstIndex=s,h.m_lastIndex=c,h.m_strength=e(t.strength,1),h.m_userData=t.userData,h.m_transform.Copy(r),h.m_prev=null,h.m_next=this.m_groupList,this.m_groupList&&(this.m_groupList.m_prev=h),this.m_groupList=h,++this.m_groupCount,o=s;o<c;o++)this.m_groupBuffer[o]=h;this.SetGroupFlags(h,e(t.groupFlags,0));var u=new n.ConnectionFilter;return this.UpdateContacts(!0),this.UpdatePairsAndTriads(s,c,u),t.group&&(this.JoinParticleGroups(t.group,h),h=t.group),h},n.prototype.JoinParticleGroups=function(t,e){if(this.m_world.IsLocked())throw new Error;this.RotateBuffer(e.m_firstIndex,e.m_lastIndex,this.m_count),this.RotateBuffer(t.m_firstIndex,t.m_lastIndex,e.m_firstIndex);var i=new n.JoinParticleGroupsFilter(e.m_firstIndex);this.UpdateContacts(!0),this.UpdatePairsAndTriads(t.m_firstIndex,e.m_lastIndex,i);for(var r=e.m_firstIndex;r<e.m_lastIndex;r++)this.m_groupBuffer[r]=t;var s=t.m_groupFlags|e.m_groupFlags;this.SetGroupFlags(t,s),t.m_lastIndex=e.m_lastIndex,e.m_firstIndex=e.m_lastIndex,this.DestroyParticleGroup(e)},n.prototype.SplitParticleGroup=function(t){this.UpdateContacts(!0);var e=d(t.GetParticleCount(),(function(){return new n.ParticleListNode}));n.InitializeParticleLists(t,e),this.MergeParticleListsInContact(t,e);var i=n.FindLongestParticleList(t,e);this.MergeZombieParticleListNodes(t,e,i),this.CreateParticleGroupsFromParticleList(t,e,i),this.UpdatePairsAndTriadsWithParticleList(t,e)},n.prototype.GetParticleGroupList=function(){return this.m_groupList},n.prototype.GetParticleGroupCount=function(){return this.m_groupCount},n.prototype.GetParticleCount=function(){return this.m_count},n.prototype.GetMaxParticleCount=function(){return this.m_def.maxCount},n.prototype.SetMaxParticleCount=function(t){this.m_def.maxCount=t},n.prototype.GetAllParticleFlags=function(){return this.m_allParticleFlags},n.prototype.GetAllGroupFlags=function(){return this.m_allGroupFlags},n.prototype.SetPaused=function(t){this.m_paused=t},n.prototype.GetPaused=function(){return this.m_paused},n.prototype.SetDensity=function(t){this.m_def.density=t,this.m_inverseDensity=1/this.m_def.density},n.prototype.GetDensity=function(){return this.m_def.density},n.prototype.SetGravityScale=function(t){this.m_def.gravityScale=t},n.prototype.GetGravityScale=function(){return this.m_def.gravityScale},n.prototype.SetDamping=function(t){this.m_def.dampingStrength=t},n.prototype.GetDamping=function(){return this.m_def.dampingStrength},n.prototype.SetStaticPressureIterations=function(t){this.m_def.staticPressureIterations=t},n.prototype.GetStaticPressureIterations=function(){return this.m_def.staticPressureIterations},n.prototype.SetRadius=function(t){this.m_particleDiameter=2*t,this.m_squaredDiameter=this.m_particleDiameter*this.m_particleDiameter,this.m_inverseDiameter=1/this.m_particleDiameter},n.prototype.GetRadius=function(){return this.m_particleDiameter/2},n.prototype.GetPositionBuffer=function(){if(!this.m_positionBuffer.data)throw new Error;return this.m_positionBuffer.data},n.prototype.GetVelocityBuffer=function(){if(!this.m_velocityBuffer.data)throw new Error;return this.m_velocityBuffer.data},n.prototype.GetColorBuffer=function(){return this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data},n.prototype.GetGroupBuffer=function(){return this.m_groupBuffer},n.prototype.GetWeightBuffer=function(){return this.m_weightBuffer},n.prototype.GetUserDataBuffer=function(){return this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data},n.prototype.GetFlagsBuffer=function(){if(!this.m_flagsBuffer.data)throw new Error;return this.m_flagsBuffer.data},n.prototype.SetParticleFlags=function(e,i){if(!this.m_flagsBuffer.data)throw new Error;this.m_flagsBuffer.data[e]&~i&&(this.m_needsUpdateAllParticleFlags=!0),~this.m_allParticleFlags&i&&(i&t.b2ParticleFlag.b2_tensileParticle&&(this.m_accumulation2Buffer=this.RequestBuffer(this.m_accumulation2Buffer)),i&t.b2ParticleFlag.b2_colorMixingParticle&&(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data)),this.m_allParticleFlags|=i),this.m_flagsBuffer.data[e]=i},n.prototype.GetParticleFlags=function(t){if(!this.m_flagsBuffer.data)throw new Error;return this.m_flagsBuffer.data[t]},n.prototype.SetFlagsBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_flagsBuffer,t,e)},n.prototype.SetPositionBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_positionBuffer,t,e)},n.prototype.SetVelocityBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_velocityBuffer,t,e)},n.prototype.SetColorBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_colorBuffer,t,e)},n.prototype.SetUserDataBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_userDataBuffer,t,e)},n.prototype.GetContacts=function(){return this.m_contactBuffer.data},n.prototype.GetContactCount=function(){return this.m_contactBuffer.count},n.prototype.GetBodyContacts=function(){return this.m_bodyContactBuffer.data},n.prototype.GetBodyContactCount=function(){return this.m_bodyContactBuffer.count},n.prototype.GetPairs=function(){return this.m_pairBuffer.data},n.prototype.GetPairCount=function(){return this.m_pairBuffer.count},n.prototype.GetTriads=function(){return this.m_triadBuffer.data},n.prototype.GetTriadCount=function(){return this.m_triadBuffer.count},n.prototype.SetStuckThreshold=function(t){this.m_stuckThreshold=t,t>0&&(this.m_lastBodyContactStepBuffer.data=this.RequestBuffer(this.m_lastBodyContactStepBuffer.data),this.m_bodyContactCountBuffer.data=this.RequestBuffer(this.m_bodyContactCountBuffer.data),this.m_consecutiveContactStepsBuffer.data=this.RequestBuffer(this.m_consecutiveContactStepsBuffer.data))},n.prototype.GetStuckCandidates=function(){return this.m_stuckParticleBuffer.Data()},n.prototype.GetStuckCandidateCount=function(){return this.m_stuckParticleBuffer.GetCount()},n.prototype.ComputeCollisionEnergy=function(){if(!this.m_velocityBuffer.data)throw new Error;for(var t=n.ComputeCollisionEnergy_s_v,e=this.m_velocityBuffer.data,i=0,r=0;r<this.m_contactBuffer.count;r++){var s=this.m_contactBuffer.data[r],a=s.indexA,o=s.indexB,l=s.normal,c=I.SubVV(e[o],e[a],t),h=I.DotVV(c,l);h<0&&(i+=h*h)}return.5*this.GetParticleMass()*i},n.prototype.SetStrictContactCheck=function(t){this.m_def.strictContactCheck=t},n.prototype.GetStrictContactCheck=function(){return this.m_def.strictContactCheck},n.prototype.SetParticleLifetime=function(t,e){var i=null===this.m_indexByExpirationTimeBuffer.data;if(this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),i)for(var n=this.GetParticleCount(),r=0;r<n;++r)this.m_indexByExpirationTimeBuffer.data[r]=r;var s=e/this.m_def.lifetimeGranularity,a=s>0?this.GetQuantizedTimeElapsed()+s:s;a!==this.m_expirationTimeBuffer.data[t]&&(this.m_expirationTimeBuffer.data[t]=a,this.m_expirationTimeBufferRequiresSorting=!0)},n.prototype.GetParticleLifetime=function(t){return this.ExpirationTimeToLifetime(this.GetExpirationTimeBuffer()[t])},n.prototype.SetDestructionByAge=function(t){t&&this.GetExpirationTimeBuffer(),this.m_def.destroyByAge=t},n.prototype.GetDestructionByAge=function(){return this.m_def.destroyByAge},n.prototype.GetExpirationTimeBuffer=function(){return this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_expirationTimeBuffer.data},n.prototype.ExpirationTimeToLifetime=function(t){return(t>0?t-this.GetQuantizedTimeElapsed():t)*this.m_def.lifetimeGranularity},n.prototype.GetIndexByExpirationTimeBuffer=function(){if(this.GetParticleCount()?this.SetParticleLifetime(0,this.GetParticleLifetime(0)):this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),!this.m_indexByExpirationTimeBuffer.data)throw new Error;return this.m_indexByExpirationTimeBuffer.data},n.prototype.ParticleApplyLinearImpulse=function(t,e){this.ApplyLinearImpulse(t,t+1,e)},n.prototype.ApplyLinearImpulse=function(t,e,i){if(!this.m_velocityBuffer.data)throw new Error;for(var n=this.m_velocityBuffer.data,r=(e-t)*this.GetParticleMass(),s=(new I).Copy(i).SelfMul(1/r),a=t;a<e;a++)n[a].SelfAdd(s)},n.IsSignificantForce=function(t){return 0!==t.x||0!==t.y},n.prototype.ParticleApplyForce=function(t,e){if(!this.m_flagsBuffer.data)throw new Error;n.IsSignificantForce(e)&&this.ForceCanBeApplied(this.m_flagsBuffer.data[t])&&(this.PrepareForceBuffer(),this.m_forceBuffer[t].SelfAdd(e))},n.prototype.ApplyForce=function(t,e,i){var r=(new I).Copy(i).SelfMul(1/(e-t));if(n.IsSignificantForce(r)){this.PrepareForceBuffer();for(var s=t;s<e;s++)this.m_forceBuffer[s].SelfAdd(r)}},n.prototype.GetNext=function(){return this.m_next},n.prototype.QueryAABB=function(t,e){if(0!==this.m_proxyBuffer.count){var i=this.m_proxyBuffer.count,r=On(this.m_proxyBuffer.data,0,i,n.computeTag(this.m_inverseDiameter*e.lowerBound.x,this.m_inverseDiameter*e.lowerBound.y),n.Proxy.CompareProxyTag),s=Ln(this.m_proxyBuffer.data,r,i,n.computeTag(this.m_inverseDiameter*e.upperBound.x,this.m_inverseDiameter*e.upperBound.y),n.Proxy.CompareTagProxy);if(!this.m_positionBuffer.data)throw new Error;for(var a=this.m_positionBuffer.data,o=r;o<s;++o){var l=this.m_proxyBuffer.data[o].index,c=a[l];if(e.lowerBound.x<c.x&&c.x<e.upperBound.x&&e.lowerBound.y<c.y&&c.y<e.upperBound.y&&!t.ReportParticle(this,l))break}}},n.prototype.QueryShapeAABB=function(t,e,i,r){void 0===r&&(r=0);var s=n.QueryShapeAABB_s_aabb;e.ComputeAABB(s,i,r),this.QueryAABB(t,s)},n.prototype.QueryPointAABB=function(t,e,i){void 0===i&&(i=l);var r=n.QueryPointAABB_s_aabb;r.lowerBound.Set(e.x-i,e.y-i),r.upperBound.Set(e.x+i,e.y+i),this.QueryAABB(t,r)},n.prototype.RayCast=function(t,e,i){var r=n.RayCast_s_aabb,s=n.RayCast_s_p,a=n.RayCast_s_v,o=n.RayCast_s_n,l=n.RayCast_s_point;if(0!==this.m_proxyBuffer.count){if(!this.m_positionBuffer.data)throw new Error;var c=this.m_positionBuffer.data,h=r;I.MinV(e,i,h.lowerBound),I.MaxV(e,i,h.upperBound);for(var u,_=1,f=I.SubVV(i,e,a),d=I.DotVV(f,f),p=this.GetInsideBoundsEnumerator(h);(u=p.GetNext())>=0;){var m=I.SubVV(e,c[u],s),v=I.DotVV(m,f),g=v*v-d*(I.DotVV(m,m)-this.m_squaredDiameter);if(g>=0){var b=T(g),A=(-v-b)/d;if(A>_)continue;if(A<0&&((A=(-v+b)/d)<0||A>_))continue;var x=I.AddVMulSV(m,A,f,o);x.Normalize();var C=t.ReportParticle(this,u,I.AddVMulSV(e,A,f,l),x,A);if((_=y(_,C))<=0)break}}}},n.prototype.ComputeAABB=function(t){var e=this.GetParticleCount();if(t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i,!this.m_positionBuffer.data)throw new Error;for(var n=this.m_positionBuffer.data,r=0;r<e;r++){var s=n[r];I.MinV(t.lowerBound,s,t.lowerBound),I.MaxV(t.upperBound,s,t.upperBound)}t.lowerBound.x-=this.m_particleDiameter,t.lowerBound.y-=this.m_particleDiameter,t.upperBound.x+=this.m_particleDiameter,t.upperBound.y+=this.m_particleDiameter},n.prototype.FreeBuffer=function(t){null!==t&&(t.length=0)},n.prototype.FreeUserOverridableBuffer=function(t){0===t.userSuppliedCapacity&&this.FreeBuffer(t.data,this.m_internalAllocatedCapacity)},n.prototype.ReallocateBuffer3=function(t,e,i){if(i<=e)throw new Error;var n=t?t.slice():[];return n.length=i,n},n.prototype.ReallocateBuffer5=function(t,e,i,n,r){if(n<=i)throw new Error;if(e&&!(n<=e))throw new Error;return r&&!t||e||(t=this.ReallocateBuffer3(t,i,n)),t},n.prototype.ReallocateBuffer4=function(t,e,i,n){return this.ReallocateBuffer5(t.data,t.userSuppliedCapacity,e,i,n)},n.prototype.RequestBuffer=function(t){return t||(0===this.m_internalAllocatedCapacity&&this.ReallocateInternalAllocatedBuffers(256),(t=[]).length=this.m_internalAllocatedCapacity),t},n.prototype.ReallocateHandleBuffers=function(t){this.m_handleIndexBuffer.data=this.ReallocateBuffer4(this.m_handleIndexBuffer,this.m_internalAllocatedCapacity,t,!0)},n.prototype.ReallocateInternalAllocatedBuffers=function(t){function e(t,e){return e&&t>e?e:t}if(t=e(t,this.m_def.maxCount),t=e(t,this.m_flagsBuffer.userSuppliedCapacity),t=e(t,this.m_positionBuffer.userSuppliedCapacity),t=e(t,this.m_velocityBuffer.userSuppliedCapacity),t=e(t,this.m_colorBuffer.userSuppliedCapacity),t=e(t,this.m_userDataBuffer.userSuppliedCapacity),this.m_internalAllocatedCapacity<t){this.ReallocateHandleBuffers(t),this.m_flagsBuffer.data=this.ReallocateBuffer4(this.m_flagsBuffer,this.m_internalAllocatedCapacity,t,!1);var i=this.m_stuckThreshold>0;this.m_lastBodyContactStepBuffer.data=this.ReallocateBuffer4(this.m_lastBodyContactStepBuffer,this.m_internalAllocatedCapacity,t,i),this.m_bodyContactCountBuffer.data=this.ReallocateBuffer4(this.m_bodyContactCountBuffer,this.m_internalAllocatedCapacity,t,i),this.m_consecutiveContactStepsBuffer.data=this.ReallocateBuffer4(this.m_consecutiveContactStepsBuffer,this.m_internalAllocatedCapacity,t,i),this.m_positionBuffer.data=this.ReallocateBuffer4(this.m_positionBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_velocityBuffer.data=this.ReallocateBuffer4(this.m_velocityBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_forceBuffer=this.ReallocateBuffer5(this.m_forceBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_weightBuffer=this.ReallocateBuffer5(this.m_weightBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_staticPressureBuffer=this.ReallocateBuffer5(this.m_staticPressureBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_accumulationBuffer=this.ReallocateBuffer5(this.m_accumulationBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_accumulation2Buffer=this.ReallocateBuffer5(this.m_accumulation2Buffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_depthBuffer=this.ReallocateBuffer5(this.m_depthBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_colorBuffer.data=this.ReallocateBuffer4(this.m_colorBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_groupBuffer=this.ReallocateBuffer5(this.m_groupBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_userDataBuffer.data=this.ReallocateBuffer4(this.m_userDataBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_expirationTimeBuffer.data=this.ReallocateBuffer4(this.m_expirationTimeBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_indexByExpirationTimeBuffer.data=this.ReallocateBuffer4(this.m_indexByExpirationTimeBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_internalAllocatedCapacity=t}},n.prototype.CreateParticleForGroup=function(t,i,n){var r=new An;r.flags=e(t.flags,0),V.MulXV(i,n,r.position),I.AddVV(e(t.linearVelocity,I.ZERO),I.CrossSV(e(t.angularVelocity,0),I.SubVV(r.position,e(t.position,I.ZERO),I.s_t0),I.s_t0),r.velocity),r.color.Copy(e(t.color,k.ZERO)),r.lifetime=e(t.lifetime,0),r.userData=t.userData,this.CreateParticle(r)},n.prototype.CreateParticlesStrokeShapeForGroup=function(i,r,s){var a=n.CreateParticlesStrokeShapeForGroup_s_edge,o=n.CreateParticlesStrokeShapeForGroup_s_d,l=n.CreateParticlesStrokeShapeForGroup_s_p,c=e(r.stride,0);0===c&&(c=this.GetParticleStride());for(var h=0,u=i.GetChildCount(),_=0;_<u;_++){var f=null;i.GetType()===t.b2ShapeType.e_edgeShape?f=i:(f=a,i.GetChildEdge(f,_));for(var d=I.SubVV(f.m_vertex2,f.m_vertex1,o),p=d.Length();h<p;){var m=I.AddVMulSV(f.m_vertex1,h/p,d,l);this.CreateParticleForGroup(r,s,m),h+=c}h-=p}},n.prototype.CreateParticlesFillShapeForGroup=function(t,i,r){var s=n.CreateParticlesFillShapeForGroup_s_aabb,a=n.CreateParticlesFillShapeForGroup_s_p,o=e(i.stride,0);0===o&&(o=this.GetParticleStride());var l=V.IDENTITY,c=s;t.ComputeAABB(c,l,0);for(var h=Math.floor(c.lowerBound.y/o)*o;h<c.upperBound.y;h+=o)for(var u=Math.floor(c.lowerBound.x/o)*o;u<c.upperBound.x;u+=o){var _=a.Set(u,h);t.TestPoint(l,_)&&this.CreateParticleForGroup(i,r,_)}},n.prototype.CreateParticlesWithShapeForGroup=function(e,i,n){switch(e.GetType()){case t.b2ShapeType.e_edgeShape:case t.b2ShapeType.e_chainShape:this.CreateParticlesStrokeShapeForGroup(e,i,n);break;case t.b2ShapeType.e_polygonShape:case t.b2ShapeType.e_circleShape:this.CreateParticlesFillShapeForGroup(e,i,n)}},n.prototype.CreateParticlesWithShapesForGroup=function(t,e,i,r){var s=new n.CompositeShape(t,e);this.CreateParticlesFillShapeForGroup(s,i,r)},n.prototype.CloneParticle=function(t,e){var i=new An;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;i.flags=this.m_flagsBuffer.data[t],i.position.Copy(this.m_positionBuffer.data[t]),i.velocity.Copy(this.m_velocityBuffer.data[t]),this.m_colorBuffer.data&&i.color.Copy(this.m_colorBuffer.data[t]),this.m_userDataBuffer.data&&(i.userData=this.m_userDataBuffer.data[t]),i.group=e;var n=this.CreateParticle(i);if(this.m_handleIndexBuffer.data){var r=this.m_handleIndexBuffer.data[t];r&&r.SetIndex(n),this.m_handleIndexBuffer.data[n]=r,this.m_handleIndexBuffer.data[t]=null}return this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=this.m_lastBodyContactStepBuffer.data[t]),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=this.m_bodyContactCountBuffer.data[t]),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=this.m_consecutiveContactStepsBuffer.data[t]),this.m_hasForce&&this.m_forceBuffer[n].Copy(this.m_forceBuffer[t]),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=this.m_staticPressureBuffer[t]),this.m_depthBuffer&&(this.m_depthBuffer[n]=this.m_depthBuffer[t]),this.m_expirationTimeBuffer.data&&(this.m_expirationTimeBuffer.data[n]=this.m_expirationTimeBuffer.data[t]),n},n.prototype.DestroyParticlesInGroup=function(t,e){void 0===e&&(e=!1);for(var i=t.m_firstIndex;i<t.m_lastIndex;i++)this.DestroyParticle(i,e)},n.prototype.DestroyParticleGroup=function(t){this.m_world.m_destructionListener&&this.m_world.m_destructionListener.SayGoodbyeParticleGroup(t),this.SetGroupFlags(t,0);for(var e=t.m_firstIndex;e<t.m_lastIndex;e++)this.m_groupBuffer[e]=null;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_groupList&&(this.m_groupList=t.m_next),--this.m_groupCount},n.ParticleCanBeConnected=function(e,i){return 0!=(e&(t.b2ParticleFlag.b2_wallParticle|t.b2ParticleFlag.b2_springParticle|t.b2ParticleFlag.b2_elasticParticle))||null!==i&&0!=(i.GetGroupFlags()&t.b2ParticleGroupFlag.b2_rigidParticleGroup)},n.prototype.UpdatePairsAndTriads=function(e,i,r){var s=n.UpdatePairsAndTriads_s_dab,a=n.UpdatePairsAndTriads_s_dbc,o=n.UpdatePairsAndTriads_s_dca;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var l=this.m_positionBuffer.data,c=0,h=e;h<i;h++)c|=this.m_flagsBuffer.data[h];if(c&n.k_pairFlags)for(var u=0;u<this.m_contactBuffer.count;u++){var _=this.m_contactBuffer.data[u],f=_.indexA,d=_.indexB,p=this.m_flagsBuffer.data[f],m=this.m_flagsBuffer.data[d],v=this.m_groupBuffer[f],g=this.m_groupBuffer[d];if(f>=e&&f<i&&d>=e&&d<i&&!((p|m)&t.b2ParticleFlag.b2_zombieParticle)&&(p|m)&n.k_pairFlags&&(r.IsNecessary(f)||r.IsNecessary(d))&&n.ParticleCanBeConnected(p,v)&&n.ParticleCanBeConnected(m,g)&&r.ShouldCreatePair(f,d)){var b=this.m_pairBuffer.data[this.m_pairBuffer.Append()];b.indexA=f,b.indexB=d,b.flags=_.flags,b.strength=y(v?v.m_strength:1,g?g.m_strength:1),b.distance=I.DistanceVV(l[f],l[d])}Pn(this.m_pairBuffer.data,0,this.m_pairBuffer.count,n.ComparePairIndices),this.m_pairBuffer.Unique(n.MatchPairIndices)}if(c&n.k_triadFlags){var A=new Mn(i-e);for(h=e;h<i;h++){var x=this.m_flagsBuffer.data[h],C=this.m_groupBuffer[h];x&t.b2ParticleFlag.b2_zombieParticle||!n.ParticleCanBeConnected(x,C)||A.AddGenerator(l[h],h,r.IsNecessary(h))}var T=this.GetParticleStride();A.Generate(T/2,2*T);var S=this;A.GetNodes((function(t,e,i){if(!S.m_flagsBuffer.data)throw new Error;var c=S.m_flagsBuffer.data[t],h=S.m_flagsBuffer.data[e],u=S.m_flagsBuffer.data[i];if((c|h|u)&n.k_triadFlags&&r.ShouldCreateTriad(t,e,i)){var _=l[t],f=l[e],d=l[i],p=I.SubVV(_,f,s),m=I.SubVV(f,d,a),v=I.SubVV(d,_,o),g=4*S.m_squaredDiameter;if(I.DotVV(p,p)>g||I.DotVV(m,m)>g||I.DotVV(v,v)>g)return;var b=S.m_groupBuffer[t],A=S.m_groupBuffer[e],x=S.m_groupBuffer[i],C=S.m_triadBuffer.data[S.m_triadBuffer.Append()];C.indexA=t,C.indexB=e,C.indexC=i,C.flags=c|h|u,C.strength=y(y(b?b.m_strength:1,A?A.m_strength:1),x?x.m_strength:1);var T=(_.x+f.x+d.x)/3,w=(_.y+f.y+d.y)/3;C.pa.x=_.x-T,C.pa.y=_.y-w,C.pb.x=f.x-T,C.pb.y=f.y-w,C.pc.x=d.x-T,C.pc.y=d.y-w,C.ka=-I.DotVV(v,p),C.kb=-I.DotVV(p,m),C.kc=-I.DotVV(m,v),C.s=I.CrossVV(_,f)+I.CrossVV(f,d)+I.CrossVV(d,_)}})),Pn(this.m_triadBuffer.data,0,this.m_triadBuffer.count,n.CompareTriadIndices),this.m_triadBuffer.Unique(n.MatchTriadIndices)}},n.prototype.UpdatePairsAndTriadsWithReactiveParticles=function(){var e=new n.ReactiveFilter(this.m_flagsBuffer);if(this.UpdatePairsAndTriads(0,this.m_count,e),!this.m_flagsBuffer.data)throw new Error;for(var i=0;i<this.m_count;i++)this.m_flagsBuffer.data[i]&=~t.b2ParticleFlag.b2_reactiveParticle;this.m_allParticleFlags&=~t.b2ParticleFlag.b2_reactiveParticle},n.ComparePairIndices=function(t,e){var i=t.indexA-e.indexA;return 0!==i?i<0:t.indexB<e.indexB},n.MatchPairIndices=function(t,e){return t.indexA===e.indexA&&t.indexB===e.indexB},n.CompareTriadIndices=function(t,e){var i=t.indexA-e.indexA;if(0!==i)return i<0;var n=t.indexB-e.indexB;return 0!==n?n<0:t.indexC<e.indexC},n.MatchTriadIndices=function(t,e){return t.indexA===e.indexA&&t.indexB===e.indexB&&t.indexC===e.indexC},n.InitializeParticleLists=function(t,e){for(var i=t.GetBufferIndex(),n=t.GetParticleCount(),r=0;r<n;r++){var s=e[r];s.list=s,s.next=null,s.count=1,s.index=r+i}},n.prototype.MergeParticleListsInContact=function(t,e){for(var i=t.GetBufferIndex(),r=0;r<this.m_contactBuffer.count;r++){var s=this.m_contactBuffer.data[r],a=s.indexA,o=s.indexB;if(t.ContainsParticle(a)&&t.ContainsParticle(o)){var l=e[a-i].list,c=e[o-i].list;if(l!==c){if(l.count<c.count){var h=l;l=c,c=h}n.MergeParticleLists(l,c)}}}},n.MergeParticleLists=function(t,e){for(var i=e;;){i.list=t;var n=i.next;if(!n){i.next=t.next;break}i=n}t.next=e,t.count+=e.count,e.count=0},n.FindLongestParticleList=function(t,e){for(var i=t.GetParticleCount(),n=e[0],r=0;r<i;r++){var s=e[r];n.count<s.count&&(n=s)}return n},n.prototype.MergeZombieParticleListNodes=function(e,i,r){if(!this.m_flagsBuffer.data)throw new Error;for(var s=e.GetParticleCount(),a=0;a<s;a++){var o=i[a];o!==r&&this.m_flagsBuffer.data[o.index]&t.b2ParticleFlag.b2_zombieParticle&&n.MergeParticleListAndNode(r,o)}},n.MergeParticleListAndNode=function(t,e){e.list=t,e.next=t.next,t.next=e,t.count++,e.count=0},n.prototype.CreateParticleGroupsFromParticleList=function(e,i,n){if(!this.m_flagsBuffer.data)throw new Error;var r=e.GetParticleCount(),s=new Sn;s.groupFlags=e.GetGroupFlags(),s.userData=e.GetUserData();for(var a=0;a<r;a++){var o=i[a];if(o.count&&o!==n)for(var l=this.CreateParticleGroup(s),c=o;c;c=c.next){var h=c.index,u=this.CloneParticle(h,l);this.m_flagsBuffer.data[h]|=t.b2ParticleFlag.b2_zombieParticle,c.index=u}}},n.prototype.UpdatePairsAndTriadsWithParticleList=function(t,e){for(var i=t.GetBufferIndex(),n=0;n<this.m_pairBuffer.count;n++){var r=this.m_pairBuffer.data[n],s=r.indexA,a=r.indexB;t.ContainsParticle(s)&&(r.indexA=e[s-i].index),t.ContainsParticle(a)&&(r.indexB=e[a-i].index)}for(n=0;n<this.m_triadBuffer.count;n++){var o=this.m_triadBuffer.data[n],l=(s=o.indexA,a=o.indexB,o.indexC);t.ContainsParticle(s)&&(o.indexA=e[s-i].index),t.ContainsParticle(a)&&(o.indexB=e[a-i].index),t.ContainsParticle(l)&&(o.indexC=e[l-i].index)}},n.prototype.ComputeDepth=function(){for(var e=[],n=0,r=0;r<this.m_contactBuffer.count;r++){var s=(v=this.m_contactBuffer.data[r]).indexA,a=v.indexB,o=this.m_groupBuffer[s],l=this.m_groupBuffer[a];o&&o===l&&o.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth&&(e[n++]=v)}for(var c=[],h=0,u=this.m_groupList;u;u=u.GetNext())if(u.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth){c[h++]=u,this.SetGroupFlags(u,u.m_groupFlags&~t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth);for(var _=u.m_firstIndex;_<u.m_lastIndex;_++)this.m_accumulationBuffer[_]=0}for(r=0;r<n;r++){s=(v=e[r]).indexA,a=v.indexB;var f=v.weight;this.m_accumulationBuffer[s]+=f,this.m_accumulationBuffer[a]+=f}for(_=0;_<h;_++)for(var d=(u=c[_]).m_firstIndex;d<u.m_lastIndex;d++)f=this.m_accumulationBuffer[d],this.m_depthBuffer[d]=f<.8?0:i;for(var p=T(this.m_count)>>0,m=0;m<p;m++){var y=!1;for(r=0;r<n;r++){s=(v=e[r]).indexA,a=v.indexB;var v,g=1-v.weight,b=this.m_depthBuffer[s],A=this.m_depthBuffer[a],x=A+g,C=b+g;b>x&&(this.m_depthBuffer[s]=x,y=!0),A>C&&(this.m_depthBuffer[a]=C,y=!0)}if(!y)break}for(_=0;_<h;_++)for(var S=(u=c[_]).m_firstIndex;S<u.m_lastIndex;S++)this.m_depthBuffer[S]<i?this.m_depthBuffer[S]*=this.m_particleDiameter:this.m_depthBuffer[S]=0},n.prototype.GetInsideBoundsEnumerator=function(t){var e=n.computeTag(this.m_inverseDiameter*t.lowerBound.x-1,this.m_inverseDiameter*t.lowerBound.y-1),i=n.computeTag(this.m_inverseDiameter*t.upperBound.x+1,this.m_inverseDiameter*t.upperBound.y+1),r=this.m_proxyBuffer.count,s=On(this.m_proxyBuffer.data,0,r,e,n.Proxy.CompareProxyTag),a=Ln(this.m_proxyBuffer.data,0,r,i,n.Proxy.CompareTagProxy);return new n.InsideBoundsEnumerator(this,e,i,s,a)},n.prototype.UpdateAllParticleFlags=function(){if(!this.m_flagsBuffer.data)throw new Error;this.m_allParticleFlags=0;for(var t=0;t<this.m_count;t++)this.m_allParticleFlags|=this.m_flagsBuffer.data[t];this.m_needsUpdateAllParticleFlags=!1},n.prototype.UpdateAllGroupFlags=function(){this.m_allGroupFlags=0;for(var t=this.m_groupList;t;t=t.GetNext())this.m_allGroupFlags|=t.m_groupFlags;this.m_needsUpdateAllGroupFlags=!1},n.prototype.AddContact=function(t,e){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;var i=n.AddContact_s_d,r=this.m_positionBuffer.data,s=I.SubVV(r[e],r[t],i),a=I.DotVV(s,s);if(a<this.m_squaredDiameter){var o=x(a);isFinite(o)||(o=198177537e11);var l=this.m_contactBuffer.data[this.m_contactBuffer.Append()];l.indexA=t,l.indexB=e,l.flags=this.m_flagsBuffer.data[t]|this.m_flagsBuffer.data[e],l.weight=1-a*o*this.m_inverseDiameter,I.MulSV(o,s,l.normal)}},n.prototype.FindContacts_Reference=function(){var t=this.m_proxyBuffer.count;this.m_contactBuffer.count=0;for(var e=0,i=0;e<t;e++){for(var r=n.computeRelativeTag(this.m_proxyBuffer.data[e].tag,1,0),s=e+1;s<t&&!(r<this.m_proxyBuffer.data[s].tag);s++)this.AddContact(this.m_proxyBuffer.data[e].index,this.m_proxyBuffer.data[s].index,this.m_contactBuffer);for(var a=n.computeRelativeTag(this.m_proxyBuffer.data[e].tag,-1,1);i<t&&!(a<=this.m_proxyBuffer.data[i].tag);i++);var o=n.computeRelativeTag(this.m_proxyBuffer.data[e].tag,1,1);for(s=i;s<t&&!(o<this.m_proxyBuffer.data[s].tag);s++)this.AddContact(this.m_proxyBuffer.data[e].index,this.m_proxyBuffer.data[s].index,this.m_contactBuffer)}},n.prototype.FindContacts=function(t){this.FindContacts_Reference(t)},n.prototype.UpdateProxies_Reference=function(){if(!this.m_positionBuffer.data)throw new Error;for(var t=this.m_positionBuffer.data,e=this.m_inverseDiameter,i=0;i<this.m_proxyBuffer.count;++i){var r=this.m_proxyBuffer.data[i],s=t[r.index];r.tag=n.computeTag(e*s.x,e*s.y)}},n.prototype.UpdateProxies=function(t){this.UpdateProxies_Reference(t)},n.prototype.SortProxies=function(){In(this.m_proxyBuffer.data,0,this.m_proxyBuffer.count,n.Proxy.CompareProxyProxy)},n.prototype.FilterContacts=function(){var e=this.GetParticleContactFilter();if(null!==e){var i=this;this.m_contactBuffer.RemoveIf((function(n){return 0!=(n.flags&t.b2ParticleFlag.b2_particleContactFilterParticle)&&!e.ShouldCollideParticleParticle(i,n.indexA,n.indexB)}))}},n.prototype.NotifyContactListenerPreContact=function(t){if(null!==this.GetParticleContactListener())throw t.Initialize(this.m_contactBuffer,this.m_flagsBuffer),new Error},n.prototype.NotifyContactListenerPostContact=function(){var t=this.GetParticleContactListener();if(null!==t){for(var e=0;e<this.m_contactBuffer.count;++e){var i=this.m_contactBuffer.data[e];t.BeginContactParticleParticle(this,i)}throw new Error}},n.b2ParticleContactIsZombie=function(e){return(e.flags&t.b2ParticleFlag.b2_zombieParticle)===t.b2ParticleFlag.b2_zombieParticle},n.prototype.UpdateContacts=function(t){this.UpdateProxies(this.m_proxyBuffer),this.SortProxies(this.m_proxyBuffer);var e=new n.b2ParticlePairSet;this.NotifyContactListenerPreContact(e),this.FindContacts(this.m_contactBuffer),this.FilterContacts(this.m_contactBuffer),this.NotifyContactListenerPostContact(e),t&&this.m_contactBuffer.RemoveIf(n.b2ParticleContactIsZombie)},n.prototype.NotifyBodyContactListenerPreContact=function(t){if(null!==this.GetFixtureContactListener())throw t.Initialize(this.m_bodyContactBuffer,this.m_flagsBuffer),new Error},n.prototype.NotifyBodyContactListenerPostContact=function(){var t=this.GetFixtureContactListener();if(null!==t){for(var e=0;e<this.m_bodyContactBuffer.count;e++){var i=this.m_bodyContactBuffer.data[e];t.BeginContactFixtureParticle(this,i)}throw new Error}},n.prototype.UpdateBodyContacts=function(){var t=n.UpdateBodyContacts_s_aabb,e=new n.FixtureParticleSet;if(this.NotifyBodyContactListenerPreContact(e),this.m_stuckThreshold>0){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;for(var i=this.GetParticleCount(),r=0;r<i;r++)this.m_bodyContactCountBuffer.data[r]=0,this.m_timestamp>this.m_lastBodyContactStepBuffer.data[r]+1&&(this.m_consecutiveContactStepsBuffer.data[r]=0)}this.m_bodyContactBuffer.SetCount(0),this.m_stuckParticleBuffer.SetCount(0);var s=t;this.ComputeAABB(s);var a=new n.UpdateBodyContactsCallback(this,this.GetFixtureContactFilter());this.m_world.QueryAABB(a,s),this.m_def.strictContactCheck&&this.RemoveSpuriousBodyContacts(),this.NotifyBodyContactListenerPostContact(e)},n.prototype.Solve=function(e){var i=n.Solve_s_subStep;if(0!==this.m_count&&(this.m_expirationTimeBuffer.data&&this.SolveLifetimes(e),this.m_allParticleFlags&t.b2ParticleFlag.b2_zombieParticle&&this.SolveZombie(),this.m_needsUpdateAllParticleFlags&&this.UpdateAllParticleFlags(),this.m_needsUpdateAllGroupFlags&&this.UpdateAllGroupFlags(),!this.m_paused))for(this.m_iterationIndex=0;this.m_iterationIndex<e.particleIterations;this.m_iterationIndex++){++this.m_timestamp;var r=i.Copy(e);if(r.dt/=e.particleIterations,r.inv_dt*=e.particleIterations,this.UpdateContacts(!1),this.UpdateBodyContacts(),this.ComputeWeight(),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth&&this.ComputeDepth(),this.m_allParticleFlags&t.b2ParticleFlag.b2_reactiveParticle&&this.UpdatePairsAndTriadsWithReactiveParticles(),this.m_hasForce&&this.SolveForce(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_viscousParticle&&this.SolveViscous(),this.m_allParticleFlags&t.b2ParticleFlag.b2_repulsiveParticle&&this.SolveRepulsive(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_powderParticle&&this.SolvePowder(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_tensileParticle&&this.SolveTensile(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_solidParticleGroup&&this.SolveSolid(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_colorMixingParticle&&this.SolveColorMixing(),this.SolveGravity(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_staticPressureParticle&&this.SolveStaticPressure(r),this.SolvePressure(r),this.SolveDamping(r),this.m_allParticleFlags&n.k_extraDampingFlags&&this.SolveExtraDamping(),this.m_allParticleFlags&t.b2ParticleFlag.b2_elasticParticle&&this.SolveElastic(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_springParticle&&this.SolveSpring(r),this.LimitVelocity(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup&&this.SolveRigidDamping(),this.m_allParticleFlags&t.b2ParticleFlag.b2_barrierParticle&&this.SolveBarrier(r),this.SolveCollision(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup&&this.SolveRigid(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_wallParticle&&this.SolveWall(),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var s=0;s<this.m_count;s++)this.m_positionBuffer.data[s].SelfMulAdd(r.dt,this.m_velocityBuffer.data[s])}},n.prototype.SolveCollision=function(t){var e=n.SolveCollision_s_aabb;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=e;a.lowerBound.x=+i,a.lowerBound.y=+i,a.upperBound.x=-i,a.upperBound.y=-i;for(var o=0;o<this.m_count;o++){var l=s[o],c=r[o],h=c.x+t.dt*l.x,u=c.y+t.dt*l.y;a.lowerBound.x=y(a.lowerBound.x,y(c.x,h)),a.lowerBound.y=y(a.lowerBound.y,y(c.y,u)),a.upperBound.x=v(a.upperBound.x,v(c.x,h)),a.upperBound.y=v(a.upperBound.y,v(c.y,u))}var _=new n.SolveCollisionCallback(this,t);this.m_world.QueryAABB(_,a)},n.prototype.LimitVelocity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=this.GetCriticalVelocitySquared(t),n=0;n<this.m_count;n++){var r=e[n],s=I.DotVV(r,r);s>i&&r.SelfMul(T(i/s))}},n.prototype.SolveGravity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=n.SolveGravity_s_gravity,i=this.m_velocityBuffer.data,r=I.MulSV(t.dt*this.m_def.gravityScale,this.m_world.GetGravity(),e),s=0;s<this.m_count;s++)i[s].SelfAdd(r)},n.prototype.SolveBarrier=function(e){var i=n.SolveBarrier_s_aabb,r=n.SolveBarrier_s_va,s=n.SolveBarrier_s_vb,a=n.SolveBarrier_s_pba,o=n.SolveBarrier_s_vba,l=n.SolveBarrier_s_vc,c=n.SolveBarrier_s_pca,h=n.SolveBarrier_s_vca,u=n.SolveBarrier_s_qba,_=n.SolveBarrier_s_qca,f=n.SolveBarrier_s_dv,d=n.SolveBarrier_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var p=this.m_positionBuffer.data,m=this.m_velocityBuffer.data,y=0;y<this.m_count;y++)0!=(this.m_flagsBuffer.data[y]&n.k_barrierWallFlags)&&m[y].SetZero();for(var v=2.5*e.dt,g=this.GetParticleMass(),b=0;b<this.m_pairBuffer.count;b++){var A=this.m_pairBuffer.data[b];if(A.flags&t.b2ParticleFlag.b2_barrierParticle){var x=A.indexA,C=A.indexB,S=p[x],w=p[C],E=i;I.MinV(S,w,E.lowerBound),I.MaxV(S,w,E.upperBound);for(var M=this.m_groupBuffer[x],D=this.m_groupBuffer[C],B=this.GetLinearVelocity(M,x,S,r),P=this.GetLinearVelocity(D,C,w,s),R=I.SubVV(w,S,a),O=I.SubVV(P,B,o),L=this.GetInsideBoundsEnumerator(E),F=void 0;(F=L.GetNext())>=0;){var V=p[F],N=this.m_groupBuffer[F];if(M!==N&&D!==N){var k=this.GetLinearVelocity(N,F,V,l),z=I.SubVV(V,S,c),G=I.SubVV(k,B,h),U=I.CrossVV(O,G),j=I.CrossVV(R,G)-I.CrossVV(z,O),H=I.CrossVV(R,z),W=void 0,X=void 0,Y=u,q=_;if(0===U){if(0===j)continue;if(!((X=-H/j)>=0&&X<v))continue;if(I.AddVMulSV(R,X,O,Y),I.AddVMulSV(z,X,G,q),!((W=I.DotVV(Y,q)/I.DotVV(Y,Y))>=0&&W<=1))continue}else{var J=j*j-4*H*U;if(J<0)continue;var Z=T(J),K=(-j-Z)/(2*U),Q=(-j+Z)/(2*U);if(K>Q){var $=K;K=Q,Q=$}if(X=K,I.AddVMulSV(R,X,O,Y),I.AddVMulSV(z,X,G,q),W=I.DotVV(Y,q)/I.DotVV(Y,Y),!(X>=0&&X<v&&W>=0&&W<=1)){if(!((X=Q)>=0&&X<v))continue;if(I.AddVMulSV(R,X,O,Y),I.AddVMulSV(z,X,G,q),!((W=I.DotVV(Y,q)/I.DotVV(Y,Y))>=0&&W<=1))continue}}var tt=f;tt.x=B.x+W*O.x-k.x,tt.y=B.y+W*O.y-k.y;var et=I.MulSV(g,tt,d);if(N&&this.IsRigidGroup(N)){var it=N.GetMass(),nt=N.GetInertia();it>0&&N.m_linearVelocity.SelfMulAdd(1/it,et),nt>0&&(N.m_angularVelocity+=I.CrossVV(I.SubVV(V,N.GetCenter(),I.s_t0),et)/nt)}else m[F].SelfAdd(tt);this.ParticleApplyForce(F,et.SelfMul(-e.inv_dt))}}}}},n.prototype.SolveStaticPressure=function(e){if(!this.m_flagsBuffer.data)throw new Error;this.m_staticPressureBuffer=this.RequestBuffer(this.m_staticPressureBuffer);for(var i=this.GetCriticalPressure(e),n=this.m_def.staticPressureStrength*i,r=.25*i,s=this.m_def.staticPressureRelaxation,a=0;a<this.m_def.staticPressureIterations;a++){for(var o=0;o<this.m_count;o++)this.m_accumulationBuffer[o]=0;for(var l=0;l<this.m_contactBuffer.count;l++){var c=this.m_contactBuffer.data[l];if(c.flags&t.b2ParticleFlag.b2_staticPressureParticle){var h=c.indexA,u=c.indexB,_=c.weight;this.m_accumulationBuffer[h]+=_*this.m_staticPressureBuffer[u],this.m_accumulationBuffer[u]+=_*this.m_staticPressureBuffer[h]}}for(o=0;o<this.m_count;o++)if(_=this.m_weightBuffer[o],this.m_flagsBuffer.data[o]&t.b2ParticleFlag.b2_staticPressureParticle){var f=(this.m_accumulationBuffer[o]+n*(_-1))/(_+s);this.m_staticPressureBuffer[o]=g(f,0,r)}else this.m_staticPressureBuffer[o]=0}},n.prototype.ComputeWeight=function(){for(var t=0;t<this.m_count;t++)this.m_weightBuffer[t]=0;for(t=0;t<this.m_bodyContactBuffer.count;t++){var e=(n=this.m_bodyContactBuffer.data[t]).index,i=n.weight;this.m_weightBuffer[e]+=i}for(t=0;t<this.m_contactBuffer.count;t++){e=(n=this.m_contactBuffer.data[t]).indexA;var n,r=n.indexB;i=n.weight,this.m_weightBuffer[e]+=i,this.m_weightBuffer[r]+=i}},n.prototype.SolvePressure=function(e){var i=n.SolvePressure_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.GetCriticalPressure(e),o=this.m_def.pressureStrength*a,l=.25*a,c=0;c<this.m_count;c++){var h=this.m_weightBuffer[c],u=o*v(0,h-1);this.m_accumulationBuffer[c]=y(u,l)}if(this.m_allParticleFlags&n.k_noPressureFlags)for(c=0;c<this.m_count;c++)this.m_flagsBuffer.data[c]&n.k_noPressureFlags&&(this.m_accumulationBuffer[c]=0);if(this.m_allParticleFlags&t.b2ParticleFlag.b2_staticPressureParticle)for(c=0;c<this.m_count;c++)this.m_flagsBuffer.data[c]&t.b2ParticleFlag.b2_staticPressureParticle&&(this.m_accumulationBuffer[c]+=this.m_staticPressureBuffer[c]);for(var _=e.dt/(this.m_def.density*this.m_particleDiameter),f=this.GetParticleInvMass(),d=0;d<this.m_bodyContactBuffer.count;d++){var p=(C=this.m_bodyContactBuffer.data[d]).index,m=C.body,g=(h=C.weight,C.mass),b=C.normal,A=r[p],x=(u=this.m_accumulationBuffer[p]+o*h,I.MulSV(_*h*g*u,b,i));s[p].SelfMulSub(f,x),m.ApplyLinearImpulse(x,A,!0)}for(d=0;d<this.m_contactBuffer.count;d++){var C;p=(C=this.m_contactBuffer.data[d]).indexA,m=C.indexB,h=C.weight,b=C.normal,u=this.m_accumulationBuffer[p]+this.m_accumulationBuffer[m],x=I.MulSV(_*h*u,b,i),s[p].SelfSub(x),s[m].SelfAdd(x)}},n.prototype.SolveDamping=function(t){var e=n.SolveDamping_s_v,i=n.SolveDamping_s_f;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.m_def.dampingStrength,o=1/this.GetCriticalVelocity(t),l=this.GetParticleInvMass(),c=0;c<this.m_bodyContactBuffer.count;c++){var h=(A=this.m_bodyContactBuffer.data[c]).index,u=A.body,_=A.weight,f=A.mass,d=A.normal,p=r[h],m=I.SubVV(u.GetLinearVelocityFromWorldPoint(p,I.s_t0),s[h],e);if((x=I.DotVV(m,d))<0){var g=v(a*_,y(-o*x,.5)),b=I.MulSV(g*f*x,d,i);s[h].SelfMulAdd(l,b),u.ApplyLinearImpulse(b.SelfNeg(),p,!0)}}for(c=0;c<this.m_contactBuffer.count;c++){var A,x;h=(A=this.m_contactBuffer.data[c]).indexA,u=A.indexB,_=A.weight,d=A.normal,m=I.SubVV(s[u],s[h],e),(x=I.DotVV(m,d))<0&&(g=v(a*_,y(-o*x,.5)),b=I.MulSV(g*x,d,i),s[h].SelfAdd(b),s[u].SelfSub(b))}},n.prototype.SolveRigidDamping=function(){var t=n.SolveRigidDamping_s_t0,e=n.SolveRigidDamping_s_t1,i=n.SolveRigidDamping_s_p,r=n.SolveRigidDamping_s_v,s=[0],a=[0],o=[0],l=[0],c=[0],h=[0];if(!this.m_positionBuffer.data)throw new Error;for(var u=this.m_positionBuffer.data,_=this.m_def.dampingStrength,f=0;f<this.m_bodyContactBuffer.count;f++){var d=(x=this.m_bodyContactBuffer.data[f]).index;if((T=this.m_groupBuffer[d])&&this.IsRigidGroup(T)){var p=x.body,m=x.normal,v=x.weight,g=u[d],b=I.SubVV(p.GetLinearVelocityFromWorldPoint(g,t),T.GetLinearVelocityFromWorldPoint(g,e),r);if((C=I.DotVV(b,m))<0){this.InitDampingParameterWithRigidGroupOrParticle(s,a,o,!0,T,d,g,m),this.InitDampingParameter(l,c,h,p.GetMass(),p.GetInertia()-p.GetMass()*p.GetLocalCenter().LengthSquared(),p.GetWorldCenter(),g,m);var A=_*y(v,1)*this.ComputeDampingImpulse(s[0],a[0],o[0],l[0],c[0],h[0],C);this.ApplyDamping(s[0],a[0],o[0],!0,T,d,A,m),p.ApplyLinearImpulse(I.MulSV(-A,m,I.s_t0),g,!0)}}}for(f=0;f<this.m_contactBuffer.count;f++){d=(x=this.m_contactBuffer.data[f]).indexA,p=x.indexB,m=x.normal,v=x.weight;var x,C,T=this.m_groupBuffer[d],S=this.m_groupBuffer[p],w=this.IsRigidGroup(T),E=this.IsRigidGroup(S);T!==S&&(w||E)&&(g=I.MidVV(u[d],u[p],i),b=I.SubVV(this.GetLinearVelocity(S,p,g,t),this.GetLinearVelocity(T,d,g,e),r),(C=I.DotVV(b,m))<0&&(this.InitDampingParameterWithRigidGroupOrParticle(s,a,o,w,T,d,g,m),this.InitDampingParameterWithRigidGroupOrParticle(l,c,h,E,S,p,g,m),A=_*v*this.ComputeDampingImpulse(s[0],a[0],o[0],l[0],c[0],h[0],C),this.ApplyDamping(s[0],a[0],o[0],w,T,d,A,m),this.ApplyDamping(l[0],c[0],h[0],E,S,p,-A,m)))}},n.prototype.SolveExtraDamping=function(){var t=n.SolveExtraDamping_s_v,e=n.SolveExtraDamping_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var i=this.m_velocityBuffer.data,r=this.m_positionBuffer.data,s=this.GetParticleInvMass(),a=0;a<this.m_bodyContactBuffer.count;a++){var o=this.m_bodyContactBuffer.data[a],l=o.index;if(this.m_flagsBuffer.data[l]&n.k_extraDampingFlags){var c=o.body,h=o.mass,u=o.normal,_=r[l],f=I.SubVV(c.GetLinearVelocityFromWorldPoint(_,I.s_t0),i[l],t),d=I.DotVV(f,u);if(d<0){var p=I.MulSV(.5*h*d,u,e);i[l].SelfMulAdd(s,p),c.ApplyLinearImpulse(p.SelfNeg(),_,!0)}}}},n.prototype.SolveWall=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=0;i<this.m_count;i++)this.m_flagsBuffer.data[i]&t.b2ParticleFlag.b2_wallParticle&&e[i].SetZero()},n.prototype.SolveRigid=function(e){var i=n.SolveRigid_s_position,r=n.SolveRigid_s_rotation,s=n.SolveRigid_s_transform,a=n.SolveRigid_s_velocityTransform;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var o=this.m_positionBuffer.data,l=this.m_velocityBuffer.data,c=this.m_groupList;c;c=c.GetNext())if(c.m_groupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup){c.UpdateStatistics();var h=r;h.SetAngle(e.dt*c.m_angularVelocity);var u=I.AddVV(c.m_center,I.SubVV(I.MulSV(e.dt,c.m_linearVelocity,I.s_t0),F.MulRV(h,c.m_center,I.s_t1),I.s_t0),i),_=s;_.SetPositionRotation(u,h),V.MulXX(_,c.m_transform,c.m_transform);var f=a;f.p.x=e.inv_dt*_.p.x,f.p.y=e.inv_dt*_.p.y,f.q.s=e.inv_dt*_.q.s,f.q.c=e.inv_dt*(_.q.c-1);for(var d=c.m_firstIndex;d<c.m_lastIndex;d++)V.MulXV(f,o[d],l[d])}},n.prototype.SolveElastic=function(e){var i=n.SolveElastic_s_pa,r=n.SolveElastic_s_pb,s=n.SolveElastic_s_pc,a=n.SolveElastic_s_r,o=n.SolveElastic_s_t0;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var l=this.m_positionBuffer.data,c=this.m_velocityBuffer.data,h=e.inv_dt*this.m_def.elasticStrength,u=0;u<this.m_triadBuffer.count;u++){var _=this.m_triadBuffer.data[u];if(_.flags&t.b2ParticleFlag.b2_elasticParticle){var f=_.indexA,d=_.indexB,p=_.indexC,m=_.pa,y=_.pb,v=_.pc,g=i.Copy(l[f]),b=r.Copy(l[d]),A=s.Copy(l[p]),C=c[f],T=c[d],S=c[p];g.SelfMulAdd(e.dt,C),b.SelfMulAdd(e.dt,T),A.SelfMulAdd(e.dt,S);var w=(g.x+b.x+A.x)/3,E=(g.y+b.y+A.y)/3;g.x-=w,g.y-=E,b.x-=w,b.y-=E,A.x-=w,A.y-=E;var M=a;M.s=I.CrossVV(m,g)+I.CrossVV(y,b)+I.CrossVV(v,A),M.c=I.DotVV(m,g)+I.DotVV(y,b)+I.DotVV(v,A);var D=x(M.s*M.s+M.c*M.c);isFinite(D)||(D=198177537e11),M.s*=D,M.c*=D;var B=h*_.strength;F.MulRV(M,m,o),I.SubVV(o,g,o),I.MulSV(B,o,o),C.SelfAdd(o),F.MulRV(M,y,o),I.SubVV(o,b,o),I.MulSV(B,o,o),T.SelfAdd(o),F.MulRV(M,v,o),I.SubVV(o,A,o),I.MulSV(B,o,o),S.SelfAdd(o)}}},n.prototype.SolveSpring=function(e){var i=n.SolveSpring_s_pa,r=n.SolveSpring_s_pb,s=n.SolveSpring_s_d,a=n.SolveSpring_s_f;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var o=this.m_positionBuffer.data,l=this.m_velocityBuffer.data,c=e.inv_dt*this.m_def.springStrength,h=0;h<this.m_pairBuffer.count;h++){var u=this.m_pairBuffer.data[h];if(u.flags&t.b2ParticleFlag.b2_springParticle){var _=u.indexA,f=u.indexB,d=i.Copy(o[_]),p=r.Copy(o[f]),m=l[_],y=l[f];d.SelfMulAdd(e.dt,m),p.SelfMulAdd(e.dt,y);var v=I.SubVV(p,d,s),g=u.distance,b=v.Length(),A=c*u.strength,x=I.MulSV(A*(g-b)/b,v,a);m.SelfSub(x),y.SelfAdd(x)}}},n.prototype.SolveTensile=function(e){var i=n.SolveTensile_s_weightedNormal,r=n.SolveTensile_s_s,s=n.SolveTensile_s_f;if(!this.m_velocityBuffer.data)throw new Error;for(var a=this.m_velocityBuffer.data,o=0;o<this.m_count;o++)this.m_accumulation2Buffer[o]=new I,this.m_accumulation2Buffer[o].SetZero();for(var l=0;l<this.m_contactBuffer.count;l++)if((g=this.m_contactBuffer.data[l]).flags&t.b2ParticleFlag.b2_tensileParticle){var c=g.indexA,h=g.indexB,u=g.weight,_=g.normal,f=I.MulSV((1-u)*u,_,i);this.m_accumulation2Buffer[c].SelfSub(f),this.m_accumulation2Buffer[h].SelfAdd(f)}var d=this.GetCriticalVelocity(e),p=this.m_def.surfaceTensionPressureStrength*d,m=this.m_def.surfaceTensionNormalStrength*d,v=.5*d;for(l=0;l<this.m_contactBuffer.count;l++){var g;if((g=this.m_contactBuffer.data[l]).flags&t.b2ParticleFlag.b2_tensileParticle){c=g.indexA,h=g.indexB,u=g.weight,_=g.normal;var b=this.m_weightBuffer[c]+this.m_weightBuffer[h],A=I.SubVV(this.m_accumulation2Buffer[h],this.m_accumulation2Buffer[c],r),x=y(p*(b-2)+m*I.DotVV(A,_),v)*u,C=I.MulSV(x,_,s);a[c].SelfSub(C),a[h].SelfAdd(C)}}},n.prototype.SolveViscous=function(){var e=n.SolveViscous_s_v,i=n.SolveViscous_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.m_def.viscousStrength,o=this.GetParticleInvMass(),l=0;l<this.m_bodyContactBuffer.count;l++){var c=(m=this.m_bodyContactBuffer.data[l]).index;if(this.m_flagsBuffer.data[c]&t.b2ParticleFlag.b2_viscousParticle){var h=m.body,u=m.weight,_=m.mass,f=r[c],d=I.SubVV(h.GetLinearVelocityFromWorldPoint(f,I.s_t0),s[c],e),p=I.MulSV(a*_*u,d,i);s[c].SelfMulAdd(o,p),h.ApplyLinearImpulse(p.SelfNeg(),f,!0)}}for(l=0;l<this.m_contactBuffer.count;l++){var m;(m=this.m_contactBuffer.data[l]).flags&t.b2ParticleFlag.b2_viscousParticle&&(c=m.indexA,h=m.indexB,u=m.weight,d=I.SubVV(s[h],s[c],e),p=I.MulSV(a*u,d,i),s[c].SelfAdd(p),s[h].SelfSub(p))}},n.prototype.SolveRepulsive=function(e){var i=n.SolveRepulsive_s_f;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_velocityBuffer.data,s=this.m_def.repulsiveStrength*this.GetCriticalVelocity(e),a=0;a<this.m_contactBuffer.count;a++){var o=this.m_contactBuffer.data[a];if(o.flags&t.b2ParticleFlag.b2_repulsiveParticle){var l=o.indexA,c=o.indexB;if(this.m_groupBuffer[l]!==this.m_groupBuffer[c]){var h=o.weight,u=o.normal,_=I.MulSV(s*h,u,i);r[l].SelfSub(_),r[c].SelfAdd(_)}}}},n.prototype.SolvePowder=function(e){var i=n.SolvePowder_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.m_def.powderStrength*this.GetCriticalVelocity(e),o=this.GetParticleInvMass(),l=0;l<this.m_bodyContactBuffer.count;l++){var c=(p=this.m_bodyContactBuffer.data[l]).index;if(this.m_flagsBuffer.data[c]&t.b2ParticleFlag.b2_powderParticle&&(m=p.weight)>.25){var h=p.body,u=p.mass,_=r[c],f=p.normal,d=I.MulSV(a*u*(m-.25),f,i);s[c].SelfMulSub(o,d),h.ApplyLinearImpulse(d,_,!0)}}for(l=0;l<this.m_contactBuffer.count;l++){var p,m;(p=this.m_contactBuffer.data[l]).flags&t.b2ParticleFlag.b2_powderParticle&&(m=p.weight)>.25&&(c=p.indexA,h=p.indexB,f=p.normal,d=I.MulSV(a*(m-.25),f,i),s[c].SelfSub(d),s[h].SelfAdd(d))}},n.prototype.SolveSolid=function(t){var e=n.SolveSolid_s_f;if(!this.m_velocityBuffer.data)throw new Error;var i=this.m_velocityBuffer.data;this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer);for(var r=t.inv_dt*this.m_def.ejectionStrength,s=0;s<this.m_contactBuffer.count;s++){var a=this.m_contactBuffer.data[s],o=a.indexA,l=a.indexB;if(this.m_groupBuffer[o]!==this.m_groupBuffer[l]){var c=a.weight,h=a.normal,u=this.m_depthBuffer[o]+this.m_depthBuffer[l],_=I.MulSV(r*u*c,h,e);i[o].SelfSub(_),i[l].SelfAdd(_)}}},n.prototype.SolveForce=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=t.dt*this.GetParticleInvMass(),n=0;n<this.m_count;n++)e[n].SelfMulAdd(i,this.m_forceBuffer[n]);this.m_hasForce=!1},n.prototype.SolveColorMixing=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_colorBuffer.data)throw new Error;var e=.5*this.m_def.colorMixingStrength;if(e)for(var i=0;i<this.m_contactBuffer.count;i++){var n=this.m_contactBuffer.data[i],r=n.indexA,s=n.indexB;if(this.m_flagsBuffer.data[r]&this.m_flagsBuffer.data[s]&t.b2ParticleFlag.b2_colorMixingParticle){var a=this.m_colorBuffer.data[r],o=this.m_colorBuffer.data[s];k.MixColors(a,o,e)}}},n.prototype.SolveZombie=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var e=0,i=[],n=0;n<this.m_count;n++)i[n]=u;var r=0;for(n=0;n<this.m_count;n++){var s=this.m_flagsBuffer.data[n];if(s&t.b2ParticleFlag.b2_zombieParticle){var a=this.m_world.m_destructionListener;s&t.b2ParticleFlag.b2_destructionListenerParticle&&a&&a.SayGoodbyeParticle(this,n),this.m_handleIndexBuffer.data&&(o=this.m_handleIndexBuffer.data[n])&&(o.SetIndex(u),this.m_handleIndexBuffer.data[n]=null),i[n]=u}else{var o;i[n]=e,n!==e&&(this.m_handleIndexBuffer.data&&((o=this.m_handleIndexBuffer.data[n])&&o.SetIndex(e),this.m_handleIndexBuffer.data[e]=o),this.m_flagsBuffer.data[e]=this.m_flagsBuffer.data[n],this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[e]=this.m_lastBodyContactStepBuffer.data[n]),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[e]=this.m_bodyContactCountBuffer.data[n]),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[e]=this.m_consecutiveContactStepsBuffer.data[n]),this.m_positionBuffer.data[e].Copy(this.m_positionBuffer.data[n]),this.m_velocityBuffer.data[e].Copy(this.m_velocityBuffer.data[n]),this.m_groupBuffer[e]=this.m_groupBuffer[n],this.m_hasForce&&this.m_forceBuffer[e].Copy(this.m_forceBuffer[n]),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[e]=this.m_staticPressureBuffer[n]),this.m_depthBuffer&&(this.m_depthBuffer[e]=this.m_depthBuffer[n]),this.m_colorBuffer.data&&this.m_colorBuffer.data[e].Copy(this.m_colorBuffer.data[n]),this.m_userDataBuffer.data&&(this.m_userDataBuffer.data[e]=this.m_userDataBuffer.data[n]),this.m_expirationTimeBuffer.data&&(this.m_expirationTimeBuffer.data[e]=this.m_expirationTimeBuffer.data[n])),e++,r|=s}}for(var l=0;l<this.m_proxyBuffer.count;l++){var c=this.m_proxyBuffer.data[l];c.index=i[c.index]}for(this.m_proxyBuffer.RemoveIf((function(t){return t.index<0})),l=0;l<this.m_contactBuffer.count;l++)(h=this.m_contactBuffer.data[l]).indexA=i[h.indexA],h.indexB=i[h.indexB];for(this.m_contactBuffer.RemoveIf((function(t){return t.indexA<0||t.indexB<0})),l=0;l<this.m_bodyContactBuffer.count;l++){var h;(h=this.m_bodyContactBuffer.data[l]).index=i[h.index]}for(this.m_bodyContactBuffer.RemoveIf((function(t){return t.index<0})),l=0;l<this.m_pairBuffer.count;l++){var _=this.m_pairBuffer.data[l];_.indexA=i[_.indexA],_.indexB=i[_.indexB]}for(this.m_pairBuffer.RemoveIf((function(t){return t.indexA<0||t.indexB<0})),l=0;l<this.m_triadBuffer.count;l++){var f=this.m_triadBuffer.data[l];f.indexA=i[f.indexA],f.indexB=i[f.indexB],f.indexC=i[f.indexC]}if(this.m_triadBuffer.RemoveIf((function(t){return t.indexA<0||t.indexB<0||t.indexC<0})),this.m_indexByExpirationTimeBuffer.data)for(var d=0,p=0;p<this.m_count;p++){var m=i[this.m_indexByExpirationTimeBuffer.data[p]];m!==u&&(this.m_indexByExpirationTimeBuffer.data[d++]=m)}for(var g=this.m_groupList;g;g=g.GetNext()){var b=e,A=0,x=!1;for(n=g.m_firstIndex;n<g.m_lastIndex;n++){var C=i[n];C>=0?(b=y(b,C),A=v(A,C+1)):x=!0}b<A?(g.m_firstIndex=b,g.m_lastIndex=A,x&&g.m_groupFlags&t.b2ParticleGroupFlag.b2_solidParticleGroup&&this.SetGroupFlags(g,g.m_groupFlags|t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth)):(g.m_firstIndex=0,g.m_lastIndex=0,g.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupCanBeEmpty||this.SetGroupFlags(g,g.m_groupFlags|t.b2ParticleGroupFlag.b2_particleGroupWillBeDestroyed))}for(this.m_count=e,this.m_allParticleFlags=r,this.m_needsUpdateAllParticleFlags=!1,g=this.m_groupList;g;){var T=g.GetNext();g.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupWillBeDestroyed&&this.DestroyParticleGroup(g),g=T}},n.prototype.SolveLifetimes=function(t){if(!this.m_expirationTimeBuffer.data)throw new Error;if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_timeElapsed=this.LifetimeToExpirationTime(t.dt);var e=this.GetQuantizedTimeElapsed(),i=this.m_expirationTimeBuffer.data,n=this.m_indexByExpirationTimeBuffer.data,r=this.GetParticleCount();this.m_expirationTimeBufferRequiresSorting&&(In(n,0,r,(function(t,e){var n=i[t],r=i[e],s=n<=0;return s===r<=0?n>r:s})),this.m_expirationTimeBufferRequiresSorting=!1);for(var s=r-1;s>=0;--s){var a=n[s],o=i[a];if(e<o||o<=0)break;this.DestroyParticle(a)}},n.prototype.RotateBuffer=function(t,e,i){if(t!==e&&e!==i){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;if(Fn(this.m_flagsBuffer.data,t,e,i),this.m_lastBodyContactStepBuffer.data&&Fn(this.m_lastBodyContactStepBuffer.data,t,e,i),this.m_bodyContactCountBuffer.data&&Fn(this.m_bodyContactCountBuffer.data,t,e,i),this.m_consecutiveContactStepsBuffer.data&&Fn(this.m_consecutiveContactStepsBuffer.data,t,e,i),Fn(this.m_positionBuffer.data,t,e,i),Fn(this.m_velocityBuffer.data,t,e,i),Fn(this.m_groupBuffer,t,e,i),this.m_hasForce&&Fn(this.m_forceBuffer,t,e,i),this.m_staticPressureBuffer&&Fn(this.m_staticPressureBuffer,t,e,i),this.m_depthBuffer&&Fn(this.m_depthBuffer,t,e,i),this.m_colorBuffer.data&&Fn(this.m_colorBuffer.data,t,e,i),this.m_userDataBuffer.data&&Fn(this.m_userDataBuffer.data,t,e,i),this.m_handleIndexBuffer.data){Fn(this.m_handleIndexBuffer.data,t,e,i);for(var n=t;n<i;++n){var r=this.m_handleIndexBuffer.data[n];r&&r.SetIndex(f(r.GetIndex()))}}if(this.m_expirationTimeBuffer.data){Fn(this.m_expirationTimeBuffer.data,t,e,i);var s=this.GetParticleCount();if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;var a=this.m_indexByExpirationTimeBuffer.data;for(n=0;n<s;++n)a[n]=f(a[n])}for(var o=0;o<this.m_proxyBuffer.count;o++){var l=this.m_proxyBuffer.data[o];l.index=f(l.index)}for(o=0;o<this.m_contactBuffer.count;o++)(c=this.m_contactBuffer.data[o]).indexA=f(c.indexA),c.indexB=f(c.indexB);for(o=0;o<this.m_bodyContactBuffer.count;o++){var c;(c=this.m_bodyContactBuffer.data[o]).index=f(c.index)}for(o=0;o<this.m_pairBuffer.count;o++){var h=this.m_pairBuffer.data[o];h.indexA=f(h.indexA),h.indexB=f(h.indexB)}for(o=0;o<this.m_triadBuffer.count;o++){var u=this.m_triadBuffer.data[o];u.indexA=f(u.indexA),u.indexB=f(u.indexB),u.indexC=f(u.indexC)}for(var _=this.m_groupList;_;_=_.GetNext())_.m_firstIndex=f(_.m_firstIndex),_.m_lastIndex=f(_.m_lastIndex-1)+1}function f(n){return n<t?n:n<e?n+i-e:n<i?n+t-e:n}},n.prototype.GetCriticalVelocity=function(t){return this.m_particleDiameter*t.inv_dt},n.prototype.GetCriticalVelocitySquared=function(t){var e=this.GetCriticalVelocity(t);return e*e},n.prototype.GetCriticalPressure=function(t){return this.m_def.density*this.GetCriticalVelocitySquared(t)},n.prototype.GetParticleStride=function(){return.75*this.m_particleDiameter},n.prototype.GetParticleMass=function(){var t=this.GetParticleStride();return this.m_def.density*t*t},n.prototype.GetParticleInvMass=function(){var t=this.m_inverseDiameter*(1/.75);return this.m_inverseDensity*t*t},n.prototype.GetFixtureContactFilter=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_fixtureContactFilterParticle?this.m_world.m_contactManager.m_contactFilter:null},n.prototype.GetParticleContactFilter=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_particleContactFilterParticle?this.m_world.m_contactManager.m_contactFilter:null},n.prototype.GetFixtureContactListener=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_fixtureContactListenerParticle?this.m_world.m_contactManager.m_contactListener:null},n.prototype.GetParticleContactListener=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_particleContactListenerParticle?this.m_world.m_contactManager.m_contactListener:null},n.prototype.SetUserOverridableBuffer=function(t,e,i){t.data=e,t.userSuppliedCapacity=i},n.prototype.SetGroupFlags=function(e,i){var n=e.m_groupFlags;(n^i)&t.b2ParticleGroupFlag.b2_solidParticleGroup&&(i|=t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth),n&~i&&(this.m_needsUpdateAllGroupFlags=!0),~this.m_allGroupFlags&i&&(i&t.b2ParticleGroupFlag.b2_solidParticleGroup&&(this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer)),this.m_allGroupFlags|=i),e.m_groupFlags=i},n.BodyContactCompare=function(t,e){return t.index===e.index?t.weight>e.weight:t.index<e.index},n.prototype.RemoveSpuriousBodyContacts=function(){In(this.m_bodyContactBuffer.data,0,this.m_bodyContactBuffer.count,n.BodyContactCompare);var t=n.RemoveSpuriousBodyContacts_s_n,e=n.RemoveSpuriousBodyContacts_s_pos,i=n.RemoveSpuriousBodyContacts_s_normal,r=this,s=-1,a=0;this.m_bodyContactBuffer.count=Rn(this.m_bodyContactBuffer.data,(function(n){if(n.index!==s&&(a=0,s=n.index),a++>3)return!0;var o=t.Copy(n.normal);if(o.SelfMul(r.m_particleDiameter*(1-n.weight)),!r.m_positionBuffer.data)throw new Error;var c=I.AddVV(r.m_positionBuffer.data[n.index],o,e);if(!n.fixture.TestPoint(c)){for(var h=n.fixture.GetShape().GetChildCount(),u=0;u<h;u++){var _=i;if(n.fixture.ComputeDistance(c,_,u)<l)return!1}return!0}return!1}),this.m_bodyContactBuffer.count)},n.prototype.DetectStuckParticle=function(t){if(!(this.m_stuckThreshold<=0)){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;++this.m_bodyContactCountBuffer.data[t],2===this.m_bodyContactCountBuffer.data[t]&&(++this.m_consecutiveContactStepsBuffer.data[t],this.m_consecutiveContactStepsBuffer.data[t]>this.m_stuckThreshold&&(this.m_stuckParticleBuffer.data[this.m_stuckParticleBuffer.Append()]=t)),this.m_lastBodyContactStepBuffer.data[t]=this.m_timestamp}},n.prototype.ValidateParticleIndex=function(t){return t>=0&&t<this.GetParticleCount()&&t!==u},n.prototype.GetQuantizedTimeElapsed=function(){return Math.floor(this.m_timeElapsed/4294967296)},n.prototype.LifetimeToExpirationTime=function(t){return this.m_timeElapsed+Math.floor(t/this.m_def.lifetimeGranularity*4294967296)},n.prototype.ForceCanBeApplied=function(e){return!(e&t.b2ParticleFlag.b2_wallParticle)},n.prototype.PrepareForceBuffer=function(){if(!this.m_hasForce){for(var t=0;t<this.m_count;t++)this.m_forceBuffer[t].SetZero();this.m_hasForce=!0}},n.prototype.IsRigidGroup=function(e){return null!==e&&0!=(e.m_groupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup)},n.prototype.GetLinearVelocity=function(t,e,i,n){if(t&&this.IsRigidGroup(t))return t.GetLinearVelocityFromWorldPoint(i,n);if(!this.m_velocityBuffer.data)throw new Error;return n.Copy(this.m_velocityBuffer.data[e])},n.prototype.InitDampingParameter=function(t,e,i,n,r,s,a,o){t[0]=n>0?1/n:0,e[0]=r>0?1/r:0,i[0]=I.CrossVV(I.SubVV(a,s,I.s_t0),o)},n.prototype.InitDampingParameterWithRigidGroupOrParticle=function(e,i,n,r,s,a,o,l){if(s&&r)this.InitDampingParameter(e,i,n,s.GetMass(),s.GetInertia(),s.GetCenter(),o,l);else{if(!this.m_flagsBuffer.data)throw new Error;var c=this.m_flagsBuffer.data[a];this.InitDampingParameter(e,i,n,c&t.b2ParticleFlag.b2_wallParticle?0:this.GetParticleMass(),0,o,o,l)}},n.prototype.ComputeDampingImpulse=function(t,e,i,n,r,s,a){var o=t+e*i*i+n+r*s*s;return o>0?a/o:0},n.prototype.ApplyDamping=function(t,e,i,n,r,s,a,o){if(r&&n)r.m_linearVelocity.SelfMulAdd(a*t,o),r.m_angularVelocity+=a*i*e;else{if(!this.m_velocityBuffer.data)throw new Error;this.m_velocityBuffer.data[s].SelfMulAdd(a*t,o)}},n.xTruncBits=12,n.yTruncBits=12,n.tagBits=32,n.yOffset=1<<n.yTruncBits-1,n.yShift=n.tagBits-n.yTruncBits,n.xShift=n.tagBits-n.yTruncBits-n.xTruncBits,n.xScale=1<<n.xShift,n.xOffset=n.xScale*(1<<n.xTruncBits-1),n.yMask=(1<<n.yTruncBits)-1<<n.yShift,n.xMask=~n.yMask,n.DestroyParticlesInShape_s_aabb=new Tt,n.CreateParticleGroup_s_transform=new V,n.ComputeCollisionEnergy_s_v=new I,n.QueryShapeAABB_s_aabb=new Tt,n.QueryPointAABB_s_aabb=new Tt,n.RayCast_s_aabb=new Tt,n.RayCast_s_p=new I,n.RayCast_s_v=new I,n.RayCast_s_n=new I,n.RayCast_s_point=new I,n.k_pairFlags=t.b2ParticleFlag.b2_springParticle,n.k_triadFlags=t.b2ParticleFlag.b2_elasticParticle,n.k_noPressureFlags=t.b2ParticleFlag.b2_powderParticle|t.b2ParticleFlag.b2_tensileParticle,n.k_extraDampingFlags=t.b2ParticleFlag.b2_staticPressureParticle,n.k_barrierWallFlags=t.b2ParticleFlag.b2_barrierParticle|t.b2ParticleFlag.b2_wallParticle,n.CreateParticlesStrokeShapeForGroup_s_edge=new ri,n.CreateParticlesStrokeShapeForGroup_s_d=new I,n.CreateParticlesStrokeShapeForGroup_s_p=new I,n.CreateParticlesFillShapeForGroup_s_aabb=new Tt,n.CreateParticlesFillShapeForGroup_s_p=new I,n.UpdatePairsAndTriads_s_dab=new I,n.UpdatePairsAndTriads_s_dbc=new I,n.UpdatePairsAndTriads_s_dca=new I,n.AddContact_s_d=new I,n.UpdateBodyContacts_s_aabb=new Tt,n.Solve_s_subStep=new hn,n.SolveCollision_s_aabb=new Tt,n.SolveGravity_s_gravity=new I,n.SolveBarrier_s_aabb=new Tt,n.SolveBarrier_s_va=new I,n.SolveBarrier_s_vb=new I,n.SolveBarrier_s_pba=new I,n.SolveBarrier_s_vba=new I,n.SolveBarrier_s_vc=new I,n.SolveBarrier_s_pca=new I,n.SolveBarrier_s_vca=new I,n.SolveBarrier_s_qba=new I,n.SolveBarrier_s_qca=new I,n.SolveBarrier_s_dv=new I,n.SolveBarrier_s_f=new I,n.SolvePressure_s_f=new I,n.SolveDamping_s_v=new I,n.SolveDamping_s_f=new I,n.SolveRigidDamping_s_t0=new I,n.SolveRigidDamping_s_t1=new I,n.SolveRigidDamping_s_p=new I,n.SolveRigidDamping_s_v=new I,n.SolveExtraDamping_s_v=new I,n.SolveExtraDamping_s_f=new I,n.SolveRigid_s_position=new I,n.SolveRigid_s_rotation=new F,n.SolveRigid_s_transform=new V,n.SolveRigid_s_velocityTransform=new V,n.SolveElastic_s_pa=new I,n.SolveElastic_s_pb=new I,n.SolveElastic_s_pc=new I,n.SolveElastic_s_r=new F,n.SolveElastic_s_t0=new I,n.SolveSpring_s_pa=new I,n.SolveSpring_s_pb=new I,n.SolveSpring_s_d=new I,n.SolveSpring_s_f=new I,n.SolveTensile_s_weightedNormal=new I,n.SolveTensile_s_s=new I,n.SolveTensile_s_f=new I,n.SolveViscous_s_v=new I,n.SolveViscous_s_f=new I,n.SolveRepulsive_s_f=new I,n.SolvePowder_s_f=new I,n.SolveSolid_s_f=new I,n.RemoveSpuriousBodyContacts_s_n=new I,n.RemoveSpuriousBodyContacts_s_pos=new I,n.RemoveSpuriousBodyContacts_s_normal=new I,n})(),(function(e){e.UserOverridableBuffer=function(){this.data=null,this.userSuppliedCapacity=0};var n=(function(){function t(){this.index=u,this.tag=0}return t.CompareProxyProxy=function(t,e){return t.tag<e.tag},t.CompareTagProxy=function(t,e){return t<e.tag},t.CompareProxyTag=function(t,e){return t.tag<e},t})();e.Proxy=n;var r=(function(){function t(t,i,n,r,s){this.m_system=t,this.m_xLower=(i&e.xMask)>>>0,this.m_xUpper=(n&e.xMask)>>>0,this.m_yLower=(i&e.yMask)>>>0,this.m_yUpper=(n&e.yMask)>>>0,this.m_first=r,this.m_last=s}return t.prototype.GetNext=function(){for(;this.m_first<this.m_last;){var t=(this.m_system.m_proxyBuffer.data[this.m_first].tag&e.xMask)>>>0;if(t>=this.m_xLower&&t<=this.m_xUpper)return this.m_system.m_proxyBuffer.data[this.m_first++].index;this.m_first++}return u},t})();e.InsideBoundsEnumerator=r;e.ParticleListNode=function(){this.next=null,this.count=0,this.index=0};var s=(function(){function t(){}return t.prototype.Allocate=function(t,e){return e},t.prototype.Clear=function(){},t.prototype.GetCount=function(){return 0},t.prototype.Invalidate=function(){},t.prototype.GetValidBuffer=function(){return[]},t.prototype.GetBuffer=function(){return[]},t.prototype.SetCount=function(){},t})();e.FixedSetAllocator=s;e.FixtureParticle=function(t,e){this.second=u,this.first=t,this.second=e};var a=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ti(e,t),e.prototype.Initialize=function(){},e.prototype.Find=function(){return u},e})(e.FixedSetAllocator);e.FixtureParticleSet=a;e.ParticlePair=function(t,e){this.first=u,this.second=u,this.first=t,this.second=e};var o=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ti(e,t),e.prototype.Initialize=function(){},e.prototype.Find=function(){return u},e})(e.FixedSetAllocator);e.b2ParticlePairSet=o;var c=(function(){function t(){}return t.prototype.IsNecessary=function(){return!0},t.prototype.ShouldCreatePair=function(){return!0},t.prototype.ShouldCreateTriad=function(){return!0},t})();e.ConnectionFilter=c;var h=(function(t){function e(e,i,n,r){var s=t.call(this)||this;return s.m_callDestructionListener=!1,s.m_destroyed=0,s.m_system=e,s.m_shape=i,s.m_xf=n,s.m_callDestructionListener=r,s.m_destroyed=0,s}return ti(e,t),e.prototype.ReportFixture=function(){return!1},e.prototype.ReportParticle=function(t,e){if(t!==this.m_system)return!1;if(!this.m_system.m_positionBuffer.data)throw new Error;return this.m_shape.TestPoint(this.m_xf,this.m_system.m_positionBuffer.data[e])&&(this.m_system.DestroyParticle(e,this.m_callDestructionListener),this.m_destroyed++),!0},e.prototype.Destroyed=function(){return this.m_destroyed},e})(an);e.DestroyParticlesInShapeCallback=h;var _=(function(t){function e(e){var i=t.call(this)||this;return i.m_threshold=0,i.m_threshold=e,i}return ti(e,t),e.prototype.ShouldCreatePair=function(t,e){return t<this.m_threshold&&this.m_threshold<=e||e<this.m_threshold&&this.m_threshold<=t},e.prototype.ShouldCreateTriad=function(t,e,i){return(t<this.m_threshold||e<this.m_threshold||i<this.m_threshold)&&(this.m_threshold<=t||this.m_threshold<=e||this.m_threshold<=i)},e})(e.ConnectionFilter);e.JoinParticleGroupsFilter=_;var f=(function(e){function n(i,n){void 0===n&&(n=i.length);var r=e.call(this,t.b2ShapeType.e_unknown,0)||this;return r.m_shapeCount=0,r.m_shapes=i,r.m_shapeCount=n,r}return ti(n,e),n.prototype.Clone=function(){throw new Error},n.prototype.GetChildCount=function(){return 1},n.prototype.TestPoint=function(t,e){for(var i=0;i<this.m_shapeCount;i++)if(this.m_shapes[i].TestPoint(t,e))return!0;return!1},n.prototype.ComputeDistance=function(){return 0},n.prototype.RayCast=function(){return!1},n.prototype.ComputeAABB=function(t,e){var n=new Tt;t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i;for(var r=0;r<this.m_shapeCount;r++)for(var s=this.m_shapes[r].GetChildCount(),a=0;a<s;a++){var o=n;this.m_shapes[r].ComputeAABB(o,e,a),t.Combine1(o)}},n.prototype.ComputeMass=function(){},n.prototype.SetupDistanceProxy=function(){},n.prototype.ComputeSubmergedArea=function(){return 0},n.prototype.Dump=function(){},n})(Qe);e.CompositeShape=f;var d=(function(e){function i(t){var i=e.call(this)||this;return i.m_flagsBuffer=t,i}return ti(i,e),i.prototype.IsNecessary=function(e){if(!this.m_flagsBuffer.data)throw new Error;return 0!=(this.m_flagsBuffer.data[e]&t.b2ParticleFlag.b2_reactiveParticle)},i})(e.ConnectionFilter);e.ReactiveFilter=d;var p=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_contactFilter=e,n}return ti(n,i),n.prototype.ShouldCollideFixtureParticle=function(e,i,n){return!(this.m_contactFilter&&this.m_system.GetFlagsBuffer()[n]&t.b2ParticleFlag.b2_fixtureContactFilterParticle)||this.m_contactFilter.ShouldCollideFixtureParticle(e,this.m_system,n)},n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.UpdateBodyContactsCallback.ReportFixtureAndParticle_s_n,a=e.UpdateBodyContactsCallback.ReportFixtureAndParticle_s_rp;if(!this.m_system.m_flagsBuffer.data)throw new Error;if(!this.m_system.m_positionBuffer.data)throw new Error;var o=this.m_system.m_positionBuffer.data[r],l=s,c=i.ComputeDistance(o,l,n);if(c<this.m_system.m_particleDiameter&&this.ShouldCollideFixtureParticle(i,this.m_system,r)){var h=i.GetBody(),u=h.GetWorldCenter(),_=h.GetMass(),f=h.GetInertia()-_*h.GetLocalCenter().LengthSquared(),d=_>0?1/_:0,p=f>0?1/f:0,m=this.m_system.m_flagsBuffer.data[r]&t.b2ParticleFlag.b2_wallParticle?0:this.m_system.GetParticleInvMass(),y=I.SubVV(o,u,a),v=I.CrossVV(y,l),g=m+d+p*v*v,b=this.m_system.m_bodyContactBuffer.data[this.m_system.m_bodyContactBuffer.Append()];b.index=r,b.body=h,b.fixture=i,b.weight=1-c*this.m_system.m_inverseDiameter,b.normal.Copy(l.SelfNeg()),b.mass=g>0?1/g:0,this.m_system.DetectStuckParticle(r)}},n.ReportFixtureAndParticle_s_n=new I,n.ReportFixtureAndParticle_s_rp=new I,n})(kn);e.UpdateBodyContactsCallback=p;var m=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_step=e,n}return ti(n,i),n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p1,a=e.SolveCollisionCallback.ReportFixtureAndParticle_s_output,o=e.SolveCollisionCallback.ReportFixtureAndParticle_s_input,c=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p,h=e.SolveCollisionCallback.ReportFixtureAndParticle_s_v,u=e.SolveCollisionCallback.ReportFixtureAndParticle_s_f,_=i.GetBody();if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var f=this.m_system.m_positionBuffer.data[r],d=this.m_system.m_velocityBuffer.data[r],p=a,m=o;if(0===this.m_system.m_iterationIndex){var y=V.MulTXV(_.m_xf0,f,s);i.GetShape().GetType()===t.b2ShapeType.e_circleShape&&(y.SelfSub(_.GetLocalCenter()),F.MulRV(_.m_xf0.q,y,y),F.MulTRV(_.m_xf.q,y,y),y.SelfAdd(_.GetLocalCenter())),V.MulXV(_.m_xf,y,m.p1)}else m.p1.Copy(f);if(I.AddVMulSV(f,this.m_step.dt,d,m.p2),m.maxFraction=1,i.RayCast(p,m,n)){var v=p.normal,g=c;g.x=(1-p.fraction)*m.p1.x+p.fraction*m.p2.x+l*v.x,g.y=(1-p.fraction)*m.p1.y+p.fraction*m.p2.y+l*v.y;var b=h;b.x=this.m_step.inv_dt*(g.x-f.x),b.y=this.m_step.inv_dt*(g.y-f.y),this.m_system.m_velocityBuffer.data[r].Copy(b);var A=u;A.x=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.x-b.x),A.y=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.y-b.y),this.m_system.ParticleApplyForce(r,A)}},n.prototype.ReportParticle=function(){return!1},n.ReportFixtureAndParticle_s_p1=new I,n.ReportFixtureAndParticle_s_output=new Ct,n.ReportFixtureAndParticle_s_input=new xt,n.ReportFixtureAndParticle_s_p=new I,n.ReportFixtureAndParticle_s_v=new I,n.ReportFixtureAndParticle_s_f=new I,n})(kn);e.SolveCollisionCallback=m})(t.b2ParticleSystem||(t.b2ParticleSystem={}));var Wn=(function(){function e(t){this.m_newFixture=!1,this.m_locked=!1,this.m_clearForces=!0,this.m_contactManager=new ln,this.m_bodyList=null,this.m_jointList=null,this.m_particleSystemList=null,this.m_bodyCount=0,this.m_jointCount=0,this.m_gravity=new I,this.m_allowSleep=!0,this.m_destructionListener=null,this.m_debugDraw=null,this.m_inv_dt0=0,this.m_warmStarting=!0,this.m_continuousPhysics=!0,this.m_subStepping=!1,this.m_stepComplete=!0,this.m_profile=new cn,this.m_island=new bn,this.s_stack=[],this.m_controllerList=null,this.m_controllerCount=0,this.m_gravity.Copy(t)}return e.prototype.SetDestructionListener=function(t){this.m_destructionListener=t},e.prototype.SetContactFilter=function(t){this.m_contactManager.m_contactFilter=t},e.prototype.SetContactListener=function(t){this.m_contactManager.m_contactListener=t},e.prototype.SetDebugDraw=function(t){this.m_debugDraw=t},e.prototype.CreateBody=function(t){if(void 0===t&&(t={}),this.IsLocked())throw new Error;var e=new _i(t,this);return e.m_prev=null,e.m_next=this.m_bodyList,this.m_bodyList&&(this.m_bodyList.m_prev=e),this.m_bodyList=e,++this.m_bodyCount,e},e.prototype.DestroyBody=function(t){if(this.IsLocked())throw new Error;for(var e=t.m_jointList;e;){var i=e;e=e.next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeJoint(i.joint),this.DestroyJoint(i.joint),t.m_jointList=e}t.m_jointList=null;for(var n=t.m_controllerList;n;){var r=n;n=n.nextController,r.controller.RemoveBody(t)}for(var s=t.m_contactList;s;){var a=s;s=s.next,this.m_contactManager.Destroy(a.contact)}t.m_contactList=null;for(var o=t.m_fixtureList;o;){var l=o;o=o.m_next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeFixture(l),l.DestroyProxies(),l.Destroy(),t.m_fixtureList=o,t.m_fixtureCount-=1}t.m_fixtureList=null,t.m_fixtureCount=0,t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_bodyList&&(this.m_bodyList=t.m_next),--this.m_bodyCount},e._Joint_Create=function(e){switch(e.type){case t.b2JointType.e_distanceJoint:return new vi(e);case t.b2JointType.e_mouseJoint:return new Mi(e);case t.b2JointType.e_prismaticJoint:return new Bi(e);case t.b2JointType.e_revoluteJoint:return new Oi(e);case t.b2JointType.e_pulleyJoint:return new Pi(e);case t.b2JointType.e_gearJoint:return new Ti(e);case t.b2JointType.e_wheelJoint:return new zi(e);case t.b2JointType.e_weldJoint:return new Ni(e);case t.b2JointType.e_frictionJoint:return new xi(e);case t.b2JointType.e_ropeJoint:return new Fi(e);case t.b2JointType.e_motorJoint:return new wi(e);case t.b2JointType.e_areaJoint:return new bi(e)}throw new Error},e._Joint_Destroy=function(){},e.prototype.CreateJoint=function(t){if(this.IsLocked())throw new Error;var i=e._Joint_Create(t,null);i.m_prev=null,i.m_next=this.m_jointList,this.m_jointList&&(this.m_jointList.m_prev=i),this.m_jointList=i,++this.m_jointCount,i.m_edgeA.prev=null,i.m_edgeA.next=i.m_bodyA.m_jointList,i.m_bodyA.m_jointList&&(i.m_bodyA.m_jointList.prev=i.m_edgeA),i.m_bodyA.m_jointList=i.m_edgeA,i.m_edgeB.prev=null,i.m_edgeB.next=i.m_bodyB.m_jointList,i.m_bodyB.m_jointList&&(i.m_bodyB.m_jointList.prev=i.m_edgeB),i.m_bodyB.m_jointList=i.m_edgeB;var n=t.bodyA,r=t.bodyB;if(!t.collideConnected)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next;return i},e.prototype.DestroyJoint=function(t){if(this.IsLocked())throw new Error;var i=t.m_collideConnected;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_jointList&&(this.m_jointList=t.m_next);var n=t.m_bodyA,r=t.m_bodyB;if(n.SetAwake(!0),r.SetAwake(!0),t.m_edgeA.prev&&(t.m_edgeA.prev.next=t.m_edgeA.next),t.m_edgeA.next&&(t.m_edgeA.next.prev=t.m_edgeA.prev),t.m_edgeA===n.m_jointList&&(n.m_jointList=t.m_edgeA.next),t.m_edgeA.prev=null,t.m_edgeA.next=null,t.m_edgeB.prev&&(t.m_edgeB.prev.next=t.m_edgeB.next),t.m_edgeB.next&&(t.m_edgeB.next.prev=t.m_edgeB.prev),t.m_edgeB===r.m_jointList&&(r.m_jointList=t.m_edgeB.next),t.m_edgeB.prev=null,t.m_edgeB.next=null,e._Joint_Destroy(t,null),--this.m_jointCount,!i)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next},e.prototype.CreateParticleSystem=function(e){if(this.IsLocked())throw new Error;var i=new t.b2ParticleSystem(e,this);return i.m_prev=null,i.m_next=this.m_particleSystemList,this.m_particleSystemList&&(this.m_particleSystemList.m_prev=i),this.m_particleSystemList=i,i},e.prototype.DestroyParticleSystem=function(t){if(this.IsLocked())throw new Error;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_particleSystemList&&(this.m_particleSystemList=t.m_next)},e.prototype.CalculateReasonableParticleIterations=function(t){return null===this.m_particleSystemList?1:xn(this.m_gravity.Length(),(function(t){for(var e=i,n=t.GetParticleSystemList();null!==n;n=n.m_next)e=y(e,n.GetRadius());return e})(this),t)},e.prototype.Step=function(t,i,n,r){void 0===r&&(r=this.CalculateReasonableParticleIterations(t));var s=e.Step_s_stepTimer.Reset();this.m_newFixture&&(this.m_contactManager.FindNewContacts(),this.m_newFixture=!1),this.m_locked=!0;var a=e.Step_s_step;a.dt=t,a.velocityIterations=i,a.positionIterations=n,a.particleIterations=r,a.inv_dt=t>0?1/t:0,a.dtRatio=this.m_inv_dt0*t,a.warmStarting=this.m_warmStarting;var o=e.Step_s_timer.Reset();if(this.m_contactManager.Collide(),this.m_profile.collide=o.GetMilliseconds(),this.m_stepComplete&&a.dt>0){for(var l=e.Step_s_timer.Reset(),c=this.m_particleSystemList;c;c=c.m_next)c.Solve(a);this.Solve(a),this.m_profile.solve=l.GetMilliseconds()}if(this.m_continuousPhysics&&a.dt>0){var h=e.Step_s_timer.Reset();this.SolveTOI(a),this.m_profile.solveTOI=h.GetMilliseconds()}a.dt>0&&(this.m_inv_dt0=a.inv_dt),this.m_clearForces&&this.ClearForces(),this.m_locked=!1,this.m_profile.step=s.GetMilliseconds()},e.prototype.ClearForces=function(){for(var t=this.m_bodyList;t;t=t.m_next)t.m_force.SetZero(),t.m_torque=0},e.prototype.DrawParticleSystem=function(t){if(null!==this.m_debugDraw){var e=t.GetParticleCount();if(e){var i=t.GetRadius(),n=t.GetPositionBuffer();if(t.m_colorBuffer.data){var r=t.GetColorBuffer();this.m_debugDraw.DrawParticles(n,i,r,e)}else this.m_debugDraw.DrawParticles(n,i,null,e)}}},e.prototype.DrawDebugData=function(){if(null!==this.m_debugDraw){var i=this.m_debugDraw.GetFlags(),n=e.DrawDebugData_s_color.SetRGB(0,0,0);if(i&t.b2DrawFlags.e_shapeBit)for(var r=this.m_bodyList;r;r=r.m_next){var s=r.m_xf;this.m_debugDraw.PushTransform(s);for(var a=r.GetFixtureList();a;a=a.m_next)r.IsActive()?r.GetType()===t.b2BodyType.b2_staticBody?(n.SetRGB(.5,.9,.5),this.DrawShape(a,n)):r.GetType()===t.b2BodyType.b2_kinematicBody?(n.SetRGB(.5,.5,.9),this.DrawShape(a,n)):r.IsAwake()?(n.SetRGB(.9,.7,.7),this.DrawShape(a,n)):(n.SetRGB(.6,.6,.6),this.DrawShape(a,n)):(n.SetRGB(.5,.5,.3),this.DrawShape(a,n));this.m_debugDraw.PopTransform(s)}if(i&t.b2DrawFlags.e_particleBit)for(var o=this.m_particleSystemList;o;o=o.m_next)this.DrawParticleSystem(o);if(i&t.b2DrawFlags.e_jointBit)for(var l=this.m_jointList;l;l=l.m_next)this.DrawJoint(l);if(i&t.b2DrawFlags.e_aabbBit){n.SetRGB(.9,.3,.9);var c=e.DrawDebugData_s_vs;for(r=this.m_bodyList;r;r=r.m_next)if(r.IsActive())for(a=r.GetFixtureList();a;a=a.m_next)for(var h=0;h<a.m_proxyCount;++h){var u=a.m_proxies[h].treeNode.aabb;c[0].Set(u.lowerBound.x,u.lowerBound.y),c[1].Set(u.upperBound.x,u.lowerBound.y),c[2].Set(u.upperBound.x,u.upperBound.y),c[3].Set(u.lowerBound.x,u.upperBound.y),this.m_debugDraw.DrawPolygon(c,4,n)}}if(i&t.b2DrawFlags.e_centerOfMassBit)for(r=this.m_bodyList;r;r=r.m_next)(s=e.DrawDebugData_s_xf).q.Copy(r.m_xf.q),s.p.Copy(r.GetWorldCenter()),this.m_debugDraw.DrawTransform(s);if(i&t.b2DrawFlags.e_controllerBit)for(var _=this.m_controllerList;_;_=_.m_next)_.Draw(this.m_debugDraw)}},e.prototype.QueryAABB=function(t,e,i){if(this.m_contactManager.m_broadPhase.Query(e,(function(e){var n=e.userData.fixture;return t?t.ReportFixture(n):!i||i(n)})),t instanceof an)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryAABB(t,e)},e.prototype.QueryAllAABB=function(t,e){return void 0===e&&(e=[]),this.QueryAABB(null,t,(function(t){return e.push(t),!0})),e},e.prototype.QueryPointAABB=function(t,e,i){if(this.m_contactManager.m_broadPhase.QueryPoint(e,(function(e){var n=e.userData.fixture;return t?t.ReportFixture(n):!i||i(n)})),t instanceof an)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryPointAABB(t,e)},e.prototype.QueryAllPointAABB=function(t,e){return void 0===e&&(e=[]),this.QueryPointAABB(null,t,(function(t){return e.push(t),!0})),e},e.prototype.QueryFixtureShape=function(t,i,n,r,s){var a=e.QueryFixtureShape_s_aabb;if(i.ComputeAABB(a,r,n),this.m_contactManager.m_broadPhase.Query(a,(function(e){var a=e.userData,o=a.fixture;if(Bt(i,n,o.GetShape(),a.childIndex,r,o.GetBody().GetTransform())){if(t)return t.ReportFixture(o);if(s)return s(o)}return!0})),t instanceof an)for(var o=this.m_particleSystemList;o;o=o.m_next)t.ShouldQueryParticleSystem(o)&&o.QueryAABB(t,a)},e.prototype.QueryAllFixtureShape=function(t,e,i,n){return void 0===n&&(n=[]),this.QueryFixtureShape(null,t,e,i,(function(t){return n.push(t),!0})),n},e.prototype.QueryFixturePoint=function(t,e,i){if(this.m_contactManager.m_broadPhase.QueryPoint(e,(function(n){var r=n.userData.fixture;if(r.TestPoint(e)){if(t)return t.ReportFixture(r);if(i)return i(r)}return!0})),t)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryPointAABB(t,e)},e.prototype.QueryAllFixturePoint=function(t,e){return void 0===e&&(e=[]),this.QueryFixturePoint(null,t,(function(t){return e.push(t),!0})),e},e.prototype.RayCast=function(t,i,n,r){var s=e.RayCast_s_input;if(s.maxFraction=1,s.p1.Copy(i),s.p2.Copy(n),this.m_contactManager.m_broadPhase.RayCast(s,(function(s,a){var o=a.userData,l=o.fixture,c=o.childIndex,h=e.RayCast_s_output;if(l.RayCast(h,s,c)){var u=h.fraction,_=e.RayCast_s_point;if(_.Set((1-u)*i.x+u*n.x,(1-u)*i.y+u*n.y),t)return t.ReportFixture(l,_,h.normal,u);if(r)return r(l,_,h.normal,u)}return s.maxFraction})),t)for(var a=this.m_particleSystemList;a;a=a.m_next)t.ShouldQueryParticleSystem(a)&&a.RayCast(t,i,n)},e.prototype.RayCastOne=function(t,e){var i=null,n=1;return this.RayCast(null,t,e,(function(t,e,r,s){return s<n&&(n=s,i=t),n})),i},e.prototype.RayCastAll=function(t,e,i){return void 0===i&&(i=[]),this.RayCast(null,t,e,(function(t){return i.push(t),1})),i},e.prototype.GetBodyList=function(){return this.m_bodyList},e.prototype.GetJointList=function(){return this.m_jointList},e.prototype.GetParticleSystemList=function(){return this.m_particleSystemList},e.prototype.GetContactList=function(){return this.m_contactManager.m_contactList},e.prototype.SetAllowSleeping=function(t){if(t!==this.m_allowSleep&&(this.m_allowSleep=t,!this.m_allowSleep))for(var e=this.m_bodyList;e;e=e.m_next)e.SetAwake(!0)},e.prototype.GetAllowSleeping=function(){return this.m_allowSleep},e.prototype.SetWarmStarting=function(t){this.m_warmStarting=t},e.prototype.GetWarmStarting=function(){return this.m_warmStarting},e.prototype.SetContinuousPhysics=function(t){this.m_continuousPhysics=t},e.prototype.GetContinuousPhysics=function(){return this.m_continuousPhysics},e.prototype.SetSubStepping=function(t){this.m_subStepping=t},e.prototype.GetSubStepping=function(){return this.m_subStepping},e.prototype.GetProxyCount=function(){return this.m_contactManager.m_broadPhase.GetProxyCount()},e.prototype.GetBodyCount=function(){return this.m_bodyCount},e.prototype.GetJointCount=function(){return this.m_jointCount},e.prototype.GetContactCount=function(){return this.m_contactManager.m_contactCount},e.prototype.GetTreeHeight=function(){return this.m_contactManager.m_broadPhase.GetTreeHeight()},e.prototype.GetTreeBalance=function(){return this.m_contactManager.m_broadPhase.GetTreeBalance()},e.prototype.GetTreeQuality=function(){return this.m_contactManager.m_broadPhase.GetTreeQuality()},e.prototype.SetGravity=function(t,e){if(void 0===e&&(e=!0),!I.IsEqualToV(this.m_gravity,t)&&(this.m_gravity.Copy(t),e))for(var i=this.m_bodyList;i;i=i.m_next)i.SetAwake(!0)},e.prototype.GetGravity=function(){return this.m_gravity},e.prototype.IsLocked=function(){return this.m_locked},e.prototype.SetAutoClearForces=function(t){this.m_clearForces=t},e.prototype.GetAutoClearForces=function(){return this.m_clearForces},e.prototype.ShiftOrigin=function(t){if(this.IsLocked())throw new Error;for(var e=this.m_bodyList;e;e=e.m_next)e.m_xf.p.SelfSub(t),e.m_sweep.c0.SelfSub(t),e.m_sweep.c.SelfSub(t);for(var i=this.m_jointList;i;i=i.m_next)i.ShiftOrigin(t);this.m_contactManager.m_broadPhase.ShiftOrigin(t)},e.prototype.GetContactManager=function(){return this.m_contactManager},e.prototype.GetProfile=function(){return this.m_profile},e.prototype.Dump=function(e){if(!this.m_locked){e("const g: b2Vec2 = new b2Vec2(%.15f, %.15f);\n",this.m_gravity.x,this.m_gravity.y),e("this.m_world.SetGravity(g);\n"),e("const bodies: b2Body[] = [];\n"),e("const joints: b2Joint[] = [];\n");for(var i=0,n=this.m_bodyList;n;n=n.m_next)n.m_islandIndex=i,n.Dump(e),++i;i=0;for(var r=this.m_jointList;r;r=r.m_next)r.m_index=i,++i;for(r=this.m_jointList;r;r=r.m_next)r.m_type!==t.b2JointType.e_gearJoint&&(e("{\n"),r.Dump(e),e("}\n"));for(r=this.m_jointList;r;r=r.m_next)r.m_type===t.b2JointType.e_gearJoint&&(e("{\n"),r.Dump(e),e("}\n"))}},e.prototype.DrawJoint=function(i){if(null!==this.m_debugDraw){var n=i.GetBodyA(),r=i.GetBodyB(),s=n.m_xf,a=r.m_xf,o=s.p,l=a.p,c=i.GetAnchorA(e.DrawJoint_s_p1),h=i.GetAnchorB(e.DrawJoint_s_p2),u=e.DrawJoint_s_color.SetRGB(.5,.8,.8);switch(i.m_type){case t.b2JointType.e_distanceJoint:this.m_debugDraw.DrawSegment(c,h,u);break;case t.b2JointType.e_pulleyJoint:var _=i,f=_.GetGroundAnchorA(),d=_.GetGroundAnchorB();this.m_debugDraw.DrawSegment(f,c,u),this.m_debugDraw.DrawSegment(d,h,u),this.m_debugDraw.DrawSegment(f,d,u);break;case t.b2JointType.e_mouseJoint:var p=e.DrawJoint_s_c;p.Set(0,1,0),this.m_debugDraw.DrawPoint(c,4,p),this.m_debugDraw.DrawPoint(h,4,p),p.Set(.8,.8,.8),this.m_debugDraw.DrawSegment(c,h,p);break;default:this.m_debugDraw.DrawSegment(o,c,u),this.m_debugDraw.DrawSegment(c,h,u),this.m_debugDraw.DrawSegment(l,h,u)}}},e.prototype.DrawShape=function(i,n){if(null!==this.m_debugDraw){var r=i.GetShape();switch(r.m_type){case t.b2ShapeType.e_circleShape:var s=r,a=s.m_p,o=s.m_radius,l=I.UNITX;this.m_debugDraw.DrawSolidCircle(a,o,l,n);break;case t.b2ShapeType.e_edgeShape:var c=r,h=c.m_vertex1,u=c.m_vertex2;this.m_debugDraw.DrawSegment(h,u,n);break;case t.b2ShapeType.e_chainShape:var _=r,f=_.m_count,d=_.m_vertices,p=e.DrawShape_s_ghostColor.SetRGBA(.75*n.r,.75*n.g,.75*n.b,n.a);if(h=d[0],this.m_debugDraw.DrawPoint(h,4,n),_.m_hasPrevVertex){var m=_.m_prevVertex;this.m_debugDraw.DrawSegment(m,h,p),this.m_debugDraw.DrawCircle(m,.1,p)}for(var y=1;y<f;++y)u=d[y],this.m_debugDraw.DrawSegment(h,u,n),this.m_debugDraw.DrawPoint(u,4,n),h=u;if(_.m_hasNextVertex){var v=_.m_nextVertex;this.m_debugDraw.DrawSegment(v,h,p),this.m_debugDraw.DrawCircle(v,.1,p)}break;case t.b2ShapeType.e_polygonShape:var g=r,b=g.m_count;d=g.m_vertices,this.m_debugDraw.DrawSolidPolygon(d,b,n)}}},e.prototype.Solve=function(e){for(var i=this.m_bodyList;i;i=i.m_next)i.m_xf0.Copy(i.m_xf);for(var n=this.m_controllerList;n;n=n.m_next)n.Step(e);this.m_profile.solveInit=0,this.m_profile.solveVelocity=0,this.m_profile.solvePosition=0;var r=this.m_island;for(r.Initialize(this.m_bodyCount,this.m_contactManager.m_contactCount,this.m_jointCount,null,this.m_contactManager.m_contactListener),i=this.m_bodyList;i;i=i.m_next)i.m_islandFlag=!1;for(var s=this.m_contactManager.m_contactList;s;s=s.m_next)s.m_islandFlag=!1;for(var a=this.m_jointList;a;a=a.m_next)a.m_islandFlag=!1;for(var o=this.s_stack,l=this.m_bodyList;l;l=l.m_next)if(!l.m_islandFlag&&l.IsAwake()&&l.IsActive()&&l.GetType()!==t.b2BodyType.b2_staticBody){r.Clear();var c=0;for(o[c++]=l,l.m_islandFlag=!0;c>0;){if(!(i=o[--c]))throw new Error;if(r.AddBody(i),i.m_awakeFlag=!0,i.GetType()!==t.b2BodyType.b2_staticBody){for(var h=i.m_contactList;h;h=h.next){var u=h.contact;if(!u.m_islandFlag&&u.IsEnabled()&&u.IsTouching()){var _=u.m_fixtureA.m_isSensor,f=u.m_fixtureB.m_isSensor;if(!_&&!f){if(r.AddContact(u),u.m_islandFlag=!0,!(p=h.other))throw new Error;p.m_islandFlag||(o[c++]=p,p.m_islandFlag=!0)}}}for(var d=i.m_jointList;d;d=d.next){var p;d.joint.m_islandFlag||(p=d.other).IsActive()&&(r.AddJoint(d.joint),d.joint.m_islandFlag=!0,p.m_islandFlag||(o[c++]=p,p.m_islandFlag=!0))}}}var m=new cn;r.Solve(m,e,this.m_gravity,this.m_allowSleep),this.m_profile.solveInit+=m.solveInit,this.m_profile.solveVelocity+=m.solveVelocity,this.m_profile.solvePosition+=m.solvePosition;for(var y=0;y<r.m_bodyCount;++y)(i=r.m_bodies[y]).GetType()===t.b2BodyType.b2_staticBody&&(i.m_islandFlag=!1)}for(y=0;y<o.length&&o[y];++y)o[y]=null;var v=new G;for(i=this.m_bodyList;i;i=i.m_next)i.m_islandFlag&&i.GetType()!==t.b2BodyType.b2_staticBody&&i.SynchronizeFixtures();this.m_contactManager.FindNewContacts(),this.m_profile.broadphase=v.GetMilliseconds()},e.prototype.SolveTOI=function(i){var r=this.m_island;if(r.Initialize(64,32,0,null,this.m_contactManager.m_contactListener),this.m_stepComplete){for(var s=this.m_bodyList;s;s=s.m_next)s.m_islandFlag=!1,s.m_sweep.alpha0=0;for(var a=this.m_contactManager.m_contactList;a;a=a.m_next)a.m_toiFlag=!1,a.m_islandFlag=!1,a.m_toiCount=0,a.m_toi=1}for(;;){var o=null,l=1;for(a=this.m_contactManager.m_contactList;a;a=a.m_next)if(a.IsEnabled()&&!(a.m_toiCount>8)){var c=1;if(a.m_toiFlag)c=a.m_toi;else{var h=a.GetFixtureA(),u=a.GetFixtureB();if(h.IsSensor()||u.IsSensor())continue;var _=h.GetBody(),f=u.GetBody(),d=_.m_type,p=f.m_type,m=_.IsAwake()&&d!==t.b2BodyType.b2_staticBody,v=f.IsAwake()&&p!==t.b2BodyType.b2_staticBody;if(!m&&!v)continue;var g=_.IsBullet()||d!==t.b2BodyType.b2_dynamicBody,b=f.IsBullet()||p!==t.b2BodyType.b2_dynamicBody;if(!g&&!b)continue;var A=_.m_sweep.alpha0;_.m_sweep.alpha0<f.m_sweep.alpha0?(A=f.m_sweep.alpha0,_.m_sweep.Advance(A)):f.m_sweep.alpha0<_.m_sweep.alpha0&&(A=_.m_sweep.alpha0,f.m_sweep.Advance(A));var x=a.GetChildIndexA(),C=a.GetChildIndexB(),T=e.SolveTOI_s_toi_input;T.proxyA.SetShape(h.GetShape(),x),T.proxyB.SetShape(u.GetShape(),C),T.sweepA.Copy(_.m_sweep),T.sweepB.Copy(f.m_sweep),T.tMax=1;var S=e.SolveTOI_s_toi_output;re(S,T);var w=S.t;c=S.state===t.b2TOIOutputState.e_touching?y(A+(1-A)*w,1):1,a.m_toi=c,a.m_toiFlag=!0}c<l&&(o=a,l=c)}if(null===o||1-10*n<l){this.m_stepComplete=!0;break}var E=o.GetFixtureA(),M=o.GetFixtureB(),D=E.GetBody(),B=M.GetBody(),I=e.SolveTOI_s_backup1.Copy(D.m_sweep),P=e.SolveTOI_s_backup2.Copy(B.m_sweep);if(D.Advance(l),B.Advance(l),o.Update(this.m_contactManager.m_contactListener),o.m_toiFlag=!1,++o.m_toiCount,o.IsEnabled()&&o.IsTouching()){D.SetAwake(!0),B.SetAwake(!0),r.Clear(),r.AddBody(D),r.AddBody(B),r.AddContact(o),D.m_islandFlag=!0,B.m_islandFlag=!0,o.m_islandFlag=!0;for(var R=0;R<2;++R)if((G=0===R?D:B).m_type===t.b2BodyType.b2_dynamicBody)for(var O=G.m_contactList;O&&r.m_bodyCount!==r.m_bodyCapacity&&r.m_contactCount!==r.m_contactCapacity;O=O.next){var L=O.contact;if(!L.m_islandFlag){var F=O.other;if(F.m_type!==t.b2BodyType.b2_dynamicBody||G.IsBullet()||F.IsBullet()){var V=L.m_fixtureA.m_isSensor,N=L.m_fixtureB.m_isSensor;if(!V&&!N){var k=e.SolveTOI_s_backup.Copy(F.m_sweep);F.m_islandFlag||F.Advance(l),L.Update(this.m_contactManager.m_contactListener),L.IsEnabled()&&L.IsTouching()?(L.m_islandFlag=!0,r.AddContact(L),F.m_islandFlag||(F.m_islandFlag=!0,F.m_type!==t.b2BodyType.b2_staticBody&&F.SetAwake(!0),r.AddBody(F))):(F.m_sweep.Copy(k),F.SynchronizeTransform())}}}}var z=e.SolveTOI_s_subStep;for(z.dt=(1-l)*i.dt,z.inv_dt=1/z.dt,z.dtRatio=1,z.positionIterations=20,z.velocityIterations=i.velocityIterations,z.particleIterations=i.particleIterations,z.warmStarting=!1,r.SolveTOI(z,D.m_islandIndex,B.m_islandIndex),R=0;R<r.m_bodyCount;++R){var G;if((G=r.m_bodies[R]).m_islandFlag=!1,G.m_type===t.b2BodyType.b2_dynamicBody)for(G.SynchronizeFixtures(),O=G.m_contactList;O;O=O.next)O.contact.m_toiFlag=!1,O.contact.m_islandFlag=!1}if(this.m_contactManager.FindNewContacts(),this.m_subStepping){this.m_stepComplete=!1;break}}else o.SetEnabled(!1),D.m_sweep.Copy(I),B.m_sweep.Copy(P),D.SynchronizeTransform(),B.SynchronizeTransform()}},e.prototype.AddController=function(t){return t.m_next=this.m_controllerList,t.m_prev=null,this.m_controllerList&&(this.m_controllerList.m_prev=t),this.m_controllerList=t,++this.m_controllerCount,t},e.prototype.RemoveController=function(t){return t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),this.m_controllerList===t&&(this.m_controllerList=t.m_next),--this.m_controllerCount,t.m_prev=null,t.m_next=null,t},e.Step_s_step=new hn,e.Step_s_stepTimer=new G,e.Step_s_timer=new G,e.DrawDebugData_s_color=new k(0,0,0),e.DrawDebugData_s_vs=I.MakeArray(4),e.DrawDebugData_s_xf=new V,e.QueryFixtureShape_s_aabb=new Tt,e.RayCast_s_input=new xt,e.RayCast_s_output=new Ct,e.RayCast_s_point=new I,e.DrawJoint_s_p1=new I,e.DrawJoint_s_p2=new I,e.DrawJoint_s_color=new k(.5,.8,.8),e.DrawJoint_s_c=new k,e.DrawShape_s_ghostColor=new k,e.SolveTOI_s_subStep=new hn,e.SolveTOI_s_backup=new N,e.SolveTOI_s_backup1=new N,e.SolveTOI_s_backup2=new N,e.SolveTOI_s_toi_input=new Wt,e.SolveTOI_s_toi_output=new Yt,e})(),Xn=function(t,e){this.prevBody=null,this.nextBody=null,this.prevController=null,this.nextController=null,this.controller=t,this.body=e},Yn=(function(){function t(){this.m_bodyList=null,this.m_bodyCount=0,this.m_prev=null,this.m_next=null}return t.prototype.GetNext=function(){return this.m_next},t.prototype.GetPrev=function(){return this.m_prev},t.prototype.GetBodyList=function(){return this.m_bodyList},t.prototype.AddBody=function(t){var e=new Xn(this,t);e.nextBody=this.m_bodyList,e.prevBody=null,this.m_bodyList&&(this.m_bodyList.prevBody=e),this.m_bodyList=e,++this.m_bodyCount,e.nextController=t.m_controllerList,e.prevController=null,t.m_controllerList&&(t.m_controllerList.prevController=e),t.m_controllerList=e,++t.m_controllerCount},t.prototype.RemoveBody=function(t){if(this.m_bodyCount<=0)throw new Error;for(var e=this.m_bodyList;e&&e.body!==t;)e=e.nextBody;if(null===e)throw new Error;e.prevBody&&(e.prevBody.nextBody=e.nextBody),e.nextBody&&(e.nextBody.prevBody=e.prevBody),this.m_bodyList===e&&(this.m_bodyList=e.nextBody),--this.m_bodyCount,e.nextController&&(e.nextController.prevController=e.prevController),e.prevController&&(e.prevController.nextController=e.nextController),t.m_controllerList===e&&(t.m_controllerList=e.nextController),--t.m_controllerCount},t.prototype.Clear=function(){for(;this.m_bodyList;)this.RemoveBody(this.m_bodyList.body);this.m_bodyCount=0},t})(),qn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.normal=new I(0,1),e.offset=0,e.density=0,e.velocity=new I(0,0),e.linearDrag=0,e.angularDrag=0,e.useDensity=!1,e.useWorldGravity=!0,e.gravity=new I(0,0),e}return ti(e,t),e.prototype.Step=function(){if(this.m_bodyList){this.useWorldGravity&&this.gravity.Copy(this.m_bodyList.body.GetWorld().GetGravity());for(var t=this.m_bodyList;t;t=t.nextBody){var e=t.body;if(e.IsAwake()){for(var i=new I,r=new I,s=0,a=0,o=e.GetFixtureList();o;o=o.m_next){var l=new I,c=o.GetShape().ComputeSubmergedArea(this.normal,this.offset,e.GetTransform(),l);s+=c,i.x+=c*l.x,i.y+=c*l.y;var h;a+=c*(h=this.useDensity?o.GetDensity():1),r.x+=c*l.x*h,r.y+=c*l.y*h}if(i.x/=s,i.y/=s,r.x/=a,r.y/=a,!(s<n)){var u=this.gravity.Clone().SelfNeg();u.SelfMul(this.density*s),e.ApplyForce(u,r);var _=e.GetLinearVelocityFromWorldPoint(i,new I);_.SelfSub(this.velocity),_.SelfMul(-this.linearDrag*s),e.ApplyForce(_,i),e.ApplyTorque(-e.GetInertia()/e.GetMass()*s*e.GetAngularVelocity()*this.angularDrag)}}}}},e.prototype.Draw=function(t){var e=100,i=new I,n=new I;i.x=this.normal.x*this.offset+this.normal.y*e,i.y=this.normal.y*this.offset-this.normal.x*e,n.x=this.normal.x*this.offset-this.normal.y*e,n.y=this.normal.y*this.offset+this.normal.x*e;var r=new k(0,0,.8);t.DrawSegment(i,n,r)},e})(Yn),Jn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.A=new I(0,0),e}return ti(e,t),e.prototype.Step=function(t){for(var i=I.MulSV(t.dt,this.A,e.Step_s_dtA),n=this.m_bodyList;n;n=n.nextBody){var r=n.body;r.IsAwake()&&r.SetLinearVelocity(I.AddVV(r.GetLinearVelocity(),i,I.s_t0))}},e.prototype.Draw=function(){},e.Step_s_dtA=new I,e})(Yn),Zn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.F=new I(0,0),e}return ti(e,t),e.prototype.Step=function(){for(var t=this.m_bodyList;t;t=t.nextBody){var e=t.body;e.IsAwake()&&e.ApplyForce(this.F,e.GetWorldCenter())}},e.prototype.Draw=function(){},e})(Yn),Kn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.G=1,e.invSqr=!0,e}return ti(e,t),e.prototype.Step=function(){if(this.invSqr)for(var t=this.m_bodyList;t;t=t.nextBody)for(var i=(l=t.body).GetWorldCenter(),r=l.GetMass(),s=this.m_bodyList;s&&s!==t;s=s.nextBody){var a=(c=s.body).GetWorldCenter(),o=c.GetMass();(_=(h=a.x-i.x)*h+(u=a.y-i.y)*u)<n||((f=e.Step_s_f.Set(h,u)).SelfMul(this.G/_/T(_)*r*o),l.IsAwake()&&l.ApplyForce(f,i),c.IsAwake()&&c.ApplyForce(f.SelfMul(-1),a))}else for(t=this.m_bodyList;t;t=t.nextBody){var l;for(i=(l=t.body).GetWorldCenter(),r=l.GetMass(),s=this.m_bodyList;s&&s!==t;s=s.nextBody){var c,h,u,_,f;a=(c=s.body).GetWorldCenter(),o=c.GetMass(),(_=(h=a.x-i.x)*h+(u=a.y-i.y)*u)<n||((f=e.Step_s_f.Set(h,u)).SelfMul(this.G/_*r*o),l.IsAwake()&&l.ApplyForce(f,i),c.IsAwake()&&c.ApplyForce(f.SelfMul(-1),a))}}},e.prototype.Draw=function(){},e.Step_s_f=new I,e})(Yn),Qn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.T=new O,e.maxTimestep=0,e}return ti(e,t),e.prototype.Step=function(t){var i=t.dt;if(!(i<=n)){i>this.maxTimestep&&this.maxTimestep>0&&(i=this.maxTimestep);for(var r=this.m_bodyList;r;r=r.nextBody){var s=r.body;if(s.IsAwake()){var a=s.GetWorldVector(O.MulMV(this.T,s.GetLocalVector(s.GetLinearVelocity(),I.s_t0),I.s_t1),e.Step_s_damping);s.SetLinearVelocity(I.AddVV(s.GetLinearVelocity(),I.MulSV(i,a,I.s_t0),I.s_t1))}}}},e.prototype.Draw=function(){},e.prototype.SetAxisAligned=function(t,e){this.T.ex.x=-t,this.T.ex.y=0,this.T.ey.x=0,this.T.ey.y=-e,this.maxTimestep=t>0||e>0?1/v(t,e):0},e.Step_s_damping=new I,e})(Yn),$n=(function(){function t(){this.m_count=0,this.m_ps=[],this.m_p0s=[],this.m_vs=[],this.m_ims=[],this.m_Ls=[],this.m_as=[],this.m_gravity=new I,this.m_damping=0,this.m_k2=1,this.m_k3=.1}return t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertices=function(){return this.m_ps},t.prototype.Initialize=function(t){this.m_count=t.count,this.m_ps=I.MakeArray(this.m_count),this.m_p0s=I.MakeArray(this.m_count),this.m_vs=I.MakeArray(this.m_count),this.m_ims=p(this.m_count);for(var e=0;e<this.m_count;++e){this.m_ps[e].Copy(t.vertices[e]),this.m_p0s[e].Copy(t.vertices[e]),this.m_vs[e].SetZero();var i=t.masses[e];this.m_ims[e]=i>0?1/i:0}var n=this.m_count-1,r=this.m_count-2;for(this.m_Ls=p(n),this.m_as=p(r),e=0;e<n;++e){var s=this.m_ps[e],a=this.m_ps[e+1];this.m_Ls[e]=I.DistanceVV(s,a)}for(e=0;e<r;++e){s=this.m_ps[e],a=this.m_ps[e+1];var o=this.m_ps[e+2],l=I.SubVV(a,s,I.s_t0),c=I.SubVV(o,a,I.s_t1),h=I.CrossVV(l,c),u=I.DotVV(l,c);this.m_as[e]=B(h,u)}this.m_gravity.Copy(t.gravity),this.m_damping=t.damping,this.m_k2=t.k2,this.m_k3=t.k3},t.prototype.Step=function(t,e){if(0!==t){for(var i=Math.exp(-t*this.m_damping),n=0;n<this.m_count;++n)this.m_p0s[n].Copy(this.m_ps[n]),this.m_ims[n]>0&&this.m_vs[n].SelfMulAdd(t,this.m_gravity),this.m_vs[n].SelfMul(i),this.m_ps[n].SelfMulAdd(t,this.m_vs[n]);for(n=0;n<e;++n)this.SolveC2(),this.SolveC3(),this.SolveC2();var r=1/t;for(n=0;n<this.m_count;++n)I.MulSV(r,I.SubVV(this.m_ps[n],this.m_p0s[n],I.s_t0),this.m_vs[n])}},t.prototype.SolveC2=function(){for(var e=this.m_count-1,i=0;i<e;++i){var n=this.m_ps[i],r=this.m_ps[i+1],s=I.SubVV(r,n,t.s_d),a=s.Normalize(),o=this.m_ims[i],l=this.m_ims[i+1];if(o+l!==0){var c=o/(o+l),h=l/(o+l);n.SelfMulSub(this.m_k2*c*(this.m_Ls[i]-a),s),r.SelfMulAdd(this.m_k2*h*(this.m_Ls[i]-a),s)}}},t.prototype.SetAngle=function(t){for(var e=this.m_count-2,i=0;i<e;++i)this.m_as[i]=t},t.prototype.SolveC3=function(){for(var e=this.m_count-2,i=0;i<e;++i){var n=this.m_ps[i],r=this.m_ps[i+1],a=this.m_ps[i+2],o=this.m_ims[i],l=this.m_ims[i+1],c=this.m_ims[i+2],h=I.SubVV(r,n,t.s_d1),u=I.SubVV(a,r,t.s_d2),_=h.LengthSquared(),f=u.LengthSquared();if(_*f!=0){var d=I.CrossVV(h,u),p=I.DotVV(h,u),m=B(d,p),y=I.MulSV(-1/_,h.SelfSkew(),t.s_Jd1),v=I.MulSV(1/f,u.SelfSkew(),t.s_Jd2),g=I.NegV(y,t.s_J1),b=I.SubVV(y,v,t.s_J2),A=v,x=o*I.DotVV(g,g)+l*I.DotVV(b,b)+c*I.DotVV(A,A);if(0!==x){x=1/x;for(var C=m-this.m_as[i];C>s;)C=(m-=2*s)-this.m_as[i];for(;C<-s;)C=(m+=2*s)-this.m_as[i];var T=-this.m_k3*x*C;n.SelfMulAdd(o*T,g),r.SelfMulAdd(l*T,b),a.SelfMulAdd(c*T,A)}}}},t.prototype.Draw=function(t){for(var e=new k(.4,.5,.7),i=0;i<this.m_count-1;++i)t.DrawSegment(this.m_ps[i],this.m_ps[i+1],e)},t.s_d=new I,t.s_d1=new I,t.s_d2=new I,t.s_Jd1=new I,t.s_Jd2=new I,t.s_J1=new I,t.s_J2=new I,t})();t.b2Assert=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(!t)throw new(Error.bind.apply(Error,[void 0].concat(e)))},t.b2Maybe=e,t.b2_maxFloat=i,t.b2_epsilon=n,t.b2_epsilon_sq=r,t.b2_pi=s,t.b2_maxManifoldPoints=a,t.b2_maxPolygonVertices=o,t.b2_aabbExtension=.1,t.b2_aabbMultiplier=2,t.b2_linearSlop=l,t.b2_angularSlop=c,t.b2_polygonRadius=h,t.b2_maxSubSteps=8,t.b2_maxTOIContacts=32,t.b2_velocityThreshold=1,t.b2_maxLinearCorrection=.2,t.b2_maxAngularCorrection=.13962634015955555,t.b2_maxTranslation=2,t.b2_maxTranslationSquared=4,t.b2_maxRotation=1.570796326795,t.b2_maxRotationSquared=2.4674011002726646,t.b2_baumgarte=.2,t.b2_toiBaumgarte=.75,t.b2_invalidParticleIndex=u,t.b2_maxParticleIndex=2147483647,t.b2_particleStride=.75,t.b2_minParticleWeight=1,t.b2_maxParticlePressure=.25,t.b2_maxParticleForce=.5,t.b2_maxTriadDistance=2,t.b2_maxTriadDistanceSquared=4,t.b2_minParticleSystemBufferCapacity=256,t.b2_barrierCollisionTime=2.5,t.b2_timeToSleep=.5,t.b2_linearSleepTolerance=.01,t.b2_angularSleepTolerance=.03490658503988889,t.b2Alloc=function(){return null},t.b2Free=function(){},t.b2Log=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i]},t.b2Version=_,t.b2_version=f,t.b2_branch="master",t.b2_commit="fbf51801d80fc389d43dc46524520e89043b6faf",t.b2ParseInt=function(t){return parseInt(t,10)},t.b2ParseUInt=function(t){return Math.abs(parseInt(t,10))},t.b2MakeArray=d,t.b2MakeNullArray=function(t){for(var e=[],i=0;i<t;++i)e.push(null);return e},t.b2MakeNumberArray=p,t.b2_pi_over_180=.017453292519944444,t.b2_180_over_pi=57.29577951307855,t.b2_two_pi=6.28318530718,t.b2Abs=m,t.b2Min=y,t.b2Max=v,t.b2Clamp=g,t.b2Swap=function(t,e){var i=t[0];t[0]=e[0],e[0]=i},t.b2IsValid=b,t.b2Sq=A,t.b2InvSqrt=x,t.b2Sqrt=T,t.b2Pow=S,t.b2DegToRad=function(t){return.017453292519944444*t},t.b2RadToDeg=function(t){return 57.29577951307855*t},t.b2Cos=w,t.b2Sin=E,t.b2Acos=M,t.b2Asin=D,t.b2Atan2=B,t.b2NextPowerOfTwo=function(t){return t|=t>>1&2147483647,t|=t>>2&1073741823,t|=t>>4&268435455,1+((t|=t>>8&16777215)|t>>16&65535)},t.b2IsPowerOfTwo=function(t){return t>0&&0==(t&t-1)},t.b2Random=function(){return 2*Math.random()-1},t.b2RandomRange=function(t,e){return(e-t)*Math.random()+t},t.b2Vec2=I,t.b2Vec2_zero=P,t.b2Vec3=R,t.b2Mat22=O,t.b2Mat33=L,t.b2Rot=F,t.b2Transform=V,t.b2Sweep=N,t.b2Color=k,t.b2Draw=z,t.b2Timer=G,t.b2Counter=U,t.b2GrowableStack=j,t.b2BlockAllocator=function(){},t.b2StackAllocator=function(){},t.b2ContactFeature=pt,t.b2ContactID=mt,t.b2ManifoldPoint=yt,t.b2Manifold=gt,t.b2WorldManifold=bt,t.b2GetPointStates=function(e,i,n,r){var s;for(s=0;s<n.pointCount;++s){var o=n.points[s].id.key;e[s]=t.b2PointState.b2_removeState;for(var l=0,c=r.pointCount;l<c;++l)if(r.points[l].id.key===o){e[s]=t.b2PointState.b2_persistState;break}}for(;s<a;++s)e[s]=t.b2PointState.b2_nullState;for(s=0;s<r.pointCount;++s)for(o=r.points[s].id.key,i[s]=t.b2PointState.b2_addState,l=0,c=n.pointCount;l<c;++l)if(n.points[l].id.key===o){i[s]=t.b2PointState.b2_persistState;break}for(;s<a;++s)i[s]=t.b2PointState.b2_nullState},t.b2ClipVertex=At,t.b2RayCastInput=xt,t.b2RayCastOutput=Ct,t.b2AABB=Tt,t.b2TestOverlapAABB=St,t.b2ClipSegmentToLine=wt,t.b2TestOverlapShape=Bt,t.b2DistanceProxy=H,t.b2SimplexCache=W,t.b2DistanceInput=X,t.b2DistanceOutput=Y,t.b2ShapeCastInput=function(){this.proxyA=new H,this.proxyB=new H,this.transformA=new V,this.transformB=new V,this.translationB=new I},t.b2ShapeCastOutput=function(){this.point=new I,this.normal=new I,this.lambda=0,this.iterations=0},t.b2_gjk_reset=function(){t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0},t.b2SimplexVertex=q,t.b2Simplex=J,t.b2Distance=rt,t.b2ShapeCast=function(t,e){t.iterations=0,t.lambda=1,t.normal.SetZero(),t.point.SetZero();var i=e.proxyA,n=e.proxyB,r=v(i.m_radius,h)+v(n.m_radius,h),s=e.transformA,a=e.transformB,o=e.translationB,c=at.Set(0,0),u=0,_=ot;_.m_count=0;for(var f=_.m_vertices,d=i.GetSupport(F.MulTRV(s.q,I.NegV(o,I.s_t1),I.s_t0)),p=V.MulXV(s,i.GetVertex(d),lt),y=n.GetSupport(F.MulTRV(a.q,o,I.s_t0)),g=V.MulXV(a,n.GetVertex(y),ct),b=I.SubVV(p,g,ht),A=v(h,r-h),x=.5*l,C=0;C<20&&m(b.Length()-A)>x;){t.iterations+=1,d=i.GetSupport(F.MulTRV(s.q,I.NegV(b,I.s_t1),I.s_t0)),p=V.MulXV(s,i.GetVertex(d),lt),y=n.GetSupport(F.MulTRV(a.q,b,I.s_t0)),g=V.MulXV(a,n.GetVertex(y),ct);var T=I.SubVV(p,g,ut);b.Normalize();var S=I.DotVV(b,T),w=I.DotVV(b,o);if(S-A>u*w){if(w<=0)return!1;if((u=(S-A)/w)>1)return!1;c.Copy(b).SelfNeg(),_.m_count=0}var E=f[_.m_count];switch(E.indexA=y,E.wA.Copy(g).SelfMulAdd(u,o),E.indexB=d,E.wB.Copy(p),E.w.Copy(E.wB).SelfSub(E.wA),E.a=1,_.m_count+=1,_.m_count){case 1:break;case 2:_.Solve2();break;case 3:_.Solve3()}if(3===_.m_count)return!1;_.GetClosestPoint(b),++C}var M=_t,D=ft;return _.GetWitnessPoints(M,D),b.LengthSquared()>0&&(c.Copy(b).SelfNeg(),c.Normalize()),t.normal.Copy(c),t.lambda=u,t.iterations=C,!0},t.b2Pair=Ot,t.b2BroadPhase=Lt,t.b2PairLessThan=Ft,t.b2TreeNode=Pt,t.b2DynamicTree=Rt,t.b2_toi_reset=function(){t.b2_toiTime=0,t.b2_toiMaxTime=0,t.b2_toiCalls=0,t.b2_toiIters=0,t.b2_toiMaxIters=0,t.b2_toiRootIters=0,t.b2_toiMaxRootIters=0},t.b2TOIInput=Wt,t.b2TOIOutput=Yt,t.b2SeparationFunction=qt,t.b2TimeOfImpact=re,t.b2CollideCircles=oe,t.b2CollidePolygonAndCircle=ue,t.b2CollidePolygons=Le,t.b2CollideEdgeAndCircle=He,t.b2CollideEdgeAndPolygon=Je,t.b2MassData=Ke,t.b2Shape=Qe,t.b2CircleShape=ii,t.b2PolygonShape=ni,t.b2EdgeShape=ri,t.b2ChainShape=si,t.b2Filter=ai,t.b2FixtureDef=oi,t.b2FixtureProxy=li,t.b2Fixture=ci,t.b2BodyDef=function(){this.type=t.b2BodyType.b2_staticBody,this.position=new I(0,0),this.angle=0,this.linearVelocity=new I(0,0),this.angularVelocity=0,this.linearDamping=0,this.angularDamping=0,this.allowSleep=!0,this.awake=!0,this.fixedRotation=!1,this.bullet=!1,this.active=!0,this.userData=null,this.gravityScale=1},t.b2Body=_i,t.b2World=Wn,t.b2DestructionListener=en,t.b2ContactFilter=nn,t.b2ContactImpulse=rn,t.b2ContactListener=sn,t.b2QueryCallback=an,t.b2RayCastCallback=on,t.b2Island=bn,t.b2Profile=cn,t.b2TimeStep=hn,t.b2Position=un,t.b2Velocity=_n,t.b2SolverData=fn,t.b2ContactManager=ln,t.b2MixFriction=Gi,t.b2MixRestitution=Ui,t.b2ContactEdge=Hi,t.b2Contact=Wi,t.b2ContactRegister=$i,t.b2ContactFactory=tn,t.g_blockSolve=!1,t.b2VelocityConstraintPoint=dn,t.b2ContactVelocityConstraint=pn,t.b2ContactPositionConstraint=mn,t.b2ContactSolverDef=yn,t.b2PositionSolverManifold=vn,t.b2ContactSolver=gn,t.b2CircleContact=Xi,t.b2PolygonContact=Yi,t.b2PolygonAndCircleContact=qi,t.b2EdgeAndCircleContact=Ji,t.b2EdgeAndPolygonContact=Zi,t.b2ChainAndCircleContact=Ki,t.b2ChainAndPolygonContact=Qi,t.b2Jacobian=fi,t.b2JointEdge=di,t.b2JointDef=pi,t.b2Joint=mi,t.b2AreaJointDef=gi,t.b2AreaJoint=bi,t.b2DistanceJointDef=yi,t.b2DistanceJoint=vi,t.b2FrictionJointDef=Ai,t.b2FrictionJoint=xi,t.b2GearJointDef=Ci,t.b2GearJoint=Ti,t.b2MotorJointDef=Si,t.b2MotorJoint=wi,t.b2MouseJointDef=Ei,t.b2MouseJoint=Mi,t.b2PrismaticJointDef=Di,t.b2PrismaticJoint=Bi,t.b2_minPulleyLength=2,t.b2PulleyJointDef=Ii,t.b2PulleyJoint=Pi,t.b2RevoluteJointDef=Ri,t.b2RevoluteJoint=Oi,t.b2RopeJointDef=Li,t.b2RopeJoint=Fi,t.b2WeldJointDef=Vi,t.b2WeldJoint=Ni,t.b2WheelJointDef=ki,t.b2WheelJoint=zi,t.b2ControllerEdge=Xn,t.b2Controller=Yn,t.b2BuoyancyController=qn,t.b2ConstantAccelController=Jn,t.b2ConstantForceController=Zn,t.b2GravityController=Kn,t.b2TensorDampingController=Qn,t.b2ParticleDef=An,t.b2CalculateParticleIterations=xn,t.b2ParticleHandle=Tn,t.b2ParticleGroupDef=Sn,t.b2ParticleGroup=wn,t.b2GrowableBuffer=Nn,t.b2FixtureParticleQueryCallback=kn,t.b2ParticleContact=zn,t.b2ParticleBodyContact=Gn,t.b2ParticlePair=Un,t.b2ParticleTriad=jn,t.b2ParticleSystemDef=Hn,t.b2RopeDef=function(){this.vertices=[],this.count=0,this.masses=[],this.gravity=new I(0,0),this.damping=.1,this.k2=.9,this.k3=.1},t.b2Rope=$n,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof i&&void 0!==e?n(i):"function"==typeof define&&define.amd?define(["exports"],n):n((void 0).box2d={})}),{}],435:[(function(t,e){"use strict";var i="undefined"==typeof window?global:window;i.cc=i.cc||{},cc.internal=cc.internal||{},t("./predefine"),t("./polyfill/string"),t("./polyfill/misc"),t("./polyfill/array"),t("./polyfill/object"),t("./polyfill/array-buffer"),t("./polyfill/number"),t("./polyfill/typescript"),t("./cocos2d/core/predefine"),t("./cocos2d"),t("./extends"),e.exports=i.cc}),{"./cocos2d":351,"./cocos2d/core/predefine":263,"./extends":410,"./package":void 0,"./polyfill/array":437,"./polyfill/array-buffer":436,"./polyfill/misc":438,"./polyfill/number":439,"./polyfill/object":440,"./polyfill/string":441,"./polyfill/typescript":442,"./predefine":443}],436:[(function(){"use strict";if(!ArrayBuffer.isView){var t=Object.getPrototypeOf(Int8Array);ArrayBuffer.isView="function"==typeof t?function(e){return e instanceof t}:function(t){if("object"!=typeof t)return!1;var e=t.constructor;return e===Float64Array||e===Float32Array||e===Uint8Array||e===Uint32Array||e===Int8Array}}}),{}],437:[(function(){"use strict";Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.find||(Array.prototype.find=function(t){for(var e=this.length,i=0;i<e;i++){var n=this[i];if(t.call(this,n,i,this))return n}}),Array.prototype.includes||(Array.prototype.includes=function(t){return-1!==this.indexOf(t)})}),{}],438:[(function(){"use strict";if(Math.sign||(Math.sign=function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1}),Math.log2||(Math.log2=function(t){return Math.log(t)*Math.LOG2E}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),!console.time){var t=window.performance||Date,e=Object.create(null);console.time=function(i){e[i]=t.now()},console.timeEnd=function(i){var n=e[i],r=t.now()-n;console.log(i+": "+r+"ms")}}}),{}],439:[(function(){"use strict";Number.parseFloat=Number.parseFloat||parseFloat,Number.parseInt=Number.parseInt||parseInt}),{}],440:[(function(){"use strict";Object.assign||(Object.assign=function(t,e){return cc.js.mixin(t,e)}),Object.getOwnPropertyDescriptors||(Object.getOwnPropertyDescriptors=function(t){var e={},i=Object.getOwnPropertyNames(t);Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t)));for(var n=0;n<i.length;++n){var r=i[n];e[r]=Object.getOwnPropertyDescriptor(t,r)}return e})}),{}],441:[(function(){"use strict";String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.lastIndexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){(void 0===e||e>this.length)&&(e=this.length),e-=t.length;var i=this.indexOf(t,e);return-1!==i&&i===e}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/,"")})}),{}],442:[(function(){"use strict";var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};window.__extends=function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)},window.__assign=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},window.__rest=function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(t);r<n.length;r++)e.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(t,n[r])&&(i[n[r]]=t[n[r]])}return i},window.__decorate=function(t,e,i,n){var r,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a},window.__param=function(t,e){return function(i,n){e(i,n,t)}},window.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},window.__awaiter=function(t,e,i,n){return new(i||(i=Promise))(function(r,s){function a(t){try{l(n.next(t))}catch(e){s(e)}}function o(t){try{l(n.throw(t))}catch(e){s(e)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,o)}l((n=n.apply(t,e||[])).next())})},window.__generator=function(t,e){var i,n,r,s,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(t){return function(e){return l([t,e])}}function l(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(o){s=[6,o],n=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},window.__exportStar=function(t,e){for(var i in t)"default"===i||Object.prototype.hasOwnProperty.call(e,i)||__createBinding(e,t,i)},window.__createBinding=Object.create?function(t,e,i,n){void 0===n&&(n=i),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[i]}})}:function(t,e,i,n){void 0===n&&(n=i),t[n]=e[i]},window.__values=function(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],n=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},window.__read=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(o){r={error:o}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a},window.__spread=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(__read(arguments[e]));return t},window.__spreadArrays=function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var n=Array(t),r=0;for(e=0;e<i;e++)for(var s=arguments[e],a=0,o=s.length;a<o;a++,r++)n[r]=s[a];return n},window.__await=function(t){return this instanceof __await?(this.v=t,this):new __await(t)},window.__asyncGenerator=function(t,e,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(t,e||[]),s=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(t){r[t]&&(n[t]=function(e){return new Promise(function(i,n){s.push([t,e,i,n])>1||o(t,e)})})}function o(t,e){try{(i=r[t](e)).value instanceof __await?Promise.resolve(i.value.v).then(l,c):h(s[0][2],i)}catch(n){h(s[0][3],n)}var i}function l(t){o("next",t)}function c(t){o("throw",t)}function h(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}},window.__asyncDelegator=function(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:__await(t[n](e)),done:"return"===n}:r?r(e):e}:r}},window.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,s){r(n,s,(e=t[i](e)).done,e.value)})}}function r(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)}},window.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t};var e=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};window.__importStar=function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&__createBinding(i,t,n);return e(i,t),i},window.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},window.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},window.__classPrivateFieldSet=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i}}),{}],443:[(function(){"use strict";var t="undefined"==typeof window?global:window;function e(e,i){void 0===t[e]&&Object.defineProperty(t,e,{get:function(){var t;return"CC_WECHATGAMESUB"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME_SUB":"CC_WECHATGAME"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME":"CC_QQPLAY"===e&&(t="cc.sys.platform === cc.sys.QQ_PLAY"),cc.warnID(1400,e,t),i}})}function i(e){return"object"==typeof t[e]}(function(e,i){void 0===t[e]&&(t[e]=i)})("CC_BUILD",!1),t.CC_BUILD=!0,t.CC_DEV=!1,t.CC_DEBUG=!1,t.CC_JSB=!1,t.CC_NATIVERENDERER=!1,t.CC_SUPPORT_JIT=!0,t.CC_PHYSICS_BUILTIN=!1,t.CC_PHYSICS_CANNON=!0,t.CC_EDITOR=!1,t.CC_PREVIEW=!1,t.CC_TEST=!1,t.CC_RUNTIME=!1,t.CC_JSB=!1;var n=!(!i("wx")||!wx.getSharedCanvas),r=!(!i("wx")||!wx.getSystemInfoSync&&!wx.getSharedCanvas),s=i("bk");e("CC_WECHATGAMESUB",n),e("CC_WECHATGAME",r),e("CC_QQPLAY",s),t.CocosEngine=cc.ENGINE_VERSION="2.4.4"}),{}]},{},[435]);