hypothesis 1.896.0 → 1.897.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/boot.js +1 -1
- package/build/manifest.json +16 -27
- package/build/scripts/annotator.bundle.js +2 -2
- package/build/scripts/annotator.bundle.js.map +1 -1
- package/build/scripts/sidebar.bundle.js +5 -5
- package/build/scripts/sidebar.bundle.js.map +1 -1
- package/build/scripts/ui-playground.bundle.js +2 -3
- package/build/scripts/ui-playground.bundle.js.map +1 -1
- package/build/styles/annotator.css +1 -1
- package/build/styles/annotator.css.map +1 -1
- package/build/{fonts → styles/fonts}/KaTeX_AMS-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Main-Bold.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Main-Italic.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Main-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Math-Italic.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Script-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Size1-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Size2-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Size3-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Size4-Regular.woff2 +0 -0
- package/build/{fonts → styles/fonts}/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/build/styles/sidebar.css +1 -1
- package/build/styles/sidebar.css.map +1 -1
- package/build/styles/ui-playground.css +1 -1
- package/build/styles/ui-playground.css.map +1 -1
- package/package.json +2 -2
- package/build/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/build/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/build/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/build/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/build/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/build/fonts/KaTeX_Main-Bold.woff +0 -0
- package/build/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/build/fonts/KaTeX_Main-Italic.woff +0 -0
- package/build/fonts/KaTeX_Main-Regular.woff +0 -0
- package/build/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/build/fonts/KaTeX_Math-Italic.woff +0 -0
- package/build/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/build/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/build/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/build/fonts/KaTeX_Script-Regular.woff +0 -0
- package/build/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/build/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/build/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/build/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/build/fonts/KaTeX_Typewriter-Regular.woff +0 -0
|
@@ -3,10 +3,10 @@ var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo
|
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
6
|
-
*/W=j,function(){var t={}.hasOwnProperty;function e(){for(var n=[],o=0;o<arguments.length;o++){var i=arguments[o];if(i){var r=typeof i;if("string"===r||"number"===r)n.push(i);else if(Array.isArray(i)){if(i.length){var s=e.apply(null,i);s&&n.push(s)}}else if("object"===r)if(i.toString===Object.prototype.toString)for(var a in i)t.call(i,a)&&i[a]&&n.push(a);else n.push(i.toString())}}return n.join(" ")}W.exports?(e.default=e,W.exports=e):window.classNames=e}();var $,z,X,Y=j.exports,G=0,K=[],Z=e.__b,J=e.__r,Q=e.diffed,tt=e.__c,et=e.unmount;function nt(t,n){e.__h&&e.__h(z,t,G||n),G=0;var o=z.__H||(z.__H={__:[],__h:[]});return t>=o.__.length&&o.__.push({}),o.__[t]}function ot(t){return G=1,function(t,e,n){var o=nt($++,2);return o.t=t,o.__c||(o.__=[n?n(e):ut(void 0,e),function(t){var e=o.t(o.__[0],t);o.__[0]!==e&&(o.__=[e,o.__[1]],o.__c.setState({}))}],o.__c=z),o.__}(ut,t)}function it(t,n){var o=nt($++,3);!e.__s&&ht(o.__H,n)&&(o.__=t,o.__H=n,z.__H.__h.push(o))}function rt(t){return G=5,function(t,e){var n=nt($++,7);return ht(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}((function(){return{current:t}}),[])}function st(){K.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(lt),t.__H.__h.forEach(ct),t.__H.__h=[]}catch(n){t.__H.__h=[],e.__e(n,t.__v)}})),K=[]}e.__b=function(t){z=null,Z&&Z(t)},e.__r=function(t){J&&J(t),$=0;var e=(z=t.__c).__H;e&&(e.__h.forEach(lt),e.__h.forEach(ct),e.__h=[])},e.diffed=function(t){Q&&Q(t);var n=t.__c;n&&n.__H&&n.__H.__h.length&&(1!==K.push(n)&&X===e.requestAnimationFrame||((X=e.requestAnimationFrame)||function(t){var e,n=function(){clearTimeout(o),at&&cancelAnimationFrame(e),setTimeout(t)},o=setTimeout(n,100);at&&(e=requestAnimationFrame(n))})(st)),z=void 0},e.__c=function(t,n){n.some((function(t){try{t.__h.forEach(lt),t.__h=t.__h.filter((function(t){return!t.__||ct(t)}))}catch(o){n.some((function(t){t.__h&&(t.__h=[])})),n=[],e.__e(o,t.__v)}})),tt&&tt(t,n)},e.unmount=function(t){et&&et(t);var n=t.__c;if(n&&n.__H)try{n.__H.__.forEach(lt)}catch(t){e.__e(t,n.__v)}};var at="function"==typeof requestAnimationFrame;function lt(t){var e=z;"function"==typeof t.__c&&t.__c(),z=e}function ct(t){var e=z;t.__c=t.__(),z=e}function ht(t,e){return!t||t.length!==e.length||e.some((function(e,n){return e!==t[n]}))}function ut(t,e){return"function"==typeof e?e(t):e}function dt(t,n,o,i,r){var s={};for(var a in n)"ref"!=a&&(s[a]=n[a]);var l,c,h={type:t,props:s,key:o,ref:n&&n.ref,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:++e.__v,__source:i,__self:r};if("function"==typeof t&&(l=t.defaultProps))for(c in l)void 0===s[c]&&(s[c]=l[c]);return e.vnode&&e.vnode(h),h}let ft={};function pt({name:t,className:n="",inline:o=!1,title:i=""}){if(!ft[t])throw new Error(`Icon name "${t}" is not registered`);const r=ft[t],s=rt();!function(t,n){var o=nt($++,4);!e.__s&&ht(o.__H,n)&&(o.__=t,o.__H=n,z.__h.push(o))}((()=>{const t=s.current.querySelector("svg");t&&t.setAttribute("class",n)}),[n,r]);const a={};return i&&(a.title=i),dt("span",{className:Y("Hyp-SvgIcon",{"Hyp-SvgIcon--inline":o}),dangerouslySetInnerHTML:{__html:r},ref:s,...a},void 0,!1,{fileName:"/home/runner/work/frontend-shared/frontend-shared/src/components/SvgIcon.js",lineNumber:69,columnNumber:5})}function gt(t,{reset:e=!1}={}){e&&(ft={}),Object.assign(ft,t)}var mt="/home/runner/work/frontend-shared/frontend-shared/src/components/buttons.js";function _t({buttonRef:t,classes:e,className:n,icon:o,iconPosition:i="left",size:r="medium",variant:s="normal",expanded:a,pressed:l,type:c="button",...h}){const u={"aria-expanded":a,"aria-pressed":l,"aria-label":h.title};return dt("button",{ref:t,className:Y(n,`${n}--${r}`,`${n}--${s}`,{[`${n}--icon-${i}`]:o},e),type:c,...u,...h},void 0,!1,{fileName:mt,lineNumber:73,columnNumber:5})}function vt({className:t="Hyp-IconButton",...e}){const{icon:n}=e;return dt(_t,{className:t,...e,children:dt(pt,{name:n},void 0,!1,{fileName:mt,lineNumber:100,columnNumber:7})},void 0,!1,{fileName:mt,lineNumber:99,columnNumber:5})}gt({"hyp-checkbox":' <svg\n width="32"\n height="32"\n viewBox="-4 -4 39 39"\n aria-hidden="true"\n focusable="false"\n >\n <rect\n class="hyp-svg-checkbox--background"\n width="35"\n height="35"\n x="-2"\n y="-2"\n stroke="currentColor"\n fill="none"\n stroke-width="3"\n rx="5"\n ry="5"\n />\n <polyline\n class="hyp-svg-checkbox--checkmark"\n points="4,14 12,23 28,5"\n stroke="transparent"\n stroke-width="5"\n fill="none"\n />\n</svg>'});var yt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false" class="Icon Icon--cancel"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 8l3.536-3.536L8 8 4.464 4.464 8 8zm0 0l-3.536 3.536L8 8l3.536 3.536L8 8z"></path></g></svg>\n';gt({"hyp-cancel":yt}),gt({"hyp-cancel":yt});gt({"hyp-spinner":'<svg viewBox="0 0 64 64">\n <g stroke-width="6" stroke="currentColor" stroke-linecap="round">\n <line y1="16" y2="28" transform="translate(32,32) rotate(180)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(225)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".15;0;1;.8;.65;.45;.3;.15" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(270)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".3;.15;0;1;.8;.65;.45;.3" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(315)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".45;.3;.15;0;1;.85;.65;.45" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(0)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".65;.45;.3;.15;0;1;.8;.65;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(45)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".8;.65;.45;.3;.15;0;1;.8" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(90)">\n <animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.6;.45;.3;.15;0;1;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(135)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n </g>\n</svg>'});var wt={annotate:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="currentColor" fill-rule="nonzero" d="M15 0c.27 0 .505.099.703.297A.961.961 0 0116 1v15l-4-3H1a.974.974 0 01-.703-.29A.953.953 0 010 12V1C0 .719.096.482.29.29A.966.966 0 011 0h14zM7 3l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C4.156 5.229 4 6 4 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188C4.729 8.854 5.082 9 5.5 9c.417 0 .77-.146 1.063-.438C6.854 8.271 7 7.918 7 7.5c0-.417-.146-.77-.438-1.063A1.447 1.447 0 005.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L7 4V3zm5 0l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C9.156 5.229 9 6 9 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188c.291.291.645.437 1.062.437.417 0 .77-.146 1.063-.438.291-.291.437-.645.437-1.062 0-.417-.146-.77-.438-1.063A1.447 1.447 0 0010.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L12 4V3z"/>\n</svg>\n',cancel:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false" class="Icon Icon--cancel"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 8l3.536-3.536L8 8 4.464 4.464 8 8zm0 0l-3.536 3.536L8 8l3.536 3.536L8 8z"></path></g></svg>\n',caution:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-triangle"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',"caret-left":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12L6 8l4-4"></path></g></svg>\n',"caret-right":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false" class="Icon Icon--caret-right"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 4l4 4-4 4"></path></g></svg>\n',hide:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.73 12.973A9.89 9.89 0 0 1 8 13c-3.866 0-7-2.239-7-5 0-.753.233-1.467.65-2.107m5.62-2.866A9.89 9.89 0 0 1 8 3c3.866 0 7 2.239 7 5 0 .753-.233 1.467-.65 2.107M1 1l14 14L1 1z"></path></g></svg>\n',highlight:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15H1h11zm-.5-6v2l-1 1v-2l1-1zm.5-7v6h-2V2h2zm0-1h-2 2zm0 8h-2 2z"></path></g></svg>\n',note:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 15h6l8-6V1H1v14zm6-1V9h7"></path></g></svg>\n',pointer:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="8" viewBox="0 0 15 8" aria-hidden="true" focusable="false"><path d="M0 8 L7 0 L15 8" stroke="currentColor" strokeWidth="2" /></svg>\n',show:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 13c3.866 0 7-2.239 7-5s-3.134-5-7-5-7 2.239-7 5 3.134 5 7 5zm0-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"></path></g></svg>\n'};function bt(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Et(t){for(var e={},n=t.querySelectorAll("script.js-hypothesis-config"),o=0;o<n.length;o++){var i=void 0;try{i=JSON.parse(n[o].textContent||"")}catch(t){console.warn("Could not parse settings from js-hypothesis-config tags",t),i={}}bt(e,i)}return e}function Ct(t){if("string"==typeof t&&"false"===t.trim().toLocaleLowerCase())return!1;const e=Number(t);return isNaN(e)?"string"==typeof t:Boolean(e)}function Tt(t,e,n){const o=t.document.querySelector(`link[type="application/annotator+${n}"][rel="${e}"]`);if(!o)throw new Error(`No application/annotator+${n} (rel="${e}") link in the document`);if(!o.href)throw new Error(`application/annotator+${n} (rel="${e}") link has no href`);return o.href}function St(t){const e=function(t){if(!t.hasOwnProperty("hypothesisConfig"))return{};if("function"!=typeof t.hypothesisConfig){const t="https://h.readthedocs.io/projects/client/en/latest/publishers/config/#window.hypothesisConfig";return console.warn("hypothesisConfig must be a function, see: "+t),{}}return t.hypothesisConfig()}(t);let n;function o(t){return e.hasOwnProperty(t)?e[t]:n.hasOwnProperty(t)?n[t]:void 0}return n=Ct(e.ignoreOtherConfiguration)?{}:Et(t.document),{get annotations(){return n.annotations||function(){const e=t.location.href.match(/#annotations:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get clientUrl(){return Tt(t,"hypothesis-client","javascript")},get group(){return n.group||function(){const e=t.location.href.match(/#annotations:group:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get notebookAppUrl(){return Tt(t,"notebook","html")},get showHighlights(){return function(){let t=o("showHighlights");return void 0===t&&(t="always"),"boolean"==typeof t?t?"always":"never":t}()},get sidebarAppUrl(){return Tt(t,"sidebar","html")},get query(){return n.query||function(){const e=t.location.href.match(/#annotations:(query|q):(.+)$/i);if(e)try{return decodeURIComponent(e[2])}catch(t){}return null}()},hostPageSetting:o}}function kt(t,e){return t.hostPageSetting(e)}const xt={annotations:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.annotations},appType:{allowInBrowserExt:!0,defaultValue:null,getValue:kt},branding:{defaultValue:null,allowInBrowserExt:!1,getValue:kt},clientUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.clientUrl},enableExperimentalNewNoteButton:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},group:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.group},focus:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},theme:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},usernameUrl:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},onLayoutChange:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},openSidebar:{allowInBrowserExt:!0,defaultValue:!1,coerce:Ct,getValue:kt},query:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.query},requestConfigFromFrame:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},services:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},showHighlights:{allowInBrowserExt:!1,defaultValue:"always",getValue:t=>t.showHighlights},notebookAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.notebookAppUrl},sidebarAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.sidebarAppUrl},subFrameIdentifier:{allowInBrowserExt:!0,defaultValue:null,getValue:kt},externalContainerSelector:{allowInBrowserExt:!1,defaultValue:null,getValue:kt}};function At(t="annotator",e=window){const n=St(e),o={};let i=function(t){const e={annotator:["clientUrl","subFrameIdentifier"],sidebar:["appType","annotations","branding","enableExperimentalNewNoteButton","externalContainerSelector","focus","group","onLayoutChange","openSidebar","query","requestConfigFromFrame","services","showHighlights","sidebarAppUrl","theme","usernameUrl"],notebook:["branding","group","notebookAppUrl","requestConfigFromFrame","services","theme","usernameUrl"]};switch(t){case"annotator":return e.annotator;case"sidebar":return e.sidebar;case"notebook":return e.notebook;case"all":return[...e.annotator,...e.sidebar,...e.notebook];default:throw new Error(`Invalid application context used: "${t}"`)}}(t);return i.forEach((t=>{const i=xt[t],r=void 0!==i.defaultValue,s=!((a=Tt(e,"sidebar","html")).startsWith("http://")||a.startsWith("https://"));var a;if(!i.allowInBrowserExt&&s)return void(r&&(o[t]=i.defaultValue));const l=i.getValue(n,t);void 0!==l?o[t]=i.coerce?i.coerce(l):l:r&&(o[t]=i.defaultValue)})),o}class Nt{constructor(){this._listeners=[]}add(t,e,n,o){t.addEventListener(e,n,o),this._listeners.push({eventTarget:t,eventType:e,listener:n})}removeAll(){this._listeners.forEach((({eventTarget:t,eventType:e,listener:n})=>{t.removeEventListener(e,n)})),this._listeners=[]}}class Lt{constructor(t,e){this._port=t,this._methods=e,this._sequence=0,this._callbacks={},this._destroyed=!1,this._listeners=new Nt,this._listeners.add(this._port,"message",(t=>this._handle(t))),this._port.start()}destroy(){this._destroyed=!0,this._listeners.removeAll(),this._port.close()}call(t,...e){if(this._destroyed)return;const n=this._sequence++,o=e[e.length-1];"function"==typeof o&&(this._callbacks[n]=o,e=e.slice(0,-1));const i={arguments:e,method:t,protocol:"frame-rpc",sequence:n,version:"1.0.0"};this._port.postMessage(i)}_parseMessage({data:t}){return t&&"object"==typeof t?"frame-rpc"!==t.protocol||"1.0.0"!==t.version?null:Array.isArray(t.arguments)?t:null:null}_handle(t){const e=this._parseMessage(t);if(null!==e)if("method"in e){if(!this._methods.hasOwnProperty(e.method))return;const t=(...t)=>{const n={arguments:t,protocol:"frame-rpc",response:e.sequence,version:"1.0.0"};this._port.postMessage(n)};this._methods[e.method](...e.arguments,t)}else if("response"in e){const t=this._callbacks[e.response];delete this._callbacks[e.response],t&&t(...e.arguments)}}}class Rt{constructor(){this.links=[],this.channelListeners={},this.onConnectListeners=[],this.on("connect",(t=>t()))}destroy(){this.links.forEach((t=>t.destroy())),this.links=[]}createChannel(t){const e=new Lt(t,this.channelListeners);let n=!1;return e.call("connect",(()=>{n||(n=!0,this.onConnectListeners.forEach((t=>t(e))))})),this.links.push(e),e}call(t,...e){let n;const o=e[e.length-1];"function"==typeof o&&(n=o,e=e.slice(0,-1));const i=t=>e=>{throw t.destroy(),this.links=this.links.filter((e=>e!==t)),e},r=this.links.map((n=>new Promise(((o,i)=>{const r=setTimeout((()=>o(null)),1e3);try{n.call(t,...e,((t,e)=>{clearTimeout(r),t?i(t):o(e)}))}catch(t){i(t)}})).catch(i(n))));let s=Promise.all(r);return n&&(s=s.then((t=>n(null,t))).catch((t=>n(t)))),s}on(t,e){if(this.links.length>0)throw new Error(`Listener '${t}' can't be registered because a channel has already been created`);if(this.channelListeners[t])throw new Error(`Listener '${t}' already bound in Bridge`);return this.channelListeners[t]=e,this}onConnect(t){return this.onConnectListeners.push(t),this}}const Ot={alt:1,ctrl:2,meta:4,shift:8};function Mt(t,e,{rootElement:n=document.body}={}){const o=n=>{(function(t,e){const n=e.split("+").map((t=>t.toLowerCase()));let o=0,i=null;for(let t of n){const e=Ot[t];if(e)o|=e;else{if(null!==i)throw new Error("Multiple non-modifier keys specified");i=t}}if(!i)throw new Error(`Invalid shortcut: ${e}`);return((t.ctrlKey?Ot.ctrl:0)|(t.metaKey?Ot.meta:0)|(t.altKey?Ot.alt:0)|(t.shiftKey?Ot.shift:0))===o&&function(t){const e={Left:"ArrowLeft",Up:"ArrowUp",Down:"ArrowDown",Right:"ArrowRight",Spacebar:" ",Del:"Delete"};return e[t]?e[t]:t}(t.key).toLowerCase()===i})(n,t)&&e(n)};return n.addEventListener("keydown",o),()=>n.removeEventListener("keydown",o)}function Pt(t,e,{rootElement:n=document.body}={}){it((()=>{if(t)return Mt(t,e,{rootElement:n})}),[t,e,n])}function It({badgeCount:t,icon:e,label:n,onClick:o,shortcut:i}){Pt(i,o);const r=i?`${n} (${i})`:n;return dt("button",{className:"AdderToolbar__button",onClick:o,"aria-label":r,title:r,children:[e&&dt(pt,{name:e,className:"AdderToolbar__icon"}),"number"==typeof t&&dt("span",{className:"AdderToolbar__badge",children:t}),dt("span",{className:"AdderToolbar__label",children:n})]})}function Dt({arrowDirection:t,isVisible:e,onCommand:n,annotationCount:o=0}){const i=e?"a":null,r=e?"h":null,s=e?"s":null;return Pt(e?"Escape":null,(()=>n("hide"))),dt("div",{className:Y("AdderToolbar",{"AdderToolbar--down":"up"===t,"AdderToolbar--up":"down"===t,"is-active":e}),style:{visibility:e?"visible":"hidden"},children:[dt("div",{className:"AdderToolbar__actions",children:[dt(It,{icon:"annotate",onClick:()=>n("annotate"),label:"Annotate",shortcut:i}),dt(It,{icon:"highlight",onClick:()=>n("highlight"),label:"Highlight",shortcut:r}),o>0&&dt("div",{className:"AdderToolbar__separator"}),o>0&&dt(It,{badgeCount:o,onClick:()=>n("show"),label:"Show",shortcut:s})]}),dt(pt,{name:"pointer",inline:!0,className:Y("AdderToolbar__arrow",{"AdderToolbar__arrow--down":"down"===t,"AdderToolbar__arrow--up":"up"===t})})]})}const Vt=(t=window)=>t.matchMedia("(pointer: coarse)").matches;function Ht(t){if(!t.attachShadow)return Bt(t),t;const e=t.attachShadow({mode:"open"});!function(t){var e;const n=null===(e=document.querySelector('link[rel="stylesheet"][href*="/build/styles/annotator.css"]'))||void 0===e?void 0:e.href;if(!n)return;const o=document.createElement("link");o.rel="stylesheet",o.href=n,t.appendChild(o)}(e);const n=window.applyFocusVisiblePolyfill;return n&&n(e),Bt(e),e}function Bt(t){t.addEventListener("mouseup",(t=>t.stopPropagation())),t.addEventListener("mousedown",(t=>t.stopPropagation())),t.addEventListener("touchstart",(t=>t.stopPropagation()),{passive:!0})}function Ft(t){return t.toString()+"px"}class Ut{constructor(t,e){this._outerContainer=document.createElement("hypothesis-adder"),t.appendChild(this._outerContainer),this._shadowRoot=Ht(this._outerContainer),Object.assign(this._outerContainer.style,{position:"absolute",top:0,left:0}),this._view=t.ownerDocument.defaultView,this._width=()=>this._shadowRoot.firstChild.getBoundingClientRect().width,this._height=()=>this._shadowRoot.firstChild.getBoundingClientRect().height,this._isVisible=!1,this._arrowDirection="up",this._onAnnotate=e.onAnnotate,this._onHighlight=e.onHighlight,this._onShowAnnotations=e.onShowAnnotations,this.annotationsForSelection=[],this._render()}hide(){this._isVisible=!1,this._render(),Object.assign(this._outerContainer.style,{top:0,left:0})}destroy(){L(null,this._shadowRoot),this._outerContainer.remove()}show(t,e){const{left:n,top:o,arrowDirection:i}=this._calculateTarget(t,e);this._showAt(n,o),this._isVisible=!0,this._arrowDirection=2===i?"up":"down",this._render()}_calculateTarget(t,e){let n,o,i;n=e&&!Vt()?1:2;const r=Math.min(20,t.width),s=this._width(),a=Vt()?10:0,l=this._height();return i=e?t.left-s/2+r:t.left+t.width-s/2-r,t.top-l<0&&1===n?n=2:t.top+l>this._view.innerHeight&&(n=1),o=2===n?t.top+t.height+10+a:t.top-l-10,i=Math.max(i,0),i=Math.min(i,this._view.innerWidth-s),o=Math.max(o,0),o=Math.min(o,this._view.innerHeight-l),{top:o,left:i,arrowDirection:n}}_findZindex(t,e){if(void 0===document.elementsFromPoint)return 32768;const n=this._width(),o=this._height(),i=[...new Set([...document.elementsFromPoint(t,e),...document.elementsFromPoint(t,e+o),...document.elementsFromPoint(t+n/2,e+o/2),...document.elementsFromPoint(t+n,e),...document.elementsFromPoint(t+n,e+o)])].map((t=>+getComputedStyle(t).zIndex)).filter(Number.isInteger);return i.push(0),Math.max(...i)+1}_showAt(t,e){const n=function(t){let e=t.parentElement;for(;e.parentElement&&"static"===getComputedStyle(e).position;)e=e.parentElement;return e}(this._outerContainer).getBoundingClientRect(),o=this._findZindex(t,e);Object.assign(this._outerContainer.style,{left:Ft(t-n.left),top:Ft(e-n.top),zIndex:o})}_render(){L(dt(Dt,{isVisible:this._isVisible,arrowDirection:this._arrowDirection,onCommand:t=>{switch(t){case"annotate":this._onAnnotate(),this.hide();break;case"highlight":this._onHighlight(),this.hide();break;case"show":this._onShowAnnotations(this.annotationsForSelection);break;case"hide":this.hide()}},annotationCount:this.annotationsForSelection.length}),this._shadowRoot)}}class qt{constructor(t,e){this._emitter=t.createEmitter(),this._sidebar=e,this.cache={},this.destroyed=!1,this._sidebar.on("deleteAnnotation",((t,e)=>{if(this.destroyed)return void e(null);const n=this._parse(t);delete this.cache[n.$tag],this._emitter.publish("annotationDeleted",n),this._format(n),e(null)})),this._sidebar.on("loadAnnotations",((t,e)=>{if(this.destroyed)return void e(null);const n=t.map((t=>this._parse(t)));this._emitter.publish("annotationsLoaded",n),e(null)})),this._emitter.subscribe("beforeAnnotationCreated",(t=>{t.$tag||this._sidebar.call("createAnnotation",this._format(t))}))}sync(t){this.destroyed||this._sidebar.call("syncAnchoringStatus",t.map((t=>this._format(t))))}_tag(t,e){return t.$tag||(e=e||window.btoa(Math.random().toString()),Object.defineProperty(t,"$tag",{value:e}),this.cache[e]=t),t}_parse(t){const e=Object.assign(this.cache[t.tag]||{},t.msg);return this._tag(e,t.tag)}_format(t){return this._tag(t),{tag:t.$tag,msg:t}}destroy(){this.destroyed=!0,this._emitter.destroy()}}function Wt(t){switch(t.nodeType){case Node.ELEMENT_NODE:case Node.TEXT_NODE:return t.textContent.length;default:return 0}}function jt(t){let e=t.previousSibling,n=0;for(;e;)n+=Wt(e),e=e.previousSibling;return n}function $t(t,...e){let n=e.shift();const o=t.ownerDocument.createNodeIterator(t,NodeFilter.SHOW_TEXT),i=[];let r,s=o.nextNode(),a=0;for(;void 0!==n&&s;)r=s,a+r.data.length>n?(i.push({node:r,offset:n-a}),n=e.shift()):(s=o.nextNode(),a+=r.data.length);for(;void 0!==n&&r&&a===n;)i.push({node:r,offset:r.data.length}),n=e.shift();if(void 0!==n)throw new RangeError("Offset exceeds text length");return i}class zt{constructor(t,e){if(e<0)throw new Error("Offset is invalid");this.element=t,this.offset=e}relativeTo(t){if(!t.contains(this.element))throw new Error("Parent is not an ancestor of current element");let e=this.element,n=this.offset;for(;e!==t;)n+=jt(e),e=e.parentElement;return new zt(e,n)}resolve(t={}){try{return $t(this.element,this.offset)[0]}catch(e){if(0===this.offset&&void 0!==t.direction){const n=document.createTreeWalker(this.element.getRootNode(),NodeFilter.SHOW_TEXT);n.currentNode=this.element;const o=1===t.direction,i=o?n.nextNode():n.previousNode();if(!i)throw e;return{node:i,offset:o?0:i.data.length}}throw e}}static fromCharOffset(t,e){switch(t.nodeType){case Node.TEXT_NODE:return zt.fromPoint(t,e);case Node.ELEMENT_NODE:return new zt(t,e);default:throw new Error("Node is not an element or text node")}}static fromPoint(t,e){switch(t.nodeType){case Node.TEXT_NODE:{if(e<0||e>t.data.length)throw new Error("Text node offset is out of range");if(!t.parentElement)throw new Error("Text node has no parent");const n=jt(t)+e;return new zt(t.parentElement,n)}case Node.ELEMENT_NODE:{if(e<0||e>t.childNodes.length)throw new Error("Child node offset is out of range");let n=0;for(let o=0;o<e;o++)n+=Wt(t.childNodes[o]);return new zt(t,n)}default:throw new Error("Point is not in an element or text node")}}}class Xt{constructor(t,e){this.start=t,this.end=e}relativeTo(t){return new Xt(this.start.relativeTo(t),this.end.relativeTo(t))}toRange(){let t,e;this.start.element===this.end.element&&this.start.offset<=this.end.offset?[t,e]=$t(this.start.element,this.start.offset,this.end.offset):(t=this.start.resolve({direction:1}),e=this.end.resolve({direction:2}));const n=new Range;return n.setStart(t.node,t.offset),n.setEnd(e.node,e.offset),n}static fromRange(t){const e=zt.fromPoint(t.startContainer,t.startOffset),n=zt.fromPoint(t.endContainer,t.endOffset);return new Xt(e,n)}static fromOffsets(t,e,n){return new Xt(new zt(t,e),new zt(t,n))}}function Yt(t){return!!t.parentElement&&null!==t.parentElement.closest(".annotator-placeholder")}function Gt(t){if(t.focusNode===t.anchorNode)return t.focusOffset<t.anchorOffset;return t.getRangeAt(0).startContainer===t.focusNode}function Kt(t,e){try{var n,o;const i=null!==(n=null===(o=e.nodeValue)||void 0===o?void 0:o.length)&&void 0!==n?n:e.childNodes.length;return t.comparePoint(e,0)<=0&&t.comparePoint(e,i)>=0}catch(t){return!1}}function Zt(t,e){const n=t.commonAncestorContainer,o=n.ownerDocument.createNodeIterator(n,NodeFilter.SHOW_ALL);let i;for(;i=o.nextNode();)Kt(t,i)&&e(i)}function Jt(t){if(t.isCollapsed)return null;const e=function(t){const e=/^\s*$/,n=[];Zt(t,(t=>{t.nodeType!==Node.TEXT_NODE||t.textContent.match(e)||n.push(t)}));let o=[];return n.forEach((e=>{const n=e.ownerDocument.createRange();if(n.selectNodeContents(e),e===t.startContainer&&n.setStart(e,t.startOffset),e===t.endContainer&&n.setEnd(e,t.endOffset),n.collapsed)return;const i=Array.from(n.getClientRects());n.detach(),o=o.concat(i)})),o}(t.getRangeAt(0));return 0===e.length?null:Gt(t)?e[0]:e[e.length-1]}function Qt(t,e="hypothesis-highlight"){const n=function(t){if(t.collapsed)return[];let e=t.commonAncestorContainer;if(e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement),!e)return[];const n=[],o=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT);let i;for(;i=o.nextNode();){if(!Kt(t,i))continue;let e=i;e===t.startContainer&&t.startOffset>0?e.splitText(t.startOffset):(e===t.endContainer&&t.endOffset<e.data.length&&e.splitText(t.endOffset),n.push(e))}return n}(t),o=n.length>0&&Yt(n[0]);let i=[],r=null,s=null;n.forEach((t=>{r&&r.nextSibling===t?s.push(t):(s=[t],i.push(s)),r=t}));const a=/^\s*$/;i=i.filter((t=>t.some((t=>!a.test(t.nodeValue)))));const l=[];return i.forEach((t=>{const n=document.createElement("hypothesis-highlight");n.className=e,t[0].parentNode.replaceChild(n,t[0]),t.forEach((t=>n.appendChild(t))),l.push(n)})),o||function(t){if(0===t.length)return;const e=function(t){const e=t.closest(".page");return e&&e.querySelector(".canvasWrapper > canvas")||null}(t[0]);if(!e||!e.parentElement)return;let n=e.parentElement.querySelector(".hypothesis-highlight-layer");const o=CSS.supports("mix-blend-mode","multiply");if(!n){n=document.createElementNS("http://www.w3.org/2000/svg","svg"),n.setAttribute("class","hypothesis-highlight-layer"),e.parentElement.appendChild(n),e.parentElement.style.position="relative";const t=n.style;t.position="absolute",t.left="0",t.top="0",t.width="100%",t.height="100%",o?t.mixBlendMode="multiply":t.opacity="0.3"}const i=e.getBoundingClientRect(),r=t.map((t=>{const e=t.getBoundingClientRect(),n=document.createElementNS("http://www.w3.org/2000/svg","rect");return n.setAttribute("x",(e.left-i.left).toString()),n.setAttribute("y",(e.top-i.top).toString()),n.setAttribute("width",e.width.toString()),n.setAttribute("height",e.height.toString()),o?n.setAttribute("class","hypothesis-svg-highlight"):n.setAttribute("class","hypothesis-svg-highlight is-opaque"),t.classList.add("is-transparent"),t.svgHighlight=n,n}));n.append(...r)}(l),l}function te(t,e){const n=t.parentNode;e.forEach((e=>n.insertBefore(e,t))),t.remove()}function ee(t){for(let e of t){if(e.parentNode){te(e,Array.from(e.childNodes))}e.svgHighlight&&e.svgHighlight.remove()}}function ne(t,e){t.forEach((t=>{if(t.svgHighlight){if(t.svgHighlight.classList.toggle("is-focused",e),e){t.svgHighlight.parentNode.append(t.svgHighlight)}}else t.classList.toggle("hypothesis-highlight-focused",e)}))}function oe(t){const e=t.map((t=>t.getBoundingClientRect()));return e.reduce(((t,e)=>({top:Math.min(t.top,e.top),left:Math.min(t.left,e.left),bottom:Math.max(t.bottom,e.bottom),right:Math.max(t.right,e.right)})))}var ie=/^\s+|\s+$/g,re=/^[-+]0x[0-9a-f]+$/i,se=/^0b[01]+$/i,ae=/^0o[0-7]+$/i,le=parseInt,ce="object"==typeof t&&t&&t.Object===Object&&t,he="object"==typeof self&&self&&self.Object===Object&&self,ue=ce||he||Function("return this")(),de=Object.prototype.toString,fe=Math.max,pe=Math.min,ge=function(){return ue.Date.now()};function me(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function _e(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==de.call(t)}(t))return NaN;if(me(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=me(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(ie,"");var n=se.test(t);return n||ae.test(t)?le(t.slice(2),n?2:8):re.test(t)?NaN:+t}var ve=function(t,e,n){var o,i,r,s,a,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=o,r=i;return o=i=void 0,c=e,s=t.apply(r,n)}function p(t){return c=t,a=setTimeout(m,e),h?f(t):s}function g(t){var n=t-l;return void 0===l||n>=e||n<0||u&&t-c>=r}function m(){var t=ge();if(g(t))return _(t);a=setTimeout(m,function(t){var n=e-(t-l);return u?pe(n,r-(t-c)):n}(t))}function _(t){return a=void 0,d&&o?f(t):(o=i=void 0,s)}function v(){var t=ge(),n=g(t);if(o=arguments,i=this,l=t,n){if(void 0===a)return p(l);if(u)return a=setTimeout(m,e),f(l)}return void 0===a&&(a=setTimeout(m,e)),s}return e=_e(e)||0,me(n)&&(h=!!n.leading,r=(u="maxWait"in n)?fe(_e(n.maxWait)||0,e):r,d="trailing"in n?!!n.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,o=l=i=a=void 0},v.flush=function(){return void 0===a?s:_(ge())},v};class ye{constructor(t,e,n){this._element=t,this._onFrameAdded=e,this._onFrameRemoved=n,this._annotatableFrames=new Set,this._isDisconnected=!1,this._mutationObserver=new MutationObserver(ve((()=>{this._discoverFrames()}),40)),this._discoverFrames(),this._mutationObserver.observe(this._element,{childList:!0,subtree:!0,attributeFilter:["enable-annotation"]})}disconnect(){this._isDisconnected=!0,this._mutationObserver.disconnect()}async _addFrame(t){this._annotatableFrames.add(t);try{if(await we(t),this._isDisconnected)return;t.contentWindow.addEventListener("unload",(()=>{this._removeFrame(t)})),this._onFrameAdded(t)}catch(e){console.warn(`Unable to inject the Hypothesis client (from '${document.location.href}' into a cross-origin frame '${t.src}')`)}}_removeFrame(t){this._annotatableFrames.delete(t),this._onFrameRemoved(t)}_discoverFrames(){const t=new Set(this._element.querySelectorAll("iframe[enable-annotation]"));for(let e of t)this._annotatableFrames.has(e)||this._addFrame(e);for(let e of this._annotatableFrames)t.has(e)||this._removeFrame(e)}}function we(t){return new Promise((e=>{const n=t.contentWindow.document,{readyState:o,location:i}=n;"about:blank"===i.href&&t.hasAttribute("src")&&"about:blank"!==t.src?t.addEventListener("load",(()=>{e()})):"loading"!==o?e():n.addEventListener("DOMContentLoaded",(()=>e()))}))}class be{constructor(t,e){this._config=e,this._frameObserver=new ye(t,(t=>this.injectClient(t)),(()=>{}))}destroy(){this._frameObserver.disconnect()}async injectClient(t){if("__hypothesis"in t.contentWindow)return;await we(t);const{assetRoot:e,notebookAppUrl:n,sidebarAppUrl:o}=Et(document),i=Math.random().toString().replace(/\D/g,""),r={...this._config,assetRoot:e,notebookAppUrl:n,sidebarAppUrl:o,subFrameIdentifier:i},{clientUrl:s}=this._config;!function(t,e,n){const o=document.createElement("script");o.className="js-hypothesis-config",o.type="application/json",o.innerText=JSON.stringify(n);const i=document.createElement("script");i.async=!0,i.src=e;const r=t.contentDocument;r.body.appendChild(o),r.body.appendChild(i)}(t,s,r)}}function Ee(t,e,n){t.self===t?t.scrollTo(e,n):(t.scrollLeft=e,t.scrollTop=n)}function Ce(t){var e=t._scrollSettings;if(e){var n=e.maxSynchronousAlignments,o=function(t,e){var n,o,i,r,s,a,l,c=t.align,h=t.target.getBoundingClientRect(),u=c&&null!=c.left?c.left:.5,d=c&&null!=c.top?c.top:.5,f=c&&null!=c.leftOffset?c.leftOffset:0,p=c&&null!=c.topOffset?c.topOffset:0,g=u,m=d;if(t.isWindow(e))a=Math.min(h.width,e.innerWidth),l=Math.min(h.height,e.innerHeight),o=h.left+e.pageXOffset-e.innerWidth*g+a*g,i=h.top+e.pageYOffset-e.innerHeight*m+l*m,o-=f,i-=p,o=t.align.lockX?e.pageXOffset:o,i=t.align.lockY?e.pageYOffset:i,r=o-e.pageXOffset,s=i-e.pageYOffset;else{a=h.width,l=h.height,n=e.getBoundingClientRect();var _=h.left-(n.left-e.scrollLeft),v=h.top-(n.top-e.scrollTop);o=_+a*g-e.clientWidth*g,i=v+l*m-e.clientHeight*m,o-=f,i-=p,o=Math.max(Math.min(o,e.scrollWidth-e.clientWidth),0),i=Math.max(Math.min(i,e.scrollHeight-e.clientHeight),0),o=t.align.lockX?e.scrollLeft:o,i=t.align.lockY?e.scrollTop:i,r=o-e.scrollLeft,s=i-e.scrollTop}return{x:o,y:i,differenceX:r,differenceY:s}}(e,t),i=Date.now()-e.startTime,r=Math.min(1/e.time*i,1);if(e.endIterations>=n)return Ee(t,o.x,o.y),t._scrollSettings=null,e.end("complete");var s=1-e.ease(r);if(Ee(t,o.x-o.differenceX*s,o.y-o.differenceY*s),i>=e.time)return e.endIterations++,e.scrollAncestor&&Ce(e.scrollAncestor),void Ce(t);!function(t){if("requestAnimationFrame"in window)return window.requestAnimationFrame(t);setTimeout(t,16)}(Ce.bind(null,t))}}function Te(t){return t.self===t}function Se(t){return"pageXOffset"in t||(t.scrollHeight!==t.clientHeight||t.scrollWidth!==t.clientWidth)&&"hidden"!==getComputedStyle(t).overflow}function ke(){return!0}function xe(t){if(t.assignedSlot)return xe(t.assignedSlot);if(t.parentElement)return"BODY"===t.parentElement.tagName?t.parentElement.ownerDocument.defaultView||t.parentElement.ownerDocument.ownerWindow:t.parentElement;if(t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e.host}}var Ae=function(t,e,n){if(t){"function"==typeof e&&(n=e,e=null),e||(e={}),e.time=isNaN(e.time)?1e3:e.time,e.ease=e.ease||function(t){return 1-Math.pow(1-t,t/2)},e.align=e.align||{};var o=xe(t),i=1,r=e.validTarget||ke,s=e.isScrollable;e.debug&&(console.log("About to scroll to",t),o||console.error("Target did not have a parent, is it mounted in the DOM?"));for(var a=[];o;)if(e.debug&&console.log("Scrolling parent node",o),r(o,i)&&(s?s(o,Se):Se(o))&&(i++,a.push(o)),!(o=xe(o))){l("complete");break}return a.reduce(((n,o,i)=>function(t,e,n,o,i){var r,s=!e._scrollSettings,a=e._scrollSettings,l=Date.now(),c={passive:!0};function h(t){e._scrollSettings=null,e.parentElement&&e.parentElement._scrollSettings&&e.parentElement._scrollSettings.end(t),n.debug&&console.log("Scrolling ended with type",t,"for",e),i(t),r&&(e.removeEventListener("touchstart",r,c),e.removeEventListener("wheel",r,c))}a&&a.end("canceled");var u=n.maxSynchronousAlignments;return null==u&&(u=3),e._scrollSettings={startTime:l,endIterations:0,target:t,time:n.time,ease:n.ease,align:n.align,isWindow:n.isWindow||Te,maxSynchronousAlignments:u,end:h,scrollAncestor:o},"cancellable"in n&&!n.cancellable||(r=h.bind(null,"canceled"),e.addEventListener("touchstart",r,c),e.addEventListener("wheel",r,c)),s&&Ce(e),r}(t,o,e,a[i+1],l)),null)}function l(t){--i||n&&n(t)}},Ne={};function Le(t){return t.split("").reverse().join("")}function Re(t){return(t|-t)>>31&1}function Oe(t,e,n,o){var i=t.P[n],r=t.M[n],s=o>>>31,a=e[n]|s,l=a|r,c=(a&i)+i^i|a,h=r|~(c|i),u=i&c,d=Re(h&t.lastRowMask[n])-Re(u&t.lastRowMask[n]);return h<<=1,u<<=1,i=(u|=s)|~(l|(h|=Re(o)-s)),r=h&l,t.P[n]=i,t.M[n]=r,d}function Me(t,e,n){if(0===e.length)return[];n=Math.min(n,e.length);var o=[],i=32,r=Math.ceil(e.length/i)-1,s={P:new Uint32Array(r+1),M:new Uint32Array(r+1),lastRowMask:new Uint32Array(r+1)};s.lastRowMask.fill(1<<31),s.lastRowMask[r]=1<<(e.length-1)%i;for(var a=new Uint32Array(r+1),l=new Map,c=[],h=0;h<256;h++)c.push(a);for(var u=0;u<e.length;u+=1){var d=e.charCodeAt(u);if(!l.has(d)){var f=new Uint32Array(r+1);l.set(d,f),d<c.length&&(c[d]=f);for(var p=0;p<=r;p+=1){f[p]=0;for(var g=0;g<i;g+=1){var m=p*i+g;if(!(m>=e.length))e.charCodeAt(m)===d&&(f[p]|=1<<g)}}}}var _=Math.max(0,Math.ceil(n/i)-1),v=new Uint32Array(r+1);for(p=0;p<=_;p+=1)v[p]=(p+1)*i;v[r]=e.length;for(p=0;p<=_;p+=1)s.P[p]=-1,s.M[p]=0;for(var y=0;y<t.length;y+=1){var w=t.charCodeAt(y);f=void 0;w<c.length?f=c[w]:void 0===(f=l.get(w))&&(f=a);var b=0;for(p=0;p<=_;p+=1)b=Oe(s,f,p,b),v[p]+=b;if(v[_]-b<=n&&_<r&&(1&f[_+1]||b<0)){_+=1,s.P[_]=-1,s.M[_]=0;var E=_===r?e.length%i:i;v[_]=v[_-1]+E-b+Oe(s,f,_,b)}else for(;_>0&&v[_]>=n+i;)_-=1;_===r&&v[_]<=n&&(v[_]<n&&o.splice(0,o.length),o.push({start:-1,end:y+1,errors:v[_]}),n=v[_])}return o}Object.defineProperty(Ne,"__esModule",{value:!0});var Pe=Ne.default=function(t,e,n){return function(t,e,n){var o=Le(e);return n.map((function(n){var i=Math.max(0,n.end-e.length-n.errors);return{start:Me(Le(t.slice(i,n.end)),o,n.errors).reduce((function(t,e){return n.end-e.end<t?n.end-e.end:t}),n.end),end:n.end,errors:n.errors}}))}(t,e,Me(t,e,n))};function Ie(t,e,n){let o=0,i=[];for(;-1!==o;)o=t.indexOf(e,o),-1!==o&&(i.push({start:o,end:o+e.length,errors:0}),o+=1);return i.length>0?i:Pe(t,e,n)}function De(t,e){if(0===e.length||0===t.length)return 0;return 1-Ie(t,e,e.length)[0].errors/e.length}function Ve(t,e,n={}){if(0===e.length)return null;const o=Math.min(256,e.length/2),i=Ie(t,e,o);if(0===i.length)return null;const r=o=>{const i=1-o.errors/e.length,r=n.prefix?De(t.slice(Math.max(0,o.start-n.prefix.length),o.start),n.prefix):1,s=n.suffix?De(t.slice(o.end,o.end+n.suffix.length),n.suffix):1;let a=1;if("number"==typeof n.hint){a=1-Math.abs(o.start-n.hint)/t.length}return(50*i+20*r+20*s+2*a)/92},s=i.map((t=>({start:t.start,end:t.end,score:r(t)})));return s.sort(((t,e)=>e.score-t.score)),s[0]}function He(t){const e=function(t){const e=t.nodeName.toLowerCase();let n=e;return"#text"===e&&(n="text()"),n}(t),n=function(t){let e=0,n=t;for(;n;)n.nodeName===t.nodeName&&(e+=1),n=n.previousSibling;return e}(t);return`${e}[${n}]`}function Be(t,e){let n="",o=t;for(;o!==e;){if(!o)throw new Error("Node is not a descendant of root");n=He(o)+"/"+n,o=o.parentNode}return n="/"+n,n=n.replace(/\/$/,""),n}function Fe(t,e,n){e=e.toUpperCase();let o=-1;for(let i=0;i<t.children.length;i++){const r=t.children[i];if(r.nodeName.toUpperCase()===e&&(++o,o===n))return r}return null}function Ue(t,e=document.body){try{return function(t,e){if(null===t.match(/^(\/[A-Za-z0-9-]+(\[[0-9]+\])?)+$/))throw new Error("Expression is not a simple XPath");const n=t.split("/");let o=e;n.shift();for(let t of n){let e,n;const i=t.indexOf("[");if(-1!==i){e=t.slice(0,i);const o=t.slice(i+1,t.indexOf("]"));if(n=parseInt(o)-1,n<0)return null}else e=t,n=0;const r=Fe(o,e,n);if(!r)return null;o=r}return o}(t,e)}catch(n){return document.evaluate("."+t,e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}}class qe{constructor(t,e){this.root=t,this.range=e}static fromRange(t,e){return new qe(t,e)}static fromSelector(t,e){const n=Ue(e.startContainer,t);if(!n)throw new Error("Failed to resolve startContainer XPath");const o=Ue(e.endContainer,t);if(!o)throw new Error("Failed to resolve endContainer XPath");const i=zt.fromCharOffset(n,e.startOffset),r=zt.fromCharOffset(o,e.endOffset),s=new Xt(i,r).toRange();return new qe(t,s)}toRange(){return this.range}toSelector(){const t=Xt.fromRange(this.range).toRange(),e=Xt.fromRange(t),n=Be(e.start.element,this.root),o=Be(e.end.element,this.root);return{type:"RangeSelector",startContainer:n,startOffset:e.start.offset,endContainer:o,endOffset:e.end.offset}}}class We{constructor(t,e,n){this.root=t,this.start=e,this.end=n}static fromRange(t,e){const n=Xt.fromRange(e).relativeTo(t);return new We(t,n.start.offset,n.end.offset)}static fromSelector(t,e){return new We(t,e.start,e.end)}toSelector(){return{type:"TextPositionSelector",start:this.start,end:this.end}}toRange(){return Xt.fromOffsets(this.root,this.start,this.end).toRange()}}class je{constructor(t,e,n={}){this.root=t,this.exact=e,this.context=n}static fromRange(t,e){const n=t.textContent,o=Xt.fromRange(e).relativeTo(t),i=o.start.offset,r=o.end.offset;return new je(t,n.slice(i,r),{prefix:n.slice(Math.max(0,i-32),i),suffix:n.slice(r,Math.min(n.length,r+32))})}static fromSelector(t,e){const{prefix:n,suffix:o}=e;return new je(t,e.exact,{prefix:n,suffix:o})}toSelector(){return{type:"TextQuoteSelector",exact:this.exact,prefix:this.context.prefix,suffix:this.context.suffix}}toRange(t={}){return this.toPositionAnchor(t).toRange()}toPositionAnchor(t={}){const e=Ve(this.root.textContent,this.exact,{...this.context,hint:t.hint});if(!e)throw new Error("Quote not found");return new We(this.root,e.start,e.end)}}async function $e(t,e={}){return t.toRange(e)}function ze(t,e,n={}){let o=null,i=null,r=null;for(let t of e)switch(t.type){case"TextPositionSelector":o=t,n.hint=o.start;break;case"TextQuoteSelector":i=t;break;case"RangeSelector":r=t}const s=t=>{var e;if(null!==(e=i)&&void 0!==e&&e.exact&&t.toString()!==i.exact)throw new Error("quote mismatch");return t};let a=Promise.reject("unable to anchor");return r&&(a=a.catch((()=>$e(qe.fromSelector(t,r),n).then(s)))),o&&(a=a.catch((()=>$e(We.fromSelector(t,o),n).then(s)))),i&&(a=a.catch((()=>$e(je.fromSelector(t,i),n)))),a}function Xe(t,e){const n=[qe,We,je],o=[];for(let i of n)try{const n=i.fromRange(t,e);o.push(n.toSelector())}catch(t){continue}return o}function Ye(t,e=document.baseURI){return new URL(t,e).href.toString().replace(/#.*/,"")}class Ge{constructor(t={}){this.document=t.document||document}uri(){let t=decodeURIComponent(this._getDocumentHref());const e=this._getLinks();for(let n of e)"canonical"===n.rel&&(t=n.href);return t}getDocumentMetadata(){const t={title:document.title,link:[],dc:this._getMetaTags("dc","name","."),eprints:this._getMetaTags("eprints","name","."),facebook:this._getMetaTags("og","property",":"),highwire:this._getMetaTags("citation","name","_"),prism:this._getMetaTags("prism","name","."),twitter:this._getMetaTags("twitter","name",":")},e=this._getFavicon();e&&(t.favicon=e),t.title=this._getTitle(t),t.link=this._getLinks(t);const n=t.link.find((t=>t.href.startsWith("urn:x-dc")));return n&&(t.documentFingerprint=n.href),t}_getMetaTags(t,e,n){const o={};for(let i of Array.from(this.document.querySelectorAll("meta"))){const r=i.getAttribute(e),{content:s}=i;if(r){const e=r.match(RegExp(`^${t}${n}(.+)$`,"i"));if(e){const t=e[1];o[t]?o[t].push(s):o[t]=[s]}}}return o}_getTitle(t){return t.highwire.title?t.highwire.title[0]:t.eprints.title?t.eprints.title[0]:t.prism.title?t.prism.title[0]:t.facebook.title?t.facebook.title[0]:t.twitter.title?t.twitter.title[0]:t.dc.title?t.dc.title[0]:this.document.title}_getLinks(t={dc:{},highwire:{}}){const e=[{href:this._getDocumentHref()}],n=Array.from(this.document.querySelectorAll("link"));for(let t of n)if(["alternate","canonical","bookmark","shortlink"].includes(t.rel)){if("alternate"===t.rel){if(t.type&&t.type.match(/^application\/(rss|atom)\+xml/))continue;if(t.hreflang)continue}try{const n=this._absoluteUrl(t.href);e.push({href:n,rel:t.rel,type:t.type})}catch(t){}}for(let n of Object.keys(t.highwire)){const o=t.highwire[n];if("pdf_url"===n)for(let t of o)try{e.push({href:this._absoluteUrl(t),type:"application/pdf"})}catch(t){}if("doi"===n)for(let t of o)"doi:"!==t.slice(0,4)&&(t=`doi:${t}`),e.push({href:t})}for(let n of Object.keys(t.dc)){const o=t.dc[n];if("identifier"===n)for(let t of o)"doi:"===t.slice(0,4)&&e.push({href:t})}const o=t.dc["relation.ispartof"],i=t.dc.identifier;if(o&&i){const t=o[o.length-1],n=i[i.length-1],r="urn:x-dc:"+encodeURIComponent(t)+"/"+encodeURIComponent(n);e.push({href:r})}return e}_getFavicon(){let t=null;for(let e of Array.from(this.document.querySelectorAll("link")))if(["shortcut icon","icon"].includes(e.rel))try{t=this._absoluteUrl(e.href)}catch(t){}return t}_absoluteUrl(t){return Ye(t,this.document.baseURI)}_getDocumentHref(){const{href:t}=this.document.location,e=["http:","https:","file:"],n=new URL(t).protocol;return e.includes(n)?t:this.document.baseURI&&e.includes(new URL(this.document.baseURI).protocol)?this.document.baseURI:t}}class Ke{constructor(t=document.body){this.container=t,this.anchor=ze,this.describe=Xe,this._htmlMeta=new Ge}canAnnotate(){return!0}destroy(){}contentContainer(){return this.container}fitSideBySide(){return!1}async getMetadata(){return this._htmlMeta.getDocumentMetadata()}async uri(){return this._htmlMeta.uri()}scrollToAnchor(t){const e=t.highlights;return new Promise((t=>{Ae(e[0],t)}))}}let Ze={};function Je(...t){const e=t.join();e in Ze||(console.warn(...t),Ze[e]=!0)}Je.reset=()=>{Ze={}};const Qe=0,tn=3,en=new Map,nn=new Map;function on(t,e){return`${t}:${e}`}function rn(t){var e;const n="closest"in t?t:t.parentElement;return null!==(e=null==n?void 0:n.closest(".textLayer"))&&void 0!==e?e:null}function sn(){return PDFViewerApplication.pdfViewer}async function an(t){const e=sn();let n=e.getPageView(t);return n&&n.pdfPage||(n=await new Promise((n=>{const o=()=>{e.eventBus?e.eventBus.off("pagesloaded",o):document.removeEventListener("pagesloaded",o),n(e.getPageView(t))};e.eventBus?e.eventBus.on("pagesloaded",o):document.addEventListener("pagesloaded",o)}))),n}function ln(t){const e=en.get(t);if(e)return e;const n=(async()=>{const e=await an(t);let n=(await e.pdfPage.getTextContent({normalizeWhitespace:!0})).items;return n.length>0&&!("hasEOL"in n[0])&&(n=n.filter((t=>/\S/.test(t.str)))),n.map((t=>t.str)).join("")})();return en.set(t,n),n}async function cn(t){const e=sn();let n=0,o=0,i="";for(let r=0;r<e.pagesCount;r++)if(i=await ln(r),n=o,o+=i.length,o>=t)return{index:r,offset:n,text:i};return{index:e.pagesCount-1,offset:n,text:i}}async function hn(t,e,n){const[o,i]=await Promise.all([an(t),ln(t)]);if(o.renderingState===tn&&o.textLayer&&o.textLayer.renderingDone){const t=o.textLayer.textLayerDiv;i!==t.textContent&&Je("PDF text layer content does not match page text. This will cause anchoring misalignment.");const r=new zt(t,e),s=new zt(t,n);return new Xt(r,s).toRange()}const r=function(t){let e=t.querySelector(".annotator-placeholder");return e||(e=document.createElement("span"),e.classList.add("annotator-placeholder"),e.textContent="Loading annotations...",t.appendChild(e),e)}(o.div),s=document.createRange();return s.setStartBefore(r),s.setEndAfter(r),s}function un(t){const e=[];let n="";for(let o=0;o<t.length;o++){const i=t[o];" "!==i&&"\t"!==i&&"\n"!==i&&(n+=i,e.push(o))}return[n,e]}async function dn(t,e){const n=e.find((t=>"TextQuoteSelector"===t.type));if(!n)throw new Error("No quote selector found");const o=e.find((t=>"TextPositionSelector"===t.type));if(o){try{const{index:t,offset:e,text:i}=await cn(o.start),r=o.start-e,s=o.end-e,a=i.substring(r,s);if(n.exact!==a)throw new Error("quote mismatch");return await hn(t,r,s)}catch{}try{const t=on(n.exact,o.start),e=nn.get(t);if(e){const{pageIndex:t,anchor:n}=e;return await hn(t,n.start,n.end)}}catch{}}return async function(t,e){const n=sn().pagesCount,o=Array(n).fill(0).map(((t,e)=>e));let i,r;if(e){const{index:t,offset:n}=await cn(e);i=t,r=e-n,o.sort(((e,n)=>Math.abs(e-t)-Math.abs(n-t)))}const[s]=void 0!==t.prefix?un(t.prefix):[],[a]=void 0!==t.suffix?un(t.suffix):[],[l]=un(t.exact);let c;for(let t of o){const e=await ln(t),[n,o]=un(e);let h;if(void 0!==i&&void 0!==r){let n;for(n=t<i?e.length:t===i?r:0,h=0;h<o.length&&o[h]<n;)++h}const u=Ve(n,l,{prefix:s,suffix:a,hint:h});if(u&&(!c||u.score>c.match.score)){c={page:t,match:{start:o[u.start],end:o[u.end-1]+1,score:u.score}};const e=n.slice(u.start,u.end)===l,i=void 0!==s&&n.slice(Math.max(0,u.start-s.length),u.start)===s,r=void 0!==a&&n.slice(u.end,a.length)===a,h=void 0!==s||void 0!==a;if(e&&(i||r||!h))break}}if(c){const{page:n,match:o}=c;if(e){const i=on(t.exact,e);nn.set(i,{pageIndex:n,anchor:o})}return hn(n,o.start,o.end)}throw new Error("Quote not found")}(n,null==o?void 0:o.start)}function fn(t){try{t=Xt.fromRange(t).toRange()}catch{throw new Error("Selection does not contain text")}const e=rn(t.startContainer),n=rn(t.endContainer);if(!e||!n)throw new Error("Selection is outside page text");if(e!==n)throw new Error("Selecting across page breaks is not supported");return[t,e]}async function pn(t,e){const[n,o]=fn(e),i=zt.fromPoint(n.startContainer,n.startOffset).relativeTo(o),r=zt.fromPoint(n.endContainer,n.endOffset).relativeTo(o),s=function(t){let e=0;for(;t.previousSibling;)++e,t=t.previousSibling;return e}(o.parentNode),a=await async function(t){if(t>=sn().pagesCount)throw new Error("Invalid page index");let e=0;for(let n=0;n<t;n++)e+=(await ln(n)).length;return e}(s);return[{type:"TextPositionSelector",start:a+i.offset,end:a+r.offset},je.fromRange(t,n).toSelector()]}function gn(){return dt("div",{className:"WarningBanner WarningBanner--notice",children:[dt("div",{className:"WarningBanner__type",children:dt(pt,{name:"caution",className:"WarningBanner__icon"})}),dt("div",{className:"WarningBanner__message",children:[dt("strong",{children:"This PDF does not contain selectable text:"})," ",dt("a",{target:"_blank",rel:"noreferrer",href:"https://web.hypothes.is/help/how-to-ocr-optimize-pdfs/",children:"Learn how to fix this"})," ","in order to annotate with Hypothesis."]})]})}function mn(t,e,n){return t+n*(e-t)}async function _n(t,e,{maxDuration:n=500}={}){const o=t.scrollTop,i=e,r=Date.now(),s=Math.min(Math.abs(i-o)/3,n);let a=0;for(;a<1;)await new Promise((t=>{requestAnimationFrame(t)})),a=Math.min(1,(Date.now()-r)/s),t.scrollTop=mn(o,i,a)}class vn{constructor(t){this._loaded=function(t){return t.initializedPromise?t.initializedPromise:t.initialized?Promise.resolve():new Promise((e=>{const n=setInterval((()=>{t.initialized&&(clearTimeout(n),e())}),5)}))}(t).then((()=>t.downloadComplete?t:new Promise((e=>{const n=()=>{t.eventBus?(t.eventBus.off("documentload",n),t.eventBus.off("documentloaded",n)):window.removeEventListener("documentload",n),e(t)};t.eventBus?(t.eventBus.on("documentloaded",n),t.eventBus.on("documentload",n)):window.addEventListener("documentload",n)}))))}getUri(){return this._loaded.then((t=>{let e=bn(t);return e||(e=wn(yn(t))),e}))}async getMetadata(){const t=await this._loaded,{info:e,contentDispositionFilename:n,metadata:o}=await t.pdfDocument.getMetadata(),i=yn(t),r=bn(t);let s;s=null!=o&&o.has("dc:title")&&"Untitled"!==o.get("dc:title")?o.get("dc:title"):null!=e&&e.Title?e.Title:n||(r?function(t){const e=new URL(t).pathname.split("/");return e[e.length-1]}(r):"");const a=[{href:wn(i)}];return r&&a.push({href:r}),{title:s,link:a,documentFingerprint:i}}}function yn(t){return Array.isArray(t.pdfDocument.fingerprints)?t.pdfDocument.fingerprints[0]:t.pdfDocument.fingerprint}function wn(t){return`urn:x-pdf:${t}`}function bn(t){if(!t.url)return null;const e=Ye(t.url);return 0!==e.indexOf("file://")?e:null}function En(t){var e;const n=null===(e=t.highlights)||void 0===e?void 0:e[0];return n&&Yt(n)}function Cn(t){return new Promise((e=>setTimeout(e,t)))}class Tn{constructor(t,e={}){var n,o,i;this.annotator=t;const r=window,s=r.PDFViewerApplication;this.pdfViewer=s.pdfViewer,this.pdfViewer.viewer.classList.add("has-transparent-text-layer"),this.pdfContainer=null!==(n=null===(o=s.appConfig)||void 0===o?void 0:o.appContainer)&&void 0!==n?n:document.body,this.pdfMetadata=new vn(s),this.observer=new MutationObserver(ve((()=>this._update()),100)),this.observer.observe(this.pdfViewer.viewer,{attributes:!0,attributeFilter:["data-loaded"],childList:!0,subtree:!0}),this._reanchoringMaxWait=null!==(i=e.reanchoringMaxWait)&&void 0!==i?i:3e3,this._warningBanner=null,this._checkForSelectableText(),this._updateAnnotationLayerVisibility=()=>{const t=r.getSelection();this.pdfViewer.viewer.classList.toggle("is-selecting",!t.isCollapsed)},this._listeners=new Nt,this._listeners.add(document,"selectionchange",this._updateAnnotationLayerVisibility),this._destroyed=!1}destroy(){this._listeners.removeAll(),this.pdfViewer.viewer.classList.remove("has-transparent-text-layer"),this.observer.disconnect(),this._destroyed=!0}uri(){return this.pdfMetadata.getUri()}getMetadata(){return this.pdfMetadata.getMetadata()}anchor(t,e){return dn(0,e)}canAnnotate(t){return function(t){try{return fn(t),!0}catch{return!1}}(t)}describe(t,e){return pn(t,e)}async _checkForSelectableText(){try{await this.uri()}catch(t){return}if(!this._destroyed)try{const t=await async function(){const t=sn();let e=!1;for(let n=0;n<t.pagesCount;n++)if((await ln(n)).trim().length>0){e=!0;break}return e}();this._toggleNoSelectableTextWarning(!t)}catch(t){console.warn("Unable to check for text in PDF:",t)}}_toggleNoSelectableTextWarning(t){const e=document.querySelector("#outerContainer");var n;if(!t)return null===(n=this._warningBanner)||void 0===n||n.remove(),this._warningBanner=null,void(e.style.height="");this._warningBanner=document.createElement("hypothesis-banner"),document.body.prepend(this._warningBanner);const o=Ht(this._warningBanner);L(dt(gn,{}),o);const i=this._warningBanner.getBoundingClientRect().height;e.style.height=`calc(100% - ${i}px)`}_update(){const t=[],e=this.pdfViewer.pagesCount;for(let t=0;t<e;t++){var n;const e=this.pdfViewer.getPageView(t);if(null!=e&&null!==(n=e.textLayer)&&void 0!==n&&n.renderingDone)switch(e.renderingState){case Qe:e.textLayer=null;break;case tn:o=e.div,i=void 0,null===(i=o.querySelector(".annotator-placeholder"))||void 0===i||i.remove()}}var o,i;for(let e of this.annotator.anchors)if(e.highlights){if(t.includes(e.annotation))continue;for(let n=0;n<e.highlights.length;n++){const o=e.highlights[n];if(!document.body.contains(o)){e.highlights.splice(n,1),delete e.range,t.push(e.annotation);break}}}t.map((t=>this.annotator.anchor(t)))}contentContainer(){return document.querySelector("#viewerContainer")}fitSideBySide(t){const e=window.innerWidth-t.width,n=t.expanded&&e>=680,o=n?t.width:t.toolbarWidth;this.pdfContainer.style.width=`calc(100% - ${o}px)`;const i=this.pdfViewer.currentScaleValue;return"auto"!==i&&"page-fit"!==i&&"page-width"!==i||(this.pdfViewer.currentScaleValue=i),this.pdfViewer.update(),n}async scrollToAnchor(t){const e=t.annotation,n=En(t),o=this._anchorOffset(t);if(null!==o&&(await _n(this.contentContainer(),o),n)){const t=await this._waitForAnnotationToBeAnchored(e,this._reanchoringMaxWait);if(!t)return;const n=this._anchorOffset(t);if(null===n)return;await _n(this.contentContainer(),n)}}async _waitForAnnotationToBeAnchored(t,e){var n;const o=Date.now();let i;do{i=this.annotator.anchors.find((e=>e.annotation===t)),i&&!En(i)||(i=null,await Cn(20))}while(!i&&Date.now()-o<e);return null!==(n=i)&&void 0!==n?n:null}_anchorOffset(t){if(!t.highlights)return null;return function(t,e){let n=0;for(;t!==e&&e.contains(t);)n+=t.offsetTop,t=t.offsetParent;return n}(t.highlights[0],this.contentContainer())}}function Sn(t=document){return t.querySelector("mosaic-book")}class kn{constructor(t){const e=Sn();if(!e)throw new Error("Book container element not found");const n=e.shadowRoot,o=()=>{const e=n.querySelector("iframe");e&&t.injectClient(e)};o(),this._frameObserver=new MutationObserver(o),this._frameObserver.observe(n,{childList:!0,subtree:!0})}destroy(){this._frameObserver.disconnect()}canAnnotate(){return!1}async anchor(){return new Range}describe(){throw new Error("This frame cannot be annotated")}contentContainer(){return document.body}fitSideBySide(){return!1}async getMetadata(){return{title:"",link:[]}}async uri(){return document.location.href}async scrollToAnchor(){}}class xn{constructor(t=document.body){this._htmlIntegration=new Ke(t),this._listeners=new Nt;const e=["mousedown","mouseup","mouseout"];for(let t of e)this._listeners.add(document.documentElement,t,(t=>{t.stopPropagation()}))}canAnnotate(){return!0}destroy(){this._listeners.removeAll(),this._htmlIntegration.destroy()}anchor(t,e){return this._htmlIntegration.anchor(t,e)}describe(t,e){return this._htmlIntegration.describe(t,e)}contentContainer(){return this._htmlIntegration.contentContainer()}fitSideBySide(){return!1}async getMetadata(){return{title:document.title,link:[]}}async uri(){const t=new URL(document.location.href);return t.search="",t.toString()}async scrollToAnchor(t){return this._htmlIntegration.scrollToAnchor(t)}}function An(t){if("undefined"!=typeof PDFViewerApplication)return new Tn(t);const e=function(t=window){var e;if(Sn(t.document))return"container";const n=null===(e=t.frameElement)||void 0===e?void 0:e.ownerDocument;return n&&Sn(n)?"content":null}();return"container"===e?new kn(t):"content"===e?new xn:new Ke}class Nn{constructor(t,e=document){let n=!1;this._pendingCallback=null;const o=(n=10)=>{this._pendingCallback=setTimeout((()=>{t(function(t){const e=t.getSelection();if(!e||0===e.rangeCount)return null;const n=e.getRangeAt(0);return n.collapsed?null:n}(e))}),n)};this._eventHandler=t=>{if("mousedown"===t.type&&(n=!0),"mouseup"===t.type&&(n=!1),n)return;this._cancelPendingCallback();const e="mouseup"===t.type?10:100;o(e)},this._document=e,this._listeners=new Nt,this._events=["mousedown","mouseup","selectionchange"];for(let t of this._events)this._listeners.add(e,t,this._eventHandler);o(1)}disconnect(){this._listeners.removeAll(),this._cancelPendingCallback()}_cancelPendingCallback(){this._pendingCallback&&(clearTimeout(this._pendingCallback),this._pendingCallback=null)}}function Ln(){const t=function(t,e){const n=new Set,o=new Set;return Zt(t,(t=>{let i=t;for(;i&&!n.has(i);){n.add(i);const t=e(i);t&&o.add(t),i=i.parentNode}})),[...o]}(window.getSelection().getRangeAt(0),(t=>t._annotation));return t}function Rn(t){const e=function(t){let e=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;const n=[];for(;e;)e.classList.contains("hypothesis-highlight")&&n.push(e),e=e.parentElement;return n}(t).map((t=>t._annotation)).filter((t=>void 0!==t));return e}function On(t){if(!t.range)return null;try{return t.range.toRange()}catch{return null}}class Mn{constructor(t,e,n={},o=window){this.element=t,this._emitter=e.createEmitter(),this._highlightsVisible=!1,this._isAdderVisible=!1,this._adder=new Ut(this.element,{onAnnotate:async()=>{await this.createAnnotation(),document.getSelection().removeAllRanges()},onHighlight:async()=>{await this.createAnnotation({highlight:!0}),document.getSelection().removeAllRanges()},onShowAnnotations:t=>{this.selectAnnotations(t)}}),this._selectionObserver=new Nn((t=>{t?this._onSelection(t):this._onClearSelection()})),this.anchors=[],this._frameIdentifier=n.subFrameIdentifier||null,this._bridge=new Rt,this._connectSidebarEvents(),this._annotationSync=new qt(e,this._bridge),this._connectAnnotationSync(),this._hypothesisInjector=new be(this.element,n),this._integration=An(this),this._sideBySideActive=!1,this._listeners=new Nt,this._setupElementEvents(),this._focusedAnnotations=new Set,this._hostFrame=o,this._listeners.add(window,"unload",(()=>this._notifyGuestUnload()))}_setupElementEvents(){const t=t=>{this._sideBySideActive||Rn(t).length||this._bridge.call("closeSidebar")};this._listeners.add(this.element,"mouseup",(t=>{const{target:e,metaKey:n,ctrlKey:o}=t,i=Rn(e);if(i.length&&this._highlightsVisible){const t=n||o;this.selectAnnotations(i,t)}})),this._listeners.add(this.element,"mousedown",(({target:e})=>{t(e)})),this._listeners.add(this.element,"touchstart",(({target:e})=>{t(e)})),this._listeners.add(this.element,"mouseover",(({target:t})=>{const e=Rn(t);e.length&&this._highlightsVisible&&this._focusAnnotations(e)})),this._listeners.add(this.element,"mouseout",(()=>{this._highlightsVisible&&this._focusAnnotations([])})),this._listeners.add(window,"resize",(()=>this._repositionAdder()))}async injectClient(t){return this._hypothesisInjector.injectClient(t)}async getDocumentInfo(){const[t,e]=await Promise.all([this._integration.uri(),this._integration.getMetadata()]);return{uri:Ye(t),metadata:e,frameIdentifier:this._frameIdentifier}}_repositionAdder(){var t;if(!1===this._isAdderVisible)return;const e=null===(t=window.getSelection())||void 0===t?void 0:t.getRangeAt(0);e&&this._onSelection(e)}_connectAnnotationSync(){this._emitter.subscribe("annotationDeleted",(t=>{this.detach(t)})),this._emitter.subscribe("annotationsLoaded",(t=>{t.map((t=>this.anchor(t)))}))}_connectSidebarEvents(){this._bridge.on("focusAnnotations",((t=[])=>{this._focusedAnnotations.clear(),t.forEach((t=>this._focusedAnnotations.add(t)));for(let e of this.anchors)if(e.highlights){const n=t.includes(e.annotation.$tag);ne(e.highlights,n)}})),this._bridge.on("scrollToAnnotation",(t=>{const e=this.anchors.find((e=>e.annotation.$tag===t));if(null==e||!e.highlights)return;const n=On(e);if(!n)return;const o=new CustomEvent("scrolltorange",{bubbles:!0,cancelable:!0,detail:n});this.element.dispatchEvent(o)&&this._integration.scrollToAnchor(e)})),this._bridge.on("getDocumentInfo",(t=>{this.getDocumentInfo().then((e=>t(null,e))).catch((e=>t(e)))})),this._bridge.on("setHighlightsVisible",(t=>{this.setHighlightsVisible(t)}))}destroy(){this._notifyGuestUnload(),this._hypothesisInjector.destroy(),this._listeners.removeAll(),this._selectionObserver.disconnect(),this._adder.destroy(),function(t){ee(Array.from(t.querySelectorAll("hypothesis-highlight")))}(this.element),this._integration.destroy(),this._emitter.destroy(),this._annotationSync.destroy(),this._bridge.destroy()}_notifyGuestUnload(){const t={type:"hypothesisGuestUnloaded",frameIdentifier:this._frameIdentifier};this._hostFrame.postMessage(t,"*")}connectToSidebar(t,e){const n=new MessageChannel;t.postMessage({type:"hypothesisGuestReady"},e,[n.port2]),this._bridge.createChannel(n.port1)}async anchor(t){const e=t=>{const e=On(t);if(!e)return;const n=Qt(e);n.forEach((e=>{e._annotation=t.annotation})),t.highlights=n,this._focusedAnnotations.has(t.annotation.$tag)&&ne(n,!0)};this.detach(t,!1),t.target||(t.target=[]);const n=await Promise.all(t.target.map((async e=>{if(!e.selector||!e.selector.some((t=>"TextQuoteSelector"===t.type)))return{annotation:t,target:e};let n;try{const o=await this._integration.anchor(this.element,e.selector),i=Xt.fromRange(o);n={annotation:t,target:e,range:i}}catch(o){n={annotation:t,target:e}}return n})));for(let t of n)e(t);return t.$orphan=n.length>0&&n.every((t=>t.target.selector&&!t.range)),this._updateAnchors(this.anchors.concat(n),!0),this._annotationSync.sync([t]),n}detach(t,e=!0){const n=[];for(let e of this.anchors)e.annotation!==t?n.push(e):e.highlights&&ee(e.highlights);this._updateAnchors(n,e)}_updateAnchors(t,e){this.anchors=t,e&&this._emitter.publish("anchorsChanged",this.anchors)}async createAnnotation({highlight:t=!1}={}){var e;const n=null!==(e=this.selectedRanges)&&void 0!==e?e:[];this.selectedRanges=null;const o=await this.getDocumentInfo(),i=this.element,r=(await Promise.all(n.map((t=>this._integration.describe(i,t))))).map((t=>({source:o.uri,selector:t}))),s={uri:o.uri,document:o.metadata,target:r,$highlight:t,$tag:""};return this._emitter.publish("beforeAnnotationCreated",s),this.anchor(s),s}_focusAnnotations(t){const e=t.map((t=>t.$tag));this._bridge.call("focusAnnotations",e)}_onSelection(t){if(!this._integration.canAnnotate(t))return void this._onClearSelection();const e=document.getSelection(),n=Gt(e),o=Jt(e);o?(this.selectedRanges=[t],this._emitter.publish("hasSelectionChanged",!0),this._adder.annotationsForSelection=Ln(),this._isAdderVisible=!0,this._adder.show(o,n)):this._onClearSelection()}_onClearSelection(){this._isAdderVisible=!1,this._adder.hide(),this.selectedRanges=[],this._emitter.publish("hasSelectionChanged",!1)}selectAnnotations(t,e=!1){const n=t.map((t=>t.$tag));e?this._bridge.call("toggleAnnotationSelection",n):this._bridge.call("showAnnotations",n),this._bridge.call("openSidebar")}scrollToAnchor(t){return this._integration.scrollToAnchor(t)}setHighlightsVisible(t){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)}(this.element,t),this._highlightsVisible=t}contentContainer(){return this._integration.contentContainer()}fitSideBySide(t){this._sideBySideActive=this._integration.fitSideBySide(t)}get sideBySideActive(){return this._sideBySideActive}get focusedAnnotationTags(){return this._focusedAnnotations}}function Pn(t){var e;const n={...t};if((null===(e=n.services)||void 0===e?void 0:e.length)>0){const t=n.services[0];t.onLoginRequest&&(t.onLoginRequestProvided=!0),t.onLogoutRequest&&(t.onLogoutRequestProvided=!0),t.onSignupRequest&&(t.onSignupRequestProvided=!0),t.onProfileRequest&&(t.onProfileRequestProvided=!0),t.onHelpRequest&&(t.onHelpRequestProvided=!0)}return["notebookAppUrl","sidebarAppUrl"].forEach((t=>delete n[t])),n}function In({config:t,groupId:e}){const n=Pn(t);n.group=e;const o=encodeURIComponent(JSON.stringify(n));return dt("iframe",{title:"Hypothesis annotation notebook",className:"NotebookIframe",allowFullScreen:!0,src:`${t.notebookAppUrl}#config=${o}`})}function Dn({eventBus:t,config:e}){const[n,o]=ot(0),[i,r]=ot(!0),[s,a]=ot(null),l=rt(""),c=rt(null);it((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),it((()=>{document.body.style.overflow=i?l.current:"hidden"}),[i]),it((()=>(c.current=t.createEmitter(),c.current.subscribe("openNotebook",(t=>{r(!1),o((t=>t+1)),a(t)})),()=>{c.current.destroy()})),[t]);return null===s?null:dt("div",{className:Y("NotebookModal__outer",{"is-hidden":i}),children:dt("div",{className:"NotebookModal__inner",children:[dt("div",{className:"NotebookModal__close-button-container",children:dt(vt,{icon:"cancel",title:"Close the Notebook",onClick:()=>{r(!0),c.current.publish("closeNotebook")},variant:"dark"})}),dt(In,{config:e,groupId:s},n)]})})}class Vn{constructor(t,e,n={}){this._outerContainer=document.createElement("hypothesis-notebook"),t.appendChild(this._outerContainer),this.shadowRoot=Ht(this._outerContainer),L(dt(Dn,{eventBus:e,config:n}),this.shadowRoot)}destroy(){L(null,this.shadowRoot),this._outerContainer.remove()}}var Hn={exports:{}};
|
|
6
|
+
*/W=j,function(){var t={}.hasOwnProperty;function e(){for(var n=[],o=0;o<arguments.length;o++){var i=arguments[o];if(i){var r=typeof i;if("string"===r||"number"===r)n.push(i);else if(Array.isArray(i)){if(i.length){var s=e.apply(null,i);s&&n.push(s)}}else if("object"===r)if(i.toString===Object.prototype.toString)for(var a in i)t.call(i,a)&&i[a]&&n.push(a);else n.push(i.toString())}}return n.join(" ")}W.exports?(e.default=e,W.exports=e):window.classNames=e}();var $,z,X,Y=j.exports,G=0,K=[],Z=e.__b,J=e.__r,Q=e.diffed,tt=e.__c,et=e.unmount;function nt(t,n){e.__h&&e.__h(z,t,G||n),G=0;var o=z.__H||(z.__H={__:[],__h:[]});return t>=o.__.length&&o.__.push({}),o.__[t]}function ot(t){return G=1,function(t,e,n){var o=nt($++,2);return o.t=t,o.__c||(o.__=[n?n(e):ut(void 0,e),function(t){var e=o.t(o.__[0],t);o.__[0]!==e&&(o.__=[e,o.__[1]],o.__c.setState({}))}],o.__c=z),o.__}(ut,t)}function it(t,n){var o=nt($++,3);!e.__s&&ht(o.__H,n)&&(o.__=t,o.__H=n,z.__H.__h.push(o))}function rt(t){return G=5,function(t,e){var n=nt($++,7);return ht(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}((function(){return{current:t}}),[])}function st(){K.forEach((function(t){if(t.__P)try{t.__H.__h.forEach(lt),t.__H.__h.forEach(ct),t.__H.__h=[]}catch(n){t.__H.__h=[],e.__e(n,t.__v)}})),K=[]}e.__b=function(t){z=null,Z&&Z(t)},e.__r=function(t){J&&J(t),$=0;var e=(z=t.__c).__H;e&&(e.__h.forEach(lt),e.__h.forEach(ct),e.__h=[])},e.diffed=function(t){Q&&Q(t);var n=t.__c;n&&n.__H&&n.__H.__h.length&&(1!==K.push(n)&&X===e.requestAnimationFrame||((X=e.requestAnimationFrame)||function(t){var e,n=function(){clearTimeout(o),at&&cancelAnimationFrame(e),setTimeout(t)},o=setTimeout(n,100);at&&(e=requestAnimationFrame(n))})(st)),z=void 0},e.__c=function(t,n){n.some((function(t){try{t.__h.forEach(lt),t.__h=t.__h.filter((function(t){return!t.__||ct(t)}))}catch(o){n.some((function(t){t.__h&&(t.__h=[])})),n=[],e.__e(o,t.__v)}})),tt&&tt(t,n)},e.unmount=function(t){et&&et(t);var n=t.__c;if(n&&n.__H)try{n.__H.__.forEach(lt)}catch(t){e.__e(t,n.__v)}};var at="function"==typeof requestAnimationFrame;function lt(t){var e=z;"function"==typeof t.__c&&t.__c(),z=e}function ct(t){var e=z;t.__c=t.__(),z=e}function ht(t,e){return!t||t.length!==e.length||e.some((function(e,n){return e!==t[n]}))}function ut(t,e){return"function"==typeof e?e(t):e}function dt(t,n,o,i,r){var s={};for(var a in n)"ref"!=a&&(s[a]=n[a]);var l,c,h={type:t,props:s,key:o,ref:n&&n.ref,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:++e.__v,__source:i,__self:r};if("function"==typeof t&&(l=t.defaultProps))for(c in l)void 0===s[c]&&(s[c]=l[c]);return e.vnode&&e.vnode(h),h}const ft=new Map;function pt({name:t,className:n="",inline:o=!1,title:i=""}){const r=ft.get(t);if(!r)throw new Error(`Icon "${t.toString()}" is not registered`);const s=rt();!function(t,n){var o=nt($++,4);!e.__s&&ht(o.__H,n)&&(o.__=t,o.__H=n,z.__h.push(o))}((()=>{const t=s.current.querySelector("svg");t&&t.setAttribute("class",n)}),[n,r]);const a={};return i&&(a.title=i),dt("span",{className:Y("Hyp-SvgIcon",{"Hyp-SvgIcon--inline":o}),dangerouslySetInnerHTML:{__html:r},ref:s,...a},void 0,!1,{fileName:"/home/runner/work/frontend-shared/frontend-shared/src/components/SvgIcon.js",lineNumber:69,columnNumber:5})}function gt(t,e){const n="string"==typeof t?Symbol(t):t;return ft.set(n,e),n}var mt="/home/runner/work/frontend-shared/frontend-shared/src/components/buttons.js";function _t({buttonRef:t,classes:e,className:n,icon:o,iconPosition:i="left",size:r="medium",variant:s="normal",expanded:a,pressed:l,type:c="button",...h}){const u={"aria-expanded":a,"aria-pressed":l,"aria-label":h.title};return dt("button",{ref:t,className:Y(n,`${n}--${r}`,`${n}--${s}`,{[`${n}--icon-${i}`]:o},e),type:c,...u,...h},void 0,!1,{fileName:mt,lineNumber:74,columnNumber:5})}function vt({className:t="Hyp-IconButton",...e}){const{icon:n}=e;return dt(_t,{className:t,...e,children:dt(pt,{name:n},void 0,!1,{fileName:mt,lineNumber:101,columnNumber:7})},void 0,!1,{fileName:mt,lineNumber:100,columnNumber:5})}gt("checkbox",' <svg\n width="32"\n height="32"\n viewBox="-4 -4 39 39"\n aria-hidden="true"\n focusable="false"\n >\n <rect\n class="hyp-svg-checkbox--background"\n width="35"\n height="35"\n x="-2"\n y="-2"\n stroke="currentColor"\n fill="none"\n stroke-width="3"\n rx="5"\n ry="5"\n />\n <polyline\n class="hyp-svg-checkbox--checkmark"\n points="4,14 12,23 28,5"\n stroke="transparent"\n stroke-width="5"\n fill="none"\n />\n</svg>');var yt='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 8l3.536-3.536L8 8 4.464 4.464 8 8zm0 0l-3.536 3.536L8 8l3.536 3.536L8 8z"></path></g></svg>\n';gt("cancel",yt),gt("cancel",yt);gt("spinner",'<svg viewBox="0 0 64 64">\n <g stroke-width="6" stroke="currentColor" stroke-linecap="round">\n <line y1="16" y2="28" transform="translate(32,32) rotate(180)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(225)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".15;0;1;.8;.65;.45;.3;.15" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(270)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".3;.15;0;1;.8;.65;.45;.3" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(315)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".45;.3;.15;0;1;.85;.65;.45" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(0)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".65;.45;.3;.15;0;1;.8;.65;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(45)">\n <animate attributeName="stroke-opacity" dur="750ms" values=".8;.65;.45;.3;.15;0;1;.8" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(90)">\n <animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.6;.45;.3;.15;0;1;" repeatCount="indefinite"></animate>\n </line>\n <line y1="16" y2="28" transform="translate(32,32) rotate(135)">\n <animate attributeName="stroke-opacity" dur="750ms" values="0;1;.8;.65;.45;.3;.15;0" repeatCount="indefinite"></animate>\n </line>\n </g>\n</svg>');var wt={annotate:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">\n <path fill="currentColor" fill-rule="nonzero" d="M15 0c.27 0 .505.099.703.297A.961.961 0 0116 1v15l-4-3H1a.974.974 0 01-.703-.29A.953.953 0 010 12V1C0 .719.096.482.29.29A.966.966 0 011 0h14zM7 3l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C4.156 5.229 4 6 4 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188C4.729 8.854 5.082 9 5.5 9c.417 0 .77-.146 1.063-.438C6.854 8.271 7 7.918 7 7.5c0-.417-.146-.77-.438-1.063A1.447 1.447 0 005.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L7 4V3zm5 0l-.469.063c-.312.041-.656.187-1.031.437-.375.25-.719.646-1.031 1.188C9.156 5.229 9 6 9 7l.002.063.006.062a.896.896 0 01.008.11l-.002.074-.006.066a1.447 1.447 0 00.43 1.188c.291.291.645.437 1.062.437.417 0 .77-.146 1.063-.438.291-.291.437-.645.437-1.062 0-.417-.146-.77-.438-1.063A1.447 1.447 0 0010.5 6c-.073 0-.146.005-.219.016-.073.01-.14.026-.203.046.177-1.03.542-1.632 1.094-1.804L12 4V3z"/>\n</svg>\n',cancel:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false" class="Icon Icon--cancel"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 8l3.536-3.536L8 8 4.464 4.464 8 8zm0 0l-3.536 3.536L8 8l3.536 3.536L8 8z"></path></g></svg>\n',caution:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-triangle"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',"caret-left":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 12L6 8l4-4"></path></g></svg>\n',"caret-right":'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" focusable="false" class="Icon Icon--caret-right"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 4l4 4-4 4"></path></g></svg>\n',hide:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.73 12.973A9.89 9.89 0 0 1 8 13c-3.866 0-7-2.239-7-5 0-.753.233-1.467.65-2.107m5.62-2.866A9.89 9.89 0 0 1 8 3c3.866 0 7 2.239 7 5 0 .753-.233 1.467-.65 2.107M1 1l14 14L1 1z"></path></g></svg>\n',highlight:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15H1h11zm-.5-6v2l-1 1v-2l1-1zm.5-7v6h-2V2h2zm0-1h-2 2zm0 8h-2 2z"></path></g></svg>\n',note:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1 15h6l8-6V1H1v14zm6-1V9h7"></path></g></svg>\n',pointer:'<svg xmlns="http://www.w3.org/2000/svg" width="15" height="8" viewBox="0 0 15 8" aria-hidden="true" focusable="false"><path d="M0 8 L7 0 L15 8" stroke="currentColor" strokeWidth="2" /></svg>\n',show:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill-rule="evenodd"><rect fill="none" stroke="none" x="0" y="0" width="16" height="16"></rect><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 13c3.866 0 7-2.239 7-5s-3.134-5-7-5-7 2.239-7 5 3.134 5 7 5zm0-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"></path></g></svg>\n'};function bt(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function Et(t){for(var e={},n=t.querySelectorAll("script.js-hypothesis-config"),o=0;o<n.length;o++){var i=void 0;try{i=JSON.parse(n[o].textContent||"")}catch(t){console.warn("Could not parse settings from js-hypothesis-config tags",t),i={}}bt(e,i)}return e}function Ct(t){if("string"==typeof t&&"false"===t.trim().toLocaleLowerCase())return!1;const e=Number(t);return isNaN(e)?"string"==typeof t:Boolean(e)}function Tt(t,e,n){const o=t.document.querySelector(`link[type="application/annotator+${n}"][rel="${e}"]`);if(!o)throw new Error(`No application/annotator+${n} (rel="${e}") link in the document`);if(!o.href)throw new Error(`application/annotator+${n} (rel="${e}") link has no href`);return o.href}function St(t){const e=function(t){if(!t.hasOwnProperty("hypothesisConfig"))return{};if("function"!=typeof t.hypothesisConfig){const t="https://h.readthedocs.io/projects/client/en/latest/publishers/config/#window.hypothesisConfig";return console.warn("hypothesisConfig must be a function, see: "+t),{}}return t.hypothesisConfig()}(t);let n;function o(t){return e.hasOwnProperty(t)?e[t]:n.hasOwnProperty(t)?n[t]:void 0}return n=Ct(e.ignoreOtherConfiguration)?{}:Et(t.document),{get annotations(){return n.annotations||function(){const e=t.location.href.match(/#annotations:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get clientUrl(){return Tt(t,"hypothesis-client","javascript")},get group(){return n.group||function(){const e=t.location.href.match(/#annotations:group:([A-Za-z0-9_-]+)$/);return e?e[1]:null}()},get notebookAppUrl(){return Tt(t,"notebook","html")},get showHighlights(){return function(){let t=o("showHighlights");return void 0===t&&(t="always"),"boolean"==typeof t?t?"always":"never":t}()},get sidebarAppUrl(){return Tt(t,"sidebar","html")},get query(){return n.query||function(){const e=t.location.href.match(/#annotations:(query|q):(.+)$/i);if(e)try{return decodeURIComponent(e[2])}catch(t){}return null}()},hostPageSetting:o}}function kt(t,e){return t.hostPageSetting(e)}const xt={annotations:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.annotations},appType:{allowInBrowserExt:!0,defaultValue:null,getValue:kt},branding:{defaultValue:null,allowInBrowserExt:!1,getValue:kt},clientUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.clientUrl},enableExperimentalNewNoteButton:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},group:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.group},focus:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},theme:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},usernameUrl:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},onLayoutChange:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},openSidebar:{allowInBrowserExt:!0,defaultValue:!1,coerce:Ct,getValue:kt},query:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.query},requestConfigFromFrame:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},services:{allowInBrowserExt:!1,defaultValue:null,getValue:kt},showHighlights:{allowInBrowserExt:!1,defaultValue:"always",getValue:t=>t.showHighlights},notebookAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.notebookAppUrl},sidebarAppUrl:{allowInBrowserExt:!0,defaultValue:null,getValue:t=>t.sidebarAppUrl},subFrameIdentifier:{allowInBrowserExt:!0,defaultValue:null,getValue:kt},externalContainerSelector:{allowInBrowserExt:!1,defaultValue:null,getValue:kt}};function At(t="annotator",e=window){const n=St(e),o={};let i=function(t){const e={annotator:["clientUrl","subFrameIdentifier"],sidebar:["appType","annotations","branding","enableExperimentalNewNoteButton","externalContainerSelector","focus","group","onLayoutChange","openSidebar","query","requestConfigFromFrame","services","showHighlights","sidebarAppUrl","theme","usernameUrl"],notebook:["branding","group","notebookAppUrl","requestConfigFromFrame","services","theme","usernameUrl"]};switch(t){case"annotator":return e.annotator;case"sidebar":return e.sidebar;case"notebook":return e.notebook;case"all":return[...e.annotator,...e.sidebar,...e.notebook];default:throw new Error(`Invalid application context used: "${t}"`)}}(t);return i.forEach((t=>{const i=xt[t],r=void 0!==i.defaultValue,s=!((a=Tt(e,"sidebar","html")).startsWith("http://")||a.startsWith("https://"));var a;if(!i.allowInBrowserExt&&s)return void(r&&(o[t]=i.defaultValue));const l=i.getValue(n,t);void 0!==l?o[t]=i.coerce?i.coerce(l):l:r&&(o[t]=i.defaultValue)})),o}class Nt{constructor(){this._listeners=[]}add(t,e,n,o){t.addEventListener(e,n,o),this._listeners.push({eventTarget:t,eventType:e,listener:n})}removeAll(){this._listeners.forEach((({eventTarget:t,eventType:e,listener:n})=>{t.removeEventListener(e,n)})),this._listeners=[]}}class Lt{constructor(t,e){this._port=t,this._methods=e,this._sequence=0,this._callbacks={},this._destroyed=!1,this._listeners=new Nt,this._listeners.add(this._port,"message",(t=>this._handle(t))),this._port.start()}destroy(){this._destroyed=!0,this._listeners.removeAll(),this._port.close()}call(t,...e){if(this._destroyed)return;const n=this._sequence++,o=e[e.length-1];"function"==typeof o&&(this._callbacks[n]=o,e=e.slice(0,-1));const i={arguments:e,method:t,protocol:"frame-rpc",sequence:n,version:"1.0.0"};this._port.postMessage(i)}_parseMessage({data:t}){return t&&"object"==typeof t?"frame-rpc"!==t.protocol||"1.0.0"!==t.version?null:Array.isArray(t.arguments)?t:null:null}_handle(t){const e=this._parseMessage(t);if(null!==e)if("method"in e){if(!this._methods.hasOwnProperty(e.method))return;const t=(...t)=>{const n={arguments:t,protocol:"frame-rpc",response:e.sequence,version:"1.0.0"};this._port.postMessage(n)};this._methods[e.method](...e.arguments,t)}else if("response"in e){const t=this._callbacks[e.response];delete this._callbacks[e.response],t&&t(...e.arguments)}}}class Rt{constructor(){this.links=[],this.channelListeners={},this.onConnectListeners=[],this.on("connect",(t=>t()))}destroy(){this.links.forEach((t=>t.destroy())),this.links=[]}createChannel(t){const e=new Lt(t,this.channelListeners);let n=!1;return e.call("connect",(()=>{n||(n=!0,this.onConnectListeners.forEach((t=>t(e))))})),this.links.push(e),e}call(t,...e){let n;const o=e[e.length-1];"function"==typeof o&&(n=o,e=e.slice(0,-1));const i=t=>e=>{throw t.destroy(),this.links=this.links.filter((e=>e!==t)),e},r=this.links.map((n=>new Promise(((o,i)=>{const r=setTimeout((()=>o(null)),1e3);try{n.call(t,...e,((t,e)=>{clearTimeout(r),t?i(t):o(e)}))}catch(t){i(t)}})).catch(i(n))));let s=Promise.all(r);return n&&(s=s.then((t=>n(null,t))).catch((t=>n(t)))),s}on(t,e){if(this.links.length>0)throw new Error(`Listener '${t}' can't be registered because a channel has already been created`);if(this.channelListeners[t])throw new Error(`Listener '${t}' already bound in Bridge`);return this.channelListeners[t]=e,this}onConnect(t){return this.onConnectListeners.push(t),this}}const Ot={alt:1,ctrl:2,meta:4,shift:8};function Mt(t,e,{rootElement:n=document.body}={}){const o=n=>{(function(t,e){const n=e.split("+").map((t=>t.toLowerCase()));let o=0,i=null;for(let t of n){const e=Ot[t];if(e)o|=e;else{if(null!==i)throw new Error("Multiple non-modifier keys specified");i=t}}if(!i)throw new Error(`Invalid shortcut: ${e}`);return((t.ctrlKey?Ot.ctrl:0)|(t.metaKey?Ot.meta:0)|(t.altKey?Ot.alt:0)|(t.shiftKey?Ot.shift:0))===o&&function(t){const e={Left:"ArrowLeft",Up:"ArrowUp",Down:"ArrowDown",Right:"ArrowRight",Spacebar:" ",Del:"Delete"};return e[t]?e[t]:t}(t.key).toLowerCase()===i})(n,t)&&e(n)};return n.addEventListener("keydown",o),()=>n.removeEventListener("keydown",o)}function Pt(t,e,{rootElement:n=document.body}={}){it((()=>{if(t)return Mt(t,e,{rootElement:n})}),[t,e,n])}function It({badgeCount:t,icon:e,label:n,onClick:o,shortcut:i}){Pt(i,o);const r=i?`${n} (${i})`:n;return dt("button",{className:"AdderToolbar__button",onClick:o,"aria-label":r,title:r,children:[e&&dt(pt,{name:e,className:"AdderToolbar__icon"}),"number"==typeof t&&dt("span",{className:"AdderToolbar__badge",children:t}),dt("span",{className:"AdderToolbar__label",children:n})]})}function Dt({arrowDirection:t,isVisible:e,onCommand:n,annotationCount:o=0}){const i=e?"a":null,r=e?"h":null,s=e?"s":null;return Pt(e?"Escape":null,(()=>n("hide"))),dt("div",{className:Y("AdderToolbar",{"AdderToolbar--down":"up"===t,"AdderToolbar--up":"down"===t,"is-active":e}),style:{visibility:e?"visible":"hidden"},children:[dt("div",{className:"AdderToolbar__actions",children:[dt(It,{icon:"annotate",onClick:()=>n("annotate"),label:"Annotate",shortcut:i}),dt(It,{icon:"highlight",onClick:()=>n("highlight"),label:"Highlight",shortcut:r}),o>0&&dt("div",{className:"AdderToolbar__separator"}),o>0&&dt(It,{badgeCount:o,onClick:()=>n("show"),label:"Show",shortcut:s})]}),dt(pt,{name:"pointer",inline:!0,className:Y("AdderToolbar__arrow",{"AdderToolbar__arrow--down":"down"===t,"AdderToolbar__arrow--up":"up"===t})})]})}const Vt=(t=window)=>t.matchMedia("(pointer: coarse)").matches;function Ht(t){if(!t.attachShadow)return Bt(t),t;const e=t.attachShadow({mode:"open"});!function(t){var e;const n=null===(e=document.querySelector('link[rel="stylesheet"][href*="/build/styles/annotator.css"]'))||void 0===e?void 0:e.href;if(!n)return;const o=document.createElement("link");o.rel="stylesheet",o.href=n,t.appendChild(o)}(e);const n=window.applyFocusVisiblePolyfill;return n&&n(e),Bt(e),e}function Bt(t){t.addEventListener("mouseup",(t=>t.stopPropagation())),t.addEventListener("mousedown",(t=>t.stopPropagation())),t.addEventListener("touchstart",(t=>t.stopPropagation()),{passive:!0})}function Ft(t){return t.toString()+"px"}class Ut{constructor(t,e){this._outerContainer=document.createElement("hypothesis-adder"),t.appendChild(this._outerContainer),this._shadowRoot=Ht(this._outerContainer),Object.assign(this._outerContainer.style,{position:"absolute",top:0,left:0}),this._view=t.ownerDocument.defaultView,this._width=()=>this._shadowRoot.firstChild.getBoundingClientRect().width,this._height=()=>this._shadowRoot.firstChild.getBoundingClientRect().height,this._isVisible=!1,this._arrowDirection="up",this._onAnnotate=e.onAnnotate,this._onHighlight=e.onHighlight,this._onShowAnnotations=e.onShowAnnotations,this.annotationsForSelection=[],this._render()}hide(){this._isVisible=!1,this._render(),Object.assign(this._outerContainer.style,{top:0,left:0})}destroy(){L(null,this._shadowRoot),this._outerContainer.remove()}show(t,e){const{left:n,top:o,arrowDirection:i}=this._calculateTarget(t,e);this._showAt(n,o),this._isVisible=!0,this._arrowDirection=2===i?"up":"down",this._render()}_calculateTarget(t,e){let n,o,i;n=e&&!Vt()?1:2;const r=Math.min(20,t.width),s=this._width(),a=Vt()?10:0,l=this._height();return i=e?t.left-s/2+r:t.left+t.width-s/2-r,t.top-l<0&&1===n?n=2:t.top+l>this._view.innerHeight&&(n=1),o=2===n?t.top+t.height+10+a:t.top-l-10,i=Math.max(i,0),i=Math.min(i,this._view.innerWidth-s),o=Math.max(o,0),o=Math.min(o,this._view.innerHeight-l),{top:o,left:i,arrowDirection:n}}_findZindex(t,e){if(void 0===document.elementsFromPoint)return 32768;const n=this._width(),o=this._height(),i=[...new Set([...document.elementsFromPoint(t,e),...document.elementsFromPoint(t,e+o),...document.elementsFromPoint(t+n/2,e+o/2),...document.elementsFromPoint(t+n,e),...document.elementsFromPoint(t+n,e+o)])].map((t=>+getComputedStyle(t).zIndex)).filter(Number.isInteger);return i.push(0),Math.max(...i)+1}_showAt(t,e){const n=function(t){let e=t.parentElement;for(;e.parentElement&&"static"===getComputedStyle(e).position;)e=e.parentElement;return e}(this._outerContainer).getBoundingClientRect(),o=this._findZindex(t,e);Object.assign(this._outerContainer.style,{left:Ft(t-n.left),top:Ft(e-n.top),zIndex:o})}_render(){L(dt(Dt,{isVisible:this._isVisible,arrowDirection:this._arrowDirection,onCommand:t=>{switch(t){case"annotate":this._onAnnotate(),this.hide();break;case"highlight":this._onHighlight(),this.hide();break;case"show":this._onShowAnnotations(this.annotationsForSelection);break;case"hide":this.hide()}},annotationCount:this.annotationsForSelection.length}),this._shadowRoot)}}class qt{constructor(t,e){this._emitter=t.createEmitter(),this._sidebar=e,this.cache={},this.destroyed=!1,this._sidebar.on("deleteAnnotation",((t,e)=>{if(this.destroyed)return void e(null);const n=this._parse(t);delete this.cache[n.$tag],this._emitter.publish("annotationDeleted",n),this._format(n),e(null)})),this._sidebar.on("loadAnnotations",((t,e)=>{if(this.destroyed)return void e(null);const n=t.map((t=>this._parse(t)));this._emitter.publish("annotationsLoaded",n),e(null)})),this._emitter.subscribe("beforeAnnotationCreated",(t=>{t.$tag||this._sidebar.call("createAnnotation",this._format(t))}))}sync(t){this.destroyed||this._sidebar.call("syncAnchoringStatus",t.map((t=>this._format(t))))}_tag(t,e){return t.$tag||(e=e||window.btoa(Math.random().toString()),Object.defineProperty(t,"$tag",{value:e}),this.cache[e]=t),t}_parse(t){const e=Object.assign(this.cache[t.tag]||{},t.msg);return this._tag(e,t.tag)}_format(t){return this._tag(t),{tag:t.$tag,msg:t}}destroy(){this.destroyed=!0,this._emitter.destroy()}}function Wt(t){switch(t.nodeType){case Node.ELEMENT_NODE:case Node.TEXT_NODE:return t.textContent.length;default:return 0}}function jt(t){let e=t.previousSibling,n=0;for(;e;)n+=Wt(e),e=e.previousSibling;return n}function $t(t,...e){let n=e.shift();const o=t.ownerDocument.createNodeIterator(t,NodeFilter.SHOW_TEXT),i=[];let r,s=o.nextNode(),a=0;for(;void 0!==n&&s;)r=s,a+r.data.length>n?(i.push({node:r,offset:n-a}),n=e.shift()):(s=o.nextNode(),a+=r.data.length);for(;void 0!==n&&r&&a===n;)i.push({node:r,offset:r.data.length}),n=e.shift();if(void 0!==n)throw new RangeError("Offset exceeds text length");return i}class zt{constructor(t,e){if(e<0)throw new Error("Offset is invalid");this.element=t,this.offset=e}relativeTo(t){if(!t.contains(this.element))throw new Error("Parent is not an ancestor of current element");let e=this.element,n=this.offset;for(;e!==t;)n+=jt(e),e=e.parentElement;return new zt(e,n)}resolve(t={}){try{return $t(this.element,this.offset)[0]}catch(e){if(0===this.offset&&void 0!==t.direction){const n=document.createTreeWalker(this.element.getRootNode(),NodeFilter.SHOW_TEXT);n.currentNode=this.element;const o=1===t.direction,i=o?n.nextNode():n.previousNode();if(!i)throw e;return{node:i,offset:o?0:i.data.length}}throw e}}static fromCharOffset(t,e){switch(t.nodeType){case Node.TEXT_NODE:return zt.fromPoint(t,e);case Node.ELEMENT_NODE:return new zt(t,e);default:throw new Error("Node is not an element or text node")}}static fromPoint(t,e){switch(t.nodeType){case Node.TEXT_NODE:{if(e<0||e>t.data.length)throw new Error("Text node offset is out of range");if(!t.parentElement)throw new Error("Text node has no parent");const n=jt(t)+e;return new zt(t.parentElement,n)}case Node.ELEMENT_NODE:{if(e<0||e>t.childNodes.length)throw new Error("Child node offset is out of range");let n=0;for(let o=0;o<e;o++)n+=Wt(t.childNodes[o]);return new zt(t,n)}default:throw new Error("Point is not in an element or text node")}}}class Xt{constructor(t,e){this.start=t,this.end=e}relativeTo(t){return new Xt(this.start.relativeTo(t),this.end.relativeTo(t))}toRange(){let t,e;this.start.element===this.end.element&&this.start.offset<=this.end.offset?[t,e]=$t(this.start.element,this.start.offset,this.end.offset):(t=this.start.resolve({direction:1}),e=this.end.resolve({direction:2}));const n=new Range;return n.setStart(t.node,t.offset),n.setEnd(e.node,e.offset),n}static fromRange(t){const e=zt.fromPoint(t.startContainer,t.startOffset),n=zt.fromPoint(t.endContainer,t.endOffset);return new Xt(e,n)}static fromOffsets(t,e,n){return new Xt(new zt(t,e),new zt(t,n))}}function Yt(t){return!!t.parentElement&&null!==t.parentElement.closest(".annotator-placeholder")}function Gt(t){if(t.focusNode===t.anchorNode)return t.focusOffset<t.anchorOffset;return t.getRangeAt(0).startContainer===t.focusNode}function Kt(t,e){try{var n,o;const i=null!==(n=null===(o=e.nodeValue)||void 0===o?void 0:o.length)&&void 0!==n?n:e.childNodes.length;return t.comparePoint(e,0)<=0&&t.comparePoint(e,i)>=0}catch(t){return!1}}function Zt(t,e){const n=t.commonAncestorContainer,o=n.ownerDocument.createNodeIterator(n,NodeFilter.SHOW_ALL);let i;for(;i=o.nextNode();)Kt(t,i)&&e(i)}function Jt(t){if(t.isCollapsed)return null;const e=function(t){const e=/^\s*$/,n=[];Zt(t,(t=>{t.nodeType!==Node.TEXT_NODE||t.textContent.match(e)||n.push(t)}));let o=[];return n.forEach((e=>{const n=e.ownerDocument.createRange();if(n.selectNodeContents(e),e===t.startContainer&&n.setStart(e,t.startOffset),e===t.endContainer&&n.setEnd(e,t.endOffset),n.collapsed)return;const i=Array.from(n.getClientRects());n.detach(),o=o.concat(i)})),o}(t.getRangeAt(0));return 0===e.length?null:Gt(t)?e[0]:e[e.length-1]}function Qt(t,e="hypothesis-highlight"){const n=function(t){if(t.collapsed)return[];let e=t.commonAncestorContainer;if(e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentElement),!e)return[];const n=[],o=e.ownerDocument.createNodeIterator(e,NodeFilter.SHOW_TEXT);let i;for(;i=o.nextNode();){if(!Kt(t,i))continue;let e=i;e===t.startContainer&&t.startOffset>0?e.splitText(t.startOffset):(e===t.endContainer&&t.endOffset<e.data.length&&e.splitText(t.endOffset),n.push(e))}return n}(t),o=n.length>0&&Yt(n[0]);let i=[],r=null,s=null;n.forEach((t=>{r&&r.nextSibling===t?s.push(t):(s=[t],i.push(s)),r=t}));const a=/^\s*$/;i=i.filter((t=>t.some((t=>!a.test(t.nodeValue)))));const l=[];return i.forEach((t=>{const n=document.createElement("hypothesis-highlight");n.className=e,t[0].parentNode.replaceChild(n,t[0]),t.forEach((t=>n.appendChild(t))),l.push(n)})),o||function(t){if(0===t.length)return;const e=function(t){const e=t.closest(".page");return e&&e.querySelector(".canvasWrapper > canvas")||null}(t[0]);if(!e||!e.parentElement)return;let n=e.parentElement.querySelector(".hypothesis-highlight-layer");const o=CSS.supports("mix-blend-mode","multiply");if(!n){n=document.createElementNS("http://www.w3.org/2000/svg","svg"),n.setAttribute("class","hypothesis-highlight-layer"),e.parentElement.appendChild(n),e.parentElement.style.position="relative";const t=n.style;t.position="absolute",t.left="0",t.top="0",t.width="100%",t.height="100%",o?t.mixBlendMode="multiply":t.opacity="0.3"}const i=e.getBoundingClientRect(),r=t.map((t=>{const e=t.getBoundingClientRect(),n=document.createElementNS("http://www.w3.org/2000/svg","rect");return n.setAttribute("x",(e.left-i.left).toString()),n.setAttribute("y",(e.top-i.top).toString()),n.setAttribute("width",e.width.toString()),n.setAttribute("height",e.height.toString()),o?n.setAttribute("class","hypothesis-svg-highlight"):n.setAttribute("class","hypothesis-svg-highlight is-opaque"),t.classList.add("is-transparent"),t.svgHighlight=n,n}));n.append(...r)}(l),l}function te(t,e){const n=t.parentNode;e.forEach((e=>n.insertBefore(e,t))),t.remove()}function ee(t){for(let e of t){if(e.parentNode){te(e,Array.from(e.childNodes))}e.svgHighlight&&e.svgHighlight.remove()}}function ne(t,e){t.forEach((t=>{if(t.svgHighlight){if(t.svgHighlight.classList.toggle("is-focused",e),e){t.svgHighlight.parentNode.append(t.svgHighlight)}}else t.classList.toggle("hypothesis-highlight-focused",e)}))}function oe(t){const e=t.map((t=>t.getBoundingClientRect()));return e.reduce(((t,e)=>({top:Math.min(t.top,e.top),left:Math.min(t.left,e.left),bottom:Math.max(t.bottom,e.bottom),right:Math.max(t.right,e.right)})))}var ie=/^\s+|\s+$/g,re=/^[-+]0x[0-9a-f]+$/i,se=/^0b[01]+$/i,ae=/^0o[0-7]+$/i,le=parseInt,ce="object"==typeof t&&t&&t.Object===Object&&t,he="object"==typeof self&&self&&self.Object===Object&&self,ue=ce||he||Function("return this")(),de=Object.prototype.toString,fe=Math.max,pe=Math.min,ge=function(){return ue.Date.now()};function me(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function _e(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==de.call(t)}(t))return NaN;if(me(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=me(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(ie,"");var n=se.test(t);return n||ae.test(t)?le(t.slice(2),n?2:8):re.test(t)?NaN:+t}var ve=function(t,e,n){var o,i,r,s,a,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var n=o,r=i;return o=i=void 0,c=e,s=t.apply(r,n)}function p(t){return c=t,a=setTimeout(m,e),h?f(t):s}function g(t){var n=t-l;return void 0===l||n>=e||n<0||u&&t-c>=r}function m(){var t=ge();if(g(t))return _(t);a=setTimeout(m,function(t){var n=e-(t-l);return u?pe(n,r-(t-c)):n}(t))}function _(t){return a=void 0,d&&o?f(t):(o=i=void 0,s)}function v(){var t=ge(),n=g(t);if(o=arguments,i=this,l=t,n){if(void 0===a)return p(l);if(u)return a=setTimeout(m,e),f(l)}return void 0===a&&(a=setTimeout(m,e)),s}return e=_e(e)||0,me(n)&&(h=!!n.leading,r=(u="maxWait"in n)?fe(_e(n.maxWait)||0,e):r,d="trailing"in n?!!n.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,o=l=i=a=void 0},v.flush=function(){return void 0===a?s:_(ge())},v};class ye{constructor(t,e,n){this._element=t,this._onFrameAdded=e,this._onFrameRemoved=n,this._annotatableFrames=new Set,this._isDisconnected=!1,this._mutationObserver=new MutationObserver(ve((()=>{this._discoverFrames()}),40)),this._discoverFrames(),this._mutationObserver.observe(this._element,{childList:!0,subtree:!0,attributeFilter:["enable-annotation"]})}disconnect(){this._isDisconnected=!0,this._mutationObserver.disconnect()}async _addFrame(t){this._annotatableFrames.add(t);try{if(await we(t),this._isDisconnected)return;t.contentWindow.addEventListener("unload",(()=>{this._removeFrame(t)})),this._onFrameAdded(t)}catch(e){console.warn(`Unable to inject the Hypothesis client (from '${document.location.href}' into a cross-origin frame '${t.src}')`)}}_removeFrame(t){this._annotatableFrames.delete(t),this._onFrameRemoved(t)}_discoverFrames(){const t=new Set(this._element.querySelectorAll("iframe[enable-annotation]"));for(let e of t)this._annotatableFrames.has(e)||this._addFrame(e);for(let e of this._annotatableFrames)t.has(e)||this._removeFrame(e)}}function we(t){return new Promise((e=>{const n=t.contentWindow.document,{readyState:o,location:i}=n;"about:blank"===i.href&&t.hasAttribute("src")&&"about:blank"!==t.src?t.addEventListener("load",(()=>{e()})):"loading"!==o?e():n.addEventListener("DOMContentLoaded",(()=>e()))}))}class be{constructor(t,e){this._config=e,this._frameObserver=new ye(t,(t=>this.injectClient(t)),(()=>{}))}destroy(){this._frameObserver.disconnect()}async injectClient(t){if("__hypothesis"in t.contentWindow)return;await we(t);const{assetRoot:e,notebookAppUrl:n,sidebarAppUrl:o}=Et(document),i=Math.random().toString().replace(/\D/g,""),r={...this._config,assetRoot:e,notebookAppUrl:n,sidebarAppUrl:o,subFrameIdentifier:i},{clientUrl:s}=this._config;!function(t,e,n){const o=document.createElement("script");o.className="js-hypothesis-config",o.type="application/json",o.innerText=JSON.stringify(n);const i=document.createElement("script");i.async=!0,i.src=e;const r=t.contentDocument;r.body.appendChild(o),r.body.appendChild(i)}(t,s,r)}}function Ee(t,e,n){t.self===t?t.scrollTo(e,n):(t.scrollLeft=e,t.scrollTop=n)}function Ce(t){var e=t._scrollSettings;if(e){var n=e.maxSynchronousAlignments,o=function(t,e){var n,o,i,r,s,a,l,c=t.align,h=t.target.getBoundingClientRect(),u=c&&null!=c.left?c.left:.5,d=c&&null!=c.top?c.top:.5,f=c&&null!=c.leftOffset?c.leftOffset:0,p=c&&null!=c.topOffset?c.topOffset:0,g=u,m=d;if(t.isWindow(e))a=Math.min(h.width,e.innerWidth),l=Math.min(h.height,e.innerHeight),o=h.left+e.pageXOffset-e.innerWidth*g+a*g,i=h.top+e.pageYOffset-e.innerHeight*m+l*m,o-=f,i-=p,o=t.align.lockX?e.pageXOffset:o,i=t.align.lockY?e.pageYOffset:i,r=o-e.pageXOffset,s=i-e.pageYOffset;else{a=h.width,l=h.height,n=e.getBoundingClientRect();var _=h.left-(n.left-e.scrollLeft),v=h.top-(n.top-e.scrollTop);o=_+a*g-e.clientWidth*g,i=v+l*m-e.clientHeight*m,o-=f,i-=p,o=Math.max(Math.min(o,e.scrollWidth-e.clientWidth),0),i=Math.max(Math.min(i,e.scrollHeight-e.clientHeight),0),o=t.align.lockX?e.scrollLeft:o,i=t.align.lockY?e.scrollTop:i,r=o-e.scrollLeft,s=i-e.scrollTop}return{x:o,y:i,differenceX:r,differenceY:s}}(e,t),i=Date.now()-e.startTime,r=Math.min(1/e.time*i,1);if(e.endIterations>=n)return Ee(t,o.x,o.y),t._scrollSettings=null,e.end("complete");var s=1-e.ease(r);if(Ee(t,o.x-o.differenceX*s,o.y-o.differenceY*s),i>=e.time)return e.endIterations++,e.scrollAncestor&&Ce(e.scrollAncestor),void Ce(t);!function(t){if("requestAnimationFrame"in window)return window.requestAnimationFrame(t);setTimeout(t,16)}(Ce.bind(null,t))}}function Te(t){return t.self===t}function Se(t){return"pageXOffset"in t||(t.scrollHeight!==t.clientHeight||t.scrollWidth!==t.clientWidth)&&"hidden"!==getComputedStyle(t).overflow}function ke(){return!0}function xe(t){if(t.assignedSlot)return xe(t.assignedSlot);if(t.parentElement)return"BODY"===t.parentElement.tagName?t.parentElement.ownerDocument.defaultView||t.parentElement.ownerDocument.ownerWindow:t.parentElement;if(t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e.host}}var Ae=function(t,e,n){if(t){"function"==typeof e&&(n=e,e=null),e||(e={}),e.time=isNaN(e.time)?1e3:e.time,e.ease=e.ease||function(t){return 1-Math.pow(1-t,t/2)},e.align=e.align||{};var o=xe(t),i=1,r=e.validTarget||ke,s=e.isScrollable;e.debug&&(console.log("About to scroll to",t),o||console.error("Target did not have a parent, is it mounted in the DOM?"));for(var a=[];o;)if(e.debug&&console.log("Scrolling parent node",o),r(o,i)&&(s?s(o,Se):Se(o))&&(i++,a.push(o)),!(o=xe(o))){l("complete");break}return a.reduce(((n,o,i)=>function(t,e,n,o,i){var r,s=!e._scrollSettings,a=e._scrollSettings,l=Date.now(),c={passive:!0};function h(t){e._scrollSettings=null,e.parentElement&&e.parentElement._scrollSettings&&e.parentElement._scrollSettings.end(t),n.debug&&console.log("Scrolling ended with type",t,"for",e),i(t),r&&(e.removeEventListener("touchstart",r,c),e.removeEventListener("wheel",r,c))}a&&a.end("canceled");var u=n.maxSynchronousAlignments;return null==u&&(u=3),e._scrollSettings={startTime:l,endIterations:0,target:t,time:n.time,ease:n.ease,align:n.align,isWindow:n.isWindow||Te,maxSynchronousAlignments:u,end:h,scrollAncestor:o},"cancellable"in n&&!n.cancellable||(r=h.bind(null,"canceled"),e.addEventListener("touchstart",r,c),e.addEventListener("wheel",r,c)),s&&Ce(e),r}(t,o,e,a[i+1],l)),null)}function l(t){--i||n&&n(t)}},Ne={};function Le(t){return t.split("").reverse().join("")}function Re(t){return(t|-t)>>31&1}function Oe(t,e,n,o){var i=t.P[n],r=t.M[n],s=o>>>31,a=e[n]|s,l=a|r,c=(a&i)+i^i|a,h=r|~(c|i),u=i&c,d=Re(h&t.lastRowMask[n])-Re(u&t.lastRowMask[n]);return h<<=1,u<<=1,i=(u|=s)|~(l|(h|=Re(o)-s)),r=h&l,t.P[n]=i,t.M[n]=r,d}function Me(t,e,n){if(0===e.length)return[];n=Math.min(n,e.length);var o=[],i=32,r=Math.ceil(e.length/i)-1,s={P:new Uint32Array(r+1),M:new Uint32Array(r+1),lastRowMask:new Uint32Array(r+1)};s.lastRowMask.fill(1<<31),s.lastRowMask[r]=1<<(e.length-1)%i;for(var a=new Uint32Array(r+1),l=new Map,c=[],h=0;h<256;h++)c.push(a);for(var u=0;u<e.length;u+=1){var d=e.charCodeAt(u);if(!l.has(d)){var f=new Uint32Array(r+1);l.set(d,f),d<c.length&&(c[d]=f);for(var p=0;p<=r;p+=1){f[p]=0;for(var g=0;g<i;g+=1){var m=p*i+g;if(!(m>=e.length))e.charCodeAt(m)===d&&(f[p]|=1<<g)}}}}var _=Math.max(0,Math.ceil(n/i)-1),v=new Uint32Array(r+1);for(p=0;p<=_;p+=1)v[p]=(p+1)*i;v[r]=e.length;for(p=0;p<=_;p+=1)s.P[p]=-1,s.M[p]=0;for(var y=0;y<t.length;y+=1){var w=t.charCodeAt(y);f=void 0;w<c.length?f=c[w]:void 0===(f=l.get(w))&&(f=a);var b=0;for(p=0;p<=_;p+=1)b=Oe(s,f,p,b),v[p]+=b;if(v[_]-b<=n&&_<r&&(1&f[_+1]||b<0)){_+=1,s.P[_]=-1,s.M[_]=0;var E=_===r?e.length%i:i;v[_]=v[_-1]+E-b+Oe(s,f,_,b)}else for(;_>0&&v[_]>=n+i;)_-=1;_===r&&v[_]<=n&&(v[_]<n&&o.splice(0,o.length),o.push({start:-1,end:y+1,errors:v[_]}),n=v[_])}return o}Object.defineProperty(Ne,"__esModule",{value:!0});var Pe=Ne.default=function(t,e,n){return function(t,e,n){var o=Le(e);return n.map((function(n){var i=Math.max(0,n.end-e.length-n.errors);return{start:Me(Le(t.slice(i,n.end)),o,n.errors).reduce((function(t,e){return n.end-e.end<t?n.end-e.end:t}),n.end),end:n.end,errors:n.errors}}))}(t,e,Me(t,e,n))};function Ie(t,e,n){let o=0,i=[];for(;-1!==o;)o=t.indexOf(e,o),-1!==o&&(i.push({start:o,end:o+e.length,errors:0}),o+=1);return i.length>0?i:Pe(t,e,n)}function De(t,e){if(0===e.length||0===t.length)return 0;return 1-Ie(t,e,e.length)[0].errors/e.length}function Ve(t,e,n={}){if(0===e.length)return null;const o=Math.min(256,e.length/2),i=Ie(t,e,o);if(0===i.length)return null;const r=o=>{const i=1-o.errors/e.length,r=n.prefix?De(t.slice(Math.max(0,o.start-n.prefix.length),o.start),n.prefix):1,s=n.suffix?De(t.slice(o.end,o.end+n.suffix.length),n.suffix):1;let a=1;if("number"==typeof n.hint){a=1-Math.abs(o.start-n.hint)/t.length}return(50*i+20*r+20*s+2*a)/92},s=i.map((t=>({start:t.start,end:t.end,score:r(t)})));return s.sort(((t,e)=>e.score-t.score)),s[0]}function He(t){const e=function(t){const e=t.nodeName.toLowerCase();let n=e;return"#text"===e&&(n="text()"),n}(t),n=function(t){let e=0,n=t;for(;n;)n.nodeName===t.nodeName&&(e+=1),n=n.previousSibling;return e}(t);return`${e}[${n}]`}function Be(t,e){let n="",o=t;for(;o!==e;){if(!o)throw new Error("Node is not a descendant of root");n=He(o)+"/"+n,o=o.parentNode}return n="/"+n,n=n.replace(/\/$/,""),n}function Fe(t,e,n){e=e.toUpperCase();let o=-1;for(let i=0;i<t.children.length;i++){const r=t.children[i];if(r.nodeName.toUpperCase()===e&&(++o,o===n))return r}return null}function Ue(t,e=document.body){try{return function(t,e){if(null===t.match(/^(\/[A-Za-z0-9-]+(\[[0-9]+\])?)+$/))throw new Error("Expression is not a simple XPath");const n=t.split("/");let o=e;n.shift();for(let t of n){let e,n;const i=t.indexOf("[");if(-1!==i){e=t.slice(0,i);const o=t.slice(i+1,t.indexOf("]"));if(n=parseInt(o)-1,n<0)return null}else e=t,n=0;const r=Fe(o,e,n);if(!r)return null;o=r}return o}(t,e)}catch(n){return document.evaluate("."+t,e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}}class qe{constructor(t,e){this.root=t,this.range=e}static fromRange(t,e){return new qe(t,e)}static fromSelector(t,e){const n=Ue(e.startContainer,t);if(!n)throw new Error("Failed to resolve startContainer XPath");const o=Ue(e.endContainer,t);if(!o)throw new Error("Failed to resolve endContainer XPath");const i=zt.fromCharOffset(n,e.startOffset),r=zt.fromCharOffset(o,e.endOffset),s=new Xt(i,r).toRange();return new qe(t,s)}toRange(){return this.range}toSelector(){const t=Xt.fromRange(this.range).toRange(),e=Xt.fromRange(t),n=Be(e.start.element,this.root),o=Be(e.end.element,this.root);return{type:"RangeSelector",startContainer:n,startOffset:e.start.offset,endContainer:o,endOffset:e.end.offset}}}class We{constructor(t,e,n){this.root=t,this.start=e,this.end=n}static fromRange(t,e){const n=Xt.fromRange(e).relativeTo(t);return new We(t,n.start.offset,n.end.offset)}static fromSelector(t,e){return new We(t,e.start,e.end)}toSelector(){return{type:"TextPositionSelector",start:this.start,end:this.end}}toRange(){return Xt.fromOffsets(this.root,this.start,this.end).toRange()}}class je{constructor(t,e,n={}){this.root=t,this.exact=e,this.context=n}static fromRange(t,e){const n=t.textContent,o=Xt.fromRange(e).relativeTo(t),i=o.start.offset,r=o.end.offset;return new je(t,n.slice(i,r),{prefix:n.slice(Math.max(0,i-32),i),suffix:n.slice(r,Math.min(n.length,r+32))})}static fromSelector(t,e){const{prefix:n,suffix:o}=e;return new je(t,e.exact,{prefix:n,suffix:o})}toSelector(){return{type:"TextQuoteSelector",exact:this.exact,prefix:this.context.prefix,suffix:this.context.suffix}}toRange(t={}){return this.toPositionAnchor(t).toRange()}toPositionAnchor(t={}){const e=Ve(this.root.textContent,this.exact,{...this.context,hint:t.hint});if(!e)throw new Error("Quote not found");return new We(this.root,e.start,e.end)}}async function $e(t,e={}){return t.toRange(e)}function ze(t,e,n={}){let o=null,i=null,r=null;for(let t of e)switch(t.type){case"TextPositionSelector":o=t,n.hint=o.start;break;case"TextQuoteSelector":i=t;break;case"RangeSelector":r=t}const s=t=>{var e;if(null!==(e=i)&&void 0!==e&&e.exact&&t.toString()!==i.exact)throw new Error("quote mismatch");return t};let a=Promise.reject("unable to anchor");return r&&(a=a.catch((()=>$e(qe.fromSelector(t,r),n).then(s)))),o&&(a=a.catch((()=>$e(We.fromSelector(t,o),n).then(s)))),i&&(a=a.catch((()=>$e(je.fromSelector(t,i),n)))),a}function Xe(t,e){const n=[qe,We,je],o=[];for(let i of n)try{const n=i.fromRange(t,e);o.push(n.toSelector())}catch(t){continue}return o}function Ye(t,e=document.baseURI){return new URL(t,e).href.toString().replace(/#.*/,"")}class Ge{constructor(t={}){this.document=t.document||document}uri(){let t=decodeURIComponent(this._getDocumentHref());const e=this._getLinks();for(let n of e)"canonical"===n.rel&&(t=n.href);return t}getDocumentMetadata(){const t={title:document.title,link:[],dc:this._getMetaTags("dc","name","."),eprints:this._getMetaTags("eprints","name","."),facebook:this._getMetaTags("og","property",":"),highwire:this._getMetaTags("citation","name","_"),prism:this._getMetaTags("prism","name","."),twitter:this._getMetaTags("twitter","name",":")},e=this._getFavicon();e&&(t.favicon=e),t.title=this._getTitle(t),t.link=this._getLinks(t);const n=t.link.find((t=>t.href.startsWith("urn:x-dc")));return n&&(t.documentFingerprint=n.href),t}_getMetaTags(t,e,n){const o={};for(let i of Array.from(this.document.querySelectorAll("meta"))){const r=i.getAttribute(e),{content:s}=i;if(r){const e=r.match(RegExp(`^${t}${n}(.+)$`,"i"));if(e){const t=e[1];o[t]?o[t].push(s):o[t]=[s]}}}return o}_getTitle(t){return t.highwire.title?t.highwire.title[0]:t.eprints.title?t.eprints.title[0]:t.prism.title?t.prism.title[0]:t.facebook.title?t.facebook.title[0]:t.twitter.title?t.twitter.title[0]:t.dc.title?t.dc.title[0]:this.document.title}_getLinks(t={dc:{},highwire:{}}){const e=[{href:this._getDocumentHref()}],n=Array.from(this.document.querySelectorAll("link"));for(let t of n)if(["alternate","canonical","bookmark","shortlink"].includes(t.rel)){if("alternate"===t.rel){if(t.type&&t.type.match(/^application\/(rss|atom)\+xml/))continue;if(t.hreflang)continue}try{const n=this._absoluteUrl(t.href);e.push({href:n,rel:t.rel,type:t.type})}catch(t){}}for(let n of Object.keys(t.highwire)){const o=t.highwire[n];if("pdf_url"===n)for(let t of o)try{e.push({href:this._absoluteUrl(t),type:"application/pdf"})}catch(t){}if("doi"===n)for(let t of o)"doi:"!==t.slice(0,4)&&(t=`doi:${t}`),e.push({href:t})}for(let n of Object.keys(t.dc)){const o=t.dc[n];if("identifier"===n)for(let t of o)"doi:"===t.slice(0,4)&&e.push({href:t})}const o=t.dc["relation.ispartof"],i=t.dc.identifier;if(o&&i){const t=o[o.length-1],n=i[i.length-1],r="urn:x-dc:"+encodeURIComponent(t)+"/"+encodeURIComponent(n);e.push({href:r})}return e}_getFavicon(){let t=null;for(let e of Array.from(this.document.querySelectorAll("link")))if(["shortcut icon","icon"].includes(e.rel))try{t=this._absoluteUrl(e.href)}catch(t){}return t}_absoluteUrl(t){return Ye(t,this.document.baseURI)}_getDocumentHref(){const{href:t}=this.document.location,e=["http:","https:","file:"],n=new URL(t).protocol;return e.includes(n)?t:this.document.baseURI&&e.includes(new URL(this.document.baseURI).protocol)?this.document.baseURI:t}}class Ke{constructor(t=document.body){this.container=t,this.anchor=ze,this.describe=Xe,this._htmlMeta=new Ge}canAnnotate(){return!0}destroy(){}contentContainer(){return this.container}fitSideBySide(){return!1}async getMetadata(){return this._htmlMeta.getDocumentMetadata()}async uri(){return this._htmlMeta.uri()}scrollToAnchor(t){const e=t.highlights;return new Promise((t=>{Ae(e[0],t)}))}}let Ze={};function Je(...t){const e=t.join();e in Ze||(console.warn(...t),Ze[e]=!0)}Je.reset=()=>{Ze={}};const Qe=0,tn=3,en=new Map,nn=new Map;function on(t,e){return`${t}:${e}`}function rn(t){var e;const n="closest"in t?t:t.parentElement;return null!==(e=null==n?void 0:n.closest(".textLayer"))&&void 0!==e?e:null}function sn(){return PDFViewerApplication.pdfViewer}async function an(t){const e=sn();let n=e.getPageView(t);return n&&n.pdfPage||(n=await new Promise((n=>{const o=()=>{e.eventBus?e.eventBus.off("pagesloaded",o):document.removeEventListener("pagesloaded",o),n(e.getPageView(t))};e.eventBus?e.eventBus.on("pagesloaded",o):document.addEventListener("pagesloaded",o)}))),n}function ln(t){const e=en.get(t);if(e)return e;const n=(async()=>{const e=await an(t);let n=(await e.pdfPage.getTextContent({normalizeWhitespace:!0})).items;return n.length>0&&!("hasEOL"in n[0])&&(n=n.filter((t=>/\S/.test(t.str)))),n.map((t=>t.str)).join("")})();return en.set(t,n),n}async function cn(t){const e=sn();let n=0,o=0,i="";for(let r=0;r<e.pagesCount;r++)if(i=await ln(r),n=o,o+=i.length,o>=t)return{index:r,offset:n,text:i};return{index:e.pagesCount-1,offset:n,text:i}}async function hn(t,e,n){const[o,i]=await Promise.all([an(t),ln(t)]);if(o.renderingState===tn&&o.textLayer&&o.textLayer.renderingDone){const t=o.textLayer.textLayerDiv;i!==t.textContent&&Je("PDF text layer content does not match page text. This will cause anchoring misalignment.");const r=new zt(t,e),s=new zt(t,n);return new Xt(r,s).toRange()}const r=function(t){let e=t.querySelector(".annotator-placeholder");return e||(e=document.createElement("span"),e.classList.add("annotator-placeholder"),e.textContent="Loading annotations...",t.appendChild(e),e)}(o.div),s=document.createRange();return s.setStartBefore(r),s.setEndAfter(r),s}function un(t){const e=[];let n="";for(let o=0;o<t.length;o++){const i=t[o];" "!==i&&"\t"!==i&&"\n"!==i&&(n+=i,e.push(o))}return[n,e]}async function dn(t,e){const n=e.find((t=>"TextQuoteSelector"===t.type));if(!n)throw new Error("No quote selector found");const o=e.find((t=>"TextPositionSelector"===t.type));if(o){try{const{index:t,offset:e,text:i}=await cn(o.start),r=o.start-e,s=o.end-e,a=i.substring(r,s);if(n.exact!==a)throw new Error("quote mismatch");return await hn(t,r,s)}catch{}try{const t=on(n.exact,o.start),e=nn.get(t);if(e){const{pageIndex:t,anchor:n}=e;return await hn(t,n.start,n.end)}}catch{}}return async function(t,e){const n=sn().pagesCount,o=Array(n).fill(0).map(((t,e)=>e));let i,r;if(e){const{index:t,offset:n}=await cn(e);i=t,r=e-n,o.sort(((e,n)=>Math.abs(e-t)-Math.abs(n-t)))}const[s]=void 0!==t.prefix?un(t.prefix):[],[a]=void 0!==t.suffix?un(t.suffix):[],[l]=un(t.exact);let c;for(let t of o){const e=await ln(t),[n,o]=un(e);let h;if(void 0!==i&&void 0!==r){let n;for(n=t<i?e.length:t===i?r:0,h=0;h<o.length&&o[h]<n;)++h}const u=Ve(n,l,{prefix:s,suffix:a,hint:h});if(u&&(!c||u.score>c.match.score)){c={page:t,match:{start:o[u.start],end:o[u.end-1]+1,score:u.score}};const e=n.slice(u.start,u.end)===l,i=void 0!==s&&n.slice(Math.max(0,u.start-s.length),u.start)===s,r=void 0!==a&&n.slice(u.end,a.length)===a,h=void 0!==s||void 0!==a;if(e&&(i||r||!h))break}}if(c){const{page:n,match:o}=c;if(e){const i=on(t.exact,e);nn.set(i,{pageIndex:n,anchor:o})}return hn(n,o.start,o.end)}throw new Error("Quote not found")}(n,null==o?void 0:o.start)}function fn(t){try{t=Xt.fromRange(t).toRange()}catch{throw new Error("Selection does not contain text")}const e=rn(t.startContainer),n=rn(t.endContainer);if(!e||!n)throw new Error("Selection is outside page text");if(e!==n)throw new Error("Selecting across page breaks is not supported");return[t,e]}async function pn(t,e){const[n,o]=fn(e),i=zt.fromPoint(n.startContainer,n.startOffset).relativeTo(o),r=zt.fromPoint(n.endContainer,n.endOffset).relativeTo(o),s=function(t){let e=0;for(;t.previousSibling;)++e,t=t.previousSibling;return e}(o.parentNode),a=await async function(t){if(t>=sn().pagesCount)throw new Error("Invalid page index");let e=0;for(let n=0;n<t;n++)e+=(await ln(n)).length;return e}(s);return[{type:"TextPositionSelector",start:a+i.offset,end:a+r.offset},je.fromRange(t,n).toSelector()]}function gn(){return dt("div",{className:"WarningBanner WarningBanner--notice",children:[dt("div",{className:"WarningBanner__type",children:dt(pt,{name:"caution",className:"WarningBanner__icon"})}),dt("div",{className:"WarningBanner__message",children:[dt("strong",{children:"This PDF does not contain selectable text:"})," ",dt("a",{target:"_blank",rel:"noreferrer",href:"https://web.hypothes.is/help/how-to-ocr-optimize-pdfs/",children:"Learn how to fix this"})," ","in order to annotate with Hypothesis."]})]})}function mn(t,e,n){return t+n*(e-t)}async function _n(t,e,{maxDuration:n=500}={}){const o=t.scrollTop,i=e,r=Date.now(),s=Math.min(Math.abs(i-o)/3,n);let a=0;for(;a<1;)await new Promise((t=>{requestAnimationFrame(t)})),a=Math.min(1,(Date.now()-r)/s),t.scrollTop=mn(o,i,a)}class vn{constructor(t){this._loaded=function(t){return t.initializedPromise?t.initializedPromise:t.initialized?Promise.resolve():new Promise((e=>{const n=setInterval((()=>{t.initialized&&(clearTimeout(n),e())}),5)}))}(t).then((()=>t.downloadComplete?t:new Promise((e=>{const n=()=>{t.eventBus?(t.eventBus.off("documentload",n),t.eventBus.off("documentloaded",n)):window.removeEventListener("documentload",n),e(t)};t.eventBus?(t.eventBus.on("documentloaded",n),t.eventBus.on("documentload",n)):window.addEventListener("documentload",n)}))))}getUri(){return this._loaded.then((t=>{let e=bn(t);return e||(e=wn(yn(t))),e}))}async getMetadata(){const t=await this._loaded,{info:e,contentDispositionFilename:n,metadata:o}=await t.pdfDocument.getMetadata(),i=yn(t),r=bn(t);let s;s=null!=o&&o.has("dc:title")&&"Untitled"!==o.get("dc:title")?o.get("dc:title"):null!=e&&e.Title?e.Title:n||(r?function(t){const e=new URL(t).pathname.split("/");return e[e.length-1]}(r):"");const a=[{href:wn(i)}];return r&&a.push({href:r}),{title:s,link:a,documentFingerprint:i}}}function yn(t){return Array.isArray(t.pdfDocument.fingerprints)?t.pdfDocument.fingerprints[0]:t.pdfDocument.fingerprint}function wn(t){return`urn:x-pdf:${t}`}function bn(t){if(!t.url)return null;const e=Ye(t.url);return 0!==e.indexOf("file://")?e:null}function En(t){var e;const n=null===(e=t.highlights)||void 0===e?void 0:e[0];return n&&Yt(n)}function Cn(t){return new Promise((e=>setTimeout(e,t)))}class Tn{constructor(t,e={}){var n,o,i;this.annotator=t;const r=window,s=r.PDFViewerApplication;this.pdfViewer=s.pdfViewer,this.pdfViewer.viewer.classList.add("has-transparent-text-layer"),this.pdfContainer=null!==(n=null===(o=s.appConfig)||void 0===o?void 0:o.appContainer)&&void 0!==n?n:document.body,this.pdfMetadata=new vn(s),this.observer=new MutationObserver(ve((()=>this._update()),100)),this.observer.observe(this.pdfViewer.viewer,{attributes:!0,attributeFilter:["data-loaded"],childList:!0,subtree:!0}),this._reanchoringMaxWait=null!==(i=e.reanchoringMaxWait)&&void 0!==i?i:3e3,this._warningBanner=null,this._checkForSelectableText(),this._updateAnnotationLayerVisibility=()=>{const t=r.getSelection();this.pdfViewer.viewer.classList.toggle("is-selecting",!t.isCollapsed)},this._listeners=new Nt,this._listeners.add(document,"selectionchange",this._updateAnnotationLayerVisibility),this._destroyed=!1}destroy(){this._listeners.removeAll(),this.pdfViewer.viewer.classList.remove("has-transparent-text-layer"),this.observer.disconnect(),this._destroyed=!0}uri(){return this.pdfMetadata.getUri()}getMetadata(){return this.pdfMetadata.getMetadata()}anchor(t,e){return dn(0,e)}canAnnotate(t){return function(t){try{return fn(t),!0}catch{return!1}}(t)}describe(t,e){return pn(t,e)}async _checkForSelectableText(){try{await this.uri()}catch(t){return}if(!this._destroyed)try{const t=await async function(){const t=sn();let e=!1;for(let n=0;n<t.pagesCount;n++)if((await ln(n)).trim().length>0){e=!0;break}return e}();this._toggleNoSelectableTextWarning(!t)}catch(t){console.warn("Unable to check for text in PDF:",t)}}_toggleNoSelectableTextWarning(t){const e=document.querySelector("#outerContainer");var n;if(!t)return null===(n=this._warningBanner)||void 0===n||n.remove(),this._warningBanner=null,void(e.style.height="");this._warningBanner=document.createElement("hypothesis-banner"),document.body.prepend(this._warningBanner);const o=Ht(this._warningBanner);L(dt(gn,{}),o);const i=this._warningBanner.getBoundingClientRect().height;e.style.height=`calc(100% - ${i}px)`}_update(){const t=[],e=this.pdfViewer.pagesCount;for(let t=0;t<e;t++){var n;const e=this.pdfViewer.getPageView(t);if(null!=e&&null!==(n=e.textLayer)&&void 0!==n&&n.renderingDone)switch(e.renderingState){case Qe:e.textLayer=null;break;case tn:o=e.div,i=void 0,null===(i=o.querySelector(".annotator-placeholder"))||void 0===i||i.remove()}}var o,i;for(let e of this.annotator.anchors)if(e.highlights){if(t.includes(e.annotation))continue;for(let n=0;n<e.highlights.length;n++){const o=e.highlights[n];if(!document.body.contains(o)){e.highlights.splice(n,1),delete e.range,t.push(e.annotation);break}}}t.map((t=>this.annotator.anchor(t)))}contentContainer(){return document.querySelector("#viewerContainer")}fitSideBySide(t){const e=window.innerWidth-t.width,n=t.expanded&&e>=680,o=n?t.width:t.toolbarWidth;this.pdfContainer.style.width=`calc(100% - ${o}px)`;const i=this.pdfViewer.currentScaleValue;return"auto"!==i&&"page-fit"!==i&&"page-width"!==i||(this.pdfViewer.currentScaleValue=i),this.pdfViewer.update(),n}async scrollToAnchor(t){const e=t.annotation,n=En(t),o=this._anchorOffset(t);if(null!==o&&(await _n(this.contentContainer(),o),n)){const t=await this._waitForAnnotationToBeAnchored(e,this._reanchoringMaxWait);if(!t)return;const n=this._anchorOffset(t);if(null===n)return;await _n(this.contentContainer(),n)}}async _waitForAnnotationToBeAnchored(t,e){var n;const o=Date.now();let i;do{i=this.annotator.anchors.find((e=>e.annotation===t)),i&&!En(i)||(i=null,await Cn(20))}while(!i&&Date.now()-o<e);return null!==(n=i)&&void 0!==n?n:null}_anchorOffset(t){if(!t.highlights)return null;return function(t,e){let n=0;for(;t!==e&&e.contains(t);)n+=t.offsetTop,t=t.offsetParent;return n}(t.highlights[0],this.contentContainer())}}function Sn(t=document){return t.querySelector("mosaic-book")}class kn{constructor(t){const e=Sn();if(!e)throw new Error("Book container element not found");const n=e.shadowRoot,o=()=>{const e=n.querySelector("iframe");e&&t.injectClient(e)};o(),this._frameObserver=new MutationObserver(o),this._frameObserver.observe(n,{childList:!0,subtree:!0})}destroy(){this._frameObserver.disconnect()}canAnnotate(){return!1}async anchor(){return new Range}describe(){throw new Error("This frame cannot be annotated")}contentContainer(){return document.body}fitSideBySide(){return!1}async getMetadata(){return{title:"",link:[]}}async uri(){return document.location.href}async scrollToAnchor(){}}class xn{constructor(t=document.body){this._htmlIntegration=new Ke(t),this._listeners=new Nt;const e=["mousedown","mouseup","mouseout"];for(let t of e)this._listeners.add(document.documentElement,t,(t=>{t.stopPropagation()}))}canAnnotate(){return!0}destroy(){this._listeners.removeAll(),this._htmlIntegration.destroy()}anchor(t,e){return this._htmlIntegration.anchor(t,e)}describe(t,e){return this._htmlIntegration.describe(t,e)}contentContainer(){return this._htmlIntegration.contentContainer()}fitSideBySide(){return!1}async getMetadata(){return{title:document.title,link:[]}}async uri(){const t=new URL(document.location.href);return t.search="",t.toString()}async scrollToAnchor(t){return this._htmlIntegration.scrollToAnchor(t)}}function An(t){if("undefined"!=typeof PDFViewerApplication)return new Tn(t);const e=function(t=window){var e;if(Sn(t.document))return"container";const n=null===(e=t.frameElement)||void 0===e?void 0:e.ownerDocument;return n&&Sn(n)?"content":null}();return"container"===e?new kn(t):"content"===e?new xn:new Ke}class Nn{constructor(t,e=document){let n=!1;this._pendingCallback=null;const o=(n=10)=>{this._pendingCallback=setTimeout((()=>{t(function(t){const e=t.getSelection();if(!e||0===e.rangeCount)return null;const n=e.getRangeAt(0);return n.collapsed?null:n}(e))}),n)};this._eventHandler=t=>{if("mousedown"===t.type&&(n=!0),"mouseup"===t.type&&(n=!1),n)return;this._cancelPendingCallback();const e="mouseup"===t.type?10:100;o(e)},this._document=e,this._listeners=new Nt,this._events=["mousedown","mouseup","selectionchange"];for(let t of this._events)this._listeners.add(e,t,this._eventHandler);o(1)}disconnect(){this._listeners.removeAll(),this._cancelPendingCallback()}_cancelPendingCallback(){this._pendingCallback&&(clearTimeout(this._pendingCallback),this._pendingCallback=null)}}function Ln(){const t=function(t,e){const n=new Set,o=new Set;return Zt(t,(t=>{let i=t;for(;i&&!n.has(i);){n.add(i);const t=e(i);t&&o.add(t),i=i.parentNode}})),[...o]}(window.getSelection().getRangeAt(0),(t=>t._annotation));return t}function Rn(t){const e=function(t){let e=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;const n=[];for(;e;)e.classList.contains("hypothesis-highlight")&&n.push(e),e=e.parentElement;return n}(t).map((t=>t._annotation)).filter((t=>void 0!==t));return e}function On(t){if(!t.range)return null;try{return t.range.toRange()}catch{return null}}class Mn{constructor(t,e,n={},o=window){this.element=t,this._emitter=e.createEmitter(),this._highlightsVisible=!1,this._isAdderVisible=!1,this._adder=new Ut(this.element,{onAnnotate:async()=>{await this.createAnnotation(),document.getSelection().removeAllRanges()},onHighlight:async()=>{await this.createAnnotation({highlight:!0}),document.getSelection().removeAllRanges()},onShowAnnotations:t=>{this.selectAnnotations(t)}}),this._selectionObserver=new Nn((t=>{t?this._onSelection(t):this._onClearSelection()})),this.anchors=[],this._frameIdentifier=n.subFrameIdentifier||null,this._bridge=new Rt,this._connectSidebarEvents(),this._annotationSync=new qt(e,this._bridge),this._connectAnnotationSync(),this._hypothesisInjector=new be(this.element,n),this._integration=An(this),this._sideBySideActive=!1,this._listeners=new Nt,this._setupElementEvents(),this._focusedAnnotations=new Set,this._hostFrame=o,this._listeners.add(window,"unload",(()=>this._notifyGuestUnload()))}_setupElementEvents(){const t=t=>{this._sideBySideActive||Rn(t).length||this._bridge.call("closeSidebar")};this._listeners.add(this.element,"mouseup",(t=>{const{target:e,metaKey:n,ctrlKey:o}=t,i=Rn(e);if(i.length&&this._highlightsVisible){const t=n||o;this.selectAnnotations(i,t)}})),this._listeners.add(this.element,"mousedown",(({target:e})=>{t(e)})),this._listeners.add(this.element,"touchstart",(({target:e})=>{t(e)})),this._listeners.add(this.element,"mouseover",(({target:t})=>{const e=Rn(t);e.length&&this._highlightsVisible&&this._focusAnnotations(e)})),this._listeners.add(this.element,"mouseout",(()=>{this._highlightsVisible&&this._focusAnnotations([])})),this._listeners.add(window,"resize",(()=>this._repositionAdder()))}async injectClient(t){return this._hypothesisInjector.injectClient(t)}async getDocumentInfo(){const[t,e]=await Promise.all([this._integration.uri(),this._integration.getMetadata()]);return{uri:Ye(t),metadata:e,frameIdentifier:this._frameIdentifier}}_repositionAdder(){var t;if(!1===this._isAdderVisible)return;const e=null===(t=window.getSelection())||void 0===t?void 0:t.getRangeAt(0);e&&this._onSelection(e)}_connectAnnotationSync(){this._emitter.subscribe("annotationDeleted",(t=>{this.detach(t)})),this._emitter.subscribe("annotationsLoaded",(t=>{t.map((t=>this.anchor(t)))}))}_connectSidebarEvents(){this._bridge.on("focusAnnotations",((t=[])=>{this._focusedAnnotations.clear(),t.forEach((t=>this._focusedAnnotations.add(t)));for(let e of this.anchors)if(e.highlights){const n=t.includes(e.annotation.$tag);ne(e.highlights,n)}})),this._bridge.on("scrollToAnnotation",(t=>{const e=this.anchors.find((e=>e.annotation.$tag===t));if(null==e||!e.highlights)return;const n=On(e);if(!n)return;const o=new CustomEvent("scrolltorange",{bubbles:!0,cancelable:!0,detail:n});this.element.dispatchEvent(o)&&this._integration.scrollToAnchor(e)})),this._bridge.on("getDocumentInfo",(t=>{this.getDocumentInfo().then((e=>t(null,e))).catch((e=>t(e)))})),this._bridge.on("setHighlightsVisible",(t=>{this.setHighlightsVisible(t)}))}destroy(){this._notifyGuestUnload(),this._hypothesisInjector.destroy(),this._listeners.removeAll(),this._selectionObserver.disconnect(),this._adder.destroy(),function(t){ee(Array.from(t.querySelectorAll("hypothesis-highlight")))}(this.element),this._integration.destroy(),this._emitter.destroy(),this._annotationSync.destroy(),this._bridge.destroy()}_notifyGuestUnload(){const t={type:"hypothesisGuestUnloaded",frameIdentifier:this._frameIdentifier};this._hostFrame.postMessage(t,"*")}connectToSidebar(t,e){const n=new MessageChannel;t.postMessage({type:"hypothesisGuestReady"},e,[n.port2]),this._bridge.createChannel(n.port1)}async anchor(t){const e=t=>{const e=On(t);if(!e)return;const n=Qt(e);n.forEach((e=>{e._annotation=t.annotation})),t.highlights=n,this._focusedAnnotations.has(t.annotation.$tag)&&ne(n,!0)};this.detach(t,!1),t.target||(t.target=[]);const n=await Promise.all(t.target.map((async e=>{if(!e.selector||!e.selector.some((t=>"TextQuoteSelector"===t.type)))return{annotation:t,target:e};let n;try{const o=await this._integration.anchor(this.element,e.selector),i=Xt.fromRange(o);n={annotation:t,target:e,range:i}}catch(o){n={annotation:t,target:e}}return n})));for(let t of n)e(t);return t.$orphan=n.length>0&&n.every((t=>t.target.selector&&!t.range)),this._updateAnchors(this.anchors.concat(n),!0),this._annotationSync.sync([t]),n}detach(t,e=!0){const n=[];for(let e of this.anchors)e.annotation!==t?n.push(e):e.highlights&&ee(e.highlights);this._updateAnchors(n,e)}_updateAnchors(t,e){this.anchors=t,e&&this._emitter.publish("anchorsChanged",this.anchors)}async createAnnotation({highlight:t=!1}={}){var e;const n=null!==(e=this.selectedRanges)&&void 0!==e?e:[];this.selectedRanges=null;const o=await this.getDocumentInfo(),i=this.element,r=(await Promise.all(n.map((t=>this._integration.describe(i,t))))).map((t=>({source:o.uri,selector:t}))),s={uri:o.uri,document:o.metadata,target:r,$highlight:t,$tag:""};return this._emitter.publish("beforeAnnotationCreated",s),this.anchor(s),s}_focusAnnotations(t){const e=t.map((t=>t.$tag));this._bridge.call("focusAnnotations",e)}_onSelection(t){if(!this._integration.canAnnotate(t))return void this._onClearSelection();const e=document.getSelection(),n=Gt(e),o=Jt(e);o?(this.selectedRanges=[t],this._emitter.publish("hasSelectionChanged",!0),this._adder.annotationsForSelection=Ln(),this._isAdderVisible=!0,this._adder.show(o,n)):this._onClearSelection()}_onClearSelection(){this._isAdderVisible=!1,this._adder.hide(),this.selectedRanges=[],this._emitter.publish("hasSelectionChanged",!1)}selectAnnotations(t,e=!1){const n=t.map((t=>t.$tag));e?this._bridge.call("toggleAnnotationSelection",n):this._bridge.call("showAnnotations",n),this._bridge.call("openSidebar")}scrollToAnchor(t){return this._integration.scrollToAnchor(t)}setHighlightsVisible(t){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)}(this.element,t),this._highlightsVisible=t}contentContainer(){return this._integration.contentContainer()}fitSideBySide(t){this._sideBySideActive=this._integration.fitSideBySide(t)}get sideBySideActive(){return this._sideBySideActive}get focusedAnnotationTags(){return this._focusedAnnotations}}function Pn(t){var e;const n={...t};if((null===(e=n.services)||void 0===e?void 0:e.length)>0){const t=n.services[0];t.onLoginRequest&&(t.onLoginRequestProvided=!0),t.onLogoutRequest&&(t.onLogoutRequestProvided=!0),t.onSignupRequest&&(t.onSignupRequestProvided=!0),t.onProfileRequest&&(t.onProfileRequestProvided=!0),t.onHelpRequest&&(t.onHelpRequestProvided=!0)}return["notebookAppUrl","sidebarAppUrl"].forEach((t=>delete n[t])),n}function In({config:t,groupId:e}){const n=Pn(t);n.group=e;const o=encodeURIComponent(JSON.stringify(n));return dt("iframe",{title:"Hypothesis annotation notebook",className:"NotebookIframe",allowFullScreen:!0,src:`${t.notebookAppUrl}#config=${o}`})}function Dn({eventBus:t,config:e}){const[n,o]=ot(0),[i,r]=ot(!0),[s,a]=ot(null),l=rt(""),c=rt(null);it((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),it((()=>{document.body.style.overflow=i?l.current:"hidden"}),[i]),it((()=>(c.current=t.createEmitter(),c.current.subscribe("openNotebook",(t=>{r(!1),o((t=>t+1)),a(t)})),()=>{c.current.destroy()})),[t]);return null===s?null:dt("div",{className:Y("NotebookModal__outer",{"is-hidden":i}),children:dt("div",{className:"NotebookModal__inner",children:[dt("div",{className:"NotebookModal__close-button-container",children:dt(vt,{icon:"cancel",title:"Close the Notebook",onClick:()=>{r(!0),c.current.publish("closeNotebook")},variant:"dark"})}),dt(In,{config:e,groupId:s},n)]})})}class Vn{constructor(t,e,n={}){this._outerContainer=document.createElement("hypothesis-notebook"),t.appendChild(this._outerContainer),this.shadowRoot=Ht(this._outerContainer),L(dt(Dn,{eventBus:e,config:n}),this.shadowRoot)}destroy(){L(null,this.shadowRoot),this._outerContainer.remove()}}var Hn={exports:{}};
|
|
7
7
|
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
|
8
8
|
* http://hammerjs.github.io/
|
|
9
9
|
*
|
|
10
10
|
* Copyright (c) 2016 Jorik Tangelder;
|
|
11
|
-
* Licensed under the MIT license */!function(t){!function(e,n,o,i){var r,s=["","webkit","Moz","MS","ms","o"],a=n.createElement("div"),l=Math.round,c=Math.abs,h=Date.now;function u(t,e,n){return setTimeout(v(t,n),e)}function d(t,e,n){return!!Array.isArray(t)&&(f(t,n[e],n),!0)}function f(t,e,n){var o;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==i)for(o=0;o<t.length;)e.call(n,t[o],o,t),o++;else for(o in t)t.hasOwnProperty(o)&&e.call(n,t[o],o,t)}function p(t,n,o){var i="DEPRECATED METHOD: "+n+"\n"+o+" AT \n";return function(){var n=new Error("get-stack-trace"),o=n&&n.stack?n.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",r=e.console&&(e.console.warn||e.console.log);return r&&r.call(e.console,i,o),t.apply(this,arguments)}}r="function"!=typeof Object.assign?function(t){if(t===i||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var o=arguments[n];if(o!==i&&null!==o)for(var r in o)o.hasOwnProperty(r)&&(e[r]=o[r])}return e}:Object.assign;var g=p((function(t,e,n){for(var o=Object.keys(e),r=0;r<o.length;)(!n||n&&t[o[r]]===i)&&(t[o[r]]=e[o[r]]),r++;return t}),"extend","Use `assign`."),m=p((function(t,e){return g(t,e,!0)}),"merge","Use `assign`.");function _(t,e,n){var o,i=e.prototype;(o=t.prototype=Object.create(i)).constructor=t,o._super=i,n&&r(o,n)}function v(t,e){return function(){return t.apply(e,arguments)}}function y(t,e){return"function"==typeof t?t.apply(e&&e[0]||i,e):t}function w(t,e){return t===i?e:t}function b(t,e,n){f(S(e),(function(e){t.addEventListener(e,n,!1)}))}function E(t,e,n){f(S(e),(function(e){t.removeEventListener(e,n,!1)}))}function C(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function T(t,e){return t.indexOf(e)>-1}function S(t){return t.trim().split(/\s+/g)}function k(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var o=0;o<t.length;){if(n&&t[o][n]==e||!n&&t[o]===e)return o;o++}return-1}function x(t){return Array.prototype.slice.call(t,0)}function A(t,e,n){for(var o=[],i=[],r=0;r<t.length;){var s=e?t[r][e]:t[r];k(i,s)<0&&o.push(t[r]),i[r]=s,r++}return n&&(o=e?o.sort((function(t,n){return t[e]>n[e]})):o.sort()),o}function N(t,e){for(var n,o,r=e[0].toUpperCase()+e.slice(1),a=0;a<s.length;){if((o=(n=s[a])?n+r:e)in t)return o;a++}return i}var L=1;function R(t){var n=t.ownerDocument||t;return n.defaultView||n.parentWindow||e}var O="ontouchstart"in e,M=N(e,"PointerEvent")!==i,P=O&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),I="touch",D="mouse",V=24,H=["x","y"],B=["clientX","clientY"];function F(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){y(t.options.enable,[t])&&n.handler(e)},this.init()}function U(t,e,n){var o=n.pointers.length,r=n.changedPointers.length,s=1&e&&o-r==0,a=12&e&&o-r==0;n.isFirst=!!s,n.isFinal=!!a,s&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,o=e.pointers,r=o.length;n.firstInput||(n.firstInput=q(e));r>1&&!n.firstMultiple?n.firstMultiple=q(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,a=n.firstMultiple,l=a?a.center:s.center,u=e.center=W(o);e.timeStamp=h(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=X(l,u),e.distance=z(l,u),function(t,e){var n=e.center,o=t.offsetDelta||{},i=t.prevDelta||{},r=t.prevInput||{};1!==e.eventType&&4!==r.eventType||(i=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},o=t.offsetDelta={x:n.x,y:n.y});e.deltaX=i.x+(n.x-o.x),e.deltaY=i.y+(n.y-o.y)}(n,e),e.offsetDirection=$(e.deltaX,e.deltaY);var d=j(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=c(d.x)>c(d.y)?d.x:d.y,e.scale=a?(f=a.pointers,p=o,z(p[0],p[1],B)/z(f[0],f[1],B)):1,e.rotation=a?function(t,e){return X(e[1],e[0],B)+X(t[1],t[0],B)}(a.pointers,o):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,o,r,s,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(l>25||a.velocity===i)){var h=e.deltaX-a.deltaX,u=e.deltaY-a.deltaY,d=j(l,h,u);o=d.x,r=d.y,n=c(d.x)>c(d.y)?d.x:d.y,s=$(h,u),t.lastInterval=e}else n=a.velocity,o=a.velocityX,r=a.velocityY,s=a.direction;e.velocity=n,e.velocityX=o,e.velocityY=r,e.direction=s}(n,e);var f,p;var g=t.element;C(e.srcEvent.target,g)&&(g=e.srcEvent.target);e.target=g}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function q(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:l(t.pointers[n].clientX),clientY:l(t.pointers[n].clientY)},n++;return{timeStamp:h(),pointers:e,center:W(e),deltaX:t.deltaX,deltaY:t.deltaY}}function W(t){var e=t.length;if(1===e)return{x:l(t[0].clientX),y:l(t[0].clientY)};for(var n=0,o=0,i=0;i<e;)n+=t[i].clientX,o+=t[i].clientY,i++;return{x:l(n/e),y:l(o/e)}}function j(t,e,n){return{x:e/t||0,y:n/t||0}}function $(t,e){return t===e?1:c(t)>=c(e)?t<0?2:4:e<0?8:16}function z(t,e,n){n||(n=H);var o=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(o*o+i*i)}function X(t,e,n){n||(n=H);var o=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return 180*Math.atan2(i,o)/Math.PI}F.prototype={handler:function(){},init:function(){this.evEl&&b(this.element,this.evEl,this.domHandler),this.evTarget&&b(this.target,this.evTarget,this.domHandler),this.evWin&&b(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var Y={mousedown:1,mousemove:2,mouseup:4},G="mousedown",K="mousemove mouseup";function Z(){this.evEl=G,this.evWin=K,this.pressed=!1,F.apply(this,arguments)}_(Z,F,{handler:function(t){var e=Y[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:D,srcEvent:t}))}});var J={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:I,3:"pen",4:D,5:"kinect"},tt="pointerdown",et="pointermove pointerup pointercancel";function nt(){this.evEl=tt,this.evWin=et,F.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}e.MSPointerEvent&&!e.PointerEvent&&(tt="MSPointerDown",et="MSPointerMove MSPointerUp MSPointerCancel"),_(nt,F,{handler:function(t){var e=this.store,n=!1,o=t.type.toLowerCase().replace("ms",""),i=J[o],r=Q[t.pointerType]||t.pointerType,s=r==I,a=k(e,t.pointerId,"pointerId");1&i&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):12&i&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),n&&e.splice(a,1))}});var ot={touchstart:1,touchmove:2,touchend:4,touchcancel:8},it="touchstart",rt="touchstart touchmove touchend touchcancel";function st(){this.evTarget=it,this.evWin=rt,this.started=!1,F.apply(this,arguments)}function at(t,e){var n=x(t.touches),o=x(t.changedTouches);return 12&e&&(n=A(n.concat(o),"identifier",!0)),[n,o]}_(st,F,{handler:function(t){var e=ot[t.type];if(1===e&&(this.started=!0),this.started){var n=at.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:I,srcEvent:t})}}});var lt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ct="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=ct,this.targetIds={},F.apply(this,arguments)}function ut(t,e){var n=x(t.touches),o=this.targetIds;if(3&e&&1===n.length)return o[n[0].identifier]=!0,[n,n];var i,r,s=x(t.changedTouches),a=[],l=this.target;if(r=n.filter((function(t){return C(t.target,l)})),1===e)for(i=0;i<r.length;)o[r[i].identifier]=!0,i++;for(i=0;i<s.length;)o[s[i].identifier]&&a.push(s[i]),12&e&&delete o[s[i].identifier],i++;return a.length?[A(r.concat(a),"identifier",!0),a]:void 0}_(ht,F,{handler:function(t){var e=lt[t.type],n=ut.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:I,srcEvent:t})}});function dt(){F.apply(this,arguments);var t=v(this.handler,this);this.touch=new ht(this.manager,t),this.mouse=new Z(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function ft(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,pt.call(this,e)):12&t&&pt.call(this,e)}function pt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var o=this.lastTouches;setTimeout((function(){var t=o.indexOf(n);t>-1&&o.splice(t,1)}),2500)}}function gt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,o=0;o<this.lastTouches.length;o++){var i=this.lastTouches[o],r=Math.abs(e-i.x),s=Math.abs(n-i.y);if(r<=25&&s<=25)return!0}return!1}_(dt,F,{handler:function(t,e,n){var o=n.pointerType==I,i=n.pointerType==D;if(!(i&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(o)ft.call(this,e,n);else if(i&>.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var mt=N(a.style,"touchAction"),_t=mt!==i,vt="compute",yt="auto",wt="manipulation",bt="none",Et="pan-x",Ct="pan-y",Tt=function(){if(!_t)return!1;var t={},n=e.CSS&&e.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(o){t[o]=!n||e.CSS.supports("touch-action",o)})),t}();function St(t,e){this.manager=t,this.set(e)}St.prototype={set:function(t){t==vt&&(t=this.compute()),_t&&this.manager.element.style&&Tt[t]&&(this.manager.element.style[mt]=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){y(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(T(t,bt))return bt;var e=T(t,Et),n=T(t,Ct);if(e&&n)return bt;if(e||n)return e?Et:Ct;if(T(t,wt))return wt;return yt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var o=this.actions,i=T(o,bt)&&!Tt.none,r=T(o,Ct)&&!Tt["pan-y"],s=T(o,Et)&&!Tt["pan-x"];if(i){var a=1===t.pointers.length,l=t.distance<2,c=t.deltaTime<250;if(a&&l&&c)return}if(!s||!r)return i||r&&6&n||s&&n&V?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var kt=32;function xt(t){this.options=r({},this.defaults,t||{}),this.id=L++,this.manager=null,this.options.enable=w(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function At(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function Nt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function Lt(t,e){var n=e.manager;return n?n.get(t):t}function Rt(){xt.apply(this,arguments)}function Ot(){Rt.apply(this,arguments),this.pX=null,this.pY=null}function Mt(){Rt.apply(this,arguments)}function Pt(){xt.apply(this,arguments),this._timer=null,this._input=null}function It(){Rt.apply(this,arguments)}function Dt(){Rt.apply(this,arguments)}function Vt(){xt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Ht(t,e){return(e=e||{}).recognizers=w(e.recognizers,Ht.defaults.preset),new Bt(t,e)}xt.prototype={defaults:{},set:function(t){return r(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Lt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)||(t=Lt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return-1===k(e,t=Lt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=Lt(t,this);var e=k(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 o(n){e.manager.emit(n,t)}n<8&&o(e.options.event+At(n)),o(e.options.event),t.additionalEvent&&o(t.additionalEvent),n>=8&&o(e.options.event+At(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=kt},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=r({},t);if(!y(this.options.enable,[this,e]))return this.reset(),void(this.state=kt);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},_(Rt,xt,{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,o=6&e,i=this.attrTest(t);return o&&(8&n||!i)?16|e:o||i?4&n?8|e:2&e?4|e:2:kt}}),_(Ot,Rt,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(Ct),t&V&&e.push(Et),e},directionTest:function(t){var e=this.options,n=!0,o=t.distance,i=t.direction,r=t.deltaX,s=t.deltaY;return i&e.direction||(6&e.direction?(i=0===r?1:r<0?2:4,n=r!=this.pX,o=Math.abs(t.deltaX)):(i=0===s?1:s<0?8:16,n=s!=this.pY,o=Math.abs(t.deltaY))),t.direction=i,n&&o>e.threshold&&i&e.direction},attrTest:function(t){return Rt.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=Nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Mt,Rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[bt]},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)}}),_(Pt,xt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,o=t.distance<e.threshold,i=t.deltaTime>e.time;if(this._input=t,!o||!n||12&t.eventType&&!i)this.reset();else if(1&t.eventType)this.reset(),this._timer=u((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return kt},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)))}}),_(It,Rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[bt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Dt,Rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ot.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:n&V&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&c(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(Vt,xt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,o=t.distance<e.threshold,i=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(o&&i&&n){if(4!=t.eventType)return this.failTimeout();var r=!this.pTime||t.timeStamp-this.pTime<e.interval,s=!this.pCenter||z(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,s&&r?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=u((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return kt},failTimeout:function(){return this._timer=u((function(){this.state=kt}),this.options.interval,this),kt},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Ht.VERSION="2.0.7",Ht.defaults={domEvents:!1,touchAction:vt,enable:!0,inputTarget:null,inputClass:null,preset:[[It,{enable:!1}],[Mt,{enable:!1},["rotate"]],[Dt,{direction:6}],[Ot,{direction:6},["swipe"]],[Vt],[Vt,{event:"doubletap",taps:2},["tap"]],[Pt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Bt(t,e){var n;this.options=r({},Ht.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((n=this).options.inputClass||(M?nt:P?ht:O?dt:Z))(n,U),this.touchAction=new St(this,this.options.touchAction),Ft(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 Ft(t,e){var n,o=t.element;o.style&&(f(t.options.cssProps,(function(i,r){n=N(o.style,r),e?(t.oldCssProps[n]=o.style[n],o.style[n]=i):o.style[n]=t.oldCssProps[n]||""})),e||(t.oldCssProps={}))}Bt.prototype={set:function(t){return r(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 o=this.recognizers,i=e.curRecognizer;(!i||i&&8&i.state)&&(i=e.curRecognizer=null);for(var r=0;r<o.length;)n=o[r],2===e.stopped||i&&n!=i&&!n.canRecognizeWith(i)?n.reset():n.recognize(t),!i&&14&n.state&&(i=e.curRecognizer=n),r++}},get:function(t){if(t instanceof xt)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(d(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(d(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=k(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==i&&e!==i){var n=this.handlers;return f(S(t),(function(t){n[t]=n[t]||[],n[t].push(e)})),this}},off:function(t,e){if(t!==i){var n=this.handlers;return f(S(t),(function(t){e?n[t]&&n[t].splice(k(n[t],e),1):delete n[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var o=n.createEvent("Event");o.initEvent(t,!0,!0),o.gesture=e,e.target.dispatchEvent(o)}(t,e);var o=this.handlers[t]&&this.handlers[t].slice();if(o&&o.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<o.length;)o[i](e),i++}},destroy:function(){this.element&&Ft(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},r(Ht,{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:kt,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:V,DIRECTION_ALL:30,Manager:Bt,Input:F,TouchAction:St,TouchInput:ht,MouseInput:Z,PointerEventInput:nt,TouchMouseInput:dt,SingleTouchInput:st,Recognizer:xt,AttrRecognizer:Rt,Tap:Vt,Pan:Ot,Swipe:Dt,Pinch:Mt,Rotate:It,Press:Pt,on:b,off:E,each:f,merge:m,extend:g,assign:r,inherit:_,bindFn:v,prefixed:N}),(void 0!==e?e:"undefined"!=typeof self?self:{}).Hammer=Ht,t.exports?t.exports=Ht:e.Hammer=Ht}(window,document)}(Hn);var Bn=Hn.exports;function Fn(t){const e=function(t){const e=[];return t.forEach((t=>{var n;if(null===(n=t.highlights)||void 0===n||!n.length)return;const o=oe(t.highlights);o.top>=o.bottom||e.push({top:o.top,bottom:o.bottom,anchor:t})})),e.sort(((t,e)=>t.top<e.top?-1:1)),e}(t),n=new Set,o=new Set,i=[];let r=null;function s(t){const e=t.bottom-t.top,n=t.top+e/2;return{anchors:[t.anchor],top:t.top,bottom:t.bottom,position:n}}e.forEach((t=>{if(t.top<137)return void n.add(t.anchor);if(t.top>window.innerHeight-22)return void o.add(t.anchor);if(!r)return void(r=s(t));const e=t.top>r.top&&t.bottom<r.bottom;if(t.top-r.bottom>60&&!e)i.push(r),r=s(t);else{const e=t.bottom>r.bottom?t.bottom:r.bottom,n=e-r.top;r.anchors.push(t.anchor),r.bottom=e,r.position=r.top+n/2}})),r&&i.push(r);return{above:{anchors:Array.from(n),position:137},below:{anchors:Array.from(o),position:window.innerHeight-22},buckets:i}}function Un({bucket:t,onSelectAnnotations:e}){const n=t.anchors.map((t=>t.annotation)),o=`Select nearby annotations (${t.anchors.length})`;function i(e){t.anchors.forEach((t=>{ne(t.highlights||[],e)}))}return dt("button",{className:"Buckets__button Buckets__button--left",onClick:t=>function(t){e(n,t.metaKey||t.ctrlKey)}(t),onMouseMove:()=>i(!0),onMouseOut:()=>i(!1),onBlur:()=>i(!1),title:o,"aria-label":o,children:t.anchors.length})}function qn({bucket:t,direction:e,scrollToAnchor:n}){const o=`Go ${e} to next annotations (${t.anchors.length})`;return dt("button",{className:Y("Buckets__button",`Buckets__button--${e}`),onClick:function(){const o=function(t,e){let n=null,o=0;for(let r of t){var i;if(null===(i=r.highlights)||void 0===i||!i.length)continue;const t=oe(r.highlights).top;"up"===e&&t>=137||"down"===e&&t<=window.innerHeight-22||(!n||"up"===e&&t>o||"down"===e&&t<o)&&(n=r,o=t)}return n}(t.anchors,e);o&&n(o)},title:o,"aria-label":o,children:t.anchors.length})}function Wn({above:t,below:e,buckets:n,onSelectAnnotations:o,scrollToAnchor:i}){const r=t.anchors.length>0,s=e.anchors.length>0;return dt("ul",{className:"Buckets__list",children:[r&&dt("li",{className:"Buckets__bucket",style:{top:t.position},children:dt(qn,{bucket:t,direction:"up",scrollToAnchor:i})}),n.map(((t,e)=>dt("li",{className:"Buckets__bucket",style:{top:t.position},children:dt(Un,{bucket:t,onSelectAnnotations:o})},e))),s&&dt("li",{className:"Buckets__bucket",style:{top:e.position},children:dt(qn,{bucket:e,direction:"down",scrollToAnchor:i})})]})}class jn{constructor(t,e,{contentContainer:n=document.body}={}){this._contentContainer=n,this._bucketsContainer=document.createElement("div"),t.appendChild(this._bucketsContainer),this._guest=e,this._listeners=new Nt,this._listeners.add(window,"resize",(()=>this.update())),this._listeners.add(window,"scroll",(()=>this.update())),this._listeners.add(n,"scroll",(()=>this.update())),this._update()}destroy(){this._listeners.removeAll(),this._bucketsContainer.remove()}update(){this._updatePending||(this._updatePending=!0,requestAnimationFrame((()=>{this._update(),this._updatePending=!1})))}_update(){const t=Fn(this._guest.anchors);L(dt(Wn,{above:t.above,below:t.below,buckets:t.buckets,onSelectAnnotations:(t,e)=>this._guest.selectAnnotations(t,e),scrollToAnchor:t=>this._guest.scrollToAnchor(t)}),this._bucketsContainer)}}let $n={};const zn=t=>{$n=t||{}},Xn=function(t){t.on("featureFlagsUpdated",zn)};function Yn({buttonRef:t,expanded:e,className:n="Toolbar__button",label:o,icon:i,onClick:r,selected:s=!1}){return dt("button",{className:n,"aria-label":o,"aria-expanded":e,"aria-pressed":s,onClick:r,ref:t,title:o,children:dt(pt,{name:i})})}function Gn({closeSidebar:t,createAnnotation:e,isSidebarOpen:n,newAnnotationType:o,showHighlights:i,toggleHighlights:r,toggleSidebar:s,toggleSidebarRef:a,useMinimalControls:l=!1}){return dt("div",{className:"Toolbar",children:[l&&n&&dt(Yn,{className:"Toolbar__sidebar-close",label:"Close annotation sidebar",icon:"cancel",onClick:t}),!l&&dt(Yn,{className:"Toolbar__sidebar-toggle",buttonRef:a,label:"Annotation sidebar",icon:n?"caret-right":"caret-left",expanded:n,onClick:s}),!l&&dt("div",{className:"Toolbar__buttonbar",children:[dt(Yn,{label:"Show highlights",icon:i?"show":"hide",selected:i,onClick:r}),dt(Yn,{label:"note"===o?"New page note":"New annotation",icon:"note"===o?"note":"annotate",onClick:e})]})]})}class Kn{constructor(t,e){const{createAnnotation:n,setSidebarOpen:o,setHighlightsVisible:i}=e;this._container=t,this._useMinimalControls=!1,this._newAnnotationType="note",this._highlightsVisible=!1,this._sidebarOpen=!1,this._closeSidebar=()=>o(!1),this._toggleSidebar=()=>o(!this._sidebarOpen),this._toggleHighlights=()=>i(!this._highlightsVisible),this._createAnnotation=()=>{n(),o(!0)},this._sidebarToggleButton={current:null},this.render()}getWidth(){return this._container.firstChild.getBoundingClientRect().width}set useMinimalControls(t){this._useMinimalControls=t,this.render()}get useMinimalControls(){return this._useMinimalControls}set sidebarOpen(t){this._sidebarOpen=t,this.render()}get sidebarOpen(){return this._sidebarOpen}set newAnnotationType(t){this._newAnnotationType=t,this.render()}get newAnnotationType(){return this._newAnnotationType}set highlightsVisible(t){this._highlightsVisible=t,this.render()}get highlightsVisible(){return this._highlightsVisible}get sidebarToggleButton(){return this._sidebarToggleButton.current}render(){L(dt(Gn,{closeSidebar:this._closeSidebar,createAnnotation:this._createAnnotation,newAnnotationType:this._newAnnotationType,isSidebarOpen:this._sidebarOpen,showHighlights:this._highlightsVisible,toggleHighlights:this._toggleHighlights,toggleSidebar:this._toggleSidebar,toggleSidebarRef:this._sidebarToggleButton,useMinimalControls:this.useMinimalControls}),this._container)}}class Zn{constructor(t,e,n,o={}){if(this._emitter=e.createEmitter(),this._sidebarRPC=new Rt,this.iframe=function(t){const e=Pn(t),n="config="+encodeURIComponent(JSON.stringify(e)),o=t.sidebarAppUrl+"#"+n,i=document.createElement("iframe");return i.setAttribute("allowfullscreen",""),i.src=o,i.title="Hypothesis annotation viewer",i.className="h-sidebar-iframe",i}(o),this.options=o,this.bucketBar=null,o.externalContainerSelector){var i;this.externalFrame=null!==(i=document.querySelector(o.externalContainerSelector))&&void 0!==i?i:t,this.externalFrame.appendChild(this.iframe)}else{if(this.iframeContainer=document.createElement("div"),this.iframeContainer.style.display="none",this.iframeContainer.className="annotator-frame","clean"===o.theme)this.iframeContainer.classList.add("annotator-frame--theme-clean");else{const t=new jn(this.iframeContainer,n,{contentContainer:n.contentContainer()});this._emitter.subscribe("anchorsChanged",(()=>t.update())),this.bucketBar=t}this.iframeContainer.appendChild(this.iframe),this.hypothesisSidebar=document.createElement("hypothesis-sidebar");Ht(this.hypothesisSidebar).appendChild(this.iframeContainer),t.appendChild(this.hypothesisSidebar)}this.guest=n,this._listeners=new Nt;const r=document.createElement("div");this.toolbar=new Kn(r,{createAnnotation:()=>n.createAnnotation(),setSidebarOpen:t=>t?this.open():this.close(),setHighlightsVisible:t=>this.setHighlightsVisible(t)}),"clean"===o.theme?this.toolbar.useMinimalControls=!0:this.toolbar.useMinimalControls=!1,this._emitter.subscribe("hasSelectionChanged",(t=>{this.toolbar.newAnnotationType=t?"annotation":"note"})),this.iframeContainer?(this.iframeContainer.prepend(r),this.toolbarWidth=this.toolbar.getWidth()):this.toolbarWidth=0,this._listeners.add(window,"resize",(()=>this._onResize())),this._gestureState={initial:null,final:null},this._setupGestures(),this.close();const[s]=o.services||[];s&&(this.onLoginRequest=s.onLoginRequest,this.onLogoutRequest=s.onLogoutRequest,this.onSignupRequest=s.onSignupRequest,this.onProfileRequest=s.onProfileRequest,this.onHelpRequest=s.onHelpRequest),this.onLayoutChange=o.onLayoutChange,this._notifyOfLayoutChange(!1),this._setupSidebarEvents(),this.ready=new Promise((t=>{this._listeners.add(window,"message",(e=>{const{data:n,ports:o}=e;"hypothesisSidebarReady"===(null==n?void 0:n.type)&&(this._sidebarRPC.createChannel(o[0]),t())}))})),this.ready.then((()=>{this.iframeContainer&&(this.iframeContainer.style.display="");const t="always"===o.showHighlights;this.setHighlightsVisible(t),(o.openSidebar||o.annotations||o.query||o.group)&&this.open()})),this._listeners.add(window,"message",(t=>{const{data:e}=t;"hypothesisGuestUnloaded"===(null==e?void 0:e.type)&&this._sidebarRPC.call("frameDestroyed",e.frameIdentifier)}))}destroy(){var t,e;null===(t=this.bucketBar)||void 0===t||t.destroy(),this._listeners.removeAll(),null===(e=this._hammerManager)||void 0===e||e.destroy(),this.hypothesisSidebar?this.hypothesisSidebar.remove():this.iframe.remove(),this._emitter.destroy()}_setupSidebarEvents(){var t;t=document.body,this._sidebarRPC.on("publicAnnotationCountChanged",(function(e){const n=t.querySelectorAll("[data-hypothesis-annotation-count]");Array.from(n).forEach((t=>{t.textContent=e}))})),function(t,e){const n=t.querySelectorAll("[data-hypothesis-trigger]");function o(t){e(),t.stopPropagation()}Array.from(n).forEach((t=>{t.addEventListener("click",o)}))}(document.body,(()=>this.open())),Xn(this._sidebarRPC),this._sidebarRPC.on("showHighlights",(()=>this.setHighlightsVisible(!0))),this._sidebarRPC.on("openSidebar",(()=>this.open())),this._sidebarRPC.on("closeSidebar",(()=>this.close())),this._sidebarRPC.on("openNotebook",(t=>{this.hide(),this._emitter.publish("openNotebook",t)})),this._emitter.subscribe("closeNotebook",(()=>{this.show()}));[["loginRequested",this.onLoginRequest],["logoutRequested",this.onLogoutRequest],["signupRequested",this.onSignupRequest],["profileRequested",this.onProfileRequest],["helpRequested",this.onHelpRequest]].forEach((([t,e])=>{e&&this._sidebarRPC.on(t,(()=>e()))}))}_resetGestureState(){this._gestureState={initial:null,final:null}}_setupGestures(){const t=this.toolbar.sidebarToggleButton;t&&(this._hammerManager=new Bn.Manager(t).on("panstart panend panleft panright",(t=>this._onPan(t))),this._hammerManager.add(new Bn.Pan({direction:Bn.DIRECTION_HORIZONTAL})))}_updateLayout(){this.renderFrame||(this.renderFrame=requestAnimationFrame((()=>{if(this.renderFrame=null,this._gestureState.final!==this._gestureState.initial&&this.iframeContainer){const t=this._gestureState.final,e=-t;this.iframeContainer.style.marginLeft=`${t}px`,e>=280&&(this.iframeContainer.style.width=`${e}px`),this._notifyOfLayoutChange()}})))}_notifyOfLayoutChange(t){var e;const n=this.iframeContainer&&this.toolbar.getWidth()||0,o=null!==(e=this.iframeContainer)&&void 0!==e?e:this.externalFrame,i=o.getBoundingClientRect(),r=window.getComputedStyle(o),s=parseInt(r.width),a=parseInt(r.marginLeft);let l=n;"boolean"==typeof t?t&&(l+=s):(a<280?l-=a:l+=s,t=l>n);const c={expanded:t,width:t?l:n,height:i.height,toolbarWidth:n};this.onLayoutChange&&this.onLayoutChange(c),this.guest.fitSideBySide(c),this._emitter.publish("sidebarLayoutChanged",c)}_onResize(){!0===this.toolbar.sidebarOpen&&(window.innerWidth<280?this.close():this.open())}_onPan(t){const e=this.iframeContainer;if(e)switch(t.type){case"panstart":this._resetGestureState(),e.classList.add("annotator-no-transition"),e.style.pointerEvents="none",this._gestureState.initial=parseInt(getComputedStyle(e).marginLeft);break;case"panend":e.classList.remove("annotator-no-transition"),e.style.pointerEvents="",null===this._gestureState.final||this._gestureState.final<=-280?this.open():this.close(),this._resetGestureState();break;case"panleft":case"panright":{if("number"!=typeof this._gestureState.initial)return;const e=this._gestureState.initial,n=t.deltaX;this._gestureState.final=Math.min(Math.round(e+n),0),this._updateLayout();break}}}open(){if(this._sidebarRPC.call("sidebarOpened"),this._emitter.publish("sidebarOpened"),this.iframeContainer){const t=this.iframeContainer.getBoundingClientRect().width;this.iframeContainer.style.marginLeft=-1*t+"px",this.iframeContainer.classList.remove("annotator-collapsed")}this.toolbar.sidebarOpen=!0,"whenSidebarOpen"===this.options.showHighlights&&this.setHighlightsVisible(!0),this._notifyOfLayoutChange(!0)}close(){this.iframeContainer&&(this.iframeContainer.style.marginLeft="",this.iframeContainer.classList.add("annotator-collapsed")),this.toolbar.sidebarOpen=!1,"whenSidebarOpen"===this.options.showHighlights&&this.setHighlightsVisible(!1),this._notifyOfLayoutChange(!1)}setHighlightsVisible(t){this.toolbar.highlightsVisible=t,this._sidebarRPC.call("setHighlightsVisible",t)}show(){this.iframeContainer&&this.iframeContainer.classList.remove("is-hidden")}hide(){this.iframeContainer&&this.iframeContainer.classList.add("is-hidden")}}var Jn={exports:{}};function Qn(){}Qn.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,s=o.length;r<s;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},Jn.exports=Qn;var to=Jn.exports.TinyEmitter=Qn;class eo{constructor(t){this._emitter=t,this._subscriptions=[]}publish(t,...e){this._emitter.emit(t,...e)}subscribe(t,e){this._emitter.on(t,e),this._subscriptions.push([t,e])}unsubscribe(t,e){this._emitter.off(t,e),this._subscriptions=this._subscriptions.filter((([n,o])=>n!==t||o!==e))}destroy(){for(let[t,e]of this._subscriptions)this._emitter.off(t,e);this._subscriptions=[]}}class no{constructor(){this._emitter=new to}createEmitter(){return new eo(this._emitter)}}gt(wt);const oo=window,io=document.querySelector('link[type="application/annotator+html"][rel="sidebar"]');new Promise((t=>{"loading"!==document.readyState&&t(),document.addEventListener("readystatechange",(()=>t()))})).then((function(){oo.__hypothesis={};const t=At("annotator"),e=t.subFrameIdentifier?window.parent:window,n=new no,o=new Mn(document.body,n,t,e);let i;window===e&&(i=new Zn(document.body,n,o,At("sidebar")),oo.__hypothesis.sidebarWindow=i.ready.then((()=>[i.iframe.contentWindow])));const r=new Vn(document.body,n,At("notebook"));let s=oo.__hypothesis.sidebarWindow;try{var a;if(!s)s=null===(a=window.parent.__hypothesis)||void 0===a?void 0:a.sidebarWindow}catch{}if(s){const t=new URL(io.href).origin;s.then((([e])=>o.connectToSidebar(e,t)))}else console.warn(`Hypothesis guest frame in ${location.origin} could not find a sidebar to connect to.\nGuest frames can only connect to sidebars in their same-origin parent frame.`);io.addEventListener("destroy",(()=>{var t;delete oo.__hypothesis,null===(t=i)||void 0===t||t.destroy(),r.destroy(),o.destroy();document.querySelectorAll("[data-hypothesis-asset]").forEach((t=>t.remove()))}))}));
|
|
11
|
+
* Licensed under the MIT license */!function(t){!function(e,n,o,i){var r,s=["","webkit","Moz","MS","ms","o"],a=n.createElement("div"),l=Math.round,c=Math.abs,h=Date.now;function u(t,e,n){return setTimeout(v(t,n),e)}function d(t,e,n){return!!Array.isArray(t)&&(f(t,n[e],n),!0)}function f(t,e,n){var o;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==i)for(o=0;o<t.length;)e.call(n,t[o],o,t),o++;else for(o in t)t.hasOwnProperty(o)&&e.call(n,t[o],o,t)}function p(t,n,o){var i="DEPRECATED METHOD: "+n+"\n"+o+" AT \n";return function(){var n=new Error("get-stack-trace"),o=n&&n.stack?n.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",r=e.console&&(e.console.warn||e.console.log);return r&&r.call(e.console,i,o),t.apply(this,arguments)}}r="function"!=typeof Object.assign?function(t){if(t===i||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var o=arguments[n];if(o!==i&&null!==o)for(var r in o)o.hasOwnProperty(r)&&(e[r]=o[r])}return e}:Object.assign;var g=p((function(t,e,n){for(var o=Object.keys(e),r=0;r<o.length;)(!n||n&&t[o[r]]===i)&&(t[o[r]]=e[o[r]]),r++;return t}),"extend","Use `assign`."),m=p((function(t,e){return g(t,e,!0)}),"merge","Use `assign`.");function _(t,e,n){var o,i=e.prototype;(o=t.prototype=Object.create(i)).constructor=t,o._super=i,n&&r(o,n)}function v(t,e){return function(){return t.apply(e,arguments)}}function y(t,e){return"function"==typeof t?t.apply(e&&e[0]||i,e):t}function w(t,e){return t===i?e:t}function b(t,e,n){f(S(e),(function(e){t.addEventListener(e,n,!1)}))}function E(t,e,n){f(S(e),(function(e){t.removeEventListener(e,n,!1)}))}function C(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function T(t,e){return t.indexOf(e)>-1}function S(t){return t.trim().split(/\s+/g)}function k(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var o=0;o<t.length;){if(n&&t[o][n]==e||!n&&t[o]===e)return o;o++}return-1}function x(t){return Array.prototype.slice.call(t,0)}function A(t,e,n){for(var o=[],i=[],r=0;r<t.length;){var s=e?t[r][e]:t[r];k(i,s)<0&&o.push(t[r]),i[r]=s,r++}return n&&(o=e?o.sort((function(t,n){return t[e]>n[e]})):o.sort()),o}function N(t,e){for(var n,o,r=e[0].toUpperCase()+e.slice(1),a=0;a<s.length;){if((o=(n=s[a])?n+r:e)in t)return o;a++}return i}var L=1;function R(t){var n=t.ownerDocument||t;return n.defaultView||n.parentWindow||e}var O="ontouchstart"in e,M=N(e,"PointerEvent")!==i,P=O&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),I="touch",D="mouse",V=24,H=["x","y"],B=["clientX","clientY"];function F(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){y(t.options.enable,[t])&&n.handler(e)},this.init()}function U(t,e,n){var o=n.pointers.length,r=n.changedPointers.length,s=1&e&&o-r==0,a=12&e&&o-r==0;n.isFirst=!!s,n.isFinal=!!a,s&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,o=e.pointers,r=o.length;n.firstInput||(n.firstInput=q(e));r>1&&!n.firstMultiple?n.firstMultiple=q(e):1===r&&(n.firstMultiple=!1);var s=n.firstInput,a=n.firstMultiple,l=a?a.center:s.center,u=e.center=W(o);e.timeStamp=h(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=X(l,u),e.distance=z(l,u),function(t,e){var n=e.center,o=t.offsetDelta||{},i=t.prevDelta||{},r=t.prevInput||{};1!==e.eventType&&4!==r.eventType||(i=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},o=t.offsetDelta={x:n.x,y:n.y});e.deltaX=i.x+(n.x-o.x),e.deltaY=i.y+(n.y-o.y)}(n,e),e.offsetDirection=$(e.deltaX,e.deltaY);var d=j(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=d.x,e.overallVelocityY=d.y,e.overallVelocity=c(d.x)>c(d.y)?d.x:d.y,e.scale=a?(f=a.pointers,p=o,z(p[0],p[1],B)/z(f[0],f[1],B)):1,e.rotation=a?function(t,e){return X(e[1],e[0],B)+X(t[1],t[0],B)}(a.pointers,o):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,o,r,s,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(l>25||a.velocity===i)){var h=e.deltaX-a.deltaX,u=e.deltaY-a.deltaY,d=j(l,h,u);o=d.x,r=d.y,n=c(d.x)>c(d.y)?d.x:d.y,s=$(h,u),t.lastInterval=e}else n=a.velocity,o=a.velocityX,r=a.velocityY,s=a.direction;e.velocity=n,e.velocityX=o,e.velocityY=r,e.direction=s}(n,e);var f,p;var g=t.element;C(e.srcEvent.target,g)&&(g=e.srcEvent.target);e.target=g}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function q(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:l(t.pointers[n].clientX),clientY:l(t.pointers[n].clientY)},n++;return{timeStamp:h(),pointers:e,center:W(e),deltaX:t.deltaX,deltaY:t.deltaY}}function W(t){var e=t.length;if(1===e)return{x:l(t[0].clientX),y:l(t[0].clientY)};for(var n=0,o=0,i=0;i<e;)n+=t[i].clientX,o+=t[i].clientY,i++;return{x:l(n/e),y:l(o/e)}}function j(t,e,n){return{x:e/t||0,y:n/t||0}}function $(t,e){return t===e?1:c(t)>=c(e)?t<0?2:4:e<0?8:16}function z(t,e,n){n||(n=H);var o=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return Math.sqrt(o*o+i*i)}function X(t,e,n){n||(n=H);var o=e[n[0]]-t[n[0]],i=e[n[1]]-t[n[1]];return 180*Math.atan2(i,o)/Math.PI}F.prototype={handler:function(){},init:function(){this.evEl&&b(this.element,this.evEl,this.domHandler),this.evTarget&&b(this.target,this.evTarget,this.domHandler),this.evWin&&b(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(R(this.element),this.evWin,this.domHandler)}};var Y={mousedown:1,mousemove:2,mouseup:4},G="mousedown",K="mousemove mouseup";function Z(){this.evEl=G,this.evWin=K,this.pressed=!1,F.apply(this,arguments)}_(Z,F,{handler:function(t){var e=Y[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:D,srcEvent:t}))}});var J={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:I,3:"pen",4:D,5:"kinect"},tt="pointerdown",et="pointermove pointerup pointercancel";function nt(){this.evEl=tt,this.evWin=et,F.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}e.MSPointerEvent&&!e.PointerEvent&&(tt="MSPointerDown",et="MSPointerMove MSPointerUp MSPointerCancel"),_(nt,F,{handler:function(t){var e=this.store,n=!1,o=t.type.toLowerCase().replace("ms",""),i=J[o],r=Q[t.pointerType]||t.pointerType,s=r==I,a=k(e,t.pointerId,"pointerId");1&i&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):12&i&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,i,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),n&&e.splice(a,1))}});var ot={touchstart:1,touchmove:2,touchend:4,touchcancel:8},it="touchstart",rt="touchstart touchmove touchend touchcancel";function st(){this.evTarget=it,this.evWin=rt,this.started=!1,F.apply(this,arguments)}function at(t,e){var n=x(t.touches),o=x(t.changedTouches);return 12&e&&(n=A(n.concat(o),"identifier",!0)),[n,o]}_(st,F,{handler:function(t){var e=ot[t.type];if(1===e&&(this.started=!0),this.started){var n=at.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:I,srcEvent:t})}}});var lt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ct="touchstart touchmove touchend touchcancel";function ht(){this.evTarget=ct,this.targetIds={},F.apply(this,arguments)}function ut(t,e){var n=x(t.touches),o=this.targetIds;if(3&e&&1===n.length)return o[n[0].identifier]=!0,[n,n];var i,r,s=x(t.changedTouches),a=[],l=this.target;if(r=n.filter((function(t){return C(t.target,l)})),1===e)for(i=0;i<r.length;)o[r[i].identifier]=!0,i++;for(i=0;i<s.length;)o[s[i].identifier]&&a.push(s[i]),12&e&&delete o[s[i].identifier],i++;return a.length?[A(r.concat(a),"identifier",!0),a]:void 0}_(ht,F,{handler:function(t){var e=lt[t.type],n=ut.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:I,srcEvent:t})}});function dt(){F.apply(this,arguments);var t=v(this.handler,this);this.touch=new ht(this.manager,t),this.mouse=new Z(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function ft(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,pt.call(this,e)):12&t&&pt.call(this,e)}function pt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var o=this.lastTouches;setTimeout((function(){var t=o.indexOf(n);t>-1&&o.splice(t,1)}),2500)}}function gt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,o=0;o<this.lastTouches.length;o++){var i=this.lastTouches[o],r=Math.abs(e-i.x),s=Math.abs(n-i.y);if(r<=25&&s<=25)return!0}return!1}_(dt,F,{handler:function(t,e,n){var o=n.pointerType==I,i=n.pointerType==D;if(!(i&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(o)ft.call(this,e,n);else if(i&>.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var mt=N(a.style,"touchAction"),_t=mt!==i,vt="compute",yt="auto",wt="manipulation",bt="none",Et="pan-x",Ct="pan-y",Tt=function(){if(!_t)return!1;var t={},n=e.CSS&&e.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(o){t[o]=!n||e.CSS.supports("touch-action",o)})),t}();function St(t,e){this.manager=t,this.set(e)}St.prototype={set:function(t){t==vt&&(t=this.compute()),_t&&this.manager.element.style&&Tt[t]&&(this.manager.element.style[mt]=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){y(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(T(t,bt))return bt;var e=T(t,Et),n=T(t,Ct);if(e&&n)return bt;if(e||n)return e?Et:Ct;if(T(t,wt))return wt;return yt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var o=this.actions,i=T(o,bt)&&!Tt.none,r=T(o,Ct)&&!Tt["pan-y"],s=T(o,Et)&&!Tt["pan-x"];if(i){var a=1===t.pointers.length,l=t.distance<2,c=t.deltaTime<250;if(a&&l&&c)return}if(!s||!r)return i||r&&6&n||s&&n&V?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var kt=32;function xt(t){this.options=r({},this.defaults,t||{}),this.id=L++,this.manager=null,this.options.enable=w(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function At(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function Nt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function Lt(t,e){var n=e.manager;return n?n.get(t):t}function Rt(){xt.apply(this,arguments)}function Ot(){Rt.apply(this,arguments),this.pX=null,this.pY=null}function Mt(){Rt.apply(this,arguments)}function Pt(){xt.apply(this,arguments),this._timer=null,this._input=null}function It(){Rt.apply(this,arguments)}function Dt(){Rt.apply(this,arguments)}function Vt(){xt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Ht(t,e){return(e=e||{}).recognizers=w(e.recognizers,Ht.defaults.preset),new Bt(t,e)}xt.prototype={defaults:{},set:function(t){return r(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(d(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Lt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return d(t,"dropRecognizeWith",this)||(t=Lt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(d(t,"requireFailure",this))return this;var e=this.requireFail;return-1===k(e,t=Lt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(d(t,"dropRequireFailure",this))return this;t=Lt(t,this);var e=k(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 o(n){e.manager.emit(n,t)}n<8&&o(e.options.event+At(n)),o(e.options.event),t.additionalEvent&&o(t.additionalEvent),n>=8&&o(e.options.event+At(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=kt},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=r({},t);if(!y(this.options.enable,[this,e]))return this.reset(),void(this.state=kt);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},_(Rt,xt,{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,o=6&e,i=this.attrTest(t);return o&&(8&n||!i)?16|e:o||i?4&n?8|e:2&e?4|e:2:kt}}),_(Ot,Rt,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(Ct),t&V&&e.push(Et),e},directionTest:function(t){var e=this.options,n=!0,o=t.distance,i=t.direction,r=t.deltaX,s=t.deltaY;return i&e.direction||(6&e.direction?(i=0===r?1:r<0?2:4,n=r!=this.pX,o=Math.abs(t.deltaX)):(i=0===s?1:s<0?8:16,n=s!=this.pY,o=Math.abs(t.deltaY))),t.direction=i,n&&o>e.threshold&&i&e.direction},attrTest:function(t){return Rt.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=Nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Mt,Rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[bt]},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)}}),_(Pt,xt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,o=t.distance<e.threshold,i=t.deltaTime>e.time;if(this._input=t,!o||!n||12&t.eventType&&!i)this.reset();else if(1&t.eventType)this.reset(),this._timer=u((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return kt},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)))}}),_(It,Rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[bt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Dt,Rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Ot.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:n&V&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&c(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(Vt,xt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,o=t.distance<e.threshold,i=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(o&&i&&n){if(4!=t.eventType)return this.failTimeout();var r=!this.pTime||t.timeStamp-this.pTime<e.interval,s=!this.pCenter||z(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,s&&r?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=u((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return kt},failTimeout:function(){return this._timer=u((function(){this.state=kt}),this.options.interval,this),kt},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Ht.VERSION="2.0.7",Ht.defaults={domEvents:!1,touchAction:vt,enable:!0,inputTarget:null,inputClass:null,preset:[[It,{enable:!1}],[Mt,{enable:!1},["rotate"]],[Dt,{direction:6}],[Ot,{direction:6},["swipe"]],[Vt],[Vt,{event:"doubletap",taps:2},["tap"]],[Pt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Bt(t,e){var n;this.options=r({},Ht.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((n=this).options.inputClass||(M?nt:P?ht:O?dt:Z))(n,U),this.touchAction=new St(this,this.options.touchAction),Ft(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 Ft(t,e){var n,o=t.element;o.style&&(f(t.options.cssProps,(function(i,r){n=N(o.style,r),e?(t.oldCssProps[n]=o.style[n],o.style[n]=i):o.style[n]=t.oldCssProps[n]||""})),e||(t.oldCssProps={}))}Bt.prototype={set:function(t){return r(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 o=this.recognizers,i=e.curRecognizer;(!i||i&&8&i.state)&&(i=e.curRecognizer=null);for(var r=0;r<o.length;)n=o[r],2===e.stopped||i&&n!=i&&!n.canRecognizeWith(i)?n.reset():n.recognize(t),!i&&14&n.state&&(i=e.curRecognizer=n),r++}},get:function(t){if(t instanceof xt)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(d(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(d(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=k(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==i&&e!==i){var n=this.handlers;return f(S(t),(function(t){n[t]=n[t]||[],n[t].push(e)})),this}},off:function(t,e){if(t!==i){var n=this.handlers;return f(S(t),(function(t){e?n[t]&&n[t].splice(k(n[t],e),1):delete n[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var o=n.createEvent("Event");o.initEvent(t,!0,!0),o.gesture=e,e.target.dispatchEvent(o)}(t,e);var o=this.handlers[t]&&this.handlers[t].slice();if(o&&o.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var i=0;i<o.length;)o[i](e),i++}},destroy:function(){this.element&&Ft(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},r(Ht,{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:kt,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:V,DIRECTION_ALL:30,Manager:Bt,Input:F,TouchAction:St,TouchInput:ht,MouseInput:Z,PointerEventInput:nt,TouchMouseInput:dt,SingleTouchInput:st,Recognizer:xt,AttrRecognizer:Rt,Tap:Vt,Pan:Ot,Swipe:Dt,Pinch:Mt,Rotate:It,Press:Pt,on:b,off:E,each:f,merge:m,extend:g,assign:r,inherit:_,bindFn:v,prefixed:N}),(void 0!==e?e:"undefined"!=typeof self?self:{}).Hammer=Ht,t.exports?t.exports=Ht:e.Hammer=Ht}(window,document)}(Hn);var Bn=Hn.exports;function Fn(t){const e=function(t){const e=[];return t.forEach((t=>{var n;if(null===(n=t.highlights)||void 0===n||!n.length)return;const o=oe(t.highlights);o.top>=o.bottom||e.push({top:o.top,bottom:o.bottom,anchor:t})})),e.sort(((t,e)=>t.top<e.top?-1:1)),e}(t),n=new Set,o=new Set,i=[];let r=null;function s(t){const e=t.bottom-t.top,n=t.top+e/2;return{anchors:[t.anchor],top:t.top,bottom:t.bottom,position:n}}e.forEach((t=>{if(t.top<137)return void n.add(t.anchor);if(t.top>window.innerHeight-22)return void o.add(t.anchor);if(!r)return void(r=s(t));const e=t.top>r.top&&t.bottom<r.bottom;if(t.top-r.bottom>60&&!e)i.push(r),r=s(t);else{const e=t.bottom>r.bottom?t.bottom:r.bottom,n=e-r.top;r.anchors.push(t.anchor),r.bottom=e,r.position=r.top+n/2}})),r&&i.push(r);return{above:{anchors:Array.from(n),position:137},below:{anchors:Array.from(o),position:window.innerHeight-22},buckets:i}}function Un({bucket:t,onSelectAnnotations:e}){const n=t.anchors.map((t=>t.annotation)),o=`Select nearby annotations (${t.anchors.length})`;function i(e){t.anchors.forEach((t=>{ne(t.highlights||[],e)}))}return dt("button",{className:"Buckets__button Buckets__button--left",onClick:t=>function(t){e(n,t.metaKey||t.ctrlKey)}(t),onMouseMove:()=>i(!0),onMouseOut:()=>i(!1),onBlur:()=>i(!1),title:o,"aria-label":o,children:t.anchors.length})}function qn({bucket:t,direction:e,scrollToAnchor:n}){const o=`Go ${e} to next annotations (${t.anchors.length})`;return dt("button",{className:Y("Buckets__button",`Buckets__button--${e}`),onClick:function(){const o=function(t,e){let n=null,o=0;for(let r of t){var i;if(null===(i=r.highlights)||void 0===i||!i.length)continue;const t=oe(r.highlights).top;"up"===e&&t>=137||"down"===e&&t<=window.innerHeight-22||(!n||"up"===e&&t>o||"down"===e&&t<o)&&(n=r,o=t)}return n}(t.anchors,e);o&&n(o)},title:o,"aria-label":o,children:t.anchors.length})}function Wn({above:t,below:e,buckets:n,onSelectAnnotations:o,scrollToAnchor:i}){const r=t.anchors.length>0,s=e.anchors.length>0;return dt("ul",{className:"Buckets__list",children:[r&&dt("li",{className:"Buckets__bucket",style:{top:t.position},children:dt(qn,{bucket:t,direction:"up",scrollToAnchor:i})}),n.map(((t,e)=>dt("li",{className:"Buckets__bucket",style:{top:t.position},children:dt(Un,{bucket:t,onSelectAnnotations:o})},e))),s&&dt("li",{className:"Buckets__bucket",style:{top:e.position},children:dt(qn,{bucket:e,direction:"down",scrollToAnchor:i})})]})}class jn{constructor(t,e,{contentContainer:n=document.body}={}){this._contentContainer=n,this._bucketsContainer=document.createElement("div"),t.appendChild(this._bucketsContainer),this._guest=e,this._listeners=new Nt,this._listeners.add(window,"resize",(()=>this.update())),this._listeners.add(window,"scroll",(()=>this.update())),this._listeners.add(n,"scroll",(()=>this.update())),this._update()}destroy(){this._listeners.removeAll(),this._bucketsContainer.remove()}update(){this._updatePending||(this._updatePending=!0,requestAnimationFrame((()=>{this._update(),this._updatePending=!1})))}_update(){const t=Fn(this._guest.anchors);L(dt(Wn,{above:t.above,below:t.below,buckets:t.buckets,onSelectAnnotations:(t,e)=>this._guest.selectAnnotations(t,e),scrollToAnchor:t=>this._guest.scrollToAnchor(t)}),this._bucketsContainer)}}let $n={};const zn=t=>{$n=t||{}},Xn=function(t){t.on("featureFlagsUpdated",zn)};function Yn({buttonRef:t,expanded:e,className:n="Toolbar__button",label:o,icon:i,onClick:r,selected:s=!1}){return dt("button",{className:n,"aria-label":o,"aria-expanded":e,"aria-pressed":s,onClick:r,ref:t,title:o,children:dt(pt,{name:i})})}function Gn({closeSidebar:t,createAnnotation:e,isSidebarOpen:n,newAnnotationType:o,showHighlights:i,toggleHighlights:r,toggleSidebar:s,toggleSidebarRef:a,useMinimalControls:l=!1}){return dt("div",{className:"Toolbar",children:[l&&n&&dt(Yn,{className:"Toolbar__sidebar-close",label:"Close annotation sidebar",icon:"cancel",onClick:t}),!l&&dt(Yn,{className:"Toolbar__sidebar-toggle",buttonRef:a,label:"Annotation sidebar",icon:n?"caret-right":"caret-left",expanded:n,onClick:s}),!l&&dt("div",{className:"Toolbar__buttonbar",children:[dt(Yn,{label:"Show highlights",icon:i?"show":"hide",selected:i,onClick:r}),dt(Yn,{label:"note"===o?"New page note":"New annotation",icon:"note"===o?"note":"annotate",onClick:e})]})]})}class Kn{constructor(t,e){const{createAnnotation:n,setSidebarOpen:o,setHighlightsVisible:i}=e;this._container=t,this._useMinimalControls=!1,this._newAnnotationType="note",this._highlightsVisible=!1,this._sidebarOpen=!1,this._closeSidebar=()=>o(!1),this._toggleSidebar=()=>o(!this._sidebarOpen),this._toggleHighlights=()=>i(!this._highlightsVisible),this._createAnnotation=()=>{n(),o(!0)},this._sidebarToggleButton={current:null},this.render()}getWidth(){return this._container.firstChild.getBoundingClientRect().width}set useMinimalControls(t){this._useMinimalControls=t,this.render()}get useMinimalControls(){return this._useMinimalControls}set sidebarOpen(t){this._sidebarOpen=t,this.render()}get sidebarOpen(){return this._sidebarOpen}set newAnnotationType(t){this._newAnnotationType=t,this.render()}get newAnnotationType(){return this._newAnnotationType}set highlightsVisible(t){this._highlightsVisible=t,this.render()}get highlightsVisible(){return this._highlightsVisible}get sidebarToggleButton(){return this._sidebarToggleButton.current}render(){L(dt(Gn,{closeSidebar:this._closeSidebar,createAnnotation:this._createAnnotation,newAnnotationType:this._newAnnotationType,isSidebarOpen:this._sidebarOpen,showHighlights:this._highlightsVisible,toggleHighlights:this._toggleHighlights,toggleSidebar:this._toggleSidebar,toggleSidebarRef:this._sidebarToggleButton,useMinimalControls:this.useMinimalControls}),this._container)}}class Zn{constructor(t,e,n,o={}){if(this._emitter=e.createEmitter(),this._sidebarRPC=new Rt,this.iframe=function(t){const e=Pn(t),n="config="+encodeURIComponent(JSON.stringify(e)),o=t.sidebarAppUrl+"#"+n,i=document.createElement("iframe");return i.setAttribute("allowfullscreen",""),i.src=o,i.title="Hypothesis annotation viewer",i.className="h-sidebar-iframe",i}(o),this.options=o,this.bucketBar=null,o.externalContainerSelector){var i;this.externalFrame=null!==(i=document.querySelector(o.externalContainerSelector))&&void 0!==i?i:t,this.externalFrame.appendChild(this.iframe)}else{if(this.iframeContainer=document.createElement("div"),this.iframeContainer.style.display="none",this.iframeContainer.className="annotator-frame","clean"===o.theme)this.iframeContainer.classList.add("annotator-frame--theme-clean");else{const t=new jn(this.iframeContainer,n,{contentContainer:n.contentContainer()});this._emitter.subscribe("anchorsChanged",(()=>t.update())),this.bucketBar=t}this.iframeContainer.appendChild(this.iframe),this.hypothesisSidebar=document.createElement("hypothesis-sidebar");Ht(this.hypothesisSidebar).appendChild(this.iframeContainer),t.appendChild(this.hypothesisSidebar)}this.guest=n,this._listeners=new Nt;const r=document.createElement("div");this.toolbar=new Kn(r,{createAnnotation:()=>n.createAnnotation(),setSidebarOpen:t=>t?this.open():this.close(),setHighlightsVisible:t=>this.setHighlightsVisible(t)}),"clean"===o.theme?this.toolbar.useMinimalControls=!0:this.toolbar.useMinimalControls=!1,this._emitter.subscribe("hasSelectionChanged",(t=>{this.toolbar.newAnnotationType=t?"annotation":"note"})),this.iframeContainer?(this.iframeContainer.prepend(r),this.toolbarWidth=this.toolbar.getWidth()):this.toolbarWidth=0,this._listeners.add(window,"resize",(()=>this._onResize())),this._gestureState={initial:null,final:null},this._setupGestures(),this.close();const[s]=o.services||[];s&&(this.onLoginRequest=s.onLoginRequest,this.onLogoutRequest=s.onLogoutRequest,this.onSignupRequest=s.onSignupRequest,this.onProfileRequest=s.onProfileRequest,this.onHelpRequest=s.onHelpRequest),this.onLayoutChange=o.onLayoutChange,this._notifyOfLayoutChange(!1),this._setupSidebarEvents(),this.ready=new Promise((t=>{this._listeners.add(window,"message",(e=>{const{data:n,ports:o}=e;"hypothesisSidebarReady"===(null==n?void 0:n.type)&&(this._sidebarRPC.createChannel(o[0]),t())}))})),this.ready.then((()=>{this.iframeContainer&&(this.iframeContainer.style.display="");const t="always"===o.showHighlights;this.setHighlightsVisible(t),(o.openSidebar||o.annotations||o.query||o.group)&&this.open()})),this._listeners.add(window,"message",(t=>{const{data:e}=t;"hypothesisGuestUnloaded"===(null==e?void 0:e.type)&&this._sidebarRPC.call("frameDestroyed",e.frameIdentifier)}))}destroy(){var t,e;null===(t=this.bucketBar)||void 0===t||t.destroy(),this._listeners.removeAll(),null===(e=this._hammerManager)||void 0===e||e.destroy(),this.hypothesisSidebar?this.hypothesisSidebar.remove():this.iframe.remove(),this._emitter.destroy()}_setupSidebarEvents(){var t;t=document.body,this._sidebarRPC.on("publicAnnotationCountChanged",(function(e){const n=t.querySelectorAll("[data-hypothesis-annotation-count]");Array.from(n).forEach((t=>{t.textContent=e}))})),function(t,e){const n=t.querySelectorAll("[data-hypothesis-trigger]");function o(t){e(),t.stopPropagation()}Array.from(n).forEach((t=>{t.addEventListener("click",o)}))}(document.body,(()=>this.open())),Xn(this._sidebarRPC),this._sidebarRPC.on("showHighlights",(()=>this.setHighlightsVisible(!0))),this._sidebarRPC.on("openSidebar",(()=>this.open())),this._sidebarRPC.on("closeSidebar",(()=>this.close())),this._sidebarRPC.on("openNotebook",(t=>{this.hide(),this._emitter.publish("openNotebook",t)})),this._emitter.subscribe("closeNotebook",(()=>{this.show()}));[["loginRequested",this.onLoginRequest],["logoutRequested",this.onLogoutRequest],["signupRequested",this.onSignupRequest],["profileRequested",this.onProfileRequest],["helpRequested",this.onHelpRequest]].forEach((([t,e])=>{e&&this._sidebarRPC.on(t,(()=>e()))}))}_resetGestureState(){this._gestureState={initial:null,final:null}}_setupGestures(){const t=this.toolbar.sidebarToggleButton;t&&(this._hammerManager=new Bn.Manager(t).on("panstart panend panleft panright",(t=>this._onPan(t))),this._hammerManager.add(new Bn.Pan({direction:Bn.DIRECTION_HORIZONTAL})))}_updateLayout(){this.renderFrame||(this.renderFrame=requestAnimationFrame((()=>{if(this.renderFrame=null,this._gestureState.final!==this._gestureState.initial&&this.iframeContainer){const t=this._gestureState.final,e=-t;this.iframeContainer.style.marginLeft=`${t}px`,e>=280&&(this.iframeContainer.style.width=`${e}px`),this._notifyOfLayoutChange()}})))}_notifyOfLayoutChange(t){var e;const n=this.iframeContainer&&this.toolbar.getWidth()||0,o=null!==(e=this.iframeContainer)&&void 0!==e?e:this.externalFrame,i=o.getBoundingClientRect(),r=window.getComputedStyle(o),s=parseInt(r.width),a=parseInt(r.marginLeft);let l=n;"boolean"==typeof t?t&&(l+=s):(a<280?l-=a:l+=s,t=l>n);const c={expanded:t,width:t?l:n,height:i.height,toolbarWidth:n};this.onLayoutChange&&this.onLayoutChange(c),this.guest.fitSideBySide(c),this._emitter.publish("sidebarLayoutChanged",c)}_onResize(){!0===this.toolbar.sidebarOpen&&(window.innerWidth<280?this.close():this.open())}_onPan(t){const e=this.iframeContainer;if(e)switch(t.type){case"panstart":this._resetGestureState(),e.classList.add("annotator-no-transition"),e.style.pointerEvents="none",this._gestureState.initial=parseInt(getComputedStyle(e).marginLeft);break;case"panend":e.classList.remove("annotator-no-transition"),e.style.pointerEvents="",null===this._gestureState.final||this._gestureState.final<=-280?this.open():this.close(),this._resetGestureState();break;case"panleft":case"panright":{if("number"!=typeof this._gestureState.initial)return;const e=this._gestureState.initial,n=t.deltaX;this._gestureState.final=Math.min(Math.round(e+n),0),this._updateLayout();break}}}open(){if(this._sidebarRPC.call("sidebarOpened"),this._emitter.publish("sidebarOpened"),this.iframeContainer){const t=this.iframeContainer.getBoundingClientRect().width;this.iframeContainer.style.marginLeft=-1*t+"px",this.iframeContainer.classList.remove("annotator-collapsed")}this.toolbar.sidebarOpen=!0,"whenSidebarOpen"===this.options.showHighlights&&this.setHighlightsVisible(!0),this._notifyOfLayoutChange(!0)}close(){this.iframeContainer&&(this.iframeContainer.style.marginLeft="",this.iframeContainer.classList.add("annotator-collapsed")),this.toolbar.sidebarOpen=!1,"whenSidebarOpen"===this.options.showHighlights&&this.setHighlightsVisible(!1),this._notifyOfLayoutChange(!1)}setHighlightsVisible(t){this.toolbar.highlightsVisible=t,this._sidebarRPC.call("setHighlightsVisible",t)}show(){this.iframeContainer&&this.iframeContainer.classList.remove("is-hidden")}hide(){this.iframeContainer&&this.iframeContainer.classList.add("is-hidden")}}var Jn={exports:{}};function Qn(){}Qn.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,s=o.length;r<s;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},Jn.exports=Qn;var to=Jn.exports.TinyEmitter=Qn;class eo{constructor(t){this._emitter=t,this._subscriptions=[]}publish(t,...e){this._emitter.emit(t,...e)}subscribe(t,e){this._emitter.on(t,e),this._subscriptions.push([t,e])}unsubscribe(t,e){this._emitter.off(t,e),this._subscriptions=this._subscriptions.filter((([n,o])=>n!==t||o!==e))}destroy(){for(let[t,e]of this._subscriptions)this._emitter.off(t,e);this._subscriptions=[]}}class no{constructor(){this._emitter=new to}createEmitter(){return new eo(this._emitter)}}!function(t,{reset:e=!1}={}){e&&ft.clear();for(let[e,n]of Object.entries(t))ft.set(e,n)}(wt);const oo=window,io=document.querySelector('link[type="application/annotator+html"][rel="sidebar"]');new Promise((t=>{"loading"!==document.readyState&&t(),document.addEventListener("readystatechange",(()=>t()))})).then((function(){oo.__hypothesis={};const t=At("annotator"),e=t.subFrameIdentifier?window.parent:window,n=new no,o=new Mn(document.body,n,t,e);let i;window===e&&(i=new Zn(document.body,n,o,At("sidebar")),oo.__hypothesis.sidebarWindow=i.ready.then((()=>[i.iframe.contentWindow])));const r=new Vn(document.body,n,At("notebook"));let s=oo.__hypothesis.sidebarWindow;try{var a;if(!s)s=null===(a=window.parent.__hypothesis)||void 0===a?void 0:a.sidebarWindow}catch{}if(s){const t=new URL(io.href).origin;s.then((([e])=>o.connectToSidebar(e,t)))}else console.warn(`Hypothesis guest frame in ${location.origin} could not find a sidebar to connect to.\nGuest frames can only connect to sidebars in their same-origin parent frame.`);io.addEventListener("destroy",(()=>{var t;delete oo.__hypothesis,null===(t=i)||void 0===t||t.destroy(),r.destroy(),o.destroy();document.querySelectorAll("[data-hypothesis-asset]").forEach((t=>t.remove()))}))}));
|
|
12
12
|
//# sourceMappingURL=annotator.bundle.js.map
|