const eventListenerOptionsSupported=()=>{let e=!1;try{const t=Object.defineProperty({},"passive",{get(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){return e}return e},defaultOptions={passive:!0,capture:!1},supportedPassiveTypes=["touchstart"],getDefaultPassiveOption=(e,t)=>e||-1!==supportedPassiveTypes.indexOf(t)&&defaultOptions.passive,getWritableOptions=e=>{const t=Object.getOwnPropertyDescriptor(e,"passive");return t&&!0!==t.writable&&!t.set?Object.assign({},e):e},overwriteAddEvent=e=>{EventTarget.prototype.addEventListener=function(t,s,n){const r="object"==typeof n&&null!==n,i=r?n.capture:n,p=r?getWritableOptions(n):{};p.passive=getDefaultPassiveOption(p.passive,t),p.capture=i||defaultOptions.capture,e.call(this,t,s,p)},EventTarget.prototype.addEventListener._original=e},supportsPassive=eventListenerOptionsSupported();if(supportsPassive){overwriteAddEvent(EventTarget.prototype.addEventListener)}