@signalk/freeboard-sk 2.19.4-beta.1 → 2.19.4
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var hn=Object.create;var Cr=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var yn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,_n=Object.prototype.hasOwnProperty;var l=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xn=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of yn(e))!_n.call(t,n)&&n!==r&&Cr(t,n,{get:()=>e[n],enumerable:!(i=bn(e,n))||i.enumerable});return t};var Nr=(t,e,r)=>(r=t!=null?hn(vn(t)):{},xn(e||!t||!t.__esModule?Cr(r,"default",{value:t,enumerable:!0}):r,t));var P=l(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.areaConversion=m.timeConversion=m.distanceConversion=m.altitudeKeys=m.latitudeKeys=m.longitudeKeys=m.MAXLON=m.MINLON=m.MAXLAT=m.MINLAT=m.earthRadius=m.sexagesimalPattern=void 0;var qn=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;m.sexagesimalPattern=qn;var An=6378137;m.earthRadius=An;var Ln=-90;m.MINLAT=Ln;var Rn=90;m.MAXLAT=Rn;var kn=-180;m.MINLON=kn;var En=180;m.MAXLON=En;var Tn=["lng","lon","longitude",0];m.longitudeKeys=Tn;var Cn=["lat","latitude",1];m.latitudeKeys=Cn;var Nn=["alt","altitude","elevation","elev",2];m.altitudeKeys=Nn;var In={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};m.distanceConversion=In;var Vn={m:60,h:3600,d:86400};m.timeConversion=Vn;var T={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};m.areaConversion=T;T.sqm=T.m2;T.sqkm=T.km2;T.sqft=T.ft2;T.sqyd=T.yd2;T.sqin=T.in2});var ce=l(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.default=void 0;var
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wa(t,e){if(t){if(typeof t=="string")return oi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oi(t,e)}}function oi(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function Ga(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var s=t[Symbol.iterator](),u;!(i=(u=s.next()).done)&&(r.push(u.value),!(e&&r.length===e));i=!0);}catch(o){n=!0,a=o}finally{try{!i&&s.return!=null&&s.return()}finally{if(n)throw a}}return r}}function Xa(t){if(Array.isArray(t))return t}var Ya=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4,i=Math.pow(10,r);return Math.round(e*i)/i},Za=function(e){var r=e.toString().split("."),i=ui(r,2),n=i[0],a=i[1],s=Math.abs(Number(n)),u=+("0."+(a||0))*60,o=u.toString().split("."),p=Math.floor(u),M=Ya(+("0."+(o[1]||0))*60).toString(),h=M.split("."),g=ui(h,2),_=g[0],O=g[1],b=O===void 0?"0":O;return s+"\xB0 "+p.toString().padStart(2,"0")+"' "+_.padStart(2,"0")+"."+b.padEnd(1,"0")+'"'},za=Za;tt.default=za});var sr=l(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.default=void 0;var Ja=function(e){return e>1?1:e<-1?-1:e},Qa=Ja;rt.default=Qa});var $=l(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=void 0;var fi=it(A()),ci=it(L()),re=it(N()),es=it(sr()),ts=P();function it(t){return t&&t.__esModule?t:{default:t}}var rs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;i=typeof i<"u"&&!isNaN(i)?i:1;var n=(0,fi.default)(e),a=(0,ci.default)(e),s=(0,fi.default)(r),u=(0,ci.default)(r),o=Math.acos((0,es.default)(Math.sin((0,re.default)(s))*Math.sin((0,re.default)(n))+Math.cos((0,re.default)(s))*Math.cos((0,re.default)(n))*Math.cos((0,re.default)(a)-(0,re.default)(u))))*ts.earthRadius;return Math.round(o/i)*i},is=rs;nt.default=is});var ur=l(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var di=ns($());function ns(t){return t&&t.__esModule?t:{default:t}}var as=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:di.default;return i=typeof i=="function"?i:di.default,r.slice().sort(function(n,a){return i(e,n)-i(e,a)})},ss=as;at.default=ss});var pi=l(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var us=os(ur());function os(t){return t&&t.__esModule?t:{default:t}}var ls=function(e,r){return(0,us.default)(e,r)[0]},fs=ls;st.default=fs});var hi=l(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=void 0;var or=lr(N()),cs=lr(A()),gi=lr(L()),mi=P();function lr(t){return t&&t.__esModule?t:{default:t}}var ds=function(e){var r=0;if(e.length>2){for(var i,n,a,s=0;s<e.length;s++){s===e.length-2?(i=e.length-2,n=e.length-1,a=0):s===e.length-1?(i=e.length-1,n=0,a=1):(i=s,n=s+1,a=s+2);var u=(0,gi.default)(e[i]),o=(0,cs.default)(e[n]),p=(0,gi.default)(e[a]);r+=((0,or.default)(p)-(0,or.default)(u))*Math.sin((0,or.default)(o))}r=r*mi.earthRadius*mi.earthRadius/2}return Math.abs(r)},ps=ds;ut.default=ps});var fr=l(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.default=void 0;var gs=bi(A()),ms=bi(L());function bi(t){return t&&t.__esModule?t:{default:t}}var hs=function(e){if(Array.isArray(e)===!1||e.length===0)throw new Error("No points were given.");return e.reduce(function(r,i){var n=(0,gs.default)(i),a=(0,ms.default)(i);return{maxLat:Math.max(n,r.maxLat),minLat:Math.min(n,r.minLat),maxLng:Math.max(a,r.maxLng),minLng:Math.min(a,r.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})},bs=hs;ot.default=bs});var yi=l(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var ys=ft(A()),vs=ft(L()),ie=ft(N()),lt=ft(X()),he=P();function ft(t){return t&&t.__esModule?t:{default:t}}var _s=function(e,r){var i=(0,ys.default)(e),n=(0,vs.default)(e),a=(0,ie.default)(i),s=(0,ie.default)(n),u=r/he.earthRadius,o=a-u,p=a+u,M=(0,ie.default)(he.MAXLAT),h=(0,ie.default)(he.MINLAT),g=(0,ie.default)(he.MAXLON),_=(0,ie.default)(he.MINLON),O,b;if(o>h&&p<M){var k=Math.asin(Math.sin(u)/Math.cos(a));O=s-k,O<_&&(O+=Math.PI*2),b=s+k,b>g&&(b-=Math.PI*2)}else o=Math.max(o,h),p=Math.min(p,M),O=_,b=g;return[{latitude:(0,lt.default)(o),longitude:(0,lt.default)(O)},{latitude:(0,lt.default)(p),longitude:(0,lt.default)(b)}]},xs=_s;ct.default=xs});var xi=l(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=void 0;var Ps=dt(A()),Ms=dt(L()),vi=dt(N()),_i=dt(X());function dt(t){return t&&t.__esModule?t:{default:t}}var Ss=function(e){if(Array.isArray(e)===!1||e.length===0)return!1;var r=e.length,i=e.reduce(function(u,o){var p=(0,vi.default)((0,Ps.default)(o)),M=(0,vi.default)((0,Ms.default)(o));return{X:u.X+Math.cos(p)*Math.cos(M),Y:u.Y+Math.cos(p)*Math.sin(M),Z:u.Z+Math.sin(p)}},{X:0,Y:0,Z:0}),n=i.X/r,a=i.Y/r,s=i.Z/r;return{longitude:(0,_i.default)(Math.atan2(a,n)),latitude:(0,_i.default)(Math.atan2(s,Math.sqrt(n*n+a*a)))}},Os=Ss;pt.default=Os});var Pi=l(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.default=void 0;var ws=Ds(fr());function Ds(t){return t&&t.__esModule?t:{default:t}}var qs=function(e){var r=(0,ws.default)(e),i=r.minLat+(r.maxLat-r.minLat)/2,n=r.minLng+(r.maxLng-r.minLng)/2;return{latitude:parseFloat(i.toFixed(6)),longitude:parseFloat(n.toFixed(6))}},As=qs;gt.default=As});var cr=l(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=void 0;var Mi=ht(A()),Si=ht(L()),mt=ht(N()),Ls=ht(X());function ht(t){return t&&t.__esModule?t:{default:t}}var Rs=function(e,r){var i=(0,mt.default)((0,Si.default)(r))-(0,mt.default)((0,Si.default)(e)),n=Math.log(Math.tan((0,mt.default)((0,Mi.default)(r))/2+Math.PI/4)/Math.tan((0,mt.default)((0,Mi.default)(e))/2+Math.PI/4));return Math.abs(i)>Math.PI&&(i>0?i=(Math.PI*2-i)*-1:i=Math.PI*2+i),((0,Ls.default)(Math.atan2(i,n))+360)%360},ks=Rs;bt.default=ks});var wi=l(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.default=void 0;var Oi=Es(cr());function Es(t){return t&&t.__esModule?t:{default:t}}var Ts=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Oi.default,n=typeof i=="function"?i(e,r):(0,Oi.default)(e,r);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"}},Cs=Ts;yt.default=Cs});var pr=l(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=void 0;var dr=qi($()),Di=qi(sr());function qi(t){return t&&t.__esModule?t:{default:t}}var Ns=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,a=(0,dr.default)(r,e,n),s=(0,dr.default)(e,i,n),u=(0,dr.default)(r,i,n),o=Math.acos((0,Di.default)((a*a+u*u-s*s)/(2*a*u))),p=Math.acos((0,Di.default)((s*s+u*u-a*a)/(2*s*u)));return o>Math.PI/2?a:p>Math.PI/2?s:Math.sin(o)*a},Is=Ns;vt.default=Is});var Ri=l(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var Ai=_t(A()),Li=_t(L()),j=_t(N()),Vs=_t(X());function _t(t){return t&&t.__esModule?t:{default:t}}var js=function(e,r){var i=(0,Ai.default)(r),n=(0,Li.default)(r),a=(0,Ai.default)(e),s=(0,Li.default)(e),u=((0,Vs.default)(Math.atan2(Math.sin((0,j.default)(n)-(0,j.default)(s))*Math.cos((0,j.default)(i)),Math.cos((0,j.default)(a))*Math.sin((0,j.default)(i))-Math.sin((0,j.default)(a))*Math.cos((0,j.default)(i))*Math.cos((0,j.default)(n)-(0,j.default)(s))))+360)%360;return u},Us=js;xt.default=Us});var ki=l(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.default=void 0;var Ks=$s($());function $s(t){return t&&t.__esModule?t:{default:t}}function Pt(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pt=function(r){return typeof r}:Pt=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Pt(t)}var Fs=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ks.default;return e.reduce(function(i,n){return Pt(i)==="object"&&i.last!==null&&(i.distance+=r(n,i.last)),i.last=n,i},{last:null,distance:0}).distance},Bs=Fs;Mt.default=Bs});var Ni=l(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=void 0;var Ei=mr(A()),Ti=mr(L()),gr=mr(N()),Ci=P();function mr(t){return t&&t.__esModule?t:{default:t}}var Hs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;i=typeof i<"u"&&!isNaN(i)?i:1;var n=(0,Ei.default)(e),a=(0,Ti.default)(e),s=(0,Ei.default)(r),u=(0,Ti.default)(r),o=6356752314245e-6,p=1/298.257223563,M=(0,gr.default)(u-a),h,g,_,O,b,k,Rr=Math.atan((1-p)*Math.tan((0,gr.default)(parseFloat(n)))),kr=Math.atan((1-p)*Math.tan((0,gr.default)(parseFloat(s)))),Me=Math.sin(Rr),Se=Math.cos(Rr),Oe=Math.sin(kr),z=Math.cos(kr),se=M,Er,Tr=100;do{var Vt=Math.sin(se),jt=Math.cos(se);if(k=Math.sqrt(z*Vt*(z*Vt)+(Se*Oe-Me*z*jt)*(Se*Oe-Me*z*jt)),k===0)return 0;h=Me*Oe+Se*z*jt,g=Math.atan2(k,h),_=Se*z*Vt/k,O=1-_*_,b=h-2*Me*Oe/O,isNaN(b)&&(b=0);var Ut=p/16*O*(4+p*(4-3*O));Er=se,se=M+(1-Ut)*p*_*(g+Ut*k*(b+Ut*h*(-1+2*b*b)))}while(Math.abs(se-Er)>1e-12&&--Tr>0);if(Tr===0)return NaN;var K=O*(Ci.earthRadius*Ci.earthRadius-o*o)/(o*o),pn=1+K/16384*(4096+K*(-768+K*(320-175*K))),Kt=K/1024*(256+K*(-128+K*(74-47*K))),gn=Kt*k*(b+Kt/4*(h*(-1+2*b*b)-Kt/6*b*(-3+4*k*k)*(-3+4*b*b))),mn=o*pn*(g-gn);return Math.round(mn/i)*i},Ws=Hs;St.default=Ws});var Ii=l(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.default=void 0;var Gs=function(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"},Xs=Gs;Ot.default=Xs});var Vi=l(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var Ys=Zs($());function Zs(t){return t&&t.__esModule?t:{default:t}}var zs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ys.default,n=i(e,r),a=Number(r.time)-Number(e.time),s=n/a*1e3;return s},Js=zs;wt.default=Js});var ji=l(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var hr=Qs($());function Qs(t){return t&&t.__esModule?t:{default:t}}var eu=function(e,r,i){return(0,hr.default)(r,e)+(0,hr.default)(e,i)===(0,hr.default)(r,i)},tu=eu;Dt.default=tu});var Ki=l(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var qt=Ui(A()),R=Ui(L());function Ui(t){return t&&t.__esModule?t:{default:t}}var ru=function(e,r){for(var i=!1,n=r.length,a=-1,s=n-1;++a<n;s=a)((0,R.default)(r[a])<=(0,R.default)(e)&&(0,R.default)(e)<(0,R.default)(r[s])||(0,R.default)(r[s])<=(0,R.default)(e)&&(0,R.default)(e)<(0,R.default)(r[a]))&&(0,qt.default)(e)<((0,qt.default)(r[s])-(0,qt.default)(r[a]))*((0,R.default)(e)-(0,R.default)(r[a]))/((0,R.default)(r[s])-(0,R.default)(r[a]))+(0,qt.default)(r[a])&&(i=!i);return i},iu=ru;At.default=iu});var $i=l(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=void 0;var nu=au(pr());function au(t){return t&&t.__esModule?t:{default:t}}var su=function(e,r,i,n){return(0,nu.default)(e,r,i)<n},uu=su;Lt.default=uu});var Fi=l(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=void 0;var ou=lu($());function lu(t){return t&&t.__esModule?t:{default:t}}var fu=function(e,r,i){var n=.01;return(0,ou.default)(e,r,n)<i},cu=fu;Rt.default=cu});var Hi=l(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=void 0;function du(t,e){return hu(t)||mu(t,e)||gu(t,e)||pu()}function pu(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gu(t,e){if(t){if(typeof t=="string")return Bi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bi(t,e)}}function Bi(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function mu(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var s=t[Symbol.iterator](),u;!(i=(u=s.next()).done)&&(r.push(u.value),!(e&&r.length===e));i=!0);}catch(o){n=!0,a=o}finally{try{!i&&s.return!=null&&s.return()}finally{if(n)throw a}}return r}}function hu(t){if(Array.isArray(t))return t}var bu=function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");var r=e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", "),i=r.map(function(n){var a=n.split(" "),s=du(a,2),u=s[0],o=s[1];return{longitude:parseFloat(u),latitude:parseFloat(o)}});return i},yu=bu;kt.default=yu});var Gi=l(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var vu={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(c,"computeDestinationPoint",{enumerable:!0,get:function(){return _u.default}});Object.defineProperty(c,"convertArea",{enumerable:!0,get:function(){return xu.default}});Object.defineProperty(c,"convertDistance",{enumerable:!0,get:function(){return Pu.default}});Object.defineProperty(c,"convertSpeed",{enumerable:!0,get:function(){return Mu.default}});Object.defineProperty(c,"decimalToSexagesimal",{enumerable:!0,get:function(){return Su.default}});Object.defineProperty(c,"findNearest",{enumerable:!0,get:function(){return Ou.default}});Object.defineProperty(c,"getAreaOfPolygon",{enumerable:!0,get:function(){return wu.default}});Object.defineProperty(c,"getBounds",{enumerable:!0,get:function(){return Du.default}});Object.defineProperty(c,"getBoundsOfDistance",{enumerable:!0,get:function(){return qu.default}});Object.defineProperty(c,"getCenter",{enumerable:!0,get:function(){return Au.default}});Object.defineProperty(c,"getCenterOfBounds",{enumerable:!0,get:function(){return Lu.default}});Object.defineProperty(c,"getCompassDirection",{enumerable:!0,get:function(){return Ru.default}});Object.defineProperty(c,"getCoordinateKey",{enumerable:!0,get:function(){return ku.default}});Object.defineProperty(c,"getCoordinateKeys",{enumerable:!0,get:function(){return Eu.default}});Object.defineProperty(c,"getDistance",{enumerable:!0,get:function(){return Tu.default}});Object.defineProperty(c,"getDistanceFromLine",{enumerable:!0,get:function(){return Cu.default}});Object.defineProperty(c,"getGreatCircleBearing",{enumerable:!0,get:function(){return Nu.default}});Object.defineProperty(c,"getLatitude",{enumerable:!0,get:function(){return Iu.default}});Object.defineProperty(c,"getLongitude",{enumerable:!0,get:function(){return Vu.default}});Object.defineProperty(c,"getPathLength",{enumerable:!0,get:function(){return
|
|
1
|
+
var hn=Object.create;var Cr=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var yn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,_n=Object.prototype.hasOwnProperty;var l=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xn=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of yn(e))!_n.call(t,n)&&n!==r&&Cr(t,n,{get:()=>e[n],enumerable:!(i=bn(e,n))||i.enumerable});return t};var Nr=(t,e,r)=>(r=t!=null?hn(vn(t)):{},xn(e||!t||!t.__esModule?Cr(r,"default",{value:t,enumerable:!0}):r,t));var P=l(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.areaConversion=m.timeConversion=m.distanceConversion=m.altitudeKeys=m.latitudeKeys=m.longitudeKeys=m.MAXLON=m.MINLON=m.MAXLAT=m.MINLAT=m.earthRadius=m.sexagesimalPattern=void 0;var qn=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;m.sexagesimalPattern=qn;var An=6378137;m.earthRadius=An;var Ln=-90;m.MINLAT=Ln;var Rn=90;m.MAXLAT=Rn;var kn=-180;m.MINLON=kn;var En=180;m.MAXLON=En;var Tn=["lng","lon","longitude",0];m.longitudeKeys=Tn;var Cn=["lat","latitude",1];m.latitudeKeys=Cn;var Nn=["alt","altitude","elevation","elev",2];m.altitudeKeys=Nn;var In={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};m.distanceConversion=In;var Vn={m:60,h:3600,d:86400};m.timeConversion=Vn;var T={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};m.areaConversion=T;T.sqm=T.m2;T.sqkm=T.km2;T.sqft=T.ft2;T.sqyd=T.yd2;T.sqin=T.in2});var ce=l(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.default=void 0;var Un=function(e,r){return r.reduce(function(i,n){if(typeof e>"u"||e===null)throw new Error("'".concat(e,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(e,n)&&typeof n<"u"&&typeof i>"u"?(i=n,n):i},void 0)},jn=Un;Te.default=jn});var de=l(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.default=void 0;var Kn=function(e){var r=e.toString().trim();return isNaN(parseFloat(r))?!1:parseFloat(r)===Number(r)},$n=Kn;Ce.default=$n});var pe=l(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.default=void 0;var Fn=P(),Bn=function(e){return Fn.sexagesimalPattern.test(e.toString().trim())},Hn=Bn;Ne.default=Hn});var ge=l(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.default=void 0;var Wn=P(),Gn=function(e){var r=new RegExp(Wn.sexagesimalPattern).exec(e.toString().trim());if(typeof r>"u"||r===null)throw new Error("Given value is not in sexagesimal format");var i=Number(r[2])/60||0,n=Number(r[4])/3600||0,a=parseFloat(r[1])+i+n;return["S","W"].includes(r[7])?-a:a},Xn=Gn;Ie.default=Xn});var Ue=l(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.default=void 0;var Xt=P(),Yt=Yn(ce());function Yn(t){return t&&t.__esModule?t:{default:t}}function Gr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function Zn(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Gr(Object(r),!0).forEach(function(i){zn(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Gr(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function zn(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Jn=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{longitude:Xt.longitudeKeys,latitude:Xt.latitudeKeys,altitude:Xt.altitudeKeys},i=(0,Yt.default)(e,r.longitude),n=(0,Yt.default)(e,r.latitude),a=(0,Yt.default)(e,r.altitude);return Zn({latitude:n,longitude:i},a?{altitude:a}:{})},Qn=Jn;Ve.default=Qn});var zt=l(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.default=void 0;var ea=Zt(de()),ta=Zt(pe()),ra=Zt(ge()),Xr=P();function Zt(t){return t&&t.__esModule?t:{default:t}}var ia=function t(e){return(0,ea.default)(e)?!(parseFloat(e)>Xr.MAXLAT||e<Xr.MINLAT):(0,ta.default)(e)?t((0,ra.default)(e)):!1},na=ia;je.default=na});var Qt=l(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.default=void 0;var aa=Jt(de()),sa=Jt(pe()),ua=Jt(ge()),Yr=P();function Jt(t){return t&&t.__esModule?t:{default:t}}var oa=function t(e){return(0,aa.default)(e)?!(parseFloat(e)>Yr.MAXLON||e<Yr.MINLON):(0,sa.default)(e)?t((0,ua.default)(e)):!1},la=oa;Ke.default=la});var tr=l($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.default=void 0;var fa=er(Ue()),Zr=er(zt()),zr=er(Qt());function er(t){return t&&t.__esModule?t:{default:t}}var ca=function(e){var r=(0,fa.default)(e),i=r.latitude,n=r.longitude;if(Array.isArray(e)&&e.length>=2)return(0,zr.default)(e[0])&&(0,Zr.default)(e[1]);if(typeof i>"u"||typeof n>"u")return!1;var a=e[n],s=e[i];return!(typeof s>"u"||typeof a>"u"||(0,Zr.default)(s)===!1||(0,zr.default)(a)===!1)},da=ca;$e.default=da});var Be=l(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.default=void 0;var pa=me(de()),ga=me(pe()),ma=me(ge()),Jr=me(tr()),ha=me(Ue());function me(t){return t&&t.__esModule?t:{default:t}}function Qr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function rr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Qr(Object(r),!0).forEach(function(i){ir(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Qr(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function ir(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ba=function t(e){if((0,pa.default)(e))return Number(e);if((0,ga.default)(e))return(0,ma.default)(e);if((0,Jr.default)(e)){var r=(0,ha.default)(e);return Array.isArray(e)?e.map(function(i,n){return[0,1].includes(n)?t(i):i}):rr(rr(rr({},e),r.latitude&&ir({},r.latitude,t(e[r.latitude]))),r.longitude&&ir({},r.longitude,t(e[r.longitude])))}return Array.isArray(e)?e.map(function(i){return(0,Jr.default)(i)?t(i):i}):e},ya=ba;Fe.default=ya});var A=l(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.default=void 0;var va=P(),_a=ei(ce()),xa=ei(Be());function ei(t){return t&&t.__esModule?t:{default:t}}var Pa=function(e,r){var i=(0,_a.default)(e,va.latitudeKeys);if(!(typeof i>"u"||i===null)){var n=e[i];return r===!0?n:(0,xa.default)(n)}},Ma=Pa;He.default=Ma});var L=l(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.default=void 0;var Sa=P(),Oa=ti(ce()),wa=ti(Be());function ti(t){return t&&t.__esModule?t:{default:t}}var Da=function(e,r){var i=(0,Oa.default)(e,Sa.longitudeKeys);if(!(typeof i>"u"||i===null)){var n=e[i];return r===!0?n:(0,wa.default)(n)}},qa=Da;We.default=qa});var N=l(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.default=void 0;var Aa=function(e){return e*Math.PI/180},La=Aa;Ge.default=La});var X=l(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.default=void 0;var Ra=function(e){return e*180/Math.PI},ka=Ra;Xe.default=ka});var ii=l(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.default=void 0;var Ea=Ye(A()),Ta=Ye(L()),nr=Ye(N()),ar=Ye(X()),ri=P();function Ye(t){return t&&t.__esModule?t:{default:t}}var Ca=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:6371e3,a=(0,Ea.default)(e),s=(0,Ta.default)(e),u=r/n,o=(0,nr.default)(i),p=(0,nr.default)(a),M=(0,nr.default)(s),h=Math.asin(Math.sin(p)*Math.cos(u)+Math.cos(p)*Math.sin(u)*Math.cos(o)),g=M+Math.atan2(Math.sin(o)*Math.sin(u)*Math.cos(p),Math.cos(u)-Math.sin(p)*Math.sin(h)),_=(0,ar.default)(g);return(_<ri.MINLON||_>ri.MAXLON)&&(g=(g+3*Math.PI)%(2*Math.PI)-Math.PI,_=(0,ar.default)(g)),{latitude:(0,ar.default)(h),longitude:_}},Na=Ca;Ze.default=Na});var ni=l(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.default=void 0;var Ia=P(),Va=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",i=Ia.areaConversion[r];if(i)return e*i;throw new Error("Invalid unit used for area conversion.")},Ua=Va;ze.default=Ua});var ai=l(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.default=void 0;var ja=P(),Ka=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",i=ja.distanceConversion[r];if(i)return e*i;throw new Error("Invalid unit used for distance conversion.")},$a=Ka;Je.default=$a});var si=l(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var Qe=P(),Fa=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"kmh";switch(r){case"kmh":return e*Qe.timeConversion.h*Qe.distanceConversion.km;case"mph":return e*Qe.timeConversion.h*Qe.distanceConversion.mi;default:return e}},Ba=Fa;et.default=Ba});var li=l(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=void 0;function ui(t,e){return Xa(t)||Ga(t,e)||Wa(t,e)||Ha()}function Ha(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wa(t,e){if(t){if(typeof t=="string")return oi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oi(t,e)}}function oi(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function Ga(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var s=t[Symbol.iterator](),u;!(i=(u=s.next()).done)&&(r.push(u.value),!(e&&r.length===e));i=!0);}catch(o){n=!0,a=o}finally{try{!i&&s.return!=null&&s.return()}finally{if(n)throw a}}return r}}function Xa(t){if(Array.isArray(t))return t}var Ya=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4,i=Math.pow(10,r);return Math.round(e*i)/i},Za=function(e){var r=e.toString().split("."),i=ui(r,2),n=i[0],a=i[1],s=Math.abs(Number(n)),u=+("0."+(a||0))*60,o=u.toString().split("."),p=Math.floor(u),M=Ya(+("0."+(o[1]||0))*60).toString(),h=M.split("."),g=ui(h,2),_=g[0],O=g[1],b=O===void 0?"0":O;return s+"\xB0 "+p.toString().padStart(2,"0")+"' "+_.padStart(2,"0")+"."+b.padEnd(1,"0")+'"'},za=Za;tt.default=za});var sr=l(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.default=void 0;var Ja=function(e){return e>1?1:e<-1?-1:e},Qa=Ja;rt.default=Qa});var $=l(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=void 0;var fi=it(A()),ci=it(L()),re=it(N()),es=it(sr()),ts=P();function it(t){return t&&t.__esModule?t:{default:t}}var rs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;i=typeof i<"u"&&!isNaN(i)?i:1;var n=(0,fi.default)(e),a=(0,ci.default)(e),s=(0,fi.default)(r),u=(0,ci.default)(r),o=Math.acos((0,es.default)(Math.sin((0,re.default)(s))*Math.sin((0,re.default)(n))+Math.cos((0,re.default)(s))*Math.cos((0,re.default)(n))*Math.cos((0,re.default)(a)-(0,re.default)(u))))*ts.earthRadius;return Math.round(o/i)*i},is=rs;nt.default=is});var ur=l(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var di=ns($());function ns(t){return t&&t.__esModule?t:{default:t}}var as=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:di.default;return i=typeof i=="function"?i:di.default,r.slice().sort(function(n,a){return i(e,n)-i(e,a)})},ss=as;at.default=ss});var pi=l(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var us=os(ur());function os(t){return t&&t.__esModule?t:{default:t}}var ls=function(e,r){return(0,us.default)(e,r)[0]},fs=ls;st.default=fs});var hi=l(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=void 0;var or=lr(N()),cs=lr(A()),gi=lr(L()),mi=P();function lr(t){return t&&t.__esModule?t:{default:t}}var ds=function(e){var r=0;if(e.length>2){for(var i,n,a,s=0;s<e.length;s++){s===e.length-2?(i=e.length-2,n=e.length-1,a=0):s===e.length-1?(i=e.length-1,n=0,a=1):(i=s,n=s+1,a=s+2);var u=(0,gi.default)(e[i]),o=(0,cs.default)(e[n]),p=(0,gi.default)(e[a]);r+=((0,or.default)(p)-(0,or.default)(u))*Math.sin((0,or.default)(o))}r=r*mi.earthRadius*mi.earthRadius/2}return Math.abs(r)},ps=ds;ut.default=ps});var fr=l(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.default=void 0;var gs=bi(A()),ms=bi(L());function bi(t){return t&&t.__esModule?t:{default:t}}var hs=function(e){if(Array.isArray(e)===!1||e.length===0)throw new Error("No points were given.");return e.reduce(function(r,i){var n=(0,gs.default)(i),a=(0,ms.default)(i);return{maxLat:Math.max(n,r.maxLat),minLat:Math.min(n,r.minLat),maxLng:Math.max(a,r.maxLng),minLng:Math.min(a,r.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})},bs=hs;ot.default=bs});var yi=l(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var ys=ft(A()),vs=ft(L()),ie=ft(N()),lt=ft(X()),he=P();function ft(t){return t&&t.__esModule?t:{default:t}}var _s=function(e,r){var i=(0,ys.default)(e),n=(0,vs.default)(e),a=(0,ie.default)(i),s=(0,ie.default)(n),u=r/he.earthRadius,o=a-u,p=a+u,M=(0,ie.default)(he.MAXLAT),h=(0,ie.default)(he.MINLAT),g=(0,ie.default)(he.MAXLON),_=(0,ie.default)(he.MINLON),O,b;if(o>h&&p<M){var k=Math.asin(Math.sin(u)/Math.cos(a));O=s-k,O<_&&(O+=Math.PI*2),b=s+k,b>g&&(b-=Math.PI*2)}else o=Math.max(o,h),p=Math.min(p,M),O=_,b=g;return[{latitude:(0,lt.default)(o),longitude:(0,lt.default)(O)},{latitude:(0,lt.default)(p),longitude:(0,lt.default)(b)}]},xs=_s;ct.default=xs});var xi=l(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=void 0;var Ps=dt(A()),Ms=dt(L()),vi=dt(N()),_i=dt(X());function dt(t){return t&&t.__esModule?t:{default:t}}var Ss=function(e){if(Array.isArray(e)===!1||e.length===0)return!1;var r=e.length,i=e.reduce(function(u,o){var p=(0,vi.default)((0,Ps.default)(o)),M=(0,vi.default)((0,Ms.default)(o));return{X:u.X+Math.cos(p)*Math.cos(M),Y:u.Y+Math.cos(p)*Math.sin(M),Z:u.Z+Math.sin(p)}},{X:0,Y:0,Z:0}),n=i.X/r,a=i.Y/r,s=i.Z/r;return{longitude:(0,_i.default)(Math.atan2(a,n)),latitude:(0,_i.default)(Math.atan2(s,Math.sqrt(n*n+a*a)))}},Os=Ss;pt.default=Os});var Pi=l(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.default=void 0;var ws=Ds(fr());function Ds(t){return t&&t.__esModule?t:{default:t}}var qs=function(e){var r=(0,ws.default)(e),i=r.minLat+(r.maxLat-r.minLat)/2,n=r.minLng+(r.maxLng-r.minLng)/2;return{latitude:parseFloat(i.toFixed(6)),longitude:parseFloat(n.toFixed(6))}},As=qs;gt.default=As});var cr=l(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=void 0;var Mi=ht(A()),Si=ht(L()),mt=ht(N()),Ls=ht(X());function ht(t){return t&&t.__esModule?t:{default:t}}var Rs=function(e,r){var i=(0,mt.default)((0,Si.default)(r))-(0,mt.default)((0,Si.default)(e)),n=Math.log(Math.tan((0,mt.default)((0,Mi.default)(r))/2+Math.PI/4)/Math.tan((0,mt.default)((0,Mi.default)(e))/2+Math.PI/4));return Math.abs(i)>Math.PI&&(i>0?i=(Math.PI*2-i)*-1:i=Math.PI*2+i),((0,Ls.default)(Math.atan2(i,n))+360)%360},ks=Rs;bt.default=ks});var wi=l(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.default=void 0;var Oi=Es(cr());function Es(t){return t&&t.__esModule?t:{default:t}}var Ts=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Oi.default,n=typeof i=="function"?i(e,r):(0,Oi.default)(e,r);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"}},Cs=Ts;yt.default=Cs});var pr=l(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=void 0;var dr=qi($()),Di=qi(sr());function qi(t){return t&&t.__esModule?t:{default:t}}var Ns=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,a=(0,dr.default)(r,e,n),s=(0,dr.default)(e,i,n),u=(0,dr.default)(r,i,n),o=Math.acos((0,Di.default)((a*a+u*u-s*s)/(2*a*u))),p=Math.acos((0,Di.default)((s*s+u*u-a*a)/(2*s*u)));return o>Math.PI/2?a:p>Math.PI/2?s:Math.sin(o)*a},Is=Ns;vt.default=Is});var Ri=l(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var Ai=_t(A()),Li=_t(L()),U=_t(N()),Vs=_t(X());function _t(t){return t&&t.__esModule?t:{default:t}}var Us=function(e,r){var i=(0,Ai.default)(r),n=(0,Li.default)(r),a=(0,Ai.default)(e),s=(0,Li.default)(e),u=((0,Vs.default)(Math.atan2(Math.sin((0,U.default)(n)-(0,U.default)(s))*Math.cos((0,U.default)(i)),Math.cos((0,U.default)(a))*Math.sin((0,U.default)(i))-Math.sin((0,U.default)(a))*Math.cos((0,U.default)(i))*Math.cos((0,U.default)(n)-(0,U.default)(s))))+360)%360;return u},js=Us;xt.default=js});var ki=l(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.default=void 0;var Ks=$s($());function $s(t){return t&&t.__esModule?t:{default:t}}function Pt(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pt=function(r){return typeof r}:Pt=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Pt(t)}var Fs=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ks.default;return e.reduce(function(i,n){return Pt(i)==="object"&&i.last!==null&&(i.distance+=r(n,i.last)),i.last=n,i},{last:null,distance:0}).distance},Bs=Fs;Mt.default=Bs});var Ni=l(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=void 0;var Ei=mr(A()),Ti=mr(L()),gr=mr(N()),Ci=P();function mr(t){return t&&t.__esModule?t:{default:t}}var Hs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;i=typeof i<"u"&&!isNaN(i)?i:1;var n=(0,Ei.default)(e),a=(0,Ti.default)(e),s=(0,Ei.default)(r),u=(0,Ti.default)(r),o=6356752314245e-6,p=1/298.257223563,M=(0,gr.default)(u-a),h,g,_,O,b,k,Rr=Math.atan((1-p)*Math.tan((0,gr.default)(parseFloat(n)))),kr=Math.atan((1-p)*Math.tan((0,gr.default)(parseFloat(s)))),Me=Math.sin(Rr),Se=Math.cos(Rr),Oe=Math.sin(kr),z=Math.cos(kr),se=M,Er,Tr=100;do{var Vt=Math.sin(se),Ut=Math.cos(se);if(k=Math.sqrt(z*Vt*(z*Vt)+(Se*Oe-Me*z*Ut)*(Se*Oe-Me*z*Ut)),k===0)return 0;h=Me*Oe+Se*z*Ut,g=Math.atan2(k,h),_=Se*z*Vt/k,O=1-_*_,b=h-2*Me*Oe/O,isNaN(b)&&(b=0);var jt=p/16*O*(4+p*(4-3*O));Er=se,se=M+(1-jt)*p*_*(g+jt*k*(b+jt*h*(-1+2*b*b)))}while(Math.abs(se-Er)>1e-12&&--Tr>0);if(Tr===0)return NaN;var K=O*(Ci.earthRadius*Ci.earthRadius-o*o)/(o*o),pn=1+K/16384*(4096+K*(-768+K*(320-175*K))),Kt=K/1024*(256+K*(-128+K*(74-47*K))),gn=Kt*k*(b+Kt/4*(h*(-1+2*b*b)-Kt/6*b*(-3+4*k*k)*(-3+4*b*b))),mn=o*pn*(g-gn);return Math.round(mn/i)*i},Ws=Hs;St.default=Ws});var Ii=l(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.default=void 0;var Gs=function(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"},Xs=Gs;Ot.default=Xs});var Vi=l(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var Ys=Zs($());function Zs(t){return t&&t.__esModule?t:{default:t}}var zs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ys.default,n=i(e,r),a=Number(r.time)-Number(e.time),s=n/a*1e3;return s},Js=zs;wt.default=Js});var Ui=l(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var hr=Qs($());function Qs(t){return t&&t.__esModule?t:{default:t}}var eu=function(e,r,i){return(0,hr.default)(r,e)+(0,hr.default)(e,i)===(0,hr.default)(r,i)},tu=eu;Dt.default=tu});var Ki=l(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var qt=ji(A()),R=ji(L());function ji(t){return t&&t.__esModule?t:{default:t}}var ru=function(e,r){for(var i=!1,n=r.length,a=-1,s=n-1;++a<n;s=a)((0,R.default)(r[a])<=(0,R.default)(e)&&(0,R.default)(e)<(0,R.default)(r[s])||(0,R.default)(r[s])<=(0,R.default)(e)&&(0,R.default)(e)<(0,R.default)(r[a]))&&(0,qt.default)(e)<((0,qt.default)(r[s])-(0,qt.default)(r[a]))*((0,R.default)(e)-(0,R.default)(r[a]))/((0,R.default)(r[s])-(0,R.default)(r[a]))+(0,qt.default)(r[a])&&(i=!i);return i},iu=ru;At.default=iu});var $i=l(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=void 0;var nu=au(pr());function au(t){return t&&t.__esModule?t:{default:t}}var su=function(e,r,i,n){return(0,nu.default)(e,r,i)<n},uu=su;Lt.default=uu});var Fi=l(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=void 0;var ou=lu($());function lu(t){return t&&t.__esModule?t:{default:t}}var fu=function(e,r,i){var n=.01;return(0,ou.default)(e,r,n)<i},cu=fu;Rt.default=cu});var Hi=l(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=void 0;function du(t,e){return hu(t)||mu(t,e)||gu(t,e)||pu()}function pu(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gu(t,e){if(t){if(typeof t=="string")return Bi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bi(t,e)}}function Bi(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function mu(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var s=t[Symbol.iterator](),u;!(i=(u=s.next()).done)&&(r.push(u.value),!(e&&r.length===e));i=!0);}catch(o){n=!0,a=o}finally{try{!i&&s.return!=null&&s.return()}finally{if(n)throw a}}return r}}function hu(t){if(Array.isArray(t))return t}var bu=function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");var r=e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", "),i=r.map(function(n){var a=n.split(" "),s=du(a,2),u=s[0],o=s[1];return{longitude:parseFloat(u),latitude:parseFloat(o)}});return i},yu=bu;kt.default=yu});var Gi=l(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var vu={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(c,"computeDestinationPoint",{enumerable:!0,get:function(){return _u.default}});Object.defineProperty(c,"convertArea",{enumerable:!0,get:function(){return xu.default}});Object.defineProperty(c,"convertDistance",{enumerable:!0,get:function(){return Pu.default}});Object.defineProperty(c,"convertSpeed",{enumerable:!0,get:function(){return Mu.default}});Object.defineProperty(c,"decimalToSexagesimal",{enumerable:!0,get:function(){return Su.default}});Object.defineProperty(c,"findNearest",{enumerable:!0,get:function(){return Ou.default}});Object.defineProperty(c,"getAreaOfPolygon",{enumerable:!0,get:function(){return wu.default}});Object.defineProperty(c,"getBounds",{enumerable:!0,get:function(){return Du.default}});Object.defineProperty(c,"getBoundsOfDistance",{enumerable:!0,get:function(){return qu.default}});Object.defineProperty(c,"getCenter",{enumerable:!0,get:function(){return Au.default}});Object.defineProperty(c,"getCenterOfBounds",{enumerable:!0,get:function(){return Lu.default}});Object.defineProperty(c,"getCompassDirection",{enumerable:!0,get:function(){return Ru.default}});Object.defineProperty(c,"getCoordinateKey",{enumerable:!0,get:function(){return ku.default}});Object.defineProperty(c,"getCoordinateKeys",{enumerable:!0,get:function(){return Eu.default}});Object.defineProperty(c,"getDistance",{enumerable:!0,get:function(){return Tu.default}});Object.defineProperty(c,"getDistanceFromLine",{enumerable:!0,get:function(){return Cu.default}});Object.defineProperty(c,"getGreatCircleBearing",{enumerable:!0,get:function(){return Nu.default}});Object.defineProperty(c,"getLatitude",{enumerable:!0,get:function(){return Iu.default}});Object.defineProperty(c,"getLongitude",{enumerable:!0,get:function(){return Vu.default}});Object.defineProperty(c,"getPathLength",{enumerable:!0,get:function(){return Uu.default}});Object.defineProperty(c,"getPreciseDistance",{enumerable:!0,get:function(){return ju.default}});Object.defineProperty(c,"getRhumbLineBearing",{enumerable:!0,get:function(){return Ku.default}});Object.defineProperty(c,"getRoughCompassDirection",{enumerable:!0,get:function(){return $u.default}});Object.defineProperty(c,"getSpeed",{enumerable:!0,get:function(){return Fu.default}});Object.defineProperty(c,"isDecimal",{enumerable:!0,get:function(){return Bu.default}});Object.defineProperty(c,"isPointInLine",{enumerable:!0,get:function(){return Hu.default}});Object.defineProperty(c,"isPointInPolygon",{enumerable:!0,get:function(){return Wu.default}});Object.defineProperty(c,"isPointNearLine",{enumerable:!0,get:function(){return Gu.default}});Object.defineProperty(c,"isPointWithinRadius",{enumerable:!0,get:function(){return Xu.default}});Object.defineProperty(c,"isSexagesimal",{enumerable:!0,get:function(){return Yu.default}});Object.defineProperty(c,"isValidCoordinate",{enumerable:!0,get:function(){return Zu.default}});Object.defineProperty(c,"isValidLatitude",{enumerable:!0,get:function(){return zu.default}});Object.defineProperty(c,"isValidLongitude",{enumerable:!0,get:function(){return Ju.default}});Object.defineProperty(c,"orderByDistance",{enumerable:!0,get:function(){return Qu.default}});Object.defineProperty(c,"sexagesimalToDecimal",{enumerable:!0,get:function(){return eo.default}});Object.defineProperty(c,"toDecimal",{enumerable:!0,get:function(){return to.default}});Object.defineProperty(c,"toRad",{enumerable:!0,get:function(){return ro.default}});Object.defineProperty(c,"toDeg",{enumerable:!0,get:function(){return io.default}});Object.defineProperty(c,"wktToPolygon",{enumerable:!0,get:function(){return no.default}});var _u=d(ii()),xu=d(ni()),Pu=d(ai()),Mu=d(si()),Su=d(li()),Ou=d(pi()),wu=d(hi()),Du=d(fr()),qu=d(yi()),Au=d(xi()),Lu=d(Pi()),Ru=d(wi()),ku=d(ce()),Eu=d(Ue()),Tu=d($()),Cu=d(pr()),Nu=d(Ri()),Iu=d(A()),Vu=d(L()),Uu=d(ki()),ju=d(Ni()),Ku=d(cr()),$u=d(Ii()),Fu=d(Vi()),Bu=d(de()),Hu=d(Ui()),Wu=d(Ki()),Gu=d($i()),Xu=d(Fi()),Yu=d(pe()),Zu=d(tr()),zu=d(zt()),Ju=d(Qt()),Qu=d(ur()),eo=d(ge()),to=d(Be()),ro=d(N()),io=d(X()),no=d(Hi()),Wi=P();Object.keys(Wi).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(vu,t)||Object.defineProperty(c,t,{enumerable:!0,get:function(){return Wi[t]}})});function d(t){return t&&t.__esModule?t:{default:t}}});var Xi=l(vr=>{"use strict";vr.__esModule=!0;function br(t,e){return t*t+e*e}function ao(t,e){return br(t[0]-e[0],t[1]-e[1])}function so(t,e,r){var i=e[0],n=e[1],a=r[0]-i,s=r[1]-n;if(a!==0||s!==0){var u=((t[0]-i)*a+(t[1]-n)*s)/br(a,s);u>1?(i=r[0],n=r[1]):u>0&&(i+=a*u,n+=s*u)}return br(t[0]-i,t[1]-n)}function uo(t,e){for(var r=t[0],i,n=[r],a=1,s=t.length;a<s;a++)i=t[a],ao(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function yr(t,e,r,i,n){for(var a=i,s,u=e+1;u<r;u++){var o=so(t[u],t[e],t[r]);o>a&&(s=u,a=o)}a>i&&(s-e>1&&yr(t,e,s,i,n),n.push(t[s]),r-s>1&&yr(t,s,r,i,n))}function oo(t,e){var r=t.length-1,i=[t[0]];return yr(t,0,r,e,i),i.push(t[r]),i}function lo(t,e,r){if(e===void 0&&(e=1),r===void 0&&(r=!1),t.length<=2)return t;var i=e*e;return t=r?t:uo(t,i),t=oo(t,i),t}vr.SimplifyAP=lo});var Yi=l(Pr=>{"use strict";Pr.__esModule=!0;function _r(t,e){return t*t+e*e}function fo(t,e){return _r(t.longitude-e.longitude,t.latitude-e.latitude)}function co(t,e,r){var i=e.longitude,n=e.latitude,a=r.longitude-i,s=r.latitude-n;if(a!==0||s!==0){var u=((t.longitude-i)*a+(t.latitude-n)*s)/_r(a,s);u>1?(i=r.longitude,n=r.latitude):u>0&&(i+=a*u,n+=s*u)}return _r(t.longitude-i,t.latitude-n)}function po(t,e){for(var r=t[0],i,n=[r],a=1,s=t.length;a<s;a++)i=t[a],fo(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function xr(t,e,r,i,n){for(var a=i,s,u=e+1;u<r;u++){var o=co(t[u],t[e],t[r]);o>a&&(s=u,a=o)}a>i&&(s-e>1&&xr(t,e,s,i,n),n.push(t[s]),r-s>1&&xr(t,s,r,i,n))}function go(t,e){var r=t.length-1,i=[t[0]];return xr(t,0,r,e,i),i.push(t[r]),i}function mo(t,e,r){if(e===void 0&&(e=1),r===void 0&&(r=!1),t.length<=2)return t;var i=e*e;return t=r?t:po(t,i),t=go(t,i),t}Pr.SimplifyLL=mo});var Zi=l(Or=>{"use strict";Or.__esModule=!0;function Mr(t,e){return t*t+e*e}function ho(t,e){return Mr(t.x-e.x,t.y-e.y)}function bo(t,e,r){var i=e.x,n=e.y,a=r.x-i,s=r.y-n;if(a!==0||s!==0){var u=((t.x-i)*a+(t.y-n)*s)/Mr(a,s);u>1?(i=r.x,n=r.y):u>0&&(i+=a*u,n+=s*u)}return Mr(t.x-i,t.y-n)}function yo(t,e){for(var r=t[0],i,n=[r],a=1,s=t.length;a<s;a++)i=t[a],ho(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Sr(t,e,r,i,n){for(var a=i,s,u=e+1;u<r;u++){var o=bo(t[u],t[e],t[r]);o>a&&(s=u,a=o)}a>i&&(s-e>1&&Sr(t,e,s,i,n),n.push(t[s]),r-s>1&&Sr(t,s,r,i,n))}function vo(t,e){var r=t.length-1,i=[t[0]];return Sr(t,0,r,e,i),i.push(t[r]),i}function _o(t,e,r){if(e===void 0&&(e=1),r===void 0&&(r=!1),t.length<=2)return t;var i=e*e;return t=r?t:yo(t,i),t=vo(t,i),t}Or.Simplify=_o});var zi=l(be=>{"use strict";be.__esModule=!0;var xo=Xi();be.SimplifyAP=xo.SimplifyAP;var Po=Yi();be.SimplifyLL=Po.SimplifyLL;var Mo=Zi();be.Simplify=Mo.Simplify});function ue(t){return typeof t=="function"}var $t=!1,w={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){let e=new Error;console.warn(`DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at:
|
|
4
4
|
`+e.stack)}else $t&&console.log("RxJS: Back to a better error behavior. Thank you. <3");$t=t},get useDeprecatedSynchronousErrorHandling(){return $t}};function B(t){setTimeout(()=>{throw t},0)}var J={closed:!0,next(t){},error(t){if(w.useDeprecatedSynchronousErrorHandling)throw t;B(t)},complete(){}};var Ir=Array.isArray||(t=>t&&typeof t.length=="number");function Vr(t){return t!==null&&typeof t=="object"}var Pn=(()=>{function t(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:
|
|
5
5
|
${e.map((r,i)=>`${i+1}) ${r.toString()}`).join(`
|
|
6
|
-
`)}`:"",this.name="UnsubscriptionError",this.errors=e,this}return t.prototype=Object.create(Error.prototype),t})(),oe=Pn;var q=class t{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:r,_ctorUnsubscribe:i,_unsubscribe:n,_subscriptions:a}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,r instanceof t)r.remove(this);else if(r!==null)for(let s=0;s<r.length;++s)r[s].remove(this);if(ue(n)){i&&(this._unsubscribe=void 0);try{n.call(this)}catch(s){e=s instanceof oe?jr(s.errors):[s]}}if(Ir(a)){let s=-1,u=a.length;for(;++s<u;){let o=a[s];if(Vr(o))try{o.unsubscribe()}catch(p){e=e||[],p instanceof oe?e=e.concat(jr(p.errors)):e.push(p)}}}if(e)throw new oe(e)}add(e){let r=e;if(!e)return t.EMPTY;switch(typeof e){case"function":r=new t(e);case"object":if(r===this||r.closed||typeof r.unsubscribe!="function")return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof t)){let a=r;r=new t,r._subscriptions=[a]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:i}=r;if(i===null)r._parentOrParents=this;else if(i instanceof t){if(i===this)return r;r._parentOrParents=[i,this]}else if(i.indexOf(this)===-1)i.push(this);else return r;let n=this._subscriptions;return n===null?this._subscriptions=[r]:n.push(r),r}remove(e){let r=this._subscriptions;if(r){let i=r.indexOf(e);i!==-1&&r.splice(i,1)}}};q.EMPTY=(function(t){return t.closed=!0,t})(new q);function jr(t){return t.reduce((e,r)=>e.concat(r instanceof oe?r.errors:r),[])}var H=typeof Symbol=="function"?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();var E=class t extends q{constructor(e,r,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=J;break;case 1:if(!e){this.destination=J;break}if(typeof e=="object"){e instanceof t?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new we(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new we(this,e,r,i);break}}[H](){return this}static create(e,r,i){let n=new t(e,r,i);return n.syncErrorThrowable=!1,n}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){let{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}},we=class extends E{constructor(e,r,i,n){super(),this._parentSubscriber=e;let a,s=this;ue(r)?a=r:r&&(a=r.next,i=r.error,n=r.complete,r!==J&&(s=Object.create(r),ue(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=a,this._error=i,this._complete=n}next(e){if(!this.isStopped&&this._next){let{_parentSubscriber:r}=this;!w.useDeprecatedSynchronousErrorHandling||!r.syncErrorThrowable?this.__tryOrUnsub(this._next,e):this.__tryOrSetError(r,this._next,e)&&this.unsubscribe()}}error(e){if(!this.isStopped){let{_parentSubscriber:r}=this,{useDeprecatedSynchronousErrorHandling:i}=w;if(this._error)!i||!r.syncErrorThrowable?(this.__tryOrUnsub(this._error,e),this.unsubscribe()):(this.__tryOrSetError(r,this._error,e),this.unsubscribe());else if(r.syncErrorThrowable)i?(r.syncErrorValue=e,r.syncErrorThrown=!0):B(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;B(e)}}}complete(){if(!this.isStopped){let{_parentSubscriber:e}=this;if(this._complete){let r=()=>this._complete.call(this._context);!w.useDeprecatedSynchronousErrorHandling||!e.syncErrorThrowable?(this.__tryOrUnsub(r),this.unsubscribe()):(this.__tryOrSetError(e,r),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,r){try{e.call(this._context,r)}catch(i){if(this.unsubscribe(),w.useDeprecatedSynchronousErrorHandling)throw i;B(i)}}__tryOrSetError(e,r,i){if(!w.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{r.call(this._context,i)}catch(n){return w.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=n,e.syncErrorThrown=!0,!0):(B(n),!0)}return!1}_unsubscribe(){let{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}};function Ur(t){for(;t;){let{closed:e,destination:r,isStopped:i}=t;if(e||i)return!1;r&&r instanceof E?t=r:t=null}return!0}function Kr(t,e,r){if(t){if(t instanceof E)return t;if(t[H])return t[H]()}return!t&&!e&&!r?new E(J):new E(t,e,r)}var $r=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Fr(t){return t}function Br(t){return t.length===0?Fr:t.length===1?t[0]:function(r){return t.reduce((i,n)=>n(i),r)}}var W=class t{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){let r=new t;return r.source=this,r.operator=e,r}subscribe(e,r,i){let{operator:n}=this,a=Kr(e,r,i);if(n?a.add(n.call(a,this.source)):a.add(this.source||w.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),w.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(r){w.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=r),Ur(e)?e.error(r):console.warn(r)}}forEach(e,r){return r=Hr(r),new r((i,n)=>{let a;a=this.subscribe(s=>{try{e(s)}catch(u){n(u),a&&a.unsubscribe()}},n,i)})}_subscribe(e){let{source:r}=this;return r&&r.subscribe(e)}[$r](){return this}pipe(...e){return e.length===0?this:Br(e)(this)}toPromise(e){return e=Hr(e),new e((r,i)=>{let n;this.subscribe(a=>n=a,a=>i(a),()=>r(n))})}};W.create=t=>new W(t);function Hr(t){if(t||(t=w.Promise||Promise),!t)throw new Error("no Promise impl found");return t}var Mn=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})(),Q=Mn;var De=class extends q{constructor(e,r){super(),this.subject=e,this.subscriber=r,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;let e=this.subject,r=e.observers;if(this.subject=null,!r||r.length===0||e.isStopped||e.closed)return;let i=r.indexOf(this.subscriber);i!==-1&&r.splice(i,1)}};var Ft=class extends E{constructor(e){super(e),this.destination=e}},C=class extends W{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[H](){return new Ft(this)}lift(e){let r=new qe(this,this);return r.operator=e,r}next(e){if(this.closed)throw new Q;if(!this.isStopped){let{observers:r}=this,i=r.length,n=r.slice();for(let a=0;a<i;a++)n[a].next(e)}}error(e){if(this.closed)throw new Q;this.hasError=!0,this.thrownError=e,this.isStopped=!0;let{observers:r}=this,i=r.length,n=r.slice();for(let a=0;a<i;a++)n[a].error(e);this.observers.length=0}complete(){if(this.closed)throw new Q;this.isStopped=!0;let{observers:e}=this,r=e.length,i=e.slice();for(let n=0;n<r;n++)i[n].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(e){if(this.closed)throw new Q;return super._trySubscribe(e)}_subscribe(e){if(this.closed)throw new Q;return this.hasError?(e.error(this.thrownError),q.EMPTY):this.isStopped?(e.complete(),q.EMPTY):(this.observers.push(e),new De(this,e))}asObservable(){let e=new W;return e.source=this,e}};C.create=(t,e)=>new qe(t,e);var qe=class extends C{constructor(e,r){super(),this.destination=e,this.source=r}next(e){let{destination:r}=this;r&&r.next&&r.next(e)}error(e){let{destination:r}=this;r&&r.error&&this.destination.error(e)}complete(){let{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){let{source:r}=this;return r?this.source.subscribe(e):q.EMPTY}};var x=[];for(let t=0;t<256;++t)x.push((t+256).toString(16).slice(1));function Wr(t,e=0){return(x[t[e+0]]+x[t[e+1]]+x[t[e+2]]+x[t[e+3]]+"-"+x[t[e+4]]+x[t[e+5]]+"-"+x[t[e+6]]+x[t[e+7]]+"-"+x[t[e+8]]+x[t[e+9]]+"-"+x[t[e+10]]+x[t[e+11]]+x[t[e+12]]+x[t[e+13]]+x[t[e+14]]+x[t[e+15]]).toLowerCase()}var Bt,Sn=new Uint8Array(16);function Ht(){if(!Bt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Bt=crypto.getRandomValues.bind(crypto)}return Bt(Sn)}var On=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Wt={randomUUID:On};function wn(t,e,r){if(Wt.randomUUID&&!e&&!t)return Wt.randomUUID();t=t||{};let i=t.random??t.rng?.()??Ht();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)e[r+n]=i[n];return e}return Wr(i)}var Gt=wn;var Ae=class{_connect;_close;_error;_message;ws;_filter="";_wsTimeout=2e4;_token="";_playbackMode=!1;onConnect;onClose;onError;onMessage;version=1;endpoint="";selfId="";_source=null;set source(e){this._source||(this._source={}),this._source.label=e}set authToken(e){this._token=e}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(e){this._wsTimeout=e<3e3?3e3:e>6e4?6e4:e}get isOpen(){return!!(this.ws&&this.ws.readyState!=1&&this.ws.readyState!=3)}get filter(){return this._filter}set filter(e){e&&e.indexOf("self")!=-1?this._filter=this.selfId?this.selfId:"":this._filter=e}get playbackMode(){return this._playbackMode}constructor(){this._connect=new C,this.onConnect=this._connect.asObservable(),this._close=new C,this.onClose=this._close.asObservable(),this._error=new C,this.onError=this._error.asObservable(),this._message=new C,this.onMessage=this._message.asObservable()}close(){this.ws&&(this.ws.close(),this.ws=null)}open(e,r,i){if(e=e||this.endpoint,!e)return;let n=e.indexOf("?")==-1?"?":"&";r&&(e+=`${n}subscribe=${r}`),(this._token||i)&&(e+=`${r?"&":"?"}token=${this._token||i}`),this.close(),this.ws=new WebSocket(e),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(e){let r;if(typeof e.data=="string")try{r=JSON.parse(e.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(e){if(typeof e!="object")return"";let r=ee.request();return typeof e.login>"u"&&this._token&&(r.token=this._token),Object.keys(e).forEach(n=>{r[n]=e[n]}),this.send(r),r.requestId}put(e,r,i){let n={context:e=="self"?"vessels.self":e,put:{path:r,value:i}};return this.sendRequest(n)}login(e,r){let i={login:{username:e,password:r}};return this.sendRequest(i)}send(e){this.ws&&(typeof e=="object"&&(e=JSON.stringify(e)),this.ws.send(e))}sendUpdate(e="self",r,i){let n=ee.updates();this._token&&(n.token=this._token),n.context=e=="self"?"vessels.self":e,this._token&&(n.token=this._token);let a=[];typeof r=="string"&&a.push({path:r,value:i}),typeof r=="object"&&Array.isArray(r)&&(a=r);let s={timestamp:new Date().toISOString(),values:a};this._source&&(s.source=this._source),n.updates.push(s),this.send(n)}subscribe(e="*",r="*",i){let n=ee.subscribe();if(this._token&&(n.token=this._token),n.context=e=="self"?"vessels.self":e,this._token&&(n.token=this._token),typeof r=="object"&&Array.isArray(r)&&(n.subscribe=r),typeof r=="string"){let a={};a.path=r,i&&typeof i=="object"&&(i.period&&(a.period=i.period),i.minPeriod&&(a.minPeriod=i.period),i.format&&(i.format=="delta"||i.format=="full")&&(a.format=i.format),i.policy&&(i.policy=="instant"||i.policy=="ideal"||i.policy=="fixed")&&(a.policy=i.policy)),n.subscribe.push(a)}this.send(n)}unsubscribe(e="*",r="*"){let i=ee.unsubscribe();this._token&&(i.token=this._token),i.context=e=="self"?"vessels.self":e,this._token&&(i.token=this._token),typeof r=="object"&&Array.isArray(r)&&(i.unsubscribe=r),typeof r=="string"&&i.unsubscribe.push({path:r}),this.send(i)}raiseAlarm(e="*",r,i){let n;typeof r=="string"?n=r.indexOf("notifications.")==-1?`notifications.${r}`:r:n=r,this.put(e,n,i.value)}clearAlarm(e="*",r){let i=r.indexOf("notifications.")==-1?`notifications.${r}`:r;this.put(e,i,null)}isSelf(e){return e.context==this.selfId}isDelta(e){return typeof e.context<"u"}isHello(e){return typeof e.version<"u"&&typeof e.self<"u"}isResponse(e){return typeof e.requestId<"u"}},ee=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:Gt()}}},Le=class{_state;_method=[];_message="";constructor(e,r,i,n){this._message=typeof e<"u"?e:"",this._state=typeof r<"u"?r:"alarm",i&&this._method.push("visual"),n&&this._method.push("sound")}get value(){return{message:this._message,state:this._state,method:this._method}}};var te=class{id;name;mmsi;position=[0,0];positionReceived=!1;state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},le=class extends te{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;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;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},Re=class extends te{constructor(){super()}},ke=class extends te{sog=0;track=[];constructor(){super()}},fe=class extends te{constructor(){super()}},Ee=class extends fe{twd;tws;temperature;constructor(){super()}};var G=class{static celsiusToKelvin(e=0){return e+273.15}static kelvinToCelsius(e=0){return e-273.15}static kelvinToFarenheit(e=0){return e*(9/5)-459.67}static degreesToRadians(e=0){return e*Math.PI/180}static radiansToDegrees(e=0){return e*180/Math.PI}static angleToDirection(e,r){let i=Math.PI*2;if(r||(r=0),e||(e=0),isNaN(r)||isNaN(e))return null;let n=r+e;return n>i?n-i:n<0?i+n:n}static directionToAngle(e,r){let i=Math.PI*2;if(r||(r=0),e||(e=0),isNaN(r)||isNaN(e))return null;let n=r-e,a;if(n>0)a=n>Math.PI?i-n:0-n;else if(n<0){let s=Math.abs(n);a=s>Math.PI?s-i:s}else a=n;return a}static knotsToKm(e){return e*1.852}static nauticalMilesToKm(e){return e*1.852}static knotsToMSec(e){return e*.51444325460445}static kmToKnots(e){return e*.539957}static kmToNauticalMiles(e){return e*.539957}static kmToMiles(e){return e*.621371}static metersToFeet(e){return e*3.28084}static msecToKnots(e){return e*1.94384}static msecToKmh(e){return e*3.6}static msecToMph(e){return e*2.23694}static nauticalMilesToMiles(e){return e*1.15078}static milesToKm(e){return e*1.60934}static milesToNauticalMiles(e){return e*.868976}static rpmToHertz(e){return e/60}};var D=Nr(Gi()),I=class t{static destCoordinate(e,r,i){let n=(0,D.computeDestinationPoint)(e,i,G.radiansToDegrees(r));return[n.longitude,n.latitude]}static distanceTo(e,r){return(0,D.getDistance)(e,r)}static routeLength(e){return(0,D.getPathLength)(e)}static routeLegs(e,r){if(e.length<2)return[];let i=[];r?i.push({bearing:(0,D.getGreatCircleBearing)(r,e[0]),distance:t.distanceTo(r,e[0])}):i.push({bearing:0,distance:0});for(let n=1;n<e.length;++n){let a={bearing:(0,D.getGreatCircleBearing)(e[n-1],e[n]),distance:t.distanceTo(e[n-1],e[n])};i.push(a)}return i}static centreOfPolygon(e){let r=(0,D.getCenter)(e);return[r.longitude,r.latitude]}static inDLCrossingZone(e,r=170){return Math.abs(e[0])>=r}static inBounds(e,r){return(0,D.isPointInPolygon)(e,[[r[0],r[1]],[r[0],r[3]],[r[2],r[3]],[r[2],r[1]],[r[0],r[1]]])}static calcMapifiedExtent(e,r){let n=111111*Math.cos(G.degreesToRadians(e[1])),a=[0,0,0,0];return a[1]=e[1]+(0-Math.abs(r))/111111,a[3]=e[1]+Math.abs(r)/111111,a[0]=e[0]+(0-Math.abs(r))/n,a[2]=e[0]+Math.abs(r)/n,a}static normaliseCoords(e){if(!Array.isArray(e))return[0,0];if(typeof e[0]=="number"){if(e[0]>180)for(;e[0]>180;)e[0]=e[0]-360;else if(e[0]<-180)for(;e[0]<-180;)e[0]=360+e[0];return e}else if(Array.isArray(e[0]))return e.forEach(r=>r=this.normaliseCoords(r)),e}};var Et=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},ne=class{action;playback=!1;result=null;timestamp;self=null;constructor(){this.action="update"}},Tt=class extends ne{constructor(){super(),this.action="resource"}},Ct=class extends ne{constructor(){super(),this.action="trail"}};var tn=Nr(zi());var So=["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"],f,v,rn,xe=[],It=[],wr=!1,Ar,Dr=!1,y={signalk:{},aisState:[]},nn=[0,0,0,0],an=60,ye=0,S,Y={},Z=500,V=!1,sn,U={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},qr={cogLine:10,aisCogLine:10},ve={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},F,ae="freeboard-sk";function Oo(){f={self:new le,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},f.self.positionReceived=!1,un()}function un(){S={updated:{},stale:{},expired:{}}}function Nt({action:t,msg:e}){switch(t){case"onConnect":postMessage({action:"open",playback:V,result:e.target.readyState});break;case"onClose":on(!1);break;case"onError":postMessage({action:"error",playback:V,result:"Connection error!"});break;case"onMessage":Lo(e);break}}addEventListener("message",({data:t})=>{wo(t)});function wo(t){if(t.cmd)switch(t.cmd){case"open":Ji(t.options),qo(t.options);break;case"close":on(!0);break;case"subscribe":v.subscribe(t.options.context,t.options.path);break;case"settings":Ji(t.options);break;case"alarm":Ao(t.options);break;case"vessel":if(t.options){let e;t.options.context==="self"?e=f.self:e=f.aisTargets.get(t.options.context),e&&t.options.name&&(e.name=t.options.name)}break;case"auth":t.options&&typeof t.options.token<"u"&&(rn=t.options.token);break;case"trail":t.options&&(ve.trailDuration=t.options.trailDuration??24,t.options.trailResolution&&(ve.trailResolution.lastHour=t.options.trailResolution.lastHour??"5s",ve.trailResolution.next23=t.options.trailResolution.next23??"1m",ve.trailResolution.beyond24=t.options.trailResolution.beyond24??"5m")),Do(ve);break}}function Ji(t={config:{}}){t.interval&&typeof t.interval=="number"&&(Z=t.interval,dn(),cn(),an=1/(Z/1e3)*60),V=!!t.playback,t.config&&(typeof t.config.units.preferredPaths<"u"&&(Y=t.config.units.preferredPaths),t.config.vessels.aisMaxAge&&typeof t.config.vessels.aisMaxAge=="number"&&(U.maxAge=t.config.vessels.aisMaxAge),t.config.vessels.aisStaleAge&&typeof t.config.vessels.aisStaleAge=="number"&&(U.staleAge=t.config.vessels.aisStaleAge),typeof t.config.signalk.maxRadius=="number"&&(y.signalk=t.config.signalk),typeof t.config.selections.aisState<"u"&&Array.isArray(t.config.selections.aisState)&&(y.aisState=t.config.selections.aisState),qr=t.config.vessels)}function on(t=!1){dn(),xe.forEach(e=>e.unsubscribe()),v&&t&&v.close(),v=null,postMessage({action:"close",result:t,playback:V})}function Pe(t){return new Promise((e,r)=>{fetch(`${t}`).then(i=>{i.json().then(n=>e(n)).catch(n=>r(n))}).catch(i=>{r(i)})})}function ln(){let t=y&&y.signalk&&y.signalk.maxRadius?`?radius=${y.signalk.maxRadius}`:"?radius=10000";Pe(Ar+"/tracks"+t).then(e=>{Dr=!0,Object.entries(e).forEach(r=>{if(f.aisTargets.has(r[0])){let i=f.aisTargets.get(r[0]);i.track=r[1].coordinates,Lr(i)}})}).catch(()=>{Dr=!1})}function Do(t){let e=Ar+"/self/track?",r=[],i=5e-4,n=!0;t.trailDuration>24&&(r.push(Pe(`${e}timespan=${t.trailDuration-24}h&resolution=${t.trailResolution.beyond24}×panOffset=24`)),r.push(Pe(`${e}timespan=23h&resolution=${t.trailResolution.next23}×panOffset=1`))),t.trailDuration>1&&t.trailDuration<25&&r.push(Pe(`${e}timespan=${t.trailDuration-1}h&resolution=${t.trailResolution.next23}×panOffset=1`)),r.push(Pe(`${e}timespan=1h&resolution=${t.trailResolution.lastHour}`));let a=[],s=new Ct;s.playback=V,Promise.all(r).then(u=>{let o=0,p=r.length-1,M=60;u.forEach(h=>{if(h.type&&h.type==="MultiLineString"&&h.coordinates&&Array.isArray(h.coordinates))if(o!==p){let g=[];for(h.coordinates.forEach(_=>{g=g.concat(_)}),g=(0,tn.SimplifyAP)(g,i,n);g.length>M;){let _=g.slice(0,M);a.push(_),g=g.slice(M-1),g[0]=[g[0][0]+5e-9,g[0][1]+5e-9]}g.length!==0&&a.push(g)}else a=a.concat(h.coordinates);o++}),s.result=a,postMessage(s)}).catch(()=>{s.result=null,postMessage(s)})}function qo(t){if(v)return;if(!t.url){postMessage({action:"error",result:"Valid options not provided!"});return}let e=t.url.split("/");if(e.pop(),e.push("api"),e[0]=e[0]==="wss:"?"https:":"http:",Ar=e.join("/"),Oo(),v=new Ae,xe.push(v.onConnect.subscribe(r=>Nt({action:"onConnect",msg:r}))),xe.push(v.onClose.subscribe(r=>Nt({action:"onClose",msg:r}))),xe.push(v.onError.subscribe(r=>Nt({action:"onError",msg:r}))),xe.push(v.onMessage.subscribe(r=>Nt({action:"onMessage",msg:r}))),v.authToken=rn,t.playback){let r=t.playbackOptions.startTime?`?startTime=${t.playbackOptions.startTime}`:null,i=t.playbackOptions.playbackRate?`playbackRate=${t.playbackOptions.playbackRate}`:null;i=i?r?"&"+i:"?"+i:null;let n=`${t.url}${r||""}${i||""}`;v.open(n,t.playbackOptions.subscribe,t.token)}else v.open(t.url,t.subscribe,t.token),ln()}function Ao(t){let e=t.type.indexOf("notifications.")===-1?`notifications.${t.type}`:t.type;t.raise?v.raiseAlarm("self",e,new Le(t.message,t.state,!0,!0)):v.clearAlarm("self",e)}function Lo(t){v.isHello(t)?(postMessage({action:"hello",result:t,self:t.self,playback:V}),Z&&cn()):v.isDelta(t)?(wr=!0,t.updates.forEach(e=>{e.values&&(F=e.$source,e.values.forEach(r=>{if(sn=e.timestamp,!!t.context)switch(t.context.split(".")[0]){case"shore":case"atons":y?.signalk.atons&&To(t.context,r),_e(t.context,f.atons,y?.signalk.atons);break;case"sar":y?.signalk.sar&&Co(t.context,r),_e(t.context,f.sar,y?.signalk.sar);break;case"aircraft":y?.signalk.aircraft&&Io(t.context,r),_e(t.context,f.aircraft,y?.signalk.aircraft);break;case"meteo":y?.signalk.meteo&&(No(t.context,r),en(r)),_e(t.context,f.meteo,y?.signalk.meteo);break;case"vessels":if(v.isSelf(t))f.self.id||(f.self.id=t.context),Qi(f.self,r,!0),en(r);else{if(y?.signalk.vessels){let i=Ro(t.context);Qi(i,r)}_e(t.context,f.aisTargets,y?.signalk.vessels,y?.aisState)}break}}))}),fn()):v.isResponse(t)&&postMessage({action:"response",result:t})}function _e(t,e,r=!0,i=[]){if(r){let n=e.get(t);n&&i.includes(n?.state)&&(S.expired[t]=!0,n=null),n&&y.signalk.maxRadius?n.positionReceived&&I.inBounds(n.position,nn)?S.updated[t]=!0:(e.delete(t),S.expired[t]=!0):S.updated[t]=!0}else e.size!==0&&(e.forEach((n,a)=>{S.expired[a]=!0}),e.clear())}function fn(t=!1){if(!Z||t){let e=new ne;e.playback=V,f.aisStatus.updated=Object.keys(S.updated),f.aisStatus.stale=Object.keys(S.stale),f.aisStatus.expired=Object.keys(S.expired),e.result=f,e.timestamp=V?sn:f.self.lastUpdated.toISOString(),postMessage(e),un(),f.self.resourceUpdates=[],ye===0&&(Eo(),f.self.positionReceived&&y?.signalk.maxRadius&&(nn=I.calcMapifiedExtent(f.self.position,y.signalk.maxRadius),ye++)),ye=ye>=an?0:ye+1}}function cn(){Z&&typeof Z=="number"&&It.push(setInterval(()=>{wr&&(fn(!0),wr=!1)},Z)),It.push(setInterval(()=>{Dr&&ln()},6e4))}function dn(){It.forEach(t=>clearInterval(t)),It=[]}function Ro(t){if(!f.aisTargets.has(t)){let e=new le;e.id=t,e.position=null,f.aisTargets.set(t,e)}return f.aisTargets.get(t)}function Qi(t,e,r=!1){if(r){if(t.lastUpdated=new Date,e.path.startsWith("resources."))t.resourceUpdates.push(e),ko(e);else if(e.path.startsWith("navigation.racing"))t.properties[e.path]=e.value;else if(e.path==="performance.beatAngle")t.performance.beatAngle=e.value;else if(e.path==="performance.gybeAngle")t.performance.gybeAngle=e.value;else if(e.path.startsWith("navigation.course."))if(e.path.startsWith("navigation.course.calcValues.")){let a=e.path.split(".").slice(3).join(".");t.courseCalcs[a]=e.value}else e.path.includes("activeRoute")?t.courseApi.activeRoute=e.value:e.path.includes("nextPoint")?t.courseApi.nextPoint=e.value:e.path.includes("previousPoint")?t.courseApi.previousPoint=e.value:e.path.includes("arrivalCircle")&&(t.courseApi.arrivalCircle=e.value);let n=e.path.indexOf("course")!==-1?e.path.split(".").slice(0,2).join("."):e.path;So.indexOf(n)!==-1&&(f.paths[n]=null)}else e.path==="navigation.distanceToSelf"&&(t.distanceToSelf=e.value);if(e.path==="")typeof e.value.name<"u"&&(t.name=e.value.name),typeof e.value.mmsi<"u"&&(t.mmsi=e.value.mmsi,t.lastUpdated=new Date),typeof e.value.registrations<"u"&&(t.registrations=e.value.registrations),typeof e.value.buddy<"u"&&(t.buddy=e.value.buddy),typeof e.value.communication<"u"&&(t.callsignVhf=e.value.communication.callsignVhf??"",t.callsignHf=e.value.communication.callsignHf??"");else if(e.path==="communication.callsignVhf")t.callsignVhf=e.value;else if(e.path==="communication.callsignHf")t.callsignHf=e.value;else if(e.path==="design.aisShipType")t.type=e.value;else if(e.path==="navigation.position"&&e.value){if(typeof e.value.latitude>"u"||typeof e.value.longitude>"u")return;t.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),t.positionReceived=!0,r||Lr(t)}else e.path==="navigation.state"?t.state=e.value:e.path==="navigation.speedOverGround"?t.sog=e.value:e.path==="environment.mode"?t.environment.mode=e.value:e.path==="environment.sun"?t.environment.sun=e.value:e.path==="environment.wind.angleApparent"?t.wind.awa=e.value:e.path==="environment.wind.speedApparent"?t.wind.aws=e.value:e.path==="environment.wind.speedTrue"?t.wind.speedTrue=e.value:e.path==="environment.wind.speedOverGround"?t.wind.sog=e.value:e.path==="environment.wind.directionTrue"?t.wind.twd=e.value:e.path==="environment.wind.directionMagnetic"?t.wind.mwd=e.value:e.path==="navigation.anchor.position"?t.anchor.position=e.value:e.path==="navigation.anchor.maxRadius"?t.anchor.maxRadius=e.value:e.path==="navigation.anchor.currentRadius"?t.anchor.radius=e.value:e.path==="steering.autopilot.state"&&F===ae?t.autopilot.state=e.value:e.path==="steering.autopilot.mode"&&F===ae?t.autopilot.mode=e.value:e.path==="steering.autopilot.target"&&F===ae?t.autopilot.target=e.value:e.path==="steering.autopilot.engaged"&&F===ae?t.autopilot.enabled=e.value:e.path==="steering.autopilot.defaultPilot"?(t.autopilot.default=e.value,ae=e.value):e.path==="steering.autopilot.availableActions"&&F===ae?t.autopilot.availableActions=e.value??[]:e.path==="navigation.courseOverGroundTrue"?t.cogTrue=e.value:e.path==="navigation.courseOverGroundMagnetic"?t.cogMagnetic=e.value:e.path==="navigation.headingTrue"?t.headingTrue=e.value:e.path==="navigation.headingMagnetic"&&(t.headingMagnetic=e.value);typeof Y.heading<"u"&&e.path===Y.heading&&(t.orientation=e.value),typeof Y.tws<"u"&&e.path===Y.tws&&(t.wind.tws=e.value),typeof Y.twd<"u"&&e.path===Y.twd&&(t.wind.direction=e.path==="environment.wind.angleTrueGround"||e.path==="environment.wind.angleTrueWater"?G.angleToDirection(e.value,t.orientation??0):e.value);let i=t.cogTrue??t.cogMagnetic??void 0;if(typeof i<"u"&&t.position){let n=r?qr.cogLine:qr.aisCogLine,a=(t.sog??0)*(n*60);t.vectors.cog=[t.position,I.destCoordinate(t.position,i,a)]}}function ko(t){let e=new Tt;e.playback=V,e.result={path:t.path,value:t.value,sourceRef:F},postMessage(e)}function en(t){if(t.path.includes("notifications.")){let e=new Et;e.playback=V,e.result={path:t.path,value:t.value,sourceRef:F},postMessage(e)}}function Eo(){let t=new Date().valueOf();f.aisTargets.forEach((e,r)=>{e.lastUpdated.valueOf()<t-U.maxAge?(S.expired[r]=!0,f.aisTargets.delete(r)):e.lastUpdated.valueOf()<t-U.staleAge&&(S.stale[r]=!0)}),f.aircraft.forEach((e,r)=>{e.lastUpdated.valueOf()<t-U.maxAge?(S.expired[r]=!0,f.aircraft.delete(r)):e.lastUpdated.valueOf()<t-U.staleAge&&(S.stale[r]=!0)}),f.sar.forEach((e,r)=>{e.lastUpdated.valueOf()<t-U.maxAge?(S.expired[r]=!0,f.sar.delete(r)):e.lastUpdated.valueOf()<t-U.staleAge&&(S.stale[r]=!0)})}function To(t,e){let r=!1;if(t.indexOf("shore.basestations")!==-1&&(r=!0),!f.atons.has(t)){let n=new fe;n.id=t,n.position=null,r&&(n.type.id=-1,n.type.name="Basestation"),f.atons.set(t,n)}let i=f.atons.get(t);return e.path===""?(typeof e.value.name<"u"&&(i.name=e.value.name),typeof e.value.mmsi<"u"&&(i.mmsi=e.value.mmsi),typeof e.value.atonType<"u"&&(i.type=e.value.atonType)):e.path==="atonType"?i.type=e.value:e.path==="virtual"?i.virtual=e.value:e.path==="navigation.position"?(i.position=[e.value.longitude,e.value.latitude],i.positionReceived=!0):i.properties[e.path]=e.value,t}function Co(t,e){if(!f.sar.has(t)){let i=new Re;i.id=t,i.position=null,i.type.id=-1,i.type.name="SaR Beacon",f.sar.set(t,i)}let r=f.sar.get(t);e.path===""?(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"&&(r.mmsi=e.value.mmsi),typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")):e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="navigation.position"&&e.value&&(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0)}function No(t,e){if(!f.meteo.has(t)){let i=new Ee;i.id=t,i.position=null,i.type.id=-1,i.type.name="Weather Station",f.meteo.set(t,i)}let r=f.meteo.get(t);if(e.path===""){if(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"){let i=t.split(":").slice(-2);r.mmsi=i.length===2?`${i[0]}:${i[1]}`:e.value.mmsi}typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")}else e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="environment.outside.temperature"?r.temperature=e.value:e.path==="environment.wind.directionTrue"?r.twd=e.value:e.path==="environment.wind.averageSpeed"?r.tws=e.value:e.path==="navigation.position"&&e.value&&(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0)}function Io(t,e){if(!f.aircraft.has(t)){let i=new ke;i.id=t,i.position=null,f.aircraft.set(t,i)}let r=f.aircraft.get(t);e.path===""?(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"&&(r.mmsi=e.value.mmsi),typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")):e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="navigation.position"&&e.value?(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0,Lr(r)):e.path==="navigation.courseOverGroundTrue"?r.orientation=e.value:e.path==="navigation.speedOverGround"&&(r.sog=e.value)}function Lr(t){if(t.track&&t.track.length===0)t.track.push([t.position]);else{let e=t.track[t.track.length-1].length,r=t.track[t.track.length-1][e-1];r[0]!==t.position[0]&&r[1]!==t.position[1]&&t.track[t.track.length-1].push(t.position)}t.track[t.track.length-1]=t.track[t.track.length-1].slice(0-U.maxTrack)}
|
|
6
|
+
`)}`:"",this.name="UnsubscriptionError",this.errors=e,this}return t.prototype=Object.create(Error.prototype),t})(),oe=Pn;var q=class t{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:r,_ctorUnsubscribe:i,_unsubscribe:n,_subscriptions:a}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,r instanceof t)r.remove(this);else if(r!==null)for(let s=0;s<r.length;++s)r[s].remove(this);if(ue(n)){i&&(this._unsubscribe=void 0);try{n.call(this)}catch(s){e=s instanceof oe?Ur(s.errors):[s]}}if(Ir(a)){let s=-1,u=a.length;for(;++s<u;){let o=a[s];if(Vr(o))try{o.unsubscribe()}catch(p){e=e||[],p instanceof oe?e=e.concat(Ur(p.errors)):e.push(p)}}}if(e)throw new oe(e)}add(e){let r=e;if(!e)return t.EMPTY;switch(typeof e){case"function":r=new t(e);case"object":if(r===this||r.closed||typeof r.unsubscribe!="function")return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof t)){let a=r;r=new t,r._subscriptions=[a]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:i}=r;if(i===null)r._parentOrParents=this;else if(i instanceof t){if(i===this)return r;r._parentOrParents=[i,this]}else if(i.indexOf(this)===-1)i.push(this);else return r;let n=this._subscriptions;return n===null?this._subscriptions=[r]:n.push(r),r}remove(e){let r=this._subscriptions;if(r){let i=r.indexOf(e);i!==-1&&r.splice(i,1)}}};q.EMPTY=(function(t){return t.closed=!0,t})(new q);function Ur(t){return t.reduce((e,r)=>e.concat(r instanceof oe?r.errors:r),[])}var H=typeof Symbol=="function"?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();var E=class t extends q{constructor(e,r,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=J;break;case 1:if(!e){this.destination=J;break}if(typeof e=="object"){e instanceof t?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new we(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new we(this,e,r,i);break}}[H](){return this}static create(e,r,i){let n=new t(e,r,i);return n.syncErrorThrowable=!1,n}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){let{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}},we=class extends E{constructor(e,r,i,n){super(),this._parentSubscriber=e;let a,s=this;ue(r)?a=r:r&&(a=r.next,i=r.error,n=r.complete,r!==J&&(s=Object.create(r),ue(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=a,this._error=i,this._complete=n}next(e){if(!this.isStopped&&this._next){let{_parentSubscriber:r}=this;!w.useDeprecatedSynchronousErrorHandling||!r.syncErrorThrowable?this.__tryOrUnsub(this._next,e):this.__tryOrSetError(r,this._next,e)&&this.unsubscribe()}}error(e){if(!this.isStopped){let{_parentSubscriber:r}=this,{useDeprecatedSynchronousErrorHandling:i}=w;if(this._error)!i||!r.syncErrorThrowable?(this.__tryOrUnsub(this._error,e),this.unsubscribe()):(this.__tryOrSetError(r,this._error,e),this.unsubscribe());else if(r.syncErrorThrowable)i?(r.syncErrorValue=e,r.syncErrorThrown=!0):B(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;B(e)}}}complete(){if(!this.isStopped){let{_parentSubscriber:e}=this;if(this._complete){let r=()=>this._complete.call(this._context);!w.useDeprecatedSynchronousErrorHandling||!e.syncErrorThrowable?(this.__tryOrUnsub(r),this.unsubscribe()):(this.__tryOrSetError(e,r),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,r){try{e.call(this._context,r)}catch(i){if(this.unsubscribe(),w.useDeprecatedSynchronousErrorHandling)throw i;B(i)}}__tryOrSetError(e,r,i){if(!w.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{r.call(this._context,i)}catch(n){return w.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=n,e.syncErrorThrown=!0,!0):(B(n),!0)}return!1}_unsubscribe(){let{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}};function jr(t){for(;t;){let{closed:e,destination:r,isStopped:i}=t;if(e||i)return!1;r&&r instanceof E?t=r:t=null}return!0}function Kr(t,e,r){if(t){if(t instanceof E)return t;if(t[H])return t[H]()}return!t&&!e&&!r?new E(J):new E(t,e,r)}var $r=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Fr(t){return t}function Br(t){return t.length===0?Fr:t.length===1?t[0]:function(r){return t.reduce((i,n)=>n(i),r)}}var W=class t{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){let r=new t;return r.source=this,r.operator=e,r}subscribe(e,r,i){let{operator:n}=this,a=Kr(e,r,i);if(n?a.add(n.call(a,this.source)):a.add(this.source||w.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),w.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(r){w.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=r),jr(e)?e.error(r):console.warn(r)}}forEach(e,r){return r=Hr(r),new r((i,n)=>{let a;a=this.subscribe(s=>{try{e(s)}catch(u){n(u),a&&a.unsubscribe()}},n,i)})}_subscribe(e){let{source:r}=this;return r&&r.subscribe(e)}[$r](){return this}pipe(...e){return e.length===0?this:Br(e)(this)}toPromise(e){return e=Hr(e),new e((r,i)=>{let n;this.subscribe(a=>n=a,a=>i(a),()=>r(n))})}};W.create=t=>new W(t);function Hr(t){if(t||(t=w.Promise||Promise),!t)throw new Error("no Promise impl found");return t}var Mn=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})(),Q=Mn;var De=class extends q{constructor(e,r){super(),this.subject=e,this.subscriber=r,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;let e=this.subject,r=e.observers;if(this.subject=null,!r||r.length===0||e.isStopped||e.closed)return;let i=r.indexOf(this.subscriber);i!==-1&&r.splice(i,1)}};var Ft=class extends E{constructor(e){super(e),this.destination=e}},C=class extends W{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[H](){return new Ft(this)}lift(e){let r=new qe(this,this);return r.operator=e,r}next(e){if(this.closed)throw new Q;if(!this.isStopped){let{observers:r}=this,i=r.length,n=r.slice();for(let a=0;a<i;a++)n[a].next(e)}}error(e){if(this.closed)throw new Q;this.hasError=!0,this.thrownError=e,this.isStopped=!0;let{observers:r}=this,i=r.length,n=r.slice();for(let a=0;a<i;a++)n[a].error(e);this.observers.length=0}complete(){if(this.closed)throw new Q;this.isStopped=!0;let{observers:e}=this,r=e.length,i=e.slice();for(let n=0;n<r;n++)i[n].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(e){if(this.closed)throw new Q;return super._trySubscribe(e)}_subscribe(e){if(this.closed)throw new Q;return this.hasError?(e.error(this.thrownError),q.EMPTY):this.isStopped?(e.complete(),q.EMPTY):(this.observers.push(e),new De(this,e))}asObservable(){let e=new W;return e.source=this,e}};C.create=(t,e)=>new qe(t,e);var qe=class extends C{constructor(e,r){super(),this.destination=e,this.source=r}next(e){let{destination:r}=this;r&&r.next&&r.next(e)}error(e){let{destination:r}=this;r&&r.error&&this.destination.error(e)}complete(){let{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){let{source:r}=this;return r?this.source.subscribe(e):q.EMPTY}};var x=[];for(let t=0;t<256;++t)x.push((t+256).toString(16).slice(1));function Wr(t,e=0){return(x[t[e+0]]+x[t[e+1]]+x[t[e+2]]+x[t[e+3]]+"-"+x[t[e+4]]+x[t[e+5]]+"-"+x[t[e+6]]+x[t[e+7]]+"-"+x[t[e+8]]+x[t[e+9]]+"-"+x[t[e+10]]+x[t[e+11]]+x[t[e+12]]+x[t[e+13]]+x[t[e+14]]+x[t[e+15]]).toLowerCase()}var Bt,Sn=new Uint8Array(16);function Ht(){if(!Bt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Bt=crypto.getRandomValues.bind(crypto)}return Bt(Sn)}var On=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Wt={randomUUID:On};function wn(t,e,r){if(Wt.randomUUID&&!e&&!t)return Wt.randomUUID();t=t||{};let i=t.random??t.rng?.()??Ht();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)e[r+n]=i[n];return e}return Wr(i)}var Gt=wn;var Ae=class{_connect;_close;_error;_message;ws;_filter="";_wsTimeout=2e4;_token="";_playbackMode=!1;onConnect;onClose;onError;onMessage;version=1;endpoint="";selfId="";_source=null;set source(e){this._source||(this._source={}),this._source.label=e}set authToken(e){this._token=e}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(e){this._wsTimeout=e<3e3?3e3:e>6e4?6e4:e}get isOpen(){return!!(this.ws&&this.ws.readyState!=1&&this.ws.readyState!=3)}get filter(){return this._filter}set filter(e){e&&e.indexOf("self")!=-1?this._filter=this.selfId?this.selfId:"":this._filter=e}get playbackMode(){return this._playbackMode}constructor(){this._connect=new C,this.onConnect=this._connect.asObservable(),this._close=new C,this.onClose=this._close.asObservable(),this._error=new C,this.onError=this._error.asObservable(),this._message=new C,this.onMessage=this._message.asObservable()}close(){this.ws&&(this.ws.close(),this.ws=null)}open(e,r,i){if(e=e||this.endpoint,!e)return;let n=e.indexOf("?")==-1?"?":"&";r&&(e+=`${n}subscribe=${r}`),(this._token||i)&&(e+=`${r?"&":"?"}token=${this._token||i}`),this.close(),this.ws=new WebSocket(e),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(e){let r;if(typeof e.data=="string")try{r=JSON.parse(e.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(e){if(typeof e!="object")return"";let r=ee.request();return typeof e.login>"u"&&this._token&&(r.token=this._token),Object.keys(e).forEach(n=>{r[n]=e[n]}),this.send(r),r.requestId}put(e,r,i){let n={context:e=="self"?"vessels.self":e,put:{path:r,value:i}};return this.sendRequest(n)}login(e,r){let i={login:{username:e,password:r}};return this.sendRequest(i)}send(e){this.ws&&(typeof e=="object"&&(e=JSON.stringify(e)),this.ws.send(e))}sendUpdate(e="self",r,i){let n=ee.updates();this._token&&(n.token=this._token),n.context=e=="self"?"vessels.self":e,this._token&&(n.token=this._token);let a=[];typeof r=="string"&&a.push({path:r,value:i}),typeof r=="object"&&Array.isArray(r)&&(a=r);let s={timestamp:new Date().toISOString(),values:a};this._source&&(s.source=this._source),n.updates.push(s),this.send(n)}subscribe(e="*",r="*",i){let n=ee.subscribe();if(this._token&&(n.token=this._token),n.context=e=="self"?"vessels.self":e,this._token&&(n.token=this._token),typeof r=="object"&&Array.isArray(r)&&(n.subscribe=r),typeof r=="string"){let a={};a.path=r,i&&typeof i=="object"&&(i.period&&(a.period=i.period),i.minPeriod&&(a.minPeriod=i.period),i.format&&(i.format=="delta"||i.format=="full")&&(a.format=i.format),i.policy&&(i.policy=="instant"||i.policy=="ideal"||i.policy=="fixed")&&(a.policy=i.policy)),n.subscribe.push(a)}this.send(n)}unsubscribe(e="*",r="*"){let i=ee.unsubscribe();this._token&&(i.token=this._token),i.context=e=="self"?"vessels.self":e,this._token&&(i.token=this._token),typeof r=="object"&&Array.isArray(r)&&(i.unsubscribe=r),typeof r=="string"&&i.unsubscribe.push({path:r}),this.send(i)}raiseAlarm(e="*",r,i){let n;typeof r=="string"?n=r.indexOf("notifications.")==-1?`notifications.${r}`:r:n=r,this.put(e,n,i.value)}clearAlarm(e="*",r){let i=r.indexOf("notifications.")==-1?`notifications.${r}`:r;this.put(e,i,null)}isSelf(e){return e.context==this.selfId}isDelta(e){return typeof e.context<"u"}isHello(e){return typeof e.version<"u"&&typeof e.self<"u"}isResponse(e){return typeof e.requestId<"u"}},ee=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:Gt()}}},Le=class{_state;_method=[];_message="";constructor(e,r,i,n){this._message=typeof e<"u"?e:"",this._state=typeof r<"u"?r:"alarm",i&&this._method.push("visual"),n&&this._method.push("sound")}get value(){return{message:this._message,state:this._state,method:this._method}}};var te=class{id;name;mmsi;position=[0,0];positionReceived=!1;state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},le=class extends te{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;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;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},Re=class extends te{constructor(){super()}},ke=class extends te{sog=0;track=[];constructor(){super()}},fe=class extends te{constructor(){super()}},Ee=class extends fe{twd;tws;temperature;constructor(){super()}};var G=class{static celsiusToKelvin(e=0){return e+273.15}static kelvinToCelsius(e=0){return e-273.15}static kelvinToFarenheit(e=0){return e*(9/5)-459.67}static degreesToRadians(e=0){return e*Math.PI/180}static radiansToDegrees(e=0){return e*180/Math.PI}static angleToDirection(e,r){let i=Math.PI*2;if(r||(r=0),e||(e=0),isNaN(r)||isNaN(e))return null;let n=r+e;return n>i?n-i:n<0?i+n:n}static directionToAngle(e,r){let i=Math.PI*2;if(r||(r=0),e||(e=0),isNaN(r)||isNaN(e))return null;let n=r-e,a;if(n>0)a=n>Math.PI?i-n:0-n;else if(n<0){let s=Math.abs(n);a=s>Math.PI?s-i:s}else a=n;return a}static knotsToKm(e){return e*1.852}static nauticalMilesToKm(e){return e*1.852}static knotsToMSec(e){return e*.51444325460445}static kmToKnots(e){return e*.539957}static kmToNauticalMiles(e){return e*.539957}static kmToMiles(e){return e*.621371}static metersToFeet(e){return e*3.28084}static msecToKnots(e){return e*1.94384}static msecToKmh(e){return e*3.6}static msecToMph(e){return e*2.23694}static nauticalMilesToMiles(e){return e*1.15078}static milesToKm(e){return e*1.60934}static milesToNauticalMiles(e){return e*.868976}static rpmToHertz(e){return e/60}};var D=Nr(Gi()),I=class t{static destCoordinate(e,r,i){let n=(0,D.computeDestinationPoint)(e,i,G.radiansToDegrees(r));return[n.longitude,n.latitude]}static distanceTo(e,r){return(0,D.getDistance)(e,r)}static routeLength(e){return(0,D.getPathLength)(e)}static routeLegs(e,r){if(e.length<2)return[];let i=[];r?i.push({bearing:(0,D.getGreatCircleBearing)(r,e[0]),distance:t.distanceTo(r,e[0])}):i.push({bearing:0,distance:0});for(let n=1;n<e.length;++n){let a={bearing:(0,D.getGreatCircleBearing)(e[n-1],e[n]),distance:t.distanceTo(e[n-1],e[n])};i.push(a)}return i}static centreOfPolygon(e){let r=(0,D.getCenter)(e);return[r.longitude,r.latitude]}static inDLCrossingZone(e,r=170){return Math.abs(e[0])>=r}static inBounds(e,r){return(0,D.isPointInPolygon)(e,[[r[0],r[1]],[r[0],r[3]],[r[2],r[3]],[r[2],r[1]],[r[0],r[1]]])}static calcMapifiedExtent(e,r){let n=111111*Math.cos(G.degreesToRadians(e[1])),a=[0,0,0,0];return a[1]=e[1]+(0-Math.abs(r))/111111,a[3]=e[1]+Math.abs(r)/111111,a[0]=e[0]+(0-Math.abs(r))/n,a[2]=e[0]+Math.abs(r)/n,a}static normaliseCoords(e){if(!Array.isArray(e))return[0,0];if(typeof e[0]=="number"){if(e[0]>180)for(;e[0]>180;)e[0]=e[0]-360;else if(e[0]<-180)for(;e[0]<-180;)e[0]=360+e[0];return e}else if(Array.isArray(e[0]))return e.forEach(r=>r=this.normaliseCoords(r)),e}};var Et=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},ne=class{action;playback=!1;result=null;timestamp;self=null;constructor(){this.action="update"}},Tt=class extends ne{constructor(){super(),this.action="resource"}},Ct=class extends ne{constructor(){super(),this.action="trail"}};var tn=Nr(zi());var So=["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"],f,v,rn,xe=[],It=[],wr=!1,Ar,Dr=!1,y={signalk:{},aisState:[]},nn=[0,0,0,0],an=60,ye=0,S,Y={},Z=500,V=!1,sn,j={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},qr={cogLine:10,aisCogLine:10},ve={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},F,ae="freeboard-sk";function Oo(){f={self:new le,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},f.self.positionReceived=!1,un()}function un(){S={updated:{},stale:{},expired:{}}}function Nt({action:t,msg:e}){switch(t){case"onConnect":postMessage({action:"open",playback:V,result:e.target.readyState});break;case"onClose":on(!1);break;case"onError":postMessage({action:"error",playback:V,result:"Connection error!"});break;case"onMessage":Lo(e);break}}addEventListener("message",({data:t})=>{wo(t)});function wo(t){if(t.cmd)switch(t.cmd){case"open":Ji(t.options),qo(t.options);break;case"close":on(!0);break;case"subscribe":v.subscribe(t.options.context,t.options.path);break;case"settings":Ji(t.options);break;case"alarm":Ao(t.options);break;case"vessel":if(t.options){let e;t.options.context==="self"?e=f.self:e=f.aisTargets.get(t.options.context),e&&t.options.name&&(e.name=t.options.name)}break;case"auth":t.options&&typeof t.options.token<"u"&&(rn=t.options.token);break;case"trail":t.options&&(ve.trailDuration=t.options.trailDuration??24,t.options.trailResolution&&(ve.trailResolution.lastHour=t.options.trailResolution.lastHour??"5s",ve.trailResolution.next23=t.options.trailResolution.next23??"1m",ve.trailResolution.beyond24=t.options.trailResolution.beyond24??"5m")),Do(ve);break}}function Ji(t={config:{}}){t.interval&&typeof t.interval=="number"&&(Z=t.interval,dn(),cn(),an=1/(Z/1e3)*60),V=!!t.playback,t.config&&(typeof t.config.units.preferredPaths<"u"&&(Y=t.config.units.preferredPaths),t.config.vessels.aisMaxAge&&typeof t.config.vessels.aisMaxAge=="number"&&(j.maxAge=t.config.vessels.aisMaxAge),t.config.vessels.aisStaleAge&&typeof t.config.vessels.aisStaleAge=="number"&&(j.staleAge=t.config.vessels.aisStaleAge),typeof t.config.signalk.maxRadius=="number"&&(y.signalk=t.config.signalk),typeof t.config.selections.aisState<"u"&&Array.isArray(t.config.selections.aisState)&&(y.aisState=t.config.selections.aisState),qr=t.config.vessels)}function on(t=!1){dn(),xe.forEach(e=>e.unsubscribe()),v&&t&&v.close(),v=null,postMessage({action:"close",result:t,playback:V})}function Pe(t){return new Promise((e,r)=>{fetch(`${t}`).then(i=>{i.json().then(n=>e(n)).catch(n=>r(n))}).catch(i=>{r(i)})})}function ln(){let t=y&&y.signalk&&y.signalk.maxRadius?`?radius=${y.signalk.maxRadius}`:"?radius=10000";Pe(Ar+"/tracks"+t).then(e=>{Dr=!0,Object.entries(e).forEach(r=>{if(f.aisTargets.has(r[0])){let i=f.aisTargets.get(r[0]);i.track=r[1].coordinates,Lr(i)}})}).catch(()=>{Dr=!1})}function Do(t){let e=Ar+"/self/track?",r=[],i=5e-4,n=!0;t.trailDuration>24&&(r.push(Pe(`${e}timespan=${t.trailDuration-24}h&resolution=${t.trailResolution.beyond24}×panOffset=24`)),r.push(Pe(`${e}timespan=23h&resolution=${t.trailResolution.next23}×panOffset=1`))),t.trailDuration>1&&t.trailDuration<25&&r.push(Pe(`${e}timespan=${t.trailDuration-1}h&resolution=${t.trailResolution.next23}×panOffset=1`)),r.push(Pe(`${e}timespan=1h&resolution=${t.trailResolution.lastHour}`));let a=[],s=new Ct;s.playback=V,Promise.all(r).then(u=>{let o=0,p=r.length-1,M=60;u.forEach(h=>{if(h.type&&h.type==="MultiLineString"&&h.coordinates&&Array.isArray(h.coordinates))if(o!==p){let g=[];for(h.coordinates.forEach(_=>{g=g.concat(_)}),g=(0,tn.SimplifyAP)(g,i,n);g.length>M;){let _=g.slice(0,M);a.push(_),g=g.slice(M-1),g[0]=[g[0][0]+5e-9,g[0][1]+5e-9]}g.length!==0&&a.push(g)}else a=a.concat(h.coordinates);o++}),s.result=a,postMessage(s)}).catch(()=>{s.result=null,postMessage(s)})}function qo(t){if(v)return;if(!t.url){postMessage({action:"error",result:"Valid options not provided!"});return}let e=t.url.split("/");if(e.pop(),e.push("api"),e[0]=e[0]==="wss:"?"https:":"http:",Ar=e.join("/"),Oo(),v=new Ae,xe.push(v.onConnect.subscribe(r=>Nt({action:"onConnect",msg:r}))),xe.push(v.onClose.subscribe(r=>Nt({action:"onClose",msg:r}))),xe.push(v.onError.subscribe(r=>Nt({action:"onError",msg:r}))),xe.push(v.onMessage.subscribe(r=>Nt({action:"onMessage",msg:r}))),v.authToken=rn,t.playback){let r=t.playbackOptions.startTime?`?startTime=${t.playbackOptions.startTime}`:null,i=t.playbackOptions.playbackRate?`playbackRate=${t.playbackOptions.playbackRate}`:null;i=i?r?"&"+i:"?"+i:null;let n=`${t.url}${r||""}${i||""}`;v.open(n,t.playbackOptions.subscribe,t.token)}else v.open(t.url,t.subscribe,t.token),ln()}function Ao(t){let e=t.type.indexOf("notifications.")===-1?`notifications.${t.type}`:t.type;t.raise?v.raiseAlarm("self",e,new Le(t.message,t.state,!0,!0)):v.clearAlarm("self",e)}function Lo(t){v.isHello(t)?(postMessage({action:"hello",result:t,self:t.self,playback:V}),Z&&cn()):v.isDelta(t)?(wr=!0,t.updates.forEach(e=>{e.values&&(F=e.$source,e.values.forEach(r=>{if(sn=e.timestamp,!!t.context)switch(t.context.split(".")[0]){case"shore":case"atons":y?.signalk.atons&&To(t.context,r),_e(t.context,f.atons,y?.signalk.atons);break;case"sar":y?.signalk.sar&&Co(t.context,r),_e(t.context,f.sar,y?.signalk.sar);break;case"aircraft":y?.signalk.aircraft&&Io(t.context,r),_e(t.context,f.aircraft,y?.signalk.aircraft);break;case"meteo":y?.signalk.meteo&&(No(t.context,r),en(r)),_e(t.context,f.meteo,y?.signalk.meteo);break;case"vessels":if(v.isSelf(t))f.self.id||(f.self.id=t.context),Qi(f.self,r,!0),en(r);else{if(y?.signalk.vessels){let i=Ro(t.context);Qi(i,r)}_e(t.context,f.aisTargets,y?.signalk.vessels,y?.aisState)}break}}))}),fn()):v.isResponse(t)&&postMessage({action:"response",result:t})}function _e(t,e,r=!0,i=[]){if(r){let n=e.get(t);n&&i.includes(n?.state)&&(S.expired[t]=!0,n=null),n&&y.signalk.maxRadius?n.positionReceived&&I.inBounds(n.position,nn)?S.updated[t]=!0:(e.delete(t),S.expired[t]=!0):S.updated[t]=!0}else e.size!==0&&(e.forEach((n,a)=>{S.expired[a]=!0}),e.clear())}function fn(t=!1){if(!Z||t){let e=new ne;e.playback=V,f.aisStatus.updated=Object.keys(S.updated),f.aisStatus.stale=Object.keys(S.stale),f.aisStatus.expired=Object.keys(S.expired),e.result=f,e.timestamp=V?sn:f.self.lastUpdated.toISOString(),postMessage(e),un(),f.self.resourceUpdates=[],Eo(),ye===0&&f.self.positionReceived&&y?.signalk.maxRadius&&(nn=I.calcMapifiedExtent(f.self.position,y.signalk.maxRadius),ye++),ye=ye>=an?0:ye+1}}function cn(){Z&&typeof Z=="number"&&It.push(setInterval(()=>{wr&&(fn(!0),wr=!1)},Z)),It.push(setInterval(()=>{Dr&&ln()},6e4))}function dn(){It.forEach(t=>clearInterval(t)),It=[]}function Ro(t){if(!f.aisTargets.has(t)){let e=new le;e.id=t,e.position=null,f.aisTargets.set(t,e)}return f.aisTargets.get(t)}function Qi(t,e,r=!1){if(r){if(t.lastUpdated=new Date,e.path.startsWith("resources."))t.resourceUpdates.push(e),ko(e);else if(e.path.startsWith("navigation.racing"))t.properties[e.path]=e.value;else if(e.path==="performance.beatAngle")t.performance.beatAngle=e.value;else if(e.path==="performance.gybeAngle")t.performance.gybeAngle=e.value;else if(e.path.startsWith("navigation.course."))if(e.path.startsWith("navigation.course.calcValues.")){let a=e.path.split(".").slice(3).join(".");t.courseCalcs[a]=e.value}else e.path.includes("activeRoute")?t.courseApi.activeRoute=e.value:e.path.includes("nextPoint")?t.courseApi.nextPoint=e.value:e.path.includes("previousPoint")?t.courseApi.previousPoint=e.value:e.path.includes("arrivalCircle")&&(t.courseApi.arrivalCircle=e.value);let n=e.path.indexOf("course")!==-1?e.path.split(".").slice(0,2).join("."):e.path;So.indexOf(n)!==-1&&(f.paths[n]=null)}else e.path==="navigation.distanceToSelf"&&(t.distanceToSelf=e.value);if(e.path==="")typeof e.value.name<"u"&&(t.name=e.value.name),typeof e.value.mmsi<"u"&&(t.mmsi=e.value.mmsi,t.lastUpdated=new Date),typeof e.value.registrations<"u"&&(t.registrations=e.value.registrations),typeof e.value.buddy<"u"&&(t.buddy=e.value.buddy),typeof e.value.communication<"u"&&(t.callsignVhf=e.value.communication.callsignVhf??"",t.callsignHf=e.value.communication.callsignHf??"");else if(e.path==="communication.callsignVhf")t.callsignVhf=e.value;else if(e.path==="communication.callsignHf")t.callsignHf=e.value;else if(e.path==="design.aisShipType")t.type=e.value;else if(e.path==="navigation.position"&&e.value){if(typeof e.value.latitude>"u"||typeof e.value.longitude>"u")return;t.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),t.positionReceived=!0,t.lastUpdated=new Date,r||Lr(t)}else e.path==="navigation.state"?t.state=e.value:e.path==="navigation.speedOverGround"?t.sog=e.value:e.path==="environment.mode"?t.environment.mode=e.value:e.path==="environment.sun"?t.environment.sun=e.value:e.path==="environment.wind.angleApparent"?t.wind.awa=e.value:e.path==="environment.wind.speedApparent"?t.wind.aws=e.value:e.path==="environment.wind.speedTrue"?t.wind.speedTrue=e.value:e.path==="environment.wind.speedOverGround"?t.wind.sog=e.value:e.path==="environment.wind.directionTrue"?t.wind.twd=e.value:e.path==="environment.wind.directionMagnetic"?t.wind.mwd=e.value:e.path==="navigation.anchor.position"?t.anchor.position=e.value:e.path==="navigation.anchor.maxRadius"?t.anchor.maxRadius=e.value:e.path==="navigation.anchor.currentRadius"?t.anchor.radius=e.value:e.path==="steering.autopilot.state"&&F===ae?t.autopilot.state=e.value:e.path==="steering.autopilot.mode"&&F===ae?t.autopilot.mode=e.value:e.path==="steering.autopilot.target"&&F===ae?t.autopilot.target=e.value:e.path==="steering.autopilot.engaged"&&F===ae?t.autopilot.enabled=e.value:e.path==="steering.autopilot.defaultPilot"?(t.autopilot.default=e.value,ae=e.value):e.path==="steering.autopilot.availableActions"&&F===ae?t.autopilot.availableActions=e.value??[]:e.path==="navigation.courseOverGroundTrue"?t.cogTrue=e.value:e.path==="navigation.courseOverGroundMagnetic"?t.cogMagnetic=e.value:e.path==="navigation.headingTrue"?t.headingTrue=e.value:e.path==="navigation.headingMagnetic"&&(t.headingMagnetic=e.value);typeof Y.heading<"u"&&e.path===Y.heading&&(t.orientation=e.value),typeof Y.tws<"u"&&e.path===Y.tws&&(t.wind.tws=e.value),typeof Y.twd<"u"&&e.path===Y.twd&&(t.wind.direction=e.path==="environment.wind.angleTrueGround"||e.path==="environment.wind.angleTrueWater"?G.angleToDirection(e.value,t.orientation??0):e.value);let i=t.cogTrue??t.cogMagnetic??void 0;if(typeof i<"u"&&t.position){let n=r?qr.cogLine:qr.aisCogLine,a=(t.sog??0)*(n*60);t.vectors.cog=[t.position,I.destCoordinate(t.position,i,a)]}}function ko(t){let e=new Tt;e.playback=V,e.result={path:t.path,value:t.value,sourceRef:F},postMessage(e)}function en(t){if(t.path.includes("notifications.")){let e=new Et;e.playback=V,e.result={path:t.path,value:t.value,sourceRef:F},postMessage(e)}}function Eo(){let t=new Date().valueOf();f.aisTargets.forEach((e,r)=>{e.lastUpdated.valueOf()<t-j.maxAge?(S.expired[r]=!0,f.aisTargets.delete(r)):e.lastUpdated.valueOf()<t-j.staleAge&&(S.stale[r]=!0)}),f.aircraft.forEach((e,r)=>{e.lastUpdated.valueOf()<t-j.maxAge?(S.expired[r]=!0,f.aircraft.delete(r)):e.lastUpdated.valueOf()<t-j.staleAge&&(S.stale[r]=!0)}),f.sar.forEach((e,r)=>{e.lastUpdated.valueOf()<t-j.maxAge?(S.expired[r]=!0,f.sar.delete(r)):e.lastUpdated.valueOf()<t-j.staleAge&&(S.stale[r]=!0)})}function To(t,e){let r=!1;if(t.indexOf("shore.basestations")!==-1&&(r=!0),!f.atons.has(t)){let n=new fe;n.id=t,n.position=null,r&&(n.type.id=-1,n.type.name="Basestation"),f.atons.set(t,n)}let i=f.atons.get(t);return e.path===""?(typeof e.value.name<"u"&&(i.name=e.value.name),typeof e.value.mmsi<"u"&&(i.mmsi=e.value.mmsi),typeof e.value.atonType<"u"&&(i.type=e.value.atonType)):e.path==="atonType"?i.type=e.value:e.path==="virtual"?i.virtual=e.value:e.path==="navigation.position"?(i.position=[e.value.longitude,e.value.latitude],i.positionReceived=!0):i.properties[e.path]=e.value,t}function Co(t,e){if(!f.sar.has(t)){let i=new Re;i.id=t,i.position=null,i.type.id=-1,i.type.name="SaR Beacon",f.sar.set(t,i)}let r=f.sar.get(t);e.path===""?(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"&&(r.mmsi=e.value.mmsi),typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")):e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="navigation.position"&&e.value&&(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0)}function No(t,e){if(!f.meteo.has(t)){let i=new Ee;i.id=t,i.position=null,i.type.id=-1,i.type.name="Weather Station",f.meteo.set(t,i)}let r=f.meteo.get(t);if(e.path===""){if(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"){let i=t.split(":").slice(-2);r.mmsi=i.length===2?`${i[0]}:${i[1]}`:e.value.mmsi}typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")}else e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="environment.outside.temperature"?r.temperature=e.value:e.path==="environment.wind.directionTrue"?r.twd=e.value:e.path==="environment.wind.averageSpeed"?r.tws=e.value:e.path==="navigation.position"&&e.value&&(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0)}function Io(t,e){if(!f.aircraft.has(t)){let i=new ke;i.id=t,i.position=null,f.aircraft.set(t,i)}let r=f.aircraft.get(t);e.path===""?(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"&&(r.mmsi=e.value.mmsi),typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")):e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="navigation.position"&&e.value?(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0,Lr(r)):e.path==="navigation.courseOverGroundTrue"?r.orientation=e.value:e.path==="navigation.speedOverGround"&&(r.sog=e.value)}function Lr(t){if(t.track&&t.track.length===0)t.track.push([t.position]);else{let e=t.track[t.track.length-1].length,r=t.track[t.track.length-1][e-1];r[0]!==t.position[0]&&r[1]!==t.position[1]&&t.track[t.track.length-1].push(t.position)}t.track[t.track.length-1]=t.track[t.track.length-1].slice(0-j.maxTrack)}
|