!function(a,b){"use strict";function c(){e.ready||(t.determineeventtypes(),s.each(e.gestures,function(a){v.register(a)}),t.ontouch(e.document,o,v.detect),t.ontouch(e.document,p,v.detect),e.ready=!0)}function d(a,c){date.now||(date.now=function(){return(new date).gettime()}),a.utils.each(["on","off"],function(d){a.utils[d]=function(a,e,f){c(a)[d](e,function(a){var d=c.extend({},a.originalevent,a);d.button===b&&(d.button=a.which-1),f.call(this,d)})}}),a.instance.prototype.trigger=function(a,b){var d=c(this.element);return d.has(b.target).length&&(d=c(b.target)),d.trigger({type:a,gesture:b})},c.fn.hammer=function(b){return this.each(function(){var d=c(this),e=d.data("hammer");e?e&&b&&a.utils.extend(e.options,b):d.data("hammer",new a(this,b||{}))})}}var e=function w(a,b){return new w.instance(a,b||{})};e.version="1.1.3",e.defaults={behavior:{userselect:"none",touchaction:"pan-y",touchcallout:"none",contentzooming:"none",userdrag:"none",taphighlightcolor:"rgba(0,0,0,0)"}},e.document=document,e.has_pointerevents=navigator.pointerenabled||navigator.mspointerenabled,e.has_touchevents="ontouchstart"in a,e.is_mobile=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.useragent),e.no_mouseevents=e.has_touchevents&&e.is_mobile||e.has_pointerevents,e.calculate_interval=25;var f={},g=e.direction_down="down",h=e.direction_left="left",i=e.direction_up="up",j=e.direction_right="right",k=e.pointer_mouse="mouse",l=e.pointer_touch="touch",m=e.pointer_pen="pen",n=e.event_start="start",o=e.event_move="move",p=e.event_end="end",q=e.event_release="release",r=e.event_touch="touch";e.ready=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,c,d){for(var e in c)!c.hasownproperty(e)||a[e]!==b&&d||(a[e]=c[e]);return a},on:function(a,b,c){a.addeventlistener(b,c,!1)},off:function(a,b,c){a.removeeventlistener(b,c,!1)},each:function(a,c,d){var e,f;if("foreach"in a)a.foreach(c,d);else if(a.length!==b){for(e=0,f=a.length;f>e;e++)if(c.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasownproperty(e)&&c.call(d,a[e],e,a)===!1)return},instr:function(a,b){return a.indexof(b)>-1},inarray:function(a,b){if(a.indexof){var c=a.indexof(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toarray:function(a){return array.prototype.slice.call(a,0)},hasparent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentnode}return!1},getcenter:function(a){var b=[],c=[],d=[],e=[],f=math.min,g=math.max;return 1===a.length?{pagex:a[0].pagex,pagey:a[0].pagey,clientx:a[0].clientx,clienty:a[0].clienty}:(s.each(a,function(a){b.push(a.pagex),c.push(a.pagey),d.push(a.clientx),e.push(a.clienty)}),{pagex:(f.apply(math,b)+g.apply(math,b))/2,pagey:(f.apply(math,c)+g.apply(math,c))/2,clientx:(f.apply(math,d)+g.apply(math,d))/2,clienty:(f.apply(math,e)+g.apply(math,e))/2})},getvelocity:function(a,b,c){return{x:math.abs(b/a)||0,y:math.abs(c/a)||0}},getangle:function(a,b){var c=b.clientx-a.clientx,d=b.clienty-a.clienty;return 180*math.atan2(d,c)/math.pi},getdirection:function(a,b){var c=math.abs(a.clientx-b.clientx),d=math.abs(a.clienty-b.clienty);return c>=d?a.clientx-b.clientx>0?h:j:a.clienty-b.clienty>0?i:g},getdistance:function(a,b){var c=b.clientx-a.clientx,d=b.clienty-a.clienty;return math.sqrt(c*c+d*d)},getscale:function(a,b){return a.length>=2&&b.length>=2?this.getdistance(b[0],b[1])/this.getdistance(a[0],a[1]):1},getrotation:function(a,b){return a.length>=2&&b.length>=2?this.getangle(b[1],b[0])-this.getangle(a[1],a[0]):0},isvertical:function(a){return a==i||a==g},setprefixedcss:function(a,b,c,d){var e=["","webkit","moz","o","ms"];b=s.tocamelcase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collecteventdata(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedlength=i,j.eventtype=h,d.call(v,j),j.eventtype=g,delete j.changedlength),g==p&&(d.call(v,j),this.started=!1),g},determineeventtypes:function(){var b;return b=e.has_pointerevents?a.pointerevent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["mspointerdown","mspointermove","mspointerup mspointercancel mslostpointercapture"]:e.no_mouseevents?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},gettouchlist:function(a,b){if(e.has_pointerevents)return u.gettouchlist();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toarray(a.touches),s.toarray(a.changedtouches)),f=[];return s.each(d,function(a){s.inarray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collecteventdata:function(a,b,c,d){var e=l;return s.instr(d.type,"mouse")||u.matchtype(k,d)?e=k:u.matchtype(m,d)&&(e=m),{center:s.getcenter(c),timestamp:date.now(),target:d.target,touches:c,eventtype:b,pointertype:e,srcevent:d,preventdefault:function(){var a=this.srcevent;a.preventmanipulation&&a.preventmanipulation(),a.preventdefault&&a.preventdefault()},stoppropagation:function(){this.srcevent.stoppropagation()},stopdetect:function(){return v.stopdetect()}}}},u=e.pointerevent={pointers:{},gettouchlist:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatepointer:function(a,b){a==p||a!=p&&1!==b.buttons?delete this.pointers[b.pointerid]:(b.identifier=b.pointerid,this.pointers[b.pointerid]=b)},matchtype:function(a,b){if(!b.pointertype)return!1;var c=b.pointertype,d={};return d[k]=c===(b.mspointer_type_mouse||k),d[l]=c===(b.mspointer_type_touch||l),d[m]=c===(b.mspointer_type_pen||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startdetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startevent:s.extend({},b),lastevent:!1,lastcalcevent:!1,futurecalcevent:!1,lastcalcdata:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendeventdata(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastevent=a),a.eventtype==p&&this.stopdetect(),a}},stopdetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getcalculateddata:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastcalcevent,j=g.lastcalcdata;i&&a.timestamp-i.timestamp>e.calculate_interval&&(b=i.center,c=a.timestamp-i.timestamp,d=a.center.clientx-i.center.clientx,f=a.center.clienty-i.center.clienty,h=!0),(a.eventtype==r||a.eventtype==q)&&(g.futurecalcevent=a),(!g.lastcalcevent||h)&&(j.velocity=s.getvelocity(c,d,f),j.angle=s.getangle(b,a.center),j.direction=s.getdirection(b,a.center),g.lastcalcevent=g.futurecalcevent||a,g.futurecalcevent=a),a.velocityx=j.velocity.x,a.velocityy=j.velocity.y,a.interimangle=j.angle,a.interimdirection=j.direction},extendeventdata:function(a){var b=this.current,c=b.startevent,d=b.lastevent||c;(a.eventtype==r||a.eventtype==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientx:a.clientx,clienty:a.clienty})}));var e=a.timestamp-c.timestamp,f=a.center.clientx-c.center.clientx,g=a.center.clienty-c.center.clienty;return this.getcalculateddata(a,d.center,e,f,g),s.extend(a,{startevent:c,deltatime:e,deltax:f,deltay:g,distance:s.getdistance(c.center,a.center),angle:s.getangle(c.center,a.center),direction:s.getdirection(c.center,a.center),scale:s.getscale(c.touches,a.touches),rotation:s.getrotation(c.touches,a.touches)}),a},register:function(a){var c=a.defaults||{};return c[a.name]===b&&(c[a.name]=!0),s.extend(e.defaults,c,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};!function(a){function b(b,d){var e=v.current;if(!(d.options.dragmaxtouches>0&&b.touches.length>d.options.dragmaxtouches))switch(b.eventtype){case n:c=!1;break;case o:if(b.distance0)){var k=math.abs(d.options.dragmindistance/b.distance);f.pagex+=b.deltax*k,f.pagey+=b.deltay*k,f.clientx+=b.deltax*k,f.clienty+=b.deltay*k,b=v.extendeventdata(b)}(e.lastevent.draglocktoaxis||d.options.draglocktoaxis&&d.options.draglockmindistance<=b.distance)&&(b.draglocktoaxis=!0);var l=e.lastevent.direction;b.draglocktoaxis&&l!==b.direction&&(b.direction=s.isvertical(l)?b.deltay<0?i:g:b.deltax<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isvertical(b.direction);(d.options.dragblockvertical&&m||d.options.dragblockhorizontal&&!m)&&b.preventdefault();break;case q:c&&b.changedlength<=d.options.dragmaxtouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.drag={name:a,index:50,handler:b,defaults:{dragmindistance:10,dragdistancecorrection:!0,dragmaxtouches:1,dragblockhorizontal:!1,dragblockvertical:!1,draglocktoaxis:!1,draglockmindistance:25}}}("drag"),e.gestures.gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventtype){case n:cleartimeout(c),f.name=a,c=settimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdtimeout);break;case o:b.distance>e.holdthreshold&&cleartimeout(c);break;case q:cleartimeout(c)}}var c;e.gestures.hold={name:a,index:10,defaults:{holdtimeout:500,holdthreshold:2},handler:b}}("hold"),e.gestures.release={name:"release",index:1/0,handler:function(a,b){a.eventtype==q&&b.trigger(this.name,a)}},e.gestures.swipe={name:"swipe",index:40,defaults:{swipemintouches:1,swipemaxtouches:1,swipevelocityx:.6,swipevelocityy:.6},handler:function(a,b){if(a.eventtype==q){var c=a.touches.length,d=b.options;if(cd.swipemaxtouches)return;(a.velocityx>d.swipevelocityx||a.velocityy>d.swipevelocityy)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventtype){case n:c=!1;break;case o:c=c||b.distance>g.tapmaxdistance;break;case p:!s.instr(b.srcevent.type,"cancel")&&b.deltatimed.options.transformminrotation&&d.trigger("rotate",b),e>d.options.transformminscale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedlength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.transform={name:a,index:45,defaults:{transformminscale:.01,transformminrotation:1},handler:b}}("transform"),a.hammer=e,"undefined"!=typeof module&&module.exports&&(module.exports=e),"function"==typeof define&&define.amd?define(["jquery"],function(b){return d(a.hammer,b)}):d(a.hammer,a.jquery||a.zepto)}(window);