File "hammerjs.min.js"

Path: /StudyIB/js/hammerjs/hammerjsminjs
File size: 20.35 KB
MIME-type: text/plain
Charset: utf-8

 
Open Back
/*! Hammer.JS - v2.0.8 - 2016-04-23
 * http://hammerjs.github.io/
 *
 * Copyright (c) 2016 Jorik Tangelder;
 * Licensed under the MIT license */
!function(t,e,n,i){"use strict";var r=["","webkit","Moz","MS","ms","o"],s=e.createElement("div"),o="function",a=Math.round,u=Math.abs,h=Date.now,c;function l(t,e,n){return setTimeout(y(t,n),e)}function p(t,e,n){return!!Array.isArray(t)&&(f(t,n[e],n),!0)}function f(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(void 0!==t.length)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function d(e,n,i){var r="DEPRECATED METHOD: "+n+"\n"+i+" AT \n";return function(){var n=new Error("get-stack-trace"),i=n&&n.stack?n.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",s=t.console&&(t.console.warn||t.console.log);return s&&s.call(t.console,r,i),e.apply(this,arguments)}}c="function"!=typeof Object.assign?function t(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(e),i=1;i<arguments.length;i++){var r=arguments[i];if(null!=r)for(var s in r)r.hasOwnProperty(s)&&(n[s]=r[s])}return n}:Object.assign;var v=d((function t(e,n,i){for(var r=Object.keys(n),s=0;s<r.length;)(!i||i&&void 0===e[r[s]])&&(e[r[s]]=n[r[s]]),s++;return e}),"extend","Use `assign`."),m=d((function t(e,n){return v(e,n,!0)}),"merge","Use `assign`.");function g(t,e,n){var i=e.prototype,r;(r=t.prototype=Object.create(i)).constructor=t,r._super=i,n&&c(r,n)}function y(t,e){return function n(){return t.apply(e,arguments)}}function T(t,e){return"function"==typeof t?t.apply(e&&e[0]||void 0,e):t}function E(t,e){return void 0===t?e:t}function I(t,e,n){f(C(e),(function(e){t.addEventListener(e,n,!1)}))}function A(t,e,n){f(C(e),(function(e){t.removeEventListener(e,n,!1)}))}function _(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function x(t,e){return t.indexOf(e)>-1}function C(t){return t.trim().split(/\s+/g)}function S(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function b(t){return Array.prototype.slice.call(t,0)}function P(t,e,n){for(var i=[],r=[],s=0;s<t.length;){var o=e?t[s][e]:t[s];S(r,o)<0&&i.push(t[s]),r[s]=o,s++}return n&&(i=e?i.sort((function t(n,i){return n[e]>i[e]})):i.sort()),i}function D(t,e){for(var n,i,s=e[0].toUpperCase()+e.slice(1),o=0;o<r.length;){if((i=(n=r[o])?n+s:e)in t)return i;o++}}var w=1;function O(){return w++}function R(e){var n=e.ownerDocument||e;return n.defaultView||n.parentWindow||t}var M=/mobile|tablet|ip(ad|hone|od)|android/i,z="ontouchstart"in t,N=void 0!==D(t,"PointerEvent"),X=z&&M.test(navigator.userAgent),Y="touch",F="pen",W="mouse",q="kinect",k=25,H=1,L=2,U=4,V=8,j=1,G=2,Z=4,B=8,$=16,J=6,K=24,Q=30,tt=["x","y"],et=["clientX","clientY"];function nt(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){T(t.options.enable,[t])&&n.handler(e)},this.init()}function it(t){var e,n=t.options.inputClass;return new(e=n||(N?xt:X?Rt:z?Xt:Tt))(t,rt)}function rt(t,e,n){var i=n.pointers.length,r=n.changedPointers.length,s=1&e&&i-r==0,o=12&e&&i-r==0;n.isFirst=!!s,n.isFinal=!!o,s&&(t.session={}),n.eventType=e,st(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function st(t,e){var n=t.session,i=e.pointers,r=i.length;n.firstInput||(n.firstInput=ut(e)),r>1&&!n.firstMultiple?n.firstMultiple=ut(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,o=n.firstMultiple,a=o?o.center:s.center,c=e.center=ht(i);e.timeStamp=h(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=ft(a,c),e.distance=pt(a,c),ot(n,e),e.offsetDirection=lt(e.deltaX,e.deltaY);var l=ct(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=u(l.x)>u(l.y)?l.x:l.y,e.scale=o?vt(o.pointers,i):1,e.rotation=o?dt(o.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,at(n,e);var p=t.element;_(e.srcEvent.target,p)&&(p=e.srcEvent.target),e.target=p}function ot(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};1!==e.eventType&&4!==s.eventType||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function at(t,e){var n=t.lastInterval||e,i=e.timeStamp-n.timeStamp,r,s,o,a;if(8!=e.eventType&&(i>25||void 0===n.velocity)){var h=e.deltaX-n.deltaX,c=e.deltaY-n.deltaY,l=ct(i,h,c);s=l.x,o=l.y,r=u(l.x)>u(l.y)?l.x:l.y,a=lt(h,c),t.lastInterval=e}else r=n.velocity,s=n.velocityX,o=n.velocityY,a=n.direction;e.velocity=r,e.velocityX=s,e.velocityY=o,e.direction=a}function ut(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:a(t.pointers[n].clientX),clientY:a(t.pointers[n].clientY)},n++;return{timeStamp:h(),pointers:e,center:ht(e),deltaX:t.deltaX,deltaY:t.deltaY}}function ht(t){var e=t.length;if(1===e)return{x:a(t[0].clientX),y:a(t[0].clientY)};for(var n=0,i=0,r=0;r<e;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:a(n/e),y:a(i/e)}}function ct(t,e,n){return{x:e/t||0,y:n/t||0}}function lt(t,e){return t===e?1:u(t)>=u(e)?t<0?2:4:e<0?8:16}function pt(t,e,n){n||(n=tt);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function ft(t,e,n){n||(n=tt);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function dt(t,e){return ft(e[1],e[0],et)+ft(t[1],t[0],et)}function vt(t,e){return pt(e[0],e[1],et)/pt(t[0],t[1],et)}nt.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(R(this.element),this.evWin,this.domHandler)}};var mt={mousedown:1,mousemove:2,mouseup:4},gt="mousedown",yt="mousemove mouseup";function Tt(){this.evEl="mousedown",this.evWin="mousemove mouseup",this.pressed=!1,nt.apply(this,arguments)}g(Tt,nt,{handler:function t(e){var n=mt[e.type];1&n&&0===e.button&&(this.pressed=!0),2&n&&1!==e.which&&(n=4),this.pressed&&(4&n&&(this.pressed=!1),this.callback(this.manager,n,{pointers:[e],changedPointers:[e],pointerType:"mouse",srcEvent:e}))}});var Et={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},It={2:"touch",3:"pen",4:"mouse",5:"kinect"},At="pointerdown",_t="pointermove pointerup pointercancel";function xt(){this.evEl=At,this.evWin=_t,nt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(At="MSPointerDown",_t="MSPointerMove MSPointerUp MSPointerCancel"),g(xt,nt,{handler:function t(e){var n=this.store,i=!1,r=e.type.toLowerCase().replace("ms",""),s=Et[r],o=It[e.pointerType]||e.pointerType,a="touch"==o,u=S(n,e.pointerId,"pointerId");1&s&&(0===e.button||a)?u<0&&(n.push(e),u=n.length-1):12&s&&(i=!0),u<0||(n[u]=e,this.callback(this.manager,s,{pointers:n,changedPointers:[e],pointerType:o,srcEvent:e}),i&&n.splice(u,1))}});var Ct={touchstart:1,touchmove:2,touchend:4,touchcancel:8},St="touchstart",bt="touchstart touchmove touchend touchcancel";function Pt(){this.evTarget="touchstart",this.evWin=bt,this.started=!1,nt.apply(this,arguments)}function Dt(t,e){var n=b(t.touches),i=b(t.changedTouches);return 12&e&&(n=P(n.concat(i),"identifier",!0)),[n,i]}g(Pt,nt,{handler:function t(e){var n=Ct[e.type];if(1===n&&(this.started=!0),this.started){var i=Dt.call(this,e,n);12&n&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,n,{pointers:i[0],changedPointers:i[1],pointerType:"touch",srcEvent:e})}}});var wt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Ot="touchstart touchmove touchend touchcancel";function Rt(){this.evTarget=Ot,this.targetIds={},nt.apply(this,arguments)}function Mt(t,e){var n=b(t.touches),i=this.targetIds;if(3&e&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,s,o=b(t.changedTouches),a=[],u=this.target;if(s=n.filter((function(t){return _(t.target,u)})),1===e)for(r=0;r<s.length;)i[s[r].identifier]=!0,r++;for(r=0;r<o.length;)i[o[r].identifier]&&a.push(o[r]),12&e&&delete i[o[r].identifier],r++;return a.length?[P(s.concat(a),"identifier",!0),a]:void 0}g(Rt,nt,{handler:function t(e){var n=wt[e.type],i=Mt.call(this,e,n);i&&this.callback(this.manager,n,{pointers:i[0],changedPointers:i[1],pointerType:"touch",srcEvent:e})}});var zt=2500,Nt=25;function Xt(){nt.apply(this,arguments);var t=y(this.handler,this);this.touch=new Rt(this.manager,t),this.mouse=new Tt(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function Yt(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,Ft.call(this,e)):12&t&&Ft.call(this,e)}function Ft(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var i=this.lastTouches,r;setTimeout((function(){var t=i.indexOf(n);t>-1&&i.splice(t,1)}),2500)}}function Wt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i<this.lastTouches.length;i++){var r=this.lastTouches[i],s=Math.abs(e-r.x),o=Math.abs(n-r.y);if(s<=25&&o<=25)return!0}return!1}g(Xt,nt,{handler:function t(e,n,i){var r="touch"==i.pointerType,s="mouse"==i.pointerType;if(!(s&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(r)Yt.call(this,n,i);else if(s&&Wt.call(this,i))return;this.callback(e,n,i)}},destroy:function t(){this.touch.destroy(),this.mouse.destroy()}});var qt=D(s.style,"touchAction"),kt=void 0!==qt,Ht="compute",Lt="auto",Ut="manipulation",Vt="none",jt="pan-x",Gt="pan-y",Zt=Jt();function Bt(t,e){this.manager=t,this.set(e)}function $t(t){if(x(t,"none"))return"none";var e=x(t,"pan-x"),n=x(t,"pan-y");return e&&n?"none":e||n?e?"pan-x":"pan-y":x(t,"manipulation")?"manipulation":"auto"}function Jt(){if(!kt)return!1;var e={},n=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(i){e[i]=!n||t.CSS.supports("touch-action",i)})),e}Bt.prototype={set:function(t){"compute"==t&&(t=this.compute()),kt&&this.manager.element.style&&Zt[t]&&(this.manager.element.style[qt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return f(this.manager.recognizers,(function(e){T(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),$t(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var i=this.actions,r=x(i,"none")&&!Zt.none,s=x(i,"pan-y")&&!Zt["pan-y"],o=x(i,"pan-x")&&!Zt["pan-x"];if(r){var a=1===t.pointers.length,u=t.distance<2,h=t.deltaTime<250;if(a&&u&&h)return}if(!o||!s)return r||s&&6&n||o&&24&n?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var Kt=1,Qt=2,te=4,ee=8,ne=8,ie=16,re=32;function se(t){this.options=c({},this.defaults,t||{}),this.id=O(),this.manager=null,this.options.enable=E(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function oe(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function ae(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function ue(t,e){var n=e.manager;return n?n.get(t):t}function he(){se.apply(this,arguments)}function ce(){he.apply(this,arguments),this.pX=null,this.pY=null}function le(){he.apply(this,arguments)}function pe(){se.apply(this,arguments),this._timer=null,this._input=null}function fe(){he.apply(this,arguments)}function de(){he.apply(this,arguments)}function ve(){se.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function me(t,e){return(e=e||{}).recognizers=E(e.recognizers,me.defaults.preset),new Ee(t,e)}se.prototype={defaults:{},set:function(t){return c(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(p(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=ue(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return p(t,"dropRecognizeWith",this)?this:(t=ue(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(p(t,"requireFailure",this))return this;var e=this.requireFail;return-1===S(e,t=ue(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(p(t,"dropRequireFailure",this))return this;t=ue(t,this);var e=S(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n<8&&i(e.options.event+oe(n)),i(e.options.event),t.additionalEvent&&i(t.additionalEvent),n>=8&&i(e.options.event+oe(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=c({},t);if(!T(this.options.enable,[this,e]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},g(he,se,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=6&e,r=this.attrTest(t);return i&&(8&n||!r)?16|e:i||r?4&n?8|e:2&e?4|e:2:32}}),g(ce,he,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push("pan-y"),24&t&&e.push("pan-x"),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,s=t.deltaX,o=t.deltaY;return r&e.direction||(6&e.direction?(r=0===s?1:s<0?2:4,n=s!=this.pX,i=Math.abs(t.deltaX)):(r=0===o?1:o<0?8:16,n=o!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return he.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=ae(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(le,he,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(pe,se,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=h(),this.manager.emit(this.options.event,this._input)))}}),g(fe,he,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(de,he,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return ce.prototype.getTouchAction.call(this)},attrTest:function(t){var e=this.options.direction,n;return 30&e?n=t.overallVelocity:6&e?n=t.overallVelocityX:24&e&&(n=t.overallVelocityY),this._super.attrTest.call(this,t)&&e&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&u(n)>this.options.velocity&&4&t.eventType},emit:function(t){var e=ae(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(ve,se,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(i&&r&&n){if(4!=t.eventType)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<e.interval,o=!this.pCenter||pt(this.pCenter,t.center)<e.posThreshold,a;if(this.pTime=t.timeStamp,this.pCenter=t.center,o&&s?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=l((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return 32},failTimeout:function(){return this._timer=l((function(){this.state=32}),this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),me.VERSION="2.0.8",me.defaults={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,preset:[[fe,{enable:!1}],[le,{enable:!1},["rotate"]],[de,{direction:6}],[ce,{direction:6},["swipe"]],[ve],[ve,{event:"doubletap",taps:2},["tap"]],[pe]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ge=1,ye=2,Te;function Ee(t,e){this.options=c({},me.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=it(this),this.touchAction=new Bt(this,this.options.touchAction),Ie(this,!0),f(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function Ie(t,e){var n=t.element,i;n.style&&(f(t.options.cssProps,(function(r,s){i=D(n.style,s),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}function Ae(t,n){var i=e.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=n,n.target.dispatchEvent(i)}Ee.prototype={set:function(t){return c(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var n;this.touchAction.preventDefaults(t);var i=this.recognizers,r=e.curRecognizer;(!r||r&&8&r.state)&&(r=e.curRecognizer=null);for(var s=0;s<i.length;)n=i[s],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&14&n.state&&(r=e.curRecognizer=n),s++}},get:function(t){if(t instanceof se)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(p(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(p(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=S(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(void 0!==t&&void 0!==e){var n=this.handlers;return f(C(t),(function(t){n[t]=n[t]||[],n[t].push(e)})),this}},off:function(t,e){if(void 0!==t){var n=this.handlers;return f(C(t),(function(t){e?n[t]&&n[t].splice(S(n[t],e),1):delete n[t]})),this}},emit:function(t,e){this.options.domEvents&&Ae(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<n.length;)n[i](e),i++}},destroy:function(){this.element&&Ie(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},c(me,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:32,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:24,DIRECTION_ALL:30,Manager:Ee,Input:nt,TouchAction:Bt,TouchInput:Rt,MouseInput:Tt,PointerEventInput:xt,TouchMouseInput:Xt,SingleTouchInput:Pt,Recognizer:se,AttrRecognizer:he,Tap:ve,Pan:ce,Swipe:de,Pinch:le,Rotate:fe,Press:pe,on:I,off:A,each:f,merge:m,extend:v,assign:c,inherit:g,bindFn:y,prefixed:D}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=me,"function"==typeof define&&define.amd?define((function(){return me})):"undefined"!=typeof module&&module.exports?module.exports=me:t.Hammer=me}(window,document,"Hammer");