@abi-software/scaffoldvuer 1.5.0 → 1.5.1
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/dist/scaffoldvuer.js
CHANGED
|
@@ -42670,7 +42670,7 @@ const YU = {
|
|
|
42670
42670
|
const t = Fz(e);
|
|
42671
42671
|
t && (this.createData.toBeDeleted = !0, this._editingZincObject = t);
|
|
42672
42672
|
}
|
|
42673
|
-
this.activeDrawMode !== "Point" && this.activeDrawMode !== "LineString" ?
|
|
42673
|
+
this.activeDrawMode !== "Point" && this.activeDrawMode !== "LineString" ? this.showRegionTooltipWithAnnotations(e.identifiers, !0, !1) : this.showRegionTooltipWithAnnotations(e.identifiers, !0, !0);
|
|
42674
42674
|
}
|
|
42675
42675
|
else
|
|
42676
42676
|
this.showRegionTooltipWithAnnotations(e.identifiers, !0, !0);
|
|
@@ -43240,7 +43240,7 @@ const YU = {
|
|
|
43240
43240
|
this.setMarkerModeForObjectsWithName(n, e, "on");
|
|
43241
43241
|
}
|
|
43242
43242
|
}
|
|
43243
|
-
}, Hp = (n) => (f0("data-v-
|
|
43243
|
+
}, Hp = (n) => (f0("data-v-a5cf514e"), n = n(), p0(), n), JU = {
|
|
43244
43244
|
ref: "scaffoldContainer",
|
|
43245
43245
|
class: "scaffold-container",
|
|
43246
43246
|
"element-loading-text": "Loading...",
|
|
@@ -43696,7 +43696,7 @@ function h4(n, e, t, i, r, s) {
|
|
|
43696
43696
|
[M, n.loading]
|
|
43697
43697
|
]);
|
|
43698
43698
|
}
|
|
43699
|
-
const m4 = /* @__PURE__ */ $i(YU, [["render", h4], ["__scopeId", "data-v-
|
|
43699
|
+
const m4 = /* @__PURE__ */ $i(YU, [["render", h4], ["__scopeId", "data-v-a5cf514e"]]);
|
|
43700
43700
|
export {
|
|
43701
43701
|
m4 as ScaffoldVuer
|
|
43702
43702
|
};
|
|
@@ -3455,4 +3455,4 @@ void main() {
|
|
|
3455
3455
|
state: () => new MyClass()
|
|
3456
3456
|
Found in store "${w.$id}".`),p&&s&&t.hydrate&&t.hydrate(w.$state,p),c=!0,f=!0,w}function kF(n,e,t){let i,r;const s=typeof e=="function";i=n,r=s?t:e;function o(l,u){const c=a.hasInjectionContext();if(l=(process.env.NODE_ENV==="test"&&Ha&&Ha._testing?null:l)||(c?a.inject(DF,null):null),l&&eu(l),process.env.NODE_ENV!=="production"&&!Ha)throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
|
|
3457
3457
|
See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
|
|
3458
|
-
This will fail in production.`);l=Ha,l._s.has(i)||(s?kf(i,e,r,l):Wx(i,r,l),process.env.NODE_ENV!=="production"&&(o._pinia=l));const f=l._s.get(i);if(process.env.NODE_ENV!=="production"&&u){const h="__hot:"+i,m=s?kf(h,e,r,l,!0):Wx(h,On({},r),l,!0);u._hotUpdate(m),delete l.state.value[h],l._s.delete(h)}if(process.env.NODE_ENV!=="production"&&ja){const h=a.getCurrentInstance();if(h&&h.proxy&&!u){const m=h.proxy,y="_pStores"in m?m._pStores:m._pStores={};y[i]=f}}return f}return o.$id=i,o}function jx(n,e){return Array.isArray(e)?e.reduce((t,i)=>(t[i]=function(){return n(this.$pinia)[i]},t),{}):Object.keys(e).reduce((t,i)=>(t[i]=function(){const r=n(this.$pinia),s=e[i];return typeof s=="function"?s.call(this,r):r[s]},t),{})}const $x=kF("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(n){return n.userProfile.token}},actions:{setUserToken(n){this.userProfile.token=n}}}),zF={name:"ScaffoldTooltip",components:{Col:vn,CreateTooltiipContent:OF,ElIconDelete:ll,Icon:yt,Popover:Rl,Row:kn,Tooltip:ou.Tooltip},props:{createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}},label:{type:String,default:""},annotationDisplay:{type:Boolean,default:!1},region:{type:String,default:""},visible:{type:Boolean,default:!1},x:{type:Number,default:200},y:{type:Number,default:200}},inject:["scaffoldUrl"],provide(){return{userApiKey:this.userToken}},data:function(){return{display:!1,annotationEntry:{},ElIconDelete:a.shallowRef(ll)}},computed:{...jx($x,["userToken"]),position:function(){let n=40;return this.region&&(n=55),{left:this.x-40+"px",top:this.y-n+"px"}}},methods:{checkForDisplay:function(){if(this.visible&&this.label&&this.label!==""){if(this.display=!0,this.annotationDisplay){const n=this.region?this.region+"/":"";this.annotationEntry={featureId:n+this.label,resourceId:this.scaffoldUrl,resource:this.scaffoldUrl}}}else this.display=!1,this.annotationEntry={}},hideTriggered:function(){this.createData.toBeConfirmed&&this.$emit("cancel-create")}},watch:{label:{handler:function(){this.checkForDisplay()},immediate:!0},visible:{handler:function(){this.checkForDisplay()},immediate:!0},annotationDisplay:{handler:function(){this.checkForDisplay()},immediate:!0}}},UF={class:"tooltip-text"},GF={key:0,class:"tooltip-text"},HF={key:1,class:"delete-container"};function WF(n,e,t,i,r,s){const o=a.resolveComponent("CreateTooltiipContent"),l=a.resolveComponent("Tooltip"),u=vn,c=Ki,f=kn,h=Rl;return a.openBlock(),a.createElementBlock("div",{style:a.normalizeStyle(s.position),class:"region-tooltip"},[a.createVNode(h,{ref:"tooltip",visible:t.visible,placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tooltip-popper non-selectable","virtual-triggering":"",onHide:s.hideTriggered},{default:a.withCtx(()=>[a.createElementVNode("div",UF,a.toDisplayString(t.label),1),t.region?(a.openBlock(),a.createElementBlock("div",GF,"Region: "+a.toDisplayString(t.region),1)):a.createCommentVNode("",!0),a.withDirectives(a.createVNode(o,{createData:t.createData,onConfirmCreate:e[0]||(e[0]=m=>n.$emit("confirm-create",m)),onCancelCreate:e[1]||(e[1]=m=>n.$emit("cancel-create"))},null,8,["createData"]),[[a.vShow,t.createData.toBeConfirmed]]),a.withDirectives(a.createVNode(l,{class:"p-tooltip",ref:"annotationTooltip",annotationDisplay:!0,annotationEntry:n.annotationEntry},null,8,["annotationEntry"]),[[a.vShow,t.annotationDisplay&&!t.createData.toBeConfirmed]]),t.createData.toBeDeleted?(a.openBlock(),a.createElementBlock("div",HF,[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(u,{span:10},{default:a.withCtx(()=>[a.createTextVNode("Delete this feature?")]),_:1}),a.createVNode(u,{span:7},{default:a.withCtx(()=>[a.createVNode(c,{class:"delete-button",icon:n.ElIconDelete,onClick:e[2]||(e[2]=m=>n.$emit("confirm-delete"))},{default:a.withCtx(()=>[a.createTextVNode(" Delete ")]),_:1},8,["icon"])]),_:1}),a.createVNode(u,{span:6},{default:a.withCtx(()=>[a.createVNode(c,{class:"delete-button",onClick:e[3]||(e[3]=m=>n.$emit("cancel-create"))},{default:a.withCtx(()=>[a.createTextVNode(" Dismiss ")]),_:1})]),_:1})]),_:1})])):a.createCommentVNode("",!0)]),_:1},8,["visible","onHide"])],4)}const Zx=ui(zF,[["render",WF],["__scopeId","data-v-3042afd4"]]);/*! js-cookie v3.0.5 | MIT */function tu(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)n[i]=t[i]}return n}var jF={read:function(n){return n[0]==='"'&&(n=n.slice(1,-1)),n.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(n){return encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function zf(n,e){function t(r,s,o){if(!(typeof document>"u")){o=tu({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),r=encodeURIComponent(r).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var u in o)o[u]&&(l+="; "+u,o[u]!==!0&&(l+="="+o[u].split(";")[0]));return document.cookie=r+"="+n.write(s,r)+l}}function i(r){if(!(typeof document>"u"||arguments.length&&!r)){for(var s=document.cookie?document.cookie.split("; "):[],o={},l=0;l<s.length;l++){var u=s[l].split("="),c=u.slice(1).join("=");try{var f=decodeURIComponent(u[0]);if(o[f]=n.read(c,f),r===f)break}catch{}}return r?o[r]:o}}return Object.create({set:t,get:i,remove:function(r,s){t(r,"",tu({},s,{expires:-1}))},withAttributes:function(r){return zf(this.converter,tu({},this.attributes,r))},withConverter:function(r){return zf(tu({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(n)}})}var Uf=zf(jF,{path:"/"}),di=function(n,e,t,i,r){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?r.call(n,t):r?r.value=t:e.set(n,t),t},St=function(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)},zi,$a,hi,rn,Tr;const $F=1e4;class ZF{constructor(e){zi.add(this),$a.set(this,void 0),hi.set(this,null),rn.set(this,null),e.slice(-1)==="/"?di(this,$a,e.slice(0,-1),"f"):di(this,$a,e,"f")}get currentUser(){return St(this,hi,"f")}get currentError(){return St(this,rn,"f")}async authenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await St(this,zi,"m",Tr).call(this,e,"authenticate");return"error"in t?(Uf.remove("annotation-key"),Promise.resolve(St(this,rn,"f"))):(Uf.set("annotation-key",t.session,{secure:!0,expires:1}),di(this,hi,t.data,"f"),Promise.resolve(St(this,hi,"f")))}async unauthenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await St(this,zi,"m",Tr).call(this,e,"unauthenticate");return"success"in t?Promise.resolve(t):Promise.resolve(St(this,rn,"f"))}async annotatedItemIds(e,t,i,r){const s={resource:t};i!==void 0&&(s.user=i),r!==void 0&&(s.participated=r);const o=await St(this,zi,"m",Tr).call(this,e,"items/","GET",s);return"error"in o?Promise.resolve(St(this,rn,"f")):Promise.resolve(o)}async drawnFeatures(e,t,i){const r={resource:t};i!==void 0&&(r.items=i);const s=await St(this,zi,"m",Tr).call(this,e,"features/","GET",r);return"error"in s?Promise.resolve(St(this,rn,"f")):Promise.resolve(s)}async itemAnnotations(e,t,i){const r=await St(this,zi,"m",Tr).call(this,e,"annotations/","GET",{resource:t,item:i});return"error"in r?Promise.resolve(St(this,rn,"f")):Promise.resolve(r)}async annotation(e,t){const i=await St(this,zi,"m",Tr).call(this,e,"annotation/","GET",{annotation:t});return"error"in i?Promise.resolve(St(this,rn,"f")):Promise.resolve(i)}async addAnnotation(e,t){if(St(this,hi,"f")&&St(this,hi,"f").canUpdate){const i=Object.assign({creator:St(this,hi,"f"),created:new Date().toISOString()},t),r=await St(this,zi,"m",Tr).call(this,e,"annotation/","POST",{data:i});if(!("error"in r))return Promise.resolve(r);di(this,rn,r,"f")}else di(this,rn,{error:"user cannot add annotation"},"f");return Promise.resolve(St(this,rn,"f"))}}$a=new WeakMap,hi=new WeakMap,rn=new WeakMap,zi=new WeakSet,Tr=async function(e,t,i="GET",r={}){let s=!0;const o=new AbortController;setTimeout(()=>{s&&(console.log("Annotation server timeout..."),o.abort())},$F);const l={method:i,signal:o.signal};let u=`${St(this,$a,"f")}/${t}`;const c=Uf.get("annotation-key")||"";if(i==="GET"){const h=[];for(const[m,y]of Object.entries(r))h.push(`${m}=${encodeURIComponent(JSON.stringify(y))}`);h.push(`key=${encodeURIComponent(e)}`),h.push(`session=${encodeURIComponent(c)}`),u+="?"+h.join("&"),l.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(i==="POST"){const h=Object.assign({key:e,session:c},r);l.body=JSON.stringify(h),l.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const f=await fetch(u,l);return s=!1,f.ok?Promise.resolve(await f.json()):(di(this,rn,{error:`${f.status} ${f.statusText}`},"f"),Promise.resolve(St(this,rn,"f")))};const Za={ALL:0,SELECTED:1,HIGHLIGHTED:2,MOVE:3},XF=function(n,e,t){this.eventType=n,this.identifiers=e,this.zincObjects=t},YF=function(n,e,t){this.targetedID=[];const i=n,r=e;this.targetEventType=t;const s=this;t===void 0&&(this.targetEventType=Za.ALL),this.getEventType=function(){return t},this.notify=function(o,l,u,c){if(o!==i&&(s.targetEventType===Za.ALL||s.targetEventType===l)){const f=new XF(l,u,c);r(f)}}},JF=function(){const n=[];this.publish=function(e,t,i,r){for(let s=0;s<n.length;s++)n[s].notify(e,t,i,r)},this.subscribe=function(e,t,i){if(typeof t=="function"){const r=new YF(e,t,i);return n.push(r),r}},this.unsubscribe=function(e){for(let t=0;t<n.length;t++)if(e===n[t]){n.splice(t,1);return}}},Xx={isWebGLAvailable:function(){try{var n=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(n.getContext("webgl")||n.getContext("experimental-webgl")))}catch{return!1}},isWebGL2Available:function(){try{var n=document.createElement("canvas");return!!(window.WebGL2RenderingContext&&n.getContext("webgl2"))}catch{return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(n){var e={1:"WebGL",2:"WebGL 2"},t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},i='This module requires <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#008">$1</a> support but your $0 does not seem to support it.',r=document.createElement("div");return r.id="webglmessage",r.style.fontFamily="monospace",r.style.fontSize="20px",r.style.fontWeight="normal",r.style.textAlign="center",r.style.background="#fff",r.style.color="#000",r.style.padding="1.5em",r.style.width="400px",r.style.margin="5em auto 0",t[n]?i=i.replace("$0","graphics card"):i=i.replace("$0","browser"),i=i.replace("$1",e[n]),r.innerHTML=i,r}},Gf={ALL:0,DESTROYED:1,NAME_CHANGED:2,SETTINGS_CHANGED:3},Tn=function(){this.typeName="Base Module",this.instanceName="default",this.onChangedCallbacks=[],this.eventNotifiers=[]};Tn.prototype.setName=function(n){if(n&&this.instanceName!==n){this.instanceName=n;const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,Gf.NAME_CHANGED)}},Tn.prototype.settingsChanged=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,Gf.SETTINGS_CHANGED)},Tn.prototype.exportSettings=function(){const n={};return n.dialog=this.typeName,n.name=this.instanceName,n},Tn.prototype.importSettings=function(n){return n.dialog==this.typeName?(this.setName(n.name),!0):!1},Tn.prototype.publishChanges=function(n,e,t){for(let i=0;i<this.eventNotifiers.length;i++)this.eventNotifiers[i].publish(this,e,n,t)},Tn.prototype.getName=function(){return this.instanceName},Tn.prototype.destroy=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,Gf.DESTROYED);delete this},Tn.prototype.addChangedCallback=function(n){this.onChangedCallbacks.includes(n)==!1&&this.onChangedCallbacks.push(n)},Tn.prototype.removeChangedCallback=function(n){const e=this.onChangedCallbacks.indexOf(n);e>-1&&this.onChangedCallbacks.splice(e,1)},Tn.prototype.addNotifier=function(n){this.eventNotifiers.push(n)};const nu=(n,e,t)=>{for(let i=0;i<n.length;i++)if(n[i]&&n[i].material&&n[i].material.emissive){let r=n[i].userData;r&&r.isZincObject?r.setEmissiveRGB(e):n[i].material&&n[i].material.emissive&&n[i].material.emissive.setRGB(...e),t&&n[i].material.depthFunc&&(n[i].material.depthFunc=_r.THREE.LessEqualDepth),n[i].children.forEach(s=>{const o=s.userData;o&&o.isZincObject&&s.material&&s.material.emissive&&s.material.emissive.setRGB(...e)})}},qF=function(){let n=[],e=[];this.highlightColour=[1,0,0],this.selectColour=[0,1,0],this.originalColour=[0,0,0];const t=[],i=[],r=this,s=function(u,c){if(u.length==0&&c.length==0)return!1;for(let f=0;f<u.length;f++){let h=!1;for(let m=0;m<c.length;m++)u[f]===c[m]&&(h=!0);if(!h)return!0}for(let f=0;f<c.length;f++){let h=!1;for(let m=0;m<u.length;m++)c[f]===u[m]&&(h=!0);if(!h)return!0}return!1},o=function(u,c){if(t.length=0,c.length==0)return u;for(let f=0;f<u.length;f++){let h=!1;for(let m=0;m<c.length;m++)u[f]===c[m]&&(h=!0);h||t.push(u[f])}return t};this.setHighlighted=function(u){const c=[...n];r.resetHighlighted();const f=o(u,e),h=l(f);return nu(h,r.highlightColour,!1),n=f,s(n,c)},this.setSelected=function(u){const c=[...e];r.resetHighlighted(),r.resetSelected();const f=l(u);return nu(f,r.selectColour,!1),e=u,s(e,c)};const l=function(u){i.length=0;for(let c=0;c<u.length;c++)u[c].material&&i.push(u[c]);return i};this.resetHighlighted=function(){const u=l(n);nu(u,r.originalColour,!0),n=[]},this.resetSelected=function(){const u=l(e);nu(u,r.originalColour,!0),e=[]},this.getSelected=function(){return e},this.reset=function(){r.resetSelected(),r.resetHighlighted()}},Hf=qc.THREE,KF=function(){const n=document.createElement("div");let e;if(n.style.height="100%",Xx.isWebGLAvailable())e=new qc.Renderer(n,window),qc.defaultMaterialColor=16777116,e.initialiseVisualisation(),e.playAnimation=!1;else{const t=Xx.getWebGLErrorMessage();n.appendChild(t)}return{Zinc:qc,renderer:e,container:n}},_t=function(){Tn.call(this),this.scene=void 0,this.rendererContainer=void 0,this.displayArea=void 0,this.graphicsHighlight=new qF,this.selectObjectOnPick=!0,this.zincRenderer=null,this.selectedScreenCoordinates=new Hf.Vector3,this.selectedCenter=void 0,this.liveUpdatesObjects=void 0,this.ignorePreviousSelected=!1};_t.prototype=Object.create(Tn.prototype),_t.prototype.getIntersectedObject=function(n){if(n){const e=n.map(i=>{if(i&&i.object&&i.object.userData){if(i.object.userData.isMarker)return 1;if(i.object.name&&i.object.userData.isZincObject)return 2}return 0});let t=e.indexOf(1);return t=t>-1?t:e.indexOf(2),n[t]}},_t.prototype.getAnnotationsFromObjects=function(n){const e=[];for(var t=0;t<n.length;t++){const i=n[t].userData;let r;if(i){if(i.isGlyph||i.isGlyphset){let s=i;i.isGlyph&&(s=i.getGlyphset()),r=s.userData?s.userData.annotation:void 0,r&&r.data&&(n[t].name&&n[t].name!=""?r.data.id=n[t].name:r.data.id=s.groupName)}else r=i.userData?i.userData.annotation:void 0,r&&r.data&&(r.data.id=n[t].name);r&&(r.data.zincObject=i)}r&&e.push(r)}return e},_t.prototype.setHighlightedByObjects=function(n,e,t,i){const r=this.graphicsHighlight.setHighlighted(n),s=this.objectsToZincObjects(n);if(i){let o=Za.MOVE;r&&(o=Za.HIGHLIGHTED);const l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}return r},_t.prototype.setHighlightedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{s&&s.getMorph()&&r.push(s.getMorph())}),this.setHighlightedByObjects(r,e,t,i)},_t.prototype.setupLiveCoordinates=function(n){if(this.liveUpdatesObjects=n,n&&n.length>0){const e=this.scene.getBoundingBoxOfZincObjects(n);let t=new Hf.Vector3;e?(e.getCenter(t),this.selectedCenter==null?this.selectedCenter=t:this.selectedCenter.copy(t)):this.selectedCenter=void 0}else this.selectedCenter=void 0},_t.prototype.objectsToZincObjects=function(n){const e=[];for(let t=0;t<n.length;t++){let i=n[t].userData;if(i)if(i.isGlyph||i.isGlyphset){let r=i;i.isGlyph&&(r=i.getGlyphset()),e.push(r)}else e.push(i)}return e},_t.prototype.setSelectedByObjects=function(n,e,t,i){let r=!1;if(this.selectObjectOnPick?r=this.graphicsHighlight.setSelected(n):r=!0,r||this.ignorePreviousSelected){const s=this.objectsToZincObjects(n);if(this.selectObjectOnPick&&this.setupLiveCoordinates(s),i){const o=Za.SELECTED,l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}}return r},_t.prototype.setSelectedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{if(s){const o=s.getMorph();o&&r.push(o)}}),this.setSelectedByObjects(r,e,t,i)},_t.prototype.findObjectsByGroupName=function(n){return this.scene.findObjectsWithGroupName(n)},_t.prototype.setHighlightedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setHighlightedByObjects(t,void 0,{},e)},_t.prototype.setSelectedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setSelectedByObjects(t,void 0,{},e)},_t.prototype.changeBackgroundColour=function(n){const e=new Hf.Color(n);this.zincRenderer&&this.zincRenderer.getThreeJSRenderer().setClearColor(e,1)},_t.prototype.resetView=function(){this.zincRenderer&&this.zincRenderer.resetView()},_t.prototype.viewAll=function(){this.zincRenderer&&this.zincRenderer.viewAll()},_t.prototype.playAnimation=function(n){this.zincRenderer&&(this.zincRenderer.playAnimation=n)},_t.prototype.setPlayRate=function(n){this.zincRenderer&&this.zincRenderer.setPlayRate(n)},_t.prototype.getPlayRate=function(n){return this.zincRenderer?this.zincRenderer.getPlayRate():0},_t.prototype.initialiseRenderer=function(n){if(this.zincRenderer===void 0||this.rendererContainer===void 0){let e=KF();this.Zinc=e.Zinc,this.zincRenderer=e.renderer,this.rendererContainer=e.container}n&&(this.displayArea=n,this.displayArea.appendChild(this.rendererContainer),this.zincRenderer&&this.zincRenderer.animate())},_t.prototype.destroy=function(){this.zincRenderer&&(this.zincRenderer.dispose(),this.zincRenderer.getThreeJSRenderer().dispose(),this.zincRenderer=void 0),Tn.prototype.destroy.call(this)};const QF=function(){this.type="anatomical",this.data=void 0,this.isAnnotation=!0},eV=function(){this.currentName="",this.currentSystem="",this.currentPart="",this.currentSpecies="",this.metaURL="",this.viewURL="",this.timeVarying=!1,this.currentTime=0},Yx=function(n){_t.call(this);const e=this;let t;this.sceneData=new eV;const i=new Array,r=new Array,s=new Array,o=new Array;let l;const u=n;this.NDCCameraControl=void 0,e.typeName="Organ Viewer",this.getSceneData=function(){return e.sceneData},this.updateTime=function(T){let C=6e3;e.scene&&(C=e.scene.getDuration());const R=T/100*C;e.sceneData.nerveMapIsActive||e.scene&&e.scene.setMorphsTime(R),e.sceneData.currentTime=T};const c=function(){let T=3e3;e.scene&&(T=e.scene.getDuration());const C=e.zincRenderer.getCurrentTime();for(let R=0;R<i.length;R++)i[R](C);!e.sceneData.nerveMapIsActive&&t&&t.setMorphsTime(C),e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setTime(C/T),e.sceneData.currentTime=C/T*100};this.getCurrentTime=function(){return e.sceneData.currentTime},this.toggleSyncControl=(T,C)=>{let R=this.scene.getZincCameraControls();T?(R.resetView(),this.NDCCameraControl=R.enableSyncControl(),R.setRotationMode(C)):(R.disableSyncControl(),this.NDCCameraControl=void 0,R.setRotationMode("free"))},this.isSyncControl=()=>this.NDCCameraControl!==void 0,this.setSyncControlZoomToBox=T=>{this.NDCCameraControl&&this.NDCCameraControl.zoomToBox(T,2)},this.setSyncControlCallback=T=>{this.NDCCameraControl&&this.NDCCameraControl.setEventCallback(T)},this.setSyncControlCenterZoom=(T,C)=>{this.NDCCameraControl&&this.NDCCameraControl.setCenterZoom(T,C)};const f=function(){if(e.zincRenderer.playAnimation&&e.liveUpdatesObjects&&e.setupLiveCoordinates(e.liveUpdatesObjects),e.selectedCenter){const T=new _r.THREE.Vector3;T.copy(e.selectedCenter);const C=e.scene.vectorToScreenXY(T);e.selectedScreenCoordinates.x=C.x,e.selectedScreenCoordinates.y=C.y}},h=function(){return function(){c()}},m=function(){return function(){f()}};this.addTimeChangedCallback=function(T){i.push(T)},this.setTexturePos=function(T){e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setSliderPos(T)},this.addSceneChangedCallback=function(T){r.push(T)},this.addOrganPartAddedCallback=function(T){s.push(T)},this.addOrganPartRemovedCallback=function(T){o.push(T)},this.setFinishDownloadCallback=function(T){l=T},this.unsetFinishDownloadCallback=function(){l=void 0},this.getNamedObjectsToScreenCoordinates=function(T,C){const R=new _r.THREE.Vector3;R.setFromMatrixPosition(obj.matrixWorld);const P=width/2,L=height/2;return R.project(C),R.x=R.x*P+P,R.y=-(R.y*L)+L,R};const y=function(T){let C,R;if(T!==void 0){let P=!1;T.object.userData&&T.object.userData.isMarker?(P=!0,R=T.object.userData.parent.getMorph()):R=T.object;try{R.userData.userData.annotation.data.lastActionOnMarker=P}finally{}if(R)if(R.name)C=R.name;else{const L=e.getAnnotationsFromObjects([R]);L&&L[0]&&(C=L[0].data.group)}}return{id:C,object:R}},p=function(){return function(T,C,R){var O;const P=e.getIntersectedObject(T),L=y(P),A={worldCoords:[P?P.point.x:0,P?P.point.y:0,P?P.point.z:0],intersected:P,intersects:T},I={x:C,y:R};if(L.id){A.threeID=(O=L.object)==null?void 0:O.id,L.object.userData.isGlyph?L.object.name?e.setSelectedByObjects([L.object],I,A,!0):e.setSelectedByZincObjects(L.object.userData.getGlyphset(),I,A,!0):e.setSelectedByObjects([L.object],I,A,!0);return}else e.setSelectedByObjects([],I,A,!0)}},d=function(){return function(T,C,R){var O;const P=e.getIntersectedObject(T),L=y(P),A={worldCoords:[P?P.point.x:0,P?P.point.y:0,P?P.point.z:0]},I={x:C,y:R};if(L.id){A.threeID=(O=L.object)==null?void 0:O.id,e.displayArea.style.cursor="pointer",e.setHighlightedByObjects([L.object],I,A,!0);return}else e.displayArea.style.cursor="auto",e.setHighlightedByObjects([],I,A,!0)}},b=function(T,C,R,P){if(P=="all"||P=="geometries"){const L=T.findGeometriesWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}if(P=="all"||P=="glyphsets"){const L=T.findGlyphsetsWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}if(P=="all"||P=="pointsets"){const L=T.findPointsetsWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}if(P=="all"||P=="lines"){const L=T.findLinesWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}};this.changeGeometriesVisibility=function(T,C){b(e.scene,T,C,"geometries")},this.changeGlyphsetsVisibility=function(T,C){b(e.scene,T,C,"glyphsets")},this.changeLinesVisibility=function(T,C){b(e.scene,T,C,"lines")},this.changePointsetsVisibility=function(T,C){b(e.scene,T,C,"pointsets")},this.changeOrganPartsVisibility=function(T,C,R){let P="all";R!==void 0&&(P=R),b(e.scene,T,C,P)},this.changeOrganPartsVisibilityCallback=function(T){return function(C){e.changeOrganPartsVisibility(T,C)}},this.changeBackgroundColour=function(T){const C=new _r.THREE.Color(T);e.zincRenderer&&e.zincRenderer.getThreeJSRenderer().setClearColor(C,1)};const v=function(T,C,R,P){for(let I=0;I<s.length;I++)s[I](P,e.scene.isTimeVarying());const L=new QF,A=P.region.getFullPath();L.data={species:e.sceneData.currentSpecies,system:T,part:C,group:P.groupName,region:A,uuid:P.uuid,lastActionOnMarker:!1},P.userData.annotation=L},g=function(T,C,R,P){for(let L=0;L<o.length;L++)o[L](P)},M=function(T,C,R){return function(P){v(T,C,R,P)}},_=function(T,C,R){return function(P){g(T,C,R,P)}},E=function(){return function(){e.settingsChanged(),e.sceneData.timeVarying=e.scene.isTimeVarying(),l&&l()}};this.updateFieldvisibility=function(T,C){for(let R=0;R<T.length;R++)if(C!=R){const P=T[R].PartName;e.changeOrganPartsVisibility(P,!1)}if(C>-1){const R=T[C].PartName;if(e.scene.findGeometriesWithGroupName(R).length>0||e.scene.findGlyphsetsWithGroupName(R).length>0)e.changeOrganPartsVisibility(R,!0);else{const P=getOrganDetails(T[C].SystemName,R);P!=null&&e.scene.loadMetadataURL(u.getOrgansDirectoryPrefix()+"/"+P.meta)}}},this.getAvailableSpecies=function(T,C,R){const P=new Array;P.push("none");const L=Object.keys(organsFileMap);for(index in L){const A=L[index];A!=T&&organsFileMap[A].hasOwnProperty(C)&&organsFileMap[A][C].hasOwnProperty(R)&&P.push(A)}return P},this.getCentreAndSize=function(){const T=new _r.THREE.Vector3,C=this.scene.getBoundingBox();C.getCenter(T);const R=[T.x,T.y,T.z];C.getSize(T);const P=[T.x,T.y,T.z];return{centre:R,size:P}};const S=function(T,C,R,P){e.sceneData.nerveMapIsActive=!1,e.sceneData.nerveMap=void 0,e.sceneData.metaURL="",e.sceneData.viewURL="",e.sceneData.currentSpecies=T,e.sceneData.currentSystem=C,e.sceneData.currentPart=R,e.sceneData.currentTime=0,e.sceneData.timeVarying=!1;let L="";T&&(L=T+"/"),C&&(L=C+"/"),R&&(L=R),e.sceneData.currentName=L};this.loadOrgansFromURL=function(T,C,R,P,L,A){if(e.zincRenderer&&P&&e.sceneData.metaURL!==T){S(C,R,P);const I=e.sceneData.currentName;let O=e.zincRenderer.getSceneByName(I);O?A&&O.clearAll():O=e.zincRenderer.createScene(I),e.selectObjectOnPick=!0;for(let N=0;N<r.length;N++)r[N](e.sceneData);L&&L!=""?(e.sceneData.viewURL=L,O.loadViewURL(e.sceneData.viewURL)):e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,O.addZincObjectAddedCallbacks(M(R,P,!1)),O.addZincObjectRemovedCallbacks(_(void 0,P,!1)),O.loadMetadataURL(T,void 0,E()),e.scene=O,e.zincRenderer.setCurrentScene(O),e.graphicsHighlight.reset();const x=O.getZincCameraControls();x.enableRaycaster(O,p(),d()),x.setMouseButtonAction("AUXILIARY","ZOOM"),x.setMouseButtonAction("SECONDARY","PAN")}},this.loadGLTFFromURL=function(T,C,R){if(e.zincRenderer&&C&&e.sceneData.metaURL!==T){S(void 0,void 0,C);const P=e.sceneData.currentName;let L=e.zincRenderer.getSceneByName(P);L?R&&L.clearAll():L=e.zincRenderer.createScene(P);for(let I=0;I<r.length;I++)r[I](e.sceneData);e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,L.addZincObjectAddedCallbacks(M(void 0,C,!1)),L.addZincObjectRemovedCallbacks(_(void 0,C,!1)),L.loadGLTF(T,void 0,E()),e.scene=L,e.zincRenderer.setCurrentScene(L),e.graphicsHighlight.reset();const A=L.getZincCameraControls();A.enableRaycaster(L,p(),d()),A.setMouseButtonAction("AUXILIARY","ZOOM"),A.setMouseButtonAction("SECONDARY","PAN")}},this.alignCameraWithSelectedObject=function(T){const C=e.graphicsHighlight.getSelected();C&&C[0]&&C[0].userData&&e.scene.alignObjectToCameraView(C[0].userData,T)},this.exportSettings=function(){const T={};return T.name=e.instanceName,e.sceneData.currentSystem&&(T.system=e.sceneData.currentSystem),e.sceneData.currentSpecies&&(T.species=e.sceneData.currentSpecies),e.sceneData.currentPart&&(T.part=e.sceneData.currentPart),T.metaURL=e.sceneData.metaURL,e.sceneData.viewURL&&(T.viewURL=e.sceneData.viewURL),T.dialog="Organ Viewer",T},this.importSettings=function(T){return T&&T.dialog==this.typeName?(e.setName(T.name),T.metaURL!==void 0&&T.metaURL!=""?e.loadOrgansFromURL(T.metaURL,T.species,T.system,T.part,T.viewURL,!0):e.loadOrgans(T.species,T.system,T.part),!0):!1},function(){e.initialiseRenderer(void 0),e.zincRenderer&&(e.zincRenderer.addPreRenderCallbackFunction(h()),e.zincRenderer.addPostRenderCallbackFunction(m()))}()};Yx.prototype=Object.create(_t.prototype);var dt=function(){return dt=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},dt.apply(this,arguments)};function tV(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function l(f){try{c(i.next(f))}catch(h){o(h)}}function u(f){try{c(i.throw(f))}catch(h){o(h)}}function c(f){f.done?s(f.value):r(f.value).then(l,u)}c((i=i.apply(n,[])).next())})}function nV(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(c){return function(f){return u([c,f])}}function u(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(s=c[0]&2?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(f){c=[6,f],r=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Ze(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Dt(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}typeof SuppressedError=="function"&&SuppressedError;var iV="ENTRIES",Jx="KEYS",qx="VALUES",Qt="",Wf=function(){function n(e,t){var i=e._tree,r=Array.from(i.keys());this.set=e,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return n.prototype.next=function(){var e=this.dive();return this.backtrack(),e},n.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=Po(this._path),t=e.node,i=e.keys;if(Po(i)===Qt)return{done:!1,value:this.result()};var r=t.get(Po(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},n.prototype.backtrack=function(){if(this._path.length!==0){var e=Po(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},n.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return Po(t)}).filter(function(e){return e!==Qt}).join("")},n.prototype.value=function(){return Po(this._path).node.get(Qt)},n.prototype.result=function(){switch(this._type){case qx:return this.value();case Jx:return this.key();default:return[this.key(),this.value()]}},n.prototype[Symbol.iterator]=function(){return this},n}(),Po=function(n){return n[n.length-1]},rV=function(n,e,t){var i=new Map;if(e===void 0)return i;for(var r=e.length+1,s=r+t,o=new Uint8Array(s*r).fill(t+1),l=0;l<r;++l)o[l]=l;for(var u=1;u<s;++u)o[u*r]=u;return Kx(n,e,t,i,o,1,r,""),i},Kx=function(n,e,t,i,r,s,o,l){var u,c,f=s*o;try{e:for(var h=Ze(n.keys()),m=h.next();!m.done;m=h.next()){var y=m.value;if(y===Qt){var p=r[f-1];p<=t&&i.set(l,[n.get(y),p])}else{for(var d=s,b=0;b<y.length;++b,++d){for(var v=y[b],g=o*d,M=g-o,_=r[g],E=Math.max(0,d-t-1),S=Math.min(o-1,d+t),w=E;w<S;++w){var T=v!==e[w],C=r[M+w]+ +T,R=r[M+w+1]+1,P=r[g+w]+1,L=r[g+w+1]=Math.min(C,R,P);L<_&&(_=L)}if(_>t)continue e}Kx(n.get(y),e,t,i,r,d,o,l+y)}}}catch(A){u={error:A}}finally{try{m&&!m.done&&(c=h.return)&&c.call(h)}finally{if(u)throw u.error}}},jf=function(){function n(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return n.prototype.atPrefix=function(e){var t,i;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=Dt(iu(this._tree,e.slice(this._prefix.length)),2),s=r[0],o=r[1];if(s===void 0){var l=Dt(Xf(o),2),u=l[0],c=l[1];try{for(var f=Ze(u.keys()),h=f.next();!h.done;h=f.next()){var m=h.value;if(m!==Qt&&m.startsWith(c)){var y=new Map;return y.set(m.slice(c.length),u.get(m)),new n(y,e)}}}catch(p){t={error:p}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(t)throw t.error}}}return new n(s,e)},n.prototype.clear=function(){this._size=void 0,this._tree.clear()},n.prototype.delete=function(e){return this._size=void 0,sV(this._tree,e)},n.prototype.entries=function(){return new Wf(this,iV)},n.prototype.forEach=function(e){var t,i;try{for(var r=Ze(this),s=r.next();!s.done;s=r.next()){var o=Dt(s.value,2),l=o[0],u=o[1];e(l,u,this)}}catch(c){t={error:c}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.fuzzyGet=function(e,t){return rV(this._tree,e,t)},n.prototype.get=function(e){var t=$f(this._tree,e);return t!==void 0?t.get(Qt):void 0},n.prototype.has=function(e){var t=$f(this._tree,e);return t!==void 0&&t.has(Qt)},n.prototype.keys=function(){return new Wf(this,Jx)},n.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Zf(this._tree,e);return i.set(Qt,t),this},Object.defineProperty(n.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),n.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Zf(this._tree,e);return i.set(Qt,t(i.get(Qt))),this},n.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Zf(this._tree,e),r=i.get(Qt);return r===void 0&&i.set(Qt,r=t()),r},n.prototype.values=function(){return new Wf(this,qx)},n.prototype[Symbol.iterator]=function(){return this.entries()},n.from=function(e){var t,i,r=new n;try{for(var s=Ze(e),o=s.next();!o.done;o=s.next()){var l=Dt(o.value,2),u=l[0],c=l[1];r.set(u,c)}}catch(f){t={error:f}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},n.fromObject=function(e){return n.from(Object.entries(e))},n}(),iu=function(n,e,t){var i,r;if(t===void 0&&(t=[]),e.length===0||n==null)return[n,t];try{for(var s=Ze(n.keys()),o=s.next();!o.done;o=s.next()){var l=o.value;if(l!==Qt&&e.startsWith(l))return t.push([n,l]),iu(n.get(l),e.slice(l.length),t)}}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return t.push([n,e]),iu(void 0,"",t)},$f=function(n,e){var t,i;if(e.length===0||n==null)return n;try{for(var r=Ze(n.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;if(o!==Qt&&e.startsWith(o))return $f(n.get(o),e.slice(o.length))}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Zf=function(n,e){var t,i,r=e.length;e:for(var s=0;n&&s<r;){try{for(var o=(t=void 0,Ze(n.keys())),l=o.next();!l.done;l=o.next()){var u=l.value;if(u!==Qt&&e[s]===u[0]){for(var c=Math.min(r-s,u.length),f=1;f<c&&e[s+f]===u[f];)++f;var h=n.get(u);if(f===u.length)n=h;else{var m=new Map;m.set(u.slice(f),h),n.set(e.slice(s,s+f),m),n.delete(u),n=m}s+=f;continue e}}}catch(p){t={error:p}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var y=new Map;return n.set(e.slice(s),y),y}return n},sV=function(n,e){var t=Dt(iu(n,e),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(Qt),i.size===0)Qx(r);else if(i.size===1){var s=Dt(i.entries().next().value,2),o=s[0],l=s[1];ew(r,o,l)}}},Qx=function(n){if(n.length!==0){var e=Dt(Xf(n),2),t=e[0],i=e[1];if(t.delete(i),t.size===0)Qx(n.slice(0,-1));else if(t.size===1){var r=Dt(t.entries().next().value,2),s=r[0],o=r[1];s!==Qt&&ew(n.slice(0,-1),s,o)}}},ew=function(n,e,t){if(n.length!==0){var i=Dt(Xf(n),2),r=i[0],s=i[1];r.set(s+e,t),r.delete(s)}},Xf=function(n){return n[n.length-1]},Xa,Yf="or",tw="and",oV="and_not",aV=function(){function n(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');var t=e.autoVacuum==null||e.autoVacuum===!0?ep:e.autoVacuum;this._options=dt(dt(dt({},qf),e),{autoVacuum:t,searchOptions:dt(dt({},nw),e.searchOptions||{}),autoSuggestOptions:dt(dt({},hV),e.autoSuggestOptions||{})}),this._index=new jf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Qf,this.addFields(this._options.fields)}return n.prototype.add=function(e){var t,i,r,s,o,l,u=this._options,c=u.extractField,f=u.tokenize,h=u.processTerm,m=u.fields,y=u.idField,p=c(e,y);if(p==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));if(this._idToShortId.has(p))throw new Error("MiniSearch: duplicate ID ".concat(p));var d=this.addDocumentId(p);this.saveStoredFields(d,e);try{for(var b=Ze(m),v=b.next();!v.done;v=b.next()){var g=v.value,M=c(e,g);if(M!=null){var _=f(M.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.addFieldLength(d,E,this._documentCount-1,S);try{for(var w=(r=void 0,Ze(_)),T=w.next();!T.done;T=w.next()){var C=T.value,R=h(C,g);if(Array.isArray(R))try{for(var P=(o=void 0,Ze(R)),L=P.next();!L.done;L=P.next()){var A=L.value;this.addTerm(E,d,A)}}catch(I){o={error:I}}finally{try{L&&!L.done&&(l=P.return)&&l.call(P)}finally{if(o)throw o.error}}else R&&this.addTerm(E,d,R)}}catch(I){r={error:I}}finally{try{T&&!T.done&&(s=w.return)&&s.call(w)}finally{if(r)throw r.error}}}}}catch(I){t={error:I}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}},n.prototype.addAll=function(e){var t,i;try{for(var r=Ze(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.add(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.addAllAsync=function(e,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,s=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},l=e.reduce(function(f,h,m){var y=f.chunk,p=f.promise;return y.push(h),(m+1)%s===0?{chunk:[],promise:p.then(function(){return new Promise(function(d){return setTimeout(d,0)})}).then(function(){return i.addAll(y)})}:{chunk:y,promise:p}},o),u=l.chunk,c=l.promise;return c.then(function(){return i.addAll(u)})},n.prototype.remove=function(e){var t,i,r,s,o,l,u=this._options,c=u.tokenize,f=u.processTerm,h=u.extractField,m=u.fields,y=u.idField,p=h(e,y);if(p==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));var d=this._idToShortId.get(p);if(d==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(p,": it is not in the index"));try{for(var b=Ze(m),v=b.next();!v.done;v=b.next()){var g=v.value,M=h(e,g);if(M!=null){var _=c(M.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.removeFieldLength(d,E,this._documentCount,S);try{for(var w=(r=void 0,Ze(_)),T=w.next();!T.done;T=w.next()){var C=T.value,R=f(C,g);if(Array.isArray(R))try{for(var P=(o=void 0,Ze(R)),L=P.next();!L.done;L=P.next()){var A=L.value;this.removeTerm(E,d,A)}}catch(I){o={error:I}}finally{try{L&&!L.done&&(l=P.return)&&l.call(P)}finally{if(o)throw o.error}}else R&&this.removeTerm(E,d,R)}}catch(I){r={error:I}}finally{try{T&&!T.done&&(s=w.return)&&s.call(w)}finally{if(r)throw r.error}}}}}catch(I){t={error:I}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}this._storedFields.delete(d),this._documentIds.delete(d),this._idToShortId.delete(p),this._fieldLength.delete(d),this._documentCount-=1},n.prototype.removeAll=function(e){var t,i;if(e)try{for(var r=Ze(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.remove(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new jf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},n.prototype.discard=function(e){var t=this,i=this._idToShortId.get(e);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,s){t.removeFieldLength(i,s,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},n.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,i=e.minDirtCount,r=e.batchSize,s=e.batchWait;this.conditionalVacuum({batchSize:r,batchWait:s},{minDirtCount:i,minDirtFactor:t})}},n.prototype.discardAll=function(e){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var s=Ze(e),o=s.next();!o.done;o=s.next()){var l=o.value;this.discard(l)}}catch(u){t={error:u}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},n.prototype.replace=function(e){var t=this._options,i=t.idField,r=t.extractField,s=r(e,i);this.discard(s),this.add(e)},n.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},n.prototype.conditionalVacuum=function(e,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=Qf,i.performVacuuming(e,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},n.prototype.performVacuuming=function(e,t){return tV(this,void 0,void 0,function(){var i,r,s,o,l,u,c,f,h,m,y,p,d,b,v,g,M,_,E,S,w,T,C,R,P;return nV(this,function(L){switch(L.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=e.batchSize||Kf.batchSize,s=e.batchWait||Kf.batchWait,o=1,L.label=1;case 1:L.trys.push([1,7,8,9]),l=Ze(this._index),u=l.next(),L.label=2;case 2:if(u.done)return[3,6];c=Dt(u.value,2),f=c[0],h=c[1];try{for(m=(T=void 0,Ze(h)),y=m.next();!y.done;y=m.next()){p=Dt(y.value,2),d=p[0],b=p[1];try{for(v=(R=void 0,Ze(b)),g=v.next();!g.done;g=v.next())M=Dt(g.value,1),_=M[0],!this._documentIds.has(_)&&(b.size<=1?h.delete(d):b.delete(_))}catch(A){R={error:A}}finally{try{g&&!g.done&&(P=v.return)&&P.call(v)}finally{if(R)throw R.error}}}}catch(A){T={error:A}}finally{try{y&&!y.done&&(C=m.return)&&C.call(m)}finally{if(T)throw T.error}}return this._index.get(f).size===0&&this._index.delete(f),o%r!==0?[3,4]:[4,new Promise(function(A){return setTimeout(A,s)})];case 3:L.sent(),L.label=4;case 4:o+=1,L.label=5;case 5:return u=l.next(),[3,2];case 6:return[3,9];case 7:return E=L.sent(),S={error:E},[3,9];case 8:try{u&&!u.done&&(w=l.return)&&w.call(l)}finally{if(S)throw S.error}return[7];case 9:this._dirtCount-=i,L.label=10;case 10:return[4,null];case 11:return L.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},n.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,i=e.minDirtFactor;return t=t||ep.minDirtCount,i=i||ep.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(n.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),n.prototype.has=function(e){return this._idToShortId.has(e)},n.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},n.prototype.search=function(e,t){var i,r;t===void 0&&(t={});var s=this.executeQuery(e,t),o=[];try{for(var l=Ze(s),u=l.next();!u.done;u=l.next()){var c=Dt(u.value,2),f=c[0],h=c[1],m=h.score,y=h.terms,p=h.match,d=y.length||1,b={id:this._documentIds.get(f),score:m*d,terms:Object.keys(p),queryTerms:y,match:p};Object.assign(b,this._storedFields.get(f)),(t.filter==null||t.filter(b))&&o.push(b)}}catch(v){i={error:v}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}return e===n.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(rw),o},n.prototype.autoSuggest=function(e,t){var i,r,s,o;t===void 0&&(t={}),t=dt(dt({},this._options.autoSuggestOptions),t);var l=new Map;try{for(var u=Ze(this.search(e,t)),c=u.next();!c.done;c=u.next()){var f=c.value,h=f.score,m=f.terms,y=m.join(" "),p=l.get(y);p!=null?(p.score+=h,p.count+=1):l.set(y,{score:h,terms:m,count:1})}}catch(E){i={error:E}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(i)throw i.error}}var d=[];try{for(var b=Ze(l),v=b.next();!v.done;v=b.next()){var g=Dt(v.value,2),p=g[0],M=g[1],h=M.score,m=M.terms,_=M.count;d.push({suggestion:p,terms:m,score:h/_})}}catch(E){s={error:E}}finally{try{v&&!v.done&&(o=b.return)&&o.call(b)}finally{if(s)throw s.error}}return d.sort(rw),d},Object.defineProperty(n.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),n.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},n.getDefault=function(e){if(qf.hasOwnProperty(e))return Jf(qf,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},n.loadJS=function(e,t){var i,r,s,o,l,u,c=e.index,f=e.documentCount,h=e.nextId,m=e.documentIds,y=e.fieldIds,p=e.fieldLength,d=e.averageFieldLength,b=e.storedFields,v=e.dirtCount,g=e.serializationVersion;if(g!==1&&g!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var M=new n(t);M._documentCount=f,M._nextId=h,M._documentIds=ru(m),M._idToShortId=new Map,M._fieldIds=y,M._fieldLength=ru(p),M._avgFieldLength=d,M._storedFields=ru(b),M._dirtCount=v||0,M._index=new jf;try{for(var _=Ze(M._documentIds),E=_.next();!E.done;E=_.next()){var S=Dt(E.value,2),w=S[0],T=S[1];M._idToShortId.set(T,w)}}catch(D){i={error:D}}finally{try{E&&!E.done&&(r=_.return)&&r.call(_)}finally{if(i)throw i.error}}try{for(var C=Ze(c),R=C.next();!R.done;R=C.next()){var P=Dt(R.value,2),L=P[0],A=P[1],I=new Map;try{for(var O=(l=void 0,Ze(Object.keys(A))),x=O.next();!x.done;x=O.next()){var N=x.value,B=A[N];g===1&&(B=B.ds),I.set(parseInt(N,10),ru(B))}}catch(D){l={error:D}}finally{try{x&&!x.done&&(u=O.return)&&u.call(O)}finally{if(l)throw l.error}}M._index.set(L,I)}}catch(D){s={error:D}}finally{try{R&&!R.done&&(o=C.return)&&o.call(C)}finally{if(s)throw s.error}}return M},n.prototype.executeQuery=function(e,t){var i=this;if(t===void 0&&(t={}),e===n.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var r=dt(dt(dt({},t),e),{queries:void 0}),s=e.queries.map(function(b){return i.executeQuery(b,r)});return this.combineResults(s,r.combineWith)}var o=this._options,l=o.tokenize,u=o.processTerm,c=o.searchOptions,f=dt(dt({tokenize:l,processTerm:u},c),t),h=f.tokenize,m=f.processTerm,y=h(e).flatMap(function(b){return m(b)}).filter(function(b){return!!b}),p=y.map(dV(f)),d=p.map(function(b){return i.executeQuerySpec(b,f)});return this.combineResults(d,f.combineWith)},n.prototype.executeQuerySpec=function(e,t){var i,r,s,o,l=dt(dt({},this._options.searchOptions),t),u=(l.fields||this._options.fields).reduce(function(N,B){var D;return dt(dt({},N),(D={},D[B]=Jf(l.boost,B)||1,D))},{}),c=l.boostDocument,f=l.weights,h=l.maxFuzzy,m=l.bm25,y=dt(dt({},nw.weights),f),p=y.fuzzy,d=y.prefix,b=this._index.get(e.term),v=this.termResults(e.term,e.term,1,b,u,c,m),g,M;if(e.prefix&&(g=this._index.atPrefix(e.term)),e.fuzzy){var _=e.fuzzy===!0?.2:e.fuzzy,E=_<1?Math.min(h,Math.round(e.term.length*_)):_;E&&(M=this._index.fuzzyGet(e.term,E))}if(g)try{for(var S=Ze(g),w=S.next();!w.done;w=S.next()){var T=Dt(w.value,2),C=T[0],R=T[1],P=C.length-e.term.length;if(P){M==null||M.delete(C);var L=d*C.length/(C.length+.3*P);this.termResults(e.term,C,L,R,u,c,m,v)}}}catch(N){i={error:N}}finally{try{w&&!w.done&&(r=S.return)&&r.call(S)}finally{if(i)throw i.error}}if(M)try{for(var A=Ze(M.keys()),I=A.next();!I.done;I=A.next()){var C=I.value,O=Dt(M.get(C),2),x=O[0],P=O[1];if(P){var L=p*C.length/(C.length+P);this.termResults(e.term,C,L,x,u,c,m,v)}}}catch(N){s={error:N}}finally{try{I&&!I.done&&(o=A.return)&&o.call(A)}finally{if(s)throw s.error}}return v},n.prototype.executeWildcardQuery=function(e){var t,i,r=new Map,s=dt(dt({},this._options.searchOptions),e);try{for(var o=Ze(this._documentIds),l=o.next();!l.done;l=o.next()){var u=Dt(l.value,2),c=u[0],f=u[1],h=s.boostDocument?s.boostDocument(f,"",this._storedFields.get(c)):1;r.set(c,{score:h,terms:[],match:{}})}}catch(m){t={error:m}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},n.prototype.combineResults=function(e,t){if(t===void 0&&(t=Yf),e.length===0)return new Map;var i=t.toLowerCase();return e.reduce(lV[i])||new Map},n.prototype.toJSON=function(){var e,t,i,r,s=[];try{for(var o=Ze(this._index),l=o.next();!l.done;l=o.next()){var u=Dt(l.value,2),c=u[0],f=u[1],h={};try{for(var m=(i=void 0,Ze(f)),y=m.next();!y.done;y=m.next()){var p=Dt(y.value,2),d=p[0],b=p[1];h[d]=Object.fromEntries(b)}}catch(v){i={error:v}}finally{try{y&&!y.done&&(r=m.return)&&r.call(m)}finally{if(i)throw i.error}}s.push([c,h])}}catch(v){e={error:v}}finally{try{l&&!l.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:s,serializationVersion:2}},n.prototype.termResults=function(e,t,i,r,s,o,l,u){var c,f,h,m,y;if(u===void 0&&(u=new Map),r==null)return u;try{for(var p=Ze(Object.keys(s)),d=p.next();!d.done;d=p.next()){var b=d.value,v=s[b],g=this._fieldIds[b],M=r.get(g);if(M!=null){var _=M.size,E=this._avgFieldLength[g];try{for(var S=(h=void 0,Ze(M.keys())),w=S.next();!w.done;w=S.next()){var T=w.value;if(!this._documentIds.has(T)){this.removeTerm(g,T,t),_-=1;continue}var C=o?o(this._documentIds.get(T),t,this._storedFields.get(T)):1;if(C){var R=M.get(T),P=this._fieldLength.get(T)[g],L=uV(R,_,this._documentCount,P,E,l),A=i*v*C*L,I=u.get(T);if(I){I.score+=A,fV(I.terms,e);var O=Jf(I.match,t);O?O.push(b):I.match[t]=[b]}else u.set(T,{score:A,terms:[e],match:(y={},y[t]=[b],y)})}}}catch(x){h={error:x}}finally{try{w&&!w.done&&(m=S.return)&&m.call(S)}finally{if(h)throw h.error}}}}}catch(x){c={error:x}}finally{try{d&&!d.done&&(f=p.return)&&f.call(p)}finally{if(c)throw c.error}}return u},n.prototype.addTerm=function(e,t,i){var r=this._index.fetch(i,sw),s=r.get(e);if(s==null)s=new Map,s.set(t,1),r.set(e,s);else{var o=s.get(t);s.set(t,(o||0)+1)}},n.prototype.removeTerm=function(e,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,e,i);return}var r=this._index.fetch(i,sw),s=r.get(e);s==null||s.get(t)==null?this.warnDocumentChanged(t,e,i):s.get(t)<=1?s.size<=1?r.delete(e):s.delete(t):s.set(t,s.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},n.prototype.warnDocumentChanged=function(e,t,i){var r,s;try{for(var o=Ze(Object.keys(this._fieldIds)),l=o.next();!l.done;l=o.next()){var u=l.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(i,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(c){r={error:c}}finally{try{l&&!l.done&&(s=o.return)&&s.call(o)}finally{if(r)throw r.error}}},n.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},n.prototype.addFields=function(e){for(var t=0;t<e.length;t++)this._fieldIds[e[t]]=t},n.prototype.addFieldLength=function(e,t,i,r){var s=this._fieldLength.get(e);s==null&&this._fieldLength.set(e,s=[]),s[t]=r;var o=this._avgFieldLength[t]||0,l=o*i+r;this._avgFieldLength[t]=l/(i+1)},n.prototype.removeFieldLength=function(e,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var s=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=s/(i-1)},n.prototype.saveStoredFields=function(e,t){var i,r,s=this._options,o=s.storeFields,l=s.extractField;if(!(o==null||o.length===0)){var u=this._storedFields.get(e);u==null&&this._storedFields.set(e,u={});try{for(var c=Ze(o),f=c.next();!f.done;f=c.next()){var h=f.value,m=l(t,h);m!==void 0&&(u[h]=m)}}catch(y){i={error:y}}finally{try{f&&!f.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}},n.wildcard=Symbol("*"),n}(),Jf=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0},lV=(Xa={},Xa[Yf]=function(n,e){var t,i;try{for(var r=Ze(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value,l=n.get(o);if(l==null)n.set(o,e.get(o));else{var u=e.get(o),c=u.score,f=u.terms,h=u.match;l.score=l.score+c,l.match=Object.assign(l.match,h),iw(l.terms,f)}}}catch(m){t={error:m}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},Xa[tw]=function(n,e){var t,i,r=new Map;try{for(var s=Ze(e.keys()),o=s.next();!o.done;o=s.next()){var l=o.value,u=n.get(l);if(u!=null){var c=e.get(l),f=c.score,h=c.terms,m=c.match;iw(u.terms,h),r.set(l,{score:u.score+f,terms:u.terms,match:Object.assign(u.match,m)})}}}catch(y){t={error:y}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},Xa[oV]=function(n,e){var t,i;try{for(var r=Ze(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;n.delete(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},Xa),cV={k:1.2,b:.7,d:.5},uV=function(n,e,t,i,r,s){var o=s.k,l=s.b,u=s.d,c=Math.log(1+(t-e+.5)/(e+.5));return c*(u+n*(o+1)/(n+o*(1-l+l*i/r)))},dV=function(n){return function(e,t,i){var r=typeof n.fuzzy=="function"?n.fuzzy(e,t,i):n.fuzzy||!1,s=typeof n.prefix=="function"?n.prefix(e,t,i):n.prefix===!0;return{term:e,fuzzy:r,prefix:s}}},qf={idField:"id",extractField:function(n,e){return n[e]},tokenize:function(n){return n.split(pV)},processTerm:function(n){return n.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(n,e){typeof(console==null?void 0:console[n])=="function"&&console[n](e)},autoVacuum:!0},nw={combineWith:Yf,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:cV},hV={combineWith:tw,prefix:function(n,e,t){return e===t.length-1}},Kf={batchSize:1e3,batchWait:10},Qf={minDirtFactor:.1,minDirtCount:20},ep=dt(dt({},Kf),Qf),fV=function(n,e){n.includes(e)||n.push(e)},iw=function(n,e){var t,i;try{for(var r=Ze(e),s=r.next();!s.done;s=r.next()){var o=s.value;n.includes(o)||n.push(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},rw=function(n,e){var t=n.score,i=e.score;return i-t},sw=function(){return new Map},ru=function(n){var e,t,i=new Map;try{for(var r=Ze(Object.keys(n)),s=r.next();!s.done;s=r.next()){var o=s.value;i.set(parseInt(o,10),n[o])}}catch(l){e={error:l}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return i},pV=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;const mV=["label","models","source"];class gV{constructor(){this._searchEngine=new aV({fields:["path","name"],storeFields:["path"],tokenize:(e,t)=>e.split('"')}),this._featureIds=[],this.zincObjects=[],this.regions=[]}indexMetadata(e,t){const i=[];for(const r of mV)if(r in t){const s=t[r];i.includes(s)||(this.addTerm_(e,s),i.push(s))}}addZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.add(s,{fields:["path","name"]}),this.zincObjects.push(e)}removeZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.remove(s,{fields:["path","name"]});for(let o=0;o<this.zincObjects.length;o++)if(t===this.zincObjects[o].uuid){this.zincObjects.splice(o,1);return}}addRegion(e,t){const i={path:e.getFullPath(),name:e.getName(),id:t};this._searchEngine.add(i,{fields:["path","name"]}),this.regions.push(e)}clearResults(){this._}removeAll(){this._searchEngine.removeAll(),this.zincObjects.length=0,this.regions.length=0}auto_suggest(e){return this._searchEngine.autoSuggest(e,{prefix:!0})}processResults(e,t){const i={regionPath:void 0,label:'Search Results for "'};return Array.isArray(t)?i.label+=",".join(t):i.label+=t,i.label+='"',e.length===1&&(e[0].isRegion?i.regionPath=e[0].getFullPath():e[0].isZincObject&&(i.regionPath=e[0].getRegion().getFullPath(),i.label=e[0].groupName)),i.zincObjects=cF(e),i}search(e){const t=this._searchEngine.search(e,{prefix:!0}),i=this.zincObjects.filter(s=>t.map(o=>o.id).includes(s.uuid)),r=this.regions.filter(s=>t.map(o=>o.id).includes(s.uuid));return i.push(...r),i}searchTerms(e){let t=[];return e.forEach(i=>{const r=this.search(i);t.push(...r)}),t}searchAndProcessResult(e){let t=[];return Array.isArray(e)?t=this.searchTerms(e):t=this.search(e),this.processResults(t,e)}}const yV={name:"ScaffoldVuer",components:{Button:Ki,Col:vn,Loading:YL,Option:Ls,Popover:Rl,Row:kn,Select:As,Slider:Pn,TabPane:Zg,Tabs:$g,MapSvgIcon:np.MapSvgIcon,MapSvgSpriteColor:np.MapSvgSpriteColor,PrimitiveControls:Fx,ScaffoldTooltip:Zx,ElIconWarningFilled:um,ElIconArrowDown:Lu,ElIconArrowLeft:Wi,DrawToolbar:ou.DrawToolbar,ScaffoldTreeControls:Vx},setup(n){return{annotator:a.markRaw(new ZF(`${n.flatmapAPI}annotator`))}},props:{url:{type:String,default:""},showColourPicker:{type:Boolean,default:!1},displayUI:{type:Boolean,default:!0},displayAtStartUp:{type:Boolean,default:!0},helpMode:{type:Boolean,default:!1},helpModeActiveItem:{type:Number,default:0},helpModeDialog:{type:Boolean,default:!1},helpModeLastItem:{type:Boolean,default:!1},helpModeInitialIndex:{type:Number,default:0},displayWarning:{type:Boolean,default:!0},warningMessage:{type:String,default:"Beta feature - under active development"},displayLatestChanges:{type:Boolean,default:!1},latestChangesMessage:{type:String,default:"New feature - Local search is now available"},displayMarkers:{type:Boolean,default:!1},markerCluster:{type:Boolean,default:!1},markerLabels:{type:Object,default:function(){return{}}},displayMinimap:{type:Boolean,default:!1},format:{type:String,default:"metadata"},minimapSettings:{type:Object,default:function(){return{x_offset:16,y_offset:16,width:128,height:128,align:"top-right"}}},enableOpenMapUI:{type:Boolean,default:!1},openMapOptions:{type:Array,default:function(){return[{display:"Open AC Map",key:"AC"},{display:"Open FC Map",key:"FC"},{display:"Open 3D Human Map",key:"3D"}]}},state:{type:Object,default:void 0},region:{type:String,default:""},viewURL:{type:String,default:""},render:{type:Boolean,default:!0},flatmapAPI:{type:String,default:"https://mapcore-demo.org/current/flatmap/v3/"},enableLocalAnnotations:{type:Boolean,default:!1}},provide(){return{flatmapAPI:this.flatmapAPI,scaffoldUrl:this.url,$annotator:this.annotator,boundingDims:this.boundingDims}},data:function(){return{annotator:void 0,createData:{drawingBox:!1,toBeConfirmed:!1,points:[],shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1},currentTime:0,timeVarying:!1,isPlaying:!1,isReady:!1,isTransitioning:!1,tooltipAppendToBody:!1,hoverVisibilities:[{value:!1,ref:"zoomInPopover"},{value:!1,ref:"zoomOutPopover"},{value:!1,ref:"zoomFitPopover"},{value:!1,ref:"openMapPopover"},{value:!1,ref:"settingsPopover"},{value:!1,ref:"sliderPopover"},{value:!1,ref:"regionVisibilityPopover"},{value:!1,ref:"warningPopover"},{value:!1,ref:"whatsNewPopover"},{value:!1,refs:"toolbarPopover",ref:"editPopover"},{value:!1,refs:"toolbarPopover",ref:"pointPopover"},{value:!1,refs:"toolbarPopover",ref:"lineStringPopover"},{value:!1,refs:"toolbarPopover",ref:"deletePopover"}],inHelp:!1,helpModeActiveIndex:this.helpModeInitialIndex,loading:!1,duration:3e3,drawerOpen:!0,currentBackground:"white",availableBackground:["white","lightskyblue","black"],minimisedSlider:!1,sliderPosition:"",timeMax:100,orginalDuration:"",animateDuration:"6secs",playSpeed:[{value:.1,label:"0.1x"},{value:.5,label:"0.5x"},{value:1,label:"1x"},{value:2,label:"2x"},{value:5,label:"5x"},{value:10,label:"10x"}],currentSpeed:1,timeStamps:{},defaultCheckedKeys:[],tData:{label:"",region:"",visible:!1,x:200,y:200,active:!1},fileFormat:"metadata",previousMarkerLabels:a.markRaw({}),viewingMode:"Exploration",viewingModes:{Exploration:"View and explore detailed visualization of 3D scaffolds",Annotation:"View internal identifiers of features"},openMapRef:void 0,backgroundIconRef:void 0,userInformation:void 0,toolbarOptions:["Delete","Edit","Point","LineString"],activeDrawTool:void 0,activeDrawMode:void 0,localAnnotationsList:a.markRaw([]),boundingDims:{centre:[0,0,0],size:[1,1,1]}}},watch:{format:{handler:function(n){this.fileFormat=n},immediate:!0},url:{handler:function(n){(this.state===void 0||this.state.url===void 0)&&this.setURL(n)},immediate:!0},region:{handler:function(n){this.state||this.viewURL||this.setFocusedRegion(n)},immediate:!0},state:{handler:function(n){this.setState(n)},immediate:!0,deep:!0},viewURL:{handler:function(n){this.updateViewURL(n)},immediate:!0},helpMode:function(n,e){n!==e&&this.setHelpMode(n)},helpModeActiveItem:function(){this.helpMode&&(this.helpModeActiveIndex+=1,this.setHelpMode(this.helpMode))},displayMarkers:function(n){this.$module.scene.displayMarkers=n,this.$module.scene.forcePickableObjectsUpdate=!0},displayMinimap:function(n){this.$module.scene.displayMinimap=n},currentTime:{handler:function(){this.$emit("timeChanged",this.currentTime)}},duration:function(){this.$module.scene.setDuration(this.duration)},minimapSettings:{deep:!0,handler:"updateMinimapScissor"},render:function(n){this.toggleRendering(n)},markerCluster:{handler:function(n){this.$module.scene.enableMarkerCluster(n)},immediate:!0},markerLabels:function(n){for(const[e,t]of Object.entries(this.previousMarkerLabels))this.setMarkerModeForObjectsWithName(e,t,"off");for(const[e,t]of Object.entries(n))this.setMarkerModeForObjectsWithName(e,t,"on");this.previousMarkerLabels=a.markRaw({...n})}},beforeCreate:function(){this.$module=new Yx,this.selectedObjects=[],this.hoveredObjects=[],this.currentBackground="white",this._currentURL=void 0,this.availableBackground=["white","black","lightskyblue"],this.$_searchIndex=new gV},mounted:function(){this.openMapRef=a.shallowRef(this.$refs.openMapRef),this.backgroundIconRef=a.shallowRef(this.$refs.backgroundIconRef),this.$refs.scaffoldTreeControls.setModule(this.$module);let n=new JF;n.subscribe(this,this.eventNotifierCallback),this.$module.addNotifier(n),this.$module.addOrganPartAddedCallback(this.zincObjectAdded),this.$module.addOrganPartRemovedCallback(this.zincObjectRemoved),this.$module.initialiseRenderer(this.$refs.display),this.toggleRendering(this.render),this.ro=new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer),this.helpTextWait=[],this.helpTextWait.length=this.hoverVisibilities.length,this.defaultRate=this.$module.getPlayRate(),this.$module.zincRenderer.addPreRenderCallbackFunction(()=>{this.currentTime=this.$module.getCurrentTime()})},beforeUnmount:function(){this.ro&&this.ro.disconnect(),this.$module.destroy(),this.$module=void 0},computed:{...jx($x,["userToken"]),annotationDisplay:function(){return this.viewingMode==="Annotation"&&this.tData.active===!0&&this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"}},methods:{addZincObject:function(n){this.$module.scene&&this.$module.scene.addZincObject(n)},zincObjectAdded:function(n){this.loading=!1,this.$_searchIndex.addZincObject(n,n.uuid),this.timeVarying===!1&&n.isTimeVarying()&&(this.timeVarying=!0),this.$emit("zinc-object-added",n)},removeFromLocalAnnotationList:function(n,e){for(let t=0;t<this.localAnnotationsList.length;t++){const i=this.localAnnotationsList[t];if(i.region===n&&i.group===e){this.localAnnotationsList.splice(t,1);return}}},zincObjectRemoved:function(n){if(this.$module.scene){const e=n.region.getFullPath(),t=n.groupName;n.region.findObjectsWithGroupName(t,!1).length===0&&(this.$_searchIndex.removeZincObject(n,n.uuid),this.removeFromLocalAnnotationList(e,t))}},addRegionsToSearchIndex:function(){this.$module.scene.getRootRegion().getChildRegions(!0).forEach(t=>{this.$_searchIndex.addRegion(t,t.uuid)})},backgroundChangeCallback:function(n){this.currentBackground=n,this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground,1)},captureScreenshotCallback:function(){this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);let n=this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL("image/png"),e=document.createElement("a");document.body.append(e),this.captureFilename?e.download=this.captureFilename:e.download="screenshot.png",e.href=n,e.click(),e.remove()},captureScreenshot:function(n){this.captureFilename=n,this.captureID=this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback)},clearScene:function(){this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.$_searchIndex&&this.$_searchIndex.removeAll(),this.$module.scene&&this.$module.scene.clearAll()},addAndEditAnnotations:function(n,e,t,i){const r=Rx(this.annotator,this.userToken,t,n,e,this.url,i);if(this.enableLocalAnnotations){r.group=e;let s=n;s.slice(-1)==="/"&&(s=s.slice(0,-1)),r.region=s,this.removeFromLocalAnnotationList(s,e),this.localAnnotationsList.push(r)}this.$emit("userPrimitivesUpdated",{region:n,group:e,zincObject:t})},primitivesUpdated:function(n){if(n.isZincObject&&n.isEditable){const e=n.groupName,t=n.region.getFullPath();this.addAndEditAnnotations(t,e,n,"Position Updated")}},confirmCreate:function(n){if(n){let e;if(n.shape==="Point")e=this.$module.scene.createPoints(n.region,n.group,this.createData.points,n.group,8942);else if(n.shape==="LineString")e=this.$module.scene.createLines(n.region,n.group,[this.createData.points[0],this.createData.points[1]],60962);else if(n.editingIndex>-1&&this._editingZincObject){this._editingZincObject.editVertices([this.createData.points[1]],n.editingIndex);const t=this._editingZincObject.region.getFullPath()+"/",i=this._editingZincObject.groupName;this.addAndEditAnnotations(t,i,this._editingZincObject,"Position Updated")}e&&(this.addAndEditAnnotations(n.region,n.group,e.zincObject,"Create"),e.zincObject.isEditable=!0,this.tData.region=n.region,this.tData.label=n.group,this.changeActiveByName([n.group],n.region,!1))}this.cancelCreate()},cancelCreate:function(){this.createData.points.length=0,this.createData.toBeConfirmed=!1,this._editingZincObject=void 0,this.createData.editingIndex=-1,this.createData.faceIndex=-1,this.tData.visible=!1,this.createData.toBeDeleted=!1,this._tempLine&&(this.$module.scene.removeTemporaryPrimitive(this._tempLine),this._tempLine=void 0),this._tempPoint&&(this.$module.scene.removeTemporaryPrimitive(this._tempPoint),this._tempPoint=void 0)},confirmDelete:function(){var n;if((n=this._editingZincObject)!=null&&n.isEditable){const e=this._editingZincObject.region.getFullPath()+"/",t=this._editingZincObject.groupName;Rx(this.annotator,this.userToken,this._editingZincObject,e,t,this.url,"Deleted")&&this.$module.scene.getRootRegion().findChildFromPath(e).removeZincObject(this._editingZincObject)}this.cancelCreate()},formatTooltip(n){if(this.timeMax>=1e3&&n){let e=(n%6e4/1e3).toFixed(2)+"s";return(n>6e4?(n/6e4).toFixed(0)+"m ":"")+e}return n?n.toFixed(2)+" ms":"0 ms"},fitWindow:function(){if(this.$module.scene){let n=!1;this._boundingBoxGeo&&(n=this._boundingBoxGeo.getVisibility(),this._boundingBoxGeo.setVisibility(!1)),this.$module.scene.viewAll(),this._boundingBoxGeo&&(aF(this._boundingBoxGeo,this.$module.scene),this._boundingBoxGeo.setVisibility(n))}},zoomIn:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(-1)},zoomOut:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(1)},speedChanged:function(n){this.currentSpeed=n,this.$module.setPlayRate(this.defaultRate*this.currentSpeed)},stopFreeSpin:function(){this.$module.scene.getZincCameraControls().stopAutoTumble(),this.isTransitioning=!1},findObjectsWithGroupName:function(n){let e=[];return n&&n!=""&&this.$module.scene&&(e=this.$module.scene.findObjectsWithGroupName(n)),e},toggleDrawing:function(n,e){this.createData.toBeDeleted=!1,n==="mode"?(this.activeDrawMode=e,this.createData.shape="",this.$module.selectObjectOnPick=!0):n==="tool"&&(this.activeDrawTool=e,this.createData.shape=this.activeDrawTool,this.$module.selectObjectOnPick=!1)},toggleDrawingBox:function(){this.createData.drawingBox=!this.createData.drawingBox},viewRegion:function(n){const e=this.$module.scene.getRootRegion(),t=Array.isArray(n)?n:[n],i=Lo(e,t,"",!0);let r=this.$module.scene.getBoundingBoxOfZincObjects(i);if(r){if(this.$module.isSyncControl())this.$module.setSyncControlZoomToBox(r);else{const s=this.$module.scene.camera.far-this.$module.scene.camera.near;this.$module.scene.viewAllWithBoundingBox(r),this.$module.scene.camera.far=this.$module.scene.camera.near+s,this.$module.scene.camera.updateProjectionMatrix()}return!0}return!1},setFocusedRegion:function(n){n&&(this.isReady?this.viewRegion(n):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({region:n})))},updateViewURL:function(n){if(n)if(this.isReady){const e=new URL(n,this.url);this.$module.scene.loadViewURL(e)}else this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewURL:n}))},createEditTemporaryLines:function(n){const e=n[0].extraData.worldCoords;if(e&&(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.createData.points.length===1)if(this.showRegionTooltipWithAnnotations(n,!0,!1),this.tData.x=50,this.tData.y=200,this._tempLine){const t=this._tempLine.geometry.getAttribute("position");t.setXYZ(1,e[0],e[1],e[2]),t.needsUpdate=!0}else this._tempLine=this.$module.scene.addTemporaryLines([this.createData.points[0],e],65535)},draw:function(n){n&&n.length>0&&n[0].data.group&&n[0].extraData.worldCoords&&(this.createData.shape==="Point"?this.drawPoint(n[0].extraData.worldCoords,n):(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.drawLine(n[0].extraData.worldCoords,n))},drawPoint:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length=0,this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.toBeConfirmed=!0)},drawLine:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length===1?(this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this.createData.toBeConfirmed=!0):(this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.points.push(n)))},getRendererInfo:function(){if(this.$module.zincRenderer)return this.$module.zincRenderer.getThreeJSRenderer().info},freeSpin:function(){if(this.$module.scene){let n=this.$module.scene.getZincCameraControls();this.isTransitioning=!0,n.enableAutoTumble(),n.autoTumble([1,0],Math.PI,!0),setTimeout(this.stopFreeSpin,4e3)}},activateAnnotationMode:function(n,e){if(this.userInformation||this.enableLocalAnnotations)if(this.createData.toBeDeleted=!1,this.createData.shape!==""||this.createData.editingIndex>-1)n.length>0&&e.identifiers[0].coords&&(this.createData.x=e.identifiers[0].coords.x,this.createData.y=e.identifiers[0].coords.y,this.draw(e.identifiers));else{if(this.activeDrawMode==="Edit"){const t=rF(e);t&&this.activateEditingMode(t.zincObject,t.faceIndex,t.vertexIndex,t.point)}else if(this.activeDrawMode==="Delete"){const t=sF(e);t&&(this.createData.toBeDeleted=!0,this._editingZincObject=t)}this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"?(this.showRegionTooltipWithAnnotations(e.identifiers,!0,!1),this.tData.x=50,this.tData.y=200):this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)}else this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)},activateEditingMode:function(n,e,t,i){this._editingZincObject=n,this.createData.faceIndex=e,this.createData.editingIndex=t,this.drawLine(i,void 0)},eventNotifierCallback:function(n){if(!(this.createData.toBeConfirmed||this.createData.toBeDeleted)){const e=[];let t=[];if((n.eventType==1||n.eventType==2)&&(n.identifiers.forEach(i=>{if(i){let r=i.data.id?i.data.id:i.data.group;e.push(r)}}),t=n.zincObjects),n.eventType==1)this.viewingMode==="Annotation"?this.activateAnnotationMode(e,n):(this.$refs.scaffoldTreeControls&&(e.length>0?(this.$refs.scaffoldTreeControls.updateActiveUI(t),this.updatePrimitiveControls(t)):(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls.removeActive(!1))),this.$emit("scaffold-selected",n.identifiers));else if(n.eventType==2){if(this.selectedObjects.length===0){if(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls&&(e.length>0?this.$refs.scaffoldTreeControls.updateHoverUI(t):this.$refs.scaffoldTreeControls.removeHover(!0)),n.identifiers.length>0&&n.identifiers[0]){let i=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group;n.identifiers[0].coords&&(this.tData.active=!1,this.tData.visible=!0,this.tData.label=i,n.identifiers[0].data.region?this.tData.region=n.identifiers[0].data.region:this.tData.region=void 0,this.tData.x=n.identifiers[0].coords.x,this.tData.y=n.identifiers[0].coords.y,this.createEditTemporaryLines(n.identifiers))}this.$emit("scaffold-highlighted",n.identifiers)}}else if(n.eventType==3&&n.identifiers.length>0&&n.identifiers[0]){if(n.identifiers[0].coords){const i=this.$refs.scaffoldContainer.getBoundingClientRect();this.tData.x=n.identifiers[0].coords.x-i.left,this.tData.y=n.identifiers[0].coords.y-i.top}this.createEditTemporaryLines(n.identifiers)}}},getCoordinatesOfSelected:function(){if(this.selectedObjects&&this.selectedObjects.length>0)return this.$module.scene.getObjectsScreenXY(this.selectedObjects)},getDynamicSelectedCoordinates:function(){return this.$module.selectedScreenCoordinates},timeChange:function(n){let e=n/this.timeMax*100;e!=this.currentTime&&this.$module.updateTime(e)},updatePrimitiveControls:function(n){this.selectedObjects=n,this.selectedObjects&&this.selectedObjects.length>0?this.$refs.primitiveControls.setObject(this.selectedObjects[0]):this.$refs.primitiveControls.setObject(void 0)},objectSelected:function(n,e){this.updatePrimitiveControls(n),this.$module.setSelectedByZincObjects(n,void 0,{},e)},objectHovered:function(n,e){this.hoveredObjects=n,this.$module.setHighlightedByZincObjects(n,void 0,{},e)},changeActiveByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeActive(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeActiveByNames(r,e,t)}},changeHighlightedByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeHover(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeHoverByNames(r,e,t)}},play:function(n){this.$module.playAnimation(n),this.isPlaying=n},setHelpMode:function(n){const e=this.hoverVisibilities.length,t=e-1,i=this.hoverVisibilities[this.helpModeActiveIndex];if(i){const r=i==null?void 0:i.refs,s=i==null?void 0:i.ref;this.$refs[r||s]||(this.helpModeActiveIndex+=1)}n||(this.helpModeActiveIndex=this.helpModeInitialIndex),n&&this.helpModeActiveIndex>=t&&this.$emit("help-mode-last-item",!0),n&&!this.helpModeDialog?(this.inHelp=!0,this.hoverVisibilities.forEach(r=>{r.value=!0})):n&&this.helpModeDialog&&e>this.helpModeActiveIndex?this.helpModeActiveIndex>-1&&setTimeout(()=>{this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}),this.showHelpText(this.helpModeActiveIndex,200)},300):(this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}))},displayTooltipOfObjectsCallback:function(n,e,t,i,r){const s=this;return function(){s.$module.zincRenderer.removePostRenderCallbackFunction(s.$_regionTooltipCallback),s.$_regionTooltipCallback=void 0,s.displayTooltipOfObjects(n,e,t,i,r)}},liveUpdateTooltipPosition:function(){this.$module.selectedCenter&&(this.tData.x=this.$module.selectedScreenCoordinates.x,this.tData.y=this.$module.selectedScreenCoordinates.y)},displayTooltipOfObjects:function(n,e,t,i,r){if(e.length>0){let s=e[0].getClosestVertexDOMElementCoords(this.$module.scene);if(s)return s.inView?(n.includes("Search Results for")?this.tData.active=!1:this.tData.active=!0,this.tData.visible=!0,this.tData.label=n,this.tData.x=s.position.x,this.tData.y=s.position.y,this.tData.region=t,this.$_liveCoordinatesUpdated&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),r&&(this.$module.setupLiveCoordinates(e),this.$_liveCoordinatesUpdated=this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition))):(this.hideRegionTooltip(),i&&(this.$module.scene.viewAll(),this.$_regionTooltipCallback&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback),this.$_regionTooltipCallback=this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(n,e,t,i,r)))),!0}return this.hideRegionTooltip(),!1},showRegionTooltipWithObjects:function(n,e,t,i,r){return n&&e&&e.length>0&&this.$module.scene?this.displayTooltipOfObjects(n,e,t,i,r):(this.hideRegionTooltip(),!1)},showRegionTooltip:function(n,e,t){if(n&&this.$module.scene){const i=this.$module.scene.getRootRegion(),s=Lo(i,[n],"",!0);let o;return s&&s.length>0&&(o=s[0].getRegion().getFullPath()),this.showRegionTooltipWithObjects(n,s,o,e,t)}return this.hideRegionTooltip(),!1},showRegionTooltipWithAnnotations:function(n,e,t){if(this.$module.scene){const i=Lx(this.$module.scene,n);if(i&&i.objects.length>0)return this.showRegionTooltipWithObjects(i.label,i.objects,i.regionPath,e,t)}return this.hideRegionTooltip(),!1},changeViewingMode:function(n){if(this.$module){if(n&&(this.viewingMode=n),this.viewingMode==="Annotation"){let e=!1;this.userInformation&&(e=!0),this.userInformation=void 0,this.annotator.authenticate(this.userToken).then(t=>{t.name&&t.email&&t.canUpdate&&(this.userInformation=t,e||(Px(this.annotator,this.userToken,this.url).then(i=>{i&&i.features&&Df(this.$module.scene,i.features)}),Px(this.annotator,this.userToken,encodeURIComponent(this.url)).then(i=>{i&&i.features&&Df(this.$module.scene,i.features)})))})}else this.viewingMode==="Exploration"&&(this.activeDrawTool=void 0,this.activeDrawMode=void 0,this.createData.shape="");this.viewingMode==="Exploration"||this.viewingMode==="Annotation"&&this.createData.shape===""?this.$module.selectObjectOnPick=!0:this.$module.selectObjectOnPick=!1,this.cancelCreate()}},hideRegionTooltip:function(){this.$_liveCoordinatesUpdated&&(this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),this.$module.setupLiveCoordinates(void 0)),this.tData.active=!1,this.tData.visible=!1,this.tData.region=void 0},setMarkerModeForObjectsWithName:function(n,e,t){if(n&&this.$module.scene){let i=e;typeof e=="number"&&(i={number:e,imgURL:void 0});const r=this.$module.scene.getRootRegion();Lo(r,[n],"",!0).forEach(l=>l.setMarkerMode(t,i))}},setMarkerModeWithAnnotations:function(n,e){if(this.$module.scene){const t=Lx(this.$module.scene,n);t&&t.objects.length>0&&t.objects.forEach(i=>i.setMarkerMode(e))}},showHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!0,this.$emit("shown-tooltip")},e))},hideHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!1},e))},search:function(n,e){if(this.$_searchIndex){if(n===void 0||n===""||Array.isArray(n)&&n.length===0)return this.objectSelected([],!0),!1;{const t=this.$_searchIndex.searchAndProcessResult(n),i=t.zincObjects;if(i.length>0){if(this.objectSelected(i,!0),e)for(let r=0;r<i.length;r++)i[r]&&i[r].groupName&&this.showRegionTooltipWithObjects(t.label,i,t.regionPath,!0,!0);return!0}else this.objectSelected([],!0)}}return!1},fetchSuggestions:function(n){return this.$_searchIndex===void 0?[]:this.$_searchIndex.auto_suggest(n)},updateMinimapScissor:function(){Object.keys(this.minimapSettings).forEach(n=>{this.$module.scene.minimapScissor[n]=this.minimapSettings[n]}),this.$module.scene.minimapScissor.updateRequired=!0},updateSettingsfromScene:function(){this.currentSpeed=1,this.$module.setPlayRate(this.defaultRate),this.orginalDuration=this.$module.scene.getMetadataTag("OriginalDuration"),this.animateDuration=this.$module.scene.getMetadataTag("Duration");let n=this.$module.scene.getMetadataTag("TimeStamps");this.timeStamps={};for(const e in n)this.timeStamps[n[e]]=e;this.timeMax=this.$module.scene.getDuration()},setURLFinishCallback:function(n){return()=>{if(n){if(n.viewport)this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport);else if(n.viewURL&&n.viewURL!==""){const i=new URL(n.viewURL,this.url);this.$module.scene.loadViewURL(i)}else n.region&&n.region!==""&&this.viewRegion(n.region);n.visibility&&this.$nextTick(()=>{this.$refs.scaffoldTreeControls.setState(n.visibility)})}this.localAnnotationsList.length=0,this.updateSettingsfromScene(),this.$module.updateTime(.01),this.$module.updateTime(0),this.$module.unsetFinishDownloadCallback(),this.addRegionsToSearchIndex(),this.$emit("on-ready"),this.setMarkers(),this._boundingBoxGeo=this.$module.scene.addBoundingBoxPrimitive("_helper","boundingBox",4251856,.15),this._slides=this.$module.scene.addSlicesPrimitive("_helper",["x-plane","y-plane","z-plane"],[16733525,5635925,5592575],.5);const{centre:e,size:t}=this.$module.getCentreAndSize();this.boundingDims.centre=e,this.boundingDims.size=t,this.isReady=!0}},getState:function(){let n={format:this.fileFormat,url:this._currentURL,viewport:void 0,visibility:void 0};if(this.$refs.scaffoldTreeControls&&(n.visibility=this.$refs.scaffoldTreeControls.getState()),this.$module.scene){let e=this.$module.scene.getZincCameraControls();n.viewport=e.getCurrentViewport()}return n},setState:function(n){n&&(n.url&&n.url!==this._currentURL?this.setURLAndState(n.url,{fileFormat:n.fileFormat,viewport:n.viewport,visibility:n.visibility}):(n.viewport||n.visibility)&&(this.isReady&&this.$module.scene?(n.viewport&&this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport),n.visibility&&this.$refs.scaffoldTreeControls.setState(n.visibility)):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:n.viewport,visibility:n.visibility}))))},exportGLTF:function(n){return this.$module.scene.exportGLTF(n)},getLocalAnnotations:function(){return[...this.localAnnotationsList]},importLocalAnnotations:function(n){if(this.enableLocalAnnotations){n.forEach(t=>{const i=t.group,r=t.region;let s=r.slice(-1)==="/"?r:r+"/";const o=s.slice(0,-1);t.region=o,s=s+i;const l=s;t.item.id=l,t.feature.id=l});const e=n.map(t=>t.feature);Df(this.$module.scene,e),n.forEach(t=>{this.localAnnotationsList.push({...t})})}},setURLAndState:function(n,e){if(n!=this._currentURL){e&&e.format&&(this.fileFormat=e.format);let t=e&&e.viewport?e.viewport:void 0,i=e&&e.visibility?e.visibility:void 0;this._currentURL=n,this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.loading=!0,this.timeVarying=!1,this.isReady=!1,this.$_searchIndex.removeAll(),this.hideRegionTooltip(),this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:t,region:this.region,viewURL:this.viewURL,visibility:i})),this.fileFormat==="gltf"?this.$module.loadGLTFFromURL(n,"scene",!0):this.$module.loadOrgansFromURL(n,void 0,void 0,"scene",void 0,!0),this.$module&&this.$module.scene&&(this.$module.scene.displayMarkers=this.displayMarkers,this.$module.scene.forcePickableObjectsUpdate=!0,this.$module.scene.displayMinimap=this.displayMinimap,this.updateMinimapScissor())}},setURL:function(n){this.setURLAndState(n,void 0)},drawerToggled:function(n){this.drawerOpen=n,this.adjustLayout()},adjustLayout:function(){if(this.$refs.scaffoldContainer){let n=this.$refs.scaffoldContainer.clientWidth;this.minimisedSlider=n<812,this.minimisedSlider?this.sliderPosition=this.drawerOpen?"right":"left":this.sliderPosition=""}},toggleRendering:function(n){this.$module.zincRenderer&&(n?this.$module.zincRenderer.animate():this.$module.zincRenderer.stopAnimate())},forceResize:function(){this.$module.zincRenderer&&this.$module.zincRenderer.onWindowResize()},syncControlCallback:function(){const n=this.$module.NDCCameraControl.getPanZoom();this.tData.visible&&this.showRegionTooltip(this.tData.label,!0,!0),this.$emit("scaffold-navigated",n)},toggleSyncControl:function(n,e){this.$module.toggleSyncControl(n,e),this.$module.setSyncControlCallback(this.syncControlCallback)},setMarkers:function(){for(const[n,e]of Object.entries(this.markerLabels))this.setMarkerModeForObjectsWithName(n,e,"on")}}},tp=n=>(a.pushScopeId("data-v-856fbf72"),n=n(),a.popScopeId(),n),vV={ref:"scaffoldContainer",class:"scaffold-container","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"},bV=tp(()=>a.createElementVNode("span",{class:"message-text"},"Beta",-1)),xV=tp(()=>a.createElementVNode("span",{class:"message-text"},"What's new?",-1)),wV={class:"primitive-controls-box"},MV={class:"animation-data"},SV={class:"purple"},_V={class:"animation-data"},TV={class:"purple"},EV={class:"animation-data"},CV={class:"bottom-right-control"},AV=tp(()=>a.createElementVNode("div",null,[a.createTextVNode(" Fit to "),a.createElementVNode("br"),a.createTextVNode(" window ")],-1)),LV={style:{"margin-bottom":"2px"}},RV={key:0,class:"viewing-mode-title"},PV=["onClick"],IV=["onClick"];function OV(n,e,t,i,r,s){const o=a.resolveComponent("map-svg-sprite-color"),l=Zx,u=a.resolveComponent("DrawToolbar"),c=um,f=yt,h=Rl,m=Vx,y=Fx,p=a.resolveComponent("map-svg-icon"),d=Pn,b=kn,v=Zg,g=Ls,M=As,_=$g,E=Ki,S=gd;return a.withDirectives((a.openBlock(),a.createElementBlock("div",vV,[a.createVNode(o),a.createVNode(l,{createData:n.createData,label:n.tData.label,region:n.tData.region,visible:n.tData.visible,x:n.tData.x,y:n.tData.y,annotationDisplay:s.annotationDisplay,onConfirmCreate:e[0]||(e[0]=w=>s.confirmCreate(w)),onCancelCreate:e[1]||(e[1]=w=>s.cancelCreate()),onConfirmDelete:e[2]||(e[2]=w=>s.confirmDelete(w))},null,8,["createData","label","region","visible","x","y","annotationDisplay"]),a.createElementVNode("div",{id:"organsDisplayArea",ref:"display",tabindex:"-1",style:{height:"100%",width:"100%"},onKeydown:e[3]||(e[3]=a.withKeys((...w)=>s.backgroundChangeCallback&&s.backgroundChangeCallback(...w),["66"]))},null,544),a.withDirectives(a.createElementVNode("div",null,[n.viewingMode==="Annotation"&&(n.userInformation||t.enableLocalAnnotations)?(a.openBlock(),a.createBlock(u,{key:0,toolbarOptions:n.toolbarOptions,activeDrawTool:n.activeDrawTool,activeDrawMode:n.activeDrawMode,hoverVisibilities:n.hoverVisibilities,onClickToolbar:s.toggleDrawing,onShowTooltip:s.showHelpText,onHideTooltip:s.hideHelpText,ref:"toolbarPopover"},null,8,["toolbarOptions","activeDrawTool","activeDrawMode","hoverVisibilities","onClickToolbar","onShowTooltip","onHideTooltip"])):a.createCommentVNode("",!0),t.displayWarning?(a.openBlock(),a.createBlock(h,{key:1,ref:"warningPopover",visible:n.hoverVisibilities[7].value,content:t.warningMessage,placement:"right",width:"max-content",teleported:!1,"popper-class":"scaffold-popper message-popper right-popper non-selectable"},{reference:a.withCtx(()=>[t.displayWarning?(a.openBlock(),a.createElementBlock("div",{key:0,class:"message-icon warning-icon",onMouseover:e[4]||(e[4]=w=>s.showHelpText(7)),onMouseout:e[5]||(e[5]=w=>s.hideHelpText(7))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(c)]),_:1}),bV],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),t.displayLatestChanges?(a.openBlock(),a.createBlock(h,{key:2,visible:n.hoverVisibilities[8].value,content:t.latestChangesMessage,placement:"right",teleported:!1,trigger:"manual","popper-class":"scaffold-popper message-popper right-popper non-selectable",ref:"whatsNewPopover"},{reference:a.withCtx(()=>[t.displayLatestChanges&&t.latestChangesMessage?(a.openBlock(),a.createElementBlock("div",{key:0,class:"el-icon-warning message-icon latest-changesicon",onMouseover:e[6]||(e[6]=w=>s.showHelpText(8)),onMouseout:e[7]||(e[7]=w=>s.hideHelpText(8))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(c)]),_:1}),xV],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),a.createVNode(h,{visible:n.hoverVisibilities[6].value,content:"Change region visibility",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"regionVisibilityPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{ref:"scaffoldTreeControls",isReady:n.isReady,"show-colour-picker":t.showColourPicker,onObjectSelected:s.objectSelected,onObjectHovered:s.objectHovered,onDrawerToggled:s.drawerToggled},null,8,["isReady","show-colour-picker","onObjectSelected","onObjectHovered","onDrawerToggled"])]),_:1},8,["visible"]),a.createElementVNode("div",wV,[a.createVNode(y,{ref:"primitiveControls",createData:n.createData,onPrimitivesUpdated:s.primitivesUpdated},null,8,["createData","onPrimitivesUpdated"])]),n.timeVarying?(a.openBlock(),a.createBlock(h,{key:3,ref:"sliderPopover",width:"max-content",visible:n.hoverVisibilities[5].value,content:"Move the slider to animate the region",placement:"top",teleported:!1,trigger:"manual","popper-class":"scaffold-popper top-popper non-selectable"},{reference:a.withCtx(()=>[n.timeVarying?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["time-slider-container",[n.minimisedSlider?"minimised":"",n.sliderPosition]])},[a.createVNode(_,{type:"card"},{default:a.withCtx(()=>[a.createVNode(v,{label:"Animate scaffold"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[n.isPlaying?(a.openBlock(),a.createBlock(p,{key:0,icon:"pause",class:"icon-button video-button",onClick:e[8]||(e[8]=w=>s.play(!1))})):(a.openBlock(),a.createBlock(p,{key:1,icon:"play",class:"video-button icon-button",onClick:e[9]||(e[9]=w=>s.play(!0))})),a.createVNode(d,{min:0,max:n.timeMax,"model-value":n.currentTime/100*n.timeMax,step:.1,"tooltip-class":"time-slider-tooltip",class:"slider","format-tooltip":s.formatTooltip,marks:n.timeStamps,onInput:e[10]||(e[10]=w=>s.timeChange(w))},null,8,["max","model-value","format-tooltip","marks"])]),_:1})]),_:1}),a.createVNode(v,{label:"Animation data"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[a.createElementVNode("div",MV,[a.createTextVNode(" Original duration: "),a.createElementVNode("div",SV,a.toDisplayString(n.orginalDuration),1)]),a.createElementVNode("div",_V,[a.createTextVNode(" Animation duration: "),a.createElementVNode("div",TV,a.toDisplayString(n.animateDuration),1)]),a.createElementVNode("div",EV,[a.createTextVNode(" Playback speed "),a.createVNode(M,{teleported:!0,"model-value":n.currentSpeed,placeholder:"Select",class:"scaffold-select-box speed","popper-class":"scaffold_viewer_dropdown",onChange:e[11]||(e[11]=w=>s.speedChanged(w))},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.playSpeed,w=>(a.openBlock(),a.createBlock(g,{key:w.value,label:w.label,value:w.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"])])]),_:1})]),_:1})]),_:1})],2)):a.createCommentVNode("",!0)]),_:1},8,["visible"])):a.createCommentVNode("",!0),a.createElementVNode("div",CV,[a.createVNode(h,{visible:n.hoverVisibilities[0].value,content:"Zoom in",width:"max-content",placement:"left",teleported:!1,trigger:"manual","popper-class":"scaffold-popper left-popper non-selectable",ref:"zoomInPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{icon:"zoomIn",class:"icon-button zoomIn",onClick:e[12]||(e[12]=w=>s.zoomIn()),onMouseover:e[13]||(e[13]=w=>s.showHelpText(0)),onMouseout:e[14]||(e[14]=w=>s.hideHelpText(0))})]),_:1},8,["visible"]),a.createVNode(h,{visible:n.hoverVisibilities[1].value,content:"Zoom out",placement:"top-end",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper popper-zoomout non-selectable",ref:"zoomOutPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{icon:"zoomOut",class:"icon-button zoomOut",onClick:e[15]||(e[15]=w=>s.zoomOut()),onMouseover:e[16]||(e[16]=w=>s.showHelpText(1)),onMouseout:e[17]||(e[17]=w=>s.hideHelpText(1))})]),_:1},8,["visible"]),a.createVNode(h,{visible:n.hoverVisibilities[2].value,placement:"top",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper non-selectable",ref:"zoomFitPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{icon:"fitWindow",class:"icon-button fitWindow",onClick:e[18]||(e[18]=w=>s.fitWindow()),onMouseover:e[19]||(e[19]=w=>s.showHelpText(2)),onMouseout:e[20]||(e[20]=w=>s.hideHelpText(2))})]),default:a.withCtx(()=>[AV]),_:1},8,["visible"])]),n.openMapRef?(a.openBlock(),a.createBlock(h,{key:4,ref:"open-map-popover","virtual-ref":n.openMapRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"open-map-popper","virtual-triggering":""},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.openMapOptions,w=>(a.openBlock(),a.createBlock(b,{key:w.key},{default:a.withCtx(()=>[a.createVNode(E,{type:"primary",plain:"",onClick:T=>n.$emit("open-map",w.key)},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(w.display),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1},8,["virtual-ref"])):a.createCommentVNode("",!0),a.createVNode(h,{ref:"backgroundPopover","virtual-ref":n.backgroundIconRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"background-popper non-selectable h-auto","virtual-triggering":""},{default:a.withCtx(()=>[a.createElementVNode("div",null,[a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode("Viewing Mode")]),_:1}),a.createVNode(b,{class:"backgroundControl"},{default:a.withCtx(()=>[a.createElementVNode("div",LV,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.viewingModes,(w,T,C)=>(a.openBlock(),a.createElementBlock(a.Fragment,{key:T},[T===n.viewingMode?(a.openBlock(),a.createElementBlock("span",RV,[a.createElementVNode("b",null,a.toDisplayString(T),1)])):(a.openBlock(),a.createElementBlock("span",{key:1,class:"viewing-mode-unselected",onClick:R=>s.changeViewingMode(T)},a.toDisplayString(T),9,PV))],64))),128))]),a.createVNode(b,{class:"viewing-mode-description"},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(n.viewingModes[n.viewingMode]),1)]),_:1})]),_:1}),a.createVNode(b,{class:"backgroundSpacer"}),a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode(" Change background ")]),_:1}),a.createVNode(b,{class:"backgroundChooser"},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.availableBackground,w=>(a.openBlock(),a.createElementBlock("div",{key:w,class:a.normalizeClass(["backgroundChoice",w,w==n.currentBackground?"active":""]),onClick:T=>s.backgroundChangeCallback(w)},null,10,IV))),128))]),_:1})])]),_:1},8,["virtual-ref"]),a.createElementVNode("div",{class:a.normalizeClass(["settings-group",{open:n.drawerOpen,close:!n.drawerOpen}])},[a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(h,{visible:n.hoverVisibilities[3].value,content:"Open new map",placement:"right",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper right-popper non-selectable",ref:"openMapPopover"},{reference:a.withCtx(()=>[t.enableOpenMapUI&&t.openMapOptions.length>0?(a.openBlock(),a.createBlock(p,{key:0,ref:"openMapRef",icon:"openMap",class:"icon-button open-map-button",onMouseover:e[21]||(e[21]=w=>s.showHelpText(3)),onMouseout:e[22]||(e[22]=w=>s.hideHelpText(3))},null,512)):a.createCommentVNode("",!0)]),_:1},8,["visible"])]),_:1}),a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(h,{visible:n.hoverVisibilities[4].value,content:"Change background color",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"settingsPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{ref:"backgroundIconRef",icon:"changeBckgd",class:"icon-button",onMouseover:e[23]||(e[23]=w=>s.showHelpText(4)),onMouseout:e[24]||(e[24]=w=>s.hideHelpText(4))},null,512)]),_:1},8,["visible"])]),_:1})],2)],512),[[a.vShow,t.displayUI&&!n.isTransitioning]])])),[[S,n.loading]])}const NV=ui(yV,[["render",OV],["__scopeId","data-v-856fbf72"]]);Zt.ScaffoldVuer=NV,Object.defineProperty(Zt,Symbol.toStringTag,{value:"Module"})});
|
|
3458
|
+
This will fail in production.`);l=Ha,l._s.has(i)||(s?kf(i,e,r,l):Wx(i,r,l),process.env.NODE_ENV!=="production"&&(o._pinia=l));const f=l._s.get(i);if(process.env.NODE_ENV!=="production"&&u){const h="__hot:"+i,m=s?kf(h,e,r,l,!0):Wx(h,On({},r),l,!0);u._hotUpdate(m),delete l.state.value[h],l._s.delete(h)}if(process.env.NODE_ENV!=="production"&&ja){const h=a.getCurrentInstance();if(h&&h.proxy&&!u){const m=h.proxy,y="_pStores"in m?m._pStores:m._pStores={};y[i]=f}}return f}return o.$id=i,o}function jx(n,e){return Array.isArray(e)?e.reduce((t,i)=>(t[i]=function(){return n(this.$pinia)[i]},t),{}):Object.keys(e).reduce((t,i)=>(t[i]=function(){const r=n(this.$pinia),s=e[i];return typeof s=="function"?s.call(this,r):r[s]},t),{})}const $x=kF("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(n){return n.userProfile.token}},actions:{setUserToken(n){this.userProfile.token=n}}}),zF={name:"ScaffoldTooltip",components:{Col:vn,CreateTooltiipContent:OF,ElIconDelete:ll,Icon:yt,Popover:Rl,Row:kn,Tooltip:ou.Tooltip},props:{createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}},label:{type:String,default:""},annotationDisplay:{type:Boolean,default:!1},region:{type:String,default:""},visible:{type:Boolean,default:!1},x:{type:Number,default:200},y:{type:Number,default:200}},inject:["scaffoldUrl"],provide(){return{userApiKey:this.userToken}},data:function(){return{display:!1,annotationEntry:{},ElIconDelete:a.shallowRef(ll)}},computed:{...jx($x,["userToken"]),position:function(){let n=40;return this.region&&(n=55),{left:this.x-40+"px",top:this.y-n+"px"}}},methods:{checkForDisplay:function(){if(this.visible&&this.label&&this.label!==""){if(this.display=!0,this.annotationDisplay){const n=this.region?this.region+"/":"";this.annotationEntry={featureId:n+this.label,resourceId:this.scaffoldUrl,resource:this.scaffoldUrl}}}else this.display=!1,this.annotationEntry={}},hideTriggered:function(){this.createData.toBeConfirmed&&this.$emit("cancel-create")}},watch:{label:{handler:function(){this.checkForDisplay()},immediate:!0},visible:{handler:function(){this.checkForDisplay()},immediate:!0},annotationDisplay:{handler:function(){this.checkForDisplay()},immediate:!0}}},UF={class:"tooltip-text"},GF={key:0,class:"tooltip-text"},HF={key:1,class:"delete-container"};function WF(n,e,t,i,r,s){const o=a.resolveComponent("CreateTooltiipContent"),l=a.resolveComponent("Tooltip"),u=vn,c=Ki,f=kn,h=Rl;return a.openBlock(),a.createElementBlock("div",{style:a.normalizeStyle(s.position),class:"region-tooltip"},[a.createVNode(h,{ref:"tooltip",visible:t.visible,placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tooltip-popper non-selectable","virtual-triggering":"",onHide:s.hideTriggered},{default:a.withCtx(()=>[a.createElementVNode("div",UF,a.toDisplayString(t.label),1),t.region?(a.openBlock(),a.createElementBlock("div",GF,"Region: "+a.toDisplayString(t.region),1)):a.createCommentVNode("",!0),a.withDirectives(a.createVNode(o,{createData:t.createData,onConfirmCreate:e[0]||(e[0]=m=>n.$emit("confirm-create",m)),onCancelCreate:e[1]||(e[1]=m=>n.$emit("cancel-create"))},null,8,["createData"]),[[a.vShow,t.createData.toBeConfirmed]]),a.withDirectives(a.createVNode(l,{class:"p-tooltip",ref:"annotationTooltip",annotationDisplay:!0,annotationEntry:n.annotationEntry},null,8,["annotationEntry"]),[[a.vShow,t.annotationDisplay&&!t.createData.toBeConfirmed]]),t.createData.toBeDeleted?(a.openBlock(),a.createElementBlock("div",HF,[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(u,{span:10},{default:a.withCtx(()=>[a.createTextVNode("Delete this feature?")]),_:1}),a.createVNode(u,{span:7},{default:a.withCtx(()=>[a.createVNode(c,{class:"delete-button",icon:n.ElIconDelete,onClick:e[2]||(e[2]=m=>n.$emit("confirm-delete"))},{default:a.withCtx(()=>[a.createTextVNode(" Delete ")]),_:1},8,["icon"])]),_:1}),a.createVNode(u,{span:6},{default:a.withCtx(()=>[a.createVNode(c,{class:"delete-button",onClick:e[3]||(e[3]=m=>n.$emit("cancel-create"))},{default:a.withCtx(()=>[a.createTextVNode(" Dismiss ")]),_:1})]),_:1})]),_:1})])):a.createCommentVNode("",!0)]),_:1},8,["visible","onHide"])],4)}const Zx=ui(zF,[["render",WF],["__scopeId","data-v-3042afd4"]]);/*! js-cookie v3.0.5 | MIT */function tu(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)n[i]=t[i]}return n}var jF={read:function(n){return n[0]==='"'&&(n=n.slice(1,-1)),n.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(n){return encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function zf(n,e){function t(r,s,o){if(!(typeof document>"u")){o=tu({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),r=encodeURIComponent(r).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var u in o)o[u]&&(l+="; "+u,o[u]!==!0&&(l+="="+o[u].split(";")[0]));return document.cookie=r+"="+n.write(s,r)+l}}function i(r){if(!(typeof document>"u"||arguments.length&&!r)){for(var s=document.cookie?document.cookie.split("; "):[],o={},l=0;l<s.length;l++){var u=s[l].split("="),c=u.slice(1).join("=");try{var f=decodeURIComponent(u[0]);if(o[f]=n.read(c,f),r===f)break}catch{}}return r?o[r]:o}}return Object.create({set:t,get:i,remove:function(r,s){t(r,"",tu({},s,{expires:-1}))},withAttributes:function(r){return zf(this.converter,tu({},this.attributes,r))},withConverter:function(r){return zf(tu({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(n)}})}var Uf=zf(jF,{path:"/"}),di=function(n,e,t,i,r){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?r.call(n,t):r?r.value=t:e.set(n,t),t},St=function(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)},zi,$a,hi,rn,Tr;const $F=1e4;class ZF{constructor(e){zi.add(this),$a.set(this,void 0),hi.set(this,null),rn.set(this,null),e.slice(-1)==="/"?di(this,$a,e.slice(0,-1),"f"):di(this,$a,e,"f")}get currentUser(){return St(this,hi,"f")}get currentError(){return St(this,rn,"f")}async authenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await St(this,zi,"m",Tr).call(this,e,"authenticate");return"error"in t?(Uf.remove("annotation-key"),Promise.resolve(St(this,rn,"f"))):(Uf.set("annotation-key",t.session,{secure:!0,expires:1}),di(this,hi,t.data,"f"),Promise.resolve(St(this,hi,"f")))}async unauthenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await St(this,zi,"m",Tr).call(this,e,"unauthenticate");return"success"in t?Promise.resolve(t):Promise.resolve(St(this,rn,"f"))}async annotatedItemIds(e,t,i,r){const s={resource:t};i!==void 0&&(s.user=i),r!==void 0&&(s.participated=r);const o=await St(this,zi,"m",Tr).call(this,e,"items/","GET",s);return"error"in o?Promise.resolve(St(this,rn,"f")):Promise.resolve(o)}async drawnFeatures(e,t,i){const r={resource:t};i!==void 0&&(r.items=i);const s=await St(this,zi,"m",Tr).call(this,e,"features/","GET",r);return"error"in s?Promise.resolve(St(this,rn,"f")):Promise.resolve(s)}async itemAnnotations(e,t,i){const r=await St(this,zi,"m",Tr).call(this,e,"annotations/","GET",{resource:t,item:i});return"error"in r?Promise.resolve(St(this,rn,"f")):Promise.resolve(r)}async annotation(e,t){const i=await St(this,zi,"m",Tr).call(this,e,"annotation/","GET",{annotation:t});return"error"in i?Promise.resolve(St(this,rn,"f")):Promise.resolve(i)}async addAnnotation(e,t){if(St(this,hi,"f")&&St(this,hi,"f").canUpdate){const i=Object.assign({creator:St(this,hi,"f"),created:new Date().toISOString()},t),r=await St(this,zi,"m",Tr).call(this,e,"annotation/","POST",{data:i});if(!("error"in r))return Promise.resolve(r);di(this,rn,r,"f")}else di(this,rn,{error:"user cannot add annotation"},"f");return Promise.resolve(St(this,rn,"f"))}}$a=new WeakMap,hi=new WeakMap,rn=new WeakMap,zi=new WeakSet,Tr=async function(e,t,i="GET",r={}){let s=!0;const o=new AbortController;setTimeout(()=>{s&&(console.log("Annotation server timeout..."),o.abort())},$F);const l={method:i,signal:o.signal};let u=`${St(this,$a,"f")}/${t}`;const c=Uf.get("annotation-key")||"";if(i==="GET"){const h=[];for(const[m,y]of Object.entries(r))h.push(`${m}=${encodeURIComponent(JSON.stringify(y))}`);h.push(`key=${encodeURIComponent(e)}`),h.push(`session=${encodeURIComponent(c)}`),u+="?"+h.join("&"),l.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(i==="POST"){const h=Object.assign({key:e,session:c},r);l.body=JSON.stringify(h),l.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const f=await fetch(u,l);return s=!1,f.ok?Promise.resolve(await f.json()):(di(this,rn,{error:`${f.status} ${f.statusText}`},"f"),Promise.resolve(St(this,rn,"f")))};const Za={ALL:0,SELECTED:1,HIGHLIGHTED:2,MOVE:3},XF=function(n,e,t){this.eventType=n,this.identifiers=e,this.zincObjects=t},YF=function(n,e,t){this.targetedID=[];const i=n,r=e;this.targetEventType=t;const s=this;t===void 0&&(this.targetEventType=Za.ALL),this.getEventType=function(){return t},this.notify=function(o,l,u,c){if(o!==i&&(s.targetEventType===Za.ALL||s.targetEventType===l)){const f=new XF(l,u,c);r(f)}}},JF=function(){const n=[];this.publish=function(e,t,i,r){for(let s=0;s<n.length;s++)n[s].notify(e,t,i,r)},this.subscribe=function(e,t,i){if(typeof t=="function"){const r=new YF(e,t,i);return n.push(r),r}},this.unsubscribe=function(e){for(let t=0;t<n.length;t++)if(e===n[t]){n.splice(t,1);return}}},Xx={isWebGLAvailable:function(){try{var n=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(n.getContext("webgl")||n.getContext("experimental-webgl")))}catch{return!1}},isWebGL2Available:function(){try{var n=document.createElement("canvas");return!!(window.WebGL2RenderingContext&&n.getContext("webgl2"))}catch{return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(n){var e={1:"WebGL",2:"WebGL 2"},t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},i='This module requires <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#008">$1</a> support but your $0 does not seem to support it.',r=document.createElement("div");return r.id="webglmessage",r.style.fontFamily="monospace",r.style.fontSize="20px",r.style.fontWeight="normal",r.style.textAlign="center",r.style.background="#fff",r.style.color="#000",r.style.padding="1.5em",r.style.width="400px",r.style.margin="5em auto 0",t[n]?i=i.replace("$0","graphics card"):i=i.replace("$0","browser"),i=i.replace("$1",e[n]),r.innerHTML=i,r}},Gf={ALL:0,DESTROYED:1,NAME_CHANGED:2,SETTINGS_CHANGED:3},Tn=function(){this.typeName="Base Module",this.instanceName="default",this.onChangedCallbacks=[],this.eventNotifiers=[]};Tn.prototype.setName=function(n){if(n&&this.instanceName!==n){this.instanceName=n;const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,Gf.NAME_CHANGED)}},Tn.prototype.settingsChanged=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,Gf.SETTINGS_CHANGED)},Tn.prototype.exportSettings=function(){const n={};return n.dialog=this.typeName,n.name=this.instanceName,n},Tn.prototype.importSettings=function(n){return n.dialog==this.typeName?(this.setName(n.name),!0):!1},Tn.prototype.publishChanges=function(n,e,t){for(let i=0;i<this.eventNotifiers.length;i++)this.eventNotifiers[i].publish(this,e,n,t)},Tn.prototype.getName=function(){return this.instanceName},Tn.prototype.destroy=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,Gf.DESTROYED);delete this},Tn.prototype.addChangedCallback=function(n){this.onChangedCallbacks.includes(n)==!1&&this.onChangedCallbacks.push(n)},Tn.prototype.removeChangedCallback=function(n){const e=this.onChangedCallbacks.indexOf(n);e>-1&&this.onChangedCallbacks.splice(e,1)},Tn.prototype.addNotifier=function(n){this.eventNotifiers.push(n)};const nu=(n,e,t)=>{for(let i=0;i<n.length;i++)if(n[i]&&n[i].material&&n[i].material.emissive){let r=n[i].userData;r&&r.isZincObject?r.setEmissiveRGB(e):n[i].material&&n[i].material.emissive&&n[i].material.emissive.setRGB(...e),t&&n[i].material.depthFunc&&(n[i].material.depthFunc=_r.THREE.LessEqualDepth),n[i].children.forEach(s=>{const o=s.userData;o&&o.isZincObject&&s.material&&s.material.emissive&&s.material.emissive.setRGB(...e)})}},qF=function(){let n=[],e=[];this.highlightColour=[1,0,0],this.selectColour=[0,1,0],this.originalColour=[0,0,0];const t=[],i=[],r=this,s=function(u,c){if(u.length==0&&c.length==0)return!1;for(let f=0;f<u.length;f++){let h=!1;for(let m=0;m<c.length;m++)u[f]===c[m]&&(h=!0);if(!h)return!0}for(let f=0;f<c.length;f++){let h=!1;for(let m=0;m<u.length;m++)c[f]===u[m]&&(h=!0);if(!h)return!0}return!1},o=function(u,c){if(t.length=0,c.length==0)return u;for(let f=0;f<u.length;f++){let h=!1;for(let m=0;m<c.length;m++)u[f]===c[m]&&(h=!0);h||t.push(u[f])}return t};this.setHighlighted=function(u){const c=[...n];r.resetHighlighted();const f=o(u,e),h=l(f);return nu(h,r.highlightColour,!1),n=f,s(n,c)},this.setSelected=function(u){const c=[...e];r.resetHighlighted(),r.resetSelected();const f=l(u);return nu(f,r.selectColour,!1),e=u,s(e,c)};const l=function(u){i.length=0;for(let c=0;c<u.length;c++)u[c].material&&i.push(u[c]);return i};this.resetHighlighted=function(){const u=l(n);nu(u,r.originalColour,!0),n=[]},this.resetSelected=function(){const u=l(e);nu(u,r.originalColour,!0),e=[]},this.getSelected=function(){return e},this.reset=function(){r.resetSelected(),r.resetHighlighted()}},Hf=qc.THREE,KF=function(){const n=document.createElement("div");let e;if(n.style.height="100%",Xx.isWebGLAvailable())e=new qc.Renderer(n,window),qc.defaultMaterialColor=16777116,e.initialiseVisualisation(),e.playAnimation=!1;else{const t=Xx.getWebGLErrorMessage();n.appendChild(t)}return{Zinc:qc,renderer:e,container:n}},_t=function(){Tn.call(this),this.scene=void 0,this.rendererContainer=void 0,this.displayArea=void 0,this.graphicsHighlight=new qF,this.selectObjectOnPick=!0,this.zincRenderer=null,this.selectedScreenCoordinates=new Hf.Vector3,this.selectedCenter=void 0,this.liveUpdatesObjects=void 0,this.ignorePreviousSelected=!1};_t.prototype=Object.create(Tn.prototype),_t.prototype.getIntersectedObject=function(n){if(n){const e=n.map(i=>{if(i&&i.object&&i.object.userData){if(i.object.userData.isMarker)return 1;if(i.object.name&&i.object.userData.isZincObject)return 2}return 0});let t=e.indexOf(1);return t=t>-1?t:e.indexOf(2),n[t]}},_t.prototype.getAnnotationsFromObjects=function(n){const e=[];for(var t=0;t<n.length;t++){const i=n[t].userData;let r;if(i){if(i.isGlyph||i.isGlyphset){let s=i;i.isGlyph&&(s=i.getGlyphset()),r=s.userData?s.userData.annotation:void 0,r&&r.data&&(n[t].name&&n[t].name!=""?r.data.id=n[t].name:r.data.id=s.groupName)}else r=i.userData?i.userData.annotation:void 0,r&&r.data&&(r.data.id=n[t].name);r&&(r.data.zincObject=i)}r&&e.push(r)}return e},_t.prototype.setHighlightedByObjects=function(n,e,t,i){const r=this.graphicsHighlight.setHighlighted(n),s=this.objectsToZincObjects(n);if(i){let o=Za.MOVE;r&&(o=Za.HIGHLIGHTED);const l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}return r},_t.prototype.setHighlightedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{s&&s.getMorph()&&r.push(s.getMorph())}),this.setHighlightedByObjects(r,e,t,i)},_t.prototype.setupLiveCoordinates=function(n){if(this.liveUpdatesObjects=n,n&&n.length>0){const e=this.scene.getBoundingBoxOfZincObjects(n);let t=new Hf.Vector3;e?(e.getCenter(t),this.selectedCenter==null?this.selectedCenter=t:this.selectedCenter.copy(t)):this.selectedCenter=void 0}else this.selectedCenter=void 0},_t.prototype.objectsToZincObjects=function(n){const e=[];for(let t=0;t<n.length;t++){let i=n[t].userData;if(i)if(i.isGlyph||i.isGlyphset){let r=i;i.isGlyph&&(r=i.getGlyphset()),e.push(r)}else e.push(i)}return e},_t.prototype.setSelectedByObjects=function(n,e,t,i){let r=!1;if(this.selectObjectOnPick?r=this.graphicsHighlight.setSelected(n):r=!0,r||this.ignorePreviousSelected){const s=this.objectsToZincObjects(n);if(this.selectObjectOnPick&&this.setupLiveCoordinates(s),i){const o=Za.SELECTED,l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}}return r},_t.prototype.setSelectedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{if(s){const o=s.getMorph();o&&r.push(o)}}),this.setSelectedByObjects(r,e,t,i)},_t.prototype.findObjectsByGroupName=function(n){return this.scene.findObjectsWithGroupName(n)},_t.prototype.setHighlightedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setHighlightedByObjects(t,void 0,{},e)},_t.prototype.setSelectedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setSelectedByObjects(t,void 0,{},e)},_t.prototype.changeBackgroundColour=function(n){const e=new Hf.Color(n);this.zincRenderer&&this.zincRenderer.getThreeJSRenderer().setClearColor(e,1)},_t.prototype.resetView=function(){this.zincRenderer&&this.zincRenderer.resetView()},_t.prototype.viewAll=function(){this.zincRenderer&&this.zincRenderer.viewAll()},_t.prototype.playAnimation=function(n){this.zincRenderer&&(this.zincRenderer.playAnimation=n)},_t.prototype.setPlayRate=function(n){this.zincRenderer&&this.zincRenderer.setPlayRate(n)},_t.prototype.getPlayRate=function(n){return this.zincRenderer?this.zincRenderer.getPlayRate():0},_t.prototype.initialiseRenderer=function(n){if(this.zincRenderer===void 0||this.rendererContainer===void 0){let e=KF();this.Zinc=e.Zinc,this.zincRenderer=e.renderer,this.rendererContainer=e.container}n&&(this.displayArea=n,this.displayArea.appendChild(this.rendererContainer),this.zincRenderer&&this.zincRenderer.animate())},_t.prototype.destroy=function(){this.zincRenderer&&(this.zincRenderer.dispose(),this.zincRenderer.getThreeJSRenderer().dispose(),this.zincRenderer=void 0),Tn.prototype.destroy.call(this)};const QF=function(){this.type="anatomical",this.data=void 0,this.isAnnotation=!0},eV=function(){this.currentName="",this.currentSystem="",this.currentPart="",this.currentSpecies="",this.metaURL="",this.viewURL="",this.timeVarying=!1,this.currentTime=0},Yx=function(n){_t.call(this);const e=this;let t;this.sceneData=new eV;const i=new Array,r=new Array,s=new Array,o=new Array;let l;const u=n;this.NDCCameraControl=void 0,e.typeName="Organ Viewer",this.getSceneData=function(){return e.sceneData},this.updateTime=function(T){let C=6e3;e.scene&&(C=e.scene.getDuration());const R=T/100*C;e.sceneData.nerveMapIsActive||e.scene&&e.scene.setMorphsTime(R),e.sceneData.currentTime=T};const c=function(){let T=3e3;e.scene&&(T=e.scene.getDuration());const C=e.zincRenderer.getCurrentTime();for(let R=0;R<i.length;R++)i[R](C);!e.sceneData.nerveMapIsActive&&t&&t.setMorphsTime(C),e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setTime(C/T),e.sceneData.currentTime=C/T*100};this.getCurrentTime=function(){return e.sceneData.currentTime},this.toggleSyncControl=(T,C)=>{let R=this.scene.getZincCameraControls();T?(R.resetView(),this.NDCCameraControl=R.enableSyncControl(),R.setRotationMode(C)):(R.disableSyncControl(),this.NDCCameraControl=void 0,R.setRotationMode("free"))},this.isSyncControl=()=>this.NDCCameraControl!==void 0,this.setSyncControlZoomToBox=T=>{this.NDCCameraControl&&this.NDCCameraControl.zoomToBox(T,2)},this.setSyncControlCallback=T=>{this.NDCCameraControl&&this.NDCCameraControl.setEventCallback(T)},this.setSyncControlCenterZoom=(T,C)=>{this.NDCCameraControl&&this.NDCCameraControl.setCenterZoom(T,C)};const f=function(){if(e.zincRenderer.playAnimation&&e.liveUpdatesObjects&&e.setupLiveCoordinates(e.liveUpdatesObjects),e.selectedCenter){const T=new _r.THREE.Vector3;T.copy(e.selectedCenter);const C=e.scene.vectorToScreenXY(T);e.selectedScreenCoordinates.x=C.x,e.selectedScreenCoordinates.y=C.y}},h=function(){return function(){c()}},m=function(){return function(){f()}};this.addTimeChangedCallback=function(T){i.push(T)},this.setTexturePos=function(T){e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setSliderPos(T)},this.addSceneChangedCallback=function(T){r.push(T)},this.addOrganPartAddedCallback=function(T){s.push(T)},this.addOrganPartRemovedCallback=function(T){o.push(T)},this.setFinishDownloadCallback=function(T){l=T},this.unsetFinishDownloadCallback=function(){l=void 0},this.getNamedObjectsToScreenCoordinates=function(T,C){const R=new _r.THREE.Vector3;R.setFromMatrixPosition(obj.matrixWorld);const P=width/2,L=height/2;return R.project(C),R.x=R.x*P+P,R.y=-(R.y*L)+L,R};const y=function(T){let C,R;if(T!==void 0){let P=!1;T.object.userData&&T.object.userData.isMarker?(P=!0,R=T.object.userData.parent.getMorph()):R=T.object;try{R.userData.userData.annotation.data.lastActionOnMarker=P}finally{}if(R)if(R.name)C=R.name;else{const L=e.getAnnotationsFromObjects([R]);L&&L[0]&&(C=L[0].data.group)}}return{id:C,object:R}},p=function(){return function(T,C,R){var O;const P=e.getIntersectedObject(T),L=y(P),A={worldCoords:[P?P.point.x:0,P?P.point.y:0,P?P.point.z:0],intersected:P,intersects:T},I={x:C,y:R};if(L.id){A.threeID=(O=L.object)==null?void 0:O.id,L.object.userData.isGlyph?L.object.name?e.setSelectedByObjects([L.object],I,A,!0):e.setSelectedByZincObjects(L.object.userData.getGlyphset(),I,A,!0):e.setSelectedByObjects([L.object],I,A,!0);return}else e.setSelectedByObjects([],I,A,!0)}},d=function(){return function(T,C,R){var O;const P=e.getIntersectedObject(T),L=y(P),A={worldCoords:[P?P.point.x:0,P?P.point.y:0,P?P.point.z:0]},I={x:C,y:R};if(L.id){A.threeID=(O=L.object)==null?void 0:O.id,e.displayArea.style.cursor="pointer",e.setHighlightedByObjects([L.object],I,A,!0);return}else e.displayArea.style.cursor="auto",e.setHighlightedByObjects([],I,A,!0)}},b=function(T,C,R,P){if(P=="all"||P=="geometries"){const L=T.findGeometriesWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}if(P=="all"||P=="glyphsets"){const L=T.findGlyphsetsWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}if(P=="all"||P=="pointsets"){const L=T.findPointsetsWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}if(P=="all"||P=="lines"){const L=T.findLinesWithGroupName(C);for(let A=0;A<L.length;A++)L[A].setVisibility(R)}};this.changeGeometriesVisibility=function(T,C){b(e.scene,T,C,"geometries")},this.changeGlyphsetsVisibility=function(T,C){b(e.scene,T,C,"glyphsets")},this.changeLinesVisibility=function(T,C){b(e.scene,T,C,"lines")},this.changePointsetsVisibility=function(T,C){b(e.scene,T,C,"pointsets")},this.changeOrganPartsVisibility=function(T,C,R){let P="all";R!==void 0&&(P=R),b(e.scene,T,C,P)},this.changeOrganPartsVisibilityCallback=function(T){return function(C){e.changeOrganPartsVisibility(T,C)}},this.changeBackgroundColour=function(T){const C=new _r.THREE.Color(T);e.zincRenderer&&e.zincRenderer.getThreeJSRenderer().setClearColor(C,1)};const v=function(T,C,R,P){for(let I=0;I<s.length;I++)s[I](P,e.scene.isTimeVarying());const L=new QF,A=P.region.getFullPath();L.data={species:e.sceneData.currentSpecies,system:T,part:C,group:P.groupName,region:A,uuid:P.uuid,lastActionOnMarker:!1},P.userData.annotation=L},g=function(T,C,R,P){for(let L=0;L<o.length;L++)o[L](P)},M=function(T,C,R){return function(P){v(T,C,R,P)}},_=function(T,C,R){return function(P){g(T,C,R,P)}},E=function(){return function(){e.settingsChanged(),e.sceneData.timeVarying=e.scene.isTimeVarying(),l&&l()}};this.updateFieldvisibility=function(T,C){for(let R=0;R<T.length;R++)if(C!=R){const P=T[R].PartName;e.changeOrganPartsVisibility(P,!1)}if(C>-1){const R=T[C].PartName;if(e.scene.findGeometriesWithGroupName(R).length>0||e.scene.findGlyphsetsWithGroupName(R).length>0)e.changeOrganPartsVisibility(R,!0);else{const P=getOrganDetails(T[C].SystemName,R);P!=null&&e.scene.loadMetadataURL(u.getOrgansDirectoryPrefix()+"/"+P.meta)}}},this.getAvailableSpecies=function(T,C,R){const P=new Array;P.push("none");const L=Object.keys(organsFileMap);for(index in L){const A=L[index];A!=T&&organsFileMap[A].hasOwnProperty(C)&&organsFileMap[A][C].hasOwnProperty(R)&&P.push(A)}return P},this.getCentreAndSize=function(){const T=new _r.THREE.Vector3,C=this.scene.getBoundingBox();C.getCenter(T);const R=[T.x,T.y,T.z];C.getSize(T);const P=[T.x,T.y,T.z];return{centre:R,size:P}};const S=function(T,C,R,P){e.sceneData.nerveMapIsActive=!1,e.sceneData.nerveMap=void 0,e.sceneData.metaURL="",e.sceneData.viewURL="",e.sceneData.currentSpecies=T,e.sceneData.currentSystem=C,e.sceneData.currentPart=R,e.sceneData.currentTime=0,e.sceneData.timeVarying=!1;let L="";T&&(L=T+"/"),C&&(L=C+"/"),R&&(L=R),e.sceneData.currentName=L};this.loadOrgansFromURL=function(T,C,R,P,L,A){if(e.zincRenderer&&P&&e.sceneData.metaURL!==T){S(C,R,P);const I=e.sceneData.currentName;let O=e.zincRenderer.getSceneByName(I);O?A&&O.clearAll():O=e.zincRenderer.createScene(I),e.selectObjectOnPick=!0;for(let N=0;N<r.length;N++)r[N](e.sceneData);L&&L!=""?(e.sceneData.viewURL=L,O.loadViewURL(e.sceneData.viewURL)):e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,O.addZincObjectAddedCallbacks(M(R,P,!1)),O.addZincObjectRemovedCallbacks(_(void 0,P,!1)),O.loadMetadataURL(T,void 0,E()),e.scene=O,e.zincRenderer.setCurrentScene(O),e.graphicsHighlight.reset();const x=O.getZincCameraControls();x.enableRaycaster(O,p(),d()),x.setMouseButtonAction("AUXILIARY","ZOOM"),x.setMouseButtonAction("SECONDARY","PAN")}},this.loadGLTFFromURL=function(T,C,R){if(e.zincRenderer&&C&&e.sceneData.metaURL!==T){S(void 0,void 0,C);const P=e.sceneData.currentName;let L=e.zincRenderer.getSceneByName(P);L?R&&L.clearAll():L=e.zincRenderer.createScene(P);for(let I=0;I<r.length;I++)r[I](e.sceneData);e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,L.addZincObjectAddedCallbacks(M(void 0,C,!1)),L.addZincObjectRemovedCallbacks(_(void 0,C,!1)),L.loadGLTF(T,void 0,E()),e.scene=L,e.zincRenderer.setCurrentScene(L),e.graphicsHighlight.reset();const A=L.getZincCameraControls();A.enableRaycaster(L,p(),d()),A.setMouseButtonAction("AUXILIARY","ZOOM"),A.setMouseButtonAction("SECONDARY","PAN")}},this.alignCameraWithSelectedObject=function(T){const C=e.graphicsHighlight.getSelected();C&&C[0]&&C[0].userData&&e.scene.alignObjectToCameraView(C[0].userData,T)},this.exportSettings=function(){const T={};return T.name=e.instanceName,e.sceneData.currentSystem&&(T.system=e.sceneData.currentSystem),e.sceneData.currentSpecies&&(T.species=e.sceneData.currentSpecies),e.sceneData.currentPart&&(T.part=e.sceneData.currentPart),T.metaURL=e.sceneData.metaURL,e.sceneData.viewURL&&(T.viewURL=e.sceneData.viewURL),T.dialog="Organ Viewer",T},this.importSettings=function(T){return T&&T.dialog==this.typeName?(e.setName(T.name),T.metaURL!==void 0&&T.metaURL!=""?e.loadOrgansFromURL(T.metaURL,T.species,T.system,T.part,T.viewURL,!0):e.loadOrgans(T.species,T.system,T.part),!0):!1},function(){e.initialiseRenderer(void 0),e.zincRenderer&&(e.zincRenderer.addPreRenderCallbackFunction(h()),e.zincRenderer.addPostRenderCallbackFunction(m()))}()};Yx.prototype=Object.create(_t.prototype);var dt=function(){return dt=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},dt.apply(this,arguments)};function tV(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function l(f){try{c(i.next(f))}catch(h){o(h)}}function u(f){try{c(i.throw(f))}catch(h){o(h)}}function c(f){f.done?s(f.value):r(f.value).then(l,u)}c((i=i.apply(n,[])).next())})}function nV(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(c){return function(f){return u([c,f])}}function u(c){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(t=0)),t;)try{if(i=1,r&&(s=c[0]&2?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,r=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(n,t)}catch(f){c=[6,f],r=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function Ze(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Dt(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}typeof SuppressedError=="function"&&SuppressedError;var iV="ENTRIES",Jx="KEYS",qx="VALUES",Qt="",Wf=function(){function n(e,t){var i=e._tree,r=Array.from(i.keys());this.set=e,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return n.prototype.next=function(){var e=this.dive();return this.backtrack(),e},n.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=Po(this._path),t=e.node,i=e.keys;if(Po(i)===Qt)return{done:!1,value:this.result()};var r=t.get(Po(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},n.prototype.backtrack=function(){if(this._path.length!==0){var e=Po(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},n.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return Po(t)}).filter(function(e){return e!==Qt}).join("")},n.prototype.value=function(){return Po(this._path).node.get(Qt)},n.prototype.result=function(){switch(this._type){case qx:return this.value();case Jx:return this.key();default:return[this.key(),this.value()]}},n.prototype[Symbol.iterator]=function(){return this},n}(),Po=function(n){return n[n.length-1]},rV=function(n,e,t){var i=new Map;if(e===void 0)return i;for(var r=e.length+1,s=r+t,o=new Uint8Array(s*r).fill(t+1),l=0;l<r;++l)o[l]=l;for(var u=1;u<s;++u)o[u*r]=u;return Kx(n,e,t,i,o,1,r,""),i},Kx=function(n,e,t,i,r,s,o,l){var u,c,f=s*o;try{e:for(var h=Ze(n.keys()),m=h.next();!m.done;m=h.next()){var y=m.value;if(y===Qt){var p=r[f-1];p<=t&&i.set(l,[n.get(y),p])}else{for(var d=s,b=0;b<y.length;++b,++d){for(var v=y[b],g=o*d,M=g-o,_=r[g],E=Math.max(0,d-t-1),S=Math.min(o-1,d+t),w=E;w<S;++w){var T=v!==e[w],C=r[M+w]+ +T,R=r[M+w+1]+1,P=r[g+w]+1,L=r[g+w+1]=Math.min(C,R,P);L<_&&(_=L)}if(_>t)continue e}Kx(n.get(y),e,t,i,r,d,o,l+y)}}}catch(A){u={error:A}}finally{try{m&&!m.done&&(c=h.return)&&c.call(h)}finally{if(u)throw u.error}}},jf=function(){function n(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return n.prototype.atPrefix=function(e){var t,i;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=Dt(iu(this._tree,e.slice(this._prefix.length)),2),s=r[0],o=r[1];if(s===void 0){var l=Dt(Xf(o),2),u=l[0],c=l[1];try{for(var f=Ze(u.keys()),h=f.next();!h.done;h=f.next()){var m=h.value;if(m!==Qt&&m.startsWith(c)){var y=new Map;return y.set(m.slice(c.length),u.get(m)),new n(y,e)}}}catch(p){t={error:p}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(t)throw t.error}}}return new n(s,e)},n.prototype.clear=function(){this._size=void 0,this._tree.clear()},n.prototype.delete=function(e){return this._size=void 0,sV(this._tree,e)},n.prototype.entries=function(){return new Wf(this,iV)},n.prototype.forEach=function(e){var t,i;try{for(var r=Ze(this),s=r.next();!s.done;s=r.next()){var o=Dt(s.value,2),l=o[0],u=o[1];e(l,u,this)}}catch(c){t={error:c}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.fuzzyGet=function(e,t){return rV(this._tree,e,t)},n.prototype.get=function(e){var t=$f(this._tree,e);return t!==void 0?t.get(Qt):void 0},n.prototype.has=function(e){var t=$f(this._tree,e);return t!==void 0&&t.has(Qt)},n.prototype.keys=function(){return new Wf(this,Jx)},n.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Zf(this._tree,e);return i.set(Qt,t),this},Object.defineProperty(n.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),n.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Zf(this._tree,e);return i.set(Qt,t(i.get(Qt))),this},n.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Zf(this._tree,e),r=i.get(Qt);return r===void 0&&i.set(Qt,r=t()),r},n.prototype.values=function(){return new Wf(this,qx)},n.prototype[Symbol.iterator]=function(){return this.entries()},n.from=function(e){var t,i,r=new n;try{for(var s=Ze(e),o=s.next();!o.done;o=s.next()){var l=Dt(o.value,2),u=l[0],c=l[1];r.set(u,c)}}catch(f){t={error:f}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},n.fromObject=function(e){return n.from(Object.entries(e))},n}(),iu=function(n,e,t){var i,r;if(t===void 0&&(t=[]),e.length===0||n==null)return[n,t];try{for(var s=Ze(n.keys()),o=s.next();!o.done;o=s.next()){var l=o.value;if(l!==Qt&&e.startsWith(l))return t.push([n,l]),iu(n.get(l),e.slice(l.length),t)}}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return t.push([n,e]),iu(void 0,"",t)},$f=function(n,e){var t,i;if(e.length===0||n==null)return n;try{for(var r=Ze(n.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;if(o!==Qt&&e.startsWith(o))return $f(n.get(o),e.slice(o.length))}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Zf=function(n,e){var t,i,r=e.length;e:for(var s=0;n&&s<r;){try{for(var o=(t=void 0,Ze(n.keys())),l=o.next();!l.done;l=o.next()){var u=l.value;if(u!==Qt&&e[s]===u[0]){for(var c=Math.min(r-s,u.length),f=1;f<c&&e[s+f]===u[f];)++f;var h=n.get(u);if(f===u.length)n=h;else{var m=new Map;m.set(u.slice(f),h),n.set(e.slice(s,s+f),m),n.delete(u),n=m}s+=f;continue e}}}catch(p){t={error:p}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var y=new Map;return n.set(e.slice(s),y),y}return n},sV=function(n,e){var t=Dt(iu(n,e),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(Qt),i.size===0)Qx(r);else if(i.size===1){var s=Dt(i.entries().next().value,2),o=s[0],l=s[1];ew(r,o,l)}}},Qx=function(n){if(n.length!==0){var e=Dt(Xf(n),2),t=e[0],i=e[1];if(t.delete(i),t.size===0)Qx(n.slice(0,-1));else if(t.size===1){var r=Dt(t.entries().next().value,2),s=r[0],o=r[1];s!==Qt&&ew(n.slice(0,-1),s,o)}}},ew=function(n,e,t){if(n.length!==0){var i=Dt(Xf(n),2),r=i[0],s=i[1];r.set(s+e,t),r.delete(s)}},Xf=function(n){return n[n.length-1]},Xa,Yf="or",tw="and",oV="and_not",aV=function(){function n(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');var t=e.autoVacuum==null||e.autoVacuum===!0?ep:e.autoVacuum;this._options=dt(dt(dt({},qf),e),{autoVacuum:t,searchOptions:dt(dt({},nw),e.searchOptions||{}),autoSuggestOptions:dt(dt({},hV),e.autoSuggestOptions||{})}),this._index=new jf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Qf,this.addFields(this._options.fields)}return n.prototype.add=function(e){var t,i,r,s,o,l,u=this._options,c=u.extractField,f=u.tokenize,h=u.processTerm,m=u.fields,y=u.idField,p=c(e,y);if(p==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));if(this._idToShortId.has(p))throw new Error("MiniSearch: duplicate ID ".concat(p));var d=this.addDocumentId(p);this.saveStoredFields(d,e);try{for(var b=Ze(m),v=b.next();!v.done;v=b.next()){var g=v.value,M=c(e,g);if(M!=null){var _=f(M.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.addFieldLength(d,E,this._documentCount-1,S);try{for(var w=(r=void 0,Ze(_)),T=w.next();!T.done;T=w.next()){var C=T.value,R=h(C,g);if(Array.isArray(R))try{for(var P=(o=void 0,Ze(R)),L=P.next();!L.done;L=P.next()){var A=L.value;this.addTerm(E,d,A)}}catch(I){o={error:I}}finally{try{L&&!L.done&&(l=P.return)&&l.call(P)}finally{if(o)throw o.error}}else R&&this.addTerm(E,d,R)}}catch(I){r={error:I}}finally{try{T&&!T.done&&(s=w.return)&&s.call(w)}finally{if(r)throw r.error}}}}}catch(I){t={error:I}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}},n.prototype.addAll=function(e){var t,i;try{for(var r=Ze(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.add(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.addAllAsync=function(e,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,s=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},l=e.reduce(function(f,h,m){var y=f.chunk,p=f.promise;return y.push(h),(m+1)%s===0?{chunk:[],promise:p.then(function(){return new Promise(function(d){return setTimeout(d,0)})}).then(function(){return i.addAll(y)})}:{chunk:y,promise:p}},o),u=l.chunk,c=l.promise;return c.then(function(){return i.addAll(u)})},n.prototype.remove=function(e){var t,i,r,s,o,l,u=this._options,c=u.tokenize,f=u.processTerm,h=u.extractField,m=u.fields,y=u.idField,p=h(e,y);if(p==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));var d=this._idToShortId.get(p);if(d==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(p,": it is not in the index"));try{for(var b=Ze(m),v=b.next();!v.done;v=b.next()){var g=v.value,M=h(e,g);if(M!=null){var _=c(M.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.removeFieldLength(d,E,this._documentCount,S);try{for(var w=(r=void 0,Ze(_)),T=w.next();!T.done;T=w.next()){var C=T.value,R=f(C,g);if(Array.isArray(R))try{for(var P=(o=void 0,Ze(R)),L=P.next();!L.done;L=P.next()){var A=L.value;this.removeTerm(E,d,A)}}catch(I){o={error:I}}finally{try{L&&!L.done&&(l=P.return)&&l.call(P)}finally{if(o)throw o.error}}else R&&this.removeTerm(E,d,R)}}catch(I){r={error:I}}finally{try{T&&!T.done&&(s=w.return)&&s.call(w)}finally{if(r)throw r.error}}}}}catch(I){t={error:I}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}this._storedFields.delete(d),this._documentIds.delete(d),this._idToShortId.delete(p),this._fieldLength.delete(d),this._documentCount-=1},n.prototype.removeAll=function(e){var t,i;if(e)try{for(var r=Ze(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.remove(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new jf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},n.prototype.discard=function(e){var t=this,i=this._idToShortId.get(e);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,s){t.removeFieldLength(i,s,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},n.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,i=e.minDirtCount,r=e.batchSize,s=e.batchWait;this.conditionalVacuum({batchSize:r,batchWait:s},{minDirtCount:i,minDirtFactor:t})}},n.prototype.discardAll=function(e){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var s=Ze(e),o=s.next();!o.done;o=s.next()){var l=o.value;this.discard(l)}}catch(u){t={error:u}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},n.prototype.replace=function(e){var t=this._options,i=t.idField,r=t.extractField,s=r(e,i);this.discard(s),this.add(e)},n.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},n.prototype.conditionalVacuum=function(e,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=Qf,i.performVacuuming(e,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},n.prototype.performVacuuming=function(e,t){return tV(this,void 0,void 0,function(){var i,r,s,o,l,u,c,f,h,m,y,p,d,b,v,g,M,_,E,S,w,T,C,R,P;return nV(this,function(L){switch(L.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=e.batchSize||Kf.batchSize,s=e.batchWait||Kf.batchWait,o=1,L.label=1;case 1:L.trys.push([1,7,8,9]),l=Ze(this._index),u=l.next(),L.label=2;case 2:if(u.done)return[3,6];c=Dt(u.value,2),f=c[0],h=c[1];try{for(m=(T=void 0,Ze(h)),y=m.next();!y.done;y=m.next()){p=Dt(y.value,2),d=p[0],b=p[1];try{for(v=(R=void 0,Ze(b)),g=v.next();!g.done;g=v.next())M=Dt(g.value,1),_=M[0],!this._documentIds.has(_)&&(b.size<=1?h.delete(d):b.delete(_))}catch(A){R={error:A}}finally{try{g&&!g.done&&(P=v.return)&&P.call(v)}finally{if(R)throw R.error}}}}catch(A){T={error:A}}finally{try{y&&!y.done&&(C=m.return)&&C.call(m)}finally{if(T)throw T.error}}return this._index.get(f).size===0&&this._index.delete(f),o%r!==0?[3,4]:[4,new Promise(function(A){return setTimeout(A,s)})];case 3:L.sent(),L.label=4;case 4:o+=1,L.label=5;case 5:return u=l.next(),[3,2];case 6:return[3,9];case 7:return E=L.sent(),S={error:E},[3,9];case 8:try{u&&!u.done&&(w=l.return)&&w.call(l)}finally{if(S)throw S.error}return[7];case 9:this._dirtCount-=i,L.label=10;case 10:return[4,null];case 11:return L.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},n.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,i=e.minDirtFactor;return t=t||ep.minDirtCount,i=i||ep.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(n.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),n.prototype.has=function(e){return this._idToShortId.has(e)},n.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},n.prototype.search=function(e,t){var i,r;t===void 0&&(t={});var s=this.executeQuery(e,t),o=[];try{for(var l=Ze(s),u=l.next();!u.done;u=l.next()){var c=Dt(u.value,2),f=c[0],h=c[1],m=h.score,y=h.terms,p=h.match,d=y.length||1,b={id:this._documentIds.get(f),score:m*d,terms:Object.keys(p),queryTerms:y,match:p};Object.assign(b,this._storedFields.get(f)),(t.filter==null||t.filter(b))&&o.push(b)}}catch(v){i={error:v}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}return e===n.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(rw),o},n.prototype.autoSuggest=function(e,t){var i,r,s,o;t===void 0&&(t={}),t=dt(dt({},this._options.autoSuggestOptions),t);var l=new Map;try{for(var u=Ze(this.search(e,t)),c=u.next();!c.done;c=u.next()){var f=c.value,h=f.score,m=f.terms,y=m.join(" "),p=l.get(y);p!=null?(p.score+=h,p.count+=1):l.set(y,{score:h,terms:m,count:1})}}catch(E){i={error:E}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(i)throw i.error}}var d=[];try{for(var b=Ze(l),v=b.next();!v.done;v=b.next()){var g=Dt(v.value,2),p=g[0],M=g[1],h=M.score,m=M.terms,_=M.count;d.push({suggestion:p,terms:m,score:h/_})}}catch(E){s={error:E}}finally{try{v&&!v.done&&(o=b.return)&&o.call(b)}finally{if(s)throw s.error}}return d.sort(rw),d},Object.defineProperty(n.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),n.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},n.getDefault=function(e){if(qf.hasOwnProperty(e))return Jf(qf,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},n.loadJS=function(e,t){var i,r,s,o,l,u,c=e.index,f=e.documentCount,h=e.nextId,m=e.documentIds,y=e.fieldIds,p=e.fieldLength,d=e.averageFieldLength,b=e.storedFields,v=e.dirtCount,g=e.serializationVersion;if(g!==1&&g!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var M=new n(t);M._documentCount=f,M._nextId=h,M._documentIds=ru(m),M._idToShortId=new Map,M._fieldIds=y,M._fieldLength=ru(p),M._avgFieldLength=d,M._storedFields=ru(b),M._dirtCount=v||0,M._index=new jf;try{for(var _=Ze(M._documentIds),E=_.next();!E.done;E=_.next()){var S=Dt(E.value,2),w=S[0],T=S[1];M._idToShortId.set(T,w)}}catch(D){i={error:D}}finally{try{E&&!E.done&&(r=_.return)&&r.call(_)}finally{if(i)throw i.error}}try{for(var C=Ze(c),R=C.next();!R.done;R=C.next()){var P=Dt(R.value,2),L=P[0],A=P[1],I=new Map;try{for(var O=(l=void 0,Ze(Object.keys(A))),x=O.next();!x.done;x=O.next()){var N=x.value,B=A[N];g===1&&(B=B.ds),I.set(parseInt(N,10),ru(B))}}catch(D){l={error:D}}finally{try{x&&!x.done&&(u=O.return)&&u.call(O)}finally{if(l)throw l.error}}M._index.set(L,I)}}catch(D){s={error:D}}finally{try{R&&!R.done&&(o=C.return)&&o.call(C)}finally{if(s)throw s.error}}return M},n.prototype.executeQuery=function(e,t){var i=this;if(t===void 0&&(t={}),e===n.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var r=dt(dt(dt({},t),e),{queries:void 0}),s=e.queries.map(function(b){return i.executeQuery(b,r)});return this.combineResults(s,r.combineWith)}var o=this._options,l=o.tokenize,u=o.processTerm,c=o.searchOptions,f=dt(dt({tokenize:l,processTerm:u},c),t),h=f.tokenize,m=f.processTerm,y=h(e).flatMap(function(b){return m(b)}).filter(function(b){return!!b}),p=y.map(dV(f)),d=p.map(function(b){return i.executeQuerySpec(b,f)});return this.combineResults(d,f.combineWith)},n.prototype.executeQuerySpec=function(e,t){var i,r,s,o,l=dt(dt({},this._options.searchOptions),t),u=(l.fields||this._options.fields).reduce(function(N,B){var D;return dt(dt({},N),(D={},D[B]=Jf(l.boost,B)||1,D))},{}),c=l.boostDocument,f=l.weights,h=l.maxFuzzy,m=l.bm25,y=dt(dt({},nw.weights),f),p=y.fuzzy,d=y.prefix,b=this._index.get(e.term),v=this.termResults(e.term,e.term,1,b,u,c,m),g,M;if(e.prefix&&(g=this._index.atPrefix(e.term)),e.fuzzy){var _=e.fuzzy===!0?.2:e.fuzzy,E=_<1?Math.min(h,Math.round(e.term.length*_)):_;E&&(M=this._index.fuzzyGet(e.term,E))}if(g)try{for(var S=Ze(g),w=S.next();!w.done;w=S.next()){var T=Dt(w.value,2),C=T[0],R=T[1],P=C.length-e.term.length;if(P){M==null||M.delete(C);var L=d*C.length/(C.length+.3*P);this.termResults(e.term,C,L,R,u,c,m,v)}}}catch(N){i={error:N}}finally{try{w&&!w.done&&(r=S.return)&&r.call(S)}finally{if(i)throw i.error}}if(M)try{for(var A=Ze(M.keys()),I=A.next();!I.done;I=A.next()){var C=I.value,O=Dt(M.get(C),2),x=O[0],P=O[1];if(P){var L=p*C.length/(C.length+P);this.termResults(e.term,C,L,x,u,c,m,v)}}}catch(N){s={error:N}}finally{try{I&&!I.done&&(o=A.return)&&o.call(A)}finally{if(s)throw s.error}}return v},n.prototype.executeWildcardQuery=function(e){var t,i,r=new Map,s=dt(dt({},this._options.searchOptions),e);try{for(var o=Ze(this._documentIds),l=o.next();!l.done;l=o.next()){var u=Dt(l.value,2),c=u[0],f=u[1],h=s.boostDocument?s.boostDocument(f,"",this._storedFields.get(c)):1;r.set(c,{score:h,terms:[],match:{}})}}catch(m){t={error:m}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},n.prototype.combineResults=function(e,t){if(t===void 0&&(t=Yf),e.length===0)return new Map;var i=t.toLowerCase();return e.reduce(lV[i])||new Map},n.prototype.toJSON=function(){var e,t,i,r,s=[];try{for(var o=Ze(this._index),l=o.next();!l.done;l=o.next()){var u=Dt(l.value,2),c=u[0],f=u[1],h={};try{for(var m=(i=void 0,Ze(f)),y=m.next();!y.done;y=m.next()){var p=Dt(y.value,2),d=p[0],b=p[1];h[d]=Object.fromEntries(b)}}catch(v){i={error:v}}finally{try{y&&!y.done&&(r=m.return)&&r.call(m)}finally{if(i)throw i.error}}s.push([c,h])}}catch(v){e={error:v}}finally{try{l&&!l.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:s,serializationVersion:2}},n.prototype.termResults=function(e,t,i,r,s,o,l,u){var c,f,h,m,y;if(u===void 0&&(u=new Map),r==null)return u;try{for(var p=Ze(Object.keys(s)),d=p.next();!d.done;d=p.next()){var b=d.value,v=s[b],g=this._fieldIds[b],M=r.get(g);if(M!=null){var _=M.size,E=this._avgFieldLength[g];try{for(var S=(h=void 0,Ze(M.keys())),w=S.next();!w.done;w=S.next()){var T=w.value;if(!this._documentIds.has(T)){this.removeTerm(g,T,t),_-=1;continue}var C=o?o(this._documentIds.get(T),t,this._storedFields.get(T)):1;if(C){var R=M.get(T),P=this._fieldLength.get(T)[g],L=uV(R,_,this._documentCount,P,E,l),A=i*v*C*L,I=u.get(T);if(I){I.score+=A,fV(I.terms,e);var O=Jf(I.match,t);O?O.push(b):I.match[t]=[b]}else u.set(T,{score:A,terms:[e],match:(y={},y[t]=[b],y)})}}}catch(x){h={error:x}}finally{try{w&&!w.done&&(m=S.return)&&m.call(S)}finally{if(h)throw h.error}}}}}catch(x){c={error:x}}finally{try{d&&!d.done&&(f=p.return)&&f.call(p)}finally{if(c)throw c.error}}return u},n.prototype.addTerm=function(e,t,i){var r=this._index.fetch(i,sw),s=r.get(e);if(s==null)s=new Map,s.set(t,1),r.set(e,s);else{var o=s.get(t);s.set(t,(o||0)+1)}},n.prototype.removeTerm=function(e,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,e,i);return}var r=this._index.fetch(i,sw),s=r.get(e);s==null||s.get(t)==null?this.warnDocumentChanged(t,e,i):s.get(t)<=1?s.size<=1?r.delete(e):s.delete(t):s.set(t,s.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},n.prototype.warnDocumentChanged=function(e,t,i){var r,s;try{for(var o=Ze(Object.keys(this._fieldIds)),l=o.next();!l.done;l=o.next()){var u=l.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(i,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(c){r={error:c}}finally{try{l&&!l.done&&(s=o.return)&&s.call(o)}finally{if(r)throw r.error}}},n.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},n.prototype.addFields=function(e){for(var t=0;t<e.length;t++)this._fieldIds[e[t]]=t},n.prototype.addFieldLength=function(e,t,i,r){var s=this._fieldLength.get(e);s==null&&this._fieldLength.set(e,s=[]),s[t]=r;var o=this._avgFieldLength[t]||0,l=o*i+r;this._avgFieldLength[t]=l/(i+1)},n.prototype.removeFieldLength=function(e,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var s=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=s/(i-1)},n.prototype.saveStoredFields=function(e,t){var i,r,s=this._options,o=s.storeFields,l=s.extractField;if(!(o==null||o.length===0)){var u=this._storedFields.get(e);u==null&&this._storedFields.set(e,u={});try{for(var c=Ze(o),f=c.next();!f.done;f=c.next()){var h=f.value,m=l(t,h);m!==void 0&&(u[h]=m)}}catch(y){i={error:y}}finally{try{f&&!f.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}}},n.wildcard=Symbol("*"),n}(),Jf=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0},lV=(Xa={},Xa[Yf]=function(n,e){var t,i;try{for(var r=Ze(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value,l=n.get(o);if(l==null)n.set(o,e.get(o));else{var u=e.get(o),c=u.score,f=u.terms,h=u.match;l.score=l.score+c,l.match=Object.assign(l.match,h),iw(l.terms,f)}}}catch(m){t={error:m}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},Xa[tw]=function(n,e){var t,i,r=new Map;try{for(var s=Ze(e.keys()),o=s.next();!o.done;o=s.next()){var l=o.value,u=n.get(l);if(u!=null){var c=e.get(l),f=c.score,h=c.terms,m=c.match;iw(u.terms,h),r.set(l,{score:u.score+f,terms:u.terms,match:Object.assign(u.match,m)})}}}catch(y){t={error:y}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},Xa[oV]=function(n,e){var t,i;try{for(var r=Ze(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;n.delete(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},Xa),cV={k:1.2,b:.7,d:.5},uV=function(n,e,t,i,r,s){var o=s.k,l=s.b,u=s.d,c=Math.log(1+(t-e+.5)/(e+.5));return c*(u+n*(o+1)/(n+o*(1-l+l*i/r)))},dV=function(n){return function(e,t,i){var r=typeof n.fuzzy=="function"?n.fuzzy(e,t,i):n.fuzzy||!1,s=typeof n.prefix=="function"?n.prefix(e,t,i):n.prefix===!0;return{term:e,fuzzy:r,prefix:s}}},qf={idField:"id",extractField:function(n,e){return n[e]},tokenize:function(n){return n.split(pV)},processTerm:function(n){return n.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(n,e){typeof(console==null?void 0:console[n])=="function"&&console[n](e)},autoVacuum:!0},nw={combineWith:Yf,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:cV},hV={combineWith:tw,prefix:function(n,e,t){return e===t.length-1}},Kf={batchSize:1e3,batchWait:10},Qf={minDirtFactor:.1,minDirtCount:20},ep=dt(dt({},Kf),Qf),fV=function(n,e){n.includes(e)||n.push(e)},iw=function(n,e){var t,i;try{for(var r=Ze(e),s=r.next();!s.done;s=r.next()){var o=s.value;n.includes(o)||n.push(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},rw=function(n,e){var t=n.score,i=e.score;return i-t},sw=function(){return new Map},ru=function(n){var e,t,i=new Map;try{for(var r=Ze(Object.keys(n)),s=r.next();!s.done;s=r.next()){var o=s.value;i.set(parseInt(o,10),n[o])}}catch(l){e={error:l}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return i},pV=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;const mV=["label","models","source"];class gV{constructor(){this._searchEngine=new aV({fields:["path","name"],storeFields:["path"],tokenize:(e,t)=>e.split('"')}),this._featureIds=[],this.zincObjects=[],this.regions=[]}indexMetadata(e,t){const i=[];for(const r of mV)if(r in t){const s=t[r];i.includes(s)||(this.addTerm_(e,s),i.push(s))}}addZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.add(s,{fields:["path","name"]}),this.zincObjects.push(e)}removeZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.remove(s,{fields:["path","name"]});for(let o=0;o<this.zincObjects.length;o++)if(t===this.zincObjects[o].uuid){this.zincObjects.splice(o,1);return}}addRegion(e,t){const i={path:e.getFullPath(),name:e.getName(),id:t};this._searchEngine.add(i,{fields:["path","name"]}),this.regions.push(e)}clearResults(){this._}removeAll(){this._searchEngine.removeAll(),this.zincObjects.length=0,this.regions.length=0}auto_suggest(e){return this._searchEngine.autoSuggest(e,{prefix:!0})}processResults(e,t){const i={regionPath:void 0,label:'Search Results for "'};return Array.isArray(t)?i.label+=",".join(t):i.label+=t,i.label+='"',e.length===1&&(e[0].isRegion?i.regionPath=e[0].getFullPath():e[0].isZincObject&&(i.regionPath=e[0].getRegion().getFullPath(),i.label=e[0].groupName)),i.zincObjects=cF(e),i}search(e){const t=this._searchEngine.search(e,{prefix:!0}),i=this.zincObjects.filter(s=>t.map(o=>o.id).includes(s.uuid)),r=this.regions.filter(s=>t.map(o=>o.id).includes(s.uuid));return i.push(...r),i}searchTerms(e){let t=[];return e.forEach(i=>{const r=this.search(i);t.push(...r)}),t}searchAndProcessResult(e){let t=[];return Array.isArray(e)?t=this.searchTerms(e):t=this.search(e),this.processResults(t,e)}}const yV={name:"ScaffoldVuer",components:{Button:Ki,Col:vn,Loading:YL,Option:Ls,Popover:Rl,Row:kn,Select:As,Slider:Pn,TabPane:Zg,Tabs:$g,MapSvgIcon:np.MapSvgIcon,MapSvgSpriteColor:np.MapSvgSpriteColor,PrimitiveControls:Fx,ScaffoldTooltip:Zx,ElIconWarningFilled:um,ElIconArrowDown:Lu,ElIconArrowLeft:Wi,DrawToolbar:ou.DrawToolbar,ScaffoldTreeControls:Vx},setup(n){return{annotator:a.markRaw(new ZF(`${n.flatmapAPI}annotator`))}},props:{url:{type:String,default:""},showColourPicker:{type:Boolean,default:!1},displayUI:{type:Boolean,default:!0},displayAtStartUp:{type:Boolean,default:!0},helpMode:{type:Boolean,default:!1},helpModeActiveItem:{type:Number,default:0},helpModeDialog:{type:Boolean,default:!1},helpModeLastItem:{type:Boolean,default:!1},helpModeInitialIndex:{type:Number,default:0},displayWarning:{type:Boolean,default:!0},warningMessage:{type:String,default:"Beta feature - under active development"},displayLatestChanges:{type:Boolean,default:!1},latestChangesMessage:{type:String,default:"New feature - Local search is now available"},displayMarkers:{type:Boolean,default:!1},markerCluster:{type:Boolean,default:!1},markerLabels:{type:Object,default:function(){return{}}},displayMinimap:{type:Boolean,default:!1},format:{type:String,default:"metadata"},minimapSettings:{type:Object,default:function(){return{x_offset:16,y_offset:16,width:128,height:128,align:"top-right"}}},enableOpenMapUI:{type:Boolean,default:!1},openMapOptions:{type:Array,default:function(){return[{display:"Open AC Map",key:"AC"},{display:"Open FC Map",key:"FC"},{display:"Open 3D Human Map",key:"3D"}]}},state:{type:Object,default:void 0},region:{type:String,default:""},viewURL:{type:String,default:""},render:{type:Boolean,default:!0},flatmapAPI:{type:String,default:"https://mapcore-demo.org/current/flatmap/v3/"},enableLocalAnnotations:{type:Boolean,default:!1}},provide(){return{flatmapAPI:this.flatmapAPI,scaffoldUrl:this.url,$annotator:this.annotator,boundingDims:this.boundingDims}},data:function(){return{annotator:void 0,createData:{drawingBox:!1,toBeConfirmed:!1,points:[],shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1},currentTime:0,timeVarying:!1,isPlaying:!1,isReady:!1,isTransitioning:!1,tooltipAppendToBody:!1,hoverVisibilities:[{value:!1,ref:"zoomInPopover"},{value:!1,ref:"zoomOutPopover"},{value:!1,ref:"zoomFitPopover"},{value:!1,ref:"openMapPopover"},{value:!1,ref:"settingsPopover"},{value:!1,ref:"sliderPopover"},{value:!1,ref:"regionVisibilityPopover"},{value:!1,ref:"warningPopover"},{value:!1,ref:"whatsNewPopover"},{value:!1,refs:"toolbarPopover",ref:"editPopover"},{value:!1,refs:"toolbarPopover",ref:"pointPopover"},{value:!1,refs:"toolbarPopover",ref:"lineStringPopover"},{value:!1,refs:"toolbarPopover",ref:"deletePopover"}],inHelp:!1,helpModeActiveIndex:this.helpModeInitialIndex,loading:!1,duration:3e3,drawerOpen:!0,currentBackground:"white",availableBackground:["white","lightskyblue","black"],minimisedSlider:!1,sliderPosition:"",timeMax:100,orginalDuration:"",animateDuration:"6secs",playSpeed:[{value:.1,label:"0.1x"},{value:.5,label:"0.5x"},{value:1,label:"1x"},{value:2,label:"2x"},{value:5,label:"5x"},{value:10,label:"10x"}],currentSpeed:1,timeStamps:{},defaultCheckedKeys:[],tData:{label:"",region:"",visible:!1,x:200,y:200,active:!1},fileFormat:"metadata",previousMarkerLabels:a.markRaw({}),viewingMode:"Exploration",viewingModes:{Exploration:"View and explore detailed visualization of 3D scaffolds",Annotation:"View internal identifiers of features"},openMapRef:void 0,backgroundIconRef:void 0,userInformation:void 0,toolbarOptions:["Delete","Edit","Point","LineString"],activeDrawTool:void 0,activeDrawMode:void 0,localAnnotationsList:a.markRaw([]),boundingDims:{centre:[0,0,0],size:[1,1,1]}}},watch:{format:{handler:function(n){this.fileFormat=n},immediate:!0},url:{handler:function(n){(this.state===void 0||this.state.url===void 0)&&this.setURL(n)},immediate:!0},region:{handler:function(n){this.state||this.viewURL||this.setFocusedRegion(n)},immediate:!0},state:{handler:function(n){this.setState(n)},immediate:!0,deep:!0},viewURL:{handler:function(n){this.updateViewURL(n)},immediate:!0},helpMode:function(n,e){n!==e&&this.setHelpMode(n)},helpModeActiveItem:function(){this.helpMode&&(this.helpModeActiveIndex+=1,this.setHelpMode(this.helpMode))},displayMarkers:function(n){this.$module.scene.displayMarkers=n,this.$module.scene.forcePickableObjectsUpdate=!0},displayMinimap:function(n){this.$module.scene.displayMinimap=n},currentTime:{handler:function(){this.$emit("timeChanged",this.currentTime)}},duration:function(){this.$module.scene.setDuration(this.duration)},minimapSettings:{deep:!0,handler:"updateMinimapScissor"},render:function(n){this.toggleRendering(n)},markerCluster:{handler:function(n){this.$module.scene.enableMarkerCluster(n)},immediate:!0},markerLabels:function(n){for(const[e,t]of Object.entries(this.previousMarkerLabels))this.setMarkerModeForObjectsWithName(e,t,"off");for(const[e,t]of Object.entries(n))this.setMarkerModeForObjectsWithName(e,t,"on");this.previousMarkerLabels=a.markRaw({...n})}},beforeCreate:function(){this.$module=new Yx,this.selectedObjects=[],this.hoveredObjects=[],this.currentBackground="white",this._currentURL=void 0,this.availableBackground=["white","black","lightskyblue"],this.$_searchIndex=new gV},mounted:function(){this.openMapRef=a.shallowRef(this.$refs.openMapRef),this.backgroundIconRef=a.shallowRef(this.$refs.backgroundIconRef),this.$refs.scaffoldTreeControls.setModule(this.$module);let n=new JF;n.subscribe(this,this.eventNotifierCallback),this.$module.addNotifier(n),this.$module.addOrganPartAddedCallback(this.zincObjectAdded),this.$module.addOrganPartRemovedCallback(this.zincObjectRemoved),this.$module.initialiseRenderer(this.$refs.display),this.toggleRendering(this.render),this.ro=new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer),this.helpTextWait=[],this.helpTextWait.length=this.hoverVisibilities.length,this.defaultRate=this.$module.getPlayRate(),this.$module.zincRenderer.addPreRenderCallbackFunction(()=>{this.currentTime=this.$module.getCurrentTime()})},beforeUnmount:function(){this.ro&&this.ro.disconnect(),this.$module.destroy(),this.$module=void 0},computed:{...jx($x,["userToken"]),annotationDisplay:function(){return this.viewingMode==="Annotation"&&this.tData.active===!0&&this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"}},methods:{addZincObject:function(n){this.$module.scene&&this.$module.scene.addZincObject(n)},zincObjectAdded:function(n){this.loading=!1,this.$_searchIndex.addZincObject(n,n.uuid),this.timeVarying===!1&&n.isTimeVarying()&&(this.timeVarying=!0),this.$emit("zinc-object-added",n)},removeFromLocalAnnotationList:function(n,e){for(let t=0;t<this.localAnnotationsList.length;t++){const i=this.localAnnotationsList[t];if(i.region===n&&i.group===e){this.localAnnotationsList.splice(t,1);return}}},zincObjectRemoved:function(n){if(this.$module.scene){const e=n.region.getFullPath(),t=n.groupName;n.region.findObjectsWithGroupName(t,!1).length===0&&(this.$_searchIndex.removeZincObject(n,n.uuid),this.removeFromLocalAnnotationList(e,t))}},addRegionsToSearchIndex:function(){this.$module.scene.getRootRegion().getChildRegions(!0).forEach(t=>{this.$_searchIndex.addRegion(t,t.uuid)})},backgroundChangeCallback:function(n){this.currentBackground=n,this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground,1)},captureScreenshotCallback:function(){this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);let n=this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL("image/png"),e=document.createElement("a");document.body.append(e),this.captureFilename?e.download=this.captureFilename:e.download="screenshot.png",e.href=n,e.click(),e.remove()},captureScreenshot:function(n){this.captureFilename=n,this.captureID=this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback)},clearScene:function(){this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.$_searchIndex&&this.$_searchIndex.removeAll(),this.$module.scene&&this.$module.scene.clearAll()},addAndEditAnnotations:function(n,e,t,i){const r=Rx(this.annotator,this.userToken,t,n,e,this.url,i);if(this.enableLocalAnnotations){r.group=e;let s=n;s.slice(-1)==="/"&&(s=s.slice(0,-1)),r.region=s,this.removeFromLocalAnnotationList(s,e),this.localAnnotationsList.push(r)}this.$emit("userPrimitivesUpdated",{region:n,group:e,zincObject:t})},primitivesUpdated:function(n){if(n.isZincObject&&n.isEditable){const e=n.groupName,t=n.region.getFullPath();this.addAndEditAnnotations(t,e,n,"Position Updated")}},confirmCreate:function(n){if(n){let e;if(n.shape==="Point")e=this.$module.scene.createPoints(n.region,n.group,this.createData.points,n.group,8942);else if(n.shape==="LineString")e=this.$module.scene.createLines(n.region,n.group,[this.createData.points[0],this.createData.points[1]],60962);else if(n.editingIndex>-1&&this._editingZincObject){this._editingZincObject.editVertices([this.createData.points[1]],n.editingIndex);const t=this._editingZincObject.region.getFullPath()+"/",i=this._editingZincObject.groupName;this.addAndEditAnnotations(t,i,this._editingZincObject,"Position Updated")}e&&(this.addAndEditAnnotations(n.region,n.group,e.zincObject,"Create"),e.zincObject.isEditable=!0,this.tData.region=n.region,this.tData.label=n.group,this.changeActiveByName([n.group],n.region,!1))}this.cancelCreate()},cancelCreate:function(){this.createData.points.length=0,this.createData.toBeConfirmed=!1,this._editingZincObject=void 0,this.createData.editingIndex=-1,this.createData.faceIndex=-1,this.tData.visible=!1,this.createData.toBeDeleted=!1,this._tempLine&&(this.$module.scene.removeTemporaryPrimitive(this._tempLine),this._tempLine=void 0),this._tempPoint&&(this.$module.scene.removeTemporaryPrimitive(this._tempPoint),this._tempPoint=void 0)},confirmDelete:function(){var n;if((n=this._editingZincObject)!=null&&n.isEditable){const e=this._editingZincObject.region.getFullPath()+"/",t=this._editingZincObject.groupName;Rx(this.annotator,this.userToken,this._editingZincObject,e,t,this.url,"Deleted")&&this.$module.scene.getRootRegion().findChildFromPath(e).removeZincObject(this._editingZincObject)}this.cancelCreate()},formatTooltip(n){if(this.timeMax>=1e3&&n){let e=(n%6e4/1e3).toFixed(2)+"s";return(n>6e4?(n/6e4).toFixed(0)+"m ":"")+e}return n?n.toFixed(2)+" ms":"0 ms"},fitWindow:function(){if(this.$module.scene){let n=!1;this._boundingBoxGeo&&(n=this._boundingBoxGeo.getVisibility(),this._boundingBoxGeo.setVisibility(!1)),this.$module.scene.viewAll(),this._boundingBoxGeo&&(aF(this._boundingBoxGeo,this.$module.scene),this._boundingBoxGeo.setVisibility(n))}},zoomIn:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(-1)},zoomOut:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(1)},speedChanged:function(n){this.currentSpeed=n,this.$module.setPlayRate(this.defaultRate*this.currentSpeed)},stopFreeSpin:function(){this.$module.scene.getZincCameraControls().stopAutoTumble(),this.isTransitioning=!1},findObjectsWithGroupName:function(n){let e=[];return n&&n!=""&&this.$module.scene&&(e=this.$module.scene.findObjectsWithGroupName(n)),e},toggleDrawing:function(n,e){this.createData.toBeDeleted=!1,n==="mode"?(this.activeDrawMode=e,this.createData.shape="",this.$module.selectObjectOnPick=!0):n==="tool"&&(this.activeDrawTool=e,this.createData.shape=this.activeDrawTool,this.$module.selectObjectOnPick=!1)},toggleDrawingBox:function(){this.createData.drawingBox=!this.createData.drawingBox},viewRegion:function(n){const e=this.$module.scene.getRootRegion(),t=Array.isArray(n)?n:[n],i=Lo(e,t,"",!0);let r=this.$module.scene.getBoundingBoxOfZincObjects(i);if(r){if(this.$module.isSyncControl())this.$module.setSyncControlZoomToBox(r);else{const s=this.$module.scene.camera.far-this.$module.scene.camera.near;this.$module.scene.viewAllWithBoundingBox(r),this.$module.scene.camera.far=this.$module.scene.camera.near+s,this.$module.scene.camera.updateProjectionMatrix()}return!0}return!1},setFocusedRegion:function(n){n&&(this.isReady?this.viewRegion(n):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({region:n})))},updateViewURL:function(n){if(n)if(this.isReady){const e=new URL(n,this.url);this.$module.scene.loadViewURL(e)}else this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewURL:n}))},createEditTemporaryLines:function(n){const e=n[0].extraData.worldCoords;if(e&&(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.createData.points.length===1)if(this.showRegionTooltipWithAnnotations(n,!0,!1),this.tData.x=50,this.tData.y=200,this._tempLine){const t=this._tempLine.geometry.getAttribute("position");t.setXYZ(1,e[0],e[1],e[2]),t.needsUpdate=!0}else this._tempLine=this.$module.scene.addTemporaryLines([this.createData.points[0],e],65535)},draw:function(n){n&&n.length>0&&n[0].data.group&&n[0].extraData.worldCoords&&(this.createData.shape==="Point"?this.drawPoint(n[0].extraData.worldCoords,n):(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.drawLine(n[0].extraData.worldCoords,n))},drawPoint:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length=0,this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.toBeConfirmed=!0)},drawLine:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length===1?(this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this.createData.toBeConfirmed=!0):(this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.points.push(n)))},getRendererInfo:function(){if(this.$module.zincRenderer)return this.$module.zincRenderer.getThreeJSRenderer().info},freeSpin:function(){if(this.$module.scene){let n=this.$module.scene.getZincCameraControls();this.isTransitioning=!0,n.enableAutoTumble(),n.autoTumble([1,0],Math.PI,!0),setTimeout(this.stopFreeSpin,4e3)}},activateAnnotationMode:function(n,e){if(this.userInformation||this.enableLocalAnnotations)if(this.createData.toBeDeleted=!1,this.createData.shape!==""||this.createData.editingIndex>-1)n.length>0&&e.identifiers[0].coords&&(this.createData.x=e.identifiers[0].coords.x,this.createData.y=e.identifiers[0].coords.y,this.draw(e.identifiers));else{if(this.activeDrawMode==="Edit"){const t=rF(e);t&&this.activateEditingMode(t.zincObject,t.faceIndex,t.vertexIndex,t.point)}else if(this.activeDrawMode==="Delete"){const t=sF(e);t&&(this.createData.toBeDeleted=!0,this._editingZincObject=t)}this.activeDrawMode!=="Point"&&this.activeDrawMode!=="LineString"?this.showRegionTooltipWithAnnotations(e.identifiers,!0,!1):this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)}else this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)},activateEditingMode:function(n,e,t,i){this._editingZincObject=n,this.createData.faceIndex=e,this.createData.editingIndex=t,this.drawLine(i,void 0)},eventNotifierCallback:function(n){if(!(this.createData.toBeConfirmed||this.createData.toBeDeleted)){const e=[];let t=[];if((n.eventType==1||n.eventType==2)&&(n.identifiers.forEach(i=>{if(i){let r=i.data.id?i.data.id:i.data.group;e.push(r)}}),t=n.zincObjects),n.eventType==1)this.viewingMode==="Annotation"?this.activateAnnotationMode(e,n):(this.$refs.scaffoldTreeControls&&(e.length>0?(this.$refs.scaffoldTreeControls.updateActiveUI(t),this.updatePrimitiveControls(t)):(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls.removeActive(!1))),this.$emit("scaffold-selected",n.identifiers));else if(n.eventType==2){if(this.selectedObjects.length===0){if(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls&&(e.length>0?this.$refs.scaffoldTreeControls.updateHoverUI(t):this.$refs.scaffoldTreeControls.removeHover(!0)),n.identifiers.length>0&&n.identifiers[0]){let i=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group;n.identifiers[0].coords&&(this.tData.active=!1,this.tData.visible=!0,this.tData.label=i,n.identifiers[0].data.region?this.tData.region=n.identifiers[0].data.region:this.tData.region=void 0,this.tData.x=n.identifiers[0].coords.x,this.tData.y=n.identifiers[0].coords.y,this.createEditTemporaryLines(n.identifiers))}this.$emit("scaffold-highlighted",n.identifiers)}}else if(n.eventType==3&&n.identifiers.length>0&&n.identifiers[0]){if(n.identifiers[0].coords){const i=this.$refs.scaffoldContainer.getBoundingClientRect();this.tData.x=n.identifiers[0].coords.x-i.left,this.tData.y=n.identifiers[0].coords.y-i.top}this.createEditTemporaryLines(n.identifiers)}}},getCoordinatesOfSelected:function(){if(this.selectedObjects&&this.selectedObjects.length>0)return this.$module.scene.getObjectsScreenXY(this.selectedObjects)},getDynamicSelectedCoordinates:function(){return this.$module.selectedScreenCoordinates},timeChange:function(n){let e=n/this.timeMax*100;e!=this.currentTime&&this.$module.updateTime(e)},updatePrimitiveControls:function(n){this.selectedObjects=n,this.selectedObjects&&this.selectedObjects.length>0?this.$refs.primitiveControls.setObject(this.selectedObjects[0]):this.$refs.primitiveControls.setObject(void 0)},objectSelected:function(n,e){this.updatePrimitiveControls(n),this.$module.setSelectedByZincObjects(n,void 0,{},e)},objectHovered:function(n,e){this.hoveredObjects=n,this.$module.setHighlightedByZincObjects(n,void 0,{},e)},changeActiveByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeActive(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeActiveByNames(r,e,t)}},changeHighlightedByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeHover(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeHoverByNames(r,e,t)}},play:function(n){this.$module.playAnimation(n),this.isPlaying=n},setHelpMode:function(n){const e=this.hoverVisibilities.length,t=e-1,i=this.hoverVisibilities[this.helpModeActiveIndex];if(i){const r=i==null?void 0:i.refs,s=i==null?void 0:i.ref;this.$refs[r||s]||(this.helpModeActiveIndex+=1)}n||(this.helpModeActiveIndex=this.helpModeInitialIndex),n&&this.helpModeActiveIndex>=t&&this.$emit("help-mode-last-item",!0),n&&!this.helpModeDialog?(this.inHelp=!0,this.hoverVisibilities.forEach(r=>{r.value=!0})):n&&this.helpModeDialog&&e>this.helpModeActiveIndex?this.helpModeActiveIndex>-1&&setTimeout(()=>{this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}),this.showHelpText(this.helpModeActiveIndex,200)},300):(this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}))},displayTooltipOfObjectsCallback:function(n,e,t,i,r){const s=this;return function(){s.$module.zincRenderer.removePostRenderCallbackFunction(s.$_regionTooltipCallback),s.$_regionTooltipCallback=void 0,s.displayTooltipOfObjects(n,e,t,i,r)}},liveUpdateTooltipPosition:function(){this.$module.selectedCenter&&(this.tData.x=this.$module.selectedScreenCoordinates.x,this.tData.y=this.$module.selectedScreenCoordinates.y)},displayTooltipOfObjects:function(n,e,t,i,r){if(e.length>0){let s=e[0].getClosestVertexDOMElementCoords(this.$module.scene);if(s)return s.inView?(n.includes("Search Results for")?this.tData.active=!1:this.tData.active=!0,this.tData.visible=!0,this.tData.label=n,this.tData.x=s.position.x,this.tData.y=s.position.y,this.tData.region=t,this.$_liveCoordinatesUpdated&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),r&&(this.$module.setupLiveCoordinates(e),this.$_liveCoordinatesUpdated=this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition))):(this.hideRegionTooltip(),i&&(this.$module.scene.viewAll(),this.$_regionTooltipCallback&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback),this.$_regionTooltipCallback=this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(n,e,t,i,r)))),!0}return this.hideRegionTooltip(),!1},showRegionTooltipWithObjects:function(n,e,t,i,r){return n&&e&&e.length>0&&this.$module.scene?this.displayTooltipOfObjects(n,e,t,i,r):(this.hideRegionTooltip(),!1)},showRegionTooltip:function(n,e,t){if(n&&this.$module.scene){const i=this.$module.scene.getRootRegion(),s=Lo(i,[n],"",!0);let o;return s&&s.length>0&&(o=s[0].getRegion().getFullPath()),this.showRegionTooltipWithObjects(n,s,o,e,t)}return this.hideRegionTooltip(),!1},showRegionTooltipWithAnnotations:function(n,e,t){if(this.$module.scene){const i=Lx(this.$module.scene,n);if(i&&i.objects.length>0)return this.showRegionTooltipWithObjects(i.label,i.objects,i.regionPath,e,t)}return this.hideRegionTooltip(),!1},changeViewingMode:function(n){if(this.$module){if(n&&(this.viewingMode=n),this.viewingMode==="Annotation"){let e=!1;this.userInformation&&(e=!0),this.userInformation=void 0,this.annotator.authenticate(this.userToken).then(t=>{t.name&&t.email&&t.canUpdate&&(this.userInformation=t,e||(Px(this.annotator,this.userToken,this.url).then(i=>{i&&i.features&&Df(this.$module.scene,i.features)}),Px(this.annotator,this.userToken,encodeURIComponent(this.url)).then(i=>{i&&i.features&&Df(this.$module.scene,i.features)})))})}else this.viewingMode==="Exploration"&&(this.activeDrawTool=void 0,this.activeDrawMode=void 0,this.createData.shape="");this.viewingMode==="Exploration"||this.viewingMode==="Annotation"&&this.createData.shape===""?this.$module.selectObjectOnPick=!0:this.$module.selectObjectOnPick=!1,this.cancelCreate()}},hideRegionTooltip:function(){this.$_liveCoordinatesUpdated&&(this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),this.$module.setupLiveCoordinates(void 0)),this.tData.active=!1,this.tData.visible=!1,this.tData.region=void 0},setMarkerModeForObjectsWithName:function(n,e,t){if(n&&this.$module.scene){let i=e;typeof e=="number"&&(i={number:e,imgURL:void 0});const r=this.$module.scene.getRootRegion();Lo(r,[n],"",!0).forEach(l=>l.setMarkerMode(t,i))}},setMarkerModeWithAnnotations:function(n,e){if(this.$module.scene){const t=Lx(this.$module.scene,n);t&&t.objects.length>0&&t.objects.forEach(i=>i.setMarkerMode(e))}},showHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!0,this.$emit("shown-tooltip")},e))},hideHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!1},e))},search:function(n,e){if(this.$_searchIndex){if(n===void 0||n===""||Array.isArray(n)&&n.length===0)return this.objectSelected([],!0),!1;{const t=this.$_searchIndex.searchAndProcessResult(n),i=t.zincObjects;if(i.length>0){if(this.objectSelected(i,!0),e)for(let r=0;r<i.length;r++)i[r]&&i[r].groupName&&this.showRegionTooltipWithObjects(t.label,i,t.regionPath,!0,!0);return!0}else this.objectSelected([],!0)}}return!1},fetchSuggestions:function(n){return this.$_searchIndex===void 0?[]:this.$_searchIndex.auto_suggest(n)},updateMinimapScissor:function(){Object.keys(this.minimapSettings).forEach(n=>{this.$module.scene.minimapScissor[n]=this.minimapSettings[n]}),this.$module.scene.minimapScissor.updateRequired=!0},updateSettingsfromScene:function(){this.currentSpeed=1,this.$module.setPlayRate(this.defaultRate),this.orginalDuration=this.$module.scene.getMetadataTag("OriginalDuration"),this.animateDuration=this.$module.scene.getMetadataTag("Duration");let n=this.$module.scene.getMetadataTag("TimeStamps");this.timeStamps={};for(const e in n)this.timeStamps[n[e]]=e;this.timeMax=this.$module.scene.getDuration()},setURLFinishCallback:function(n){return()=>{if(n){if(n.viewport)this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport);else if(n.viewURL&&n.viewURL!==""){const i=new URL(n.viewURL,this.url);this.$module.scene.loadViewURL(i)}else n.region&&n.region!==""&&this.viewRegion(n.region);n.visibility&&this.$nextTick(()=>{this.$refs.scaffoldTreeControls.setState(n.visibility)})}this.localAnnotationsList.length=0,this.updateSettingsfromScene(),this.$module.updateTime(.01),this.$module.updateTime(0),this.$module.unsetFinishDownloadCallback(),this.addRegionsToSearchIndex(),this.$emit("on-ready"),this.setMarkers(),this._boundingBoxGeo=this.$module.scene.addBoundingBoxPrimitive("_helper","boundingBox",4251856,.15),this._slides=this.$module.scene.addSlicesPrimitive("_helper",["x-plane","y-plane","z-plane"],[16733525,5635925,5592575],.5);const{centre:e,size:t}=this.$module.getCentreAndSize();this.boundingDims.centre=e,this.boundingDims.size=t,this.isReady=!0}},getState:function(){let n={format:this.fileFormat,url:this._currentURL,viewport:void 0,visibility:void 0};if(this.$refs.scaffoldTreeControls&&(n.visibility=this.$refs.scaffoldTreeControls.getState()),this.$module.scene){let e=this.$module.scene.getZincCameraControls();n.viewport=e.getCurrentViewport()}return n},setState:function(n){n&&(n.url&&n.url!==this._currentURL?this.setURLAndState(n.url,{fileFormat:n.fileFormat,viewport:n.viewport,visibility:n.visibility}):(n.viewport||n.visibility)&&(this.isReady&&this.$module.scene?(n.viewport&&this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport),n.visibility&&this.$refs.scaffoldTreeControls.setState(n.visibility)):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:n.viewport,visibility:n.visibility}))))},exportGLTF:function(n){return this.$module.scene.exportGLTF(n)},getLocalAnnotations:function(){return[...this.localAnnotationsList]},importLocalAnnotations:function(n){if(this.enableLocalAnnotations){n.forEach(t=>{const i=t.group,r=t.region;let s=r.slice(-1)==="/"?r:r+"/";const o=s.slice(0,-1);t.region=o,s=s+i;const l=s;t.item.id=l,t.feature.id=l});const e=n.map(t=>t.feature);Df(this.$module.scene,e),n.forEach(t=>{this.localAnnotationsList.push({...t})})}},setURLAndState:function(n,e){if(n!=this._currentURL){e&&e.format&&(this.fileFormat=e.format);let t=e&&e.viewport?e.viewport:void 0,i=e&&e.visibility?e.visibility:void 0;this._currentURL=n,this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.loading=!0,this.timeVarying=!1,this.isReady=!1,this.$_searchIndex.removeAll(),this.hideRegionTooltip(),this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:t,region:this.region,viewURL:this.viewURL,visibility:i})),this.fileFormat==="gltf"?this.$module.loadGLTFFromURL(n,"scene",!0):this.$module.loadOrgansFromURL(n,void 0,void 0,"scene",void 0,!0),this.$module&&this.$module.scene&&(this.$module.scene.displayMarkers=this.displayMarkers,this.$module.scene.forcePickableObjectsUpdate=!0,this.$module.scene.displayMinimap=this.displayMinimap,this.updateMinimapScissor())}},setURL:function(n){this.setURLAndState(n,void 0)},drawerToggled:function(n){this.drawerOpen=n,this.adjustLayout()},adjustLayout:function(){if(this.$refs.scaffoldContainer){let n=this.$refs.scaffoldContainer.clientWidth;this.minimisedSlider=n<812,this.minimisedSlider?this.sliderPosition=this.drawerOpen?"right":"left":this.sliderPosition=""}},toggleRendering:function(n){this.$module.zincRenderer&&(n?this.$module.zincRenderer.animate():this.$module.zincRenderer.stopAnimate())},forceResize:function(){this.$module.zincRenderer&&this.$module.zincRenderer.onWindowResize()},syncControlCallback:function(){const n=this.$module.NDCCameraControl.getPanZoom();this.tData.visible&&this.showRegionTooltip(this.tData.label,!0,!0),this.$emit("scaffold-navigated",n)},toggleSyncControl:function(n,e){this.$module.toggleSyncControl(n,e),this.$module.setSyncControlCallback(this.syncControlCallback)},setMarkers:function(){for(const[n,e]of Object.entries(this.markerLabels))this.setMarkerModeForObjectsWithName(n,e,"on")}}},tp=n=>(a.pushScopeId("data-v-a5cf514e"),n=n(),a.popScopeId(),n),vV={ref:"scaffoldContainer",class:"scaffold-container","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"},bV=tp(()=>a.createElementVNode("span",{class:"message-text"},"Beta",-1)),xV=tp(()=>a.createElementVNode("span",{class:"message-text"},"What's new?",-1)),wV={class:"primitive-controls-box"},MV={class:"animation-data"},SV={class:"purple"},_V={class:"animation-data"},TV={class:"purple"},EV={class:"animation-data"},CV={class:"bottom-right-control"},AV=tp(()=>a.createElementVNode("div",null,[a.createTextVNode(" Fit to "),a.createElementVNode("br"),a.createTextVNode(" window ")],-1)),LV={style:{"margin-bottom":"2px"}},RV={key:0,class:"viewing-mode-title"},PV=["onClick"],IV=["onClick"];function OV(n,e,t,i,r,s){const o=a.resolveComponent("map-svg-sprite-color"),l=Zx,u=a.resolveComponent("DrawToolbar"),c=um,f=yt,h=Rl,m=Vx,y=Fx,p=a.resolveComponent("map-svg-icon"),d=Pn,b=kn,v=Zg,g=Ls,M=As,_=$g,E=Ki,S=gd;return a.withDirectives((a.openBlock(),a.createElementBlock("div",vV,[a.createVNode(o),a.createVNode(l,{createData:n.createData,label:n.tData.label,region:n.tData.region,visible:n.tData.visible,x:n.tData.x,y:n.tData.y,annotationDisplay:s.annotationDisplay,onConfirmCreate:e[0]||(e[0]=w=>s.confirmCreate(w)),onCancelCreate:e[1]||(e[1]=w=>s.cancelCreate()),onConfirmDelete:e[2]||(e[2]=w=>s.confirmDelete(w))},null,8,["createData","label","region","visible","x","y","annotationDisplay"]),a.createElementVNode("div",{id:"organsDisplayArea",ref:"display",tabindex:"-1",style:{height:"100%",width:"100%"},onKeydown:e[3]||(e[3]=a.withKeys((...w)=>s.backgroundChangeCallback&&s.backgroundChangeCallback(...w),["66"]))},null,544),a.withDirectives(a.createElementVNode("div",null,[n.viewingMode==="Annotation"&&(n.userInformation||t.enableLocalAnnotations)?(a.openBlock(),a.createBlock(u,{key:0,toolbarOptions:n.toolbarOptions,activeDrawTool:n.activeDrawTool,activeDrawMode:n.activeDrawMode,hoverVisibilities:n.hoverVisibilities,onClickToolbar:s.toggleDrawing,onShowTooltip:s.showHelpText,onHideTooltip:s.hideHelpText,ref:"toolbarPopover"},null,8,["toolbarOptions","activeDrawTool","activeDrawMode","hoverVisibilities","onClickToolbar","onShowTooltip","onHideTooltip"])):a.createCommentVNode("",!0),t.displayWarning?(a.openBlock(),a.createBlock(h,{key:1,ref:"warningPopover",visible:n.hoverVisibilities[7].value,content:t.warningMessage,placement:"right",width:"max-content",teleported:!1,"popper-class":"scaffold-popper message-popper right-popper non-selectable"},{reference:a.withCtx(()=>[t.displayWarning?(a.openBlock(),a.createElementBlock("div",{key:0,class:"message-icon warning-icon",onMouseover:e[4]||(e[4]=w=>s.showHelpText(7)),onMouseout:e[5]||(e[5]=w=>s.hideHelpText(7))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(c)]),_:1}),bV],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),t.displayLatestChanges?(a.openBlock(),a.createBlock(h,{key:2,visible:n.hoverVisibilities[8].value,content:t.latestChangesMessage,placement:"right",teleported:!1,trigger:"manual","popper-class":"scaffold-popper message-popper right-popper non-selectable",ref:"whatsNewPopover"},{reference:a.withCtx(()=>[t.displayLatestChanges&&t.latestChangesMessage?(a.openBlock(),a.createElementBlock("div",{key:0,class:"el-icon-warning message-icon latest-changesicon",onMouseover:e[6]||(e[6]=w=>s.showHelpText(8)),onMouseout:e[7]||(e[7]=w=>s.hideHelpText(8))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(c)]),_:1}),xV],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),a.createVNode(h,{visible:n.hoverVisibilities[6].value,content:"Change region visibility",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"regionVisibilityPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{ref:"scaffoldTreeControls",isReady:n.isReady,"show-colour-picker":t.showColourPicker,onObjectSelected:s.objectSelected,onObjectHovered:s.objectHovered,onDrawerToggled:s.drawerToggled},null,8,["isReady","show-colour-picker","onObjectSelected","onObjectHovered","onDrawerToggled"])]),_:1},8,["visible"]),a.createElementVNode("div",wV,[a.createVNode(y,{ref:"primitiveControls",createData:n.createData,onPrimitivesUpdated:s.primitivesUpdated},null,8,["createData","onPrimitivesUpdated"])]),n.timeVarying?(a.openBlock(),a.createBlock(h,{key:3,ref:"sliderPopover",width:"max-content",visible:n.hoverVisibilities[5].value,content:"Move the slider to animate the region",placement:"top",teleported:!1,trigger:"manual","popper-class":"scaffold-popper top-popper non-selectable"},{reference:a.withCtx(()=>[n.timeVarying?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["time-slider-container",[n.minimisedSlider?"minimised":"",n.sliderPosition]])},[a.createVNode(_,{type:"card"},{default:a.withCtx(()=>[a.createVNode(v,{label:"Animate scaffold"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[n.isPlaying?(a.openBlock(),a.createBlock(p,{key:0,icon:"pause",class:"icon-button video-button",onClick:e[8]||(e[8]=w=>s.play(!1))})):(a.openBlock(),a.createBlock(p,{key:1,icon:"play",class:"video-button icon-button",onClick:e[9]||(e[9]=w=>s.play(!0))})),a.createVNode(d,{min:0,max:n.timeMax,"model-value":n.currentTime/100*n.timeMax,step:.1,"tooltip-class":"time-slider-tooltip",class:"slider","format-tooltip":s.formatTooltip,marks:n.timeStamps,onInput:e[10]||(e[10]=w=>s.timeChange(w))},null,8,["max","model-value","format-tooltip","marks"])]),_:1})]),_:1}),a.createVNode(v,{label:"Animation data"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[a.createElementVNode("div",MV,[a.createTextVNode(" Original duration: "),a.createElementVNode("div",SV,a.toDisplayString(n.orginalDuration),1)]),a.createElementVNode("div",_V,[a.createTextVNode(" Animation duration: "),a.createElementVNode("div",TV,a.toDisplayString(n.animateDuration),1)]),a.createElementVNode("div",EV,[a.createTextVNode(" Playback speed "),a.createVNode(M,{teleported:!0,"model-value":n.currentSpeed,placeholder:"Select",class:"scaffold-select-box speed","popper-class":"scaffold_viewer_dropdown",onChange:e[11]||(e[11]=w=>s.speedChanged(w))},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.playSpeed,w=>(a.openBlock(),a.createBlock(g,{key:w.value,label:w.label,value:w.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"])])]),_:1})]),_:1})]),_:1})],2)):a.createCommentVNode("",!0)]),_:1},8,["visible"])):a.createCommentVNode("",!0),a.createElementVNode("div",CV,[a.createVNode(h,{visible:n.hoverVisibilities[0].value,content:"Zoom in",width:"max-content",placement:"left",teleported:!1,trigger:"manual","popper-class":"scaffold-popper left-popper non-selectable",ref:"zoomInPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{icon:"zoomIn",class:"icon-button zoomIn",onClick:e[12]||(e[12]=w=>s.zoomIn()),onMouseover:e[13]||(e[13]=w=>s.showHelpText(0)),onMouseout:e[14]||(e[14]=w=>s.hideHelpText(0))})]),_:1},8,["visible"]),a.createVNode(h,{visible:n.hoverVisibilities[1].value,content:"Zoom out",placement:"top-end",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper popper-zoomout non-selectable",ref:"zoomOutPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{icon:"zoomOut",class:"icon-button zoomOut",onClick:e[15]||(e[15]=w=>s.zoomOut()),onMouseover:e[16]||(e[16]=w=>s.showHelpText(1)),onMouseout:e[17]||(e[17]=w=>s.hideHelpText(1))})]),_:1},8,["visible"]),a.createVNode(h,{visible:n.hoverVisibilities[2].value,placement:"top",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper non-selectable",ref:"zoomFitPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{icon:"fitWindow",class:"icon-button fitWindow",onClick:e[18]||(e[18]=w=>s.fitWindow()),onMouseover:e[19]||(e[19]=w=>s.showHelpText(2)),onMouseout:e[20]||(e[20]=w=>s.hideHelpText(2))})]),default:a.withCtx(()=>[AV]),_:1},8,["visible"])]),n.openMapRef?(a.openBlock(),a.createBlock(h,{key:4,ref:"open-map-popover","virtual-ref":n.openMapRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"open-map-popper","virtual-triggering":""},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.openMapOptions,w=>(a.openBlock(),a.createBlock(b,{key:w.key},{default:a.withCtx(()=>[a.createVNode(E,{type:"primary",plain:"",onClick:T=>n.$emit("open-map",w.key)},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(w.display),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1},8,["virtual-ref"])):a.createCommentVNode("",!0),a.createVNode(h,{ref:"backgroundPopover","virtual-ref":n.backgroundIconRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"background-popper non-selectable h-auto","virtual-triggering":""},{default:a.withCtx(()=>[a.createElementVNode("div",null,[a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode("Viewing Mode")]),_:1}),a.createVNode(b,{class:"backgroundControl"},{default:a.withCtx(()=>[a.createElementVNode("div",LV,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.viewingModes,(w,T,C)=>(a.openBlock(),a.createElementBlock(a.Fragment,{key:T},[T===n.viewingMode?(a.openBlock(),a.createElementBlock("span",RV,[a.createElementVNode("b",null,a.toDisplayString(T),1)])):(a.openBlock(),a.createElementBlock("span",{key:1,class:"viewing-mode-unselected",onClick:R=>s.changeViewingMode(T)},a.toDisplayString(T),9,PV))],64))),128))]),a.createVNode(b,{class:"viewing-mode-description"},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(n.viewingModes[n.viewingMode]),1)]),_:1})]),_:1}),a.createVNode(b,{class:"backgroundSpacer"}),a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode(" Change background ")]),_:1}),a.createVNode(b,{class:"backgroundChooser"},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.availableBackground,w=>(a.openBlock(),a.createElementBlock("div",{key:w,class:a.normalizeClass(["backgroundChoice",w,w==n.currentBackground?"active":""]),onClick:T=>s.backgroundChangeCallback(w)},null,10,IV))),128))]),_:1})])]),_:1},8,["virtual-ref"]),a.createElementVNode("div",{class:a.normalizeClass(["settings-group",{open:n.drawerOpen,close:!n.drawerOpen}])},[a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(h,{visible:n.hoverVisibilities[3].value,content:"Open new map",placement:"right",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper right-popper non-selectable",ref:"openMapPopover"},{reference:a.withCtx(()=>[t.enableOpenMapUI&&t.openMapOptions.length>0?(a.openBlock(),a.createBlock(p,{key:0,ref:"openMapRef",icon:"openMap",class:"icon-button open-map-button",onMouseover:e[21]||(e[21]=w=>s.showHelpText(3)),onMouseout:e[22]||(e[22]=w=>s.hideHelpText(3))},null,512)):a.createCommentVNode("",!0)]),_:1},8,["visible"])]),_:1}),a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(h,{visible:n.hoverVisibilities[4].value,content:"Change background color",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"settingsPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{ref:"backgroundIconRef",icon:"changeBckgd",class:"icon-button",onMouseover:e[23]||(e[23]=w=>s.showHelpText(4)),onMouseout:e[24]||(e[24]=w=>s.hideHelpText(4))},null,512)]),_:1},8,["visible"])]),_:1})],2)],512),[[a.vShow,t.displayUI&&!n.isTransitioning]])])),[[S,n.loading]])}const NV=ui(yV,[["render",OV],["__scopeId","data-v-a5cf514e"]]);Zt.ScaffoldVuer=NV,Object.defineProperty(Zt,Symbol.toStringTag,{value:"Module"})});
|