!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.SpriteSpin={})}(this,function(e){"use strict";var I=function(e){this.data=e};function t(e){var t,n=I.prototype;for(t in e)if(e.hasOwnProperty(t)){if(n[t])throw new Error("API method is already defined: "+t);n[t]=e[t]}return n}var r,i,n,d=window.jQuery||window.$;function W(e){var t=e.touches,n=e;return{x:(n=void 0!==(t=void 0===e.touches&&void 0!==e.originalEvent?e.originalEvent.touches:t)&&0<t.length?t[0]:n).clientX||0,y:n.clientY||0}}function H(e,t,n){if(!(i||(r=r||document.createElement("canvas"))&&r.getContext&&(i=r.getContext("2d"))))return!1;if(t*n<=1048576)return!1;r.width=r.height=1,i.fillStyle="#FF00FF",i.fillRect(0,0,1,1),i.drawImage(e,1-t,0);try{var a=i.getImageData(0,0,1,1).data;return 255===a[0]&&0===a[1]&&255===a[2]}catch(e){return!1}}function m(e){var t=Math.floor(e.width||e.frameWidth||e.target.innerWidth()),e=Math.floor(e.height||e.frameHeight||e.target.innerHeight());return{aspect:t/e,height:e,width:t}}function f(e){var t=m(e);return"function"==typeof window.getComputedStyle&&(e=window.getComputedStyle(e.target[0])).width&&(t.width=Math.floor(Number(e.width.replace("px",""))),t.height=Math.floor(t.width/t.aspect)),t}function g(e){var t=Math.floor(e.frameWidth||e.width||e.target.innerWidth()),e=Math.floor(e.frameHeight||e.height||e.target.innerHeight());return{aspect:t/e,height:e,width:t}}function L(e,t,n){var a,r,i="fit"===e,o="fill"===e,s={width:"100%",height:"100%",top:0,left:0,bottom:0,right:0,position:"absolute",overflow:"hidden"};return e&&!("stretch"===e)&&(e=t.aspect>=n.aspect,a=t.width,r=t.height,(i&&e||o&&!e)&&(a=n.width,r=n.width/t.aspect),(o&&e||i&&!e)&&(r=n.height,a=n.height*t.aspect),a=Math.floor(a),r=Math.floor(r),s.width=a,s.height=r,s.top=Math.floor((n.height-r)/2),s.left=Math.floor((n.width-a)/2),s.right=s.left,s.bottom=s.top),s}function O(e){return e.naturalWidth?{height:e.naturalHeight,width:e.naturalWidth}:((n=n||new Image).src=e.src,{height:n.height,width:n.width})}function q(e,t){if(1===e.length)return[B(e[0],t)];if(t.framesX&&t.framesY){for(var n=e,a=t,r=[],i=0;i<n.length;i++){var o=B(n[i],{frames:void 0,framesX:a.framesX,framesY:a.framesY,detectSubsampling:a.detectSubsampling});o.id=i,r.push(o)}return r}for(var s=e,l=t,u=[],c=0;c<s.length;c++){var d=B(s[c],{frames:1,framesX:1,detectSubsampling:l.detectSubsampling});d.id=c,u.push(d)}return u}function B(e,t){for(var n,a,r={id:0,sprites:[]},i=(s=t,n=r,a=O(e=e),n.isSubsampled=s.detectSubsampling&&H(e,a.width,a.height),n.width=a.width,n.height=a.height,n.sampledWidth=a.width/(n.isSubsampled?2:1),n.sampledHeight=a.height/(n.isSubsampled?2:1),t.frames),o=Number(t.framesX)||i,s=Math.ceil(i/o),l=Math.floor(r.width/o),u=Math.floor(r.height/s),c=r.isSubsampled?2:1,d=0;d<i;d++){var m=d%o*l,f=Math.floor(d/o)*u;r.sprites.push({id:d,x:m,y:f,width:l,height:u,sampledX:m/c,sampledY:f/c,sampledWidth:l/c,sampledHeight:u/c})}return r}function u(e,t,n,a){for(var r=a*t+n,i=0,o=null,s=null;s=e[i];){if(!(r>=s.sprites.length)){o=s.sprites[r];break}r-=s.sprites.length,i++}return{sprite:o,sheet:s}}function N(){}function j(e){for(var t=e.source,n="string"==typeof t?[t]:t,a=[],r=e.preloadCount||n.length,t=e.initiated||N,i=e.progress||N,o=e.complete||N,s=0,l=!1,u=!1,c=function(){s+=1,i({index:function(e,t){for(var n=0;n<t.length;n++)if(t[n]===e)return n}(this,a),loaded:s,total:n.length,percent:Math.round(s/n.length*100)}),(u=u||this===a[0])&&!l&&r<=s&&(l=!0,o(a))},d=0,m=n;d<m.length;d++){var f=m[d],g=new Image;a.push(g),g.onload=g.onabort=g.onerror=c,g.src=f}t(a)}function U(e,t,n){for(var a=String(e);a.length<t;)a=String(n)+a;return a}function _(e,t){for(var n=t.digits||2,a=t.lanePlacer||"{lane}",r=t.framePlacer||"{frame}",i=0,o=0,s=(t.frame&&(i=t.frame[0],o=t.frame[1]),0),l=0,u=(t.lane&&(s=t.lane[0],l=t.lane[1]),[]),c=s;c<=l;c+=1)for(var d=i;d<=o;d+=1)u.push(e.replace(a,U(c,n,"0")).replace(r,U(d,n,"0")));return u}var o="spritespin",Q=["mousedown","mousemove","mouseup","mouseenter","mouseover","mouseleave","mousewheel","wheel","click","dblclick","touchstart","touchmove","touchend","touchcancel","selectstart","gesturestart","gesturechange","gestureend"],Z=["onInit","onProgress","onLoad","onFrameChanged","onFrame","onDraw","onComplete","onDestroy"],G=["dragstart"],J={source:void 0,width:void 0,height:void 0,frames:void 0,framesX:void 0,lanes:1,sizeMode:void 0,renderer:"canvas",lane:0,frame:0,frameTime:40,animate:!0,retainAnimate:!1,reverse:!1,loop:!0,stopFrame:0,wrap:!0,wrapLane:!1,sense:1,senseLane:void 0,orientation:"horizontal",detectSubsampling:!0,preloadCount:void 0,responsive:void 0,plugins:["360","drag"]};function K(){}function V(e){return console&&console[e]?function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return console.log.apply(console,e)}:K}var ee=V("log"),s=V("warn"),te=V("error");function ne(e){return Array.isArray(e)?e:[e]}function l(e,t,n){return n<e?n:e<t?t:e}function ae(e,t,n,a){for(;n<e;)e-=a;for(;e<t;)e+=a;return e}function re(e){return e.preventDefault(),!1}function h(t,e,n){n&&t.bind(e+"."+o,function(e){n.apply(t,[e,t.spritespin("data")])})}function ie(e){e.unbind("."+o)}function oe(e){return(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)}ee=Object.freeze({$:d,getCursorPosition:W,detectSubsampling:H,getOuterSize:m,getComputedSize:f,getInnerSize:g,getInnerLayout:L,measure:q,findSpecs:u,naturalSize:O,preload:j,sourceArray:_,noop:K,log:ee,warn:s,error:te,toArray:ne,clamp:l,wrap:ae,prevent:re,bind:h,unbind:ie,isFunction:function(e){return"function"==typeof e},pixelRatio:oe});function se(e){e.target.attr("unselectable","on").css({width:"",height:"","-ms-user-select":"none","-moz-user-select":"none","-khtml-user-select":"none","-webkit-user-select":"none","user-select":"none"});var t=(e.responsive?f:m)(e),n=L(e.sizeMode,g(e),t);e.target.css({width:t.width,height:t.height,position:"relative",overflow:"hidden"}),e.stage.css(n).hide(),e.canvas&&(e.canvas.css(n).hide(),e.canvasRatio=e.canvasRatio||oe(e.context),"number"==typeof n.width&&"number"==typeof n.height?(e.canvas[0].width=n.width*e.canvasRatio||t.width,e.canvas[0].height=n.height*e.canvasRatio||t.height):(e.canvas[0].width=t.width*e.canvasRatio,e.canvas[0].height=t.height*e.canvasRatio),e.context.scale(e.canvasRatio,e.canvasRatio))}function a(e,t){return e.state=e.state||{},e.state[t]=e.state[t]||{},e.state[t]}function c(e,t){e=a(e,"plugin");return e[t]=e[t]||{},e[t]}function p(e,t){return!!a(e,"flags")[t]}function v(e,t,n){a(e,"flags")[t]=!!n}function w(e){return a(e,"playback")}function le(e){var t;w(e).handler&&(ue(e),(t=e).frame+=t.reverse?-1:1,t.frame=ae(t.frame,0,t.frames-1,t.frames),t.loop||t.frame!==t.stopFrame||x(t),ce(e))}function ue(e){var t=w(e);t.lastFrame=e.frame,t.lastLane=e.lane}function ce(e){var t=w(e);t.lastFrame===e.frame&&t.lastLane===e.lane||e.target.trigger("onFrameChanged."+o,e),e.target.trigger("onFrame."+o,e),e.target.trigger("onDraw."+o,e)}function b(e,t,n){var a;ue(e),null!=t&&((a=e).frame=Number(t),a.frame=a.wrap?ae(a.frame,0,a.frames-1,a.frames):l(a.frame,0,a.frames-1)),null!=n&&(t=n,(a=e).lane=a.wrapLane?ae(t,0,a.lanes-1,a.lanes):l(t,0,a.lanes-1)),ce(e)}function x(e){e.animate=!1;e=w(e);null!=e.handler&&(window.clearInterval(e.handler),e.handler=null)}function y(e){var t=w(e);!t.handler||e.animate&&t.frameTime===e.frameTime||x(e),e.animate&&!t.handler&&(t.frameTime=e.frameTime,t.handler=window.setInterval(function(){return le(e)},t.frameTime))}function de(e){e.animate=!0,y(e)}var me={};function k(e,t){if(!me[e])return me[e]=t=t||{};te('Plugin name "'+e+'" is already taken')}function fe(e){return me[e]}function ge(e){var t=e;t.mods&&(s('"mods" option is deprecated, use "plugins" instead'),t.plugins=t.mods,delete t.mods),t.behavior&&(s('"behavior" option is deprecated, use "plugins" instead'),t.plugins.push(t.behavior),delete t.behavior),t.module&&(s('"module" option is deprecated, use "plugins" instead'),t.plugins.push(t.module),delete t.module);for(var n=0;n<e.plugins.length;n+=1){var a,r=e.plugins[n];"string"==typeof r&&((a=me[r])?e.plugins[n]=a:te("No plugin found with name "+r))}}var X=d,he=0,M={};function pe(e){for(var t in M)M.hasOwnProperty(t)&&e(M[t])}var ve=function(){function e(){pe(function(e){e.responsive&&S(e)})}ve=function(){};for(var t=function(t){X(window.document).bind(t+"."+o,function(e){var r,i;r="document"+t,i=e,pe(function(e){for(var t=0,n=e.plugins;t<n.length;t++){var a=n[t];"function"==typeof a[r]&&a[r].apply(e.target,[i,e])}})})},n=0,a=Q;n<a.length;n++)t(a[n]);var r=null;X(window).on("resize",function(){window.clearTimeout(r),r=window.setTimeout(e,100)})};function we(e){var t=e.target;ie(t);for(var n=0,a=G;n<a.length;n++)h(t,d=a[n],re);for(var r=0,i=e.plugins;r<i.length;r++){for(var o=i[r],s=0,l=Q;s<l.length;s++)h(t,d=l[s],o[d]);for(var u=0,c=Z;u<c.length;u++)h(t,d=c[u],o[d])}h(t,"onLoad",function(e,t){y(t)});for(var d,m=0,f=Z;m<f.length;m++)h(t,d=f[m],e[d])}function S(n){ge(n),we(n),se(n),n.source=ne(n.source),n.loading=!0,n.target.addClass("loading").trigger("onInit."+o,n),j({source:n.source,preloadCount:n.preloadCount,progress:function(e){n.progress=e,n.target.trigger("onProgress."+o,n)},complete:function(e){var t;n.images=e,n.loading=!1,n.frames=n.frames||e.length,(e=n).images||(e.metrics=[]),e.metrics=q(e.images,e),(t=u(e.metrics,e.frames,0,0)).sprite&&(e.frameWidth=t.sprite.width,e.frameHeight=t.sprite.height),se(n),n.stage.show(),n.target.removeClass("loading").trigger("onLoad."+o,n).trigger("onFrame."+o,n).trigger("onDraw."+o,n).trigger("onComplete."+o,n)}})}function be(e){var t=this,n=e.target,a=X.extend(!0,{},J,e);return a.source=a.source||[],a.plugins=a.plugins||[],n.find("img").each(function(){Array.isArray(a.source)||(a.source=[]),a.source.push(X(t).attr("src"))}),n.empty().addClass("spritespin-instance").append("<div class='spritespin-stage'></div>"),"canvas"===a.renderer&&((e=document.createElement("canvas")).getContext&&e.getContext("2d")?(a.canvas=X(e).addClass("spritespin-canvas"),a.context=e.getContext("2d"),n.append(a.canvas),n.addClass("with-canvas")):a.renderer="image"),a.target=n,a.stage=n.find(".spritespin-stage"),n.data(o,a),he+=1,(e=a).id=String(he),M[e.id]=e,a}function xe(e){ve();var t=e.target.data(o);return t?X.extend(t,e):t=be(e),S(t),t}function ye(e){delete M[e.id],x(e),e.target.trigger("onDestroy",e).html(null).attr("style",null).attr("unselectable",null).removeClass(["spritespin-instance","with-canvas"]),ie(e.target),e.target.removeData(o)}function F(e){return a(e,"input")}function Y(e,t){var e=W(e),n=F(t);n.oldX=n.currentX,n.oldY=n.currentY,n.currentX=e.x,n.currentY=e.y,void 0!==n.oldX&&void 0!==n.oldY||(n.oldX=n.currentX,n.oldY=n.currentY),void 0!==n.startX&&void 0!==n.startY||(n.startX=n.currentX,n.startY=n.currentY,n.clickframe=t.frame,n.clicklane=t.lane),n.dX=n.currentX-n.startX,n.dY=n.currentY-n.startY,n.ddX=n.currentX-n.oldX,n.ddY=n.currentY-n.oldY,n.ndX=n.dX/t.target.innerWidth(),n.ndY=n.dY/t.target.innerHeight(),n.nddX=n.ddX/t.target.innerWidth(),n.nddY=n.ddY/t.target.innerHeight()}function ke(e){e=F(e);e.startX=e.startY=void 0,e.currentX=e.currentY=void 0,e.oldX=e.oldY=void 0,e.dX=e.dY=0,e.ddX=e.ddY=0,e.ndX=e.ndY=0,e.nddX=e.nddY=0}function z(e,t){for(var n=0,a=t;n<a.length;n++){var r=a[n];if(e[r]||r in e)return r}return t[0]}d.fn[o]=function(e,t){var n,a=d(this);if("data"===e)return a.data(o);if("api"===e)return(n=a.data(o)).api=n.api||new I(n),n.api;if("destroy"===e)return a.each(function(){var e=a.data(o);e&&ye(e)});if(2===arguments.length&&"string"==typeof e&&((n={})[e]=t,e=n),"object"==typeof e)return xe(d.extend(!0,{target:a},e)).target;throw new Error("Invalid call to spritespin")},t({isPlaying:function(){return null!=w(this.data).handler},isLooping:function(){return this.data.loop},toggleAnimation:function(){this.isPlaying()?this.stopAnimation():this.startAnimation()},stopAnimation:function(){this.data.animate=!1,x(this.data)},startAnimation:function(){this.data.animate=!0,y(this.data)},loop:function(e){return this.data.loop=e,y(this.data),this},currentFrame:function(){return this.data.frame},updateFrame:function(e){return b(this.data,e),this},skipFrames:function(e){var t=this.data;return b(t,t.frame+(t.reverse?-e:+e)),this},nextFrame:function(){return this.skipFrames(1)},prevFrame:function(){return this.skipFrames(-1)},playTo:function(e,t){var n,a=this.data;if((t=t||{}).force||a.frame!==e)return t.nearest&&(t=e-a.frame,n=e>a.frame?t-a.frames:t+a.frames,t=Math.abs(t)<Math.abs(n)?t:n,a.reverse=t<0),a.animate=!0,a.loop=!1,a.stopFrame=e,y(a),this}});var T={requestFullscreen:z(document.documentElement,["requestFullscreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"]),exitFullscreen:z(document,["exitFullscreen","webkitExitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"]),fullscreenElement:z(document,["fullscreenElement","webkitFullscreenElement","webkitCurrentFullScreenElement","mozFullScreenElement","msFullscreenElement"]),fullscreenEnabled:z(document,["fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled"]),fullscreenchange:z(document,["onfullscreenchange","onwebkitfullscreenchange","onmozfullscreenchange","onMSFullscreenChange"]).replace(/^on/,""),fullscreenerror:z(document,["onfullscreenerror","onwebkitfullscreenerror","onmozfullscreenerror","onMSFullscreenError"]).replace(/^on/,"")},Xe=T.fullscreenchange+"."+o+"-fullscreen";function Me(){d(document).unbind(Xe)}var Se,Fe,Ye,ze,Te,Ce,C,Re,Pe,Ee,Ae,De,Ie="orientationchange."+o+"-fullscreen";function We(){d(window).unbind(Ie)}function He(){return document[T.fullscreenElement]}function Le(t,e){e=e||{};function n(){t.width=window.screen.width,t.height=window.screen.height,t.source=e.source||o,t.sizeMode=e.sizeMode||"fit",t.responsive=!1,S(t)}var a,r=t.width,i=t.height,o=t.source,s=t.sizeMode,l=t.responsive;a=function(){var e;He()?(n(),e=n,We(),d(window).bind(Ie,e)):(Me(),We(),t.width=r,t.height=i,t.source=o,t.sizeMode=s,t.responsive=l,S(t))},Me(),d(document).bind(Xe,a),(t.target[0]||document.documentElement)[T.requestFullscreen]()}function Oe(e,t){var n,a,r;!t.loading&&t.stage.is(":visible")&&(Y(e,t),e=F(t),a=(r=t.target).offset(),r="horizontal"===t.orientation?(n=r.innerWidth()/2,e.currentX-a.left):(n=r.innerHeight()/2,e.currentY-a.top),b(t,t.frame+(n<r?1:-1)))}function qe(e){return c(e,Se)}function Be(e,t){var n,a=qe(t);t.loading||p(t,"dragging")||!t.stage.is(":visible")||(n=(new Date).getTime(),a.startAt&&200<n-a.startAt&&e.preventDefault(),a.startAt=n,a.wasPlaying=!!w(t).handler,a.frame=t.frame||0,a.lane=t.lane||0,v(t,"dragging",!0),Y(e,t))}function R(e,t){p(t,"dragging")&&(v(t,"dragging",!1),ke(t),t.retainAnimate)&&qe(t).wasPlaying&&de(t)}function P(e,t){var n,a,r=qe(t),i=F(t);p(t,"dragging")&&(Y(e,t),e="number"==typeof(e=t).orientation?e.orientation*Math.PI/180:"horizontal"===e.orientation?0:Math.PI/2,a=Math.sin(e),e=Math.cos(e),n=(i.nddX*e-i.nddY*a)*t.sense||0,a=(i.nddX*a+i.nddY*e)*(t.senseLane||t.sense)||0,r.frame+=t.frames*n,r.lane+=t.lanes*a,t.frame,t.lane,b(t,Math.floor(r.frame),Math.floor(r.lane)),x(t))}function Ne(e){return c(e,Fe)}function je(e,t){var n,a;p(t,"loading")||p(t,"dragging")||!t.stage.is(":visible")||((a=Ne(n=t)).frameTime=n.frameTime,a.animate=n.animate,a.reverse=n.reverse,Y(e,t),v(t,"dragging",!0),t.animate=!0,y(t))}function $e(e,t){var n,a;v(t,"dragging",!1),ke(t),x(t),a=Ne(n=t),n.frameTime=a.frameTime,n.animate=a.animate,n.reverse=a.reverse,y(t)}function Ue(e,t){var n,a,r,i;p(t,"dragging")&&(Y(e,t),n=F(t),r=(i=t.target).offset(),i="horizontal"===t.orientation?(a=i.innerWidth()/2,(n.currentX-r.left-a)/a):(a=t.height/2,(n.currentY-r.top-a)/a),t.reverse=i<0,t.frameTime=80*(1-(i=i<0?-i:i))+20,"horizontal"===t.orientation&&n.dX<n.dY||"vertical"===t.orientation&&n.dX<n.dY)&&e.preventDefault()}function _e(e){return c(e,Ye)}function Qe(e,t,n){return e[t]||n}function Ze(e,t){t.loading||p(t,"dragging")||(Y(e,t),v(t,"dragging",!0))}function Ge(e,t){p(t,"dragging")&&(Y(e,t),b(t,t.frame,t.lane))}function Je(e,t){var n,a,r,i,o,s;p(t,"dragging")&&(v(t,"dragging",!1),i=_e(t),s=F(t),n=t.frame,a=t.lane,r=i.snap,i=i.fling,s="horizontal"===t.orientation?(o=s.ndX,s.ddX):(o=s.ndY,s.ddY),r<=o||i<=s?n=t.frame-1:(o<=-r||s<=-i)&&(n=t.frame+1),ke(t),b(t,n,a),x(t))}function Ke(e){return c(e,ze)}function E(e){return c(e,Te)}function Ve(e,t,n){return e[t]||n}function et(o){var e=E(o);e.timeout=window.setTimeout(function(){var e=o,t=E(e);if(tt(e),t.context){var n=0;!function(e,t){t.canvas.show();t.canvas[0].width,e.canvasRatio,t.canvas[0].height,e.canvasRatio}(e,t),t.context.clearRect(0,0,e.width,e.height);for(var a=0,r=t.steps;a<r.length;a++){var i=r[a];i.live=Math.max(i.live-i.step,0),i.alpha=Math.max(i.live-.25,0),!function(e,t,n){var a,r,i;n.alpha<=0||(a=u(e.metrics,e.frames,n.frame,n.lane),r=a.sheet,a=a.sprite,r&&a&&(e.source[r.id],!1!==(r=e.images[r.id]).complete)&&(t.canvas.show(),i=t.canvas[0].width/e.canvasRatio,e=t.canvas[0].height/e.canvasRatio,t.context.globalAlpha=n.alpha,t.context.drawImage(r,a.sampledX,a.sampledY,a.sampledWidth,a.sampledHeight,0,0,i,e)))}(e,t,i),n+=i.alpha+i.d}t.cssBlur&&!function(e,t){t="blur("+Math.min(Math.max(t/2-4,0),2.5)+"px)";e.css({"-webkit-filter":t,filter:t})}(t.canvas,n),!function(e){for(var t=Ce.length=0;t<e.length;t+=1)e[t].alpha<=0&&Ce.push(t);for(var n=0,a=Ce;n<a.length;n++)e.splice(a[n],1)}(t.steps),t.steps.length&&et(e)}},e.frameTime)}function tt(e){e=E(e);window.clearTimeout(e.timeout),e.timeout=null}function A(e){return c(e,Pe)}function nt(e,t,n){return e[t]||n}function at(e,t){if(p(t,"dragging")){it(t);var n=A(t);for(n.samples.push({time:(new Date).getTime(),frame:t.frame,lane:t.lane});n.samples.length>n.maxSamples;)n.samples.shift()}}function rt(e,t){for(var n,a=A(t),r=a.samples,i=0,o=0,s=0,l=0,u=r;l<u.length;l++){var c=u[l];if(n){var d=c.time-n.time;if(d>a.abortTime)return i=o=s=0,it(t);o+=c.frame-n.frame,i+=c.lane-n.lane,s+=d}n=c}r.length=0,s&&(a.lane=t.lane,a.lanes=0,a.laneStep=i/s*a.updateTime,a.frame=t.frame,a.frames=0,a.frameStep=o/s*a.updateTime,ot(t))}function it(e){e=A(e);null!=e.handler&&(window.clearTimeout(e.handler),e.handler=null)}function ot(r){var e=A(r);e.handler=window.setTimeout(function(){var e,t,n,a;(t=A(e=r)).lanes+=t.laneStep,t.frames+=t.frameStep,t.laneStep*=t.damping,t.frameStep*=t.damping,n=Math.floor(t.frame+t.frames),a=Math.floor(t.lane+t.lanes),b(e,n,a),(!p(e,"dragging")&&(.005<Math.abs(t.frameStep)||.005<Math.abs(t.laneStep))?ot:it)(e)},e.updateTime)}function st(e){return c(e,Ee)}function lt(e,t,n){return e[t]||n}function ut(e){return c(e,Ae)}function D(e){return c(e,De)}function ct(e,t,n){return e[t]||n}function dt(e,t){var n,a,r,i,o=D(t);o.stage.is(":visible")&&(e.preventDefault(),v(t,"dragging",!1),n=(a=W(e)).x/t.width,a=a.y/t.height,null==o.oldX&&(o.oldX=n,o.oldY=a),null==o.currentX&&(o.currentX=n,o.currentY=a),r=n-o.oldX,i=a-o.oldY,o.oldX=n,o.oldY=a,e.type.match(/touch/)&&(r=-r,i=-i),o.currentX=l(o.currentX+r,0,1),o.currentY=l(o.currentY+i,0,1),b(t,t.frame,t.lane))}function mt(e,t){e.preventDefault();var n=D(t),a=(new Date).getTime();!n.clickTime||a-n.clickTime>n.doubleClickTime?n.clickTime=a:(n.clickTime=void 0,gt(t)&&dt(e,t))}function ft(e,t){D(t).stage.is(":visible")&&dt(e,t)}function gt(e){var t=D(e);if(!t.stage)throw new Error("zoom module is not initialized or is not available.");if(!t.stage.is(":visible"))return t.stage.fadeIn(),e.stage.fadeOut(),1;t.stage.fadeOut(),e.stage.fadeIn()}t({fullscreenEnabled:function(){return document[T.fullscreenEnabled]},fullscreenElement:He,exitFullscreen:function(){return document[T.exitFullscreen]()},toggleFullscreen:function(e){!function(e){He()?this.apiRequestFullscreen(e):this.exitFullscreen()}((this.data,e))},requestFullscreen:function(e){Le(this.data,e)}}),k("click",{name:"click",mouseup:Oe,touchend:Oe}),k(Se="drag",{name:"drag",mousedown:Be,mousemove:P,mouseup:R,documentmousemove:P,documentmouseup:R,touchstart:Be,touchmove:P,touchend:R,touchcancel:R}),k("move",{name:"move",mousemove:function(e,t){Be(e,t),P(e,t)},mouseleave:R,touchstart:Be,touchmove:P,touchend:R,touchcancel:R}),k(Fe="hold",{name:Fe,mousedown:je,mousemove:Ue,mouseup:$e,mouseleave:$e,touchstart:je,touchmove:Ue,touchend:$e,touchcancel:$e,onFrame:function(e,t){t.animate=!0,y(t)}}),k(Ye="swipe",{name:Ye,onLoad:function(e,t){var n=_e(t);n.fling=Qe(t,"swipeFling",10),n.snap=Qe(t,"swipeSnap",.5)},mousedown:Ze,mousemove:Ge,mouseup:Je,mouseleave:Je,touchstart:Ze,touchmove:Ge,touchend:Je,touchcancel:Je}),k("wheel",{name:"wheel",wheel:function(e,t){var n;!t.loading&&t.stage.is(":visible")&&(e.preventDefault(),n=0===(e=e.originalEvent).deltaX?0:0<e.deltaX?1:-1,e=0===e.deltaY?0:0<e.deltaY?1:-1,b(t,t.frame+e,t.lane+n))}}),k(ze="progress",{name:ze,onInit:function(e,t){var n=Ke(t);n.stage||(n.stage=d("\n<div class='spritespin-progress'>\n <div class='spritespin-progress-label'></div>\n <div class='spritespin-progress-bar'></div>\n</div>\n"),n.stage.appendTo(t.target)),n.stage.find(".spritespin-progress-label").text("0%").css({"text-align":"center"}),n.stage.find(".spritespin-progress-bar").css({width:"0%"}),n.stage.hide().fadeIn()},onProgress:function(e,t){var n=Ke(t);n.stage.find(".spritespin-progress-label").text(t.progress.percent+"%").css({"text-align":"center"}),n.stage.find(".spritespin-progress-bar").css({width:t.progress.percent+"%"})},onLoad:function(e,t){d(Ke(t).stage).fadeOut()},onDestroy:function(e,t){d(Ke(t).stage).remove()}}),k("360",{name:"360",onLoad:function(e,t){t.stage.find(".spritespin-frames").detach(),"image"===t.renderer&&$(t.images).addClass("spritespin-frames").appendTo(t.stage)},onDraw:function(e,t){var n,a,r,i,o,s=(l=u(t.metrics,t.frames,t.frame,t.lane)).sheet,l=l.sprite;s&&l&&(n=t.source[s.id],a=t.images[s.id],"canvas"===t.renderer?(t.canvas.show(),o=t.canvas[0].width/t.canvasRatio,r=t.canvas[0].height/t.canvasRatio,t.context.clearRect(0,0,o,r),t.context.drawImage(a,l.sampledX,l.sampledY,l.sampledWidth,l.sampledHeight,0,0,o,r)):(o=t.stage.innerWidth()/l.sampledWidth,r=t.stage.innerHeight()/l.sampledHeight,i=Math.floor(-l.sampledY*r),l=Math.floor(-l.sampledX*o),o=Math.floor(s.sampledWidth*o),s=Math.floor(s.sampledHeight*r),"background"===t.renderer?t.stage.css({"background-image":"url('"+n+"')","background-position":l+"px "+i+"px","background-repeat":"no-repeat","-webkit-background-size":o+"px "+s+"px","-moz-background-size":o+"px "+s+"px","-o-background-size":o+"px "+s+"px","background-size":o+"px "+s+"px"}):($(t.images).hide(),$(a).show().css({position:"absolute",top:i,left:l,"max-width":"initial",width:o,height:s}))))}}),Ce=[],k(Te="blur",{name:Te,onLoad:function(e,t){var n=E(t),a=(n.canvas=n.canvas||d("<canvas class='blur-layer'></canvas>"),n.context=n.context||n.canvas[0].getContext("2d"),n.steps=n.steps||[],n.fadeTime=Math.max(Ve(t,"blurFadeTime",200),1),n.frameTime=Math.max(Ve(t,"blurFrameTime",t.frameTime),16),n.trackTime=null,n.cssBlur=!!Ve(t,"blurCss",!1),g(t)),r=(t.responsive?f:m)(t),a=L(t.sizeMode,a,r);n.canvas[0].width=t.width*t.canvasRatio,n.canvas[0].height=t.height*t.canvasRatio,n.canvas.css(a).show(),n.context.scale(t.canvasRatio,t.canvasRatio),t.target.append(n.canvas)},onFrameChanged:function(e,t){var n,a,r,i=E(t);a=E(n=t),r=w(n),r=(r=Math.abs(n.frame-r.lastFrame))>=n.frames/2?n.frames-r:r,a.steps.unshift({frame:n.frame,lane:n.lane,live:1,step:a.frameTime/a.fadeTime,d:r,alpha:0}),null==i.timeout&&et(t)}}),C=Math.max,Re=Math.min,k(Pe="ease",{name:Pe,onLoad:function(e,t){var n=A(t);n.maxSamples=C(nt(t,"easeMaxSamples",5),0),n.damping=C(Re(nt(t,"easeDamping",.9),.999),0),n.abortTime=C(nt(t,"easeAbortTime",250),16),n.updateTime=C(nt(t,"easeUpdateTime",t.frameTime),16),n.samples=[],n.steps=[]},mousemove:at,mouseup:rt,mouseleave:rt,touchmove:at,touchend:rt,touchcancel:rt}),k(Ee="gallery",{name:Ee,onLoad:function(e,t){for(var n=st(t),a=(n.images=[],n.offsets=[],n.frame=t.frame,n.speed=lt(t,"gallerySpeed",500),n.opacity=lt(t,"galleryOpacity",.25),n.stage=lt(t,"galleryStage",d("<div></div>")),n.stage.empty().addClass("gallery-stage").prependTo(t.stage),0),r=0,i=t.images;r<i.length;r++){var o=i[r],s=O(o),s=t.height/s.height,l=d(o);n.stage.append(l),n.images.push(l),n.offsets.push(-a+(t.width-o.width*s)/2),a+=t.width,l.css({"max-width":"initial",opacity:n.opacity,width:t.width,height:t.height})}var u=g(t),c=(t.responsive?f:m)(t),u=L(t.sizeMode,u,c);n.stage.css(u).css({width:a,left:n.offsets[n.frame]}),n.images[n.frame].animate({opacity:1},{duration:n.speed})},onDraw:function(e,t){var n=st(t),a=F(t),r=p(t,"dragging");n.frame===t.frame||r?!r&&n.dX===a.dX||(n.dX=a.dX,n.ddX=a.ddX,n.stage.stop(!0,!0).css({left:n.offsets[n.frame]+n.dX})):(n.stage.stop(!0,!1).animate({left:n.offsets[t.frame]},{duration:n.speed}),n.images[n.frame].animate({opacity:n.opacity},{duration:n.speed}),n.frame=t.frame,n.images[n.frame].animate({opacity:1},{duration:n.speed}),n.stage.animate({left:n.offsets[n.frame]}))}}),k(Ae="panorama",{name:Ae,onLoad:function(e,t){var n,a=ut(t),r=t.metrics[0];r&&("horizontal"===t.orientation?(a.scale=t.target.innerHeight()/r.sampledHeight,t.frames=r.sampledWidth):(a.scale=t.target.innerWidth()/r.sampledWidth,t.frames=r.sampledHeight),n=Math.floor(r.sampledWidth*a.scale),a=Math.floor(r.sampledHeight*a.scale),t.stage.css({"background-image":"url("+t.source[r.id]+")","background-repeat":"repeat-both","-webkit-background-size":n+"px "+a+"px","-moz-background-size":n+"px "+a+"px","-o-background-size":n+"px "+a+"px","background-size":n+"px "+a+"px"}))},onDraw:function(e,t){var n=ut(t),a=(i="horizontal"===t.orientation?1:0)?0:1,r=t.frame%t.frames,i=Math.round(i*r*n.scale),a=Math.round(a*r*n.scale);t.stage.css({"background-position":i+"px "+a+"px"})}}),k(De="zoom",{name:De,mousedown:mt,touchstart:mt,mousemove:ft,touchmove:ft,onInit:function(e,t){var n=D(t);n.source=ct(t,"zoomSource",t.source),n.doubleClickTime=ct(t,"zoomDoubleClickTime",500),n.stage=n.stage||d("<div class='zoom-stage'></div>"),n.stage.css({width:"100%",height:"100%",top:0,left:0,bottom:0,right:0,position:"absolute"}).appendTo(t.target).hide()},onDestroy:function(e,t){(t=D(t)).stage&&(t.stage.remove(),delete t.stage)},onDraw:function(e,t){var n,a=D(t),r=t.lane*t.frames+t.frame,r=a.source[r],i=u(t.metrics,t.frames,t.frame,t.lane),o=a.currentX,s=a.currentY;null==o&&(o=a.currentX=.5,s=a.currentY=.5),r?(o=Math.floor(100*o),s=Math.floor(100*s),a.stage.css({"background-repeat":"no-repeat","background-image":"url('"+r+"')","background-position":o+"% "+s+"%"})):i.sheet&&i.sprite&&(r=i.sprite,i=i.sheet,n=t.source[i.id],o=-Math.floor(r.sampledX+o*(r.sampledWidth-t.width)),s=-Math.floor(r.sampledY+s*(r.sampledHeight-t.height)),r=i.sampledWidth,t=i.sampledHeight,a.stage.css({"background-image":"url('"+n+"')","background-position":o+"px "+s+"px","background-repeat":"no-repeat","-webkit-background-size":r+"px "+t+"px","-moz-background-size":r+"px "+t+"px","-o-background-size":r+"px "+t+"px","background-size":r+"px "+t+"px"}))}}),t({toggleZoom:function(){gt(this.data)}}),e.Utils=ee,e.sourceArray=_,e.Api=I,e.extendApi=t,e.instances=M,e.applyEvents=we,e.boot=S,e.create=be,e.createOrUpdate=xe,e.destroy=ye,e.namespace=o,e.eventNames=Q,e.callbackNames=Z,e.eventsToPrevent=G,e.defaults=J,e.getInputState=F,e.updateInput=Y,e.resetInput=ke,e.applyLayout=se,e.getPlaybackState=w,e.updateFrame=b,e.stopAnimation=x,e.applyAnimation=y,e.startAnimation=de,e.registerPlugin=k,e.registerModule=function(e,t){s('"registerModule" is deprecated, use "registerPlugin" instead'),k(e,t)},e.getPlugin=fe,e.applyPlugins=ge,e.getState=a,e.getPluginState=c,e.is=p,e.flag=v,Object.defineProperty(e,"__esModule",{value:!0})});