UNPKG

@tindtechnologies/universalviewer

Version:

The Universal Viewer is a community-developed open source project on a mission to help you share your 📚📜📰📽️📻🗿 with the 🌎

1 lines 360 kB
import{a as Wt}from"./chunk-3UUJB7QR.js";import{a as jt}from"./chunk-CHPN5XCG.js";import{a as Zt}from"./chunk-7FDKMLDJ.js";import{a as Ut,b as ii,c as le,d as ni,e as Ft,f as we,g as Lt}from"./chunk-GTOGB4AX.js";import"./chunk-BYXBJQAS.js";import{b as Nt,d as je,e as Gt,g as tt,h as Qt,i as Ht,j as Ot,k as zt}from"./chunk-PYNED64U.js";import{a as wt,b as Et,c as et}from"./chunk-J6QTJS4P.js";import{a as y}from"./chunk-M4MN2QTO.js";import{a as ft,b as ee,g as vt,h as Bt,i as _e,j as bt,k as Mt,o as ie}from"./chunk-IRIM6TPQ.js";import{a as Dt,b as Pe,c as Pt,e as kt,g as qe}from"./chunk-5XPHF4E5.js";import{c as St,d as be}from"./chunk-L67DAW3A.js";var ut=St((Jt,ht)=>{function L(t){return new L.Viewer(t)}(function(t){t.version={versionStr:"4.0.0",major:parseInt("4",10),minor:parseInt("0",10),revision:parseInt("0",10)};var i={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object"},e=Object.prototype.toString,o=Object.prototype.hasOwnProperty;t.isFunction=function(a){return t.type(a)==="function"},t.isArray=Array.isArray||function(a){return t.type(a)==="array"},t.isWindow=function(a){return a&&typeof a=="object"&&"setInterval"in a},t.type=function(a){return a==null?String(a):i[e.call(a)]||"object"},t.isPlainObject=function(a){if(!a||L.type(a)!=="object"||a.nodeType||t.isWindow(a)||a.constructor&&!o.call(a,"constructor")&&!o.call(a.constructor.prototype,"isPrototypeOf"))return!1;var n;for(var s in a)n=s;return n===void 0||o.call(a,n)},t.isEmptyObject=function(a){for(var n in a)return!1;return!0},t.freezeObject=function(a){return Object.freeze?t.freezeObject=Object.freeze:t.freezeObject=function(n){return n},t.freezeObject(a)},t.supportsCanvas=function(){var a=document.createElement("canvas");return!!(t.isFunction(a.getContext)&&a.getContext("2d"))}(),t.isCanvasTainted=function(a){var n=!1;try{a.getContext("2d").getImageData(0,0,1,1)}catch{n=!0}return n},t.supportsAddEventListener=function(){return!!(document.documentElement.addEventListener&&document.addEventListener)}(),t.supportsRemoveEventListener=function(){return!!(document.documentElement.removeEventListener&&document.removeEventListener)}(),t.supportsEventListenerOptions=function(){var a=0;if(t.supportsAddEventListener)try{var n={get capture(){return a++,!1},get once(){return a++,!1},get passive(){return a++,!1}};window.addEventListener("test",null,n),window.removeEventListener("test",null,n)}catch{a=0}return a>=3}(),t.getCurrentPixelDensityRatio=function(){if(t.supportsCanvas){var a=document.createElement("canvas").getContext("2d"),n=window.devicePixelRatio||1,s=a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1;return Math.max(n,1)/s}else return 1},t.pixelDensityRatio=t.getCurrentPixelDensityRatio()})(L);(function(t){t.extend=function(){var s,r,A,l,u,g,m=arguments[0]||{},w=arguments.length,b=!1,E=1;for(typeof m=="boolean"&&(b=m,m=arguments[1]||{},E=2),typeof m!="object"&&!L.isFunction(m)&&(m={}),w===E&&(m=this,--E);E<w;E++)if(s=arguments[E],s!==null||s!==void 0)for(r in s){var I=Object.getOwnPropertyDescriptor(s,r);if(I!==void 0){if(I.get||I.set){Object.defineProperty(m,r,I);continue}l=I.value}else{t.console.warn('Could not copy inherited property "'+r+'".');continue}m!==l&&(b&&l&&(L.isPlainObject(l)||(u=L.isArray(l)))?(A=m[r],u?(u=!1,g=A&&L.isArray(A)?A:[]):g=A&&L.isPlainObject(A)?A:{},m[r]=L.extend(b,g,l)):l!==void 0&&(m[r]=l))}return m};var i=function(){if(typeof navigator!="object")return!1;var s=navigator.userAgent;return typeof s!="string"?!1:s.indexOf("iPhone")!==-1||s.indexOf("iPad")!==-1||s.indexOf("iPod")!==-1};t.extend(t,{DEFAULT_SETTINGS:{xmlPath:null,tileSources:null,tileHost:null,initialPage:0,crossOriginPolicy:!1,ajaxWithCredentials:!1,loadTilesWithAjax:!1,ajaxHeaders:{},splitHashDataForPost:!1,panHorizontal:!0,panVertical:!0,constrainDuringPan:!1,wrapHorizontal:!1,wrapVertical:!1,visibilityRatio:.5,minPixelRatio:.5,defaultZoomLevel:0,minZoomLevel:null,maxZoomLevel:null,homeFillsViewer:!1,clickTimeThreshold:300,clickDistThreshold:5,dblClickTimeThreshold:300,dblClickDistThreshold:20,springStiffness:6.5,animationTime:1.2,gestureSettingsMouse:{dragToPan:!0,scrollToZoom:!0,clickToZoom:!0,dblClickToZoom:!1,dblClickDragToZoom:!1,pinchToZoom:!1,zoomToRefPoint:!0,flickEnabled:!1,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},gestureSettingsTouch:{dragToPan:!0,scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!0,dblClickDragToZoom:!0,pinchToZoom:!0,zoomToRefPoint:!0,flickEnabled:!0,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},gestureSettingsPen:{dragToPan:!0,scrollToZoom:!1,clickToZoom:!0,dblClickToZoom:!1,dblClickDragToZoom:!1,pinchToZoom:!1,zoomToRefPoint:!0,flickEnabled:!1,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},gestureSettingsUnknown:{dragToPan:!0,scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!0,dblClickDragToZoom:!1,pinchToZoom:!0,zoomToRefPoint:!0,flickEnabled:!0,flickMinSpeed:120,flickMomentum:.25,pinchRotate:!1},zoomPerClick:2,zoomPerScroll:1.2,zoomPerDblClickDrag:1.2,zoomPerSecond:1,blendTime:0,alwaysBlend:!1,autoHideControls:!0,immediateRender:!1,minZoomImageRatio:.9,maxZoomPixelRatio:1.1,smoothTileEdgesMinZoom:1.1,iOSDevice:i(),pixelsPerWheelLine:40,pixelsPerArrowPress:40,autoResize:!0,preserveImageSizeOnResize:!1,minScrollDeltaTime:50,rotationIncrement:90,showSequenceControl:!0,sequenceControlAnchor:null,preserveViewport:!1,preserveOverlays:!1,navPrevNextWrap:!1,showNavigationControl:!0,navigationControlAnchor:null,showZoomControl:!0,showHomeControl:!0,showFullPageControl:!0,showRotationControl:!1,showFlipControl:!1,controlsFadeDelay:2e3,controlsFadeLength:1500,mouseNavEnabled:!0,showNavigator:!1,navigatorElement:null,navigatorId:null,navigatorPosition:null,navigatorSizeRatio:.2,navigatorMaintainSizeRatio:!1,navigatorTop:null,navigatorLeft:null,navigatorHeight:null,navigatorWidth:null,navigatorAutoResize:!0,navigatorAutoFade:!0,navigatorRotate:!0,navigatorBackground:"#000",navigatorOpacity:.8,navigatorBorderColor:"#555",navigatorDisplayRegionColor:"#900",degrees:0,flipped:!1,opacity:1,preload:!1,compositeOperation:null,imageSmoothingEnabled:!0,placeholderFillStyle:null,subPixelRoundingForTransparency:null,showReferenceStrip:!1,referenceStripScroll:"horizontal",referenceStripElement:null,referenceStripHeight:null,referenceStripWidth:null,referenceStripPosition:"BOTTOM_LEFT",referenceStripSizeRatio:.2,collectionRows:3,collectionColumns:0,collectionLayout:"horizontal",collectionMode:!1,collectionTileSize:800,collectionTileMargin:80,imageLoaderLimit:0,maxImageCacheCount:200,timeout:3e4,useCanvas:!0,prefixUrl:"/images/",navImages:{zoomIn:{REST:"zoomin_rest.png",GROUP:"zoomin_grouphover.png",HOVER:"zoomin_hover.png",DOWN:"zoomin_pressed.png"},zoomOut:{REST:"zoomout_rest.png",GROUP:"zoomout_grouphover.png",HOVER:"zoomout_hover.png",DOWN:"zoomout_pressed.png"},home:{REST:"home_rest.png",GROUP:"home_grouphover.png",HOVER:"home_hover.png",DOWN:"home_pressed.png"},fullpage:{REST:"fullpage_rest.png",GROUP:"fullpage_grouphover.png",HOVER:"fullpage_hover.png",DOWN:"fullpage_pressed.png"},rotateleft:{REST:"rotateleft_rest.png",GROUP:"rotateleft_grouphover.png",HOVER:"rotateleft_hover.png",DOWN:"rotateleft_pressed.png"},rotateright:{REST:"rotateright_rest.png",GROUP:"rotateright_grouphover.png",HOVER:"rotateright_hover.png",DOWN:"rotateright_pressed.png"},flip:{REST:"flip_rest.png",GROUP:"flip_grouphover.png",HOVER:"flip_hover.png",DOWN:"flip_pressed.png"},previous:{REST:"previous_rest.png",GROUP:"previous_grouphover.png",HOVER:"previous_hover.png",DOWN:"previous_pressed.png"},next:{REST:"next_rest.png",GROUP:"next_grouphover.png",HOVER:"next_hover.png",DOWN:"next_pressed.png"}},debugMode:!1,debugGridColor:["#437AB2","#1B9E77","#D95F02","#7570B3","#E7298A","#66A61E","#E6AB02","#A6761D","#666666"],silenceMultiImageWarnings:!1},SIGNAL:"----seadragon----",delegate:function(s,r){return function(){var A=arguments;return A===void 0&&(A=[]),r.apply(s,A)}},BROWSERS:{UNKNOWN:0,IE:1,FIREFOX:2,SAFARI:3,CHROME:4,OPERA:5,EDGE:6,CHROMEEDGE:7},SUBPIXEL_ROUNDING_OCCURRENCES:{NEVER:0,ONLY_AT_REST:1,ALWAYS:2},_viewers:new Map,getViewer:function(s){return t._viewers.get(this.getElement(s))},getElement:function(s){return typeof s=="string"&&(s=document.getElementById(s)),s},getElementPosition:function(s){var r=new t.Point,A,l;for(s=t.getElement(s),A=t.getElementStyle(s).position==="fixed",l=n(s,A);l;)r.x+=s.offsetLeft,r.y+=s.offsetTop,A&&(r=r.plus(t.getPageScroll())),s=l,A=t.getElementStyle(s).position==="fixed",l=n(s,A);return r},getElementOffset:function(s){s=t.getElement(s);var r=s&&s.ownerDocument,A,l,u={top:0,left:0};return r?(A=r.documentElement,typeof s.getBoundingClientRect<"u"&&(u=s.getBoundingClientRect()),l=r===r.window?r:r.nodeType===9?r.defaultView||r.parentWindow:!1,new t.Point(u.left+(l.pageXOffset||A.scrollLeft)-(A.clientLeft||0),u.top+(l.pageYOffset||A.scrollTop)-(A.clientTop||0))):new t.Point},getElementSize:function(s){return s=t.getElement(s),new t.Point(s.clientWidth,s.clientHeight)},getElementStyle:document.documentElement.currentStyle?function(s){return s=t.getElement(s),s.currentStyle}:function(s){return s=t.getElement(s),window.getComputedStyle(s,"")},getCssPropertyWithVendorPrefix:function(s){var r={};return t.getCssPropertyWithVendorPrefix=function(A){if(r[A]!==void 0)return r[A];var l=document.createElement("div").style,u=null;if(l[A]!==void 0)u=A;else for(var g=["Webkit","Moz","MS","O","webkit","moz","ms","o"],m=t.capitalizeFirstLetter(A),w=0;w<g.length;w++){var b=g[w]+m;if(l[b]!==void 0){u=b;break}}return r[A]=u,u},t.getCssPropertyWithVendorPrefix(s)},capitalizeFirstLetter:function(s){return s.charAt(0).toUpperCase()+s.slice(1)},positiveModulo:function(s,r){var A=s%r;return A<0&&(A+=r),A},pointInElement:function(s,r){s=t.getElement(s);var A=t.getElementOffset(s),l=t.getElementSize(s);return r.x>=A.x&&r.x<A.x+l.x&&r.y<A.y+l.y&&r.y>=A.y},getMousePosition:function(s){if(typeof s.pageX=="number")t.getMousePosition=function(r){var A=new t.Point;return A.x=r.pageX,A.y=r.pageY,A};else if(typeof s.clientX=="number")t.getMousePosition=function(r){var A=new t.Point;return A.x=r.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,A.y=r.clientY+document.body.scrollTop+document.documentElement.scrollTop,A};else throw new Error("Unknown event mouse position, no known technique.");return t.getMousePosition(s)},getPageScroll:function(){var s=document.documentElement||{},r=document.body||{};if(typeof window.pageXOffset=="number")t.getPageScroll=function(){return new t.Point(window.pageXOffset,window.pageYOffset)};else if(r.scrollLeft||r.scrollTop)t.getPageScroll=function(){return new t.Point(document.body.scrollLeft,document.body.scrollTop)};else if(s.scrollLeft||s.scrollTop)t.getPageScroll=function(){return new t.Point(document.documentElement.scrollLeft,document.documentElement.scrollTop)};else return new t.Point(0,0);return t.getPageScroll()},setPageScroll:function(s){if(typeof window.scrollTo<"u")t.setPageScroll=function(l){window.scrollTo(l.x,l.y)};else{var r=t.getPageScroll();if(r.x===s.x&&r.y===s.y)return;document.body.scrollLeft=s.x,document.body.scrollTop=s.y;var A=t.getPageScroll();if(A.x!==r.x&&A.y!==r.y){t.setPageScroll=function(l){document.body.scrollLeft=l.x,document.body.scrollTop=l.y};return}if(document.documentElement.scrollLeft=s.x,document.documentElement.scrollTop=s.y,A=t.getPageScroll(),A.x!==r.x&&A.y!==r.y){t.setPageScroll=function(l){document.documentElement.scrollLeft=l.x,document.documentElement.scrollTop=l.y};return}t.setPageScroll=function(l){}}t.setPageScroll(s)},getWindowSize:function(){var s=document.documentElement||{},r=document.body||{};if(typeof window.innerWidth=="number")t.getWindowSize=function(){return new t.Point(window.innerWidth,window.innerHeight)};else if(s.clientWidth||s.clientHeight)t.getWindowSize=function(){return new t.Point(document.documentElement.clientWidth,document.documentElement.clientHeight)};else if(r.clientWidth||r.clientHeight)t.getWindowSize=function(){return new t.Point(document.body.clientWidth,document.body.clientHeight)};else throw new Error("Unknown window size, no known technique.");return t.getWindowSize()},makeCenteredNode:function(s){s=t.getElement(s);var r=[t.makeNeutralElement("div"),t.makeNeutralElement("div"),t.makeNeutralElement("div")];return t.extend(r[0].style,{display:"table",height:"100%",width:"100%"}),t.extend(r[1].style,{display:"table-row"}),t.extend(r[2].style,{display:"table-cell",verticalAlign:"middle",textAlign:"center"}),r[0].appendChild(r[1]),r[1].appendChild(r[2]),r[2].appendChild(s),r[0]},makeNeutralElement:function(s){var r=document.createElement(s),A=r.style;return A.background="transparent none",A.border="none",A.margin="0px",A.padding="0px",A.position="static",r},now:function(){return Date.now?t.now=Date.now:t.now=function(){return new Date().getTime()},t.now()},makeTransparentImage:function(s){var r=t.makeNeutralElement("img");return r.src=s,r},setElementOpacity:function(s,r,A){var l,u;s=t.getElement(s),A&&!t.Browser.alpha&&(r=Math.round(r)),t.Browser.opacity?s.style.opacity=r<1?r:"":r<1?(l=Math.round(100*r),u="alpha(opacity="+l+")",s.style.filter=u):s.style.filter=""},setElementTouchActionNone:function(s){s=t.getElement(s),typeof s.style.touchAction<"u"?s.style.touchAction="none":typeof s.style.msTouchAction<"u"&&(s.style.msTouchAction="none")},setElementPointerEvents:function(s,r){s=t.getElement(s),typeof s.style<"u"&&typeof s.style.pointerEvents<"u"&&(s.style.pointerEvents=r)},setElementPointerEventsNone:function(s){t.setElementPointerEvents(s,"none")},addClass:function(s,r){s=t.getElement(s),s.className?(" "+s.className+" ").indexOf(" "+r+" ")===-1&&(s.className+=" "+r):s.className=r},indexOf:function(s,r,A){return Array.prototype.indexOf?this.indexOf=function(l,u,g){return l.indexOf(u,g)}:this.indexOf=function(l,u,g){var m,w=g||0,b;if(!l)throw new TypeError;if(b=l.length,b===0||w>=b)return-1;for(w<0&&(w=b-Math.abs(w)),m=w;m<b;m++)if(l[m]===u)return m;return-1},this.indexOf(s,r,A)},removeClass:function(s,r){var A,l=[],u;for(s=t.getElement(s),A=s.className.split(/\s+/),u=0;u<A.length;u++)A[u]&&A[u]!==r&&l.push(A[u]);s.className=l.join(" ")},normalizeEventListenerOptions:function(s){var r;return typeof s<"u"?typeof s=="boolean"?r=t.supportsEventListenerOptions?{capture:s}:s:r=t.supportsEventListenerOptions?s:typeof s.capture<"u"?s.capture:!1:r=t.supportsEventListenerOptions?{capture:!1}:!1,r},addEvent:function(){if(t.supportsAddEventListener)return function(s,r,A,l){l=t.normalizeEventListenerOptions(l),s=t.getElement(s),s.addEventListener(r,A,l)};if(document.documentElement.attachEvent&&document.attachEvent)return function(s,r,A){s=t.getElement(s),s.attachEvent("on"+r,A)};throw new Error("No known event model.")}(),removeEvent:function(){if(t.supportsRemoveEventListener)return function(s,r,A,l){l=t.normalizeEventListenerOptions(l),s=t.getElement(s),s.removeEventListener(r,A,l)};if(document.documentElement.detachEvent&&document.detachEvent)return function(s,r,A){s=t.getElement(s),s.detachEvent("on"+r,A)};throw new Error("No known event model.")}(),cancelEvent:function(s){s.preventDefault()},eventIsCanceled:function(s){return s.defaultPrevented},stopEvent:function(s){s.stopPropagation()},createCallback:function(s,r){var A=[],l;for(l=2;l<arguments.length;l++)A.push(arguments[l]);return function(){var u=A.concat([]),g;for(g=0;g<arguments.length;g++)u.push(arguments[g]);return r.apply(s,u)}},getUrlParameter:function(s){var r=a[s];return r||null},getUrlProtocol:function(s){var r=s.match(/^([a-z]+:)\/\//i);return r===null?window.location.protocol:r[1].toLowerCase()},createAjaxRequest:function(s){var r;try{r=!!new ActiveXObject("Microsoft.XMLHTTP")}catch{r=!1}if(r)window.XMLHttpRequest?t.createAjaxRequest=function(A){return A?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest}:t.createAjaxRequest=function(){return new ActiveXObject("Microsoft.XMLHTTP")};else if(window.XMLHttpRequest)t.createAjaxRequest=function(){return new XMLHttpRequest};else throw new Error("Browser doesn't support XMLHttpRequest.");return t.createAjaxRequest(s)},makeAjaxRequest:function(s,r,A){var l,u,g,m;t.isPlainObject(s)&&(r=s.success,A=s.error,l=s.withCredentials,u=s.headers,g=s.responseType||null,m=s.postData||null,s=s.url);var w=t.getUrlProtocol(s),b=t.createAjaxRequest(w==="file:");if(!t.isFunction(r))throw new Error("makeAjaxRequest requires a success callback");b.onreadystatechange=function(){b.readyState===4&&(b.onreadystatechange=function(){},b.status>=200&&b.status<300||b.status===0&&w!=="http:"&&w!=="https:"?r(b):t.isFunction(A)?A(b):t.console.error("AJAX request returned %d: %s",b.status,s))};var E=m?"POST":"GET";try{if(b.open(E,s,!0),g&&(b.responseType=g),u)for(var I in u)Object.prototype.hasOwnProperty.call(u,I)&&u[I]&&b.setRequestHeader(I,u[I]);l&&(b.withCredentials=!0),b.send(m)}catch(S){t.console.error("%s while making AJAX request: %s",S.name,S.message),b.onreadystatechange=function(){},t.isFunction(A)&&A(b,S)}return b},jsonp:function(s){var r,A=s.url,l=document.head||document.getElementsByTagName("head")[0]||document.documentElement,u=s.callbackName||"openseadragon"+t.now(),g=window[u],m="$1"+u+"$2",w=s.param||"callback",b=s.callback;A=A.replace(/(=)\?(&|$)|\?\?/i,m),A+=(/\?/.test(A)?"&":"?")+w+"="+u,window[u]=function(E){if(g)window[u]=g;else try{delete window[u]}catch{}b&&t.isFunction(b)&&b(E)},r=document.createElement("script"),(s.async!==void 0||s.async!==!1)&&(r.async="async"),s.scriptCharset&&(r.charset=s.scriptCharset),r.src=A,r.onload=r.onreadystatechange=function(E,I){(I||!r.readyState||/loaded|complete/.test(r.readyState))&&(r.onload=r.onreadystatechange=null,l&&r.parentNode&&l.removeChild(r),r=void 0)},l.insertBefore(r,l.firstChild)},createFromDZI:function(){throw"OpenSeadragon.createFromDZI is deprecated, use Viewer.open."},parseXml:function(s){if(window.DOMParser)t.parseXml=function(r){var A=null,l;return l=new DOMParser,A=l.parseFromString(r,"text/xml"),A};else if(window.ActiveXObject)t.parseXml=function(r){var A=null;return A=new ActiveXObject("Microsoft.XMLDOM"),A.async=!1,A.loadXML(r),A};else throw new Error("Browser doesn't support XML DOM.");return t.parseXml(s)},parseJSON:function(s){return t.parseJSON=window.JSON.parse,t.parseJSON(s)},imageFormatSupported:function(s){return s=s||"",!!o[s.toLowerCase()]},setImageFormatsSupported:function(s){t.extend(o,s)}});var e=function(s){};t.console=window.console||{log:e,debug:e,info:e,warn:e,error:e,assert:e},t.Browser={vendor:t.BROWSERS.UNKNOWN,version:0,alpha:!0};var o={bmp:!1,jpeg:!0,jpg:!0,png:!0,tif:!1,wdp:!1},a={};(function(){var s=navigator.appVersion,r=navigator.userAgent,A;switch(navigator.appName){case"Microsoft Internet Explorer":window.attachEvent&&window.ActiveXObject&&(t.Browser.vendor=t.BROWSERS.IE,t.Browser.version=parseFloat(r.substring(r.indexOf("MSIE")+5,r.indexOf(";",r.indexOf("MSIE")))));break;case"Netscape":window.addEventListener&&(r.indexOf("Edge")>=0?(t.Browser.vendor=t.BROWSERS.EDGE,t.Browser.version=parseFloat(r.substring(r.indexOf("Edge")+5))):r.indexOf("Edg")>=0?(t.Browser.vendor=t.BROWSERS.CHROMEEDGE,t.Browser.version=parseFloat(r.substring(r.indexOf("Edg")+4))):r.indexOf("Firefox")>=0?(t.Browser.vendor=t.BROWSERS.FIREFOX,t.Browser.version=parseFloat(r.substring(r.indexOf("Firefox")+8))):r.indexOf("Safari")>=0?(t.Browser.vendor=r.indexOf("Chrome")>=0?t.BROWSERS.CHROME:t.BROWSERS.SAFARI,t.Browser.version=parseFloat(r.substring(r.substring(0,r.indexOf("Safari")).lastIndexOf("/")+1,r.indexOf("Safari")))):(A=new RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})"),A.exec(r)!==null&&(t.Browser.vendor=t.BROWSERS.IE,t.Browser.version=parseFloat(RegExp.$1))));break;case"Opera":t.Browser.vendor=t.BROWSERS.OPERA,t.Browser.version=parseFloat(s);break}var l=window.location.search.substring(1),u=l.split("&"),g,m,w;for(w=0;w<u.length;w++)if(g=u[w],m=g.indexOf("="),m>0){var b=g.substring(0,m),E=g.substring(m+1);try{a[b]=decodeURIComponent(E)}catch{t.console.error("Ignoring malformed URL parameter: %s=%s",b,E)}}t.Browser.alpha=!(t.Browser.vendor===t.BROWSERS.CHROME&&t.Browser.version<2),t.Browser.opacity=!0,t.Browser.vendor===t.BROWSERS.IE&&t.Browser.version<11&&t.console.error("Internet Explorer versions < 11 are not supported by OpenSeadragon")})(),function(s){var r=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,A=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame;if(r&&A)t.requestAnimationFrame=function(){return r.apply(s,arguments)},t.cancelAnimationFrame=function(){return A.apply(s,arguments)};else{var l=[],u=[],g=0,m;t.requestAnimationFrame=function(w){return l.push([++g,w]),m||(m=setInterval(function(){if(l.length){var b=t.now(),E=u;for(u=l,l=E;u.length;)u.shift()[1](b)}else clearInterval(m),m=void 0},1e3/50)),g},t.cancelAnimationFrame=function(w){var b,E;for(b=0,E=l.length;b<E;b+=1)if(l[b][0]===w){l.splice(b,1);return}for(b=0,E=u.length;b<E;b+=1)if(u[b][0]===w){u.splice(b,1);return}}}}(window);function n(s,r){return r&&s!==document.body?document.body:s.offsetParent}})(L);(function(t,i){typeof define=="function"&&define.amd?define([],i):typeof ht=="object"&&ht.exports?ht.exports=i():t.OpenSeadragon=i()})(Jt,function(){return L});(function(t){var i={supportsFullScreen:!1,isFullScreen:function(){return!1},getFullScreenElement:function(){return null},requestFullScreen:function(){},exitFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",fullScreenErrorEventName:""};document.exitFullscreen?(i.supportsFullScreen=!0,i.getFullScreenElement=function(){return document.fullscreenElement},i.requestFullScreen=function(e){return e.requestFullscreen()},i.exitFullScreen=function(){document.exitFullscreen()},i.fullScreenEventName="fullscreenchange",i.fullScreenErrorEventName="fullscreenerror"):document.msExitFullscreen?(i.supportsFullScreen=!0,i.getFullScreenElement=function(){return document.msFullscreenElement},i.requestFullScreen=function(e){return e.msRequestFullscreen()},i.exitFullScreen=function(){document.msExitFullscreen()},i.fullScreenEventName="MSFullscreenChange",i.fullScreenErrorEventName="MSFullscreenError"):document.webkitExitFullscreen?(i.supportsFullScreen=!0,i.getFullScreenElement=function(){return document.webkitFullscreenElement},i.requestFullScreen=function(e){return e.webkitRequestFullscreen()},i.exitFullScreen=function(){document.webkitExitFullscreen()},i.fullScreenEventName="webkitfullscreenchange",i.fullScreenErrorEventName="webkitfullscreenerror"):document.webkitCancelFullScreen?(i.supportsFullScreen=!0,i.getFullScreenElement=function(){return document.webkitCurrentFullScreenElement},i.requestFullScreen=function(e){return e.webkitRequestFullScreen()},i.exitFullScreen=function(){document.webkitCancelFullScreen()},i.fullScreenEventName="webkitfullscreenchange",i.fullScreenErrorEventName="webkitfullscreenerror"):document.mozCancelFullScreen&&(i.supportsFullScreen=!0,i.getFullScreenElement=function(){return document.mozFullScreenElement},i.requestFullScreen=function(e){return e.mozRequestFullScreen()},i.exitFullScreen=function(){document.mozCancelFullScreen()},i.fullScreenEventName="mozfullscreenchange",i.fullScreenErrorEventName="mozfullscreenerror"),i.isFullScreen=function(){return i.getFullScreenElement()!==null},i.cancelFullScreen=function(){t.console.error("cancelFullScreen is deprecated. Use exitFullScreen instead."),i.exitFullScreen()},t.extend(t,i)})(L);(function(t){t.EventSource=function(){this.events={}},t.EventSource.prototype={addOnceHandler:function(i,e,o,a){var n=this;a=a||1;var s=0,r=function(A){s++,s===a&&n.removeHandler(i,r),e(A)};this.addHandler(i,r,o)},addHandler:function(i,e,o){var a=this.events[i];a||(this.events[i]=a=[]),e&&t.isFunction(e)&&(a[a.length]={handler:e,userData:o||null})},removeHandler:function(i,e){var o=this.events[i],a=[],n;if(o&&t.isArray(o)){for(n=0;n<o.length;n++)o[n].handler!==e&&a.push(o[n]);this.events[i]=a}},numberOfHandlers:function(i){var e=this.events[i];return e?e.length:0},removeAllHandlers:function(i){if(i)this.events[i]=[];else for(var e in this.events)this.events[e]=[]},getHandler:function(i){var e=this.events[i];return!e||!e.length?null:(e=e.length===1?[e[0]]:Array.apply(null,e),function(o,a){var n,s=e.length;for(n=0;n<s;n++)e[n]&&(a.eventSource=o,a.userData=e[n].userData,e[n].handler(a))})},raiseEvent:function(i,e){var o=this.getHandler(i);o&&(e||(e={}),o(this,e))}}})(L);(function(t){var i=[],e={};t.MouseTracker=function(d){i.push(this);var c=arguments;t.isPlainObject(d)||(d={element:c[0],clickTimeThreshold:c[1],clickDistThreshold:c[2]}),this.hash=Math.random(),this.element=t.getElement(d.element),this.clickTimeThreshold=d.clickTimeThreshold||t.DEFAULT_SETTINGS.clickTimeThreshold,this.clickDistThreshold=d.clickDistThreshold||t.DEFAULT_SETTINGS.clickDistThreshold,this.dblClickTimeThreshold=d.dblClickTimeThreshold||t.DEFAULT_SETTINGS.dblClickTimeThreshold,this.dblClickDistThreshold=d.dblClickDistThreshold||t.DEFAULT_SETTINGS.dblClickDistThreshold,this.userData=d.userData||null,this.stopDelay=d.stopDelay||50,this.preProcessEventHandler=d.preProcessEventHandler||null,this.contextMenuHandler=d.contextMenuHandler||null,this.enterHandler=d.enterHandler||null,this.leaveHandler=d.leaveHandler||null,this.exitHandler=d.exitHandler||null,this.overHandler=d.overHandler||null,this.outHandler=d.outHandler||null,this.pressHandler=d.pressHandler||null,this.nonPrimaryPressHandler=d.nonPrimaryPressHandler||null,this.releaseHandler=d.releaseHandler||null,this.nonPrimaryReleaseHandler=d.nonPrimaryReleaseHandler||null,this.moveHandler=d.moveHandler||null,this.scrollHandler=d.scrollHandler||null,this.clickHandler=d.clickHandler||null,this.dblClickHandler=d.dblClickHandler||null,this.dragHandler=d.dragHandler||null,this.dragEndHandler=d.dragEndHandler||null,this.pinchHandler=d.pinchHandler||null,this.stopHandler=d.stopHandler||null,this.keyDownHandler=d.keyDownHandler||null,this.keyUpHandler=d.keyUpHandler||null,this.keyHandler=d.keyHandler||null,this.focusHandler=d.focusHandler||null,this.blurHandler=d.blurHandler||null;var p=this;e[this.hash]={click:function(f){z(p,f)},dblclick:function(f){Y(p,f)},keydown:function(f){j(p,f)},keyup:function(f){W(p,f)},keypress:function(f){V(p,f)},focus:function(f){X(p,f)},blur:function(f){Ae(p,f)},contextmenu:function(f){oe(p,f)},wheel:function(f){re(p,f)},mousewheel:function(f){ge(p,f)},DOMMouseScroll:function(f){ge(p,f)},MozMousePixelScroll:function(f){ge(p,f)},losecapture:function(f){De(p,f)},mouseenter:function(f){Le(p,f)},mouseleave:function(f){Te(p,f)},mouseover:function(f){Qe(p,f)},mouseout:function(f){ce(p,f)},mousedown:function(f){He(p,f)},mouseup:function(f){pe(p,f)},mousemove:function(f){ze(p,f)},touchstart:function(f){fe(p,f)},touchend:function(f){Ie(p,f)},touchmove:function(f){Be(p,f)},touchcancel:function(f){Re(p,f)},gesturestart:function(f){Ce(p,f)},gesturechange:function(f){Z(p,f)},gotpointercapture:function(f){Ue(p,f)},lostpointercapture:function(f){Fe(p,f)},pointerenter:function(f){Le(p,f)},pointerleave:function(f){Te(p,f)},pointerover:function(f){Qe(p,f)},pointerout:function(f){ce(p,f)},pointerdown:function(f){He(p,f)},pointerup:function(f){pe(p,f)},pointermove:function(f){ze(p,f)},pointercancel:function(f){h(p,f)},pointerupcaptured:function(f){Je(p,f)},pointermovecaptured:function(f){Xe(p,f)},tracking:!1,activePointersLists:[],lastClickPos:null,dblClickTimeOut:null,pinchGPoints:[],lastPinchDist:0,currentPinchDist:0,lastPinchCenter:null,currentPinchCenter:null,sentDragEvent:!1},this.hasGestureHandlers=!!(this.pressHandler||this.nonPrimaryPressHandler||this.releaseHandler||this.nonPrimaryReleaseHandler||this.clickHandler||this.dblClickHandler||this.dragHandler||this.dragEndHandler||this.pinchHandler),this.hasScrollHandler=!!this.scrollHandler,t.MouseTracker.havePointerEvents&&t.setElementPointerEvents(this.element,"auto"),this.exitHandler&&t.console.error("MouseTracker.exitHandler is deprecated. Use MouseTracker.leaveHandler instead."),d.startDisabled||this.setTracking(!0)},t.MouseTracker.prototype={destroy:function(){var d;for(r(this),this.element=null,d=0;d<i.length;d++)if(i[d]===this){i.splice(d,1);break}e[this.hash]=null,delete e[this.hash]},isTracking:function(){return e[this.hash].tracking},setTracking:function(d){return d?s(this):r(this),this},getActivePointersListByType:function(d){var c=e[this.hash],p,f=c.activePointersLists.length,R;for(p=0;p<f;p++)if(c.activePointersLists[p].type===d)return c.activePointersLists[p];return R=new t.MouseTracker.GesturePointList(d),c.activePointersLists.push(R),R},getActivePointerCount:function(){var d=e[this.hash],c,p=d.activePointersLists.length,f=0;for(c=0;c<p;c++)f+=d.activePointersLists[c].getLength();return f},preProcessEventHandler:function(){},contextMenuHandler:function(){},enterHandler:function(){},leaveHandler:function(){},exitHandler:function(){},overHandler:function(){},outHandler:function(){},pressHandler:function(){},nonPrimaryPressHandler:function(){},releaseHandler:function(){},nonPrimaryReleaseHandler:function(){},moveHandler:function(){},scrollHandler:function(){},clickHandler:function(){},dblClickHandler:function(){},dragHandler:function(){},dragEndHandler:function(){},pinchHandler:function(){},stopHandler:function(){},keyDownHandler:function(){},keyUpHandler:function(){},keyHandler:function(){},focusHandler:function(){},blurHandler:function(){}};var o=function(){try{return window.self!==window.top}catch{return!0}}();function a(d){try{return d.addEventListener&&d.removeEventListener}catch{return!1}}t.MouseTracker.gesturePointVelocityTracker=function(){var d=[],c=0,p=0,f=function(q,O){return q.hash.toString()+O.type+O.id.toString()},R=function(){var q,O=d.length,ve,ae,Ze=t.now(),Rt,Ct,Tt;for(Rt=Ze-p,p=Ze,q=0;q<O;q++)ve=d[q],ae=ve.gPoint,ae.direction=Math.atan2(ae.currentPos.y-ve.lastPos.y,ae.currentPos.x-ve.lastPos.x),Ct=ve.lastPos.distanceTo(ae.currentPos),ve.lastPos=ae.currentPos,Tt=1e3*Ct/(Rt+1),ae.speed=.75*Tt+.25*ae.speed},B=function(q,O){var ve=f(q,O);d.push({guid:ve,gPoint:O,lastPos:O.currentPos}),d.length===1&&(p=t.now(),c=window.setInterval(R,50))},Q=function(q,O){var ve=f(q,O),ae,Ze=d.length;for(ae=0;ae<Ze;ae++)if(d[ae].guid===ve){d.splice(ae,1),Ze--,Ze===0&&window.clearInterval(c);break}};return{addPoint:B,removePoint:Q}}(),t.MouseTracker.captureElement=document,t.MouseTracker.wheelEventName=t.Browser.vendor===t.BROWSERS.IE&&t.Browser.version>8||"onwheel"in document.createElement("div")?"wheel":document.onmousewheel!==void 0?"mousewheel":"DOMMouseScroll",t.MouseTracker.subscribeEvents=["click","dblclick","keydown","keyup","keypress","focus","blur","contextmenu",t.MouseTracker.wheelEventName],t.MouseTracker.wheelEventName==="DOMMouseScroll"&&t.MouseTracker.subscribeEvents.push("MozMousePixelScroll"),window.PointerEvent?(t.MouseTracker.havePointerEvents=!0,t.MouseTracker.subscribeEvents.push("pointerenter","pointerleave","pointerover","pointerout","pointerdown","pointerup","pointermove","pointercancel"),t.MouseTracker.havePointerCapture=function(){var d=document.createElement("div");return t.isFunction(d.setPointerCapture)&&t.isFunction(d.releasePointerCapture)}(),t.MouseTracker.havePointerCapture&&t.MouseTracker.subscribeEvents.push("gotpointercapture","lostpointercapture")):(t.MouseTracker.havePointerEvents=!1,t.MouseTracker.subscribeEvents.push("mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","mousemove"),t.MouseTracker.mousePointerId="legacy-mouse",t.MouseTracker.havePointerCapture=function(){var d=document.createElement("div");return t.isFunction(d.setCapture)&&t.isFunction(d.releaseCapture)}(),t.MouseTracker.havePointerCapture&&t.MouseTracker.subscribeEvents.push("losecapture"),"ontouchstart"in window&&t.MouseTracker.subscribeEvents.push("touchstart","touchend","touchmove","touchcancel"),"ongesturestart"in window&&t.MouseTracker.subscribeEvents.push("gesturestart","gesturechange")),t.MouseTracker.GesturePointList=function(d){this._gPoints=[],this.type=d,this.buttons=0,this.contacts=0,this.clicks=0,this.captureCount=0},t.MouseTracker.GesturePointList.prototype={getLength:function(){return this._gPoints.length},asArray:function(){return this._gPoints},add:function(d){return this._gPoints.push(d)},removeById:function(d){var c,p=this._gPoints.length;for(c=0;c<p;c++)if(this._gPoints[c].id===d){this._gPoints.splice(c,1);break}return this._gPoints.length},getByIndex:function(d){return d<this._gPoints.length?this._gPoints[d]:null},getById:function(d){var c,p=this._gPoints.length;for(c=0;c<p;c++)if(this._gPoints[c].id===d)return this._gPoints[c];return null},getPrimary:function(d){var c,p=this._gPoints.length;for(c=0;c<p;c++)if(this._gPoints[c].isPrimary)return this._gPoints[c];return null},addContact:function(){++this.contacts,this.contacts>1&&(this.type==="mouse"||this.type==="pen")&&(t.console.warn("GesturePointList.addContact() Implausible contacts value"),this.contacts=1)},removeContact:function(){--this.contacts,this.contacts<0&&(this.contacts=0)}};function n(d){var c=e[d.hash],p,f,R,B,Q,q=c.activePointersLists.length;for(p=0;p<q;p++)if(R=c.activePointersLists[p],R.getLength()>0){for(Q=[],B=R.asArray(),f=0;f<B.length;f++)Q.push(B[f]);for(f=0;f<Q.length;f++)x(d,R,Q[f])}for(p=0;p<q;p++)c.activePointersLists.pop();c.sentDragEvent=!1}function s(d){var c=e[d.hash],p,f;if(!c.tracking){for(f=0;f<t.MouseTracker.subscribeEvents.length;f++)p=t.MouseTracker.subscribeEvents[f],t.addEvent(d.element,p,c[p],p===t.MouseTracker.wheelEventName?{passive:!1,capture:!1}:!1);n(d),c.tracking=!0}}function r(d){var c=e[d.hash],p,f;if(c.tracking){for(f=0;f<t.MouseTracker.subscribeEvents.length;f++)p=t.MouseTracker.subscribeEvents[f],t.removeEvent(d.element,p,c[p],!1);n(d),c.tracking=!1}}function A(d,c){var p=e[d.hash];if(c==="pointerevent")return{upName:"pointerup",upHandler:p.pointerupcaptured,moveName:"pointermove",moveHandler:p.pointermovecaptured};if(c==="mouse")return{upName:"pointerup",upHandler:p.pointerupcaptured,moveName:"pointermove",moveHandler:p.pointermovecaptured};if(c==="touch")return{upName:"touchend",upHandler:p.touchendcaptured,moveName:"touchmove",moveHandler:p.touchmovecaptured};throw new Error("MouseTracker.getCaptureEventParams: Unknown pointer type.")}function l(d,c){var p;if(t.MouseTracker.havePointerCapture)if(t.MouseTracker.havePointerEvents)try{d.element.setPointerCapture(c.id)}catch{t.console.warn("setPointerCapture() called on invalid pointer ID");return}else d.element.setCapture(!0);else p=A(d,t.MouseTracker.havePointerEvents?"pointerevent":c.type),o&&a(window.top)&&t.addEvent(window.top,p.upName,p.upHandler,!0),t.addEvent(t.MouseTracker.captureElement,p.upName,p.upHandler,!0),t.addEvent(t.MouseTracker.captureElement,p.moveName,p.moveHandler,!0);U(d,c,!0)}function u(d,c){var p,f,R;if(t.MouseTracker.havePointerCapture)if(t.MouseTracker.havePointerEvents){if(f=d.getActivePointersListByType(c.type),R=f.getById(c.id),!R||!R.captured)return;try{d.element.releasePointerCapture(c.id)}catch{}}else d.element.releaseCapture();else p=A(d,t.MouseTracker.havePointerEvents?"pointerevent":c.type),o&&a(window.top)&&t.removeEvent(window.top,p.upName,p.upHandler,!0),t.removeEvent(t.MouseTracker.captureElement,p.moveName,p.moveHandler,!0),t.removeEvent(t.MouseTracker.captureElement,p.upName,p.upHandler,!0);U(d,c,!1)}function g(d){return t.MouseTracker.havePointerEvents?d.pointerId:t.MouseTracker.mousePointerId}function m(d){return t.MouseTracker.havePointerEvents?d.pointerType||(t.Browser.vendor===t.BROWSERS.IE?"mouse":""):"mouse"}function w(d){return t.MouseTracker.havePointerEvents?d.isPrimary:!0}function b(d){return t.getMousePosition(d)}function E(d,c){return I(b(d),c)}function I(d,c){var p=t.getElementOffset(c);return d.minus(p)}function S(d,c){return new t.Point((d.x+c.x)/2,(d.y+c.y)/2)}function z(d,c){var p={originalEvent:c,eventType:"click",pointerType:"mouse",isEmulated:!1};C(d,p),p.preventDefault&&!p.defaultPrevented&&t.cancelEvent(c),p.stopPropagation&&t.stopEvent(c)}function Y(d,c){var p={originalEvent:c,eventType:"dblclick",pointerType:"mouse",isEmulated:!1};C(d,p),p.preventDefault&&!p.defaultPrevented&&t.cancelEvent(c),p.stopPropagation&&t.stopEvent(c)}function j(d,c){var p=null,f={originalEvent:c,eventType:"keydown",pointerType:"",isEmulated:!1};C(d,f),d.keyDownHandler&&!f.preventGesture&&!f.defaultPrevented&&(p={eventSource:d,keyCode:c.keyCode?c.keyCode:c.charCode,ctrl:c.ctrlKey,shift:c.shiftKey,alt:c.altKey,meta:c.metaKey,originalEvent:c,preventDefault:f.preventDefault||f.defaultPrevented,userData:d.userData},d.keyDownHandler(p)),(p&&p.preventDefault||f.preventDefault&&!f.defaultPrevented)&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function W(d,c){var p=null,f={originalEvent:c,eventType:"keyup",pointerType:"",isEmulated:!1};C(d,f),d.keyUpHandler&&!f.preventGesture&&!f.defaultPrevented&&(p={eventSource:d,keyCode:c.keyCode?c.keyCode:c.charCode,ctrl:c.ctrlKey,shift:c.shiftKey,alt:c.altKey,meta:c.metaKey,originalEvent:c,preventDefault:f.preventDefault||f.defaultPrevented,userData:d.userData},d.keyUpHandler(p)),(p&&p.preventDefault||f.preventDefault&&!f.defaultPrevented)&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function V(d,c){var p=null,f={originalEvent:c,eventType:"keypress",pointerType:"",isEmulated:!1};C(d,f),d.keyHandler&&!f.preventGesture&&!f.defaultPrevented&&(p={eventSource:d,keyCode:c.keyCode?c.keyCode:c.charCode,ctrl:c.ctrlKey,shift:c.shiftKey,alt:c.altKey,meta:c.metaKey,originalEvent:c,preventDefault:f.preventDefault||f.defaultPrevented,userData:d.userData},d.keyHandler(p)),(p&&p.preventDefault||f.preventDefault&&!f.defaultPrevented)&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function X(d,c){var p={originalEvent:c,eventType:"focus",pointerType:"",isEmulated:!1};C(d,p),d.focusHandler&&!p.preventGesture&&d.focusHandler({eventSource:d,originalEvent:c,userData:d.userData})}function Ae(d,c){var p={originalEvent:c,eventType:"blur",pointerType:"",isEmulated:!1};C(d,p),d.blurHandler&&!p.preventGesture&&d.blurHandler({eventSource:d,originalEvent:c,userData:d.userData})}function oe(d,c){var p=null,f={originalEvent:c,eventType:"contextmenu",pointerType:"mouse",isEmulated:!1};C(d,f),d.contextMenuHandler&&!f.preventGesture&&!f.defaultPrevented&&(p={eventSource:d,position:I(b(c),d.element),originalEvent:f.originalEvent,preventDefault:f.preventDefault||f.defaultPrevented,userData:d.userData},d.contextMenuHandler(p)),(p&&p.preventDefault||f.preventDefault&&!f.defaultPrevented)&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function re(d,c){he(d,c,c)}function ge(d,c){var p={target:c.target||c.srcElement,type:"wheel",shiftKey:c.shiftKey||!1,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX?c.pageX:c.clientX,pageY:c.pageY?c.pageY:c.clientY,deltaMode:c.type==="MozMousePixelScroll"?0:1,deltaX:0,deltaZ:0};t.MouseTracker.wheelEventName==="mousewheel"?p.deltaY=-c.wheelDelta/t.DEFAULT_SETTINGS.pixelsPerWheelLine:p.deltaY=c.detail,he(d,p,c)}function he(d,c,p){var f=0,R,B=null;f=c.deltaY<0?1:-1,R={originalEvent:c,eventType:"wheel",pointerType:"mouse",isEmulated:c!==p},C(d,R),d.scrollHandler&&!R.preventGesture&&!R.defaultPrevented&&(B={eventSource:d,pointerType:"mouse",position:E(c,d.element),scroll:f,shift:c.shiftKey,isTouchEvent:!1,originalEvent:p,preventDefault:R.preventDefault||R.defaultPrevented,userData:d.userData},d.scrollHandler(B)),R.stopPropagation&&t.stopEvent(p),(B&&B.preventDefault||R.preventDefault&&!R.defaultPrevented)&&t.cancelEvent(p)}function De(d,c){var p={id:t.MouseTracker.mousePointerId,type:"mouse"},f={originalEvent:c,eventType:"lostpointercapture",pointerType:"mouse",isEmulated:!1};C(d,f),c.target===d.element&&U(d,p,!1),f.stopPropagation&&t.stopEvent(c)}function fe(d,c){var p,f,R=c.changedTouches.length,B,Q=d.getActivePointersListByType("touch");p=t.now(),Q.getLength()>c.touches.length-R&&t.console.warn("Tracked touch contact count doesn't match event.touches.length");var q={originalEvent:c,eventType:"pointerdown",pointerType:"touch",isEmulated:!1};for(C(d,q),f=0;f<R;f++)B={id:c.changedTouches[f].identifier,type:"touch",isPrimary:Q.getLength()===0,currentPos:b(c.changedTouches[f]),currentTime:p},k(d,q,B),T(d,q,B,0),U(d,B,!0);q.preventDefault&&!q.defaultPrevented&&t.cancelEvent(c),q.stopPropagation&&t.stopEvent(c)}function Ie(d,c){var p,f,R=c.changedTouches.length,B;p=t.now();var Q={originalEvent:c,eventType:"pointerup",pointerType:"touch",isEmulated:!1};for(C(d,Q),f=0;f<R;f++)B={id:c.changedTouches[f].identifier,type:"touch",currentPos:b(c.changedTouches[f]),currentTime:p},N(d,Q,B,0),U(d,B,!1),_(d,Q,B);Q.preventDefault&&!Q.defaultPrevented&&t.cancelEvent(c),Q.stopPropagation&&t.stopEvent(c)}function Be(d,c){var p,f,R=c.changedTouches.length,B;p=t.now();var Q={originalEvent:c,eventType:"pointermove",pointerType:"touch",isEmulated:!1};for(C(d,Q),f=0;f<R;f++)B={id:c.changedTouches[f].identifier,type:"touch",currentPos:b(c.changedTouches[f]),currentTime:p},G(d,Q,B);Q.preventDefault&&!Q.defaultPrevented&&t.cancelEvent(c),Q.stopPropagation&&t.stopEvent(c)}function Re(d,c){var p=c.changedTouches.length,f,R,B={originalEvent:c,eventType:"pointercancel",pointerType:"touch",isEmulated:!1};for(C(d,B),f=0;f<p;f++)R={id:c.changedTouches[f].identifier,type:"touch"},J(d,B,R);B.stopPropagation&&t.stopEvent(c)}function Ce(d,c){return t.eventIsCanceled(c)||c.preventDefault(),!1}function Z(d,c){return t.eventIsCanceled(c)||c.preventDefault(),!1}function Ue(d,c){var p={originalEvent:c,eventType:"gotpointercapture",pointerType:m(c),isEmulated:!1};C(d,p),c.target===d.element&&U(d,{id:c.pointerId,type:m(c)},!0),p.stopPropagation&&t.stopEvent(c)}function Fe(d,c){var p={originalEvent:c,eventType:"lostpointercapture",pointerType:m(c),isEmulated:!1};C(d,p),c.target===d.element&&U(d,{id:c.pointerId,type:m(c)},!1),p.stopPropagation&&t.stopEvent(c)}function Le(d,c){var p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()},f={originalEvent:c,eventType:"pointerenter",pointerType:p.type,isEmulated:!1};C(d,f),k(d,f,p)}function Te(d,c){var p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()},f={originalEvent:c,eventType:"pointerleave",pointerType:p.type,isEmulated:!1};C(d,f),_(d,f,p)}function Qe(d,c){var p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()},f={originalEvent:c,eventType:"pointerover",pointerType:p.type,isEmulated:!1};C(d,f),K(d,f,p),f.preventDefault&&!f.defaultPrevented&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function ce(d,c){var p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()},f={originalEvent:c,eventType:"pointerout",pointerType:p.type,isEmulated:!1};C(d,f),P(d,f,p),f.preventDefault&&!f.defaultPrevented&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function He(d,c){var p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()},f=t.MouseTracker.havePointerEvents&&p.type==="touch"&&t.Browser.vendor!==t.BROWSERS.IE,R={originalEvent:c,eventType:"pointerdown",pointerType:p.type,isEmulated:!1};C(d,R),T(d,R,p,c.button),R.preventDefault&&!R.defaultPrevented&&t.cancelEvent(c),R.stopPropagation&&t.stopEvent(c),R.shouldCapture&&(f?U(d,p,!0):l(d,p))}function pe(d,c){Oe(d,c)}function Je(d,c){var p=d.getActivePointersListByType(m(c));p.getById(c.pointerId)&&Oe(d,c),t.stopEvent(c)}function Oe(d,c){var p;p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()};var f={originalEvent:c,eventType:"pointerup",pointerType:p.type,isEmulated:!1};C(d,f),N(d,f,p,c.button),f.preventDefault&&!f.defaultPrevented&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c),f.shouldReleaseCapture&&(c.target===d.element?u(d,p):U(d,p,!1))}function ze(d,c){Ne(d,c)}function Xe(d,c){var p=d.getActivePointersListByType(m(c));p.getById(c.pointerId)&&Ne(d,c),t.stopEvent(c)}function Ne(d,c){var p={id:g(c),type:m(c),isPrimary:w(c),currentPos:b(c),currentTime:t.now()},f={originalEvent:c,eventType:"pointermove",pointerType:p.type,isEmulated:!1};C(d,f),G(d,f,p),f.preventDefault&&!f.defaultPrevented&&t.cancelEvent(c),f.stopPropagation&&t.stopEvent(c)}function h(d,c){var p={id:c.pointerId,type:m(c)},f={originalEvent:c,eventType:"pointercancel",pointerType:p.type,isEmulated:!1};C(d,f),J(d,f,p),f.stopPropagation&&t.stopEvent(c)}function v(d,c){return c.speed=0,c.direction=0,c.contactPos=c.currentPos,c.contactTime=c.currentTime,c.lastPos=c.currentPos,c.lastTime=c.currentTime,d.add(c)}function x(d,c,p){var f,R=c.getById(p.id);return R?(R.captured&&(t.console.warn("stopTrackingPointer() called on captured pointer"),u(d,R)),c.removeContact(),f=c.removeById(p.id)):f=c.getLength(),f}function M(d,c){switch(c.eventType){case"pointermove":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!1,c.preventGesture=!d.hasGestureHandlers,c.stopPropagation=!1;break;case"pointerover":case"pointerout":case"contextmenu":case"keydown":case"keyup":case"keypress":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!1,c.preventGesture=!1,c.stopPropagation=!1;break;case"pointerdown":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!1,c.preventGesture=!d.hasGestureHandlers,c.stopPropagation=!1;break;case"pointerup":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!1,c.preventGesture=!d.hasGestureHandlers,c.stopPropagation=!1;break;case"wheel":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!1,c.preventGesture=!d.hasScrollHandler,c.stopPropagation=!1;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":c.isStoppable=!0,c.isCancelable=!1,c.preventDefault=!1,c.preventGesture=!1,c.stopPropagation=!1;break;case"click":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!!d.clickHandler,c.preventGesture=!1,c.stopPropagation=!1;break;case"dblclick":c.isStoppable=!0,c.isCancelable=!0,c.preventDefault=!!d.dblClickHandler,c.preventGesture=!1,c.stopPropagation=!1;break;case"focus":case"blur":case"pointerenter":case"pointerleave":default:c.isStoppable=!1,c.isCancelable=!1,c.preventDefault=!1,c.preventGesture=!1,c.stopPropagation=!1;break}}function C(d,c){c.eventSource=d,c.eventPhase=c.originalEvent&&typeof c.originalEvent.eventPhase<"u"?c.originalEvent.eventPhase:0,c.defaultPrevented=t.eventIsCanceled(c.originalEvent),c.shouldCapture=!1,c.shouldReleaseCapture=!1,c.userData=d.userData,M(d,c),d.preProcessEventHandler&&d.preProcessEventHandler(c)}function U(d,c,p){var f=d.getActivePointersListByType(c.type),R=f.getById(c.id);R?p&&!R.captured?(R.captured=!0,f.captureCount++):!p&&R.captured&&(R.captured=!1,f.captureCount--,f.captureCount<0&&(f.captureCount=0,t.console.warn("updatePointerCaptured() - pointsList.captureCount went negative"))):t.console.warn("updatePointerCaptured() called on untracked pointer")}function k(d,c,p){var f=d.getActivePointersListByType(p.type),R;R=f.getById(p.id),R?(R.insideElement=!0,R.lastPos=R.currentPos,R.lastTime=R.currentTime,R.currentPos=p.currentPos,R.currentTime=p.currentTime,p=R):(p.captured=!1,p.insideElementPressed=!1,p.insideElement=!0,v(f,p)),d.enterHandler&&d.enterHandler({eventSource:d,pointerType:p.type,position:I(p.currentPos,d.element),buttons:f.buttons,pointers:d.getActivePointerCount(),insideElementPressed:p.insideElementPressed,buttonDownAny:f.buttons!==0,isTouchEvent:p.type==="touch",originalEvent:c.originalEvent,userData:d.userData})}function _(d,c,p){var f=d.getActivePointersListByType(p.type),R,B;R=f.getById(p.id),R?(R.captured?(R.insideElement=!1,R.lastPos=R.currentPos,R.lastTime=R.currentTime,R.currentPos=p.currentPos,R.currentTime=p.currentTime):x(d,f,R),p=R):(p.captured=!1,p.insideElementPressed=!1),(d.leaveHandler||d.exitHandler)&&(B={eventSource:d,pointerType:p.type,position:p.currentPos&&I(p.currentPos,d.element),buttons:f.buttons,pointers:d.getActivePointerCount(),insideElementPressed:p.insideElementPressed,buttonDownAny:f.buttons!==0,isTouchEvent:p.type==="touch",originalEvent:c.originalEvent,userData:d.userData},d.leaveHandler&&d.leaveHandler(B),d.exitHandler&&d.exitHandler(B))}function K(d,c,p){var f,R;f=d.getActivePointersListByType(p.type),R=f.getById(p.id),R?p=R:(p.captured=!1,p.insideElementPressed=!1),d.overHandler&&d.overHandler({eventSource:d,pointerType:p.type,position:I(p.currentPos,d.element),buttons:f.buttons,pointers:d.getActivePointerCount(),insideElementPressed:p.insideElementPressed,buttonDownAny:f.buttons!==0,isTouchEvent:p.type==="touch",originalEvent:c.originalEvent,userData:d.userData})}function P(d,c,p){var f,R;f=d.getActivePointersListByType(p.type),R=f.getById(p.id),R?p=R:(p.captured=!1,p.insideElementPressed=!1),d.outHandler&&d.outHandler({eventSource:d,pointerType:p.type,position:p.currentPos&&I(p.currentPos,d.element),buttons:f.buttons,pointers:d.getActivePointerCount(),insideElementPressed:p.insideElementPressed,buttonDownAny:f.buttons!==0,isTouchEvent:p.type==="touch",originalEvent:c.originalEvent,userData:d.userData})}function T(d,c,p,f){var R=e[d.hash],B=d.getActivePointersListByType(p.type),Q;if(typeof c.originalEvent.buttons<"u"?B.buttons=c.originalEvent.buttons:f===0?B.buttons|=1:f===1?B.buttons|=4:f===2?B.buttons|=2:f===3?B.buttons|=8:f===4?B.buttons|=16:f===5&&(B.buttons|=32),f!==0){c.shouldCapture=!1,c.shouldReleaseCapture=!1,d.nonPrimaryPressHandler&&!c.preventGesture&&!c.defaultPrevented&&(c.preventDefault=!0,d.nonPrimaryPressHandler({eventSource:d,pointerType:p.type,position:I(p.currentPos,d.element),button:f,buttons:B.buttons,isTouchEvent:p.type==="touch",originalEvent:c.originalEvent,userData:d.userData}));return}Q=B.getById(p.id),Q?(Q.insideElementPressed=!0,Q.insideElement=!0,Q.originalTarget=c.originalEvent.target,Q.contactPos=p.currentPos,Q.contactTime=p.currentTime,Q.lastPos=Q.currentPos,Q.lastTime=Q.currentTime,Q.currentPos=p.currentPos,Q.currentTime=p.currentTime,p=Q):(p.captured=!1,p.insideElementPressed=!0,p.insideElement=!0,p.originalTarget=c.originalEvent.target,v(B,p)),B.addContact(),!c.preventGesture&&!c.defaultPrevented?