(function(){var n={ObjectAssign:function(){"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(n){"use strict";var u,i,t,r;if(null==n)throw new TypeError("Cannot convert undefined or null to object");for(u=Object(n),i=1;i<arguments.length;i++)if(t=arguments[i],null!=t)for(r in t)Object.prototype.hasOwnProperty.call(t,r)&&(u[r]=t[r]);return u},writable:!0,configurable:!0})},Matches:function(){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector)},CustomEvent:function(){!function(){function n(n,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),i}if("function"==typeof CustomEvent)return!1;n.prototype=window.Event.prototype;window.CustomEvent=n}()}};n.ObjectAssign();n.Matches();n.CustomEvent()})();Module=window.Module||{};Module.Utils=function(){return{Debounce:function(n,t,i){var r;return function(){var u=this,f=arguments,e=function(){r=null;i||n.apply(u,f)},o=i&&!r;clearTimeout(r);r=setTimeout(e,t);o&&n.apply(u,f)}},Throttle:function(n,t,i){i=i||window;var r=!1,u=function(){r||(r=!0,requestAnimationFrame(function(){i.dispatchEvent(new CustomEvent(t));r=!1}))};i.addEventListener(n,u)}}}()