@signalk/freeboard-sk 2.24.2 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +16 -0
  2. package/docs/screenshots/2_freeboard-sk.jpg +0 -0
  3. package/docs/screenshots/3_freeboard-sk.jpg +0 -0
  4. package/package.json +13 -8
  5. package/public/3rdpartylicenses.txt +70 -19
  6. package/public/assets/img/no-such-symbol.svg +4 -0
  7. package/public/chunk-2GXI757Z.js +1 -0
  8. package/public/chunk-7OJ7YZPE.js +1010 -0
  9. package/public/chunk-A626ZBXE.js +3871 -0
  10. package/public/chunk-CSNMIJA3.js +1612 -0
  11. package/public/chunk-EU3YXT24.js +929 -0
  12. package/public/chunk-ILSUTX3X.js +1 -0
  13. package/public/chunk-JJ245XTQ.js +1 -0
  14. package/public/chunk-NM5IDVR6.js +107 -0
  15. package/public/chunk-NMXQ543J.js +1 -0
  16. package/public/chunk-P5D5HOAL.js +1709 -0
  17. package/public/{chunk-LXUTMJYP.js → chunk-QNWLXTD7.js} +1 -1
  18. package/public/chunk-RS6VYSOP.js +1 -0
  19. package/public/chunk-VUZVHRKQ.js +1 -0
  20. package/public/chunk-WPZCQDE4.js +1 -0
  21. package/public/chunk-WRR2LL5R.js +1 -0
  22. package/public/chunk-WWDDTAFW.js +2 -0
  23. package/public/chunk-XP3I253N.js +1 -0
  24. package/public/index.html +1 -1
  25. package/public/main-IKMWD43W.js +466 -0
  26. package/public/worker-5T47RUMR.js +3 -0
  27. package/public/chunk-2AF4T5IB.js +0 -1
  28. package/public/chunk-3GHIRJ3C.js +0 -2
  29. package/public/chunk-A4TULHTL.js +0 -1
  30. package/public/chunk-AFVK3UQJ.js +0 -5482
  31. package/public/chunk-AX3UMUXB.js +0 -1
  32. package/public/chunk-EFVTFEXB.js +0 -1
  33. package/public/chunk-FALIRPMH.js +0 -1035
  34. package/public/chunk-G4GM24WE.js +0 -1
  35. package/public/chunk-NTIQMWPW.js +0 -2718
  36. package/public/chunk-QIOZNURQ.js +0 -1
  37. package/public/chunk-SBFXQ3G7.js +0 -1
  38. package/public/main-AZEF35BN.js +0 -466
  39. package/public/worker-AUTVLQL7.js +0 -3
@@ -1,3 +0,0 @@
1
- var Oi=Object.create;var Hr=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var Ai=Object.getOwnPropertyNames;var Di=Object.getPrototypeOf,Ri=Object.prototype.hasOwnProperty;var u=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Li=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ai(t))!Ri.call(e,i)&&i!==r&&Hr(e,i,{get:()=>t[i],enumerable:!(n=wi(t,i))||n.enumerable});return e};var Gr=(e,t,r)=>(r=e!=null?Oi(Di(e)):{},Li(t||!e||!e.__esModule?Hr(r,"default",{value:e,enumerable:!0}):r,e));var x=u(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.timeConversion=p.sexagesimalPattern=p.longitudeKeys=p.latitudeKeys=p.earthRadius=p.distanceConversion=p.areaConversion=p.altitudeKeys=p.RAD_TO_DEG=p.MINLON=p.MINLAT=p.MAXLON=p.MAXLAT=p.DEG_TO_RAD=void 0;var Ju=p.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/,Qu=p.earthRadius=6378137,el=p.MINLAT=-90,tl=p.MAXLAT=90,rl=p.MINLON=-180,nl=p.MAXLON=180,il=p.DEG_TO_RAD=Math.PI/180,al=p.RAD_TO_DEG=180/Math.PI,ol=p.longitudeKeys=["lng","lon","longitude",0],sl=p.latitudeKeys=["lat","latitude",1],ul=p.altitudeKeys=["alt","altitude","elevation","elev",2],ll=p.distanceConversion={m:1,km:.001,cm:100,mm:1e3,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/.9144},fl=p.timeConversion={m:60,h:3600,d:86400},I=p.areaConversion={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};I.sqm=I.m2;I.sqkm=I.km2;I.sqft=I.ft2;I.sqyd=I.yd2;I.sqin=I.in2});var ce=u(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.default=void 0;var Ui=(e,t)=>{if(e==null)throw new Error(`'${e}' is no valid coordinate.`);return t.reduce((r,n)=>Object.prototype.hasOwnProperty.call(e,n)&&n!==void 0&&r===void 0?(r=n,n):r,void 0)},dl=je.default=Ui});var de=u(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.default=void 0;var Vi=e=>{let t=e.toString().trim();return isNaN(parseFloat(t))?!1:parseFloat(t)===Number(t)},pl=Ne.default=Vi});var me=u(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.default=void 0;var Wi=x(),Ki=e=>Wi.sexagesimalPattern.test(e.toString().trim()),hl=Fe.default=Ki});var pe=u(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.default=void 0;var Bi=x(),$i=e=>{let t=new RegExp(Bi.sexagesimalPattern).exec(e.toString().trim());if(t===null)throw new Error("Given value is not in sexagesimal format");let r=Number(t[2])/60||0,n=Number(t[4])/3600||0,i=parseFloat(t[1])+r+n;return["S","W"].includes(t[7])?-i:i},yl=Ue.default=$i});var We=u(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.default=void 0;var nr=x(),ir=Hi(ce());function Hi(e){return e&&e.__esModule?e:{default:e}}var Gi=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{longitude:nr.longitudeKeys,latitude:nr.latitudeKeys,altitude:nr.altitudeKeys},r=(0,ir.default)(e,t.longitude),n=(0,ir.default)(e,t.latitude),i=(0,ir.default)(e,t.altitude);return{latitude:n,longitude:r,...i?{altitude:i}:{}}},vl=Ve.default=Gi});var or=u(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.default=void 0;var zi=ar(de()),Xi=ar(me()),Zi=ar(pe()),sn=x();function ar(e){return e&&e.__esModule?e:{default:e}}var un=e=>{if((0,zi.default)(e)){let t=parseFloat(e);return!(t>sn.MAXLAT||t<sn.MINLAT)}return(0,Xi.default)(e)?un((0,Zi.default)(e)):!1},Ml=Ke.default=un});var ur=u(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.default=void 0;var Yi=sr(de()),Ji=sr(me()),Qi=sr(pe()),ln=x();function sr(e){return e&&e.__esModule?e:{default:e}}var fn=e=>{if((0,Yi.default)(e)){let t=parseFloat(e);return!(t>ln.MAXLON||t<ln.MINLON)}return(0,Ji.default)(e)?fn((0,Qi.default)(e)):!1},Sl=Be.default=fn});var fr=u($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.default=void 0;var ea=lr(We()),cn=lr(or()),dn=lr(ur());function lr(e){return e&&e.__esModule?e:{default:e}}var ta=e=>{let{latitude:t,longitude:r}=(0,ea.default)(e);if(Array.isArray(e)&&e.length>=2)return(0,dn.default)(e[0])&&(0,cn.default)(e[1]);if(t===void 0||r===void 0)return!1;let n=e[r],i=e[t];return i===void 0||n===void 0?!1:(0,cn.default)(i)&&(0,dn.default)(n)},wl=$e.default=ta});var Ge=u(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.default=void 0;var ra=he(de()),na=he(me()),ia=he(pe()),mn=he(fr()),aa=he(We());function he(e){return e&&e.__esModule?e:{default:e}}var ge=e=>{if((0,ra.default)(e))return Number(e);if((0,na.default)(e))return(0,ia.default)(e);if((0,mn.default)(e)){let t=(0,aa.default)(e);return Array.isArray(e)?e.map((r,n)=>[0,1].includes(n)?ge(r):r):{...e,...t.latitude&&{[t.latitude]:ge(e[t.latitude])},...t.longitude&&{[t.longitude]:ge(e[t.longitude])}}}return Array.isArray(e)?e.map(t=>(0,mn.default)(t)?ge(t):t):e},Dl=He.default=ge});var R=u(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.default=void 0;var oa=x(),sa=pn(ce()),ua=pn(Ge());function pn(e){return e&&e.__esModule?e:{default:e}}var la=(e,t)=>{let r=(0,sa.default)(e,oa.latitudeKeys);if(r==null)return;let n=e[r];return t===!0?n:(0,ua.default)(n)},Ll=ze.default=la});var L=u(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.default=void 0;var fa=x(),ca=gn(ce()),da=gn(Ge());function gn(e){return e&&e.__esModule?e:{default:e}}var ma=(e,t)=>{let r=(0,ca.default)(e,fa.longitudeKeys);if(r==null)return;let n=e[r];return t===!0?n:(0,da.default)(n)},kl=Xe.default=ma});var j=u(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.default=void 0;var pa=x(),ga=e=>e*pa.DEG_TO_RAD,Cl=Ze.default=ga});var G=u(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.default=void 0;var ha=x(),ba=e=>e*ha.RAD_TO_DEG,Il=Ye.default=ba});var bn=u(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.default=void 0;var ya=Je(R()),_a=Je(L()),cr=Je(j()),dr=Je(G()),hn=x();function Je(e){return e&&e.__esModule?e:{default:e}}var va=function(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:6371e3,i=(0,ya.default)(e),a=(0,_a.default)(e),o=t/n,s=(0,cr.default)(r),c=(0,cr.default)(i),v=(0,cr.default)(a),g=Math.asin(Math.sin(c)*Math.cos(o)+Math.cos(c)*Math.sin(o)*Math.cos(s)),h=v+Math.atan2(Math.sin(s)*Math.sin(o)*Math.cos(c),Math.cos(o)-Math.sin(c)*Math.sin(g)),m=(0,dr.default)(h);return(m<hn.MINLON||m>hn.MAXLON)&&(h=(h+3*Math.PI)%(2*Math.PI)-Math.PI,m=(0,dr.default)(h)),{latitude:(0,dr.default)(g),longitude:m}},Nl=Qe.default=va});var yn=u(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var xa=x(),Ma=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",r=xa.areaConversion[t];if(r)return e*r;throw new Error("Invalid unit used for area conversion.")},Ul=et.default=Ma});var _n=u(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=void 0;var Pa=x(),Sa=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",r=Pa.distanceConversion[t];if(r)return e*r;throw new Error("Invalid unit used for distance conversion.")},Wl=tt.default=Sa});var vn=u(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=void 0;var rt=x(),Oa=function(e){switch(arguments.length>1&&arguments[1]!==void 0?arguments[1]:"kmh"){case"kmh":return e*rt.timeConversion.h*rt.distanceConversion.km;case"mph":return e*rt.timeConversion.h*rt.distanceConversion.mi;default:return e}},Bl=nt.default=Oa});var xn=u(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.default=void 0;var wa=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4,r=Math.pow(10,t);return Math.round(e*r)/r},Aa=e=>{let[t,r]=e.toString().split("."),n=Math.abs(Number(t)),i=+("0."+(r||0))*60,a=i.toString().split("."),o=Math.floor(i),s=wa(+("0."+(a[1]||0))*60).toString(),[c,v="0"]=s.split(".");return n+"\xB0 "+o.toString().padStart(2,"0")+"' "+c.padStart(2,"0")+"."+v.padEnd(1,"0")+'"'},Hl=it.default=Aa});var mr=u(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var Da=e=>e>1?1:e<-1?-1:e,zl=at.default=Da});var K=u(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var Mn=ot(R()),Pn=ot(L()),pr=ot(j()),Ra=ot(mr()),La=x();function ot(e){return e&&e.__esModule?e:{default:e}}var qa=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;r=isNaN(r)?1:r;let n=(0,pr.default)((0,Mn.default)(e)),i=(0,pr.default)((0,Mn.default)(t)),a=(0,pr.default)((0,Pn.default)(e)-(0,Pn.default)(t)),o=Math.acos((0,Ra.default)(Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos(a)))*La.earthRadius;return Math.round(o/r)*r},Zl=st.default=qa});var gr=u(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=void 0;var Sn=ka(K());function ka(e){return e&&e.__esModule?e:{default:e}}var Ta=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Sn.default;return r=typeof r=="function"?r:Sn.default,t.slice().sort((n,i)=>r(e,n)-r(e,i))},Jl=ut.default=Ta});var On=u(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.default=void 0;var Ca=Ea(gr());function Ea(e){return e&&e.__esModule?e:{default:e}}var Ia=(e,t)=>(0,Ca.default)(e,t)[0],ef=lt.default=Ia});var Dn=u(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.default=void 0;var hr=br(j()),ja=br(R()),wn=br(L()),An=x();function br(e){return e&&e.__esModule?e:{default:e}}var Na=e=>{let t=0;if(e.length>2){let r,n,i;for(let a=0;a<e.length;a++){a===e.length-2?(r=e.length-2,n=e.length-1,i=0):a===e.length-1?(r=e.length-1,n=0,i=1):(r=a,n=a+1,i=a+2);let o=(0,wn.default)(e[r]),s=(0,ja.default)(e[n]),c=(0,wn.default)(e[i]);t+=((0,hr.default)(c)-(0,hr.default)(o))*Math.sin((0,hr.default)(s))}t=t*An.earthRadius*An.earthRadius/2}return Math.abs(t)},rf=ft.default=Na});var yr=u(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var Fa=Rn(R()),Ua=Rn(L());function Rn(e){return e&&e.__esModule?e:{default:e}}var Va=e=>{if(Array.isArray(e)===!1||e.length===0)throw new Error("No points were given.");return e.reduce((t,r)=>{let n=(0,Fa.default)(r),i=(0,Ua.default)(r);return{maxLat:Math.max(n,t.maxLat),minLat:Math.min(n,t.minLat),maxLng:Math.max(i,t.maxLng),minLng:Math.min(i,t.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})},af=ct.default=Va});var Ln=u(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=void 0;var Wa=mt(R()),Ka=mt(L()),ne=mt(j()),dt=mt(G()),be=x();function mt(e){return e&&e.__esModule?e:{default:e}}var Ba=(e,t)=>{let r=(0,Wa.default)(e),n=(0,Ka.default)(e),i=(0,ne.default)(r),a=(0,ne.default)(n),o=t/be.earthRadius,s=i-o,c=i+o,v=(0,ne.default)(be.MAXLAT),g=(0,ne.default)(be.MINLAT),h=(0,ne.default)(be.MAXLON),m=(0,ne.default)(be.MINLON),P,y;if(s>g&&c<v){let A=Math.asin(Math.sin(o)/Math.cos(i));P=a-A,P<m&&(P+=Math.PI*2),y=a+A,y>h&&(y-=Math.PI*2)}else s=Math.max(s,g),c=Math.min(c,v),P=m,y=h;return[{latitude:(0,dt.default)(s),longitude:(0,dt.default)(P)},{latitude:(0,dt.default)(c),longitude:(0,dt.default)(y)}]},sf=pt.default=Ba});var Tn=u(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.default=void 0;var $a=gt(R()),Ha=gt(L()),qn=gt(j()),kn=gt(G());function gt(e){return e&&e.__esModule?e:{default:e}}var Ga=e=>{if(Array.isArray(e)===!1||e.length===0)return!1;let t=e.length,r=e.reduce((o,s)=>{let c=(0,qn.default)((0,$a.default)(s)),v=(0,qn.default)((0,Ha.default)(s));return{X:o.X+Math.cos(c)*Math.cos(v),Y:o.Y+Math.cos(c)*Math.sin(v),Z:o.Z+Math.sin(c)}},{X:0,Y:0,Z:0}),n=r.X/t,i=r.Y/t,a=r.Z/t;return{longitude:(0,kn.default)(Math.atan2(i,n)),latitude:(0,kn.default)(Math.atan2(a,Math.sqrt(n*n+i*i)))}},lf=ht.default=Ga});var Cn=u(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=void 0;var za=Xa(yr());function Xa(e){return e&&e.__esModule?e:{default:e}}var Za=e=>{let t=(0,za.default)(e),r=t.minLat+(t.maxLat-t.minLat)/2,n=t.minLng+(t.maxLng-t.minLng)/2;return{latitude:parseFloat(r.toFixed(6)),longitude:parseFloat(n.toFixed(6))}},cf=bt.default=Za});var _r=u(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=void 0;var En=_t(R()),In=_t(L()),yt=_t(j()),Ya=_t(G());function _t(e){return e&&e.__esModule?e:{default:e}}var Ja=(e,t)=>{let r=(0,yt.default)((0,In.default)(t))-(0,yt.default)((0,In.default)(e)),n=Math.log(Math.tan((0,yt.default)((0,En.default)(t))/2+Math.PI/4)/Math.tan((0,yt.default)((0,En.default)(e))/2+Math.PI/4));return Math.abs(r)>Math.PI&&(r>0?r=(Math.PI*2-r)*-1:r=Math.PI*2+r),((0,Ya.default)(Math.atan2(r,n))+360)%360},mf=vt.default=Ja});var Nn=u(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var jn=Qa(_r());function Qa(e){return e&&e.__esModule?e:{default:e}}var eo=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:jn.default,n=typeof r=="function"?r(e,t):(0,jn.default)(e,t);if(isNaN(n))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(n/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N"}},gf=xt.default=eo});var xr=u(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.default=void 0;var vr=Un(K()),Fn=Un(mr());function Un(e){return e&&e.__esModule?e:{default:e}}var to=function(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=(0,vr.default)(t,e,n),a=(0,vr.default)(e,r,n),o=(0,vr.default)(t,r,n),s=Math.acos((0,Fn.default)((i*i+o*o-a*a)/(2*i*o))),c=Math.acos((0,Fn.default)((a*a+o*o-i*i)/(2*a*o)));return i===0||a===0?0:o===0||s>Math.PI/2?i:c>Math.PI/2?a:Math.sin(s)*i},bf=Mt.default=to});var Kn=u(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=void 0;var Vn=Pt(R()),Wn=Pt(L()),F=Pt(j()),ro=Pt(G());function Pt(e){return e&&e.__esModule?e:{default:e}}var no=(e,t)=>{let r=(0,Vn.default)(t),n=(0,Wn.default)(t),i=(0,Vn.default)(e),a=(0,Wn.default)(e);return((0,ro.default)(Math.atan2(Math.sin((0,F.default)(n)-(0,F.default)(a))*Math.cos((0,F.default)(r)),Math.cos((0,F.default)(i))*Math.sin((0,F.default)(r))-Math.sin((0,F.default)(i))*Math.cos((0,F.default)(r))*Math.cos((0,F.default)(n)-(0,F.default)(a))))+360)%360},_f=St.default=no});var Bn=u(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.default=void 0;var io=ao(K());function ao(e){return e&&e.__esModule?e:{default:e}}var oo=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:io.default;return e.reduce((r,n)=>(typeof r=="object"&&r.last!==null&&(r.distance+=t(n,r.last)),r.last=n,r),{last:null,distance:0}).distance},xf=Ot.default=oo});var zn=u(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var $n=Pr(R()),Hn=Pr(L()),Mr=Pr(j()),Gn=x();function Pr(e){return e&&e.__esModule?e:{default:e}}var so=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;r=isNaN(r)?1:r;let n=(0,$n.default)(e),i=(0,Hn.default)(e),a=(0,$n.default)(t),o=(0,Hn.default)(t),s=6356752314245e-6,c=1/298.257223563,v=(0,Mr.default)(o-i),g,h,m,P,y,A,Wr=Math.atan((1-c)*Math.tan((0,Mr.default)(parseFloat(n)))),Kr=Math.atan((1-c)*Math.tan((0,Mr.default)(parseFloat(a)))),Se=Math.sin(Wr),Oe=Math.cos(Wr),we=Math.sin(Kr),Y=Math.cos(Kr),ae=v,Br,$r=100;do{let Kt=Math.sin(ae),Bt=Math.cos(ae);if(A=Math.sqrt(Y*Kt*(Y*Kt)+(Oe*we-Se*Y*Bt)*(Oe*we-Se*Y*Bt)),A===0)return 0;g=Se*we+Oe*Y*Bt,h=Math.atan2(A,g),m=Oe*Y*Kt/A,P=1-m*m,y=g-2*Se*we/P,isNaN(y)&&(y=0);let $t=c/16*P*(4+c*(4-3*P));Br=ae,ae=v+(1-$t)*c*m*(h+$t*A*(y+$t*g*(-1+2*y*y)))}while(Math.abs(ae-Br)>1e-12&&--$r>0);if($r===0)return NaN;let W=P*(Gn.earthRadius*Gn.earthRadius-s*s)/(s*s),Mi=1+W/16384*(4096+W*(-768+W*(320-175*W))),Wt=W/1024*(256+W*(-128+W*(74-47*W))),Pi=Wt*A*(y+Wt/4*(g*(-1+2*y*y)-Wt/6*y*(-3+4*A*A)*(-3+4*y*y))),Si=s*Mi*(h-Pi);return Math.round(Si/r)*r},Pf=wt.default=so});var Xn=u(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var uo=e=>{if(/^(NNE|NE|NNW|N)$/.test(e))return"N";if(/^(ENE|E|ESE|SE)$/.test(e))return"E";if(/^(SSE|S|SSW|SW)$/.test(e))return"S";if(/^(WSW|W|WNW|NW)$/.test(e))return"W"},Of=At.default=uo});var Zn=u(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var lo=fo(K());function fo(e){return e&&e.__esModule?e:{default:e}}var co=function(e,t){let n=(arguments.length>2&&arguments[2]!==void 0?arguments[2]:lo.default)(e,t),i=Number(t.time)-Number(e.time);return n/i*1e3},Af=Dt.default=co});var Yn=u(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=void 0;var Sr=mo(K());function mo(e){return e&&e.__esModule?e:{default:e}}var po=(e,t,r)=>(0,Sr.default)(t,e)+(0,Sr.default)(e,r)===(0,Sr.default)(t,r),Rf=Rt.default=po});var Qn=u(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.default=void 0;var Lt=Jn(R()),q=Jn(L());function Jn(e){return e&&e.__esModule?e:{default:e}}var go=(e,t)=>{let r=!1,n=t.length;for(let i=-1,a=n-1;++i<n;a=i)((0,q.default)(t[i])<=(0,q.default)(e)&&(0,q.default)(e)<(0,q.default)(t[a])||(0,q.default)(t[a])<=(0,q.default)(e)&&(0,q.default)(e)<(0,q.default)(t[i]))&&(0,Lt.default)(e)<((0,Lt.default)(t[a])-(0,Lt.default)(t[i]))*((0,q.default)(e)-(0,q.default)(t[i]))/((0,q.default)(t[a])-(0,q.default)(t[i]))+(0,Lt.default)(t[i])&&(r=!r);return r},qf=qt.default=go});var ei=u(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=void 0;var ho=bo(xr());function bo(e){return e&&e.__esModule?e:{default:e}}var yo=(e,t,r,n)=>(0,ho.default)(e,t,r)<n,Tf=kt.default=yo});var ti=u(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.default=void 0;var _o=vo(K());function vo(e){return e&&e.__esModule?e:{default:e}}var xo=(e,t,r)=>(0,_o.default)(e,t,.01)<r,Ef=Tt.default=xo});var ri=u(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.default=void 0;var Mo=e=>{if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map(n=>{let[i,a]=n.split(" ");return{longitude:parseFloat(i),latitude:parseFloat(a)}})},jf=Ct.default=Mo});var ni=u(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});var Po={computeDestinationPoint:!0,convertArea:!0,convertDistance:!0,convertSpeed:!0,decimalToSexagesimal:!0,findNearest:!0,getAreaOfPolygon:!0,getBounds:!0,getBoundsOfDistance:!0,getCenter:!0,getCenterOfBounds:!0,getCompassDirection:!0,getCoordinateKey:!0,getCoordinateKeys:!0,getDistance:!0,getDistanceFromLine:!0,getGreatCircleBearing:!0,getLatitude:!0,getLongitude:!0,getPathLength:!0,getPreciseDistance:!0,getRhumbLineBearing:!0,getRoughCompassDirection:!0,getSpeed:!0,isDecimal:!0,isPointInLine:!0,isPointInPolygon:!0,isPointNearLine:!0,isPointWithinRadius:!0,isSexagesimal:!0,isValidCoordinate:!0,isValidLatitude:!0,isValidLongitude:!0,orderByDistance:!0,sexagesimalToDecimal:!0,toDecimal:!0,toRad:!0,toDeg:!0,wktToPolygon:!0};Object.defineProperty(l,"computeDestinationPoint",{enumerable:!0,get:function(){return So.default}});Object.defineProperty(l,"convertArea",{enumerable:!0,get:function(){return Oo.default}});Object.defineProperty(l,"convertDistance",{enumerable:!0,get:function(){return wo.default}});Object.defineProperty(l,"convertSpeed",{enumerable:!0,get:function(){return Ao.default}});Object.defineProperty(l,"decimalToSexagesimal",{enumerable:!0,get:function(){return Do.default}});Object.defineProperty(l,"findNearest",{enumerable:!0,get:function(){return Ro.default}});Object.defineProperty(l,"getAreaOfPolygon",{enumerable:!0,get:function(){return Lo.default}});Object.defineProperty(l,"getBounds",{enumerable:!0,get:function(){return qo.default}});Object.defineProperty(l,"getBoundsOfDistance",{enumerable:!0,get:function(){return ko.default}});Object.defineProperty(l,"getCenter",{enumerable:!0,get:function(){return To.default}});Object.defineProperty(l,"getCenterOfBounds",{enumerable:!0,get:function(){return Co.default}});Object.defineProperty(l,"getCompassDirection",{enumerable:!0,get:function(){return Eo.default}});Object.defineProperty(l,"getCoordinateKey",{enumerable:!0,get:function(){return Io.default}});Object.defineProperty(l,"getCoordinateKeys",{enumerable:!0,get:function(){return jo.default}});Object.defineProperty(l,"getDistance",{enumerable:!0,get:function(){return No.default}});Object.defineProperty(l,"getDistanceFromLine",{enumerable:!0,get:function(){return Fo.default}});Object.defineProperty(l,"getGreatCircleBearing",{enumerable:!0,get:function(){return Uo.default}});Object.defineProperty(l,"getLatitude",{enumerable:!0,get:function(){return Vo.default}});Object.defineProperty(l,"getLongitude",{enumerable:!0,get:function(){return Wo.default}});Object.defineProperty(l,"getPathLength",{enumerable:!0,get:function(){return Ko.default}});Object.defineProperty(l,"getPreciseDistance",{enumerable:!0,get:function(){return Bo.default}});Object.defineProperty(l,"getRhumbLineBearing",{enumerable:!0,get:function(){return $o.default}});Object.defineProperty(l,"getRoughCompassDirection",{enumerable:!0,get:function(){return Ho.default}});Object.defineProperty(l,"getSpeed",{enumerable:!0,get:function(){return Go.default}});Object.defineProperty(l,"isDecimal",{enumerable:!0,get:function(){return zo.default}});Object.defineProperty(l,"isPointInLine",{enumerable:!0,get:function(){return Xo.default}});Object.defineProperty(l,"isPointInPolygon",{enumerable:!0,get:function(){return Zo.default}});Object.defineProperty(l,"isPointNearLine",{enumerable:!0,get:function(){return Yo.default}});Object.defineProperty(l,"isPointWithinRadius",{enumerable:!0,get:function(){return Jo.default}});Object.defineProperty(l,"isSexagesimal",{enumerable:!0,get:function(){return Qo.default}});Object.defineProperty(l,"isValidCoordinate",{enumerable:!0,get:function(){return es.default}});Object.defineProperty(l,"isValidLatitude",{enumerable:!0,get:function(){return ts.default}});Object.defineProperty(l,"isValidLongitude",{enumerable:!0,get:function(){return rs.default}});Object.defineProperty(l,"orderByDistance",{enumerable:!0,get:function(){return ns.default}});Object.defineProperty(l,"sexagesimalToDecimal",{enumerable:!0,get:function(){return is.default}});Object.defineProperty(l,"toDecimal",{enumerable:!0,get:function(){return as.default}});Object.defineProperty(l,"toDeg",{enumerable:!0,get:function(){return ss.default}});Object.defineProperty(l,"toRad",{enumerable:!0,get:function(){return os.default}});Object.defineProperty(l,"wktToPolygon",{enumerable:!0,get:function(){return us.default}});var So=d(bn()),Oo=d(yn()),wo=d(_n()),Ao=d(vn()),Do=d(xn()),Ro=d(On()),Lo=d(Dn()),qo=d(yr()),ko=d(Ln()),To=d(Tn()),Co=d(Cn()),Eo=d(Nn()),Io=d(ce()),jo=d(We()),No=d(K()),Fo=d(xr()),Uo=d(Kn()),Vo=d(R()),Wo=d(L()),Ko=d(Bn()),Bo=d(zn()),$o=d(_r()),Ho=d(Xn()),Go=d(Zn()),zo=d(de()),Xo=d(Yn()),Zo=d(Qn()),Yo=d(ei()),Jo=d(ti()),Qo=d(me()),es=d(fr()),ts=d(or()),rs=d(ur()),ns=d(gr()),is=d(pe()),as=d(Ge()),os=d(j()),ss=d(G()),us=d(ri()),Or=x();Object.keys(Or).forEach(function(e){e==="default"||e==="__esModule"||Object.prototype.hasOwnProperty.call(Po,e)||e in l&&l[e]===Or[e]||Object.defineProperty(l,e,{enumerable:!0,get:function(){return Or[e]}})});function d(e){return e&&e.__esModule?e:{default:e}}});var ii=u(Rr=>{"use strict";Rr.__esModule=!0;function Ar(e,t){return e*e+t*t}function ls(e,t){return Ar(e[0]-t[0],e[1]-t[1])}function fs(e,t,r){var n=t[0],i=t[1],a=r[0]-n,o=r[1]-i;if(a!==0||o!==0){var s=((e[0]-n)*a+(e[1]-i)*o)/Ar(a,o);s>1?(n=r[0],i=r[1]):s>0&&(n+=a*s,i+=o*s)}return Ar(e[0]-n,e[1]-i)}function cs(e,t){for(var r=e[0],n,i=[r],a=1,o=e.length;a<o;a++)n=e[a],ls(n,r)>t&&(i.push(n),r=n);return r!==n&&i.push(n),i}function Dr(e,t,r,n,i){for(var a=n,o,s=t+1;s<r;s++){var c=fs(e[s],e[t],e[r]);c>a&&(o=s,a=c)}a>n&&(o-t>1&&Dr(e,t,o,n,i),i.push(e[o]),r-o>1&&Dr(e,o,r,n,i))}function ds(e,t){var r=e.length-1,n=[e[0]];return Dr(e,0,r,t,n),n.push(e[r]),n}function ms(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var n=t*t;return e=r?e:cs(e,n),e=ds(e,n),e}Rr.SimplifyAP=ms});var ai=u(kr=>{"use strict";kr.__esModule=!0;function Lr(e,t){return e*e+t*t}function ps(e,t){return Lr(e.longitude-t.longitude,e.latitude-t.latitude)}function gs(e,t,r){var n=t.longitude,i=t.latitude,a=r.longitude-n,o=r.latitude-i;if(a!==0||o!==0){var s=((e.longitude-n)*a+(e.latitude-i)*o)/Lr(a,o);s>1?(n=r.longitude,i=r.latitude):s>0&&(n+=a*s,i+=o*s)}return Lr(e.longitude-n,e.latitude-i)}function hs(e,t){for(var r=e[0],n,i=[r],a=1,o=e.length;a<o;a++)n=e[a],ps(n,r)>t&&(i.push(n),r=n);return r!==n&&i.push(n),i}function qr(e,t,r,n,i){for(var a=n,o,s=t+1;s<r;s++){var c=gs(e[s],e[t],e[r]);c>a&&(o=s,a=c)}a>n&&(o-t>1&&qr(e,t,o,n,i),i.push(e[o]),r-o>1&&qr(e,o,r,n,i))}function bs(e,t){var r=e.length-1,n=[e[0]];return qr(e,0,r,t,n),n.push(e[r]),n}function ys(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var n=t*t;return e=r?e:hs(e,n),e=bs(e,n),e}kr.SimplifyLL=ys});var oi=u(Er=>{"use strict";Er.__esModule=!0;function Tr(e,t){return e*e+t*t}function _s(e,t){return Tr(e.x-t.x,e.y-t.y)}function vs(e,t,r){var n=t.x,i=t.y,a=r.x-n,o=r.y-i;if(a!==0||o!==0){var s=((e.x-n)*a+(e.y-i)*o)/Tr(a,o);s>1?(n=r.x,i=r.y):s>0&&(n+=a*s,i+=o*s)}return Tr(e.x-n,e.y-i)}function xs(e,t){for(var r=e[0],n,i=[r],a=1,o=e.length;a<o;a++)n=e[a],_s(n,r)>t&&(i.push(n),r=n);return r!==n&&i.push(n),i}function Cr(e,t,r,n,i){for(var a=n,o,s=t+1;s<r;s++){var c=vs(e[s],e[t],e[r]);c>a&&(o=s,a=c)}a>n&&(o-t>1&&Cr(e,t,o,n,i),i.push(e[o]),r-o>1&&Cr(e,o,r,n,i))}function Ms(e,t){var r=e.length-1,n=[e[0]];return Cr(e,0,r,t,n),n.push(e[r]),n}function Ps(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var n=t*t;return e=r?e:xs(e,n),e=Ms(e,n),e}Er.Simplify=Ps});var si=u(ye=>{"use strict";ye.__esModule=!0;var Ss=ii();ye.SimplifyAP=Ss.SimplifyAP;var Os=ai();ye.SimplifyLL=Os.SimplifyLL;var ws=oi();ye.Simplify=ws.Simplify});function D(e){return typeof e=="function"}function Ae(e){let r=e(n=>{Error.call(n),n.stack=new Error().stack});return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var De=Ae(e=>function(r){e(this),this.message=r?`${r.length} errors occurred during unsubscription:
2
- ${r.map((n,i)=>`${i+1}) ${n.toString()}`).join(`
3
- `)}`:"",this.name="UnsubscriptionError",this.errors=r});function oe(e,t){if(e){let r=e.indexOf(t);0<=r&&e.splice(r,1)}}var C=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:r}=this;if(r)if(this._parentage=null,Array.isArray(r))for(let a of r)a.remove(this);else r.remove(this);let{initialTeardown:n}=this;if(D(n))try{n()}catch(a){t=a instanceof De?a.errors:[a]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let a of i)try{zr(a)}catch(o){t=t??[],o instanceof De?t=[...t,...o.errors]:t.push(o)}}if(t)throw new De(t)}}add(t){var r;if(t&&t!==this)if(this.closed)zr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}}_hasParent(t){let{_parentage:r}=this;return r===t||Array.isArray(r)&&r.includes(t)}_addParent(t){let{_parentage:r}=this;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t}_removeParent(t){let{_parentage:r}=this;r===t?this._parentage=null:Array.isArray(r)&&oe(r,t)}remove(t){let{_finalizers:r}=this;r&&oe(r,t),t instanceof e&&t._removeParent(this)}};C.EMPTY=(()=>{let e=new C;return e.closed=!0,e})();var Ht=C.EMPTY;function Re(e){return e instanceof C||e&&"closed"in e&&D(e.remove)&&D(e.add)&&D(e.unsubscribe)}function zr(e){D(e)?e():e.unsubscribe()}var k={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var J={setTimeout(e,t,...r){let{delegate:n}=J;return n?.setTimeout?n.setTimeout(e,t,...r):setTimeout(e,t,...r)},clearTimeout(e){let{delegate:t}=J;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Xr(e){J.setTimeout(()=>{let{onUnhandledError:t}=k;if(t)t(e);else throw e})}function Gt(){}var Zr=zt("C",void 0,void 0);function Yr(e){return zt("E",void 0,e)}function Jr(e){return zt("N",e,void 0)}function zt(e,t,r){return{kind:e,value:t,error:r}}var B=null;function Q(e){if(k.useDeprecatedSynchronousErrorHandling){let t=!B;if(t&&(B={errorThrown:!1,error:null}),e(),t){let{errorThrown:r,error:n}=B;if(B=null,r)throw n}}else e()}function Qr(e){k.useDeprecatedSynchronousErrorHandling&&B&&(B.errorThrown=!0,B.error=e)}var se=class extends C{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Re(t)&&t.add(this)):this.destination=Ti}static create(t,r,n){return new ee(t,r,n)}next(t){this.isStopped?Zt(Jr(t),this):this._next(t)}error(t){this.isStopped?Zt(Yr(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Zt(Zr,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},qi=Function.prototype.bind;function Xt(e,t){return qi.call(e,t)}var Yt=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:r}=this;if(r.next)try{r.next(t)}catch(n){Le(n)}}error(t){let{partialObserver:r}=this;if(r.error)try{r.error(t)}catch(n){Le(n)}else Le(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(r){Le(r)}}},ee=class extends se{constructor(t,r,n){super();let i;if(D(t)||!t)i={next:t??void 0,error:r??void 0,complete:n??void 0};else{let a;this&&k.useDeprecatedNextContext?(a=Object.create(t),a.unsubscribe=()=>this.unsubscribe(),i={next:t.next&&Xt(t.next,a),error:t.error&&Xt(t.error,a),complete:t.complete&&Xt(t.complete,a)}):i=t}this.destination=new Yt(i)}};function Le(e){k.useDeprecatedSynchronousErrorHandling?Qr(e):Xr(e)}function ki(e){throw e}function Zt(e,t){let{onStoppedNotification:r}=k;r&&J.setTimeout(()=>r(e,t))}var Ti={closed:!0,next:Gt,error:ki,complete:Gt};var en=typeof Symbol=="function"&&Symbol.observable||"@@observable";function tn(e){return e}function rn(e){return e.length===0?tn:e.length===1?e[0]:function(r){return e.reduce((n,i)=>i(n),r)}}var $=class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,n){let i=Ei(t)?t:new ee(t,r,n);return Q(()=>{let{operator:a,source:o}=this;i.add(a?a.call(i,o):o?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=nn(r),new r((n,i)=>{let a=new ee({next:o=>{try{t(o)}catch(s){i(s),a.unsubscribe()}},error:i,complete:n});this.subscribe(a)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[en](){return this}pipe(...t){return rn(t)(this)}toPromise(t){return t=nn(t),new t((r,n)=>{let i;this.subscribe(a=>i=a,a=>n(a),()=>r(i))})}};$.create=e=>new $(e);function nn(e){var t;return(t=e??k.Promise)!==null&&t!==void 0?t:Promise}function Ci(e){return e&&D(e.next)&&D(e.error)&&D(e.complete)}function Ei(e){return e&&e instanceof se||Ci(e)&&Re(e)}var an=Ae(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var E=class extends ${constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let r=new qe(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new an}next(t){Q(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(t)}})}error(t){Q(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Q(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:r,isStopped:n,observers:i}=this;return r||n?Ht:(this.currentObservers=null,i.push(t),new C(()=>{this.currentObservers=null,oe(i,t)}))}_checkFinalizedStatuses(t){let{hasError:r,thrownError:n,isStopped:i}=this;r?t.error(n):i&&t.complete()}asObservable(){let t=new $;return t.source=this,t}};E.create=(e,t)=>new qe(e,t);var qe=class extends E{constructor(t,r){super(),this.destination=t,this.source=r}next(t){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.next)===null||n===void 0||n.call(r,t)}error(t){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.error)===null||n===void 0||n.call(r,t)}complete(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)}_subscribe(t){var r,n;return(n=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&n!==void 0?n:Ht}};var S=[];for(let e=0;e<256;++e)S.push((e+256).toString(16).slice(1));function on(e,t=0){return(S[e[t+0]]+S[e[t+1]]+S[e[t+2]]+S[e[t+3]]+"-"+S[e[t+4]]+S[e[t+5]]+"-"+S[e[t+6]]+S[e[t+7]]+"-"+S[e[t+8]]+S[e[t+9]]+"-"+S[e[t+10]]+S[e[t+11]]+S[e[t+12]]+S[e[t+13]]+S[e[t+14]]+S[e[t+15]]).toLowerCase()}var Jt,Ii=new Uint8Array(16);function Qt(){if(!Jt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Jt=crypto.getRandomValues.bind(crypto)}return Jt(Ii)}var ji=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),er={randomUUID:ji};function Ni(e,t,r){if(er.randomUUID&&!t&&!e)return er.randomUUID();e=e||{};let n=e.random??e.rng?.()??Qt();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return on(n)}var tr=Ni;var ke=class{_connect;_close;_error;_message;ws;_filter="";_wsTimeout=2e4;_token="";_playbackMode=!1;onConnect;onClose;onError;onMessage;version=1;endpoint="";selfId="";_source=null;set source(t){this._source||(this._source={}),this._source.label=t}set authToken(t){this._token=t}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(t){this._wsTimeout=t<3e3?3e3:t>6e4?6e4:t}get isOpen(){return!!(this.ws&&this.ws.readyState!=1&&this.ws.readyState!=3)}get filter(){return this._filter}set filter(t){t&&t.indexOf("self")!=-1?this._filter=this.selfId?this.selfId:"":this._filter=t}get playbackMode(){return this._playbackMode}constructor(){this._connect=new E,this.onConnect=this._connect.asObservable(),this._close=new E,this.onClose=this._close.asObservable(),this._error=new E,this.onError=this._error.asObservable(),this._message=new E,this.onMessage=this._message.asObservable()}close(){this.ws&&(this.ws.close(),this.ws=null)}open(t,r,n){if(t=t||this.endpoint,!t)return;let i=t.indexOf("?")==-1?"?":"&";r&&(t+=`${i}subscribe=${r}`),(this._token||n)&&(t+=`${r?"&":"?"}token=${this._token||n}`),this.close(),this.ws=new WebSocket(t),setTimeout(()=>{this.ws&&this.ws.readyState!=1&&this.ws.readyState!=3&&(console.warn(`Connection watchdog expired (${this._wsTimeout/1e3} sec): ${this.ws.readyState}... aborting connection...`),this.close())},this._wsTimeout),this.ws.onopen=a=>{this._connect.next(a)},this.ws.onclose=a=>{this._close.next(a)},this.ws.onerror=a=>{this._error.next(a)},this.ws.onmessage=a=>{this.parseOnMessage(a)}}parseOnMessage(t){let r;if(typeof t.data=="string")try{r=JSON.parse(t.data)}catch{return}this.isHello(r)?(this.selfId=r.self,this._playbackMode=typeof r.startTime<"u",this._message.next(r)):this.isResponse(r)?(typeof r.login<"u"&&typeof r.login.token<"u"&&(this._token=r.login.token),this._message.next(r)):this._filter&&this.isDelta(r)?r.context==this._filter&&this._message.next(r):this._message.next(r)}sendRequest(t){if(typeof t!="object")return"";let r=te.request();return typeof t.login>"u"&&this._token&&(r.token=this._token),Object.keys(t).forEach(i=>{r[i]=t[i]}),this.send(r),r.requestId}put(t,r,n){let i={context:t=="self"?"vessels.self":t,put:{path:r,value:n}};return this.sendRequest(i)}login(t,r){let n={login:{username:t,password:r}};return this.sendRequest(n)}send(t){this.ws&&(typeof t=="object"&&(t=JSON.stringify(t)),this.ws.send(t))}sendUpdate(t="self",r,n){let i=te.updates();this._token&&(i.token=this._token),i.context=t=="self"?"vessels.self":t,this._token&&(i.token=this._token);let a=[];typeof r=="string"&&a.push({path:r,value:n}),typeof r=="object"&&Array.isArray(r)&&(a=r);let o={timestamp:new Date().toISOString(),values:a};this._source&&(o.source=this._source),i.updates.push(o),this.send(i)}subscribe(t="*",r="*",n){let i=te.subscribe();if(this._token&&(i.token=this._token),i.context=t=="self"?"vessels.self":t,this._token&&(i.token=this._token),typeof r=="object"&&Array.isArray(r)&&(i.subscribe=r),typeof r=="string"){let a={};a.path=r,n&&typeof n=="object"&&(n.period&&(a.period=n.period),n.minPeriod&&(a.minPeriod=n.period),n.format&&(n.format=="delta"||n.format=="full")&&(a.format=n.format),n.policy&&(n.policy=="instant"||n.policy=="ideal"||n.policy=="fixed")&&(a.policy=n.policy)),i.subscribe.push(a)}this.send(i)}unsubscribe(t="*",r="*"){let n=te.unsubscribe();this._token&&(n.token=this._token),n.context=t=="self"?"vessels.self":t,this._token&&(n.token=this._token),typeof r=="object"&&Array.isArray(r)&&(n.unsubscribe=r),typeof r=="string"&&n.unsubscribe.push({path:r}),this.send(n)}raiseAlarm(t="*",r,n){let i;typeof r=="string"?i=r.indexOf("notifications.")==-1?`notifications.${r}`:r:i=r,this.put(t,i,n.value)}clearAlarm(t="*",r){let n=r.indexOf("notifications.")==-1?`notifications.${r}`:r;this.put(t,n,null)}isSelf(t){return t.context==this.selfId}isDelta(t){return typeof t.context<"u"}isHello(t){return typeof t.version<"u"&&typeof t.self<"u"}isResponse(t){return typeof t.requestId<"u"}},te=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:tr()}}},Te=class{_state;_method=[];_message="";constructor(t,r,n,i){this._message=typeof t<"u"?t:"",this._state=typeof r<"u"?r:"alarm",n&&this._method.push("visual"),i&&this._method.push("sound")}get value(){return{message:this._message,state:this._state,method:this._method}}};var re=class{id;name;mmsi;position=[0,0];positionReceived=!1;positionTimestamp="";state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},ue=class extends re{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;closestApproach={distance:null,timeTo:null};cog;cogTrue=null;cogMagnetic=null;courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};courseCalcs={};distanceToSelf;environment={mode:null,sun:null};heading;headingTrue=null;headingMagnetic=null;performance={beatAngle:null,gybeAngle:null};racing;radars={};registrations={};resourceUpdates=[];sog;track=[];vectors={cog:[]};wind={direction:null,mwd:null,twd:null,tws:null,speedTrue:null,sog:null,awa:null,aws:null};design={airHeight:null,beam:null,draft:{current:null,maximum:null},length:null};destination={name:null,eta:null};flag;port},Ce=class extends re{constructor(){super()}},Ee=class extends re{sog=0;track=[];constructor(){super()}},le=class extends re{constructor(){super()}},Ie=class extends le{twd;tws;temperature;constructor(){super()}};var rr={K:{C:e=>e-273.15,F:e=>(e-273.15)*9/5+32},rad:{degree:e=>e*180/Math.PI},deg:{radian:e=>e*.0174532925199433},ratio:{percent:e=>e*100},"m/s":{kn:e=>e*1.94384,"km/h":e=>e*3.6,mph:e=>e*2.2369362920544025,Bf:e=>e/.836^.6666666666666666,fps:e=>e*3.280839895013124},"rad/s":{"deg/s":e=>e*57.2958,rpm:e=>e*9.549296585513723},Hz:{rpm:e=>e*60},m:{fathom:e=>e*.5467468562055768,league:e=>e*.0002071251035625518,kilometer:e=>e*.001,mile:e=>e*.000621371192237334,"naut-mile":e=>e*.0005399568034557236,foot:e=>e*3.280839895013124,yard:e=>e*1.0936132983377078},s:{hour:e=>e*.0002777777777777778,minute:e=>e*.016666666666666666,day:e=>e*11574074074074073e-21,year:e=>e*3168876461541279e-23},foot:{m:e=>e/3.280839895013124}},fe={degree:{symbol:"\xBA",name:"Degrees"},radian:{symbol:"rad",name:"Radians"},percent:{symbol:"%",name:"Percent"},kilometer:{symbol:"km",name:"Kilometer"},"naut-mile":{symbol:"nmi",name:"Nautical Mile"},foot:{symbol:"ft",name:"Feet"},yard:{symbol:"yd",name:"Yard"},fathom:{symbol:"fm",name:"Fathom"},hour:{symbol:"hr",name:"Hour"},minute:{symbol:"min",name:"Minute"},F:{symbol:"\xBAF",name:"Fahrenheit"},C:{symbol:"\xBAC",name:"Celcius"}},H=class{static transform(t,r,n){if(!Number.isFinite(t))return null;if(r===n)return t;try{return rr[r][n](t)}catch{throw new Error("Transformation not found!")}}static setSymbol(t,r){t in fe&&(fe[t].symbol=r??fe[t].symbol)}static getSymbol(t){return t in fe?fe[t].symbol:t}static degreesToRadians(t){return rr.deg.radian(t)}static radiansToDegrees(t=0){return rr.rad.degree(t)}static nauticalMilesToKm(t=0){return t*1.852}static angleToDirection(t,r){let n=Math.PI*2;if(r||(r=0),t||(t=0),!Number.isFinite(r)||!Number.isFinite(t))return null;let i=r+t;return i>n?i-n:i<0?n+i:i}static directionToAngle(t,r){let n=Math.PI*2;if(r||(r=0),t||(t=0),!Number.isFinite(r)||!Number.isFinite(t))return null;let i=r-t,a;if(i>0)a=i>Math.PI?n-i:0-i;else if(i<0){let o=Math.abs(i);a=o>Math.PI?o-n:o}else a=i;return a}};var w=Gr(ni()),N=class e{static R=6371e3;static rhumbDestination(t,r,n){let i=e.R,a=n/i,o=t[1]*Math.PI/180,s=t[0]*Math.PI/180,c=r,v=a*Math.cos(c),g=o+v,h=a,m=89*Math.PI/180;g>m&&o<m?(h=a*(m-o)/v,g=m):g<-m&&o>-m&&(h=a*(-m-o)/v,g=-m);let P=Math.log(Math.tan(Math.PI/4+g/2)/Math.tan(Math.PI/4+o/2)),y=Math.abs(P)>1e-12?(g-o)/P:Math.cos(o),A=h*Math.sin(c)/y;return[(s+A)*180/Math.PI,g*180/Math.PI]}static destCoordinate(t,r,n){let i=(0,w.computeDestinationPoint)(t,n,H.radiansToDegrees(r));return[i.longitude,i.latitude]}static distanceTo(t,r){return(0,w.getDistance)(t,r)}static routeLength(t){return(0,w.getPathLength)(t)}static routeLegs(t,r){if(t.length<2)return[];let n=[];r?n.push({bearing:(0,w.getGreatCircleBearing)(r,t[0]),distance:e.distanceTo(r,t[0])}):n.push({bearing:0,distance:0});for(let i=1;i<t.length;++i){let a={bearing:(0,w.getGreatCircleBearing)(t[i-1],t[i]),distance:e.distanceTo(t[i-1],t[i])};n.push(a)}return n}static closestForwardPoint(t,r,n){if(t.length<2||!r)return-1;let i={index:-1,distance:-1};for(let a=0;a<t.length;++a){let o=(0,w.getGreatCircleBearing)(r,t[a]),s=wr.difference(n,o);if(s>-90&&s<90){let c=e.distanceTo(r,t[a]);(i.distance===-1||c<i.distance)&&(i.distance=c,i.index=a)}}return i.index}static centreOfPolygon(t){let r=(0,w.getCenter)(t);return[r.longitude,r.latitude]}static inDLCrossingZone(t,r=170){return Math.abs(t[0])>=r}static inBounds(t,r){return(0,w.isPointInPolygon)(t,[[r[0],r[1]],[r[0],r[3]],[r[2],r[3]],[r[2],r[1]],[r[0],r[1]]])}static calcMapifiedExtent(t,r){let i=111111*Math.cos(H.degreesToRadians(t[1])),a=[0,0,0,0];return a[1]=t[1]+(0-Math.abs(r))/111111,a[3]=t[1]+Math.abs(r)/111111,a[0]=t[0]+(0-Math.abs(r))/i,a[2]=t[0]+Math.abs(r)/i,a}static normaliseCoords(t){if(!Array.isArray(t))return[0,0];if(typeof t[0]=="number"){if(t[0]>180)for(;t[0]>180;)t[0]=t[0]-360;else if(t[0]<-180)for(;t[0]<-180;)t[0]=360+t[0];return t}else if(Array.isArray(t[0]))return t.forEach(r=>r=this.normaliseCoords(r)),t}},wr=class e{static difference(t,r){let n=360-r,i=t+n,a=e.normalise(i);return a<180?0-a:360-a}static add(t,r){return e.normalise(t+r)}static normalise(t){return t<0?t+360:t>=360?t-360:t}};var Et=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},z=class{action;playback=!1;result=null;timestamp;self=null;watchDogAlarm;constructor(){this.action="update"}},It=class extends z{constructor(){super(),this.action="resource"}},jt=class extends z{constructor(){super(),this.action="radar"}},Nt=class extends z{constructor(){super(),this.action="trail"}};var ci=Gr(si());var As=["environment.wind.speedTrue","environment.wind.speedOverGround","environment.wind.angleTrueGround","environment.wind.angleTrueWater","environment.wind.directionTrue","environment.wind.directionMagnetic","navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"],b={active:!1,maxMsgIntervals:18,intervalCount:0,msgCount:0,alarm:!1},f,M,di,Me=[],Vt=[],Ir=!1,Ur,jr=!1,_={signalk:{},aisState:[]},mi=[0,0,0,0],pi=60,_e=0,O,X={},Z=500,T=!1,gi,U={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},Nr={selfLines:{cog:{length:10}},aisCogLine:10},ve={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},V,hi,ie="freeboard-sk";function Ds(){f={self:new ue,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},f.self.positionReceived=!1,bi()}function bi(){O={updated:{},stale:{},expired:{}}}function Ft({action:e,msg:t}){switch(e){case"onConnect":postMessage({action:"open",playback:T,result:t.target.readyState}),b.msgCount=0,b.intervalCount=0,b.alarm=!1,b.active=!0;break;case"onClose":yi(!1),b.active=!1;break;case"onError":postMessage({action:"error",playback:T,result:"Connection error!"}),b.msgCount=0,b.intervalCount=0,b.active=!1;break;case"onMessage":b.msgCount++,Ts(t);break}}addEventListener("message",({data:e})=>{Rs(e)});function Rs(e){if(e.cmd)switch(e.cmd){case"open":ui(e.options),qs(e.options);break;case"close":yi(!0);break;case"subscribe":M.subscribe(e.options.context,e.options.path);break;case"settings":ui(e.options);break;case"alarm":ks(e.options);break;case"vessel":if(e.options){let t;e.options.context==="self"?t=f.self:t=f.aisTargets.get(e.options.context),t&&e.options.name&&(t.name=e.options.name)}break;case"auth":e.options&&typeof e.options.token<"u"&&(di=e.options.token);break;case"trail":e.options&&(ve.trailDuration=e.options.trailDuration??24,e.options.trailResolution&&(ve.trailResolution.lastHour=e.options.trailResolution.lastHour??"5s",ve.trailResolution.next23=e.options.trailResolution.next23??"1m",ve.trailResolution.beyond24=e.options.trailResolution.beyond24??"5m")),Ls(ve);break}}function ui(e={config:{}}){e.interval&&typeof e.interval=="number"&&(Z=e.interval,xi(),vi(),pi=1/(Z/1e3)*60),T=!!e.playback,e.config&&(typeof e.config.units.preferredPaths<"u"&&(X=e.config.units.preferredPaths),e.config.vessels.aisMaxAge&&typeof e.config.vessels.aisMaxAge=="number"&&(U.maxAge=e.config.vessels.aisMaxAge),e.config.vessels.aisStaleAge&&typeof e.config.vessels.aisStaleAge=="number"&&(U.staleAge=e.config.vessels.aisStaleAge),typeof e.config.signalk.maxRadius=="number"&&(_.signalk=e.config.signalk),typeof e.config.selections.aisState<"u"&&Array.isArray(e.config.selections.aisState)&&(_.aisState=e.config.selections.aisState),Nr=e.config.vessels)}function yi(e=!1){xi(),Me.forEach(t=>t.unsubscribe()),M&&e&&M.close(),M=null,postMessage({action:"close",result:e,playback:T})}var Ut=!1;function Pe(e){if(!Ut)return new Promise((t,r)=>{Ut=!0,fetch(`${e}`).then(n=>{Ut=!1,n.json().then(i=>t(i)).catch(i=>r(i))}).catch(n=>{Ut=!1,r(n)})})}function _i(){let e=_&&_.signalk&&_.signalk.maxRadius?`?radius=${_.signalk.maxRadius}`:"?radius=10000";Pe(Ur+"/tracks"+e).then(t=>{jr=!0,Object.entries(t).forEach(r=>{if(f.aisTargets.has(r[0])){let n=f.aisTargets.get(r[0]);n.track=r[1].coordinates,Vr(n)}})}).catch(()=>{jr=!1})}function Ls(e){let t=Ur+"/self/track?",r=[],n=5e-4,i=!0;e.trailDuration>24&&(r.push(Pe(`${t}timespan=${e.trailDuration-24}h&resolution=${e.trailResolution.beyond24}&timespanOffset=24`)),r.push(Pe(`${t}timespan=23h&resolution=${e.trailResolution.next23}&timespanOffset=1`))),e.trailDuration>1&&e.trailDuration<25&&r.push(Pe(`${t}timespan=${e.trailDuration-1}h&resolution=${e.trailResolution.next23}&timespanOffset=1`)),r.push(Pe(`${t}timespan=1h&resolution=${e.trailResolution.lastHour}`));let a=[],o=new Nt;o.playback=T,Promise.all(r).then(s=>{let c=0,v=r.length-1,g=60;s.forEach(h=>{if(h.type&&h.type==="MultiLineString"&&h.coordinates&&Array.isArray(h.coordinates))if(c!==v){let m=[];for(h.coordinates.forEach(P=>{m=m.concat(P)}),m=(0,ci.SimplifyAP)(m,n,i);m.length>g;){let P=m.slice(0,g);a.push(P),m=m.slice(g-1),m[0]=[m[0][0]+5e-9,m[0][1]+5e-9]}m.length!==0&&a.push(m)}else a=a.concat(h.coordinates);c++}),o.result=a,postMessage(o)}).catch(()=>{o.result=null,postMessage(o)})}function qs(e){if(M)return;if(!e.url){postMessage({action:"error",result:"Valid options not provided!"});return}let t=e.url.split("/");if(t.pop(),t.push("api"),t[0]=t[0]==="wss:"?"https:":"http:",Ur=t.join("/"),Ds(),M=new ke,Me.push(M.onConnect.subscribe(r=>Ft({action:"onConnect",msg:r}))),Me.push(M.onClose.subscribe(r=>Ft({action:"onClose",msg:r}))),Me.push(M.onError.subscribe(r=>Ft({action:"onError",msg:r}))),Me.push(M.onMessage.subscribe(r=>Ft({action:"onMessage",msg:r}))),M.authToken=di,e.playback){let r=e.playbackOptions.startTime?`?startTime=${e.playbackOptions.startTime}`:null,n=e.playbackOptions.playbackRate?`playbackRate=${e.playbackOptions.playbackRate}`:null;n=n?r?"&"+n:"?"+n:null;let i=`${e.url}${r||""}${n||""}`;M.open(i,e.playbackOptions.subscribe,e.token)}else M.open(e.url,e.subscribe,e.token),_i()}function ks(e){let t=e.type.indexOf("notifications.")===-1?`notifications.${e.type}`:e.type;e.raise?M.raiseAlarm("self",t,new Te(e.message,e.state,!0,!0)):M.clearAlarm("self",t)}function Ts(e){M.isHello(e)?(postMessage({action:"hello",result:e,self:e.self,playback:T}),Z&&vi()):M.isDelta(e)?(Ir=!0,e.updates.forEach(t=>{t.values&&(V=t.$source,hi=t.timestamp,t.values.forEach(r=>{if(gi=t.timestamp,!!e.context)switch(e.context.split(".")[0]){case"shore":case"atons":_?.signalk.atons&&Ns(e.context,r),xe(e.context,f.atons,_?.signalk.atons);break;case"sar":_?.signalk.sar&&Fs(e.context,r),xe(e.context,f.sar,_?.signalk.sar);break;case"aircraft":_?.signalk.aircraft&&Vs(e.context,r),xe(e.context,f.aircraft,_?.signalk.aircraft);break;case"meteo":_?.signalk.meteo&&(Us(e.context,r),fi(r)),xe(e.context,f.meteo,_?.signalk.meteo);break;case"vessels":if(M.isSelf(e))f.self.id||(f.self.id=e.context),li(f.self,r,!0),fi(r);else{if(_?.signalk.vessels){let n=Cs(e.context);li(n,r)}xe(e.context,f.aisTargets,_?.signalk.vessels,_?.aisState)}break}}))}),Fr()):M.isResponse(e)&&postMessage({action:"response",result:e})}function xe(e,t,r=!0,n=[]){if(r){let i=t.get(e);i&&n.includes(i?.state)&&(O.expired[e]=!0,i=null),i&&_.signalk.maxRadius?i.positionReceived&&N.inBounds(i.position,mi)?O.updated[e]=!0:(t.delete(e),O.expired[e]=!0):O.updated[e]=!0}else t.size!==0&&(t.forEach((i,a)=>{O.expired[a]=!0}),t.clear())}function Fr(e=!1){if(!Z||e){let t=new z;t.watchDogAlarm=b.alarm,t.playback=T,f.aisStatus.updated=Object.keys(O.updated),f.aisStatus.stale=Object.keys(O.stale),f.aisStatus.expired=Object.keys(O.expired),t.result=f,t.timestamp=T?gi:f.self.lastUpdated.toISOString(),postMessage(t),bi(),f.self.resourceUpdates=[],js(),_e===0&&f.self.positionReceived&&_?.signalk.maxRadius&&(mi=N.calcMapifiedExtent(f.self.position,_.signalk.maxRadius),_e++),_e=_e>=pi?0:_e+1}}function vi(){Z&&typeof Z=="number"&&Vt.push(setInterval(()=>{b.active&&!b.msgCount?(b.intervalCount=b.intervalCount+1,b.intervalCount>=b.maxMsgIntervals&&(b.intervalCount=0,b.alarm=!0,Fr(!0))):(b.intervalCount=0,b.msgCount=0,b.alarm=!1),Ir&&(Fr(!0),Ir=!1)},Z)),Vt.push(setInterval(()=>{jr&&_i()},6e4))}function xi(){Vt.forEach(e=>clearInterval(e)),Vt=[]}function Cs(e){if(!f.aisTargets.has(e)){let t=new ue;t.id=e,t.position=null,f.aisTargets.set(e,t)}return f.aisTargets.get(e)}function li(e,t,r=!1){if(r){if(e.lastUpdated=new Date,t.path.startsWith("resources."))e.resourceUpdates.push(t),Is(t);else if(t.path.startsWith("radars"))Es(t);else if(t.path.startsWith("navigation.racing"))e.properties[t.path]=t.value;else if(t.path==="performance.beatAngle")e.performance.beatAngle=t.value;else if(t.path==="performance.gybeAngle")e.performance.gybeAngle=t.value;else if(t.path.startsWith("navigation.course."))if(t.path.startsWith("navigation.course.calcValues.")){let a=t.path.split(".").slice(3).join(".");e.courseCalcs[a]=t.value}else t.path.includes("activeRoute")?e.courseApi.activeRoute=t.value:t.path.includes("nextPoint")?e.courseApi.nextPoint=t.value:t.path.includes("previousPoint")?e.courseApi.previousPoint=t.value:t.path.includes("arrivalCircle")&&(e.courseApi.arrivalCircle=t.value);else if(t.path.startsWith("radars.")){let a=t.path.split("."),o=a.slice(2).join(".");e.radars[a[1]]||(e.radars[a[1]]={}),e.radars[a[1]][o]=t.value}let i=t.path.indexOf("course")!==-1?t.path.split(".").slice(0,2).join("."):t.path;As.indexOf(i)!==-1&&(f.paths[i]=null)}else t.path==="navigation.distanceToSelf"&&(e.distanceToSelf=t.value),t.path==="navigation.closestApproach"&&(e.closestApproach=t.value);if(t.path==="")typeof t.value.name<"u"&&(e.name=t.value.name),typeof t.value.mmsi<"u"&&(e.mmsi=t.value.mmsi,e.lastUpdated=new Date),typeof t.value.registrations<"u"&&(e.registrations=t.value.registrations),typeof t.value.buddy<"u"&&(e.buddy=t.value.buddy),typeof t.value.communication<"u"&&(e.callsignVhf=t.value.communication.callsignVhf??"",e.callsignHf=t.value.communication.callsignHf??"");else if(t.path==="communication.callsignVhf")e.callsignVhf=t.value;else if(t.path==="communication.callsignHf")e.callsignHf=t.value;else if(t.path==="design.aisShipType")e.type=t.value;else if(t.path==="navigation.position"&&t.value){if(typeof t.value.latitude>"u"||typeof t.value.longitude>"u")return;e.position=N.normaliseCoords([t.value.longitude,t.value.latitude]),e.positionReceived=!0,e.positionTimestamp=hi??"",e.lastUpdated=new Date,r||Vr(e)}else t.path==="navigation.state"?e.state=t.value:t.path==="navigation.speedOverGround"?e.sog=t.value:t.path==="environment.mode"?e.environment.mode=t.value:t.path==="environment.sun"?e.environment.sun=t.value:t.path==="environment.wind.angleApparent"?e.wind.awa=t.value:t.path==="environment.wind.speedApparent"?e.wind.aws=t.value:t.path==="environment.wind.speedTrue"?e.wind.speedTrue=t.value:t.path==="environment.wind.speedOverGround"?e.wind.sog=t.value:t.path==="environment.wind.directionTrue"?e.wind.twd=t.value:t.path==="environment.wind.directionMagnetic"?e.wind.mwd=t.value:t.path==="navigation.anchor.position"?e.anchor.position=t.value:t.path==="navigation.anchor.maxRadius"?e.anchor.maxRadius=t.value:t.path==="navigation.anchor.currentRadius"?e.anchor.radius=t.value:t.path==="steering.autopilot.state"&&V===ie?e.autopilot.state=t.value:t.path==="steering.autopilot.mode"&&V===ie?e.autopilot.mode=t.value:t.path==="steering.autopilot.target"&&V===ie?e.autopilot.target=t.value:t.path==="steering.autopilot.engaged"&&V===ie?e.autopilot.enabled=t.value:t.path==="steering.autopilot.defaultPilot"?(e.autopilot.default=t.value,ie=t.value):t.path==="steering.autopilot.availableActions"&&V===ie?e.autopilot.availableActions=t.value??[]:t.path==="navigation.courseOverGroundTrue"?e.cogTrue=t.value:t.path==="navigation.courseOverGroundMagnetic"?e.cogMagnetic=t.value:t.path==="navigation.headingTrue"?e.headingTrue=t.value:t.path==="navigation.headingMagnetic"&&(e.headingMagnetic=t.value);typeof X.heading<"u"&&t.path===X.heading&&(e.orientation=t.value),typeof X.tws<"u"&&t.path===X.tws&&(e.wind.tws=t.value),typeof X.twd<"u"&&t.path===X.twd&&(e.wind.direction=t.path==="environment.wind.angleTrueGround"||t.path==="environment.wind.angleTrueWater"?H.angleToDirection(t.value,e.orientation??0):t.value);let n=e.cogTrue??e.cogMagnetic??void 0;if(typeof n<"u"&&e.position){let i=r?Nr.selfLines.cog.length:Nr.aisCogLine,a=(e.sog??0)*(i*60);e.vectors.cog=[e.position,N.rhumbDestination(e.position,n,a)]}}function Es(e){let t=new jt;t.playback=T,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}function Is(e){let t=new It;t.playback=T,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}function fi(e){if(e.path.includes("notifications.")){let t=new Et;t.playback=T,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}}function js(){let e=new Date().valueOf();f.aisTargets.forEach((t,r)=>{t.lastUpdated.valueOf()<e-U.maxAge?(O.expired[r]=!0,f.aisTargets.delete(r)):t.lastUpdated.valueOf()<e-U.staleAge&&(O.stale[r]=!0)}),f.aircraft.forEach((t,r)=>{t.lastUpdated.valueOf()<e-U.maxAge?(O.expired[r]=!0,f.aircraft.delete(r)):t.lastUpdated.valueOf()<e-U.staleAge&&(O.stale[r]=!0)}),f.sar.forEach((t,r)=>{t.lastUpdated.valueOf()<e-U.maxAge?(O.expired[r]=!0,f.sar.delete(r)):t.lastUpdated.valueOf()<e-U.staleAge&&(O.stale[r]=!0)})}function Ns(e,t){let r=!1;if(e.indexOf("shore.basestations")!==-1&&(r=!0),!f.atons.has(e)){let i=new le;i.id=e,i.position=null,i.type.id=null,r&&(i.type.id=-2,i.type.name="Basestation"),f.atons.set(e,i)}let n=f.atons.get(e);return t.path===""?(typeof t.value.name<"u"&&(n.name=t.value.name),typeof t.value.mmsi<"u"&&(n.mmsi=t.value.mmsi),typeof t.value.atonType<"u"&&(n.type=t.value.atonType)):t.path==="atonType"?n.type=t.value:t.path==="virtual"?n.virtual=t.value:t.path==="navigation.position"?(n.position=[t.value.longitude,t.value.latitude],n.positionReceived=!0):n.properties[t.path]=t.value,e}function Fs(e,t){if(!f.sar.has(e)){let n=new Ce;n.id=e,n.position=null,n.type.id=-1,n.type.name="SaR Beacon",f.sar.set(e,n)}let r=f.sar.get(e);t.path===""?(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"&&(r.mmsi=t.value.mmsi),typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")):t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="navigation.position"&&t.value&&(r.position=N.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0)}function Us(e,t){if(!f.meteo.has(e)){let n=new Ie;n.id=e,n.position=null,n.type.id=-1,n.type.name="Weather Station",f.meteo.set(e,n)}let r=f.meteo.get(e);if(t.path===""){if(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"){let n=e.split(":").slice(-2);r.mmsi=n.length===2?`${n[0]}:${n[1]}`:t.value.mmsi}typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")}else t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="environment.outside.temperature"?r.temperature=t.value:t.path==="environment.wind.directionTrue"?r.twd=t.value:t.path==="environment.wind.averageSpeed"?r.tws=t.value:t.path==="navigation.position"&&t.value&&(r.position=N.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0)}function Vs(e,t){if(!f.aircraft.has(e)){let n=new Ee;n.id=e,n.position=null,f.aircraft.set(e,n)}let r=f.aircraft.get(e);t.path===""?(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"&&(r.mmsi=t.value.mmsi),typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")):t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="navigation.position"&&t.value?(r.position=N.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0,Vr(r)):t.path==="navigation.courseOverGroundTrue"?r.orientation=t.value:t.path==="navigation.speedOverGround"&&(r.sog=t.value)}function Vr(e){if(e.track&&e.track.length===0)e.track.push([e.position]);else{let t=e.track[e.track.length-1].length,r=e.track[e.track.length-1][t-1];r[0]!==e.position[0]&&r[1]!==e.position[1]&&e.track[e.track.length-1].push(e.position)}e.track[e.track.length-1]=e.track[e.track.length-1].slice(0-U.maxTrack)}