@signalk/freeboard-sk
Version:
Openlayers chart plotter implementation for Signal K
5 lines • 63.1 kB
JavaScript
var An=Object.create;var jr=Object.defineProperty;var Dn=Object.getOwnPropertyDescriptor;var Ln=Object.getOwnPropertyNames;var kn=Object.getPrototypeOf,qn=Object.prototype.hasOwnProperty;var l=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Rn=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ln(e))!qn.call(t,n)&&n!==r&&jr(t,n,{get:()=>e[n],enumerable:!(i=Dn(e,n))||i.enumerable});return t};var Br=(t,e,r)=>(r=t!=null?An(kn(t)):{},Rn(e||!t||!t.__esModule?jr(r,"default",{value:t,enumerable:!0}):r,t));var M=l(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.areaConversion=g.timeConversion=g.distanceConversion=g.altitudeKeys=g.latitudeKeys=g.longitudeKeys=g.MAXLON=g.MINLON=g.MAXLAT=g.MINLAT=g.earthRadius=g.sexagesimalPattern=void 0;var Wn=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;g.sexagesimalPattern=Wn;var $n=6378137;g.earthRadius=$n;var jn=-90;g.MINLAT=jn;var Bn=90;g.MAXLAT=Bn;var Hn=-180;g.MINLON=Hn;var Gn=180;g.MAXLON=Gn;var zn=["lng","lon","longitude",0];g.longitudeKeys=zn;var Xn=["lat","latitude",1];g.latitudeKeys=Xn;var Yn=["alt","altitude","elevation","elev",2];g.altitudeKeys=Yn;var Zn={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};g.distanceConversion=Zn;var Jn={m:60,h:3600,d:86400};g.timeConversion=Jn;var C={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};g.areaConversion=C;C.sqm=C.m2;C.sqkm=C.km2;C.sqft=C.ft2;C.sqyd=C.yd2;C.sqin=C.in2});var de=l(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.default=void 0;var Qn=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)},ea=Qn;Ie.default=ea});var pe=l(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.default=void 0;var ta=function(e){var r=e.toString().trim();return isNaN(parseFloat(r))?!1:parseFloat(r)===Number(r)},ra=ta;Ve.default=ra});var me=l(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.default=void 0;var ia=M(),na=function(e){return ia.sexagesimalPattern.test(e.toString().trim())},aa=na;Fe.default=aa});var ge=l(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.default=void 0;var oa=M(),sa=function(e){var r=new RegExp(oa.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},ua=sa;Ue.default=ua});var We=l(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.default=void 0;var tr=M(),rr=la(de());function la(t){return t&&t.__esModule?t:{default:t}}function ni(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 fa(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?ni(Object(r),!0).forEach(function(i){ca(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ni(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function ca(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var da=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{longitude:tr.longitudeKeys,latitude:tr.latitudeKeys,altitude:tr.altitudeKeys},i=(0,rr.default)(e,r.longitude),n=(0,rr.default)(e,r.latitude),a=(0,rr.default)(e,r.altitude);return fa({latitude:n,longitude:i},a?{altitude:a}:{})},pa=da;Ke.default=pa});var nr=l($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.default=void 0;var ma=ir(pe()),ga=ir(me()),ha=ir(ge()),ai=M();function ir(t){return t&&t.__esModule?t:{default:t}}var va=function t(e){return(0,ma.default)(e)?!(parseFloat(e)>ai.MAXLAT||e<ai.MINLAT):(0,ga.default)(e)?t((0,ha.default)(e)):!1},ya=va;$e.default=ya});var or=l(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.default=void 0;var ba=ar(pe()),_a=ar(me()),xa=ar(ge()),oi=M();function ar(t){return t&&t.__esModule?t:{default:t}}var Pa=function t(e){return(0,ba.default)(e)?!(parseFloat(e)>oi.MAXLON||e<oi.MINLON):(0,_a.default)(e)?t((0,xa.default)(e)):!1},Ma=Pa;je.default=Ma});var ur=l(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.default=void 0;var Sa=sr(We()),si=sr(nr()),ui=sr(or());function sr(t){return t&&t.__esModule?t:{default:t}}var Oa=function(e){var r=(0,Sa.default)(e),i=r.latitude,n=r.longitude;if(Array.isArray(e)&&e.length>=2)return(0,ui.default)(e[0])&&(0,si.default)(e[1]);if(typeof i>"u"||typeof n>"u")return!1;var a=e[n],o=e[i];return!(typeof o>"u"||typeof a>"u"||(0,si.default)(o)===!1||(0,ui.default)(a)===!1)},wa=Oa;Be.default=wa});var Ge=l(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.default=void 0;var Aa=he(pe()),Da=he(me()),La=he(ge()),li=he(ur()),ka=he(We());function he(t){return t&&t.__esModule?t:{default:t}}function fi(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 lr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?fi(Object(r),!0).forEach(function(i){fr(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):fi(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function fr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var qa=function t(e){if((0,Aa.default)(e))return Number(e);if((0,Da.default)(e))return(0,La.default)(e);if((0,li.default)(e)){var r=(0,ka.default)(e);return Array.isArray(e)?e.map(function(i,n){return[0,1].includes(n)?t(i):i}):lr(lr(lr({},e),r.latitude&&fr({},r.latitude,t(e[r.latitude]))),r.longitude&&fr({},r.longitude,t(e[r.longitude])))}return Array.isArray(e)?e.map(function(i){return(0,li.default)(i)?t(i):i}):e},Ra=qa;He.default=Ra});var L=l(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.default=void 0;var Ta=M(),Ca=ci(de()),Ea=ci(Ge());function ci(t){return t&&t.__esModule?t:{default:t}}var Na=function(e,r){var i=(0,Ca.default)(e,Ta.latitudeKeys);if(!(typeof i>"u"||i===null)){var n=e[i];return r===!0?n:(0,Ea.default)(n)}},Ia=Na;ze.default=Ia});var k=l(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.default=void 0;var Va=M(),Fa=di(de()),Ua=di(Ge());function di(t){return t&&t.__esModule?t:{default:t}}var Ka=function(e,r){var i=(0,Fa.default)(e,Va.longitudeKeys);if(!(typeof i>"u"||i===null)){var n=e[i];return r===!0?n:(0,Ua.default)(n)}},Wa=Ka;Xe.default=Wa});var I=l(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.default=void 0;var $a=function(e){return e*Math.PI/180},ja=$a;Ye.default=ja});var z=l(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.default=void 0;var Ba=function(e){return e*180/Math.PI},Ha=Ba;Ze.default=Ha});var mi=l(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.default=void 0;var Ga=Je(L()),za=Je(k()),cr=Je(I()),dr=Je(z()),pi=M();function Je(t){return t&&t.__esModule?t:{default:t}}var Xa=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:6371e3,a=(0,Ga.default)(e),o=(0,za.default)(e),s=r/n,u=(0,cr.default)(i),m=(0,cr.default)(a),S=(0,cr.default)(o),v=Math.asin(Math.sin(m)*Math.cos(s)+Math.cos(m)*Math.sin(s)*Math.cos(u)),p=S+Math.atan2(Math.sin(u)*Math.sin(s)*Math.cos(m),Math.cos(s)-Math.sin(m)*Math.sin(v)),x=(0,dr.default)(p);return(x<pi.MINLON||x>pi.MAXLON)&&(p=(p+3*Math.PI)%(2*Math.PI)-Math.PI,x=(0,dr.default)(p)),{latitude:(0,dr.default)(v),longitude:x}},Ya=Xa;Qe.default=Ya});var gi=l(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var Za=M(),Ja=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",i=Za.areaConversion[r];if(i)return e*i;throw new Error("Invalid unit used for area conversion.")},Qa=Ja;et.default=Qa});var hi=l(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=void 0;var eo=M(),to=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",i=eo.distanceConversion[r];if(i)return e*i;throw new Error("Invalid unit used for distance conversion.")},ro=to;tt.default=ro});var vi=l(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.default=void 0;var rt=M(),io=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"kmh";switch(r){case"kmh":return e*rt.timeConversion.h*rt.distanceConversion.km;case"mph":return e*rt.timeConversion.h*rt.distanceConversion.mi;default:return e}},no=io;it.default=no});var _i=l(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=void 0;function yi(t,e){return uo(t)||so(t,e)||oo(t,e)||ao()}function ao(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oo(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 so(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var o=t[Symbol.iterator](),s;!(i=(s=o.next()).done)&&(r.push(s.value),!(e&&r.length===e));i=!0);}catch(u){n=!0,a=u}finally{try{!i&&o.return!=null&&o.return()}finally{if(n)throw a}}return r}}function uo(t){if(Array.isArray(t))return t}var lo=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},fo=function(e){var r=e.toString().split("."),i=yi(r,2),n=i[0],a=i[1],o=Math.abs(Number(n)),s=+("0."+(a||0))*60,u=s.toString().split("."),m=Math.floor(s),S=lo(+("0."+(u[1]||0))*60).toString(),v=S.split("."),p=yi(v,2),x=p[0],w=p[1],y=w===void 0?"0":w;return o+"\xB0 "+m.toString().padStart(2,"0")+"' "+x.padStart(2,"0")+"."+y.padEnd(1,"0")+'"'},co=fo;nt.default=co});var pr=l(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var po=function(e){return e>1?1:e<-1?-1:e},mo=po;at.default=mo});var $=l(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var xi=ot(L()),Pi=ot(k()),ie=ot(I()),go=ot(pr()),ho=M();function ot(t){return t&&t.__esModule?t:{default:t}}var vo=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,xi.default)(e),a=(0,Pi.default)(e),o=(0,xi.default)(r),s=(0,Pi.default)(r),u=Math.acos((0,go.default)(Math.sin((0,ie.default)(o))*Math.sin((0,ie.default)(n))+Math.cos((0,ie.default)(o))*Math.cos((0,ie.default)(n))*Math.cos((0,ie.default)(a)-(0,ie.default)(s))))*ho.earthRadius;return Math.round(u/i)*i},yo=vo;st.default=yo});var mr=l(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=void 0;var Mi=bo($());function bo(t){return t&&t.__esModule?t:{default:t}}var _o=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Mi.default;return i=typeof i=="function"?i:Mi.default,r.slice().sort(function(n,a){return i(e,n)-i(e,a)})},xo=_o;ut.default=xo});var Si=l(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.default=void 0;var Po=Mo(mr());function Mo(t){return t&&t.__esModule?t:{default:t}}var So=function(e,r){return(0,Po.default)(e,r)[0]},Oo=So;lt.default=Oo});var Ai=l(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.default=void 0;var gr=hr(I()),wo=hr(L()),Oi=hr(k()),wi=M();function hr(t){return t&&t.__esModule?t:{default:t}}var Ao=function(e){var r=0;if(e.length>2){for(var i,n,a,o=0;o<e.length;o++){o===e.length-2?(i=e.length-2,n=e.length-1,a=0):o===e.length-1?(i=e.length-1,n=0,a=1):(i=o,n=o+1,a=o+2);var s=(0,Oi.default)(e[i]),u=(0,wo.default)(e[n]),m=(0,Oi.default)(e[a]);r+=((0,gr.default)(m)-(0,gr.default)(s))*Math.sin((0,gr.default)(u))}r=r*wi.earthRadius*wi.earthRadius/2}return Math.abs(r)},Do=Ao;ft.default=Do});var vr=l(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var Lo=Di(L()),ko=Di(k());function Di(t){return t&&t.__esModule?t:{default:t}}var qo=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,Lo.default)(i),a=(0,ko.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})},Ro=qo;ct.default=Ro});var Li=l(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.default=void 0;var To=pt(L()),Co=pt(k()),ne=pt(I()),dt=pt(z()),ve=M();function pt(t){return t&&t.__esModule?t:{default:t}}var Eo=function(e,r){var i=(0,To.default)(e),n=(0,Co.default)(e),a=(0,ne.default)(i),o=(0,ne.default)(n),s=r/ve.earthRadius,u=a-s,m=a+s,S=(0,ne.default)(ve.MAXLAT),v=(0,ne.default)(ve.MINLAT),p=(0,ne.default)(ve.MAXLON),x=(0,ne.default)(ve.MINLON),w,y;if(u>v&&m<S){var R=Math.asin(Math.sin(s)/Math.cos(a));w=o-R,w<x&&(w+=Math.PI*2),y=o+R,y>p&&(y-=Math.PI*2)}else u=Math.max(u,v),m=Math.min(m,S),w=x,y=p;return[{latitude:(0,dt.default)(u),longitude:(0,dt.default)(w)},{latitude:(0,dt.default)(m),longitude:(0,dt.default)(y)}]},No=Eo;mt.default=No});var Ri=l(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.default=void 0;var Io=gt(L()),Vo=gt(k()),ki=gt(I()),qi=gt(z());function gt(t){return t&&t.__esModule?t:{default:t}}var Fo=function(e){if(Array.isArray(e)===!1||e.length===0)return!1;var r=e.length,i=e.reduce(function(s,u){var m=(0,ki.default)((0,Io.default)(u)),S=(0,ki.default)((0,Vo.default)(u));return{X:s.X+Math.cos(m)*Math.cos(S),Y:s.Y+Math.cos(m)*Math.sin(S),Z:s.Z+Math.sin(m)}},{X:0,Y:0,Z:0}),n=i.X/r,a=i.Y/r,o=i.Z/r;return{longitude:(0,qi.default)(Math.atan2(a,n)),latitude:(0,qi.default)(Math.atan2(o,Math.sqrt(n*n+a*a)))}},Uo=Fo;ht.default=Uo});var Ti=l(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=void 0;var Ko=Wo(vr());function Wo(t){return t&&t.__esModule?t:{default:t}}var $o=function(e){var r=(0,Ko.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))}},jo=$o;vt.default=jo});var yr=l(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.default=void 0;var Ci=bt(L()),Ei=bt(k()),yt=bt(I()),Bo=bt(z());function bt(t){return t&&t.__esModule?t:{default:t}}var Ho=function(e,r){var i=(0,yt.default)((0,Ei.default)(r))-(0,yt.default)((0,Ei.default)(e)),n=Math.log(Math.tan((0,yt.default)((0,Ci.default)(r))/2+Math.PI/4)/Math.tan((0,yt.default)((0,Ci.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,Bo.default)(Math.atan2(i,n))+360)%360},Go=Ho;_t.default=Go});var Ii=l(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var Ni=zo(yr());function zo(t){return t&&t.__esModule?t:{default:t}}var Xo=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ni.default,n=typeof i=="function"?i(e,r):(0,Ni.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"}},Yo=Xo;xt.default=Yo});var _r=l(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.default=void 0;var br=Fi($()),Vi=Fi(pr());function Fi(t){return t&&t.__esModule?t:{default:t}}var Zo=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,a=(0,br.default)(r,e,n),o=(0,br.default)(e,i,n),s=(0,br.default)(r,i,n),u=Math.acos((0,Vi.default)((a*a+s*s-o*o)/(2*a*s))),m=Math.acos((0,Vi.default)((o*o+s*s-a*a)/(2*o*s)));return u>Math.PI/2?a:m>Math.PI/2?o:Math.sin(u)*a},Jo=Zo;Pt.default=Jo});var Wi=l(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=void 0;var Ui=Mt(L()),Ki=Mt(k()),U=Mt(I()),Qo=Mt(z());function Mt(t){return t&&t.__esModule?t:{default:t}}var es=function(e,r){var i=(0,Ui.default)(r),n=(0,Ki.default)(r),a=(0,Ui.default)(e),o=(0,Ki.default)(e),s=((0,Qo.default)(Math.atan2(Math.sin((0,U.default)(n)-(0,U.default)(o))*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)(o))))+360)%360;return s},ts=es;St.default=ts});var $i=l(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var rs=is($());function is(t){return t&&t.__esModule?t:{default:t}}function Ot(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ot=function(r){return typeof r}:Ot=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ot(t)}var ns=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rs.default;return e.reduce(function(i,n){return Ot(i)==="object"&&i.last!==null&&(i.distance+=r(n,i.last)),i.last=n,i},{last:null,distance:0}).distance},as=ns;wt.default=as});var Gi=l(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var ji=Pr(L()),Bi=Pr(k()),xr=Pr(I()),Hi=M();function Pr(t){return t&&t.__esModule?t:{default:t}}var os=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,ji.default)(e),a=(0,Bi.default)(e),o=(0,ji.default)(r),s=(0,Bi.default)(r),u=6356752314245e-6,m=1/298.257223563,S=(0,xr.default)(s-a),v,p,x,w,y,R,Ur=Math.atan((1-m)*Math.tan((0,xr.default)(parseFloat(n)))),Kr=Math.atan((1-m)*Math.tan((0,xr.default)(parseFloat(o)))),Se=Math.sin(Ur),Oe=Math.cos(Ur),we=Math.sin(Kr),Z=Math.cos(Kr),se=S,Wr,$r=100;do{var Kt=Math.sin(se),Wt=Math.cos(se);if(R=Math.sqrt(Z*Kt*(Z*Kt)+(Oe*we-Se*Z*Wt)*(Oe*we-Se*Z*Wt)),R===0)return 0;v=Se*we+Oe*Z*Wt,p=Math.atan2(R,v),x=Oe*Z*Kt/R,w=1-x*x,y=v-2*Se*we/w,isNaN(y)&&(y=0);var $t=m/16*w*(4+m*(4-3*w));Wr=se,se=S+(1-$t)*m*x*(p+$t*R*(y+$t*v*(-1+2*y*y)))}while(Math.abs(se-Wr)>1e-12&&--$r>0);if($r===0)return NaN;var W=w*(Hi.earthRadius*Hi.earthRadius-u*u)/(u*u),Sn=1+W/16384*(4096+W*(-768+W*(320-175*W))),jt=W/1024*(256+W*(-128+W*(74-47*W))),On=jt*R*(y+jt/4*(v*(-1+2*y*y)-jt/6*y*(-3+4*R*R)*(-3+4*y*y))),wn=u*Sn*(p-On);return Math.round(wn/i)*i},ss=os;At.default=ss});var zi=l(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var us=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"},ls=us;Dt.default=ls});var Xi=l(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=void 0;var fs=cs($());function cs(t){return t&&t.__esModule?t:{default:t}}var ds=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fs.default,n=i(e,r),a=Number(r.time)-Number(e.time),o=n/a*1e3;return o},ps=ds;Lt.default=ps});var Yi=l(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=void 0;var Mr=ms($());function ms(t){return t&&t.__esModule?t:{default:t}}var gs=function(e,r,i){return(0,Mr.default)(r,e)+(0,Mr.default)(e,i)===(0,Mr.default)(r,i)},hs=gs;kt.default=hs});var Ji=l(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=void 0;var qt=Zi(L()),q=Zi(k());function Zi(t){return t&&t.__esModule?t:{default:t}}var vs=function(e,r){for(var i=!1,n=r.length,a=-1,o=n-1;++a<n;o=a)((0,q.default)(r[a])<=(0,q.default)(e)&&(0,q.default)(e)<(0,q.default)(r[o])||(0,q.default)(r[o])<=(0,q.default)(e)&&(0,q.default)(e)<(0,q.default)(r[a]))&&(0,qt.default)(e)<((0,qt.default)(r[o])-(0,qt.default)(r[a]))*((0,q.default)(e)-(0,q.default)(r[a]))/((0,q.default)(r[o])-(0,q.default)(r[a]))+(0,qt.default)(r[a])&&(i=!i);return i},ys=vs;Rt.default=ys});var Qi=l(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.default=void 0;var bs=_s(_r());function _s(t){return t&&t.__esModule?t:{default:t}}var xs=function(e,r,i,n){return(0,bs.default)(e,r,i)<n},Ps=xs;Tt.default=Ps});var en=l(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.default=void 0;var Ms=Ss($());function Ss(t){return t&&t.__esModule?t:{default:t}}var Os=function(e,r,i){var n=.01;return(0,Ms.default)(e,r,n)<i},ws=Os;Ct.default=ws});var rn=l(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.default=void 0;function As(t,e){return qs(t)||ks(t,e)||Ls(t,e)||Ds()}function Ds(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ls(t,e){if(t){if(typeof t=="string")return tn(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 tn(t,e)}}function tn(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 ks(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var o=t[Symbol.iterator](),s;!(i=(s=o.next()).done)&&(r.push(s.value),!(e&&r.length===e));i=!0);}catch(u){n=!0,a=u}finally{try{!i&&o.return!=null&&o.return()}finally{if(n)throw a}}return r}}function qs(t){if(Array.isArray(t))return t}var Rs=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(" "),o=As(a,2),s=o[0],u=o[1];return{longitude:parseFloat(s),latitude:parseFloat(u)}});return i},Ts=Rs;Et.default=Ts});var an=l(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var Cs={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 Es.default}});Object.defineProperty(c,"convertArea",{enumerable:!0,get:function(){return Ns.default}});Object.defineProperty(c,"convertDistance",{enumerable:!0,get:function(){return Is.default}});Object.defineProperty(c,"convertSpeed",{enumerable:!0,get:function(){return Vs.default}});Object.defineProperty(c,"decimalToSexagesimal",{enumerable:!0,get:function(){return Fs.default}});Object.defineProperty(c,"findNearest",{enumerable:!0,get:function(){return Us.default}});Object.defineProperty(c,"getAreaOfPolygon",{enumerable:!0,get:function(){return Ks.default}});Object.defineProperty(c,"getBounds",{enumerable:!0,get:function(){return Ws.default}});Object.defineProperty(c,"getBoundsOfDistance",{enumerable:!0,get:function(){return $s.default}});Object.defineProperty(c,"getCenter",{enumerable:!0,get:function(){return js.default}});Object.defineProperty(c,"getCenterOfBounds",{enumerable:!0,get:function(){return Bs.default}});Object.defineProperty(c,"getCompassDirection",{enumerable:!0,get:function(){return Hs.default}});Object.defineProperty(c,"getCoordinateKey",{enumerable:!0,get:function(){return Gs.default}});Object.defineProperty(c,"getCoordinateKeys",{enumerable:!0,get:function(){return zs.default}});Object.defineProperty(c,"getDistance",{enumerable:!0,get:function(){return Xs.default}});Object.defineProperty(c,"getDistanceFromLine",{enumerable:!0,get:function(){return Ys.default}});Object.defineProperty(c,"getGreatCircleBearing",{enumerable:!0,get:function(){return Zs.default}});Object.defineProperty(c,"getLatitude",{enumerable:!0,get:function(){return Js.default}});Object.defineProperty(c,"getLongitude",{enumerable:!0,get:function(){return Qs.default}});Object.defineProperty(c,"getPathLength",{enumerable:!0,get:function(){return eu.default}});Object.defineProperty(c,"getPreciseDistance",{enumerable:!0,get:function(){return tu.default}});Object.defineProperty(c,"getRhumbLineBearing",{enumerable:!0,get:function(){return ru.default}});Object.defineProperty(c,"getRoughCompassDirection",{enumerable:!0,get:function(){return iu.default}});Object.defineProperty(c,"getSpeed",{enumerable:!0,get:function(){return nu.default}});Object.defineProperty(c,"isDecimal",{enumerable:!0,get:function(){return au.default}});Object.defineProperty(c,"isPointInLine",{enumerable:!0,get:function(){return ou.default}});Object.defineProperty(c,"isPointInPolygon",{enumerable:!0,get:function(){return su.default}});Object.defineProperty(c,"isPointNearLine",{enumerable:!0,get:function(){return uu.default}});Object.defineProperty(c,"isPointWithinRadius",{enumerable:!0,get:function(){return lu.default}});Object.defineProperty(c,"isSexagesimal",{enumerable:!0,get:function(){return fu.default}});Object.defineProperty(c,"isValidCoordinate",{enumerable:!0,get:function(){return cu.default}});Object.defineProperty(c,"isValidLatitude",{enumerable:!0,get:function(){return du.default}});Object.defineProperty(c,"isValidLongitude",{enumerable:!0,get:function(){return pu.default}});Object.defineProperty(c,"orderByDistance",{enumerable:!0,get:function(){return mu.default}});Object.defineProperty(c,"sexagesimalToDecimal",{enumerable:!0,get:function(){return gu.default}});Object.defineProperty(c,"toDecimal",{enumerable:!0,get:function(){return hu.default}});Object.defineProperty(c,"toRad",{enumerable:!0,get:function(){return vu.default}});Object.defineProperty(c,"toDeg",{enumerable:!0,get:function(){return yu.default}});Object.defineProperty(c,"wktToPolygon",{enumerable:!0,get:function(){return bu.default}});var Es=d(mi()),Ns=d(gi()),Is=d(hi()),Vs=d(vi()),Fs=d(_i()),Us=d(Si()),Ks=d(Ai()),Ws=d(vr()),$s=d(Li()),js=d(Ri()),Bs=d(Ti()),Hs=d(Ii()),Gs=d(de()),zs=d(We()),Xs=d($()),Ys=d(_r()),Zs=d(Wi()),Js=d(L()),Qs=d(k()),eu=d($i()),tu=d(Gi()),ru=d(yr()),iu=d(zi()),nu=d(Xi()),au=d(pe()),ou=d(Yi()),su=d(Ji()),uu=d(Qi()),lu=d(en()),fu=d(me()),cu=d(ur()),du=d(nr()),pu=d(or()),mu=d(mr()),gu=d(ge()),hu=d(Ge()),vu=d(I()),yu=d(z()),bu=d(rn()),nn=M();Object.keys(nn).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(Cs,t)||Object.defineProperty(c,t,{enumerable:!0,get:function(){return nn[t]}})});function d(t){return t&&t.__esModule?t:{default:t}}});var on=l(Ar=>{"use strict";Ar.__esModule=!0;function Or(t,e){return t*t+e*e}function _u(t,e){return Or(t[0]-e[0],t[1]-e[1])}function xu(t,e,r){var i=e[0],n=e[1],a=r[0]-i,o=r[1]-n;if(a!==0||o!==0){var s=((t[0]-i)*a+(t[1]-n)*o)/Or(a,o);s>1?(i=r[0],n=r[1]):s>0&&(i+=a*s,n+=o*s)}return Or(t[0]-i,t[1]-n)}function Pu(t,e){for(var r=t[0],i,n=[r],a=1,o=t.length;a<o;a++)i=t[a],_u(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function wr(t,e,r,i,n){for(var a=i,o,s=e+1;s<r;s++){var u=xu(t[s],t[e],t[r]);u>a&&(o=s,a=u)}a>i&&(o-e>1&&wr(t,e,o,i,n),n.push(t[o]),r-o>1&&wr(t,o,r,i,n))}function Mu(t,e){var r=t.length-1,i=[t[0]];return wr(t,0,r,e,i),i.push(t[r]),i}function Su(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:Pu(t,i),t=Mu(t,i),t}Ar.SimplifyAP=Su});var sn=l(kr=>{"use strict";kr.__esModule=!0;function Dr(t,e){return t*t+e*e}function Ou(t,e){return Dr(t.longitude-e.longitude,t.latitude-e.latitude)}function wu(t,e,r){var i=e.longitude,n=e.latitude,a=r.longitude-i,o=r.latitude-n;if(a!==0||o!==0){var s=((t.longitude-i)*a+(t.latitude-n)*o)/Dr(a,o);s>1?(i=r.longitude,n=r.latitude):s>0&&(i+=a*s,n+=o*s)}return Dr(t.longitude-i,t.latitude-n)}function Au(t,e){for(var r=t[0],i,n=[r],a=1,o=t.length;a<o;a++)i=t[a],Ou(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Lr(t,e,r,i,n){for(var a=i,o,s=e+1;s<r;s++){var u=wu(t[s],t[e],t[r]);u>a&&(o=s,a=u)}a>i&&(o-e>1&&Lr(t,e,o,i,n),n.push(t[o]),r-o>1&&Lr(t,o,r,i,n))}function Du(t,e){var r=t.length-1,i=[t[0]];return Lr(t,0,r,e,i),i.push(t[r]),i}function Lu(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:Au(t,i),t=Du(t,i),t}kr.SimplifyLL=Lu});var un=l(Tr=>{"use strict";Tr.__esModule=!0;function qr(t,e){return t*t+e*e}function ku(t,e){return qr(t.x-e.x,t.y-e.y)}function qu(t,e,r){var i=e.x,n=e.y,a=r.x-i,o=r.y-n;if(a!==0||o!==0){var s=((t.x-i)*a+(t.y-n)*o)/qr(a,o);s>1?(i=r.x,n=r.y):s>0&&(i+=a*s,n+=o*s)}return qr(t.x-i,t.y-n)}function Ru(t,e){for(var r=t[0],i,n=[r],a=1,o=t.length;a<o;a++)i=t[a],ku(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Rr(t,e,r,i,n){for(var a=i,o,s=e+1;s<r;s++){var u=qu(t[s],t[e],t[r]);u>a&&(o=s,a=u)}a>i&&(o-e>1&&Rr(t,e,o,i,n),n.push(t[o]),r-o>1&&Rr(t,o,r,i,n))}function Tu(t,e){var r=t.length-1,i=[t[0]];return Rr(t,0,r,e,i),i.push(t[r]),i}function Cu(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:Ru(t,i),t=Tu(t,i),t}Tr.Simplify=Cu});var ln=l(ye=>{"use strict";ye.__esModule=!0;var Eu=on();ye.SimplifyAP=Eu.SimplifyAP;var Nu=sn();ye.SimplifyLL=Nu.SimplifyLL;var Iu=un();ye.Simplify=Iu.Simplify});function D(t){return typeof t=="function"}function Ae(t){let r=t(i=>{Error.call(i),i.stack=new Error().stack});return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var De=Ae(t=>function(r){t(this),this.message=r?`${r.length} errors occurred during unsubscription:
${r.map((i,n)=>`${n+1}) ${i.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=r});function ue(t,e){if(t){let r=t.indexOf(e);0<=r&&t.splice(r,1)}}var E=class t{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;let{_parentage:r}=this;if(r)if(this._parentage=null,Array.isArray(r))for(let a of r)a.remove(this);else r.remove(this);let{initialTeardown:i}=this;if(D(i))try{i()}catch(a){e=a instanceof De?a.errors:[a]}let{_finalizers:n}=this;if(n){this._finalizers=null;for(let a of n)try{Hr(a)}catch(o){e=e??[],o instanceof De?e=[...e,...o.errors]:e.push(o)}}if(e)throw new De(e)}}add(e){var r;if(e&&e!==this)if(this.closed)Hr(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(e)}}_hasParent(e){let{_parentage:r}=this;return r===e||Array.isArray(r)&&r.includes(e)}_addParent(e){let{_parentage:r}=this;this._parentage=Array.isArray(r)?(r.push(e),r):r?[r,e]:e}_removeParent(e){let{_parentage:r}=this;r===e?this._parentage=null:Array.isArray(r)&&ue(r,e)}remove(e){let{_finalizers:r}=this;r&&ue(r,e),e instanceof t&&e._removeParent(this)}};E.EMPTY=(()=>{let t=new E;return t.closed=!0,t})();var Bt=E.EMPTY;function Le(t){return t instanceof E||t&&"closed"in t&&D(t.remove)&&D(t.add)&&D(t.unsubscribe)}function Hr(t){D(t)?t():t.unsubscribe()}var T={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var J={setTimeout(t,e,...r){let{delegate:i}=J;return i?.setTimeout?i.setTimeout(t,e,...r):setTimeout(t,e,...r)},clearTimeout(t){let{delegate:e}=J;return(e?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Gr(t){J.setTimeout(()=>{let{onUnhandledError:e}=T;if(e)e(t);else throw t})}function Ht(){}var zr=Gt("C",void 0,void 0);function Xr(t){return Gt("E",void 0,t)}function Yr(t){return Gt("N",t,void 0)}function Gt(t,e,r){return{kind:t,value:e,error:r}}var B=null;function Q(t){if(T.useDeprecatedSynchronousErrorHandling){let e=!B;if(e&&(B={errorThrown:!1,error:null}),t(),e){let{errorThrown:r,error:i}=B;if(B=null,r)throw i}}else t()}function Zr(t){T.useDeprecatedSynchronousErrorHandling&&B&&(B.errorThrown=!0,B.error=t)}var le=class extends E{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,Le(e)&&e.add(this)):this.destination=En}static create(e,r,i){return new ee(e,r,i)}next(e){this.isStopped?Xt(Yr(e),this):this._next(e)}error(e){this.isStopped?Xt(Xr(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?Xt(zr,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},Tn=Function.prototype.bind;function zt(t,e){return Tn.call(t,e)}var Yt=class{constructor(e){this.partialObserver=e}next(e){let{partialObserver:r}=this;if(r.next)try{r.next(e)}catch(i){ke(i)}}error(e){let{partialObserver:r}=this;if(r.error)try{r.error(e)}catch(i){ke(i)}else ke(e)}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(r){ke(r)}}},ee=class extends le{constructor(e,r,i){super();let n;if(D(e)||!e)n={next:e??void 0,error:r??void 0,complete:i??void 0};else{let a;this&&T.useDeprecatedNextContext?(a=Object.create(e),a.unsubscribe=()=>this.unsubscribe(),n={next:e.next&&zt(e.next,a),error:e.error&&zt(e.error,a),complete:e.complete&&zt(e.complete,a)}):n=e}this.destination=new Yt(n)}};function ke(t){T.useDeprecatedSynchronousErrorHandling?Zr(t):Gr(t)}function Cn(t){throw t}function Xt(t,e){let{onStoppedNotification:r}=T;r&&J.setTimeout(()=>r(t,e))}var En={closed:!0,next:Ht,error:Cn,complete:Ht};var Jr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Qr(t){return t}function ei(t){return t.length===0?Qr:t.length===1?t[0]:function(r){return t.reduce((i,n)=>n(i),r)}}var H=class t{constructor(e){e&&(this._subscribe=e)}lift(e){let r=new t;return r.source=this,r.operator=e,r}subscribe(e,r,i){let n=In(e)?e:new ee(e,r,i);return Q(()=>{let{operator:a,source:o}=this;n.add(a?a.call(n,o):o?this._subscribe(n):this._trySubscribe(n))}),n}_trySubscribe(e){try{return this._subscribe(e)}catch(r){e.error(r)}}forEach(e,r){return r=ti(r),new r((i,n)=>{let a=new ee({next:o=>{try{e(o)}catch(s){n(s),a.unsubscribe()}},error:n,complete:i});this.subscribe(a)})}_subscribe(e){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(e)}[Jr](){return this}pipe(...e){return ei(e)(this)}toPromise(e){return e=ti(e),new e((r,i)=>{let n;this.subscribe(a=>n=a,a=>i(a),()=>r(n))})}};H.create=t=>new H(t);function ti(t){var e;return(e=t??T.Promise)!==null&&e!==void 0?e:Promise}function Nn(t){return t&&D(t.next)&&D(t.error)&&D(t.complete)}function In(t){return t&&t instanceof le||Nn(t)&&Le(t)}var ri=Ae(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var N=class extends H{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let r=new qe(this,this);return r.operator=e,r}_throwIfClosed(){if(this.closed)throw new ri}next(e){Q(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(e)}})}error(e){Q(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:r}=this;for(;r.length;)r.shift().error(e)}})}complete(){Q(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return((e=this.observers)===null||e===void 0?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){let{hasError:r,isStopped:i,observers:n}=this;return r||i?Bt:(this.currentObservers=null,n.push(e),new E(()=>{this.currentObservers=null,ue(n,e)}))}_checkFinalizedStatuses(e){let{hasError:r,thrownError:i,isStopped:n}=this;r?e.error(i):n&&e.complete()}asObservable(){let e=new H;return e.source=this,e}};N.create=(t,e)=>new qe(t,e);var qe=class extends N{constructor(e,r){super(),this.destination=e,this.source=r}next(e){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,e)}error(e){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,e)}complete(){var e,r;(r=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||r===void 0||r.call(e)}_subscribe(e){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(e))!==null&&i!==void 0?i:Bt}};var P=[];for(let t=0;t<256;++t)P.push((t+256).toString(16).slice(1));function ii(t,e=0){return(P[t[e+0]]+P[t[e+1]]+P[t[e+2]]+P[t[e+3]]+"-"+P[t[e+4]]+P[t[e+5]]+"-"+P[t[e+6]]+P[t[e+7]]+"-"+P[t[e+8]]+P[t[e+9]]+"-"+P[t[e+10]]+P[t[e+11]]+P[t[e+12]]+P[t[e+13]]+P[t[e+14]]+P[t[e+15]]).toLowerCase()}var Zt,Vn=new Uint8Array(16);function Jt(){if(!Zt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Zt=crypto.getRandomValues.bind(crypto)}return Zt(Vn)}var Fn=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Qt={randomUUID:Fn};function Un(t,e,r){if(Qt.randomUUID&&!e&&!t)return Qt.randomUUID();t=t||{};let i=t.random??t.rng?.()??Jt();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 ii(i)}var er=Un;var Re=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 N,this.onConnect=this._connect.asObservable(),this._close=new N,this.onClose=this._close.asObservable(),this._error=new N,this.onError=this._error.asObservable(),this._message=new N,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=te.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=te.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 o={timestamp:new Date().toISOString(),values:a};this._source&&(o.source=this._source),n.updates.push(o),this.send(n)}subscribe(e="*",r="*",i){let n=te.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=te.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"}},te=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:er()}}},Te=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 re=class{id;name;mmsi;position=[0,0];positionReceived=!1;positionTimestamp="";state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},fe=class extends re{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;closestApproach={distance:null,timeTo:null};cog;cogTrue=null;cogMagnetic=null;courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};courseCalcs={};distanceToSelf;environment={mode:null,sun:null};heading;headingTrue=null;headingMagnetic=null;performance={beatAngle:null,gybeAngle:null};racing;registrations={};resourceUpdates=[];sog;track=[];vectors={cog:[]};wind={direction:null,mwd:null,twd:null,tws:null,speedTrue:null,sog:null,awa:null,aws:null};design={airHeight:null,beam:null,draft:{current:null,maximum:null},length:null};destination={name:null,eta:null};flag;port},Ce=class extends re{constructor(){super()}},Ee=class extends re{sog=0;track=[];constructor(){super()}},ce=class extends re{constructor(){super()}},Ne=class extends ce{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 o=Math.abs(n);a=o>Math.PI?o-i:o}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 A=Br(an()),V=class t{static destCoordinate(e,r,i){let n=(0,A.computeDestinationPoint)(e,i,G.radiansToDegrees(r));return[n.longitude,n.latitude]}static distanceTo(e,r){return(0,A.getDistance)(e,r)}static routeLength(e){return(0,A.getPathLength)(e)}static routeLegs(e,r){if(e.length<2)return[];let i=[];r?i.push({bearing:(0,A.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,A.getGreatCircleBearing)(e[n-1],e[n]),distance:t.distanceTo(e[n-1],e[n])};i.push(a)}return i}static closestForwardPoint(e,r,i){if(e.length<2||!r)return-1;let n={index:-1,distance:-1};for(let a=0;a<e.length;++a){let o=(0,A.getGreatCircleBearing)(r,e[a]),s=Sr.difference(i,o);if(s>-90&&s<90){let u=t.distanceTo(r,e[a]);(n.distance===-1||u<n.distance)&&(n.distance=u,n.index=a)}}return n.index}static centreOfPolygon(e){let r=(0,A.getCenter)(e);return[r.longitude,r.latitude]}static inDLCrossingZone(e,r=170){return Math.abs(e[0])>=r}static inBounds(e,r){return(0,A.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}},Sr=class t{static difference(e,r){let i=360-r,n=e+i,a=t.normalise(n);return a<180?0-a:360-a}static add(e,r){return t.normalise(e+r)}static normalise(e){return e<0?e+360:e>=360?e-360:e}};var Nt=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},ae=class{action;playback=!1;result=null;timestamp;self=null;watchDogAlarm;constructor(){this.action="update"}},It=class extends ae{constructor(){super(),this.action="resource"}},Vt=class extends ae{constructor(){super(),this.action="trail"}};var pn=Br(ln());var Vu=["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"],h={active:!1,maxMsgIntervals:18,intervalCount:0,msgCount:0,alarm:!1},f,_,mn,Pe=[],Ut=[],Cr=!1,Vr,Er=!1,b={signalk:{},aisState:[]},gn=[0,0,0,0],hn=60,be=0,O,X={},Y=500,F=!1,vn,K={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},Nr={cogLine:10,aisCogLine:10},_e={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},j,yn,oe="freeboard-sk";function Fu(){f={self:new fe,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},f.self.positionReceived=!1,bn()}function bn(){O={updated:{},stale:{},expired:{}}}function Ft({action:t,msg:e}){switch(t){case"onConnect":postMessage({action:"open",playback:F,result:e.target.readyState}),h.msgCount=0,h.intervalCount=0,h.alarm=!1,h.active=!0;break;case"onClose":_n(!1),h.active=!1;break;case"onError":postMessage({action:"error",playback:F,result:"Connection error!"}),h.msgCount=0,h.intervalCount=0,h.active=!1;break;case"onMessage":h.msgCount++,ju(e);break}}addEventListener("message",({data:t})=>{Uu(t)});function Uu(t){if(t.cmd)switch(t.cmd){case"open":fn(t.options),Wu(t.options);break;case"close":_n(!0);break;case"subscribe":_.subscribe(t.options.context,t.options.path);break;case"settings":fn(t.options);break;case"alarm":$u(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"&&(mn=t.options.token);break;case"trail":t.options&&(_e.trailDuration=t.options.trailDuration??24,t.options.trailResolution&&(_e.trailResolution.lastHour=t.options.trailResolution.lastHour??"5s",_e.trailResolution.next23=t.options.trailResolution.next23??"1m",_e.trailResolution.beyond24=t.options.trailResolution.beyond24??"5m")),Ku(_e);break}}function fn(t={config: