@mappedin/blue-dot 6.18.0-beta.0 → 6.19.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import{a as s,b as ko,c as Jo,d as T,e,f as u,g as r,h as b,i as wt,j as c,k as m}from"./chunk-T4TSXXQK.js";var Eo=ko((hl,Ri)=>{c();(function(){"use strict";function l(d,h){var f=d.x-h.x,p=d.y-h.y;return f*f+p*p}s(l,"getSqDist");function i(d,h,f){var p=h.x,g=h.y,v=f.x-p,M=f.y-g;if(v!==0||M!==0){var V=((d.x-p)*v+(d.y-g)*M)/(v*v+M*M);V>1?(p=f.x,g=f.y):V>0&&(p+=v*V,g+=M*V)}return v=d.x-p,M=d.y-g,v*v+M*M}s(i,"getSqSegDist");function t(d,h){for(var f=d[0],p=[f],g,v=1,M=d.length;v<M;v++)g=d[v],l(g,f)>h&&(p.push(g),f=g);return f!==g&&p.push(g),p}s(t,"simplifyRadialDist");function n(d,h,f,p,g){for(var v=p,M,V=h+1;V<f;V++){var He=i(d[V],d[h],d[f]);He>v&&(M=V,v=He)}v>p&&(M-h>1&&n(d,h,M,p,g),g.push(d[M]),f-M>1&&n(d,M,f,p,g))}s(n,"simplifyDPStep");function o(d,h){var f=d.length-1,p=[d[0]];return n(d,0,f,h,p),p.push(d[f]),p}s(o,"simplifyDouglasPeucker");function a(d,h,f){if(d.length<=2)return d;var p=h!==void 0?h*h:1;return d=f?d:t(d,p),d=o(d,p),d}s(a,"simplify"),typeof define=="function"&&define.amd?define(function(){return a}):typeof Ri<"u"?(Ri.exports=a,Ri.exports.default=a):typeof self<"u"?self.simplify=a:window.simplify=a})()});c();c();var Xi=class Xi{_subscribers={};_abortController=new AbortController;get signal(){return this._abortController.signal}publish(i,t){!this._subscribers||!this._subscribers[i]||this.signal.aborted||this._subscribers[i].forEach(function(n){typeof n=="function"&&n(t)})}onAbort(i){this.signal.addEventListener("abort",()=>i(),{once:!0})}on(i,t,n){let o=n?.signal;if(o?.aborted||this._abortController&&this._abortController.signal.aborted)return()=>{};this._subscribers||(this._subscribers={}),this._subscribers[i]=this._subscribers[i]||[],this._subscribers[i].push(t);let a=s(()=>{this.off(i,t)},"cleanup");return o&&o.addEventListener("abort",a,{once:!0}),a}off(i,t){if(!this._subscribers||this._subscribers[i]==null||this.signal.aborted)return;let n=this._subscribers[i].indexOf(t);n!==-1&&this._subscribers[i].splice(n,1)}destroy(){this.signal.aborted||(this._subscribers={},this._abortController.abort())}};s(Xi,"PubSub");var k=Xi;var Yi=class Yi extends k{enabled=!1;constructor(){super()}get isEnabled(){return this.enabled}onFusedPosition(i){}setAnchor(i){let t={latitude:i.latitude,longitude:i.longitude,heading:i.heading,floorLevel:i.floorLevel,sensorId:this.id,timestamp:Date.now(),ttl:i.ttl??3e4,confidence:i.confidence??1},n=i.anchorOnlyPeriodMs!=null?{anchorOnlyPeriodMs:i.anchorOnlyPeriodMs}:void 0;this.publish("anchor-set",{sensorId:this.id,anchor:t,configOverride:n})}clearAnchor(){this.publish("anchor-clear",{sensorId:this.id})}async enable(){if(this.enabled)return"granted";if(this.requiresPermission){let i=await this.checkPermission();if(i==="unavailable")return m.error(`Sensor "${this.id}" is unavailable on this device.`),i;let t=await this.requestPermission();if(t!=="granted")return m.error(`Permission declined for sensor "${this.id}".`),t}try{return await this.start(),this.enabled=!0,"granted"}catch(i){return m.error(`Error starting sensor "${this.id}".`,i),"unavailable"}}disable(){this.stop(),this.enabled=!1}};s(Yi,"BaseSensor");var he=Yi;c();var ye,Qi=class Qi extends he{constructor(){super(...arguments);T(this,"id","manual");T(this,"requiresPermission",!1);u(this,ye,!1)}reportPosition(t){if(!e(this,ye))return;let n={latitude:t.latitude,longitude:t.longitude,accuracy:t.accuracy,heading:t.heading,floorLevel:t.floorLevel,confidence:t.confidence??.5,timestamp:t.timestamp??Date.now()};this.publish("absolute-update",{sensorId:this.id,update:n})}reportDisplacement(t){if(!e(this,ye))return;let n={dx:t.dx,dy:t.dy,heading:t.heading,confidence:t.confidence??.8,timestamp:t.timestamp??Date.now()};this.publish("relative-update",{sensorId:this.id,update:n})}forcePosition(t){if(!e(this,ye))return;let n=t.ttl??3e4;this.setAnchor({latitude:t.latitude,longitude:t.longitude,heading:t.heading,floorLevel:t.floorLevel,ttl:n,confidence:1,anchorOnlyPeriodMs:n})}clearForcedPosition(){e(this,ye)&&this.clearAnchor()}async start(){r(this,ye,!0)}stop(){r(this,ye,!1)}async checkPermission(){return"granted"}async requestPermission(){return"granted"}};ye=new WeakMap,s(Qi,"ManualSensor");var Ti=Qi;c();c();function At(){return typeof window<"u"&&window!==null}s(At,"isBrowser");function qo(l){return At()?(typeof l=="object"||typeof l=="function")&&l!==null&&"requestPermission"in l&&typeof l.requestPermission=="function":!1}s(qo,"hasRequestPermission");async function zo(l){if(!qo(l))return"unavailable";try{return await l.requestPermission()}catch{return"denied"}}s(zo,"requestPermission");function en(l){return At()?typeof l<"u"&&l!=null:!1}s(en,"supportsEvent");async function tn(l){if(!en(l))return"unavailable";let i=await zo(l);return i!=="unavailable"?i:"granted"}s(tn,"requestEventPermission");function Ko(l){return At()?typeof navigator<"u"&&navigator!=null&&typeof navigator[l]<"u"&&navigator[l]!=null:!1}s(Ko,"supportsNavigatorAPI");async function On(){return Ko("geolocation")?new Promise(l=>{navigator.geolocation.getCurrentPosition(()=>l("granted"),i=>{i.code===i.PERMISSION_DENIED?l("denied"):l("granted")},{enableHighAccuracy:!0})}):"unavailable"}s(On,"requestGeolocationPermission");var Wo=(()=>{let l;return{getDeviceType(){if(l)return l;let{userAgent:i,platform:t,maxTouchPoints:n}=window.navigator,o=/(iphone|ipod|ipad)/i.test(i),a=t==="iPad"||t.indexOf("Mac")===0&&n>0&&!window.MSStream,d=/android/i.test(i);return l={isIpad:a,isMobile:d||o||a,isIOS:o,isAndroid:d,isSafari12:/Version\/12.+Safari/.test(i),isFirefox:/Firefox/.test(i),isWindows:/windows/i.test(i)},l},_reset(){l=void 0}}})(),Te=Wo.getDeviceType,_n=(()=>{let l,i,t;function n(){if(i!==void 0)return i;l||(l=document.createElement("canvas"));let a=l.getContext("webgl")||l.getContext("experimental-webgl");if(!a)return i;try{let d=Te().isFirefox?null:a.getExtension("WEBGL_debug_renderer_info");return i=d?a.getParameter(d.UNMASKED_RENDERER_WEBGL):a.getParameter(a.RENDERER),i}catch{let h=new Error("Failed getting device info");throw h.name="FailedGettingDeviceInfo",h}}s(n,"getInfo");function o(){if(!Te().isWindows)return!1;if(t!==void 0)return t;let a=jo()?.toLowerCase()??"";return t=a.includes("intel")&&(a.includes("uhd")||a.includes("iris")),t}return s(o,"shouldDisableOffscreenCanvas"),{getInfo:n,shouldDisableOffscreenCanvas:o,_setCanvas(a){l=a,i=void 0,t=void 0}}})(),jo=_n.getInfo,zr=_n.shouldDisableOffscreenCanvas;c();c();function Pi(l,i,t){let n=null,o=null,a,d=null,h=0;t||(t={});let f=s(function(){h=t.leading===!1?0:Date.now(),d=null,o&&(a=l.apply(n,o)),d||(n=o=null)},"later");return function(...p){let g=Date.now();!h&&t.leading===!1&&(h=g);let v=i-(g-h);return v<=0||v>i?(d&&(clearTimeout(d),d=null),h=g,a=l.apply(this,p),d||(n=o=null)):!d&&t.trailing!==!1&&(n=this,o=p,d=setTimeout(f,v)),a}}s(Pi,"throttle");c();c();c();var In=["devicemotion","deviceorientation","deviceorientationabsolute","geolocation"];var Ve,vi,Rn,on=class on{constructor(){u(this,vi);u(this,Ve,new Map);this.reset()}async check(i){return e(this,Ve).get(i)??"unavailable"}async request(i){let t="unavailable";switch(i){case"geolocation":t=await On();break;case"devicemotion":t=await tn(window?.DeviceMotionEvent);break;case"deviceorientation":t=await tn(window?.DeviceOrientationEvent);break;case"deviceorientationabsolute":t="granted";break;default:m.warn(`Unsupported permission type requested: ${i}`);break}return b(this,vi,Rn).call(this,i,t),t}reset(){for(let i of In)e(this,Ve).set(i,"prompt")}};Ve=new WeakMap,vi=new WeakSet,Rn=s(function(i,t){e(this,Ve).get(i)!==t&&e(this,Ve).set(i,t)},"#updatePermissionState"),s(on,"BrowserPermissions");var nn=on,Pe=new nn;var we,tt,it,Ot,rn=class rn extends he{constructor(){super();T(this,"id","deviceorientation");u(this,we);u(this,tt,null);u(this,it,2);T(this,"start",s(async()=>{window.addEventListener(e(this,we),e(this,Ot))},"start"));T(this,"stop",s(()=>{window.removeEventListener(e(this,we),e(this,Ot))},"stop"));T(this,"checkPermission",s(async()=>Pe.check(e(this,we)),"checkPermission"));T(this,"requestPermission",s(async()=>Pe.request(e(this,we)),"requestPermission"));u(this,Ot,Pi(t=>{let n=Math.round(t.webkitCompassHeading??-(t.alpha??0)),o=n-(e(this,tt)??0);if(typeof n=="number"&&Math.abs(o)>e(this,it)){let a=e(this,tt)==null;r(this,tt,n),a&&m.log(`Compass: first heading ${n}\xB0`),this.publish("absolute-update",{sensorId:this.id,update:{heading:n,timestamp:Date.now(),confidence:1}})}},100));r(this,we,typeof DeviceOrientationEvent<"u"&&(en(DeviceOrientationEvent)||Te().isIOS)?"deviceorientation":"deviceorientationabsolute")}get requiresPermission(){return Te().isIOS}configure(t){t.deltaThreshold!==void 0&&r(this,it,Math.max(t.deltaThreshold,.5))}getConfig(){return{deltaThreshold:e(this,it)}}};we=new WeakMap,tt=new WeakMap,it=new WeakMap,Ot=new WeakMap,s(rn,"DeviceOrientationSensor");var Si=rn;c();c();import L from"zod";var Ln=L.object({coords:L.object({latitude:L.number(),longitude:L.number(),accuracy:L.number(),altitude:L.number().optional().nullable(),altitudeAccuracy:L.number().optional().nullable(),heading:L.number().optional().nullable(),speed:L.number().optional().nullable(),floorLevel:L.number().optional().nullable()}),timestamp:L.number()}),Cn=L.object({latitude:L.number(),longitude:L.number(),floor:L.any().optional(),accuracy:L.number().optional(),heading:L.number().optional().nullable(),timestamp:L.number().optional()});import Qo from"zod";c();var Gn={maxPlausibleSpeed:10,minTimeForSpeedCheck:500};function Xo(l,i,t,n){let o=111320*Math.cos(l*Math.PI/180),a=(t-l)*111320,d=(n-i)*o;return Math.sqrt(a*a+d*d)}s(Xo,"calculateDistance");function Yo(l,i,t){let n=Xo(l.latitude,l.longitude,i.latitude,i.longitude),o=(i.timestamp-l.timestamp)/1e3;if(o<t.minTimeForSpeedCheck/1e3)return{isOutlier:!1,distance:n,timeDelta:o,impliedSpeed:0};let a=n/o;return{isOutlier:a>t.maxPlausibleSpeed,distance:n,timeDelta:o,impliedSpeed:a}}s(Yo,"checkForOutlier");function Fn(l,i,t){return l==null?{isOutlier:!1,distance:0,timeDelta:0,impliedSpeed:0}:Yo(l,i,t)}s(Fn,"checkForOutlierSafe");var Ae,nt,ot,ke,Di,_t,xi,Mi,sn=class sn extends he{constructor(){super(...arguments);T(this,"id","geolocation");T(this,"requiresPermission",!1);u(this,Ae);u(this,nt,!1);u(this,ot);u(this,ke,Gn);u(this,Di,s(t=>{if(this.isEnabled===!1)return;if(t==null||t.coords==null){let d={code:2,message:"Invalid position received",PERMISSION_DENIED:1,POSITION_UNAVAILABLE:2,TIMEOUT:3};e(this,_t).call(this,d);return}let n=e(this,xi).call(this,t);if(n==null)return;let o={latitude:n.latitude,longitude:n.longitude,timestamp:n.timestamp??Date.now()},a=Fn(e(this,ot),o,e(this,ke));if(a.isOutlier){m.warn(`GPS outlier rejected: ${a.distance.toFixed(0)}m in ${a.timeDelta.toFixed(1)}s (implied ${a.impliedSpeed.toFixed(1)} m/s, max ${e(this,ke).maxPlausibleSpeed} m/s)`);return}r(this,ot,o),this.publish("absolute-update",{sensorId:this.id,update:n})},"#onSuccess"));u(this,_t,s(t=>{switch(t.code){case t.PERMISSION_DENIED:m.error("Geolocation permission denied by the user.",t);break;case t.POSITION_UNAVAILABLE:m.error("Geolocation position unavailable.",t);break;case t.TIMEOUT:m.error("Geolocation request timed out.",t);break;default:m.error("An unknown geolocation error occurred.",t);break}this.publish("error",{sensorId:this.id,error:t})},"#onError"));u(this,xi,s(t=>{try{Ln.parse(t)}catch(a){this.publish("error",{sensorId:this.id,error:a}),m.error("Browser sent invalid position",a instanceof Qo.ZodError?a.message:String(a));return}let n=t.coords.floorLevel!=null,o=e(this,nt);return r(this,nt,n),n&&!o?m.log("Geolocation: Likely switched to IPS (Indoor Positioning System) - floor level detected"):!n&&o&&m.log("Geolocation: Likely switched to GPS - no floor level"),{latitude:t.coords.latitude,longitude:t.coords.longitude,accuracy:t.coords.accuracy,heading:t.coords.heading,floorLevel:t.coords.floorLevel,timestamp:t.timestamp,confidence:e(this,Mi).call(this,t.coords.accuracy,n)}},"#createPositionUpdate"));u(this,Mi,s((t,n)=>n?t<=5?.9:t<=10?.7:t<=20?.5:.3:t<3?.1:t<=10?.15:t<=20?.1:.05,"#calculateConfidence"))}get isLikelyIPS(){return e(this,nt)}configureOutlierDetection(t){r(this,ke,{...e(this,ke),...t})}async enable(){return this.enabled||(await this.start(),this.enabled=!0),"granted"}async start(){if(e(this,Ae)!=null){m.warn("Geolocation sensor already started.");return}r(this,Ae,navigator.geolocation.watchPosition(t=>e(this,Di).call(this,t),t=>e(this,_t).call(this,t),{enableHighAccuracy:!0}))}stop(){e(this,Ae)!=null&&(navigator.geolocation.clearWatch(e(this,Ae)),r(this,Ae,void 0)),r(this,ot,void 0)}async checkPermission(){return Pe.check(this.id)}async requestPermission(){return Pe.request(this.id)}};Ae=new WeakMap,nt=new WeakMap,ot=new WeakMap,ke=new WeakMap,Di=new WeakMap,_t=new WeakMap,xi=new WeakMap,Mi=new WeakMap,s(sn,"GeolocationSensor");var Ei=sn;c();c();c();function Bn(l,i,t){let n=Nn(i);if(l===void 0)return n;let o=n-l;o>180&&(o-=360),o<-180&&(o+=360);let a=l+o*t;return Nn(a)}s(Bn,"smoothHeading");function Nn(l){let i=l%360;return i<0&&(i+=360),i===0?0:i}s(Nn,"normalizeAngle");function an(l,i,t){let n=Math.abs(i-9.81),o=i>l.lastMagnitude;return{isPeak:l.wasRising&&!o&&l.lastNetAcceleration>t,nextState:{wasRising:o,lastMagnitude:i,lastNetAcceleration:n}}}s(an,"detectStepPeak");function $n(l,i,t,n,o){if(o<=0)return l;let a=i.filter(He=>t-He<n);if(a.length<2)return l;let d=a[0],h=(t-d)/1e3/60,M=1+((a.length-1)/h/110-1)*o,V=Math.min(Math.max(M,.7),1.3);return l*V}s($n,"calculateAdaptiveStepLength");function Un(l,i){let t=l*Math.PI/180;return{dx:i*Math.sin(t),dy:i*Math.cos(t)}}s(Un,"calculateStepDisplacement");function Hn(l,i,t,n,o,a){return!o||!(t-l<a.zuptDelayMs)||n>a.tiltThreshold||t-i<a.minStepInterval}s(Hn,"shouldSuppressStepDetection");function Vn(l){return Math.abs(l-9.81)}s(Vn,"calculateNetAcceleration");function kn(l,i,t){return Math.sqrt(l*l+i*i+t*t)}s(kn,"calculateAccelerationMagnitude");function Jn(l,i,t){return Math.sqrt(l*l+i*i+t*t)}s(Jn,"calculateRotationMagnitude");function qn(l,i,t){return l.filter(n=>i-n<t)}s(qn,"pruneOldTimestamps");var ee,te,wi,Je,qe,Rt,rt,st,Lt,Ct,ze,at,lt,ut,dt,Gt,ce,zn,Kn,Wn,Ft,jn,ln=class ln extends he{constructor(){super(...arguments);u(this,ce);T(this,"id","devicemotion");u(this,ee,!1);u(this,te);u(this,wi,.3);u(this,Je,{wasRising:!1,lastMagnitude:9.81,lastNetAcceleration:0});u(this,qe,[]);u(this,Rt,5e3);u(this,rt,0);u(this,st,0);u(this,Lt,0);u(this,Ct,{zuptDelayMs:500,tiltThreshold:50,minStepInterval:300});u(this,ze,1);u(this,at,.7);u(this,lt,0);u(this,ut,.5);u(this,dt,!0);T(this,"start",s(async()=>{if(this.enabled){m.warn("Device motion sensor already started.");return}this.enabled=!0,window.addEventListener("devicemotion",e(this,Gt))},"start"));T(this,"stop",s(()=>{if(!this.enabled){m.warn("Device motion sensor not started.");return}this.enabled=!1,window.removeEventListener("devicemotion",e(this,Gt))},"stop"));T(this,"checkPermission",s(async()=>Pe.check("devicemotion"),"checkPermission"));T(this,"requestPermission",s(async()=>Pe.request("devicemotion"),"requestPermission"));u(this,Gt,Pi(t=>{let n=Date.now();b(this,ce,zn).call(this,t.rotationRate,n),b(this,ce,Kn).call(this,t.accelerationIncludingGravity,n)},50));u(this,Ft,0)}get requiresPermission(){return Te().isIOS}get isMoving(){return e(this,ee)}setHeading(t){let n=e(this,te)==null;r(this,te,Bn(e(this,te),t,e(this,wi))),n&&m.log(`PDR heading initialized: ${e(this,te)?.toFixed(1)}\xB0`)}configure(t){t.stepDetectionThreshold!==void 0&&r(this,ze,Math.max(t.stepDetectionThreshold,.1)),t.stepLength!==void 0&&r(this,at,Math.min(Math.max(t.stepLength,.2),2)),t.strideAdaptation!==void 0&&r(this,lt,Math.min(Math.max(t.strideAdaptation,0),1)),t.motionThreshold!==void 0&&r(this,ut,Math.max(t.motionThreshold,.1)),t.pdrEnabled!==void 0&&r(this,dt,t.pdrEnabled)}getConfig(){return{stepDetectionThreshold:e(this,ze),stepLength:e(this,at),strideAdaptation:e(this,lt),motionThreshold:e(this,ut),pdrEnabled:e(this,dt)}}};ee=new WeakMap,te=new WeakMap,wi=new WeakMap,Je=new WeakMap,qe=new WeakMap,Rt=new WeakMap,rt=new WeakMap,st=new WeakMap,Lt=new WeakMap,Ct=new WeakMap,ze=new WeakMap,at=new WeakMap,lt=new WeakMap,ut=new WeakMap,dt=new WeakMap,Gt=new WeakMap,ce=new WeakSet,zn=s(function(t,n){t!=null&&(t.alpha!=null&&this.publish("absolute-update",{sensorId:this.id,update:{angularVelocity:t.alpha,timestamp:n,confidence:.9}}),t.alpha!=null&&t.beta!=null&&t.gamma!=null&&r(this,Lt,Jn(t.alpha,t.beta,t.gamma)))},"#processGyroscope"),Kn=s(function(t,n){if(t==null)return;let{x:o,y:a,z:d}=t;if(o==null||a==null||d==null)return;let h=kn(o,a,d),f=Vn(h);if(b(this,ce,Wn).call(this,f,n),e(this,dt))b(this,ce,jn).call(this,h,n);else{let p=an(e(this,Je),h,e(this,ze));r(this,Je,p.nextState)}},"#processAccelerometer"),Wn=s(function(t,n){let o=e(this,ee);if(r(this,ee,t>e(this,ut)),e(this,ee)&&r(this,st,n),o!==e(this,ee)){e(this,ee)&&m.log(`Motion: MOVING, accel=${t.toFixed(2)} m/s\xB2`);let a=e(this,ee)?.7:1;this.publish("absolute-update",{sensorId:this.id,update:{timestamp:n,confidence:a,speed:e(this,ee)?t:0}})}},"#updateMotionState"),Ft=new WeakMap,jn=s(function(t,n){let o=an(e(this,Je),t,e(this,ze));if(r(this,Je,o.nextState),!o.isPeak)return;m.log(`Peak detected: magnitude=${t.toFixed(2)} m/s\xB2`);let a=e(this,te)!=null,d=n-e(this,st)<e(this,Ct).zuptDelayMs,h=n-e(this,rt);if(Hn(e(this,st),e(this,rt),n,e(this,Lt),a,e(this,Ct))){m.warn(`Step suppressed: hasHeading=${a}, recentlyMoving=${d}, timeSinceLastStep=${h}ms`);return}r(this,rt,n),e(this,qe).push(n),r(this,qe,qn(e(this,qe),n,e(this,Rt)));let p=$n(e(this,at),e(this,qe),n,e(this,Rt),e(this,lt)),g=Un(e(this,te),p);wt(this,Ft)._++,m.log(`Step #${e(this,Ft)}: heading=${e(this,te)?.toFixed(1)}\xB0, dx=${g.dx.toFixed(3)}m, dy=${g.dy.toFixed(3)}m`),this.publish("relative-update",{sensorId:this.id,update:{dx:g.dx,dy:g.dy,heading:e(this,te),timestamp:n,confidence:.7}})},"#processPDR"),s(ln,"DeviceMotionSensor");var It=ln;var ie,Nt,Oe,ht,Bt,$t,Ut,Ht,Vt,un=class un extends k{constructor(){super();u(this,Oe);u(this,ie,new Map);u(this,Nt,!1);u(this,Bt,s(({sensorId:t,update:n})=>{if(this.publish("absolute-update",{sensorId:t,update:n}),(t==="deviceorientation"||t==="manual")&&n.heading!=null){let o=e(this,ie).get("devicemotion");o instanceof It&&(e(this,Nt)||(r(this,Nt,!0),m.log(`Registry: forwarding heading ${n.heading}\xB0 from ${t} to PDR`)),o.setHeading(n.heading))}},"#handleAbsoluteUpdate"));u(this,$t,s(({sensorId:t,update:n})=>{this.publish("relative-update",{sensorId:t,update:n})},"#handleRelativeUpdate"));u(this,Ut,s(t=>{this.publish("anchor-set",t)},"#handleAnchorSet"));u(this,Ht,s(t=>{this.publish("anchor-clear",t)},"#handleAnchorClear"));u(this,Vt,s(({sensorId:t,error:n})=>{this.publish("error",{sensorId:t,error:n})},"#handleError"));At()&&(b(this,Oe,ht).call(this,new Ei),b(this,Oe,ht).call(this,new Si),b(this,Oe,ht).call(this,new It),b(this,Oe,ht).call(this,new Ti))}register(t){return b(this,Oe,ht).call(this,t)}get(t){return e(this,ie).get(t)}unregister(t){let n=typeof t=="string"?t:t.id,o=e(this,ie).get(n);o&&(o.isEnabled&&o.disable(),o.off("absolute-update",e(this,Bt)),o.off("relative-update",e(this,$t)),o.off("anchor-set",e(this,Ut)),o.off("anchor-clear",e(this,Ht)),o.off("error",e(this,Vt)),e(this,ie).delete(n))}getAll(){return e(this,ie).entries()}destroy(){let t=[...e(this,ie).keys()];for(let n of t)this.unregister(n);super.destroy()}};ie=new WeakMap,Nt=new WeakMap,Oe=new WeakSet,ht=s(function(t){let n=t.id;if(e(this,ie).has(n)){m.warn(`Sensor with id ${n} already registered. Please use a different id.`);return}return e(this,ie).set(n,t),t.on("absolute-update",e(this,Bt)),t.on("relative-update",e(this,$t)),t.on("anchor-set",e(this,Ut)),t.on("anchor-clear",e(this,Ht)),t.on("error",e(this,Vt)),t},"#registerInternal"),Bt=new WeakMap,$t=new WeakMap,Ut=new WeakMap,Ht=new WeakMap,Vt=new WeakMap,s(un,"SensorRegistry");var Ai=un;c();import{Coordinate as ki}from"@mappedin/mappedin-js";import Lr from"zod";c();var dn="#2266ff",rr="#808080";var Zn={visible:!0,radius:10,color:dn,inactiveColor:rr,heading:{visible:!0,color:dn,opacity:.7,displayWhenInactive:!1},accuracyRing:{visible:!0,color:dn,opacity:.3},timeout:3e4,watchDevicePosition:!0,debug:!1,accuracyThreshold:50,initialState:"hidden",preventOutOfBounds:!0,discardStaleUpdates:!0};c();import{ANIMATION_TWEENS as gn,Coordinate as co}from"@mappedin/mappedin-js";var Xn="data:application/octet-stream;base64,Z2xURgIAAAAcIAAAgAQAAEpTT057ImFzc2V0Ijp7InZlcnNpb24iOiIyLjAifSwic2NlbmVzIjpbeyJub2RlcyI6WzBdfV0sInNjZW5lIjowLCJub2RlcyI6W3sibWVzaCI6MH1dLCJidWZmZXJWaWV3cyI6W3siYnVmZmVyIjowLCJieXRlT2Zmc2V0IjowLCJieXRlTGVuZ3RoIjoyMzUyLCJ0YXJnZXQiOjM0OTYyLCJieXRlU3RyaWRlIjoxMn0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjIzNTIsImJ5dGVMZW5ndGgiOjIzNTIsInRhcmdldCI6MzQ5NjIsImJ5dGVTdHJpZGUiOjEyfSx7ImJ1ZmZlciI6MCwiYnl0ZU9mZnNldCI6NDcwNCwiYnl0ZUxlbmd0aCI6MTU2OCwidGFyZ2V0IjozNDk2MiwiYnl0ZVN0cmlkZSI6OH0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjYyNzIsImJ5dGVMZW5ndGgiOjc2OCwidGFyZ2V0IjozNDk2M31dLCJidWZmZXJzIjpbeyJieXRlTGVuZ3RoIjo3MDQwfV0sImFjY2Vzc29ycyI6W3siYnVmZmVyVmlldyI6MCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjE5NiwibWF4IjpbMSwxLDAuMDI1MDAwMDAwMzcyNTI5MDNdLCJtaW4iOlstMSwtMSwtMC4wMjUwMDAwMDAzNzI1MjkwM10sInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MTk2LCJtYXgiOlsxLDEsMV0sIm1pbiI6Wy0xLC0xLC0xXSwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoxOTYsIm1heCI6WzEsMV0sIm1pbiI6WzAsMF0sInR5cGUiOiJWRUMyIn0seyJidWZmZXJWaWV3IjozLCJjb21wb25lbnRUeXBlIjo1MTIzLCJjb3VudCI6Mzg0LCJtYXgiOlsxOTVdLCJtaW4iOlswXSwidHlwZSI6IlNDQUxBUiJ9XSwibWF0ZXJpYWxzIjpbeyJwYnJNZXRhbGxpY1JvdWdobmVzcyI6eyJiYXNlQ29sb3JGYWN0b3IiOlswLjAxNTk5NjI5MzM2MTQ0NjI4OCwwLjEzMjg2ODMyMTU0NDE0NjI3LDEsMV0sIm1ldGFsbGljRmFjdG9yIjowLCJyb3VnaG5lc3NGYWN0b3IiOjF9LCJhbHBoYU1vZGUiOiJCTEVORCIsIm5hbWUiOiJBY2N1cmFjeVJpbmcifV0sIm1lc2hlcyI6W3sicHJpbWl0aXZlcyI6W3sibW9kZSI6NCwiYXR0cmlidXRlcyI6eyJQT1NJVElPTiI6MCwiTk9STUFMIjoxLCJURVhDT09SRF8wIjoyfSwiaW5kaWNlcyI6MywibWF0ZXJpYWwiOjB9XX1dfSCAGwAAQklOAAAAAAAAAIC/zczMPMLFRz6+FHu/zczMPBXvwz5eg2y/zczMPNo5Dj8x21S/zczMPPMENT/zBDW/zczMPDHbVD/aOQ6/zczMPF6DbD8V78O+zczMPL4Uez/CxUe+zczMPAAAgD9lZICkzczMPL4Uez/CxUc+zczMPF6DbD8V78M+zczMPDHbVD/aOQ4/zczMPPMENT/zBDU/zczMPNo5Dj8x21Q/zczMPBXvwz5eg2w/zczMPMLFRz6+FHs/zczMPDIxDSUAAIA/zczMPMLFR76+FHs/zczMPBXvw75eg2w/zczMPNo5Dr8x21Q/zczMPPMENb/zBDU/zczMPDHbVL/aOQ4/zczMPF6DbL8V78M+zczMPL4Ue7/CxUc+zczMPAAAgL8wMFolzczMPL4Ue7/CxUe+zczMPF6DbL8V78O+zczMPDHbVL/aOQ6/zczMPPMENb/zBDW/zczMPNo5Dr8x21S/zczMPBXvw75eg2y/zczMPMLFR76+FHu/zczMPDIxjaUAAIC/zczMPAAAAAAAAIC/zczMvMLFRz6+FHu/zczMvBXvwz5eg2y/zczMvNo5Dj8x21S/zczMvPMENT/zBDW/zczMvDHbVD/aOQ6/zczMvF6DbD8V78O+zczMvL4Uez/CxUe+zczMvAAAgD///ZmkzczMvL4Uez/CxUc+zczMvF6DbD8V78M+zczMvDHbVD/aOQ4/zczMvPMENT/zBDU/zczMvNo5Dj8x21Q/zczMvBXvwz5eg2w/zczMvMLFRz6+FHs/zczMvDIxDSUAAIA/zczMvMLFR76+FHs/zczMvBXvw75eg2w/zczMvNo5Dr8x21Q/zczMvPMENb/zBDU/zczMvDHbVL/aOQ4/zczMvF6DbL8V78M+zczMvL4Ue7/CxUc+zczMvAAAgL9kY00lzczMvL4Ue7/CxUe+zczMvF6DbL8V78O+zczMvDHbVL/aOQ6/zczMvPMENb/zBDW/zczMvNo5Dr8x21S/zczMvBXvw75eg2y/zczMvMLFR76+FHu/zczMvDIxjaUAAIC/zczMvAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAADNzMwizczMPAAAAAAAAIC/zczMPMLFRz6+FHu/zczMPBXvwz5eg2y/zczMPNo5Dj8x21S/zczMPPMENT/zBDW/zczMPDHbVD/aOQ6/zczMPF6DbD8V78O+zczMPL4Uez/CxUe+zczMPAAAgD9lZICkzczMPL4Uez/CxUc+zczMPF6DbD8V78M+zczMPDHbVD/aOQ4/zczMPPMENT/zBDU/zczMPNo5Dj8x21Q/zczMPBXvwz5eg2w/zczMPMLFRz6+FHs/zczMPDIxDSUAAIA/zczMPMLFR76+FHs/zczMPBXvw75eg2w/zczMPNo5Dr8x21Q/zczMPPMENb/zBDU/zczMPDHbVL/aOQ4/zczMPF6DbL8V78M+zczMPL4Ue7/CxUc+zczMPAAAgL8wMFolzczMPL4Ue7/CxUe+zczMPF6DbL8V78O+zczMPDHbVL/aOQ6/zczMPPMENb/zBDW/zczMPNo5Dr8x21S/zczMPBXvw75eg2y/zczMPMLFR76+FHu/zczMPDIxjaUAAIC/zczMPAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAADNzMyizczMvAAAAAAAAIC/zczMvMLFRz6+FHu/zczMvBXvwz5eg2y/zczMvNo5Dj8x21S/zczMvPMENT/zBDW/zczMvDHbVD/aOQ6/zczMvF6DbD8V78O+zczMvL4Uez/CxUe+zczMvAAAgD///ZmkzczMvL4Uez/CxUc+zczMvF6DbD8V78M+zczMvDHbVD/aOQ4/zczMvPMENT/zBDU/zczMvNo5Dj8x21Q/zczMvBXvwz5eg2w/zczMvMLFRz6+FHs/zczMvDIxDSUAAIA/zczMvMLFR76+FHs/zczMvBXvw75eg2w/zczMvNo5Dr8x21Q/zczMvPMENb/zBDU/zczMvDHbVL/aOQ4/zczMvF6DbL8V78M+zczMvL4Ue7/CxUc+zczMvAAAgL9kY00lzczMvL4Ue7/CxUe+zczMvF6DbL8V78O+zczMvDHbVL/aOQ6/zczMvPMENb/zBDW/zczMvNo5Dr8x21S/zczMvBXvw75eg2y/zczMvMLFR76+FHu/zczMvDIxjaUAAIC/zczMvAAAAAAAAIC/AACAJcLFRz6+FHu/vhR7JRXvwz5eg2y/XoNsJdo5Dj8x21S/MdtUJfMENT/zBDW/8wQ1JTHbVD/aOQ6/2jkOJV6DbD8V78O+Fe/DJL4Uez/CxUe+wsVHJAAAgD8yMY2kMjGNCr4Uez/CxUc+wsVHpF6DbD8V78M+Fe/DpDHbVD/aOQ4/2jkOpfMENT/zBDU/8wQ1pdo5Dj8x21Q/MdtUpRXvwz5eg2w/XoNspcLFRz6+FHs/vhR7pTIxDSUAAIA/AACApcLFR76+FHs/vhR7pRXvw75eg2w/XoNspdo5Dr8x21Q/MdtUpfMENb/zBDU/8wQ1pTHbVL/aOQ4/2jkOpV6DbL8V78M+Fe/DpL4Ue7/CxUc+wsVHpAAAgL/KyVMlyslTi74Ue7/CxUe+wsVHJF6DbL8V78O+Fe/DJDHbVL/aOQ6/2jkOJfMENb/zBDW/8wQ1Jdo5Dr8x21S/MdtUJRXvw75eg2y/XoNsJcLFR76+FHu/vhR7JTIxjaUAAIC/AACAJQAAAAAAAIC/AACAJcLFRz6+FHu/vhR7JRXvwz5eg2y/XoNsJdo5Dj8x21S/MdtUJfMENT/zBDW/8wQ1JTHbVD/aOQ6/2jkOJV6DbD8V78O+Fe/DJL4Uez/CxUe+wsVHJAAAgD8yMY2kMjGNCr4Uez/CxUc+wsVHpF6DbD8V78M+Fe/DpDHbVD/aOQ4/2jkOpfMENT/zBDU/8wQ1pdo5Dj8x21Q/MdtUpRXvwz5eg2w/XoNspcLFRz6+FHs/vhR7pTIxDSUAAIA/AACApcLFR76+FHs/vhR7pRXvw75eg2w/XoNspdo5Dr8x21Q/MdtUpfMENb/zBDU/8wQ1pTHbVL/aOQ4/2jkOpV6DbL8V78M+Fe/DpL4Ue7/CxUc+wsVHpAAAgL/KyVMlyslTi74Ue7/CxUe+wsVHJF6DbL8V78O+Fe/DJDHbVL/aOQ6/2jkOJfMENb/zBDW/8wQ1Jdo5Dr8x21S/MdtUJRXvw75eg2y/XoNsJcLFR76+FHu/vhR7JTIxjaUAAIC/AACAJQAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIAlAACAPwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIA/AAAAPQAAgD8AAIA9AACAPwAAwD0AAIA/AAAAPgAAgD8AACA+AACAPwAAQD4AAIA/AABgPgAAgD8AAIA+AACAPwAAkD4AAIA/AACgPgAAgD8AALA+AACAPwAAwD4AAIA/AADQPgAAgD8AAOA+AACAPwAA8D4AAIA/AAAAPwAAgD8AAAg/AACAPwAAED8AAIA/AAAYPwAAgD8AACA/AACAPwAAKD8AAIA/AAAwPwAAgD8AADg/AACAPwAAQD8AAIA/AABIPwAAgD8AAFA/AACAPwAAWD8AAIA/AABgPwAAgD8AAGg/AACAPwAAcD8AAIA/AAB4PwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAPQAAAAAAAIA9AAAAAAAAwD0AAAAAAAAAPgAAAAAAACA+AAAAAAAAQD4AAAAAAABgPgAAAAAAAIA+AAAAAAAAkD4AAAAAAACgPgAAAAAAALA+AAAAAAAAwD4AAAAAAADQPgAAAAAAAOA+AAAAAAAA8D4AAAAAAAAAPwAAAAAAAAg/AAAAAAAAED8AAAAA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";var Yn="data:application/octet-stream;base64,Z2xURgIAAAAcQAAAAAkAAEpTT057ImFzc2V0Ijp7InZlcnNpb24iOiIyLjAifSwic2NlbmVzIjpbeyJub2RlcyI6WzJdfV0sInNjZW5lIjowLCJub2RlcyI6W3sibWVzaCI6MH0seyJtZXNoIjoxfSx7ImNoaWxkcmVuIjpbMCwxXX1dLCJidWZmZXJWaWV3cyI6W3siYnVmZmVyIjowLCJieXRlT2Zmc2V0IjowLCJieXRlTGVuZ3RoIjoyMzUyLCJ0YXJnZXQiOjM0OTYyLCJieXRlU3RyaWRlIjoxMn0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjIzNTIsImJ5dGVMZW5ndGgiOjIzNTIsInRhcmdldCI6MzQ5NjIsImJ5dGVTdHJpZGUiOjEyfSx7ImJ1ZmZlciI6MCwiYnl0ZU9mZnNldCI6NDcwNCwiYnl0ZUxlbmd0aCI6MTU2OCwidGFyZ2V0IjozNDk2MiwiYnl0ZVN0cmlkZSI6OH0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjYyNzIsImJ5dGVMZW5ndGgiOjc2OCwidGFyZ2V0IjozNDk2M30seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjcwNDAsImJ5dGVMZW5ndGgiOjIzNTIsInRhcmdldCI6MzQ5NjIsImJ5dGVTdHJpZGUiOjEyfSx7ImJ1ZmZlciI6MCwiYnl0ZU9mZnNldCI6OTM5MiwiYnl0ZUxlbmd0aCI6MjM1MiwidGFyZ2V0IjozNDk2MiwiYnl0ZVN0cmlkZSI6MTJ9LHsiYnVmZmVyIjowLCJieXRlT2Zmc2V0IjoxMTc0NCwiYnl0ZUxlbmd0aCI6MTU2OCwidGFyZ2V0IjozNDk2MiwiYnl0ZVN0cmlkZSI6OH0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjEzMzEyLCJieXRlTGVuZ3RoIjo3NjgsInRhcmdldCI6MzQ5NjN9XSwiYnVmZmVycyI6W3siYnl0ZUxlbmd0aCI6MTQwODB9XSwiYWNjZXNzb3JzIjpbeyJidWZmZXJWaWV3IjowLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MTk2LCJtYXgiOlswLjM0OTk5OTk5NDAzOTUzNTUsMC4zNDk5OTk5OTQwMzk1MzU1LDAuMDcwMDAwMDAwMjk4MDIzMjJdLCJtaW4iOlstMC4zNDk5OTk5OTQwMzk1MzU1LC0wLjM0OTk5OTk5NDAzOTUzNTUsLTEuNDkwMTE2OTE4NzQ1MzQzNGUtMTBdLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjE5NiwibWF4IjpbMSwxLDFdLCJtaW4iOlstMSwtMSwtMV0sInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MTk2LCJtYXgiOlsxLDFdLCJtaW4iOlswLDBdLCJ0eXBlIjoiVkVDMiJ9LHsiYnVmZmVyVmlldyI6MywiY29tcG9uZW50VHlwZSI6NTEyMywiY291bnQiOjM4NCwibWF4IjpbMTk1XSwibWluIjpbMF0sInR5cGUiOiJTQ0FMQVIifSx7ImJ1ZmZlclZpZXciOjQsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoxOTYsIm1heCI6WzAuMjgwMDAwMDAxMTkyMDkyOSwwLjI4MDAwMDAwMTE5MjA5MjksMC4wNzUwMDAwMDI5ODAyMzIyNF0sIm1pbiI6Wy0wLjI4MDAwMDAwMTE5MjA5MjksLTAuMjgwMDAwMDAxMTkyMDkyOSwwLjA2NDk5OTk5NzYxNTgxNDIxXSwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjUsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoxOTYsIm1heCI6WzEsMSwxXSwibWluIjpbLTEsLTEsLTFdLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6NiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjE5NiwibWF4IjpbMSwxXSwibWluIjpbMCwwXSwidHlwZSI6IlZFQzIifSx7ImJ1ZmZlclZpZXciOjcsImNvbXBvbmVudFR5cGUiOjUxMjMsImNvdW50IjozODQsIm1heCI6WzE5NV0sIm1pbiI6WzBdLCJ0eXBlIjoiU0NBTEFSIn1dLCJtYXRlcmlhbHMiOlt7InBick1ldGFsbGljUm91Z2huZXNzIjp7ImJhc2VDb2xvckZhY3RvciI6WzAu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AACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIClAACAvwAAAAAAAIA/AAAAPQAAgD8AAIA9AACAPwAAwD0AAIA/AAAAPgAAgD8AACA+AACAPwAAQD4AAIA/AABgPgAAgD8AAIA+AACAPwAAkD4AAIA/AACgPgAAgD8AALA+AACAPwAAwD4AAIA/AADQPgAAgD8AAOA+AACAPwAA8D4AAIA/AAAAPwAAgD8AAAg/AACAPwAAED8AAIA/AAAYPwAAgD8AACA/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I2ZuPghLHz64HoU93b1KPt29Sj64HoU9CEsfPiNmbj64HoU9LHLbPYdyhD64HoU9xb5fPfqajD64HoU9niIeJClcjz64HoU9xb5fvfqajD64HoU9LHLbvYdyhD64HoU9CEsfviNmbj64HoU93b1Kvt29Sj64HoU9I2ZuvghLHz64HoU9h3KEvixy2z24HoU9+pqMvsW+Xz24HoU9KVyPvjUVaCS4HoU9+pqMvsW+X724HoU9h3KEvixy2724HoU9I2ZuvghLH764HoU93b1Kvt29Sr64HoU9CEsfviNmbr64HoU9LHLbvYdyhL64HoU9xb5fvfqajL64HoU9niKepClcj764HoU9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAArXoyGamZk9AAAAAClcj76amZk9xb5fPfqajL6amZk9LHLbPYdyhL6amZk9CEsfPiNmbr6amZk93b1KPt29Sr6amZk9I2ZuPghLH76amZk9h3KEPixy272amZk9+pqMPsW+X72amZk9KVyPPi3lk6OamZk9+pqMPsW+Xz2amZk9h3KEPixy2z2amZk9I2ZuPghLHz6amZk93b1KPt29Sj6amZk9CEsfPiNmbj6amZk9LHLbPYdyhD6amZk9xb5fPfqajD6amZk9niIeJClcjz6amZk9xb5fvfqajD6amZk9LHLbvYdyhD6amZk9CEsfviNmbj6amZk93b1Kvt29Sj6amZk9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AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgCUAAIA/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgKUAAIC/AAAAAAAAgD8AAAA9AACAPwAAgD0AAIA/AADAPQAAgD8AAAA+AACAPwAAID4AAIA/AABAPgAAgD8AAGA+AACAPwAAgD4AAIA/AACQPgAAgD8AAKA+AACAPwAAsD4AAIA/AADAPgAAgD8AANA+AACAPwAA4D4AAIA/AADwPgAAgD8AAAA/AACAPwAACD8AAIA/AAAQPwAAgD8AABg/AACAPwAAID8AAIA/AAAoPwAAgD8AADA/AACAPwAAOD8AAIA/AABAPwAAgD8AAEg/AACAPwAAUD8AAIA/AABYPwAAgD8AAGA/AACAPwAAaD8AAIA/AABwPwAAgD8AAHg/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAA9AAAAAAAAgD0AAAAAAADAPQAAAAAAAAA+AAAAAAAAID4AAAAAAABAPgAAAAAAAGA+AAAAAAAAgD4AAAAAAACQPgAAAAAAAKA+AAAAAAAAsD4AAAAAAADAPgAAAAAAANA+AAAAAAAA4D4AAAAAAADwPgAAAAAAAAA/AAAAAAAACD8AAAAAAAAQPwAAAAAAABg/AAAAAAAAID8AAAAAAAAoPwAAAAAAADA/AAAAAAAAOD8AAAAAAABAPwAAAAAAAEg/AAAAAAAAUD8AAAAAAABYPwAAAAAAAGA/AAAAAAAAaD8AAAAAAABwPwAAAAAAAHg/AAAAAAAAgD8AAAAAAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAgD8AAAA/X4p9P7j4GD+vQXY/xfswP5ltaj/tHEc/eoJaP3qCWj/tHEc/mW1qP8X7MD+vQXY/uPgYP1+KfT8AAAA/AACAP5AOzj5fin0/dQiePq9Bdj9MjGM+mW1qPxr2FT56glo/O5OsPe0cRz8M5Rs9xfswPzBoHTy4+Bg/AAAAAAAAAD8waB08kA7OPgzlGz11CJ4+O5OsPUyMYz4a9hU+GvYVPkyMYz47k6w9dQiePgzlGz2QDs4+MGgdPAAAAD8AAAAAuPgYPzBoHTzF+zA/DOUbPe0cRz87k6w9eoJaPxr2FT6ZbWo/TIxjPq9Bdj91CJ4+X4p9P5AOzj4AAIA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAIA/AAAAP1+KfT+QDs4+r0F2P3UInj6ZbWo/TIxjPnqCWj8a9hU+7RxHPzuTrD3F+zA/DOUbPbj4GD8waB08AAAAPwAAAACQDs4+MGgdPHUInj4M5Rs9TIxjPjuTrD0a9hU+GvYVPjuTrD1MjGM+DOUbPXUInj4waB08kA7OPgAAAAAAAAA/MGgdPLj4GD8M5Rs9xfswPzuTrD3tHEc/GvYVPnqCWj9MjGM+mW1qP3UInj6vQXY/kA7OPl+KfT8AAAA/AACAP7j4GD9fin0/xfswP69Bdj/tHEc/mW1qP3qCWj96glo/mW1qP+0cRz+vQXY/xfswP1+KfT+4+Bg/AACAPwAAAD8AACEAAQAhACIAAQABACIAAgAiACMAAgACACMAAwAjACQAAwADACQABAAkACUABAAEACUABQAlACYABQAFACYABgAmACcABgAGACcABwAnACgABwAHACgACAAoACkACAAIACkACQApACoACQAJACoACgAqACsACgAKACsACwArACwACwALACwADAAsAC0ADAAMAC0ADQAtAC4ADQANAC4ADgAuAC8ADgAOAC8ADwAvADAADwAPADAAEAAwADEAEAAQADEAEQAxADIAEQARADIAEgAyADMAEgASADMAEwAzADQAEwATADQAFAA0ADUAFAAUADUAFQA1ADYAFQAVADYAFgA2ADcAFgAWADcAFwA3ADgAFwAXADgAGAA4ADkAGAAYADkAGQA5ADoAGQAZADoAGgA6ADsAGgAaADsAGwA7ADwAGwAbADwAHAA8AD0AHAAcAD0AHQA9AD4AHQAdAD4AHgA+AD8AHgAeAD8AHwA/AEAAHwAfAEAAIABAAEEAIABiAGMAQgBjAGQAQwBkAGUARABlAGYARQBmAGcARgBnAGgARwBoAGkASABpAGoASQBqAGsASgBrAGwASwBsAG0ATABtAG4ATQBuAG8ATgBvAHAATwBwAHEAUABxAHIAUQByAHMAUgBzAHQAUwB0AHUAVAB1AHYAVQB2AHcAVgB3AHgAVwB4AHkAWAB5AHoAWQB6AHsAWgB7AHwAWwB8AH0AXAB9AH4AXQB+AH8AXgB/AIAAXwCAAIEAYACBAIIAYQCkAKMAgwClAKQAhACmAKUAhQCnAKYAhgCoAKcAhwCpAKgAiACqAKkAiQCrAKoAigCsAKsAiwCtAKwAjACuAK0AjQCvAK4AjgCwAK8AjwCxALAAkACyALEAkQCzALIAkgC0ALMAkwC1ALQAlAC2ALUAlQC3ALYAlgC4ALcAlwC5ALgAmAC6ALkAmQC7ALoAmgC8ALsAmwC9ALwAnAC+AL0AnQC/AL4AngDAAL8AnwDBAMAAoADCAMEAoQDDAMIAogA=";var Qn="data:application/octet-stream;base64,Z2xURgIAAABQMgAANAUAAEpTT057ImFzc2V0Ijp7InZlcnNpb24iOiIyLjAiLCJnZW5lcmF0b3IiOiJUSFJFRS5HTFRGRXhwb3J0ZXIgcjE3MyJ9LCJzY2VuZXMiOlt7Im5hbWUiOiJBdXhTY2VuZSIsIm5vZGVzIjpbMF19XSwic2NlbmUiOjAsIm5vZGVzIjpbeyJtZXNoIjowfV0sImJ1ZmZlclZpZXdzIjpbeyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjAsImJ5dGVMZW5ndGgiOjI4ODAsInRhcmdldCI6MzQ5NjIsImJ5dGVTdHJpZGUiOjEyfSx7ImJ1ZmZlciI6MCwiYnl0ZU9mZnNldCI6Mjg4MCwiYnl0ZUxlbmd0aCI6MTkyMCwidGFyZ2V0IjozNDk2MiwiYnl0ZVN0cmlkZSI6OH0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjQ4MDAsImJ5dGVMZW5ndGgiOjI4ODAsInRhcmdldCI6MzQ5NjIsImJ5dGVTdHJpZGUiOjEyfSx7ImJ1ZmZlciI6MCwiYnl0ZU9mZnNldCI6NzY4MCwiYnl0ZUxlbmd0aCI6Mzg0MCwidGFyZ2V0IjozNDk2MiwiYnl0ZVN0cmlkZSI6MTZ9XSwiYnVmZmVycyI6W3siYnl0ZUxlbmd0aCI6MTE1MjB9XSwiYWNjZXNzb3JzIjpbeyJidWZmZXJWaWV3IjowLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MjQwLCJtYXgiOlswLjU3MjIzNDU3MDk4MDA3MiwxLjQ0NjA3ODQxOTY4NTM2MzgsMC4xMDAwMDAwMDE0OTAxMTYxMl0sIm1pbiI6Wy0wLjcxMjM0NjY3MzAxMTc3OTgsMCwwXSwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyNDAsIm1heCI6WzAsMV0sIm1pbiI6WzAsMF0sInR5cGUiOiJWRUMyIn0seyJidWZmZXJWaWV3IjoyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MjQwLCJtYXgiOlswLjk4NzY4ODMwMjk5Mzc3NDQsMC45OTk2NTczMzI4OTcxODYzLDFdLCJtaW4iOlstMC45ODc2ODgz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AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAIAAAACAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwEZZD9wcei+AAAAAAEZZD9wcei+AAAAAAEZZD9wcei+AAAAAAEZZD9wcei+AAAAAAEZZD9wcei+AAAAAAEZZD9wcei+AAAAAPMENT/zBDW/AAAAAPMENT/zBDW/AAAAAPMENT/zBDW/AAAAAPMENT/zBDW/AAAAAPMENT/zBDW/AAAAAPMENT/zBDW/AAAAAHBx6D4BGWS/AAAAAHBx6D4BGWS/AAAAAHBx6D4BGWS/AAAAAHBx6D4BGWS/AAAAAHBx6D4BGWS/AAAAAHBx6D4BGWS/AAAAAF8wID4k2Xy/AAAAAF8wID4k2Xy/AAAAAF8wID4k2Xy/AAAAAF8wID4k2Xy/AAAAAF8wID4k2Xy/AAAAAF8wID4k2Xy/AAAAAF8wIL4k2Xy/AAAAAF8wIL4k2Xy/AAAAAF8wIL4k2Xy/AAAAAF8wIL4k2Xy/AAAAgF8wIL4k2Xy/AAAAgF8wIL4k2Xy/AAAAgHBx6L4BGWS/AAAAAHBx6L4BGWS/AAAAAHBx6L4BGWS/AAAAAHBx6L4BGWS/AAAAgHBx6L4BGWS/AAAAgHBx6L4BGWS/AAAAgPMENb/zBDW/AAAAAPMENb/zBDW/AAAAAPMENb/zBDW/AAAAAPMENb/zBDW/AAAAgPMENb/zBDW/AAAAgPMENb/zBDW/AAAAgAEZZL9wcei+AAAAAAEZZL9wcei+AAAAAAEZZL9wcei+AAAAAAEZZL9wcei+AAAAgAEZZL9wcei+AAAAgAEZZL9wcei+AAAAgCTZfL9fMCC+AAAAACTZfL9fMCC+AAAAACTZfL9fMCC+AAAAACTZfL9fMCC+AAAAgCTZfL9fMCC+AAAAgCTZfL9fMCC+AAAAgF/FfD+ZICK+AAAAAF/FfD+ZICK+AAAAAF/FfD+ZICK+AAAAAF/FfD+ZICK+AAAAAF/FfD+ZICK+AAAAAF/FfD+ZICK+AAAAAPKbOj6Ytns/AAAAAPKbOj6Ytns/AAAAAPKbOj6Ytns/AAAAAPKbOj6Ytns/AAAAAPKbOj6Ytns/AAAAAPKbOj6Ytns/AAAAALuoBT5Uz30/AAAAALuoBT5Uz30/AAAAALuoBT5Uz30/AAAAALuoBT5Uz30/AAAAALuoBT5Uz30/AAAAALuoBT5Uz30/AAAAAMeuoD36NX8/AAAAAMeuoD36NX8/AAAAAMeuoD36NX8/AAAAAMeuoD36NX8/AAAAAMeuoD36NX8/AAAAAMeuoD36NX8/AAAAAGhy1jyL6X8/AAAAAGhy1jyL6X8/AAAAAGhy1jyL6X8/AAAAAGhy1jyL6X8/AAAAAGhy1jyL6X8/AAAAAGhy1jyL6X8/AAAAAGhy1ryL6X8/AAAAAGhy1ryL6X8/AAAAAGhy1ryL6X8/AAAAAGhy1ryL6X8/AAAAAGhy1ryL6X8/AAAAAGhy1ryL6X8/AAAAAMeuoL36NX8/AAAAAMeuoL36NX8/AAAAAMeuoL36NX8/AAAAAMeuoL36NX8/AAAAAMeuoL36NX8/AAAAAMeuoL36NX8/AAAAALuoBb5Uz30/AAAAALuoBb5Uz30/AAAAALuoBb5Uz30/AAAAALuoBb5Uz30/AAAAALuoBb5Uz30/AAAAALuoBb5Uz30/AAAAAPKbOr6Ytns/AAAAAPKbOr6Ytns/AAAAAPKbOr6Ytns/AAAAAPKbOr6Ytns/AAAAAPKbOr6Ytns/AAAAAPKbOr6Ytns/AAAAAGcMb7477Xg/AAAAAGcMb7477Xg/AAAAAGcMb7477Xg/AAAAAGcMb7477Xg/AAAAAGcMb7477Xg/AAAAAGcMb7477Xg/AAAAAOpGd7/vg4S+AAAAAOpGd7/vg4S+AAAAAOpGd7/vg4S+AAAAAOpGd7/vg4S+AAAAgOpGd7/vg4S+AAAAgOpGd7/vg4S+AAAAgCTZfD9fMCC+AAAAACTZfD9fMCC+AAAAACTZfD9fMCC+AAAAACTZfD9fMCC+AAAAACTZfD9fMCC+AAAAACTZfD9fMCC+AAAAAAAAgD8AAIA/AACAPyqVbT8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/KpVtPwAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPyqVbT8AAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8qlW0/AACAPwAAgD8AAIA/OgBePwAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPzoAXj8AAIA/AACAPwAAgD8qlW0/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD86AF4/AACAPwAAgD8AAIA/ZDlSPwAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAP2Q5Uj8AAIA/AACAPwAAgD86AF4/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD9kOVI/AACAPwAAgD8AAIA/B+hKPwAAgD8AAIA/AACAP2Q5Uj8AAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8H6Eo/AACAPwAAgD8AAIA//mxIPwAAgD8AAIA/AACAPwfoSj8AAIA/AACAPwAAgD9kOVI/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD/+bEg/AACAPwAAgD8AAIA/B+hKPwAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/KpVtPwAAgD8AAIA/AACAPyqVbT8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/KpVtPwAAgD8AAIA/AACAPzoAXj8AAIA/AACAPwAAgD8qlW0/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8qlW0/AACAPwAAgD8AAIA/OgBePwAAgD8AAIA/AACAP2Q5Uj8AAIA/AACAPwAAgD86AF4/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD86AF4/AACAPwAAgD8AAIA/ZDlSPwAAgD8AAIA/AACAPwfoSj8AAIA/AACAPwAAgD9kOVI/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/ZDlSPwAAgD8AAIA/AACAP/5sSD8AAIA/AACAPwAAgD8H6Eo/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD9kOVI/AACAPwAAgD8AAIA/B+hKPwAAgD8AAIA/AACAPwfoSj8AAIA/AACAPwAAgD/+bEg/AACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAAAAgD8AAIA/AACAPwAAAAAAAIA/AACAPwAAgD8AAAAAAACAPwAAgD8AAIA/AAAAAA==";c();c();c();var cn=class cn extends Error{};s(cn,"InvalidTokenError");var hn=cn;hn.prototype.name="InvalidTokenError";c();var eo=63710088e-1;c();c();function ne(l){return l*(Math.PI/180)}s(ne,"toRadians");function Oi(l){return l*(180/Math.PI)}s(Oi,"toDegrees");function to(l,i){return(l%i+i)%i}s(to,"euclideanModulo");function mn([l,i],[t,n]){let o=ne(n-i),a=ne(t-l),d=ne(i),h=ne(n),f=Math.sin(o/2)*Math.sin(o/2)+Math.sin(a/2)*Math.sin(a/2)*Math.cos(d)*Math.cos(h),p=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return eo*p}s(mn,"haversineDistance");function io([l,i],[t,n]){let o=ne(i),a=ne(l),d=ne(n),f=ne(t)-a,p=Math.sin(f)*Math.cos(d),g=Math.cos(o)*Math.sin(d)-Math.sin(o)*Math.cos(d)*Math.cos(f);return Oi((Math.atan2(p,g)+Math.PI*2)%(Math.PI*2))}s(io,"getForwardBearing");function no(l,i){let t=to(l,Math.PI*2),n=to(i,Math.PI*2),o=n-t,a=n+(o>Math.PI?-Math.PI*2:o<-Math.PI?Math.PI*2:0);return{start:t,end:a}}s(no,"shortestTweenRotation");function fn(l,i){if(i==null)return l;let t={...l};for(let n in i){let o=i[n];o!==void 0&&n!=="accuracyRing"&&n!=="heading"&&(t[n]=o)}if(i.accuracyRing!=null){t.accuracyRing={...l.accuracyRing};for(let n in i.accuracyRing){let o=i.accuracyRing[n];o!==void 0&&(t.accuracyRing[n]=o)}}if(i.heading!=null){t.heading={...l.heading};for(let n in i.heading){let o=i.heading[n];o!==void 0&&(t.heading[n]=o)}}return t}s(fn,"deepMergeState");function dr([l,i],[t,n],[o,a]){let d=t-l,h=n-i,f=d**2+h**2;if(f===0)return;let p=((o-l)*d+(a-i)*h)/f,g;p<=0?g=[l,i]:p>=1?g=[t,n]:g=[l+p*d,i+p*h];let v=mn([o,a],g);return{proportion:Math.max(0,Math.min(1,p)),intersection:g,distance:v}}s(dr,"getPointLineIntersection");function oo(l,i){if(l==null||l.length<2)return;let t=Number.MAX_SAFE_INTEGER,n,o=0,a=0;for(let d=0;d<l.length-1;d++){let h=l[d],f=l[d+1],p=dr(h,f,i);p!=null&&p.distance<t&&(t=p.distance,n=p.intersection,o=d,a=p.proportion)}if(n)return{intersection:n,distance:t,segmentIndex:o,proportion:a}}s(oo,"findBlueDotOnPath");function ro(l,i){if(i==null)return l;let t={latitude:l?.latitude,longitude:l?.longitude,accuracy:l?.accuracy,floor:l?.floor,heading:l?.heading,timestamp:l?.timestamp};return"latitude"in i&&(t.latitude=i?.latitude==null||i.latitude==="device"?l?.latitude:i.latitude),"longitude"in i&&(t.longitude=i.longitude==null||i.longitude==="device"?l?.longitude:i.longitude),"accuracy"in i&&(t.accuracy=i.accuracy==="device"?l?.accuracy:i.accuracy),"floor"in i&&(t.floor=i.floor==="device"?l?.floor:i.floor),"heading"in i&&(t.heading=i.heading==="device"?l?.heading:i.heading),"timestamp"in i&&(t.timestamp=i.timestamp),t}s(ro,"getPositionWithOverrides");function so({longitude:l,latitude:i},{radius:t,center:n}){return mn([l,i],[n.longitude,n.latitude])<=t}s(so,"isWithinPanBounds");function ao(l,i){let t=l*i/.35;return Math.max(t,1)}s(ao,"computeBlueDotScale");function lo(l,i,t,n=!0){return n?i!=null&&(l==="active"||l==="inactive"&&t):!1}s(lo,"shouldShowHeadingCone");function uo(l,i=!0){return i?l!=="hidden"&&l!=="disabled":!1}s(uo,"shouldShowBlueDot");function ho(l,i,t=!0){return t&&l==="active"&&i!=null}s(ho,"shouldShowAccuracyRing");function pn(l,i,t){if(t!=null&&"discardStaleUpdates"in t&&t.discardStaleUpdates===!1)return!1;let n=l!=null&&i!=null&&l<i;return n&&t?.debug===!0&&m.log(`Stale timestamp discarded (incoming: ${l}, current: ${i})`),n}s(pn,"isStaleTimestamp");c();function bn(l,i){let t=l!=null?ne(l):0,n=i!=null?ne(-i):0,{start:o,end:a}=no(t,n);return[Oi(o),Oi(a)]}s(bn,"computeHeadingRotation");c();var mo=1e4,y,$,C,kt,_e,K,oe,re,se,ae,le,ve,Ie,Re,Se,ct,Jt,mt,ft,S,fo,Ke,yn,po,bo,qt,go,zt,Tn,yo,To,Po,vo,Pn=class Pn{constructor(i,t){u(this,S);u(this,y);u(this,$);u(this,C,1);u(this,kt,0);u(this,_e,!1);u(this,K);u(this,oe);u(this,re);u(this,se);u(this,ae);u(this,le);u(this,ve);u(this,Ie);u(this,Re);u(this,Se);u(this,ct,!1);T(this,"dot");T(this,"accuracyRing");T(this,"headingCone");u(this,Jt,s(i=>{e(this,zt).call(this,i)},"#handleCameraChange"));T(this,"add",s(i=>{this.remove(),e(this,zt).call(this,{zoomLevel:e(this,y).Camera.zoomLevel}),r(this,ve,i.floor);let t=new co({latitude:i.latitude,longitude:i.longitude});this.accuracyRing=e(this,y).Models.add(t,Xn,{visible:!1,scale:i.accuracy??0,rotation:[0,0,0],color:e(this,$).getState().accuracyRing.color,opacity:e(this,$).getState().accuracyRing.opacity,visibleThroughGeometry:!0}),this.headingCone=e(this,y).Models.add(t,Qn,{visible:!1,scale:e(this,C),rotation:[0,0,0],color:e(this,$).getState().heading.color,opacity:e(this,$).getState().heading.opacity,visibleThroughGeometry:!0}),this.dot=e(this,y).Models.add(t,Yn,{visible:!1,scale:e(this,C),rotation:[0,0,0],interactive:!0,visibleThroughGeometry:!0,material:{Inner:{color:e(this,$).status==="inactive"?e(this,$).getState().inactiveColor:e(this,$).getState().color}}})},"add"));u(this,mt);u(this,ft);T(this,"update",s((i,t={},n)=>{let{position:o,status:a,accuracy:d,heading:h}=i;d!=null&&r(this,mt,d),h!=null&&r(this,ft,h),a&&b(this,S,vo).call(this,a),t.animate?b(this,S,bo).call(this,o,d,h,n):(b(this,S,yn).call(this),b(this,S,po).call(this,o,d,h,n))},"update"));u(this,qt,s(()=>{b(this,S,go).call(this),e(this,_e)&&(r(this,_e,!1),b(this,S,Tn).call(this))},"#handlePreRender"));u(this,zt,s(i=>{let t=Math.round(i.zoomLevel*mo)/mo;if(t===e(this,kt))return;r(this,kt,t);let n=e(this,y).getMetersPerPixel(),o=ao(e(this,$).getState().radius,n);o!==e(this,C)&&(r(this,C,o),this.dot&&e(this,y).updateState(this.dot,{scale:[e(this,C),e(this,C),e(this,C)]}),this.headingCone&&e(this,y).updateState(this.headingCone,{scale:[e(this,C),e(this,C),1]}))},"#syncScale"));T(this,"remove",s(()=>{r(this,ct,!0),b(this,S,yn).call(this),r(this,ct,!1),r(this,K,void 0),r(this,oe,void 0),r(this,re,void 0),r(this,ve,void 0),r(this,Ie,void 0),r(this,Re,void 0),r(this,Se,void 0),r(this,mt,void 0),r(this,ft,void 0),this.dot&&(e(this,y).Models.remove(this.dot),this.dot=void 0),this.accuracyRing&&(e(this,y).Models.remove(this.accuracyRing),this.accuracyRing=void 0),this.headingCone&&(e(this,y).Models.remove(this.headingCone),this.headingCone=void 0)},"remove"));T(this,"destroy",s(()=>{this.remove(),e(this,y).off("pre-render",e(this,qt)),e(this,y).off("camera-change",e(this,Jt))},"destroy"));r(this,y,i),r(this,$,t),e(this,y).on("pre-render",e(this,qt)),e(this,y).on("camera-change",e(this,Jt))}getPosition(){if(this.dot!=null)return e(this,y).getState(this.dot).position}updateFloor(i){e(this,ve)?.id!==i?.id&&(r(this,Re,Date.now()),r(this,Se,e(this,Ie)??b(this,S,fo).call(this)),r(this,ve,i))}};y=new WeakMap,$=new WeakMap,C=new WeakMap,kt=new WeakMap,_e=new WeakMap,K=new WeakMap,oe=new WeakMap,re=new WeakMap,se=new WeakMap,ae=new WeakMap,le=new WeakMap,ve=new WeakMap,Ie=new WeakMap,Re=new WeakMap,Se=new WeakMap,ct=new WeakMap,Jt=new WeakMap,mt=new WeakMap,ft=new WeakMap,S=new WeakSet,fo=s(function(){return this.dot?e(this,y).getState(this.dot)?.verticalOffset??0:0},"#getCurrentAltitude"),Ke=s(function(i){i&&(i.stop(),e(this,y).removeTween(i))},"#stopTween"),yn=s(function(){r(this,se,b(this,S,Ke).call(this,e(this,se))),r(this,ae,b(this,S,Ke).call(this,e(this,ae))),r(this,le,b(this,S,Ke).call(this,e(this,le)))},"#stopAllTweens"),po=s(function(i,t,n,o){if(i&&(r(this,K,{longitude:i.longitude,latitude:i.latitude}),typeof o=="function"&&o(e(this,K),!0)),t!=null&&r(this,oe,t),n!=null){let[,a]=bn(e(this,re),n);r(this,re,a)}b(this,S,Tn).call(this)},"#setImmediate"),bo=s(function(i,t,n,o){if(i){let a={longitude:i.longitude,latitude:i.latitude},d=e(this,K)??b(this,S,yo).call(this)??a;r(this,K,{...d}),r(this,se,b(this,S,Ke).call(this,e(this,se))),r(this,se,e(this,y).tween({longitude:d.longitude,latitude:d.latitude}).to(a,1e3).easing(gn["ease-out"]).onUpdate(({longitude:h,latitude:f},p)=>{r(this,K,{longitude:h,latitude:f}),r(this,_e,!0),typeof o=="function"&&o(e(this,K),p>=1)}).onStop(({longitude:h,latitude:f})=>{e(this,ct)||typeof o=="function"&&o({longitude:h,latitude:f},!1)}).onComplete(()=>{e(this,se)&&(e(this,y).removeTween(e(this,se)),r(this,se,void 0))}).start())}if(t!=null){let a=t,d=e(this,oe)??b(this,S,To).call(this)??a;r(this,oe,d),r(this,ae,b(this,S,Ke).call(this,e(this,ae))),r(this,ae,e(this,y).tween({scale:d}).to({scale:a},150).easing(gn.linear).onUpdate(({scale:h})=>{r(this,oe,h),r(this,_e,!0)}).onComplete(()=>{e(this,ae)&&(e(this,y).removeTween(e(this,ae)),r(this,ae,void 0))}).start())}if(n!=null){let[a,d]=bn(e(this,re)??b(this,S,Po).call(this),n);r(this,re,a),r(this,le,b(this,S,Ke).call(this,e(this,le))),r(this,le,e(this,y).tween({rotation:a}).to({rotation:d},150).easing(gn.linear).onUpdate(({rotation:h})=>{r(this,re,h),r(this,_e,!0)}).onComplete(()=>{e(this,le)&&(e(this,y).removeTween(e(this,le)),r(this,le,void 0))}).start())}},"#animateToTarget"),qt=new WeakMap,go=s(function(){if(!this.dot||e(this,$).status==="hidden"||e(this,$).status==="disabled")return;let i=e(this,ve)?e(this,y).getState(e(this,ve))?.altitude??0:e(this,y).getState(e(this,y).currentFloor)?.altitude??0,t=i;if(e(this,Re)!=null&&e(this,Se)!=null){let n=Date.now()-e(this,Re),o=Math.min(n/1e3,1);if(o<1){let a=1-Math.pow(1-o,3);t=e(this,Se)+(i-e(this,Se))*a}else r(this,Re,void 0),r(this,Se,void 0)}if(e(this,Ie)==null||Math.abs(e(this,Ie)-t)>.001){r(this,Ie,t);let n={verticalOffset:t};e(this,y).updateState(this.dot,n),this.accuracyRing&&e(this,y).updateState(this.accuracyRing,n),this.headingCone&&e(this,y).updateState(this.headingCone,n)}},"#syncAltitude"),zt=new WeakMap,Tn=s(function(){let i=e(this,K)?new co({latitude:e(this,K).latitude,longitude:e(this,K).longitude}):void 0;if(this.dot){let t={scale:[e(this,C),e(this,C),e(this,C)]};i&&(t.position=i),e(this,y).updateState(this.dot,t)}if(this.accuracyRing){let t={};i&&(t.position=i),e(this,oe)!=null&&(t.scale=[e(this,oe),e(this,oe),1]),e(this,y).updateState(this.accuracyRing,t)}if(this.headingCone){let t={scale:[e(this,C),e(this,C),1]};i&&(t.position=i),e(this,re)!=null&&(t.rotation=[0,0,e(this,re)]),e(this,y).updateState(this.headingCone,t)}},"#applyAllModels"),yo=s(function(){if(!this.dot)return;let i=e(this,y).getState(this.dot);if(i?.position)return{longitude:i.position.longitude,latitude:i.position.latitude}},"#readCurrentPosition"),To=s(function(){return this.accuracyRing?e(this,y).getState(this.accuracyRing)?.scale?.[0]:void 0},"#readCurrentAccuracyScale"),Po=s(function(){return this.headingCone?e(this,y).getState(this.headingCone)?.rotation?.[2]:void 0},"#readCurrentHeadingRotation"),vo=s(function(i){let t=e(this,$).getState(),n=i==="active",o=uo(i,t.visible);if(this.dot){let a={visible:o};o&&(a.material={Inner:{color:n?t.color:t.inactiveColor}}),e(this,y).updateState(this.dot,a)}this.accuracyRing&&e(this,y).updateState(this.accuracyRing,{visible:ho(i,e(this,mt),t.accuracyRing.visible)}),this.headingCone&&e(this,y).updateState(this.headingCone,{visible:lo(i,e(this,ft),t.heading.displayWhenInactive,t.heading.visible),color:n?t.heading.color:t.inactiveColor})},"#applyStatusAndAppearance"),s(Pn,"ModelManager");var _i=Pn;c();c();var So={hidden:{actions:{enable:"hidden",error:"hidden","position-update":"active",initialize:"inactive",disable:"disabled",timeout:"hidden"}},active:{actions:{enable:"active",disable:"disabled","position-update":"active",error:"inactive",timeout:"inactive"}},inactive:{actions:{enable:"inactive",disable:"disabled","position-update":"active",error:"inactive",timeout:"inactive"}},disabled:{actions:{enable:"hidden",disable:"disabled"}}};var X,me,pt,vn=class vn extends k{constructor(){super();u(this,X,"disabled");u(this,me);u(this,pt,!1)}get current(){return e(this,X)}get isEnabled(){return e(this,X)!=="disabled"}setDebug(t){r(this,pt,t)}transitionTo(t){let n=So[e(this,X)].actions[t];if(n==null){m.warn(`Invalid state transition from ${e(this,X)} to ${n} using ${t}`);return}n!==e(this,X)&&(e(this,pt)&&m.log(`Transitioning from ${e(this,X)} to ${n} using ${t}`),r(this,X,n),this.publish("status-change",{status:n,action:t}))}resetTimer(t){e(this,me)&&(clearTimeout(e(this,me)),r(this,me,void 0)),typeof t=="number"&&t<1/0&&r(this,me,setTimeout(()=>{e(this,pt)&&m.log(`Position timed out after ${t}ms`),this.transitionTo("timeout")},t))}clearTimer(){e(this,me)&&(clearTimeout(e(this,me)),r(this,me,void 0))}disable(){this.clearTimer(),this.transitionTo("disable")}shouldUpdateGeometry(){return e(this,X)!=="hidden"&&e(this,X)!=="disabled"}destroy(){this.clearTimer(),super.destroy()}};X=new WeakMap,me=new WeakMap,pt=new WeakMap,s(vn,"StatusManager");var Ii=vn;c();c();var Do=Jo(Eo());c();function Tr(l,i){let t=l.x-i.x,n=l.y-i.y;return Math.sqrt(t*t+n*n)}s(Tr,"calculatePixelDistance");function Pr(l){return{x:l.width/2,y:l.height/2}}s(Pr,"getContainerCenter");function xo(l,i){if(i.width===0||i.height===0)return;let t=Pr(i);return Tr(l,t)}s(xo,"calculateDistanceFromCenter");function Mo(l){let t=Math.min(l.width,l.height)*.22;return Math.max(96,Math.min(180,t))}s(Mo,"computePanExitThresholdPixels");function wo(l,i){return l!=null&&l>i}s(wo,"shouldExitFollowMode");function Ao(l,i){return{zoomLevel:i?.zoomLevel??21,bearing:l==="position-only"?i?.bearing:void 0,pitch:i?.pitch??45}}s(Ao,"createDefaultCameraTarget");function Oo(l){return{duration:l?.duration??1e3,easing:l?.easing??"ease-in-out"}}s(Oo,"createDefaultCameraOptions");function _o(l,i,t=1e-5){let o=l.filter(d=>d.floorId===i).map(d=>({x:d.longitude,y:d.latitude}));return(0,Do.default)(o,t).map(d=>[d.x,d.y])}s(_o,"simplifyPathCoordinates");function vr(l,i){let t=oo(l,i);if(t==null)return;let n=l[t.segmentIndex],o=l[t.segmentIndex+1];if(!(n==null||o==null))return io(n,o)}s(vr,"computePathBearing");function Io(l,i,t,n,o){if(l==="position-and-heading")return i??void 0;if(l==="position-and-path-direction"&&n!=null)return vr(n,o);if(l==="position-only"&&t!=null)return t}s(Io,"computeFollowBearing");var D,Le,Ee,We,Y,je,Ce,Ge,Kt,Wt,jt,bt,Ro,Zt,Lo,Sn=class Sn extends k{constructor(t){super();u(this,bt);u(this,D);u(this,Le,!1);u(this,Ee);u(this,We);u(this,Y);u(this,je);u(this,Ce,!1);u(this,Ge);T(this,"cancel",s(()=>{e(this,D).Camera.isAnimating&&e(this,D).Camera.cancelAnimation(),r(this,Le,!1),r(this,Ce,!1),r(this,Ee,void 0),r(this,We,void 0),r(this,Y,void 0),r(this,je,void 0),r(this,Ge,void 0),e(this,D).off("user-interaction-start",e(this,Kt)),e(this,D).off("user-interaction-end",e(this,Wt)),e(this,D).off("camera-change",e(this,jt)),e(this,D).off("navigation-active-path-change",e(this,Zt)),this.publish("follow-change",{following:!1})},"cancel"));u(this,Kt,s(()=>{r(this,Ce,!0),e(this,D).Camera.isAnimating&&e(this,D).Camera.cancelAnimation()},"#handleUserInteractionStart"));u(this,Wt,s(()=>{r(this,Ce,!1),e(this,Y)!=null&&(e(this,Y).zoomLevel=e(this,D).Camera.zoomLevel,e(this,Y).pitch=e(this,D).Camera.pitch)},"#handleUserInteractionEnd"));u(this,jt,s(()=>{if(!e(this,Ce)||e(this,Ge)==null)return;let t=e(this,D).container.getBoundingClientRect(),n=b(this,bt,Ro).call(this,t),o=Mo({width:t.width,height:t.height});wo(n,o)&&this.cancel()},"#handleCameraChange"));u(this,Zt,s(()=>{r(this,Ee,void 0)},"#handlePathChange"));r(this,D,t)}get isFollowing(){return e(this,Le)}start(t,n){if(t===!1){this.cancel();return}t!=="position-only"&&n?.bearing!=null&&m.warn(`Camera bearing option will be ignored in follow mode '${t}'. To control the bearing manually, use mode 'position-only'.`),r(this,We,t),r(this,Y,Ao(t,n)),r(this,je,Oo(n)),e(this,Le)||(r(this,Le,!0),e(this,D).on("user-interaction-start",e(this,Kt)),e(this,D).on("user-interaction-end",e(this,Wt)),e(this,D).on("camera-change",e(this,jt)),e(this,D).on("navigation-active-path-change",e(this,Zt))),this.publish("follow-change",{following:!0,mode:t})}handlePositionUpdate(t){if(!e(this,Le)||!e(this,We)||!e(this,Y)||!e(this,je))return;let{coordinate:n,heading:o,floor:a}=t;if(r(this,Ge,n),e(this,Ce))return;a!=null&&a.id!==e(this,D).currentFloor.id&&(e(this,D).setFloor(a.id),r(this,Ee,void 0));let d=Io(e(this,We),o,e(this,Y).bearing,b(this,bt,Lo).call(this),[n.longitude,n.latitude]),h={center:n,zoomLevel:e(this,Y).zoomLevel,pitch:e(this,Y).pitch,bearing:d};e(this,D).Camera.animateTo(h,e(this,je))}destroy(){this.cancel(),super.destroy()}};D=new WeakMap,Le=new WeakMap,Ee=new WeakMap,We=new WeakMap,Y=new WeakMap,je=new WeakMap,Ce=new WeakMap,Ge=new WeakMap,Kt=new WeakMap,Wt=new WeakMap,jt=new WeakMap,bt=new WeakSet,Ro=s(function(t){if(e(this,Ge)==null)return;let n=e(this,D).getScreenCoordinateFromCoordinate(e(this,Ge));return xo(n,{width:t.width,height:t.height})},"#getPixelDistanceFromCenter"),Zt=new WeakMap,Lo=s(function(){if(e(this,Ee)==null&&e(this,D).Navigation.activeDirections!=null){let t=Array.isArray(e(this,D).Navigation.activeDirections)?e(this,D).Navigation.activeDirections.flatMap(n=>n.coordinates):e(this,D).Navigation.activeDirections.coordinates;r(this,Ee,_o(t,e(this,D).currentFloor.id))}return e(this,Ee)},"#getSimplifiedDirections"),s(Sn,"FollowController");var Li=Sn;c();c();c();function gt(l,i,t,n){if(l==null||i==null)return"none";let o=t-i;return o>=l.ttl?"none":o<n.anchorOnlyPeriodMs?"anchor-only":"transition"}s(gt,"getAnchorState");function Co(l,i,t,n){let a=i-l-t.anchorOnlyPeriodMs;if(a<=0)return 1;let d=Math.LN2/n;return Math.exp(-d*a)}s(Co,"getAnchorConfidenceDecay");var Go={anchorOnlyPeriodMs:5e3,halfLifeMs:1e4,maxAgeMs:5e3},Fo=3e4;c();var Sr=.7,Er=1,Dr=2e3,xr=1,Mr=30,wr=100,No=5;function Fe(l){return(l%360+360)%360}s(Fe,"normalizeAngle");function En(l,i){let t=Fe(i)-Fe(l);return t>180?t-360:t<-180?t+360:t}s(En,"angleDifference");var R,yt,De,Tt,Pt,vt,St,Xt,Ne,Q,Be,Gi,Bo,Dn=class Dn{constructor(){u(this,Gi);u(this,R,null);u(this,yt,null);u(this,De,null);u(this,Tt,Sr);u(this,Pt,xr);u(this,vt,Mr);u(this,St,!0);u(this,Xt,2);u(this,Ne,0);u(this,Q,[]);u(this,Be,!1)}updateCompass(i,t){let n=Fe(i+e(this,Ne));if(r(this,yt,n),e(this,St)&&(e(this,Q).push(n),e(this,Q).length>No&&e(this,Q).shift(),r(this,Be,b(this,Gi,Bo).call(this))),e(this,R)===null){r(this,R,n);return}let o=En(e(this,R),n);if(Math.abs(o)>e(this,vt)){r(this,R,n);return}let a=1-e(this,Tt);e(this,Be)&&(a*=.1),!e(this,Be)&&Math.abs(o)<30&&(a=Math.max(.01,a)),r(this,R,Fe(e(this,R)+o*a))}updateGyro(i,t){if(e(this,R)===null){r(this,De,t);return}if(e(this,De)!==null){let n=(t-e(this,De))/1e3;if(n>Dr/1e3||n<0){r(this,De,t);return}if(Math.abs(i)>e(this,Pt)){let{isIOS:o}=Te(),a=o?-i*n:i*n;r(this,R,Fe(e(this,R)+a))}}r(this,De,t)}correctWithGps(i,t,n=1){if(t<Er)return;if(e(this,R)===null){r(this,R,Fe(i));return}let o=Fe(i),a=En(e(this,R),o),d=Math.min(.5,n*.5);r(this,R,Fe(e(this,R)+a*d))}setCalibrationOffset(i){r(this,Ne,i)}configure(i){i.complementaryAlpha!==void 0&&r(this,Tt,Math.min(Math.max(i.complementaryAlpha,0),1)),i.gyroNoiseThreshold!==void 0&&r(this,Pt,Math.max(i.gyroNoiseThreshold,0)),i.maxHeadingError!==void 0&&r(this,vt,Math.min(Math.max(i.maxHeadingError,1),180)),i.magneticGatingEnabled!==void 0&&r(this,St,i.magneticGatingEnabled),i.deltaThreshold!==void 0&&r(this,Xt,Math.max(i.deltaThreshold,0)),i.calibrationOffset!==void 0&&r(this,Ne,i.calibrationOffset)}getConfig(){return{complementaryAlpha:e(this,Tt),gyroNoiseThreshold:e(this,Pt),maxHeadingError:e(this,vt),magneticGatingEnabled:e(this,St),deltaThreshold:e(this,Xt),calibrationOffset:e(this,Ne)}}isMagneticDisturbanceActive(){return e(this,Be)}getHeading(){return e(this,R)}isInitialized(){return e(this,R)!==null}getLastCompassHeading(){return e(this,yt)}reset(){r(this,R,null),r(this,yt,null),r(this,De,null),r(this,Q,[]),r(this,Be,!1),r(this,Ne,0)}};R=new WeakMap,yt=new WeakMap,De=new WeakMap,Tt=new WeakMap,Pt=new WeakMap,vt=new WeakMap,St=new WeakMap,Xt=new WeakMap,Ne=new WeakMap,Q=new WeakMap,Be=new WeakMap,Gi=new WeakSet,Bo=s(function(){if(e(this,Q).length<No)return!1;let i=0,t=e(this,Q)[0];for(let o=1;o<e(this,Q).length;o++){let a=En(t,e(this,Q)[o]);i+=a*a}return i/(e(this,Q).length-1)>wr},"#detectMagneticDisturbance"),s(Dn,"HeadingFusionFilter");var Ci=Dn;c();var Ar={halfLifeMs:1e4},Or=15e3,_r=1e-8,Ir=1e-6,$o=111320,E,G,W,Yt,Qt,ei,xn,Mn=class Mn{constructor(i){u(this,ei);u(this,E,null);u(this,G,null);u(this,W,null);u(this,Yt);u(this,Qt);r(this,Yt,{...Ar,...i}),r(this,Qt,Math.LN2/e(this,Yt).halfLifeMs)}predict(i){if(e(this,E)===null||e(this,G)===null||e(this,W)===null)return;let t=i-e(this,W);if(t>Or||t<0){this.reset();return}if(t===0)return;let n=t/1e3;e(this,E)[0]+=e(this,E)[2]*n,e(this,E)[1]+=e(this,E)[3]*n;let o=e(this,G),a=n*n,d=_r*e(this,Qt)*t,h=o[0]+2*n*o[2]+a*o[10],f=o[5]+2*n*o[7]+a*o[15],p=o[2]+n*o[10],g=o[7]+n*o[15];o[0]=h+d*a,o[5]=f+d*a,o[2]=p,o[8]=p,o[7]=g,o[13]=g,o[10]+=d*n,o[15]+=d*n,r(this,W,i)}updatePosition(i,t,n,o){if(e(this,E)===null||e(this,G)===null||e(this,W)===null){b(this,ei,xn).call(this,i,t,n,o);return}if(this.predict(o),e(this,E)===null||e(this,G)===null){b(this,ei,xn).call(this,i,t,n,o);return}let a=e(this,G),d=n,h=i-e(this,E)[0],f=t-e(this,E)[1],p=a[0]+d,g=a[5]+d,v=a[0]/p,M=a[5]/g,V=a[2]/p,He=a[7]/g;e(this,E)[0]+=v*h,e(this,E)[1]+=M*f,e(this,E)[2]+=V*h,e(this,E)[3]+=He*f,a[0]=(1-v)*a[0],a[2]=(1-v)*a[2],a[5]=(1-M)*a[5],a[7]=(1-M)*a[7],a[10]=a[10]-V*a[2],a[15]=a[15]-He*a[7],r(this,W,o)}updateOdometry(i,t,n,o){if(e(this,E)===null||e(this,G)===null||e(this,W)===null||(this.predict(o),e(this,E)===null||e(this,G)===null))return;let a=t/$o,d=$o*Math.cos(e(this,E)[0]*Math.PI/180),h=i/d;e(this,E)[0]+=a,e(this,E)[1]+=h;let f=n;e(this,G)[0]+=f,e(this,G)[5]+=f,r(this,W,o)}getPosition(){return e(this,E)===null?null:{latitude:e(this,E)[0],longitude:e(this,E)[1]}}getVelocity(){return e(this,E)===null?null:{vLat:e(this,E)[2],vLon:e(this,E)[3]}}getUncertainty(){return e(this,G)===null?1/0:e(this,G)[0]+e(this,G)[5]}getLastTimestamp(){return e(this,W)}isInitialized(){return e(this,E)!==null}reset(){r(this,E,null),r(this,G,null),r(this,W,null)}};E=new WeakMap,G=new WeakMap,W=new WeakMap,Yt=new WeakMap,Qt=new WeakMap,ei=new WeakSet,xn=s(function(i,t,n,o){r(this,E,[i,t,0,0]);let a=n,d=Ir;r(this,G,[a,0,0,0,0,a,0,0,0,0,d,0,0,0,0,d]),r(this,W,o)},"#initialize"),s(Mn,"MultiSensorEKF");var Fi=Mn;c();function Ni(l,i){let t=Math.max(.01,Math.min(1,l));return i*i*1e-10/t}s(Ni,"confidenceToNoise");var Rr=1,J,fe,q,j,F,z,ii,x,Z,$e,U,pe,Xe,Ye,Ue,ni,oi,ri,O,Ze,Bi,Uo,Et,ti,si,Ui,Hi,ai,li,Ho,Vi,wn=class wn extends k{constructor(t,n){super();u(this,O);u(this,J);u(this,fe);u(this,q);u(this,j);u(this,F);u(this,z);u(this,ii,0);u(this,x);u(this,Z);u(this,$e);u(this,U,{dx:0,dy:0});u(this,pe);u(this,Xe);u(this,Ye);u(this,Ue);u(this,ni,s(({error:t})=>{this.publish("error",{error:t})},"#handleError"));u(this,oi,s(({anchor:t,configOverride:n})=>{this.setAnchor(t,n)},"#handleAnchorSetEvent"));u(this,ri,s(()=>{this.clearAnchor()},"#handleAnchorClearEvent"));u(this,Et,0);u(this,si,s(({sensorId:t,update:n})=>{n.latitude!=null&&n.longitude!=null?e(this,Vi).call(this,t,n):n.heading!=null&&n.angularVelocity==null?e(this,Ui).call(this,n.heading,n.timestamp??Date.now()):n.angularVelocity!=null&&e(this,Hi).call(this,n.angularVelocity,n.timestamp??Date.now())},"#handleAbsoluteUpdate"));u(this,Ui,s((t,n)=>{e(this,j).updateCompass(t,n);let o=e(this,j).getHeading();o!=null&&e(this,ai).call(this,o,n)},"#handleCompassUpdate"));u(this,Hi,s((t,n)=>{e(this,j).updateGyro(t,n);let o=e(this,j).getHeading();o!=null&&(e(this,F)!=null&&Math.abs(o-e(this,F))<.5||e(this,ai).call(this,o,n))},"#handleGyroUpdate"));u(this,ai,s((t,n)=>{r(this,F,t),this.publish("heading-update",{heading:t}),e(this,q).isInitialized()?b(this,O,ti).call(this,n):e(this,z)!=null&&this.publish("fused-position",{position:{...e(this,z),heading:t,timestamp:n}})},"#emitFusedHeading"));u(this,li,s(({sensorId:t,update:n})=>{let o=n.timestamp,a=gt(e(this,x),e(this,Z),o,b(this,O,Ze).call(this));if(m.log(`PDR received: dx=${n.dx.toFixed(3)}m, dy=${n.dy.toFixed(3)}m, anchorState=${a}`),a==="none"){m.warn(`Relative update from sensor "${t}" ignored: no anchor set. Set an anchor first via VPS/AI Localizer.`);return}e(this,U).dx+=n.dx,e(this,U).dy+=n.dy;let d=Ni(n.confidence,.5);e(this,q).updateOdometry(n.dx,n.dy,d,o),n.heading!=null&&r(this,F,n.heading),wt(this,ii)._++,m.log(`PDR #${e(this,ii)} ACCEPTED: total dx=${e(this,U).dx.toFixed(2)}m, dy=${e(this,U).dy.toFixed(2)}m`),m.log(`Relative update from "${t}": dx=${n.dx.toFixed(2)}m, dy=${n.dy.toFixed(2)}m. Total displacement: dx=${e(this,U).dx.toFixed(2)}m, dy=${e(this,U).dy.toFixed(2)}m`),b(this,O,ti).call(this,o)},"#handleRelativeUpdate"));u(this,Vi,s((t,n)=>{let o=n.timestamp??Date.now();n.heading!=null&&r(this,Xe,n.heading),n.floorLevel!=null&&r(this,Ye,n.floorLevel),n.accuracy!=null&&r(this,Ue,n.accuracy);let a=gt(e(this,x),e(this,Z),o,b(this,O,Ze).call(this));if(a==="anchor-only"){m.log("GPS update rejected during anchor-only period");return}if(n.heading!=null&&(n.speed??0)>=Rr){e(this,j).correctWithGps(n.heading,n.speed??0,n.confidence??.15);let f=e(this,j).getHeading();f!=null&&r(this,F,f)}if(a==="none"){b(this,O,Ho).call(this,t,n,o);return}let d=Ni(n.confidence??.5,n.accuracy??10),h={sensorId:t,weight:n.confidence??.5,position:n};if(e(this,q).updatePosition(n.latitude,n.longitude,d,o),b(this,O,ti).call(this,o),e(this,z)!=null){let f=e(this,z).contributions.findIndex(p=>p.sensorId===t);f>=0?e(this,z).contributions[f]=h:e(this,z).contributions.push(h)}},"#handlePositionUpdate"));r(this,J,t),r(this,fe,{...Go,...n}),r(this,q,new Fi({halfLifeMs:e(this,fe).halfLifeMs})),r(this,j,new Ci),e(this,J).on("absolute-update",e(this,si)),e(this,J).on("relative-update",e(this,li)),e(this,J).on("anchor-set",e(this,oi)),e(this,J).on("anchor-clear",e(this,ri)),e(this,J).on("error",e(this,ni))}get config(){return{...e(this,fe)}}getAnchorState(t){return gt(e(this,x),e(this,Z),t??Date.now(),b(this,O,Ze).call(this))}get anchor(){if(!(e(this,x)==null||gt(e(this,x),e(this,Z),Date.now(),b(this,O,Ze).call(this))==="none"))return{...e(this,x)}}get displacement(){return{...e(this,U)}}setAnchor(t,n){let o=Date.now();b(this,O,Bi).call(this),r(this,x,t),r(this,Z,o),n?.anchorOnlyPeriodMs!=null?r(this,pe,{anchorOnlyPeriodMs:n.anchorOnlyPeriodMs}):r(this,pe,void 0),r(this,U,{dx:0,dy:0}),r(this,z,void 0),e(this,q).reset();let a=Ni(t.confidence??1,1);e(this,q).updatePosition(t.latitude,t.longitude,a,o),m.log(`Anchor set from sensor "${t.sensorId}" at [${t.latitude}, ${t.longitude}]`),m.log(`ANCHOR SET from ${t.sensorId}, anchorOnlyPeriodMs=${b(this,O,Ze).call(this).anchorOnlyPeriodMs}`),this.publish("anchor-set",{anchor:{...t}}),b(this,O,ti).call(this,o),t.ttl!==1/0&&r(this,$e,setTimeout(()=>{b(this,O,Uo).call(this)},t.ttl))}clearAnchor(){b(this,O,Bi).call(this),r(this,x,void 0),r(this,Z,void 0),r(this,pe,void 0),r(this,U,{dx:0,dy:0}),m.log("Anchor cleared")}resetEKF(){e(this,q).reset()}resetHeadingFilter(){e(this,j).reset(),r(this,F,void 0)}get headingFilter(){return e(this,j)}get ekf(){return e(this,q)}getLastPosition(){return e(this,z)}destroy(){e(this,J).off("absolute-update",e(this,si)),e(this,J).off("relative-update",e(this,li)),e(this,J).off("anchor-set",e(this,oi)),e(this,J).off("anchor-clear",e(this,ri)),e(this,J).off("error",e(this,ni)),b(this,O,Bi).call(this),e(this,q).reset(),e(this,j).reset(),r(this,x,void 0),r(this,Z,void 0),r(this,pe,void 0),r(this,U,{dx:0,dy:0}),r(this,F,void 0),r(this,z,void 0),r(this,Xe,void 0),r(this,Ye,void 0),r(this,Ue,void 0),super.destroy()}};J=new WeakMap,fe=new WeakMap,q=new WeakMap,j=new WeakMap,F=new WeakMap,z=new WeakMap,ii=new WeakMap,x=new WeakMap,Z=new WeakMap,$e=new WeakMap,U=new WeakMap,pe=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Ue=new WeakMap,ni=new WeakMap,oi=new WeakMap,ri=new WeakMap,O=new WeakSet,Ze=s(function(){return e(this,pe)?{...e(this,fe),...e(this,pe)}:e(this,fe)},"#getEffectiveConfig"),Bi=s(function(){e(this,$e)!=null&&(clearTimeout(e(this,$e)),r(this,$e,void 0))},"#clearAnchorTimer"),Uo=s(function(){if(e(this,x)==null)return;let t={...e(this,x)};r(this,x,void 0),r(this,Z,void 0),r(this,$e,void 0),r(this,pe,void 0),r(this,U,{dx:0,dy:0}),m.log(`Anchor from sensor "${t.sensorId}" expired after ${t.ttl}ms`),this.publish("anchor-expired",{anchor:t})},"#expireAnchor"),Et=new WeakMap,ti=s(function(t){wt(this,Et)._++;let n=e(this,q).getPosition();if(n==null){m.warn(`emitFusedPosition #${e(this,Et)} FAILED: EKF position is null`);return}let o=gt(e(this,x),e(this,Z),t,b(this,O,Ze).call(this)),a=o!=="none",d=e(this,q).getUncertainty(),h=Math.max(.1,Math.min(1,1/(1+d*1e9))),f=e(this,F)??e(this,Xe)??e(this,x)?.heading,p=e(this,x)?.floorLevel??e(this,Ye),g;e(this,Ue)!=null?g=e(this,Ue):a&&e(this,x)!=null?g=3:g=Math.min(50,Math.max(1,Math.sqrt(d)*1e5));let v={latitude:n.latitude,longitude:n.longitude,accuracy:g,heading:f,floorLevel:p,timestamp:t,confidence:h,sensorId:"fusion",isCalibrated:a,displacement:a?{...e(this,U)}:void 0,contributions:[]};if(e(this,x)!=null&&a){let M=o==="transition"?Co(e(this,Z),t,e(this,fe),e(this,fe).halfLifeMs):1;v.contributions.push({sensorId:e(this,x).sensorId,weight:M,position:{latitude:e(this,x).latitude,longitude:e(this,x).longitude,heading:e(this,x).heading,floorLevel:e(this,x).floorLevel,timestamp:e(this,x).timestamp,confidence:e(this,x).confidence??1}})}e(this,F)!=null&&e(this,F)!==e(this,x)?.heading&&v.contributions.push({sensorId:"deviceorientation",weight:0,position:{heading:e(this,F),timestamp:t,confidence:1}}),r(this,z,v),m.log(`EMIT fused-position #${e(this,Et)}: ${v.latitude.toFixed(6)}, ${v.longitude.toFixed(6)}`),this.publish("fused-position",{position:v})},"#emitFusedPosition"),si=new WeakMap,Ui=new WeakMap,Hi=new WeakMap,ai=new WeakMap,li=new WeakMap,Ho=s(function(t,n,o){let a=e(this,F)??e(this,Xe),d=n.accuracy??e(this,Ue)??10,h=[{sensorId:t,weight:n.confidence??.5,position:n}];e(this,F)!=null&&h.push({sensorId:"deviceorientation",weight:0,position:{heading:e(this,F),timestamp:o,confidence:1}});let f={latitude:n.latitude,longitude:n.longitude,accuracy:d,heading:a,floorLevel:e(this,Ye),timestamp:o,confidence:n.confidence??.5,sensorId:"fusion",isCalibrated:!1,contributions:h};r(this,z,f),m.log(`EMIT direct-position: ${f.latitude.toFixed(6)}, ${f.longitude.toFixed(6)}`),this.publish("fused-position",{position:f})},"#emitDirectPosition"),Vi=new WeakMap,s(wn,"FusionEngine");var $i=wn;var H,be,xe,_,ue,N,de,Qe,B,I,ge,w,Me,A,Dt,xt,Mt,ui,di,hi,ci,mi,et,Ji,qi,zi,Ki,Wi,fi,ji,Zi,pi,bi,gi,yi,An=class An{constructor(i){u(this,H,new k);u(this,be);u(this,xe);u(this,_);u(this,ue);u(this,N);u(this,de);u(this,Qe);u(this,B);u(this,I);u(this,ge);u(this,w);u(this,Me);u(this,A,Zn);u(this,Dt,new Map);u(this,xt);u(this,Mt);T(this,"enable",s(i=>{r(this,A,fn(e(this,A),i)),e(this,_).setDebug(e(this,A).debug),this.isEnabled||(e(this,I).on("fused-position",e(this,ui)),e(this,I).on("heading-update",e(this,di)),e(this,I).on("error",e(this,hi)),e(this,I).on("anchor-set",e(this,ci)),e(this,I).on("anchor-expired",e(this,mi))),e(this,_).transitionTo("enable"),this.watchDevicePosition(e(this,A).watchDevicePosition),e(this,A).initialState==="inactive"&&e(this,_).transitionTo("initialize")},"enable"));T(this,"disable",s(()=>{e(this,I).off("fused-position",e(this,ui)),e(this,I).off("heading-update",e(this,di)),e(this,I).off("error",e(this,hi)),e(this,I).off("anchor-set",e(this,ci)),e(this,I).off("anchor-expired",e(this,mi)),e(this,I).clearAnchor(),e(this,N).remove(),e(this,_).clearTimer(),e(this,ue).isFollowing&&e(this,ue).cancel(),this.watchDevicePosition(!1),this.watchDeviceOrientation(!1),r(this,w,void 0),r(this,ge,void 0),e(this,Dt).clear(),e(this,_).transitionTo("disable")},"disable"));T(this,"on",s((i,t)=>e(this,H).on(i,t),"on"));T(this,"off",s((i,t)=>{e(this,H).off(i,t)},"off"));T(this,"updateState",s(i=>{let t=e(this,A).watchDevicePosition;r(this,A,fn(e(this,A),i)),i.debug!=null&&e(this,_).setDebug(i.debug),e(this,N).update({status:this.status},{animate:!1}),i.watchDevicePosition!=null&&i.watchDevicePosition!==t&&this.watchDevicePosition(i.watchDevicePosition),i.timeout!=null&&this.status==="active"&&e(this,_).resetTimer(e(this,A).timeout)},"updateState"));T(this,"watchDevicePosition",s(i=>{r(this,de,void 0);let t=e(this,B).get("geolocation");if(!t){m.warn("Geolocation sensor unavailable. watchDevicePosition requires a browser environment.");return}if(e(this,Mt)!=null&&(navigator.geolocation.clearWatch(e(this,Mt)),r(this,Mt,void 0)),!i){t.disable(),e(this,I).resetEKF(),e(this,I).resetHeadingFilter();return}if(!this.isEnabled){m.warn("BlueDot must be enabled before watching browser position.");return}t.enable()},"watchDevicePosition"));T(this,"watchDeviceOrientation",s(async i=>{r(this,Qe,void 0);let t=e(this,B).get("deviceorientation");if(!t){m.warn("Device orientation sensor unavailable. watchDeviceOrientation requires a browser environment.");return}i?await t.enable()!=="granted"&&m.error('Device orientation permission denied. "deviceorientation" event must be enabled in response to a transient activation. https://www.w3.org/TR/orientation-event/#dom-deviceorientationevent-requestpermission'):t.disable()},"watchDeviceOrientation"));u(this,ui,s(async i=>{let{position:t}=i;if(!this.isEnabled)return;let n=await e(this,fi).call(this,t.floorLevel,t.latitude,t.longitude);if(!this.isEnabled)return;let o={latitude:t.latitude,longitude:t.longitude,accuracy:t.accuracy??void 0,heading:t.heading??void 0,floor:n,timestamp:t.timestamp},a=o;if(e(this,xt)){let d=e(this,Zi).call(this,o);if(d==null){e(this,A).debug&&m.log("Position update discarded by position processor");return}a=d}pn(a.timestamp,e(this,w)?.timestamp,e(this,A))||(r(this,de,a),e(this,et).call(this,a))},"#handleFusedPosition"));u(this,di,s(i=>{let{heading:t}=i;r(this,Qe,t),this.status==="active"&&e(this,zi).call(this,t)},"#handleHeadingUpdate"));u(this,hi,s(i=>{let{error:t}=i;if(e(this,_).transitionTo("error"),t!=null&&typeof t=="object"&&"code"in t&&typeof t.code=="number"){let n=t;n.code===1&&e(this,pi).call(this).sendWatchPositionDenied(),e(this,H).publish("error",n)}},"#handleGeolocationError"));u(this,ci,s(i=>{e(this,H).publish("anchor-set",i)},"#handleAnchorSet"));u(this,mi,s(i=>{e(this,H).publish("anchor-expired",i)},"#handleAnchorExpired"));u(this,et,s((i,t)=>{let n;try{e(this,Qe)!=null&&(i=Object.assign({},i,{heading:e(this,Qe)})),n=Cn.parse(ro(i,e(this,ge)))}catch(o){e(this,_).transitionTo("error"),m.error("Position parse failed",o instanceof Lr.ZodError?o.message:String(o));return}if(e(this,A).debug&&m.log("Parsed position",n),e(this,A).preventOutOfBounds){let{radius:o,center:a}=e(this,be).Camera.bounds;if(o!=null&&isFinite(o)&&a!=null&&!so({longitude:n.longitude,latitude:n.latitude},{radius:o,center:a})){m.warn(`Position [${n.longitude}, ${n.latitude}] is outside map bounds. Position update will be discarded.`);return}}if(!e(this,ji).call(this,n.accuracy)){m.log(`Dropping position update with accuracy ${n.accuracy}m (exceeds threshold ${e(this,A).accuracyThreshold}m)`);return}if(t?.silent?e(this,N).update({status:this.status},{animate:!1}):e(this,_).transitionTo("position-update"),!e(this,_).shouldUpdateGeometry()){m.warn(`Cannot update position because BlueDot state is '${this.status}'. BlueDot must be enabled first.`);return}e(this,Ji).call(this,n,t)},"#setPosition"));u(this,Ji,s((i,t)=>{if(pn(i.timestamp,e(this,w)?.timestamp,e(this,A)))return;let n=e(this,w)?.floor?.id;r(this,w,i);let o=i.floor?.id;t?.silent||(e(this,_).resetTimer(e(this,A).timeout),e(this,pi).call(this).updateState({userPosition:{bluedotTimestamp:Date.now(),latitude:i.latitude,longitude:i.longitude,floorLevel:i.floor?.elevation,accuracy:i.accuracy}})),this.dotModel||e(this,N).add(i),e(this,N).updateFloor(i.floor);let a=new ki({latitude:i.latitude,longitude:i.longitude}),d=this.status==="active"?i.accuracy:void 0,h=e(this,qi).call(this)?i.heading??void 0:void 0,f=t?.animate!==!1;if(e(this,N).update({position:a,accuracy:d,heading:h,status:this.status},{animate:f},(p,g)=>{let v=g?o:n??o;e(this,H).publish("dot-position-update",{position:new ki({latitude:p.latitude,longitude:p.longitude,floorId:v})})}),!t?.silent){let p={floor:this.floor,heading:this.heading,accuracy:this.accuracy,coordinate:this.coordinate};e(this,H).publish("position-update",p),e(this,ue).handlePositionUpdate(p)}},"#applyPosition"));u(this,qi,s(()=>this.heading==null?!1:this.status==="active"?!0:e(this,A).heading.displayWhenInactive,"#shouldShowHeading"));u(this,zi,s(i=>{if(!e(this,_).shouldUpdateGeometry()){m.warn(`Cannot update orientation because BlueDot state is '${this.status}'. BlueDot must be enabled first.`);return}if(e(this,w)==null){e(this,A).debug&&m.log("Cannot update orientation before a valid position has been applied.");return}r(this,w,{...e(this,w),heading:i}),e(this,N).update({heading:i},{animate:!0}),e(this,H).publish("device-orientation-update",{heading:i})},"#setOrientation"));T(this,"update",s((i,t)=>{if(!this.isEnabled)return;if(i==null){r(this,ge,void 0),e(this,de)!=null&&e(this,et).call(this,e(this,de),t);return}if("coords"in i){e(this,Ki).call(this,i,t);return}let{timestamp:n,...o}=i,a=Object.assign({},e(this,ge),o);if("floorOrFloorId"in i){let{floorOrFloorId:h}=i;h==null?a.floor=void 0:h==="device"?a.floor="device":typeof h=="string"?a.floor=e(this,Wi).call(this,h):a.floor=h}r(this,ge,a),(a.latitude!=null&&a.longitude!=null||e(this,de)!=null)&&e(this,et).call(this,e(this,de),t)},"update"));u(this,Ki,s(async(i,t)=>{let n=await e(this,fi).call(this,i.coords.floorLevel,i.coords.latitude,i.coords.longitude);if(!this.isEnabled)return;let{timestamp:o,...a}=i,d=Object.assign({},e(this,ge),{...a.coords,floor:n});r(this,ge,d),(d.latitude!=null&&d.longitude!=null||e(this,de)!=null)&&e(this,et).call(this,e(this,de),t)},"#processAsyncGeolocation"));u(this,Wi,s(i=>e(this,xe).getById("floor",i),"#getFloorByFloorId"));u(this,fi,s(async(i,t,n)=>{if(i==null)return;let o=e(this,Dt).get(i);if(o==null&&(o=e(this,xe).getByType("floor").filter(a=>a.elevation===i),e(this,Dt).set(i,o)),o.length===0){m.warn(`Received elevation level ${i} but no floors could be found at that elevation.`);return}if(o.length===1)return o[0];if(t!=null&&n!=null){let a=new ki({latitude:t,longitude:n,floorId:o[0].id}),d=await e(this,xe).Query.nearest(a,e(this,xe).getByType("node"),{limit:"same-elevation",mode:"absolute-distance",maxResults:1});if(d&&d.length>0&&d[0].feature!=null&&d[0].feature.floor!=null)return d[0].feature.floor}return e(this,be).currentFloorStack.floors.find(a=>a.elevation===i)},"#getFloorByFloorLevel"));T(this,"follow",s((i,t)=>{e(this,ue).start(i,t)},"follow"));u(this,ji,s(i=>i==null?this.status!=="disabled":i<=e(this,A).accuracyThreshold,"#isAccurateEnough"));u(this,Zi,s(i=>{let t={latitude:e(this,w)?.latitude,longitude:e(this,w)?.longitude,accuracy:e(this,w)?.accuracy,heading:e(this,w)?.heading,floor:e(this,w)?.floor,timestamp:e(this,w)?.timestamp};try{return e(this,xt).call(this,t,i)}catch(n){return m.error("Position processor callback threw an error",n instanceof Error?n.message:String(n)),i}},"#processIncomingPosition"));T(this,"destroy",s(()=>{this.disable(),e(this,I).destroy(),e(this,B).destroy(),e(this,N).destroy(),e(this,_).destroy(),e(this,ue).destroy(),e(this,be).off("click",e(this,gi)),e(this,be).off("hover",e(this,yi)),e(this,H).destroy()},"destroy"));u(this,pi,s(()=>e(this,A).preventOutOfBounds?e(this,xe).internal.Analytics:{sendWatchPositionDenied:s(()=>{},"sendWatchPositionDenied"),updateState:s(()=>{},"updateState")},"#getAnalyticsIfEnabled"));u(this,bi,s(i=>t=>{t.models==null||t.models.length===0||this.dotModel==null||t.models.find(o=>o.id===this.dotModel?.id)==null||e(this,H).publish(i,{coordinate:t.coordinate})},"#handleClickOrHover"));u(this,gi,e(this,bi).call(this,"click"));u(this,yi,e(this,bi).call(this,"hover"));r(this,be,i),r(this,xe,i.getMapData()),r(this,_,new Ii),r(this,ue,new Li(i)),r(this,N,new _i(i,this)),r(this,B,new Ai),r(this,I,new $i(e(this,B))),e(this,_).on("status-change",t=>{e(this,N).update({status:t.status},{animate:!1}),e(this,H).publish("status-change",t)}),e(this,ue).on("follow-change",t=>{e(this,H).publish("follow-change",t)}),e(this,be).on("click",e(this,gi)),e(this,be).on("hover",e(this,yi))}get Sensors(){return e(this,B)}get Fusion(){return e(this,I)}get anchor(){return e(this,I).anchor}get displacement(){return e(this,I).displacement}get dotModel(){return e(this,N).dot}get accuracyRingModel(){return e(this,N).accuracyRing}get headingConeModel(){return e(this,N).headingCone}get isEnabled(){return e(this,_).isEnabled}get status(){return e(this,_).current}get isFollowing(){return e(this,ue).isFollowing}get heading(){return e(this,w)?.heading}get accuracy(){return e(this,w)?.accuracy}get coordinate(){if(e(this,w)!=null)return(e(this,Me)==null||this.floor?.id!==e(this,Me).floorId||e(this,w).latitude!==e(this,Me).latitude||e(this,w).longitude!==e(this,Me).longitude)&&r(this,Me,new ki({latitude:e(this,w).latitude,longitude:e(this,w).longitude,floorId:this.floor?.id})),e(this,Me)}getState(){return{...e(this,A)}}get floor(){return e(this,w)?.floor}forcePosition(i,t=Fo){let n=e(this,B).get("manual");if(n==null){m.warn("Manual sensor not available");return}this.isEnabled||this.enable(),n.isEnabled||n.enable(),n.forcePosition({latitude:i.latitude,longitude:i.longitude,heading:i.heading,floorLevel:i.floorLevel,ttl:t})}reportPosition(i){let t=e(this,B).get("manual");if(t==null){m.warn("Manual sensor not available");return}this.isEnabled||this.enable(),t.isEnabled||t.enable(),t.reportPosition(i)}async __enableSensor(i){let t=e(this,B).get(i);return t==null?(m.warn(`Sensor '${i}' not found`),"unavailable"):t.enable()}__disableSensor(i){let t=e(this,B).get(i);if(t==null){m.warn(`Sensor '${i}' not found`);return}t.disable()}async __checkSensorPermission(i){let t=e(this,B).get(i);return t==null?(m.warn(`Sensor '${i}' not found`),"unavailable"):t.checkPermission()}async __requestSensorPermission(i){let t=e(this,B).get(i);return t==null?(m.warn(`Sensor '${i}' not found`),"unavailable"):t.requestPermission()}__isSensorEnabled(i){let t=e(this,B).get(i);return t==null?(m.warn(`Sensor '${i}' not found`),!1):t.isEnabled}setPositionProcessor(i){r(this,xt,i)}};H=new WeakMap,be=new WeakMap,xe=new WeakMap,_=new WeakMap,ue=new WeakMap,N=new WeakMap,de=new WeakMap,Qe=new WeakMap,B=new WeakMap,I=new WeakMap,ge=new WeakMap,w=new WeakMap,Me=new WeakMap,A=new WeakMap,Dt=new WeakMap,xt=new WeakMap,Mt=new WeakMap,ui=new WeakMap,di=new WeakMap,hi=new WeakMap,ci=new WeakMap,mi=new WeakMap,et=new WeakMap,Ji=new WeakMap,qi=new WeakMap,zi=new WeakMap,Ki=new WeakMap,Wi=new WeakMap,fi=new WeakMap,ji=new WeakMap,Zi=new WeakMap,pi=new WeakMap,bi=new WeakMap,gi=new WeakMap,yi=new WeakMap,s(An,"BlueDot");var Vo=An;export{he as a,Ti as b,Ai as c,Vo as d};
@@ -0,0 +1,2 @@
1
+ var l=Object.create;var L=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var p=e=>{throw TypeError(e)};var R=(e,o,t)=>o in e?L(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t;var E=(e,o)=>L(e,"name",{value:o,configurable:!0});var w=(e,o)=>()=>(e&&(o=e(e=0)),o);var y=(e,o)=>()=>(o||e((o={exports:{}}).exports,o),o.exports);var D=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of S(o))!d.call(e,n)&&n!==t&&L(e,n,{get:()=>o[n],enumerable:!(r=u(o,n))||r.enumerable});return e};var $=(e,o,t)=>(t=e!=null?l(O(e)):{},D(o||!e||!e.__esModule?L(t,"default",{value:e,enumerable:!0}):t,e));var b=(e,o,t)=>R(e,typeof o!="symbol"?o+"":o,t),a=(e,o,t)=>o.has(e)||p("Cannot "+t);var N=(e,o,t)=>(a(e,o,"read from private field"),t?t.call(e):o.get(e)),I=(e,o,t)=>o.has(e)?p("Cannot add the same private member more than once"):o instanceof WeakSet?o.add(e):o.set(e,t),m=(e,o,t,r)=>(a(e,o,"write to private field"),r?r.call(e,t):o.set(e,t),t),V=(e,o,t)=>(a(e,o,"access private method"),t);var h=(e,o,t,r)=>({set _(n){m(e,o,n,t)},get _(){return N(e,o,r)}});var c,i=w(()=>{c={env:{NODE_ENV:"production",npm_package_version:"6.19.0-beta.0"}}});i();i();var x="[MappedinJS]";function g(e="",{prefix:o=x}={}){let t=`${o}${e?`-${e}`:""}`,r=E((n,_)=>{if(typeof window<"u"&&window.rnDebug){let f=_.map(s=>s instanceof Error&&s.stack?`${s.message}
2
+ ${s.stack}`:s);window.rnDebug(`${e} ${n}: ${f.join(" ")}`)}},"rnDebug");return{logState:c.env.NODE_ENV==="test"?3:0,log(...n){this.logState<=0&&(console.log(t,...n),r("log",n))},warn(...n){this.logState<=1&&(console.warn(t,...n),r("warn",n))},error(...n){this.logState<=2&&(console.error(t,...n),r("error",n))},assert(...n){console.assert(...n)},time(n){console.time(n)},timeEnd(n){console.timeEnd(n)},setLevel(n){0<=n&&n<=3&&(this.logState=n)}}}E(g,"createLogger");var k=g();var j=g("",{prefix:"[BlueDot]"});export{E as a,y as b,$ as c,b as d,N as e,I as f,m as g,V as h,h as i,i as j,j as k};
@@ -1217,6 +1217,15 @@ type FollowCameraOptions = {
1217
1217
  easing?: 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear';
1218
1218
  };
1219
1219
  type BlueDotEventPayloads = {
1220
+ /**
1221
+ * Emitted on every animation frame while the Blue Dot model is moving.
1222
+ * Unlike `position-update` (which fires only on raw sensor input, typically ~1Hz),
1223
+ * this fires at the display refresh rate during tweened movement, making it
1224
+ * suitable for smooth path-tracking visualizations.
1225
+ */
1226
+ 'dot-position-update': {
1227
+ position: Coordinate;
1228
+ };
1220
1229
  /**
1221
1230
  * Emitted when the Blue Dot's position is updated either from the device's geolocation API or by calling {@link BlueDot.update}.
1222
1231
  * see {@link BlueDot.watchDevicePosition} for more details.