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