@signalk/freeboard-sk 3.1.0 → 3.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import{d as ro}from"./chunk-Y5XX3LUA.js";import{$ as Ii,A as ci,Aa as Zi,B as pi,Ba as Qi,D as di,E as ui,Ea as Yi,Fa as Ji,G as mi,Ga as eo,H as _i,Ha as to,I as fi,Ia as no,J as hi,Ja as io,K as gi,Ka as oo,L as Ci,P as vi,Q as bi,R as wi,S as xi,T as yi,U as Ei,V as Ti,W as Si,X as Ai,Y as ki,Z as Mi,_ as Pi,a as Un,aa as Di,b as Xn,ba as Ri,c as Kn,d as Zn,e as Qn,f as ei,fa as Li,g as ti,ga as Oi,ha as Vi,la as Fi,m as ni,ma as Ni,n as Pt,na as $i,o as It,oa as Bi,pa as qi,qa as Ui,r as ii,ra as zi,sa as ji,ta as Gi,u as oi,ua as Hi,va as j,w as ri,wa as Wi,x as ai,xa as Xi,y as si,z as li,za as Ki}from"./chunk-4WQJ5OCH.js";import{a as Jn}from"./chunk-NDDO5DKA.js";import{a as jn,g as Gn,i as Hn,k as Wn,n as Dt,q as Rt,u as Lt}from"./chunk-PSRS6NXJ.js";import"./chunk-WXOWBQXR.js";import"./chunk-SOVFTS2B.js";import{a as Yn}from"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import"./chunk-7Z4ZZM32.js";import{$a as St,$b as En,A as wt,Aa as Z,Ac as we,Ba as Q,Bc as Dn,Cd as Bn,Da as ke,Ea as f,Fa as h,Fc as Mt,Fd as qn,G as xt,Ha as Ue,Hc as Rn,I as ee,Ia as G,Ja as H,Jb as be,Ka as x,L as mn,La as a,M as Ve,Ma as s,N as yt,Na as v,Oa as Cn,P as C,Pa as vn,Pb as ce,Pc as Ln,Q as u,Qa as ze,R as m,Rd as Ze,Tc as On,U as Et,Ua as y,Ub as yn,V as Fe,Va as Ce,Vd as zn,Wa as _,Wb as je,Wd as Qe,X as Ne,Xa as bn,Y as te,Ya as l,Yb as Ge,Yd as xe,Z as U,Za as ue,Zd as ye,_ as oe,_a as Y,aa as $e,ab as J,bb as N,c as ae,ca as se,cb as $,cd as Vn,da as _n,dc as Tn,ec as Sn,ed as Fn,ga as fn,gb as Me,ha as le,hb as ne,ia as hn,ib as B,ic as An,ja as c,jb as At,jc as kn,jd as Xe,ka as Tt,kb as wn,kc as pe,kd as Nn,l as bt,lb as p,lc as He,mb as z,na as Be,nb as me,nd as $n,oa as ge,pc as Mn,ra as R,rc as kt,rd as _e,s as pn,sa as qe,t as Se,ta as gn,tc as Pn,va as Ae,vd as Ke,wb as ve,xa as K,xb as xn,xc as We,y as dn,z as un,zb as re,zc as In}from"./chunk-JH5KSRZ6.js";import{a as Oe,b as cn,c as k,e as pa,f as O}from"./chunk-6H3I7D5M.js";var Ee=k((Eu,mo)=>{"use strict";var Sa="2.0.0",Aa=Number.MAX_SAFE_INTEGER||9007199254740991,ka=16,Ma=250,Pa=["major","premajor","minor","preminor","patch","prepatch","prerelease"];mo.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:ka,MAX_SAFE_BUILD_LENGTH:Ma,MAX_SAFE_INTEGER:Aa,RELEASE_TYPES:Pa,SEMVER_SPEC_VERSION:Sa,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Pe=k((Tu,_o)=>{"use strict";var Ia=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...i)=>console.error("SEMVER",...i):()=>{};_o.exports=Ia});var Te=k((ie,fo)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:$t,MAX_SAFE_BUILD_LENGTH:Da,MAX_LENGTH:Ra}=Ee(),La=Pe();ie=fo.exports={};var Oa=ie.re=[],Va=ie.safeRe=[],b=ie.src=[],Fa=ie.safeSrc=[],w=ie.t={},Na=0,Bt="[a-zA-Z0-9-]",$a=[["\\s",1],["\\d",Ra],[Bt,Da]],Ba=i=>{for(let[t,e]of $a)i=i.split(`${t}*`).join(`${t}{0,${e}}`).split(`${t}+`).join(`${t}{1,${e}}`);return i},M=(i,t,e)=>{let n=Ba(t),o=Na++;La(i,o,t),w[i]=o,b[o]=t,Fa[o]=n,Oa[o]=new RegExp(t,e?"g":void 0),Va[o]=new RegExp(n,e?"g":void 0)};M("NUMERICIDENTIFIER","0|[1-9]\\d*");M("NUMERICIDENTIFIERLOOSE","\\d+");M("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Bt}*`);M("MAINVERSION",`(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})`);M("MAINVERSIONLOOSE",`(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})`);M("PRERELEASEIDENTIFIER",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIER]})`);M("PRERELEASEIDENTIFIERLOOSE",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIERLOOSE]})`);M("PRERELEASE",`(?:-(${b[w.PRERELEASEIDENTIFIER]}(?:\\.${b[w.PRERELEASEIDENTIFIER]})*))`);M("PRERELEASELOOSE",`(?:-?(${b[w.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${b[w.PRERELEASEIDENTIFIERLOOSE]})*))`);M("BUILDIDENTIFIER",`${Bt}+`);M("BUILD",`(?:\\+(${b[w.BUILDIDENTIFIER]}(?:\\.${b[w.BUILDIDENTIFIER]})*))`);M("FULLPLAIN",`v?${b[w.MAINVERSION]}${b[w.PRERELEASE]}?${b[w.BUILD]}?`);M("FULL",`^${b[w.FULLPLAIN]}$`);M("LOOSEPLAIN",`[v=\\s]*${b[w.MAINVERSIONLOOSE]}${b[w.PRERELEASELOOSE]}?${b[w.BUILD]}?`);M("LOOSE",`^${b[w.LOOSEPLAIN]}$`);M("GTLT","((?:<|>)?=?)");M("XRANGEIDENTIFIERLOOSE",`${b[w.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);M("XRANGEIDENTIFIER",`${b[w.NUMERICIDENTIFIER]}|x|X|\\*`);M("XRANGEPLAIN",`[v=\\s]*(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:${b[w.PRERELEASE]})?${b[w.BUILD]}?)?)?`);M("XRANGEPLAINLOOSE",`[v=\\s]*(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:${b[w.PRERELEASELOOSE]})?${b[w.BUILD]}?)?)?`);M("XRANGE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAIN]}$`);M("XRANGELOOSE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAINLOOSE]}$`);M("COERCEPLAIN",`(^|[^\\d])(\\d{1,${$t}})(?:\\.(\\d{1,${$t}}))?(?:\\.(\\d{1,${$t}}))?`);M("COERCE",`${b[w.COERCEPLAIN]}(?:$|[^\\d])`);M("COERCEFULL",b[w.COERCEPLAIN]+`(?:${b[w.PRERELEASE]})?(?:${b[w.BUILD]})?(?:$|[^\\d])`);M("COERCERTL",b[w.COERCE],!0);M("COERCERTLFULL",b[w.COERCEFULL],!0);M("LONETILDE","(?:~>?)");M("TILDETRIM",`(\\s*)${b[w.LONETILDE]}\\s+`,!0);ie.tildeTrimReplace="$1~";M("TILDE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAIN]}$`);M("TILDELOOSE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAINLOOSE]}$`);M("LONECARET","(?:\\^)");M("CARETTRIM",`(\\s*)${b[w.LONECARET]}\\s+`,!0);ie.caretTrimReplace="$1^";M("CARET",`^${b[w.LONECARET]}${b[w.XRANGEPLAIN]}$`);M("CARETLOOSE",`^${b[w.LONECARET]}${b[w.XRANGEPLAINLOOSE]}$`);M("COMPARATORLOOSE",`^${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]})$|^$`);M("COMPARATOR",`^${b[w.GTLT]}\\s*(${b[w.FULLPLAIN]})$|^$`);M("COMPARATORTRIM",`(\\s*)${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]}|${b[w.XRANGEPLAIN]})`,!0);ie.comparatorTrimReplace="$1$2$3";M("HYPHENRANGE",`^\\s*(${b[w.XRANGEPLAIN]})\\s+-\\s+(${b[w.XRANGEPLAIN]})\\s*$`);M("HYPHENRANGELOOSE",`^\\s*(${b[w.XRANGEPLAINLOOSE]})\\s+-\\s+(${b[w.XRANGEPLAINLOOSE]})\\s*$`);M("STAR","(<|>)?=?\\s*\\*");M("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");M("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var tt=k((Su,ho)=>{"use strict";var qa=Object.freeze({loose:!0}),Ua=Object.freeze({}),za=i=>i?typeof i!="object"?qa:i:Ua;ho.exports=za});var qt=k((Au,vo)=>{"use strict";var go=/^[0-9]+$/,Co=(i,t)=>{if(typeof i=="number"&&typeof t=="number")return i===t?0:i<t?-1:1;let e=go.test(i),n=go.test(t);return e&&n&&(i=+i,t=+t),i===t?0:e&&!n?-1:n&&!e?1:i<t?-1:1},ja=(i,t)=>Co(t,i);vo.exports={compareIdentifiers:Co,rcompareIdentifiers:ja}});var V=k((ku,wo)=>{"use strict";var nt=Pe(),{MAX_LENGTH:bo,MAX_SAFE_INTEGER:it}=Ee(),{safeRe:ot,t:rt}=Te(),Ga=tt(),{compareIdentifiers:Ut}=qt(),Ha=(i,t)=>{let e=t.split(".");if(e.length>i.length)return!1;for(let n=0;n<e.length;n++)if(Ut(i[n],e[n])!==0)return!1;return!0},zt=class i{constructor(t,e){if(e=Ga(e),t instanceof i){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>bo)throw new TypeError(`version is longer than ${bo} characters`);nt("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;let n=t.trim().match(e.loose?ot[rt.LOOSE]:ot[rt.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>it||this.major<0)throw new TypeError("Invalid major version");if(this.minor>it||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>it||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let r=+o;if(r>=0&&r<it)return r}return o}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(nt("SemVer.compare",this.version,this.options,t),!(t instanceof i)){if(typeof t=="string"&&t===this.version)return 0;t=new i(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof i||(t=new i(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof i||(t=new i(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{let n=this.prerelease[e],o=t.prerelease[e];if(nt("prerelease compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Ut(n,o)}while(++e)}compareBuild(t){t instanceof i||(t=new i(t,this.options));let e=0;do{let n=this.build[e],o=t.build[e];if(nt("build compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Ut(n,o)}while(++e)}inc(t,e,n){if(t.startsWith("pre")){if(!e&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(e){let o=`-${e}`.match(this.options.loose?ot[rt.PRERELEASELOOSE]:ot[rt.PRERELEASE]);if(!o||o[1]!==e)throw new Error(`invalid identifier: ${e}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,n),this.inc("pre",e,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e,n),this.inc("pre",e,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);if(r===-1){if(e===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(e){let r=[e,o];if(n===!1&&(r=[e]),Ha(this.prerelease,e)){let d=this.prerelease[e.split(".").length];isNaN(d)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};wo.exports=zt});var de=k((Mu,yo)=>{"use strict";var xo=V(),Wa=(i,t,e=!1)=>{if(i instanceof xo)return i;try{return new xo(i,t)}catch(n){if(!e)return null;throw n}};yo.exports=Wa});var To=k((Pu,Eo)=>{"use strict";var Xa=de(),Ka=(i,t)=>{let e=Xa(i,t);return e?e.version:null};Eo.exports=Ka});var Ao=k((Iu,So)=>{"use strict";var Za=de(),Qa=(i,t)=>{let e=Za(i.trim().replace(/^[=v]+/,""),t);return e?e.version:null};So.exports=Qa});var Po=k((Du,Mo)=>{"use strict";var ko=V(),Ya=(i,t,e,n,o)=>{typeof e=="string"&&(o=n,n=e,e=void 0);try{return new ko(i instanceof ko?i.version:i,e).inc(t,n,o).version}catch(r){return null}};Mo.exports=Ya});var Ro=k((Ru,Do)=>{"use strict";var Io=de(),Ja=(i,t)=>{let e=Io(i,null,!0),n=Io(t,null,!0),o=e.compare(n);if(o===0)return null;let r=o>0,d=r?e:n,g=r?n:e,E=!!d.prerelease.length;if(!!g.prerelease.length&&!E){if(!g.patch&&!g.minor)return"major";if(g.compareMain(d)===0)return g.minor&&!g.patch?"minor":"patch"}let P=E?"pre":"";return e.major!==n.major?P+"major":e.minor!==n.minor?P+"minor":e.patch!==n.patch?P+"patch":"prerelease"};Do.exports=Ja});var Oo=k((Lu,Lo)=>{"use strict";var es=V(),ts=(i,t)=>new es(i,t).major;Lo.exports=ts});var Fo=k((Ou,Vo)=>{"use strict";var ns=V(),is=(i,t)=>new ns(i,t).minor;Vo.exports=is});var $o=k((Vu,No)=>{"use strict";var os=V(),rs=(i,t)=>new os(i,t).patch;No.exports=rs});var qo=k((Fu,Bo)=>{"use strict";var as=de(),ss=(i,t)=>{let e=as(i,t);return e&&e.prerelease.length?e.prerelease:null};Bo.exports=ss});var W=k((Nu,zo)=>{"use strict";var Uo=V(),ls=(i,t,e)=>new Uo(i,e).compare(new Uo(t,e));zo.exports=ls});var Go=k(($u,jo)=>{"use strict";var cs=W(),ps=(i,t,e)=>cs(t,i,e);jo.exports=ps});var Wo=k((Bu,Ho)=>{"use strict";var ds=W(),us=(i,t)=>ds(i,t,!0);Ho.exports=us});var at=k((qu,Ko)=>{"use strict";var Xo=V(),ms=(i,t,e)=>{let n=new Xo(i,e),o=new Xo(t,e);return n.compare(o)||n.compareBuild(o)};Ko.exports=ms});var Qo=k((Uu,Zo)=>{"use strict";var _s=at(),fs=(i,t)=>i.sort((e,n)=>_s(e,n,t));Zo.exports=fs});var Jo=k((zu,Yo)=>{"use strict";var hs=at(),gs=(i,t)=>i.sort((e,n)=>hs(n,e,t));Yo.exports=gs});var Ie=k((ju,er)=>{"use strict";var Cs=W(),vs=(i,t,e)=>Cs(i,t,e)>0;er.exports=vs});var st=k((Gu,tr)=>{"use strict";var bs=W(),ws=(i,t,e)=>bs(i,t,e)<0;tr.exports=ws});var jt=k((Hu,nr)=>{"use strict";var xs=W(),ys=(i,t,e)=>xs(i,t,e)===0;nr.exports=ys});var Gt=k((Wu,ir)=>{"use strict";var Es=W(),Ts=(i,t,e)=>Es(i,t,e)!==0;ir.exports=Ts});var lt=k((Xu,or)=>{"use strict";var Ss=W(),As=(i,t,e)=>Ss(i,t,e)>=0;or.exports=As});var ct=k((Ku,rr)=>{"use strict";var ks=W(),Ms=(i,t,e)=>ks(i,t,e)<=0;rr.exports=Ms});var Ht=k((Zu,ar)=>{"use strict";var Ps=jt(),Is=Gt(),Ds=Ie(),Rs=lt(),Ls=st(),Os=ct(),Vs=(i,t,e,n)=>{switch(t){case"===":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i===e;case"!==":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i!==e;case"":case"=":case"==":return Ps(i,e,n);case"!=":return Is(i,e,n);case">":return Ds(i,e,n);case">=":return Rs(i,e,n);case"<":return Ls(i,e,n);case"<=":return Os(i,e,n);default:throw new TypeError(`Invalid operator: ${t}`)}};ar.exports=Vs});var lr=k((Qu,sr)=>{"use strict";var Fs=V(),Ns=de(),{safeRe:pt,t:dt}=Te(),$s=(i,t)=>{if(i instanceof Fs)return i;if(typeof i=="number"&&(i=String(i)),typeof i!="string")return null;t=t||{};let e=null;if(!t.rtl)e=i.match(t.includePrerelease?pt[dt.COERCEFULL]:pt[dt.COERCE]);else{let E=t.includePrerelease?pt[dt.COERCERTLFULL]:pt[dt.COERCERTL],T;for(;(T=E.exec(i))&&(!e||e.index+e[0].length!==i.length);)(!e||T.index+T[0].length!==e.index+e[0].length)&&(e=T),E.lastIndex=T.index+T[1].length+T[2].length;E.lastIndex=-1}if(e===null)return null;let n=e[2],o=e[3]||"0",r=e[4]||"0",d=t.includePrerelease&&e[5]?`-${e[5]}`:"",g=t.includePrerelease&&e[6]?`+${e[6]}`:"";return Ns(`${n}.${o}.${r}${d}${g}`,t)};sr.exports=$s});var pr=k((Yu,cr)=>{"use strict";var Bs=de(),qs=Ee(),Us=V(),zs=(i,t,e)=>{if(!qs.RELEASE_TYPES.includes(t))return null;let n=js(i,e);return n&&Gs(n,t)},js=(i,t)=>{let e=i instanceof Us?i.version:i;return Bs(e,t)},Gs=(i,t)=>{if(Hs(t))return i.version;switch(i.prerelease=[],t){case"major":i.minor=0,i.patch=0;break;case"minor":i.patch=0;break}return i.format()},Hs=i=>i.startsWith("pre");cr.exports=zs});var ur=k((Ju,dr)=>{"use strict";var Wt=class{constructor(){this.max=1e3,this.map=new Map}get(t){let e=this.map.get(t);if(e!==void 0)return this.map.delete(t),this.map.set(t,e),e}delete(t){return this.map.delete(t)}set(t,e){if(!this.delete(t)&&e!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(t,e)}return this}};dr.exports=Wt});var X=k((em,hr)=>{"use strict";var Ws=/\s+/g,Xt=class i{constructor(t,e){if(e=Ks(e),t instanceof i)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new i(t.raw,e);if(t instanceof Kt)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t.trim().replace(Ws," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!_r(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&ol(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let e=this.set[t];for(let n=0;n<e.length;n++)n>0&&(this.formatted+=" "),this.formatted+=e[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){t=t.replace(il,"");let n=((this.options.includePrerelease&&tl)|(this.options.loose&&nl))+":"+t,o=mr.get(n);if(o)return o;let r=this.options.loose,d=r?q[F.HYPHENRANGELOOSE]:q[F.HYPHENRANGE];t=t.replace(d,fl(this.options.includePrerelease)),I("hyphen replace",t),t=t.replace(q[F.COMPARATORTRIM],Ys),I("comparator trim",t),t=t.replace(q[F.TILDETRIM],Js),I("tilde trim",t),t=t.replace(q[F.CARETTRIM],el),I("caret trim",t);let g=t.split(" ").map(S=>rl(S,this.options)).join(" ").split(/\s+/).map(S=>_l(S,this.options));r&&(g=g.filter(S=>(I("loose invalid filter",S,this.options),!!S.match(q[F.COMPARATORLOOSE])))),I("range list",g);let E=new Map,T=g.map(S=>new Kt(S,this.options));for(let S of T){if(_r(S))return[S];E.set(S.value,S)}E.size>1&&E.has("")&&E.delete("");let P=[...E.values()];return mr.set(n,P),P}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Range is required");return this.set.some(n=>fr(n,e)&&t.set.some(o=>fr(o,e)&&n.every(r=>o.every(d=>r.intersects(d,e)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Zs(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if(hl(this.set[e],t,this.options))return!0;return!1}};hr.exports=Xt;var Xs=ur(),mr=new Xs,Ks=tt(),Kt=De(),I=Pe(),Zs=V(),{safeRe:q,src:Qs,t:F,comparatorTrimReplace:Ys,tildeTrimReplace:Js,caretTrimReplace:el}=Te(),{FLAG_INCLUDE_PRERELEASE:tl,FLAG_LOOSE:nl}=Ee(),il=new RegExp(Qs[F.BUILD],"g"),_r=i=>i.value==="<0.0.0-0",ol=i=>i.value==="",fr=(i,t)=>{let e=!0,n=i.slice(),o=n.pop();for(;e&&n.length;)e=n.every(r=>o.intersects(r,t)),o=n.pop();return e},rl=(i,t)=>(i=i.replace(q[F.BUILD],""),I("comp",i,t),i=cl(i,t),I("caret",i),i=sl(i,t),I("tildes",i),i=dl(i,t),I("xrange",i),i=ml(i,t),I("stars",i),i),L=i=>!i||i.toLowerCase()==="x"||i==="*",al=(i,t,e)=>L(i)&&!L(t)||L(t)&&e&&!L(e),sl=(i,t)=>i.trim().split(/\s+/).map(e=>ll(e,t)).join(" "),ll=(i,t)=>{let e=t.loose?q[F.TILDELOOSE]:q[F.TILDE],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,g,E)=>{I("tilde",i,o,r,d,g,E);let T;return L(r)?T="":L(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:L(g)?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:E?(I("replaceTilde pr",E),T=`>=${r}.${d}.${g}-${E} <${r}.${+d+1}.0-0`):T=`>=${r}.${d}.${g} <${r}.${+d+1}.0-0`,I("tilde return",T),T})},cl=(i,t)=>i.trim().split(/\s+/).map(e=>pl(e,t)).join(" "),pl=(i,t)=>{I("caret",i,t);let e=t.loose?q[F.CARETLOOSE]:q[F.CARET],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,g,E)=>{I("caret",i,o,r,d,g,E);let T;return L(r)?T="":L(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:L(g)?r==="0"?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.0${n} <${+r+1}.0.0-0`:E?(I("replaceCaret pr",E),r==="0"?d==="0"?T=`>=${r}.${d}.${g}-${E} <${r}.${d}.${+g+1}-0`:T=`>=${r}.${d}.${g}-${E} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${g}-${E} <${+r+1}.0.0-0`):(I("no pr"),r==="0"?d==="0"?T=`>=${r}.${d}.${g} <${r}.${d}.${+g+1}-0`:T=`>=${r}.${d}.${g} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${g} <${+r+1}.0.0-0`),I("caret return",T),T})},dl=(i,t)=>(I("replaceXRanges",i,t),i.split(/\s+/).map(e=>ul(e,t)).join(" ")),ul=(i,t)=>{i=i.trim();let e=t.loose?q[F.XRANGELOOSE]:q[F.XRANGE];return i.replace(e,(n,o,r,d,g,E)=>{if(I("xRange",i,n,o,r,d,g,E),al(r,d,g))return i;let T=L(r),P=T||L(d),S=P||L(g),D=S;return o==="="&&D&&(o=""),E=t.includePrerelease?"-0":"",T?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&D?(P&&(d=0),g=0,o===">"?(o=">=",P?(r=+r+1,d=0,g=0):(d=+d+1,g=0)):o==="<="&&(o="<",P?r=+r+1:d=+d+1),o==="<"&&(E="-0"),n=`${o+r}.${d}.${g}${E}`):P?n=`>=${r}.0.0${E} <${+r+1}.0.0-0`:S&&(n=`>=${r}.${d}.0${E} <${r}.${+d+1}.0-0`),I("xRange return",n),n})},ml=(i,t)=>(I("replaceStars",i,t),i.trim().replace(q[F.STAR],"")),_l=(i,t)=>(I("replaceGTE0",i,t),i.trim().replace(q[t.includePrerelease?F.GTE0PRE:F.GTE0],"")),fl=i=>(t,e,n,o,r,d,g,E,T,P,S,D)=>(L(n)?e="":L(o)?e=`>=${n}.0.0${i?"-0":""}`:L(r)?e=`>=${n}.${o}.0${i?"-0":""}`:d?e=`>=${e}`:e=`>=${e}${i?"-0":""}`,L(T)?E="":L(P)?E=`<${+T+1}.0.0-0`:L(S)?E=`<${T}.${+P+1}.0-0`:D?E=`<=${T}.${P}.${S}-${D}`:i?E=`<${T}.${P}.${+S+1}-0`:E=`<=${E}`,`${e} ${E}`.trim()),hl=(i,t,e)=>{for(let n=0;n<i.length;n++)if(!i[n].test(t))return!1;if(t.prerelease.length&&!e.includePrerelease){for(let n=0;n<i.length;n++)if(I(i[n].semver),i[n].semver!==Kt.ANY&&i[n].semver.prerelease.length>0){let o=i[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var De=k((tm,xr)=>{"use strict";var Re=Symbol("SemVer ANY"),Yt=class i{static get ANY(){return Re}constructor(t,e){if(e=gr(e),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Qt("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===Re?this.value="":this.value=this.operator+this.semver.version,Qt("comp",this)}parse(t){let e=this.options.loose?Cr[vr.COMPARATORLOOSE]:Cr[vr.COMPARATOR],n=t.match(e);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new br(n[2],this.options.loose):this.semver=Re}toString(){return this.value}test(t){if(Qt("Comparator.test",t,this.options.loose),this.semver===Re||t===Re)return!0;if(typeof t=="string")try{t=new br(t,this.options)}catch(e){return!1}return Zt(t,this.operator,this.semver,this.options)}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new wr(t.value,e).test(this.value):t.operator===""?t.value===""?!0:new wr(this.value,e).test(t.semver):(e=gr(e),e.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!e.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Zt(this.semver,"<",t.semver,e)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Zt(this.semver,">",t.semver,e)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};xr.exports=Yt;var gr=tt(),{safeRe:Cr,t:vr}=Te(),Zt=Ht(),Qt=Pe(),br=V(),wr=X()});var Le=k((nm,yr)=>{"use strict";var gl=X(),Cl=(i,t,e)=>{try{t=new gl(t,e)}catch(n){return!1}return t.test(i)};yr.exports=Cl});var Tr=k((im,Er)=>{"use strict";var vl=X(),bl=(i,t)=>new vl(i,t).set.map(e=>e.map(n=>n.value).join(" ").trim().split(" "));Er.exports=bl});var Ar=k((om,Sr)=>{"use strict";var wl=V(),xl=X(),yl=(i,t,e)=>{let n=null,o=null,r=null;try{r=new xl(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===-1)&&(n=d,o=new wl(n,e))}),n};Sr.exports=yl});var Mr=k((rm,kr)=>{"use strict";var El=V(),Tl=X(),Sl=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Tl(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===1)&&(n=d,o=new El(n,e))}),n};kr.exports=Sl});var Dr=k((am,Ir)=>{"use strict";var Jt=V(),Al=X(),Pr=Ie(),kl=(i,t)=>{i=new Al(i,t);let e=new Jt("0.0.0");if(i.test(e)||(e=new Jt("0.0.0-0"),i.test(e)))return e;e=null;for(let n=0;n<i.set.length;++n){let o=i.set[n],r=null;o.forEach(d=>{let g=new Jt(d.semver.version);switch(d.operator){case">":g.prerelease.length===0?g.patch++:g.prerelease.push(0),g.raw=g.format();case"":case">=":(!r||Pr(g,r))&&(r=g);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${d.operator}`)}}),r&&(!e||Pr(e,r))&&(e=r)}return e&&i.test(e)?e:null};Ir.exports=kl});var Lr=k((sm,Rr)=>{"use strict";var Ml=X(),Pl=(i,t)=>{try{return new Ml(i,t).range||"*"}catch(e){return null}};Rr.exports=Pl});var ut=k((lm,Nr)=>{"use strict";var Il=V(),Fr=De(),{ANY:Dl}=Fr,Rl=X(),Ll=Le(),Or=Ie(),Vr=st(),Ol=ct(),Vl=lt(),Fl=(i,t,e,n)=>{i=new Il(i,n),t=new Rl(t,n);let o,r,d,g,E;switch(e){case">":o=Or,r=Ol,d=Vr,g=">",E=">=";break;case"<":o=Vr,r=Vl,d=Or,g="<",E="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ll(i,t,n))return!1;for(let T=0;T<t.set.length;++T){let P=t.set[T],S=null,D=null;if(P.forEach(A=>{A.semver===Dl&&(A=new Fr(">=0.0.0")),S=S||A,D=D||A,o(A.semver,S.semver,n)?S=A:d(A.semver,D.semver,n)&&(D=A)}),S.operator===g||S.operator===E||(!D.operator||D.operator===g)&&r(i,D.semver))return!1;if(D.operator===E&&d(i,D.semver))return!1}return!0};Nr.exports=Fl});var Br=k((cm,$r)=>{"use strict";var Nl=ut(),$l=(i,t,e)=>Nl(i,t,">",e);$r.exports=$l});var Ur=k((pm,qr)=>{"use strict";var Bl=ut(),ql=(i,t,e)=>Bl(i,t,"<",e);qr.exports=ql});var Gr=k((dm,jr)=>{"use strict";var zr=X(),Ul=(i,t,e)=>(i=new zr(i,e),t=new zr(t,e),i.intersects(t,e));jr.exports=Ul});var Wr=k((um,Hr)=>{"use strict";var zl=Le(),jl=W();Hr.exports=(i,t,e)=>{let n=[],o=null,r=null,d=i.sort((P,S)=>jl(P,S,e));for(let P of d)zl(P,t,e)?(r=P,o||(o=P)):(r&&n.push([o,r]),r=null,o=null);o&&n.push([o,null]);let g=[];for(let[P,S]of n)P===S?g.push(P):!S&&P===d[0]?g.push("*"):S?P===d[0]?g.push(`<=${S}`):g.push(`${P} - ${S}`):g.push(`>=${P}`);let E=g.join(" || "),T=typeof t.raw=="string"?t.raw:String(t);return E.length<T.length?E:t}});var Jr=k((mm,Yr)=>{"use strict";var Xr=X(),nn=De(),{ANY:en}=nn,tn=Le(),on=W(),Gl=(i,t,e={})=>{if(i===t)return!0;i=new Xr(i,e),t=new Xr(t,e);let n=!1;e:for(let o of i.set){for(let r of t.set){let d=Wl(o,r,e);if(n=n||d!==null,d)continue e}if(n)return!1}return!0},Hl=[new nn(">=0.0.0-0")],Kr=[new nn(">=0.0.0")],Wl=(i,t,e)=>{if(i===t)return!0;if(i.length===1&&i[0].semver===en){if(t.length===1&&t[0].semver===en)return!0;e.includePrerelease?i=Hl:i=Kr}if(t.length===1&&t[0].semver===en){if(e.includePrerelease)return!0;t=Kr}let n=new Set,o,r;for(let A of i)A.operator===">"||A.operator===">="?o=Zr(o,A,e):A.operator==="<"||A.operator==="<="?r=Qr(r,A,e):n.add(A.semver);if(n.size>1)return null;let d;if(o&&r){if(d=on(o.semver,r.semver,e),d>0)return null;if(d===0&&(o.operator!==">="||r.operator!=="<="))return null}for(let A of n){if(o&&!tn(A,String(o),e)||r&&!tn(A,String(r),e))return null;for(let ca of t)if(!tn(A,String(ca),e))return!1;return!0}let g,E,T,P,S=r&&!e.includePrerelease&&r.semver.prerelease.length?r.semver:!1,D=o&&!e.includePrerelease&&o.semver.prerelease.length?o.semver:!1;S&&S.prerelease.length===1&&r.operator==="<"&&S.prerelease[0]===0&&(S=!1);for(let A of t){if(P=P||A.operator===">"||A.operator===">=",T=T||A.operator==="<"||A.operator==="<=",o){if(D&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===D.major&&A.semver.minor===D.minor&&A.semver.patch===D.patch&&(D=!1),A.operator===">"||A.operator===">="){if(g=Zr(o,A,e),g===A&&g!==o)return!1}else if(o.operator===">="&&!A.test(o.semver))return!1}if(r){if(S&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===S.major&&A.semver.minor===S.minor&&A.semver.patch===S.patch&&(S=!1),A.operator==="<"||A.operator==="<="){if(E=Qr(r,A,e),E===A&&E!==r)return!1}else if(r.operator==="<="&&!A.test(r.semver))return!1}if(!A.operator&&(r||o)&&d!==0)return!1}return!(o&&T&&!r&&d!==0||r&&P&&!o&&d!==0||D||S)},Zr=(i,t,e)=>{if(!i)return t;let n=on(i.semver,t.semver,e);return n>0?i:n<0||t.operator===">"&&i.operator===">="?t:i},Qr=(i,t,e)=>{if(!i)return t;let n=on(i.semver,t.semver,e);return n<0?i:n>0||t.operator==="<"&&i.operator==="<="?t:i};Yr.exports=Gl});var ia=k((_m,na)=>{"use strict";var rn=Te(),ea=Ee(),Xl=V(),ta=qt(),Kl=de(),Zl=To(),Ql=Ao(),Yl=Po(),Jl=Ro(),ec=Oo(),tc=Fo(),nc=$o(),ic=qo(),oc=W(),rc=Go(),ac=Wo(),sc=at(),lc=Qo(),cc=Jo(),pc=Ie(),dc=st(),uc=jt(),mc=Gt(),_c=lt(),fc=ct(),hc=Ht(),gc=lr(),Cc=pr(),vc=De(),bc=X(),wc=Le(),xc=Tr(),yc=Ar(),Ec=Mr(),Tc=Dr(),Sc=Lr(),Ac=ut(),kc=Br(),Mc=Ur(),Pc=Gr(),Ic=Wr(),Dc=Jr();na.exports={parse:Kl,valid:Zl,clean:Ql,inc:Yl,diff:Jl,major:ec,minor:tc,patch:nc,prerelease:ic,compare:oc,rcompare:rc,compareLoose:ac,compareBuild:sc,sort:lc,rsort:cc,gt:pc,lt:dc,eq:uc,neq:mc,gte:_c,lte:fc,cmp:hc,coerce:gc,truncate:Cc,Comparator:vc,Range:bc,satisfies:wc,toComparators:xc,maxSatisfying:yc,minSatisfying:Ec,minVersion:Tc,validRange:Sc,outside:Ac,gtr:kc,ltr:Mc,intersects:Pc,simplifyRange:Ic,subset:Dc,SemVer:Xl,re:rn.re,src:rn.src,tokens:rn.t,SEMVER_SPEC_VERSION:ea.SEMVER_SPEC_VERSION,RELEASE_TYPES:ea.RELEASE_TYPES,compareIdentifiers:ta.compareIdentifiers,rcompareIdentifiers:ta.rcompareIdentifiers}});var ao="mat-badge-content",da=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["ng-component"]],decls:0,vars:0,template:function(n,o){},styles:[`.mat-badge {
1
+ import{d as ro}from"./chunk-Y5XX3LUA.js";import{$ as Ii,A as ci,Aa as Zi,B as pi,Ba as Qi,D as di,E as ui,Ea as Yi,Fa as Ji,G as mi,Ga as eo,H as _i,Ha as to,I as fi,Ia as no,J as hi,Ja as io,K as gi,Ka as oo,L as Ci,P as vi,Q as bi,R as wi,S as xi,T as yi,U as Ei,V as Ti,W as Si,X as Ai,Y as Mi,Z as ki,_ as Pi,a as Un,aa as Di,b as Xn,ba as Ri,c as Kn,d as Zn,e as Qn,f as ei,fa as Li,g as ti,ga as Oi,ha as Vi,la as Fi,m as ni,ma as Ni,n as Pt,na as $i,o as It,oa as Bi,pa as qi,qa as Ui,r as ii,ra as zi,sa as ji,ta as Gi,u as oi,ua as Hi,va as j,w as ri,wa as Wi,x as ai,xa as Xi,y as si,z as li,za as Ki}from"./chunk-2RJKLB5L.js";import{a as Jn}from"./chunk-NDDO5DKA.js";import{a as jn,g as Gn,i as Hn,k as Wn,n as Dt,q as Rt,u as Lt}from"./chunk-PSRS6NXJ.js";import"./chunk-WXOWBQXR.js";import"./chunk-SOVFTS2B.js";import{a as Yn}from"./chunk-VSWAOYSI.js";import"./chunk-PGHE7FOF.js";import"./chunk-7UXFP343.js";import"./chunk-TGPAYIRR.js";import"./chunk-7Z4ZZM32.js";import{$a as St,$b as En,A as wt,Aa as Z,Ac as we,Ba as Q,Bc as Dn,Cd as Bn,Da as Me,Ea as f,Fa as h,Fc as kt,Fd as qn,G as xt,Ha as Ue,Hc as Rn,I as ee,Ia as G,Ja as H,Jb as be,Ka as x,L as mn,La as a,M as Ve,Ma as s,N as yt,Na as v,Oa as Cn,P as C,Pa as vn,Pb as ce,Pc as Ln,Q as u,Qa as ze,R as m,Rd as Ze,Tc as On,U as Et,Ua as y,Ub as yn,V as Fe,Va as Ce,Vd as zn,Wa as _,Wb as je,Wd as Qe,X as Ne,Xa as bn,Y as te,Ya as l,Yb as Ge,Yd as xe,Z as U,Za as ue,Zd as ye,_ as oe,_a as Y,aa as $e,ab as J,bb as N,c as ae,ca as se,cb as $,cd as Vn,da as _n,dc as Tn,ec as Sn,ed as Fn,ga as fn,gb as ke,ha as le,hb as ne,ia as hn,ib as B,ic as An,ja as c,jb as At,jc as Mn,jd as Xe,ka as Tt,kb as wn,kc as pe,kd as Nn,l as bt,lb as p,lc as He,mb as z,na as Be,nb as me,nd as $n,oa as ge,pc as kn,ra as R,rc as Mt,rd as _e,s as pn,sa as qe,t as Se,ta as gn,tc as Pn,va as Ae,vd as Ke,wb as ve,xa as K,xb as xn,xc as We,y as dn,z as un,zb as re,zc as In}from"./chunk-JH5KSRZ6.js";import{a as Oe,b as cn,c as M,e as pa,f as O}from"./chunk-6H3I7D5M.js";var Ee=M((Eu,mo)=>{"use strict";var Sa="2.0.0",Aa=Number.MAX_SAFE_INTEGER||9007199254740991,Ma=16,ka=250,Pa=["major","premajor","minor","preminor","patch","prepatch","prerelease"];mo.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Ma,MAX_SAFE_BUILD_LENGTH:ka,MAX_SAFE_INTEGER:Aa,RELEASE_TYPES:Pa,SEMVER_SPEC_VERSION:Sa,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Pe=M((Tu,_o)=>{"use strict";var Ia=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...i)=>console.error("SEMVER",...i):()=>{};_o.exports=Ia});var Te=M((ie,fo)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:$t,MAX_SAFE_BUILD_LENGTH:Da,MAX_LENGTH:Ra}=Ee(),La=Pe();ie=fo.exports={};var Oa=ie.re=[],Va=ie.safeRe=[],b=ie.src=[],Fa=ie.safeSrc=[],w=ie.t={},Na=0,Bt="[a-zA-Z0-9-]",$a=[["\\s",1],["\\d",Ra],[Bt,Da]],Ba=i=>{for(let[t,e]of $a)i=i.split(`${t}*`).join(`${t}{0,${e}}`).split(`${t}+`).join(`${t}{1,${e}}`);return i},k=(i,t,e)=>{let n=Ba(t),o=Na++;La(i,o,t),w[i]=o,b[o]=t,Fa[o]=n,Oa[o]=new RegExp(t,e?"g":void 0),Va[o]=new RegExp(n,e?"g":void 0)};k("NUMERICIDENTIFIER","0|[1-9]\\d*");k("NUMERICIDENTIFIERLOOSE","\\d+");k("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Bt}*`);k("MAINVERSION",`(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})`);k("MAINVERSIONLOOSE",`(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})`);k("PRERELEASEIDENTIFIER",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIER]})`);k("PRERELEASEIDENTIFIERLOOSE",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIERLOOSE]})`);k("PRERELEASE",`(?:-(${b[w.PRERELEASEIDENTIFIER]}(?:\\.${b[w.PRERELEASEIDENTIFIER]})*))`);k("PRERELEASELOOSE",`(?:-?(${b[w.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${b[w.PRERELEASEIDENTIFIERLOOSE]})*))`);k("BUILDIDENTIFIER",`${Bt}+`);k("BUILD",`(?:\\+(${b[w.BUILDIDENTIFIER]}(?:\\.${b[w.BUILDIDENTIFIER]})*))`);k("FULLPLAIN",`v?${b[w.MAINVERSION]}${b[w.PRERELEASE]}?${b[w.BUILD]}?`);k("FULL",`^${b[w.FULLPLAIN]}$`);k("LOOSEPLAIN",`[v=\\s]*${b[w.MAINVERSIONLOOSE]}${b[w.PRERELEASELOOSE]}?${b[w.BUILD]}?`);k("LOOSE",`^${b[w.LOOSEPLAIN]}$`);k("GTLT","((?:<|>)?=?)");k("XRANGEIDENTIFIERLOOSE",`${b[w.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);k("XRANGEIDENTIFIER",`${b[w.NUMERICIDENTIFIER]}|x|X|\\*`);k("XRANGEPLAIN",`[v=\\s]*(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:${b[w.PRERELEASE]})?${b[w.BUILD]}?)?)?`);k("XRANGEPLAINLOOSE",`[v=\\s]*(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:${b[w.PRERELEASELOOSE]})?${b[w.BUILD]}?)?)?`);k("XRANGE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAIN]}$`);k("XRANGELOOSE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAINLOOSE]}$`);k("COERCEPLAIN",`(^|[^\\d])(\\d{1,${$t}})(?:\\.(\\d{1,${$t}}))?(?:\\.(\\d{1,${$t}}))?`);k("COERCE",`${b[w.COERCEPLAIN]}(?:$|[^\\d])`);k("COERCEFULL",b[w.COERCEPLAIN]+`(?:${b[w.PRERELEASE]})?(?:${b[w.BUILD]})?(?:$|[^\\d])`);k("COERCERTL",b[w.COERCE],!0);k("COERCERTLFULL",b[w.COERCEFULL],!0);k("LONETILDE","(?:~>?)");k("TILDETRIM",`(\\s*)${b[w.LONETILDE]}\\s+`,!0);ie.tildeTrimReplace="$1~";k("TILDE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAIN]}$`);k("TILDELOOSE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAINLOOSE]}$`);k("LONECARET","(?:\\^)");k("CARETTRIM",`(\\s*)${b[w.LONECARET]}\\s+`,!0);ie.caretTrimReplace="$1^";k("CARET",`^${b[w.LONECARET]}${b[w.XRANGEPLAIN]}$`);k("CARETLOOSE",`^${b[w.LONECARET]}${b[w.XRANGEPLAINLOOSE]}$`);k("COMPARATORLOOSE",`^${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]})$|^$`);k("COMPARATOR",`^${b[w.GTLT]}\\s*(${b[w.FULLPLAIN]})$|^$`);k("COMPARATORTRIM",`(\\s*)${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]}|${b[w.XRANGEPLAIN]})`,!0);ie.comparatorTrimReplace="$1$2$3";k("HYPHENRANGE",`^\\s*(${b[w.XRANGEPLAIN]})\\s+-\\s+(${b[w.XRANGEPLAIN]})\\s*$`);k("HYPHENRANGELOOSE",`^\\s*(${b[w.XRANGEPLAINLOOSE]})\\s+-\\s+(${b[w.XRANGEPLAINLOOSE]})\\s*$`);k("STAR","(<|>)?=?\\s*\\*");k("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");k("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var tt=M((Su,ho)=>{"use strict";var qa=Object.freeze({loose:!0}),Ua=Object.freeze({}),za=i=>i?typeof i!="object"?qa:i:Ua;ho.exports=za});var qt=M((Au,vo)=>{"use strict";var go=/^[0-9]+$/,Co=(i,t)=>{if(typeof i=="number"&&typeof t=="number")return i===t?0:i<t?-1:1;let e=go.test(i),n=go.test(t);return e&&n&&(i=+i,t=+t),i===t?0:e&&!n?-1:n&&!e?1:i<t?-1:1},ja=(i,t)=>Co(t,i);vo.exports={compareIdentifiers:Co,rcompareIdentifiers:ja}});var V=M((Mu,wo)=>{"use strict";var nt=Pe(),{MAX_LENGTH:bo,MAX_SAFE_INTEGER:it}=Ee(),{safeRe:ot,t:rt}=Te(),Ga=tt(),{compareIdentifiers:Ut}=qt(),Ha=(i,t)=>{let e=t.split(".");if(e.length>i.length)return!1;for(let n=0;n<e.length;n++)if(Ut(i[n],e[n])!==0)return!1;return!0},zt=class i{constructor(t,e){if(e=Ga(e),t instanceof i){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>bo)throw new TypeError(`version is longer than ${bo} characters`);nt("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;let n=t.trim().match(e.loose?ot[rt.LOOSE]:ot[rt.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>it||this.major<0)throw new TypeError("Invalid major version");if(this.minor>it||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>it||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let r=+o;if(r>=0&&r<it)return r}return o}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(nt("SemVer.compare",this.version,this.options,t),!(t instanceof i)){if(typeof t=="string"&&t===this.version)return 0;t=new i(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof i||(t=new i(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof i||(t=new i(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{let n=this.prerelease[e],o=t.prerelease[e];if(nt("prerelease compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Ut(n,o)}while(++e)}compareBuild(t){t instanceof i||(t=new i(t,this.options));let e=0;do{let n=this.build[e],o=t.build[e];if(nt("build compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Ut(n,o)}while(++e)}inc(t,e,n){if(t.startsWith("pre")){if(!e&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(e){let o=`-${e}`.match(this.options.loose?ot[rt.PRERELEASELOOSE]:ot[rt.PRERELEASE]);if(!o||o[1]!==e)throw new Error(`invalid identifier: ${e}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,n),this.inc("pre",e,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e,n),this.inc("pre",e,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);if(r===-1){if(e===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(e){let r=[e,o];if(n===!1&&(r=[e]),Ha(this.prerelease,e)){let d=this.prerelease[e.split(".").length];isNaN(d)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};wo.exports=zt});var de=M((ku,yo)=>{"use strict";var xo=V(),Wa=(i,t,e=!1)=>{if(i instanceof xo)return i;try{return new xo(i,t)}catch(n){if(!e)return null;throw n}};yo.exports=Wa});var To=M((Pu,Eo)=>{"use strict";var Xa=de(),Ka=(i,t)=>{let e=Xa(i,t);return e?e.version:null};Eo.exports=Ka});var Ao=M((Iu,So)=>{"use strict";var Za=de(),Qa=(i,t)=>{let e=Za(i.trim().replace(/^[=v]+/,""),t);return e?e.version:null};So.exports=Qa});var Po=M((Du,ko)=>{"use strict";var Mo=V(),Ya=(i,t,e,n,o)=>{typeof e=="string"&&(o=n,n=e,e=void 0);try{return new Mo(i instanceof Mo?i.version:i,e).inc(t,n,o).version}catch(r){return null}};ko.exports=Ya});var Ro=M((Ru,Do)=>{"use strict";var Io=de(),Ja=(i,t)=>{let e=Io(i,null,!0),n=Io(t,null,!0),o=e.compare(n);if(o===0)return null;let r=o>0,d=r?e:n,g=r?n:e,E=!!d.prerelease.length;if(!!g.prerelease.length&&!E){if(!g.patch&&!g.minor)return"major";if(g.compareMain(d)===0)return g.minor&&!g.patch?"minor":"patch"}let P=E?"pre":"";return e.major!==n.major?P+"major":e.minor!==n.minor?P+"minor":e.patch!==n.patch?P+"patch":"prerelease"};Do.exports=Ja});var Oo=M((Lu,Lo)=>{"use strict";var es=V(),ts=(i,t)=>new es(i,t).major;Lo.exports=ts});var Fo=M((Ou,Vo)=>{"use strict";var ns=V(),is=(i,t)=>new ns(i,t).minor;Vo.exports=is});var $o=M((Vu,No)=>{"use strict";var os=V(),rs=(i,t)=>new os(i,t).patch;No.exports=rs});var qo=M((Fu,Bo)=>{"use strict";var as=de(),ss=(i,t)=>{let e=as(i,t);return e&&e.prerelease.length?e.prerelease:null};Bo.exports=ss});var W=M((Nu,zo)=>{"use strict";var Uo=V(),ls=(i,t,e)=>new Uo(i,e).compare(new Uo(t,e));zo.exports=ls});var Go=M(($u,jo)=>{"use strict";var cs=W(),ps=(i,t,e)=>cs(t,i,e);jo.exports=ps});var Wo=M((Bu,Ho)=>{"use strict";var ds=W(),us=(i,t)=>ds(i,t,!0);Ho.exports=us});var at=M((qu,Ko)=>{"use strict";var Xo=V(),ms=(i,t,e)=>{let n=new Xo(i,e),o=new Xo(t,e);return n.compare(o)||n.compareBuild(o)};Ko.exports=ms});var Qo=M((Uu,Zo)=>{"use strict";var _s=at(),fs=(i,t)=>i.sort((e,n)=>_s(e,n,t));Zo.exports=fs});var Jo=M((zu,Yo)=>{"use strict";var hs=at(),gs=(i,t)=>i.sort((e,n)=>hs(n,e,t));Yo.exports=gs});var Ie=M((ju,er)=>{"use strict";var Cs=W(),vs=(i,t,e)=>Cs(i,t,e)>0;er.exports=vs});var st=M((Gu,tr)=>{"use strict";var bs=W(),ws=(i,t,e)=>bs(i,t,e)<0;tr.exports=ws});var jt=M((Hu,nr)=>{"use strict";var xs=W(),ys=(i,t,e)=>xs(i,t,e)===0;nr.exports=ys});var Gt=M((Wu,ir)=>{"use strict";var Es=W(),Ts=(i,t,e)=>Es(i,t,e)!==0;ir.exports=Ts});var lt=M((Xu,or)=>{"use strict";var Ss=W(),As=(i,t,e)=>Ss(i,t,e)>=0;or.exports=As});var ct=M((Ku,rr)=>{"use strict";var Ms=W(),ks=(i,t,e)=>Ms(i,t,e)<=0;rr.exports=ks});var Ht=M((Zu,ar)=>{"use strict";var Ps=jt(),Is=Gt(),Ds=Ie(),Rs=lt(),Ls=st(),Os=ct(),Vs=(i,t,e,n)=>{switch(t){case"===":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i===e;case"!==":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i!==e;case"":case"=":case"==":return Ps(i,e,n);case"!=":return Is(i,e,n);case">":return Ds(i,e,n);case">=":return Rs(i,e,n);case"<":return Ls(i,e,n);case"<=":return Os(i,e,n);default:throw new TypeError(`Invalid operator: ${t}`)}};ar.exports=Vs});var lr=M((Qu,sr)=>{"use strict";var Fs=V(),Ns=de(),{safeRe:pt,t:dt}=Te(),$s=(i,t)=>{if(i instanceof Fs)return i;if(typeof i=="number"&&(i=String(i)),typeof i!="string")return null;t=t||{};let e=null;if(!t.rtl)e=i.match(t.includePrerelease?pt[dt.COERCEFULL]:pt[dt.COERCE]);else{let E=t.includePrerelease?pt[dt.COERCERTLFULL]:pt[dt.COERCERTL],T;for(;(T=E.exec(i))&&(!e||e.index+e[0].length!==i.length);)(!e||T.index+T[0].length!==e.index+e[0].length)&&(e=T),E.lastIndex=T.index+T[1].length+T[2].length;E.lastIndex=-1}if(e===null)return null;let n=e[2],o=e[3]||"0",r=e[4]||"0",d=t.includePrerelease&&e[5]?`-${e[5]}`:"",g=t.includePrerelease&&e[6]?`+${e[6]}`:"";return Ns(`${n}.${o}.${r}${d}${g}`,t)};sr.exports=$s});var pr=M((Yu,cr)=>{"use strict";var Bs=de(),qs=Ee(),Us=V(),zs=(i,t,e)=>{if(!qs.RELEASE_TYPES.includes(t))return null;let n=js(i,e);return n&&Gs(n,t)},js=(i,t)=>{let e=i instanceof Us?i.version:i;return Bs(e,t)},Gs=(i,t)=>{if(Hs(t))return i.version;switch(i.prerelease=[],t){case"major":i.minor=0,i.patch=0;break;case"minor":i.patch=0;break}return i.format()},Hs=i=>i.startsWith("pre");cr.exports=zs});var ur=M((Ju,dr)=>{"use strict";var Wt=class{constructor(){this.max=1e3,this.map=new Map}get(t){let e=this.map.get(t);if(e!==void 0)return this.map.delete(t),this.map.set(t,e),e}delete(t){return this.map.delete(t)}set(t,e){if(!this.delete(t)&&e!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(t,e)}return this}};dr.exports=Wt});var X=M((em,hr)=>{"use strict";var Ws=/\s+/g,Xt=class i{constructor(t,e){if(e=Ks(e),t instanceof i)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new i(t.raw,e);if(t instanceof Kt)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t.trim().replace(Ws," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!_r(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&ol(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let e=this.set[t];for(let n=0;n<e.length;n++)n>0&&(this.formatted+=" "),this.formatted+=e[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){t=t.replace(il,"");let n=((this.options.includePrerelease&&tl)|(this.options.loose&&nl))+":"+t,o=mr.get(n);if(o)return o;let r=this.options.loose,d=r?q[F.HYPHENRANGELOOSE]:q[F.HYPHENRANGE];t=t.replace(d,fl(this.options.includePrerelease)),I("hyphen replace",t),t=t.replace(q[F.COMPARATORTRIM],Ys),I("comparator trim",t),t=t.replace(q[F.TILDETRIM],Js),I("tilde trim",t),t=t.replace(q[F.CARETTRIM],el),I("caret trim",t);let g=t.split(" ").map(S=>rl(S,this.options)).join(" ").split(/\s+/).map(S=>_l(S,this.options));r&&(g=g.filter(S=>(I("loose invalid filter",S,this.options),!!S.match(q[F.COMPARATORLOOSE])))),I("range list",g);let E=new Map,T=g.map(S=>new Kt(S,this.options));for(let S of T){if(_r(S))return[S];E.set(S.value,S)}E.size>1&&E.has("")&&E.delete("");let P=[...E.values()];return mr.set(n,P),P}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Range is required");return this.set.some(n=>fr(n,e)&&t.set.some(o=>fr(o,e)&&n.every(r=>o.every(d=>r.intersects(d,e)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Zs(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if(hl(this.set[e],t,this.options))return!0;return!1}};hr.exports=Xt;var Xs=ur(),mr=new Xs,Ks=tt(),Kt=De(),I=Pe(),Zs=V(),{safeRe:q,src:Qs,t:F,comparatorTrimReplace:Ys,tildeTrimReplace:Js,caretTrimReplace:el}=Te(),{FLAG_INCLUDE_PRERELEASE:tl,FLAG_LOOSE:nl}=Ee(),il=new RegExp(Qs[F.BUILD],"g"),_r=i=>i.value==="<0.0.0-0",ol=i=>i.value==="",fr=(i,t)=>{let e=!0,n=i.slice(),o=n.pop();for(;e&&n.length;)e=n.every(r=>o.intersects(r,t)),o=n.pop();return e},rl=(i,t)=>(i=i.replace(q[F.BUILD],""),I("comp",i,t),i=cl(i,t),I("caret",i),i=sl(i,t),I("tildes",i),i=dl(i,t),I("xrange",i),i=ml(i,t),I("stars",i),i),L=i=>!i||i.toLowerCase()==="x"||i==="*",al=(i,t,e)=>L(i)&&!L(t)||L(t)&&e&&!L(e),sl=(i,t)=>i.trim().split(/\s+/).map(e=>ll(e,t)).join(" "),ll=(i,t)=>{let e=t.loose?q[F.TILDELOOSE]:q[F.TILDE],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,g,E)=>{I("tilde",i,o,r,d,g,E);let T;return L(r)?T="":L(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:L(g)?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:E?(I("replaceTilde pr",E),T=`>=${r}.${d}.${g}-${E} <${r}.${+d+1}.0-0`):T=`>=${r}.${d}.${g} <${r}.${+d+1}.0-0`,I("tilde return",T),T})},cl=(i,t)=>i.trim().split(/\s+/).map(e=>pl(e,t)).join(" "),pl=(i,t)=>{I("caret",i,t);let e=t.loose?q[F.CARETLOOSE]:q[F.CARET],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,g,E)=>{I("caret",i,o,r,d,g,E);let T;return L(r)?T="":L(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:L(g)?r==="0"?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.0${n} <${+r+1}.0.0-0`:E?(I("replaceCaret pr",E),r==="0"?d==="0"?T=`>=${r}.${d}.${g}-${E} <${r}.${d}.${+g+1}-0`:T=`>=${r}.${d}.${g}-${E} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${g}-${E} <${+r+1}.0.0-0`):(I("no pr"),r==="0"?d==="0"?T=`>=${r}.${d}.${g} <${r}.${d}.${+g+1}-0`:T=`>=${r}.${d}.${g} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${g} <${+r+1}.0.0-0`),I("caret return",T),T})},dl=(i,t)=>(I("replaceXRanges",i,t),i.split(/\s+/).map(e=>ul(e,t)).join(" ")),ul=(i,t)=>{i=i.trim();let e=t.loose?q[F.XRANGELOOSE]:q[F.XRANGE];return i.replace(e,(n,o,r,d,g,E)=>{if(I("xRange",i,n,o,r,d,g,E),al(r,d,g))return i;let T=L(r),P=T||L(d),S=P||L(g),D=S;return o==="="&&D&&(o=""),E=t.includePrerelease?"-0":"",T?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&D?(P&&(d=0),g=0,o===">"?(o=">=",P?(r=+r+1,d=0,g=0):(d=+d+1,g=0)):o==="<="&&(o="<",P?r=+r+1:d=+d+1),o==="<"&&(E="-0"),n=`${o+r}.${d}.${g}${E}`):P?n=`>=${r}.0.0${E} <${+r+1}.0.0-0`:S&&(n=`>=${r}.${d}.0${E} <${r}.${+d+1}.0-0`),I("xRange return",n),n})},ml=(i,t)=>(I("replaceStars",i,t),i.trim().replace(q[F.STAR],"")),_l=(i,t)=>(I("replaceGTE0",i,t),i.trim().replace(q[t.includePrerelease?F.GTE0PRE:F.GTE0],"")),fl=i=>(t,e,n,o,r,d,g,E,T,P,S,D)=>(L(n)?e="":L(o)?e=`>=${n}.0.0${i?"-0":""}`:L(r)?e=`>=${n}.${o}.0${i?"-0":""}`:d?e=`>=${e}`:e=`>=${e}${i?"-0":""}`,L(T)?E="":L(P)?E=`<${+T+1}.0.0-0`:L(S)?E=`<${T}.${+P+1}.0-0`:D?E=`<=${T}.${P}.${S}-${D}`:i?E=`<${T}.${P}.${+S+1}-0`:E=`<=${E}`,`${e} ${E}`.trim()),hl=(i,t,e)=>{for(let n=0;n<i.length;n++)if(!i[n].test(t))return!1;if(t.prerelease.length&&!e.includePrerelease){for(let n=0;n<i.length;n++)if(I(i[n].semver),i[n].semver!==Kt.ANY&&i[n].semver.prerelease.length>0){let o=i[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var De=M((tm,xr)=>{"use strict";var Re=Symbol("SemVer ANY"),Yt=class i{static get ANY(){return Re}constructor(t,e){if(e=gr(e),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Qt("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===Re?this.value="":this.value=this.operator+this.semver.version,Qt("comp",this)}parse(t){let e=this.options.loose?Cr[vr.COMPARATORLOOSE]:Cr[vr.COMPARATOR],n=t.match(e);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new br(n[2],this.options.loose):this.semver=Re}toString(){return this.value}test(t){if(Qt("Comparator.test",t,this.options.loose),this.semver===Re||t===Re)return!0;if(typeof t=="string")try{t=new br(t,this.options)}catch(e){return!1}return Zt(t,this.operator,this.semver,this.options)}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new wr(t.value,e).test(this.value):t.operator===""?t.value===""?!0:new wr(this.value,e).test(t.semver):(e=gr(e),e.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!e.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Zt(this.semver,"<",t.semver,e)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Zt(this.semver,">",t.semver,e)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};xr.exports=Yt;var gr=tt(),{safeRe:Cr,t:vr}=Te(),Zt=Ht(),Qt=Pe(),br=V(),wr=X()});var Le=M((nm,yr)=>{"use strict";var gl=X(),Cl=(i,t,e)=>{try{t=new gl(t,e)}catch(n){return!1}return t.test(i)};yr.exports=Cl});var Tr=M((im,Er)=>{"use strict";var vl=X(),bl=(i,t)=>new vl(i,t).set.map(e=>e.map(n=>n.value).join(" ").trim().split(" "));Er.exports=bl});var Ar=M((om,Sr)=>{"use strict";var wl=V(),xl=X(),yl=(i,t,e)=>{let n=null,o=null,r=null;try{r=new xl(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===-1)&&(n=d,o=new wl(n,e))}),n};Sr.exports=yl});var kr=M((rm,Mr)=>{"use strict";var El=V(),Tl=X(),Sl=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Tl(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===1)&&(n=d,o=new El(n,e))}),n};Mr.exports=Sl});var Dr=M((am,Ir)=>{"use strict";var Jt=V(),Al=X(),Pr=Ie(),Ml=(i,t)=>{i=new Al(i,t);let e=new Jt("0.0.0");if(i.test(e)||(e=new Jt("0.0.0-0"),i.test(e)))return e;e=null;for(let n=0;n<i.set.length;++n){let o=i.set[n],r=null;o.forEach(d=>{let g=new Jt(d.semver.version);switch(d.operator){case">":g.prerelease.length===0?g.patch++:g.prerelease.push(0),g.raw=g.format();case"":case">=":(!r||Pr(g,r))&&(r=g);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${d.operator}`)}}),r&&(!e||Pr(e,r))&&(e=r)}return e&&i.test(e)?e:null};Ir.exports=Ml});var Lr=M((sm,Rr)=>{"use strict";var kl=X(),Pl=(i,t)=>{try{return new kl(i,t).range||"*"}catch(e){return null}};Rr.exports=Pl});var ut=M((lm,Nr)=>{"use strict";var Il=V(),Fr=De(),{ANY:Dl}=Fr,Rl=X(),Ll=Le(),Or=Ie(),Vr=st(),Ol=ct(),Vl=lt(),Fl=(i,t,e,n)=>{i=new Il(i,n),t=new Rl(t,n);let o,r,d,g,E;switch(e){case">":o=Or,r=Ol,d=Vr,g=">",E=">=";break;case"<":o=Vr,r=Vl,d=Or,g="<",E="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ll(i,t,n))return!1;for(let T=0;T<t.set.length;++T){let P=t.set[T],S=null,D=null;if(P.forEach(A=>{A.semver===Dl&&(A=new Fr(">=0.0.0")),S=S||A,D=D||A,o(A.semver,S.semver,n)?S=A:d(A.semver,D.semver,n)&&(D=A)}),S.operator===g||S.operator===E||(!D.operator||D.operator===g)&&r(i,D.semver))return!1;if(D.operator===E&&d(i,D.semver))return!1}return!0};Nr.exports=Fl});var Br=M((cm,$r)=>{"use strict";var Nl=ut(),$l=(i,t,e)=>Nl(i,t,">",e);$r.exports=$l});var Ur=M((pm,qr)=>{"use strict";var Bl=ut(),ql=(i,t,e)=>Bl(i,t,"<",e);qr.exports=ql});var Gr=M((dm,jr)=>{"use strict";var zr=X(),Ul=(i,t,e)=>(i=new zr(i,e),t=new zr(t,e),i.intersects(t,e));jr.exports=Ul});var Wr=M((um,Hr)=>{"use strict";var zl=Le(),jl=W();Hr.exports=(i,t,e)=>{let n=[],o=null,r=null,d=i.sort((P,S)=>jl(P,S,e));for(let P of d)zl(P,t,e)?(r=P,o||(o=P)):(r&&n.push([o,r]),r=null,o=null);o&&n.push([o,null]);let g=[];for(let[P,S]of n)P===S?g.push(P):!S&&P===d[0]?g.push("*"):S?P===d[0]?g.push(`<=${S}`):g.push(`${P} - ${S}`):g.push(`>=${P}`);let E=g.join(" || "),T=typeof t.raw=="string"?t.raw:String(t);return E.length<T.length?E:t}});var Jr=M((mm,Yr)=>{"use strict";var Xr=X(),nn=De(),{ANY:en}=nn,tn=Le(),on=W(),Gl=(i,t,e={})=>{if(i===t)return!0;i=new Xr(i,e),t=new Xr(t,e);let n=!1;e:for(let o of i.set){for(let r of t.set){let d=Wl(o,r,e);if(n=n||d!==null,d)continue e}if(n)return!1}return!0},Hl=[new nn(">=0.0.0-0")],Kr=[new nn(">=0.0.0")],Wl=(i,t,e)=>{if(i===t)return!0;if(i.length===1&&i[0].semver===en){if(t.length===1&&t[0].semver===en)return!0;e.includePrerelease?i=Hl:i=Kr}if(t.length===1&&t[0].semver===en){if(e.includePrerelease)return!0;t=Kr}let n=new Set,o,r;for(let A of i)A.operator===">"||A.operator===">="?o=Zr(o,A,e):A.operator==="<"||A.operator==="<="?r=Qr(r,A,e):n.add(A.semver);if(n.size>1)return null;let d;if(o&&r){if(d=on(o.semver,r.semver,e),d>0)return null;if(d===0&&(o.operator!==">="||r.operator!=="<="))return null}for(let A of n){if(o&&!tn(A,String(o),e)||r&&!tn(A,String(r),e))return null;for(let ca of t)if(!tn(A,String(ca),e))return!1;return!0}let g,E,T,P,S=r&&!e.includePrerelease&&r.semver.prerelease.length?r.semver:!1,D=o&&!e.includePrerelease&&o.semver.prerelease.length?o.semver:!1;S&&S.prerelease.length===1&&r.operator==="<"&&S.prerelease[0]===0&&(S=!1);for(let A of t){if(P=P||A.operator===">"||A.operator===">=",T=T||A.operator==="<"||A.operator==="<=",o){if(D&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===D.major&&A.semver.minor===D.minor&&A.semver.patch===D.patch&&(D=!1),A.operator===">"||A.operator===">="){if(g=Zr(o,A,e),g===A&&g!==o)return!1}else if(o.operator===">="&&!A.test(o.semver))return!1}if(r){if(S&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===S.major&&A.semver.minor===S.minor&&A.semver.patch===S.patch&&(S=!1),A.operator==="<"||A.operator==="<="){if(E=Qr(r,A,e),E===A&&E!==r)return!1}else if(r.operator==="<="&&!A.test(r.semver))return!1}if(!A.operator&&(r||o)&&d!==0)return!1}return!(o&&T&&!r&&d!==0||r&&P&&!o&&d!==0||D||S)},Zr=(i,t,e)=>{if(!i)return t;let n=on(i.semver,t.semver,e);return n>0?i:n<0||t.operator===">"&&i.operator===">="?t:i},Qr=(i,t,e)=>{if(!i)return t;let n=on(i.semver,t.semver,e);return n<0?i:n>0||t.operator==="<"&&i.operator==="<="?t:i};Yr.exports=Gl});var ia=M((_m,na)=>{"use strict";var rn=Te(),ea=Ee(),Xl=V(),ta=qt(),Kl=de(),Zl=To(),Ql=Ao(),Yl=Po(),Jl=Ro(),ec=Oo(),tc=Fo(),nc=$o(),ic=qo(),oc=W(),rc=Go(),ac=Wo(),sc=at(),lc=Qo(),cc=Jo(),pc=Ie(),dc=st(),uc=jt(),mc=Gt(),_c=lt(),fc=ct(),hc=Ht(),gc=lr(),Cc=pr(),vc=De(),bc=X(),wc=Le(),xc=Tr(),yc=Ar(),Ec=kr(),Tc=Dr(),Sc=Lr(),Ac=ut(),Mc=Br(),kc=Ur(),Pc=Gr(),Ic=Wr(),Dc=Jr();na.exports={parse:Kl,valid:Zl,clean:Ql,inc:Yl,diff:Jl,major:ec,minor:tc,patch:nc,prerelease:ic,compare:oc,rcompare:rc,compareLoose:ac,compareBuild:sc,sort:lc,rsort:cc,gt:pc,lt:dc,eq:uc,neq:mc,gte:_c,lte:fc,cmp:hc,coerce:gc,truncate:Cc,Comparator:vc,Range:bc,satisfies:wc,toComparators:xc,maxSatisfying:yc,minSatisfying:Ec,minVersion:Tc,validRange:Sc,outside:Ac,gtr:Mc,ltr:kc,intersects:Pc,simplifyRange:Ic,subset:Dc,SemVer:Xl,re:rn.re,src:rn.src,tokens:rn.t,SEMVER_SPEC_VERSION:ea.SEMVER_SPEC_VERSION,RELEASE_TYPES:ea.RELEASE_TYPES,compareIdentifiers:ta.compareIdentifiers,rcompareIdentifiers:ta.rcompareIdentifiers}});var ao="mat-badge-content",da=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["ng-component"]],decls:0,vars:0,template:function(n,o){},styles:[`.mat-badge {
2
2
  position: relative;
3
3
  }
4
4
  .mat-badge.mat-badge {
@@ -108,7 +108,7 @@ import{d as ro}from"./chunk-Y5XX3LUA.js";import{$ as Ii,A as ci,Aa as Zi,B as pi
108
108
  .mat-badge-large.mat-badge-overlap .mat-badge-content {
109
109
  margin: var(--mat-badge-large-size-container-overlap-offset, -12px);
110
110
  }
111
- `],encapsulation:2,changeDetection:0})}return i})(),so=(()=>{class i{_ngZone=C(te);_elementRef=C(se);_ariaDescriber=C(Bn);_renderer=C(Be);_animationsDisabled=Ke();_idGenerator=C(Rn);get color(){return this._color}set color(e){this._setColor(e),this._color=e}_color="primary";overlap=!0;disabled=!1;position="above after";get content(){return this._content}set content(e){this._updateRenderedContent(e)}_content;get description(){return this._description}set description(e){this._updateDescription(e)}_description;size="medium";hidden=!1;_badgeElement;_inlineBadgeDescription;_isInitialized=!1;_interactivityChecker=C(Xe);_document=C(Fe);constructor(){let e=C(Mn);e.load(da),e.load(Fn)}isAbove(){return this.position.indexOf("below")===-1}isAfter(){return this.position.indexOf("before")===-1}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngAfterViewInit(){}ngOnDestroy(){this._renderer.destroyNode&&(this._renderer.destroyNode(this._badgeElement),this._inlineBadgeDescription?.remove()),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_isHostInteractive(){return this._interactivityChecker.isFocusable(this._elementRef.nativeElement,{ignoreVisibility:!0})}_createBadgeElement(){let e=this._renderer.createElement("span"),n="mat-badge-active";return e.setAttribute("id",this._idGenerator.getId("mat-badge-content-")),e.setAttribute("aria-hidden","true"),e.classList.add(ao),this._animationsDisabled&&e.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(e),typeof requestAnimationFrame=="function"&&!this._animationsDisabled?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{e.classList.add(n)})}):e.classList.add(n),e}_updateRenderedContent(e){let n=`${e??""}`.trim();this._isInitialized&&n&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=n),this._content=n}_updateDescription(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),(!e||this._isHostInteractive())&&this._removeInlineDescription(),this._description=e,this._isHostInteractive()?this._ariaDescriber.describe(this._elementRef.nativeElement,e):this._updateInlineDescription()}_updateInlineDescription(){this._inlineBadgeDescription||(this._inlineBadgeDescription=this._document.createElement("span"),this._inlineBadgeDescription.classList.add("cdk-visually-hidden")),this._inlineBadgeDescription.textContent=this.description,this._badgeElement?.appendChild(this._inlineBadgeDescription)}_removeInlineDescription(){this._inlineBadgeDescription?.remove(),this._inlineBadgeDescription=void 0}_setColor(e){let n=this._elementRef.nativeElement.classList;n.remove(`mat-badge-${this._color}`),e&&n.add(`mat-badge-${e}`)}_clearExistingBadges(){let e=this._elementRef.nativeElement.querySelectorAll(`:scope > .${ao}`);for(let n of Array.from(e))n!==this._badgeElement&&n.remove()}static \u0275fac=function(n){return new(n||i)};static \u0275dir=gn({type:i,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(n,o){n&2&&B("mat-badge-overlap",o.overlap)("mat-badge-above",o.isAbove())("mat-badge-below",!o.isAbove())("mat-badge-before",!o.isAfter())("mat-badge-after",o.isAfter())("mat-badge-small",o.size==="small")("mat-badge-medium",o.size==="medium")("mat-badge-large",o.size==="large")("mat-badge-hidden",o.hidden||!o.content)("mat-badge-disabled",o.disabled)},inputs:{color:[0,"matBadgeColor","color"],overlap:[2,"matBadgeOverlap","overlap",Ge],disabled:[2,"matBadgeDisabled","disabled",Ge],position:[0,"matBadgePosition","position"],content:[0,"matBadge","content"],description:[0,"matBadgeDescription","description"],size:[0,"matBadgeSize","size"],hidden:[2,"matBadgeHidden","hidden",Ge]}})}return i})(),lo=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=qe({type:i});static \u0275inj=Ve({imports:[$n,We]})}return i})();var et=["*"],_a=["content"],fa=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],ha=["mat-drawer","mat-drawer-content","*"];function ga(i,t){if(i&1){let e=y();a(0,"div",1),_("click",function(){u(e);let o=l();return m(o._onBackdropClicked())}),s()}if(i&2){let e=l();B("mat-drawer-shown",e._isShowingBackdrop())}}function Ca(i,t){i&1&&(a(0,"mat-drawer-content"),Y(1,2),s())}var va=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],ba=["mat-sidenav","mat-sidenav-content","*"];function wa(i,t){if(i&1){let e=y();a(0,"div",1),_("click",function(){u(e);let o=l();return m(o._onBackdropClicked())}),s()}if(i&2){let e=l();B("mat-drawer-shown",e._isShowingBackdrop())}}function xa(i,t){i&1&&(a(0,"mat-sidenav-content"),Y(1,2),s())}var ya=`.mat-drawer-container {
111
+ `],encapsulation:2,changeDetection:0})}return i})(),so=(()=>{class i{_ngZone=C(te);_elementRef=C(se);_ariaDescriber=C(Bn);_renderer=C(Be);_animationsDisabled=Ke();_idGenerator=C(Rn);get color(){return this._color}set color(e){this._setColor(e),this._color=e}_color="primary";overlap=!0;disabled=!1;position="above after";get content(){return this._content}set content(e){this._updateRenderedContent(e)}_content;get description(){return this._description}set description(e){this._updateDescription(e)}_description;size="medium";hidden=!1;_badgeElement;_inlineBadgeDescription;_isInitialized=!1;_interactivityChecker=C(Xe);_document=C(Fe);constructor(){let e=C(kn);e.load(da),e.load(Fn)}isAbove(){return this.position.indexOf("below")===-1}isAfter(){return this.position.indexOf("before")===-1}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngAfterViewInit(){}ngOnDestroy(){this._renderer.destroyNode&&(this._renderer.destroyNode(this._badgeElement),this._inlineBadgeDescription?.remove()),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_isHostInteractive(){return this._interactivityChecker.isFocusable(this._elementRef.nativeElement,{ignoreVisibility:!0})}_createBadgeElement(){let e=this._renderer.createElement("span"),n="mat-badge-active";return e.setAttribute("id",this._idGenerator.getId("mat-badge-content-")),e.setAttribute("aria-hidden","true"),e.classList.add(ao),this._animationsDisabled&&e.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(e),typeof requestAnimationFrame=="function"&&!this._animationsDisabled?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{e.classList.add(n)})}):e.classList.add(n),e}_updateRenderedContent(e){let n=`${e??""}`.trim();this._isInitialized&&n&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=n),this._content=n}_updateDescription(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),(!e||this._isHostInteractive())&&this._removeInlineDescription(),this._description=e,this._isHostInteractive()?this._ariaDescriber.describe(this._elementRef.nativeElement,e):this._updateInlineDescription()}_updateInlineDescription(){this._inlineBadgeDescription||(this._inlineBadgeDescription=this._document.createElement("span"),this._inlineBadgeDescription.classList.add("cdk-visually-hidden")),this._inlineBadgeDescription.textContent=this.description,this._badgeElement?.appendChild(this._inlineBadgeDescription)}_removeInlineDescription(){this._inlineBadgeDescription?.remove(),this._inlineBadgeDescription=void 0}_setColor(e){let n=this._elementRef.nativeElement.classList;n.remove(`mat-badge-${this._color}`),e&&n.add(`mat-badge-${e}`)}_clearExistingBadges(){let e=this._elementRef.nativeElement.querySelectorAll(`:scope > .${ao}`);for(let n of Array.from(e))n!==this._badgeElement&&n.remove()}static \u0275fac=function(n){return new(n||i)};static \u0275dir=gn({type:i,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(n,o){n&2&&B("mat-badge-overlap",o.overlap)("mat-badge-above",o.isAbove())("mat-badge-below",!o.isAbove())("mat-badge-before",!o.isAfter())("mat-badge-after",o.isAfter())("mat-badge-small",o.size==="small")("mat-badge-medium",o.size==="medium")("mat-badge-large",o.size==="large")("mat-badge-hidden",o.hidden||!o.content)("mat-badge-disabled",o.disabled)},inputs:{color:[0,"matBadgeColor","color"],overlap:[2,"matBadgeOverlap","overlap",Ge],disabled:[2,"matBadgeDisabled","disabled",Ge],position:[0,"matBadgePosition","position"],content:[0,"matBadge","content"],description:[0,"matBadgeDescription","description"],size:[0,"matBadgeSize","size"],hidden:[2,"matBadgeHidden","hidden",Ge]}})}return i})(),lo=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=qe({type:i});static \u0275inj=Ve({imports:[$n,We]})}return i})();var et=["*"],_a=["content"],fa=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],ha=["mat-drawer","mat-drawer-content","*"];function ga(i,t){if(i&1){let e=y();a(0,"div",1),_("click",function(){u(e);let o=l();return m(o._onBackdropClicked())}),s()}if(i&2){let e=l();B("mat-drawer-shown",e._isShowingBackdrop())}}function Ca(i,t){i&1&&(a(0,"mat-drawer-content"),Y(1,2),s())}var va=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],ba=["mat-sidenav","mat-sidenav-content","*"];function wa(i,t){if(i&1){let e=y();a(0,"div",1),_("click",function(){u(e);let o=l();return m(o._onBackdropClicked())}),s()}if(i&2){let e=l();B("mat-drawer-shown",e._isShowingBackdrop())}}function xa(i,t){i&1&&(a(0,"mat-sidenav-content"),Y(1,2),s())}var ya=`.mat-drawer-container {
112
112
  position: relative;
113
113
  z-index: 1;
114
114
  color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
@@ -282,7 +282,7 @@ import{d as ro}from"./chunk-Y5XX3LUA.js";import{$ as Ii,A as ci,Aa as Zi,B as pi
282
282
  .mat-sidenav-fixed {
283
283
  position: fixed;
284
284
  }
285
- `;var Ea=new yt("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),Ft=new yt("MAT_DRAWER_CONTAINER"),Ye=(()=>{class i extends we{_platform=C(He);_changeDetectorRef=C(je);_container=C(Vt);constructor(){let e=C(se),n=C(In),o=C(te);super(e,n,o)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:e,end:n}=this._container;return e!=null&&e.mode!=="over"&&e.opened||n!=null&&n.mode!=="over"&&n.opened}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(n,o){n&2&&(ne("margin-left",o._container._contentMargins.left,"px")("margin-right",o._container._contentMargins.right,"px"),B("mat-drawer-content-hidden",o._shouldBeHidden()))},features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:et,decls:1,vars:0,template:function(n,o){n&1&&(ue(),Y(0))},encapsulation:2,changeDetection:0})}return i})(),Ot=(()=>{class i{_elementRef=C(se);_focusTrapFactory=C(Nn);_focusMonitor=C(Vn);_platform=C(He);_ngZone=C(te);_renderer=C(Be);_interactivityChecker=C(Xe);_doc=C(Fe);_container=C(Ft,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(e){e=e==="end"?"end":"start",e!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=_e(e)}_disableClose=!1;get autoFocus(){let e=this._autoFocus;return e??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(e){(e==="true"||e==="false"||e==null)&&(e=_e(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(_e(e))}_opened=U(!1);_openedVia=null;_animationStarted=new ae;_animationEnd=new ae;openedChange=new Ne(!0);_openedStream=this.openedChange.pipe(Se(e=>e),bt(()=>{}));openedStart=this._animationStarted.pipe(Se(()=>this.opened),wt(void 0));_closedStream=this.openedChange.pipe(Se(e=>!e),bt(()=>{}));closedStart=this._animationStarted.pipe(Se(()=>!this.opened),wt(void 0));_destroyed=new ae;onPositionChanged=new Ne;_content;_modeChanged=new ae;_injector=C(Et);_changeDetectorRef=C(je);constructor(){this.openedChange.pipe(ee(this._destroyed)).subscribe(e=>{e?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._eventCleanups=this._ngZone.runOutsideAngular(()=>{let e=this._renderer,n=this._elementRef.nativeElement;return[e.listen(n,"keydown",o=>{o.keyCode===27&&!this.disableClose&&!Ln(o)&&this._ngZone.run(()=>{this.close(),o.stopPropagation(),o.preventDefault()})}),e.listen(n,"transitionend",this._handleTransitionEvent),e.listen(n,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(e,n){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{r(),d(),e.removeAttribute("tabindex")},r=this._renderer.listen(e,"blur",o),d=this._renderer.listen(e,"mousedown",o)})),e.focus(n)}_focusByCssSelector(e,n){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,n)}_takeFocus(){if(!this._focusTrap)return;let e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Tt(()=>{!this._focusTrap.focusInitialElement()&&typeof e.focus=="function"&&e.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(e){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(e=>e()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,n){e&&n&&(this._openedVia=n);let o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,n,o){return e===this.opened?Promise.resolve(e?"open":"close"):(this._opened.set(e),this._container?._transitionsEnabled?(this._setIsAnimating(!0),setTimeout(()=>this._animationStarted.next())):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",e),!e&&n&&this._restoreFocus(o),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(un(1)).subscribe(d=>r(d?"open":"close"))}))}_setIsAnimating(e){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",e)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&!!this._container?._isShowingBackdrop())}_updatePositionInParent(e){if(!this._platform.isBrowser)return;let n=this._elementRef.nativeElement,o=n.parentNode;e==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,n)),o.appendChild(n)):this._anchor&&this._anchor.parentNode.insertBefore(n,this._anchor)}_handleTransitionEvent=e=>{let n=this._elementRef.nativeElement;e.target===n&&this._ngZone.run(()=>{e.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(e)})};static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["mat-drawer"]],viewQuery:function(n,o){if(n&1&&J(_a,5),n&2){let r;N(r=$())&&(o._content=r.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(n,o){n&2&&(ke("align",null)("tabIndex",o.mode!=="side"?"-1":null),ne("visibility",!o._container&&!o.opened?"hidden":null),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:et,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),Y(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),Vt=(()=>{class i{_dir=C(Pn,{optional:!0});_element=C(se);_ngZone=C(te);_changeDetectorRef=C(je);_animationDisabled=Ke();_transitionsEnabled=!1;_allDrawers;_drawers=new _n;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=_e(e)}_autosize=C(Ea);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:_e(e)}_backdropOverride=null;backdropClick=new Ne;_start=null;_end=null;_left=null;_right=null;_destroyed=new ae;_doCheckSubject=new ae;_contentMargins={left:null,right:null};_contentMarginChanges=new ae;get scrollable(){return this._userContent||this._content}_injector=C(Et);constructor(){let e=C(He),n=C(Dn);this._dir?.change.pipe(ee(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),n.change().pipe(ee(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&e.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(xt(this._allDrawers),ee(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(n=>!n._container||n._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(xt(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(dn(10),ee(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,n=0;if(this._left&&this._left.opened){if(this._left.mode=="side")e+=this._left._getWidth();else if(this._left.mode=="push"){let o=this._left._getWidth();e+=o,n-=o}}if(this._right&&this._right.opened){if(this._right.mode=="side")n+=this._right._getWidth();else if(this._right.mode=="push"){let o=this._right._getWidth();n+=o,e-=o}}e=e||null,n=n||null,(e!==this._contentMargins.left||n!==this._contentMargins.right)&&(this._contentMargins={left:e,right:n},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(ee(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(ee(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(ee(this._drawers.changes)).subscribe(()=>{Tt({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(ee(pn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){let n=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?n.add(o):n.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{e.position=="end"?(this._end!=null,this._end=e):(this._start!=null,this._start=e)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._drawerHasBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(e){return e!=null&&e.opened}_drawerHasBackdrop(e){return this._backdropOverride==null?!!e&&e.mode!=="side":this._backdropOverride}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(n,o,r){if(n&1&&St(r,Ye,5)(r,Ot,5),n&2){let d;N(d=$())&&(o._content=d.first),N(d=$())&&(o._allDrawers=d)}},viewQuery:function(n,o){if(n&1&&J(Ye,5),n&2){let r;N(r=$())&&(o._userContent=r.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[ve([{provide:Ft,useExisting:i}])],ngContentSelectors:ha,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(fa),f(0,ga,1,2,"div",0),Y(1),Y(2,1),f(3,Ca,2,0,"mat-drawer-content")),n&2&&(h(o.hasBackdrop?0:-1),c(3),h(o._content?-1:3))},dependencies:[Ye],styles:[`.mat-drawer-container {
285
+ `;var Ea=new yt("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),Ft=new yt("MAT_DRAWER_CONTAINER"),Ye=(()=>{class i extends we{_platform=C(He);_changeDetectorRef=C(je);_container=C(Vt);constructor(){let e=C(se),n=C(In),o=C(te);super(e,n,o)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:e,end:n}=this._container;return e!=null&&e.mode!=="over"&&e.opened||n!=null&&n.mode!=="over"&&n.opened}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(n,o){n&2&&(ne("margin-left",o._container._contentMargins.left,"px")("margin-right",o._container._contentMargins.right,"px"),B("mat-drawer-content-hidden",o._shouldBeHidden()))},features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:et,decls:1,vars:0,template:function(n,o){n&1&&(ue(),Y(0))},encapsulation:2,changeDetection:0})}return i})(),Ot=(()=>{class i{_elementRef=C(se);_focusTrapFactory=C(Nn);_focusMonitor=C(Vn);_platform=C(He);_ngZone=C(te);_renderer=C(Be);_interactivityChecker=C(Xe);_doc=C(Fe);_container=C(Ft,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(e){e=e==="end"?"end":"start",e!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=_e(e)}_disableClose=!1;get autoFocus(){let e=this._autoFocus;return e??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(e){(e==="true"||e==="false"||e==null)&&(e=_e(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(_e(e))}_opened=U(!1);_openedVia=null;_animationStarted=new ae;_animationEnd=new ae;openedChange=new Ne(!0);_openedStream=this.openedChange.pipe(Se(e=>e),bt(()=>{}));openedStart=this._animationStarted.pipe(Se(()=>this.opened),wt(void 0));_closedStream=this.openedChange.pipe(Se(e=>!e),bt(()=>{}));closedStart=this._animationStarted.pipe(Se(()=>!this.opened),wt(void 0));_destroyed=new ae;onPositionChanged=new Ne;_content;_modeChanged=new ae;_injector=C(Et);_changeDetectorRef=C(je);constructor(){this.openedChange.pipe(ee(this._destroyed)).subscribe(e=>{e?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._eventCleanups=this._ngZone.runOutsideAngular(()=>{let e=this._renderer,n=this._elementRef.nativeElement;return[e.listen(n,"keydown",o=>{o.keyCode===27&&!this.disableClose&&!Ln(o)&&this._ngZone.run(()=>{this.close(),o.stopPropagation(),o.preventDefault()})}),e.listen(n,"transitionend",this._handleTransitionEvent),e.listen(n,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(e,n){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{r(),d(),e.removeAttribute("tabindex")},r=this._renderer.listen(e,"blur",o),d=this._renderer.listen(e,"mousedown",o)})),e.focus(n)}_focusByCssSelector(e,n){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,n)}_takeFocus(){if(!this._focusTrap)return;let e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Tt(()=>{!this._focusTrap.focusInitialElement()&&typeof e.focus=="function"&&e.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(e){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(e=>e()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,n){e&&n&&(this._openedVia=n);let o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,n,o){return e===this.opened?Promise.resolve(e?"open":"close"):(this._opened.set(e),this._container?._transitionsEnabled?(this._setIsAnimating(!0),setTimeout(()=>this._animationStarted.next())):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",e),!e&&n&&this._restoreFocus(o),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(un(1)).subscribe(d=>r(d?"open":"close"))}))}_setIsAnimating(e){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",e)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&!!this._container?._isShowingBackdrop())}_updatePositionInParent(e){if(!this._platform.isBrowser)return;let n=this._elementRef.nativeElement,o=n.parentNode;e==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,n)),o.appendChild(n)):this._anchor&&this._anchor.parentNode.insertBefore(n,this._anchor)}_handleTransitionEvent=e=>{let n=this._elementRef.nativeElement;e.target===n&&this._ngZone.run(()=>{e.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(e)})};static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["mat-drawer"]],viewQuery:function(n,o){if(n&1&&J(_a,5),n&2){let r;N(r=$())&&(o._content=r.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(n,o){n&2&&(Me("align",null)("tabIndex",o.mode!=="side"?"-1":null),ne("visibility",!o._container&&!o.opened?"hidden":null),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:et,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),Y(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),Vt=(()=>{class i{_dir=C(Pn,{optional:!0});_element=C(se);_ngZone=C(te);_changeDetectorRef=C(je);_animationDisabled=Ke();_transitionsEnabled=!1;_allDrawers;_drawers=new _n;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=_e(e)}_autosize=C(Ea);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:_e(e)}_backdropOverride=null;backdropClick=new Ne;_start=null;_end=null;_left=null;_right=null;_destroyed=new ae;_doCheckSubject=new ae;_contentMargins={left:null,right:null};_contentMarginChanges=new ae;get scrollable(){return this._userContent||this._content}_injector=C(Et);constructor(){let e=C(He),n=C(Dn);this._dir?.change.pipe(ee(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),n.change().pipe(ee(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&e.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(xt(this._allDrawers),ee(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(n=>!n._container||n._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(xt(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(dn(10),ee(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,n=0;if(this._left&&this._left.opened){if(this._left.mode=="side")e+=this._left._getWidth();else if(this._left.mode=="push"){let o=this._left._getWidth();e+=o,n-=o}}if(this._right&&this._right.opened){if(this._right.mode=="side")n+=this._right._getWidth();else if(this._right.mode=="push"){let o=this._right._getWidth();n+=o,e-=o}}e=e||null,n=n||null,(e!==this._contentMargins.left||n!==this._contentMargins.right)&&(this._contentMargins={left:e,right:n},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(ee(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(ee(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(ee(this._drawers.changes)).subscribe(()=>{Tt({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(ee(pn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){let n=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?n.add(o):n.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{e.position=="end"?(this._end!=null,this._end=e):(this._start!=null,this._start=e)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._drawerHasBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(e){return e!=null&&e.opened}_drawerHasBackdrop(e){return this._backdropOverride==null?!!e&&e.mode!=="side":this._backdropOverride}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=R({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(n,o,r){if(n&1&&St(r,Ye,5)(r,Ot,5),n&2){let d;N(d=$())&&(o._content=d.first),N(d=$())&&(o._allDrawers=d)}},viewQuery:function(n,o){if(n&1&&J(Ye,5),n&2){let r;N(r=$())&&(o._userContent=r.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[ve([{provide:Ft,useExisting:i}])],ngContentSelectors:ha,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(fa),f(0,ga,1,2,"div",0),Y(1),Y(2,1),f(3,Ca,2,0,"mat-drawer-content")),n&2&&(h(o.hasBackdrop?0:-1),c(3),h(o._content?-1:3))},dependencies:[Ye],styles:[`.mat-drawer-container {
286
286
  position: relative;
287
287
  z-index: 1;
288
288
  color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
@@ -456,11 +456,11 @@ import{d as ro}from"./chunk-Y5XX3LUA.js";import{$ as Ii,A as ci,Aa as Zi,B as pi
456
456
  .mat-sidenav-fixed {
457
457
  position: fixed;
458
458
  }
459
- `],encapsulation:2,changeDetection:0})}return i})(),Je=(()=>{class i extends Ye{static \u0275fac=(()=>{let e;return function(o){return(e||(e=$e(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:et,decls:1,vars:0,template:function(n,o){n&1&&(ue(),Y(0))},encapsulation:2,changeDetection:0})}return i})(),Nt=(()=>{class i extends Ot{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=_e(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=kt(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=kt(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=$e(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(n,o){n&2&&(ke("tabIndex",o.mode!=="side"?"-1":null)("align",null),ne("top",o.fixedInViewport?o.fixedTopGap:null,"px")("bottom",o.fixedInViewport?o.fixedBottomGap:null,"px"),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side")("mat-sidenav-fixed",o.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[ve([{provide:Ot,useExisting:i}]),Ae],ngContentSelectors:et,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),Y(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),co=(()=>{class i extends Vt{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=$e(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(n,o,r){if(n&1&&St(r,Je,5)(r,Nt,5),n&2){let d;N(d=$())&&(o._content=d.first),N(d=$())&&(o._allDrawers=d)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},exportAs:["matSidenavContainer"],features:[ve([{provide:Ft,useExisting:i},{provide:Vt,useExisting:i}]),Ae],ngContentSelectors:ba,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(va),f(0,wa,1,2,"div",0),Y(1),Y(2,1),f(3,xa,2,0,"mat-sidenav-content")),n&2&&(h(o.hasBackdrop?0:-1),c(3),h(o._content?-1:3))},dependencies:[Je],styles:[ya],encapsulation:2,changeDetection:0})}return i})(),po=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=qe({type:i});static \u0275inj=Ve({imports:[Mt,We,Mt]})}return i})();function uo(i){if(!((i.ctrlKey||i.metaKey)&&!i.shiftKey&&i.key.toLowerCase()==="z"))return!1;let e=i.target,n=e?.tagName;return!(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||e?.isContentEditable)}var la=pa(ia());function an(i){let t=[];for(let e of i)for(let n of e.events)t.push(`${e.id}:${n.pr}`);return t}function oa(i,t){if(!Array.isArray(t))return i;let e=new Set(t.filter(n=>typeof n=="string"));return i.filter(n=>!e.has(n))}var ra="fb-whats-new-seen",mt=class i{corpus=C(ro);_hasUnseen=U(!1);hasUnseen=this._hasUnseen.asReadonly();init(){return O(this,null,function*(){let t=yield this.corpus.load(),e=oa(an(t),this.readSeen());this._hasUnseen.set(e.length>0)})}markAllSeen(){return O(this,null,function*(){let t=yield this.corpus.load();this.writeSeen(an(t)),this._hasUnseen.set(!1)})}readSeen(){try{let t=localStorage.getItem(ra);return t===null?null:JSON.parse(t)}catch(t){return null}}writeSeen(t){try{localStorage.setItem(ra,JSON.stringify(t))}catch(e){}}static \u0275fac=function(e){return new(e||i)};static \u0275prov=mn({token:i,factory:i.\u0275fac,providedIn:"root"})};var Oc=["frame"],_t=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;placed=ce.required();frame;url;detach=null;ngOnInit(){let t=this.service.widgetDef(this.placed().extension,this.placed().widget);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(t?.url?this.service.resolveAssetUrl(t.url):"about:blank"),this.detach=this.service.attachWidget(this.frame.nativeElement,this.placed())}onFrameLoad(){}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-widget"]],viewQuery:function(e,n){if(e&1&&J(Oc,7),e&2){let o;N(o=$())&&(n.frame=o.first)}},inputs:{placed:[1,"placed"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"load","src","title"]],template:function(e,n){e&1&&(Cn(0,"iframe",1,0),bn("load",function(){return n.onFrameLoad()}),vn()),e&2&&Ce("src",n.url,le)("title",n.placed().widget)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none;background:transparent}"]})};var Vc=()=>[],Fc=(i,t)=>t.type+t.extension,Nc=(i,t)=>t.instanceId;function $c(i,t){if(i&1){let e=y();a(0,"div",3)(1,"mat-icon",4),p(2,"filter_alt"),s(),a(3,"span",5),p(4),s(),a(5,"button",6),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.clearChip(o))}),a(6,"mat-icon"),p(7,"close"),s()()()}if(i&2){let e=t.$implicit;c(4),z(e.label)}}function Bc(i,t){if(i&1&&(a(0,"div",2),G(1,$c,8,1,"div",3,Fc),s()),i&2){let e=l();B("pe-chips-low",(e.byAnchor().ct??xn(2,Vc)).length>0),c(),H(e.service.filterChips())}}function qc(i,t){if(i&1&&(a(0,"div",9),v(1,"fb-plotterext-widget",10),s()),i&2){let e=t.$implicit,n=l(2);At(n.cellStyle(e)),c(),x("placed",e)}}function Uc(i,t){if(i&1&&(a(0,"div",7),G(1,qc,2,3,"div",8,Nc),s()),i&2){let e=t.$implicit,n=l();At(n.anchorStyle(e)),wn("pe-"+e),ke("data-anchor",e),c(),H(n.byAnchor()[e])}}var zc=1500,aa=8,ht=class i{anchors=Dt;byAnchor=be(()=>{let t={};for(let e of Dt)t[e]=[];for(let e of this.service.activeWidgets())t[e.anchor]?.push(e);return t});service=C(j);zone=C(te);host=C(se);holdTimer=null;downPoint=null;onPointerDown=t=>this.pointerDown(t);onPointerMove=t=>this.pointerMove(t);onPointerEnd=()=>this.cancelHold();unregisterHitTester=null;ngOnInit(){this.unregisterHitTester=this.service.registerHitTester((t,e)=>this.hitTest(t,e)),this.zone.runOutsideAngular(()=>{document.addEventListener("pointerdown",this.onPointerDown,!0),document.addEventListener("pointermove",this.onPointerMove,!0),document.addEventListener("pointerup",this.onPointerEnd,!0),document.addEventListener("pointercancel",this.onPointerEnd,!0)})}ngOnDestroy(){this.cancelHold(),this.unregisterHitTester?.(),this.unregisterHitTester=null,document.removeEventListener("pointerdown",this.onPointerDown,!0),document.removeEventListener("pointermove",this.onPointerMove,!0),document.removeEventListener("pointerup",this.onPointerEnd,!0),document.removeEventListener("pointercancel",this.onPointerEnd,!0)}anchorStyle(t){let e={"grid-template-columns":`repeat(${Rt[t].cols}, var(--pe-cell-w))`};if(t!=="ct"&&t!=="cb")return e;let n=new Set;for(let r of this.byAnchor()[t]??[]){let d=this.service.widgetDef(r.extension,r.widget),{cols:g}=Lt(d?.size??"1x1");for(let E=r.col;E<r.col+g&&E<2;E++)n.add(E)}let o="0px";return n.size===1&&(o=n.has(0)?"calc((var(--pe-cell-w) + var(--pe-gap)) / 2)":"calc((var(--pe-cell-w) + var(--pe-gap)) / -2)"),e["--pe-center-shift"]=o,e}cellStyle(t){let e=this.service.widgetDef(t.extension,t.widget),{cols:n,rows:o}=Lt(e?.size??"1x1");return{"grid-column":`${t.col+1} / span ${n}`,"grid-row":`${t.row+1} / span ${o}`}}clearChip(t){this.service.clearResourceFilter(t.extension,t.type)}pointerDown(t){if(this.cancelHold(),!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||t.target?.closest(".cdk-overlay-container, mat-dialog-container, button, mat-toolbar, .pe-cell, .pe-chips"))return;let n=this.hitTest(t.clientX,t.clientY);n&&(this.service.cellOccupied(n.anchor,n.cell)||(this.downPoint={x:t.clientX,y:t.clientY},this.holdTimer=setTimeout(()=>{this.holdTimer=null,this.zone.run(()=>this.service.openAddWidgetPicker(n.anchor,n.cell))},zc)))}pointerMove(t){if(!this.holdTimer||!this.downPoint)return;let e=t.clientX-this.downPoint.x,n=t.clientY-this.downPoint.y;e*e+n*n>aa*aa&&this.cancelHold()}cancelHold(){this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=null,this.downPoint=null}hitTest(t,e){let n=this.host.nativeElement.querySelectorAll(".pe-anchor");for(let o of Array.from(n)){let r=o.getBoundingClientRect();if(t<r.left||t>r.right||e<r.top||e>r.bottom)continue;let d=o.dataset.anchor,{cols:g,rows:E}=Rt[d],T=Math.min(g-1,Math.max(0,Math.floor((t-r.left)/r.width*g))),P=Math.min(E-1,Math.max(0,Math.floor((e-r.top)/r.height*E)));return{anchor:d,cell:{col:T,row:P}}}return null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-overlay"]],decls:3,vars:1,consts:[[1,"pe-chips",3,"pe-chips-low"],[1,"pe-anchor",3,"class","style"],[1,"pe-chips"],[1,"pe-chip"],[1,"pe-chip-icon"],[1,"pe-chip-label"],["aria-label","Clear filter",1,"pe-chip-clear",3,"click"],[1,"pe-anchor"],[1,"pe-cell",3,"style"],[1,"pe-cell"],[3,"placed"]],template:function(e,n){e&1&&(f(0,Bc,3,3,"div",0),G(1,Uc,3,5,"div",1,Ue)),e&2&&(h(n.service.filterChips().length?0:-1),c(),H(n.anchors))},dependencies:[_t,ye,xe],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:2000;pointer-events:none;--pe-cell-w: clamp(96px, 11vw, 150px);--pe-cell-h: clamp(84px, 9.5vw, 124px);--pe-gap: 6px;--pe-margin: 10px}.pe-anchor[_ngcontent-%COMP%]{position:absolute;display:grid;grid-template-rows:repeat(2,var(--pe-cell-h));gap:var(--pe-gap);pointer-events:none}.pe-tr[_ngcontent-%COMP%]{top:0;right:0}.pe-ct[_ngcontent-%COMP%]{top:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-cb[_ngcontent-%COMP%]{bottom:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-bl[_ngcontent-%COMP%]{bottom:0;left:0}.pe-br[_ngcontent-%COMP%]{bottom:0;right:0}.pe-cell[_ngcontent-%COMP%]{pointer-events:auto;overflow:hidden;border-radius:10px;box-shadow:0 1px 5px #00000059}.pe-chips[_ngcontent-%COMP%]{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto;z-index:1}.pe-chips-low[_ngcontent-%COMP%]{top:calc(2 * var(--pe-cell-h) + var(--pe-gap) + 10px)}.pe-chip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;background:#141a20d9;color:#e8edf2;border-radius:16px;padding:3px 6px 3px 10px;font-size:12px;max-width:320px;box-shadow:0 1px 4px #00000059}.pe-chip-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#29b6f6}.pe-chip-label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-chip-clear[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff26;color:#e8edf2;border-radius:50%;width:20px;height:20px;padding:0;cursor:pointer}.pe-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}"]})};var jc=["frame"],Gc=(i,t)=>t.key;function Hc(i,t){if(i&1&&v(0,"fb-plotterext-runtime",0),i&2){let e=t.$implicit;x("entry",e)}}var sn=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;entry=ce.required();frame;url;detach=null;ngOnInit(){let{extension:t,runtime:e}=this.entry();this.url=this.sanitizer.bypassSecurityTrustResourceUrl(e.url?this.service.resolveAssetUrl(e.url):"about:blank"),this.detach=this.service.attachBackground(this.frame.nativeElement,{extension:t,runtime:e})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-runtime"]],viewQuery:function(e,n){if(e&1&&J(jc,7),e&2){let o;N(o=$())&&(n.frame=o.first)}},inputs:{entry:[1,"entry"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms","aria-hidden","true",3,"src","title"]],template:function(e,n){e&1&&ze(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.entry().runtime.id)},styles:["[_nghost-%COMP%]{display:none}"]})},gt=class i{service=C(j);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-runtimes"]],decls:2,vars:0,consts:[[3,"entry"]],template:function(e,n){e&1&&G(0,Hc,1,1,"fb-plotterext-runtime",0,Gc),e&2&&H(n.service.backgroundRuntimes())},dependencies:[sn],styles:["[_nghost-%COMP%]{display:none}"]})};var Xc=["frame"],Kc=(i,t)=>t.key;function Zc(i,t){if(i&1){let e=y();a(0,"div",1)(1,"span"),p(2),s(),a(3,"button",4),_("click",function(){u(e);let o=l();return m(o.service.closeVisiblePanel())}),a(4,"mat-icon"),p(5,"close"),s()()()}i&2&&(c(2),z(t.panel.title))}function Qc(i,t){if(i&1&&(a(0,"div",5),v(1,"fb-plotterext-panel-frame",6),s()),i&2){let e=t.$implicit;B("pe-body-hidden",!e.visible),c(),x("panelKey",e.key)("extension",e.extension)("panel",e.panel)}}var ln=class i{panelKey=ce.required();extension=ce.required();panel=ce.required();frame;url;detach=null;service=C(j);sanitizer=C(pe);ngOnInit(){this.url=this.sanitizer.bypassSecurityTrustResourceUrl(this.panel().url?this.service.resolveAssetUrl(this.panel().url):"about:blank"),this.detach=this.service.attachPanel(this.frame.nativeElement,{extension:this.extension(),panel:this.panel(),close:()=>this.service.closePanel(this.panelKey())})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-panel-frame"]],viewQuery:function(e,n){if(e&1&&J(Xc,7),e&2){let o;N(o=$())&&(n.frame=o.first)}},inputs:{panelKey:[1,"panelKey"],extension:[1,"extension"],panel:[1,"panel"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"]],template:function(e,n){e&1&&ze(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.panel().title)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}"]})},Ct=class i{service=C(j);isOpen=be(()=>!!this.service.visiblePanel());constructor(){let t=!0;oe(()=>{if(this.isOpen(),t){t=!1;return}this.service.pulseMapResize()})}onTransitionEnd(t){t.propertyName==="width"&&this.service.pulseMapResize(80)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-panel-drawer"]],hostVars:2,hostBindings:function(e,n){e&2&&B("pe-open",n.isOpen())},decls:5,vars:1,consts:[[1,"pe-drawer-inner",3,"transitionend"],[1,"pe-drawer-head"],[1,"pe-drawer-bodies"],[1,"pe-drawer-body",3,"pe-body-hidden"],["mat-icon-button","","aria-label","Close panel",3,"click"],[1,"pe-drawer-body"],[3,"panelKey","extension","panel"]],template:function(e,n){if(e&1&&(a(0,"div",0),_("transitionend",function(r){return n.onTransitionEnd(r)}),f(1,Zc,6,1,"div",1),a(2,"div",2),G(3,Qc,2,5,"div",3,Kc),s()()),e&2){let o;c(),h((o=n.service.visiblePanel())?1:-1,o),c(2),H(n.service.openPanels())}},dependencies:[Qe,Ze,ye,xe,ln],styles:["[_nghost-%COMP%]{flex:0 0 auto;height:100%;width:0;max-width:92vw;overflow:hidden;background:#1d242b;color:#e8edf2}.pe-open[_nghost-%COMP%]{width:390px;box-shadow:-2px 0 8px #0006}.pe-drawer-inner[_ngcontent-%COMP%]{width:390px;max-width:92vw;height:100%;display:flex;flex-direction:column}.pe-drawer-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.pe-drawer-bodies[_ngcontent-%COMP%]{flex:1;min-height:0;position:relative}.pe-drawer-body[_ngcontent-%COMP%]{position:absolute;inset:0}.pe-body-hidden[_ngcontent-%COMP%]{visibility:hidden;pointer-events:none}"]})};var Yc=["sideright"],Jc=["fbMap"],ep=()=>[Ai],tp=()=>[Di],np=()=>[Ti],ip=()=>[gi],op=()=>[vi],rp=()=>[Si],ap=()=>[wi],sp=()=>[Li],lp=()=>[Fi],cp=()=>[Ni],pp=(i,t)=>({"dark-theme":i,"app-night":t}),he=(i,t)=>({"button-primary":i,"button-toolbar":t}),dp=(i,t)=>t.extension+"/"+t.button.id,up=(i,t)=>t[0];function mp(i,t){if(i&1){let e=y();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("resourceGroups",!0))}),a(1,"mat-icon"),p(2,"category"),s(),p(3," \xA0Groups "),s()}}function _p(i,t){if(i&1){let e=y();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("infoLayerList",!0))}),a(1,"mat-icon"),p(2,"layers"),s(),p(3," \xA0Overlays "),s()}}function fp(i,t){if(i&1){let e=y();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("trackList",!0))}),a(1,"mat-icon",33),p(2,"show_chart"),s(),p(3," \xA0Tracks "),s()}}function hp(i,t){if(i&1){let e=y();a(0,"div")(1,"button",9),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.openExperiment({choice:o,value:null}))}),v(2,"mat-icon",34),p(3),s()()}if(i&2){let e=t.$implicit;c(3),me(" \xA0",e," ")}}function gp(i,t){if(i&1&&(a(0,"div"),G(1,hp,4,1,"div",null,Ue),s()),i&2){let e=l();c(),H(e.app.config.resources.paths.sort())}}function Cp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearTrail(o.app.data.serverTrail))}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.trailToRoute())}),a(6,"mat-icon"),p(7,"insights"),s(),a(8,"span"),p(9,"Trail to Route"),s()(),v(10,"mat-divider")}if(i&2){let e=l();c(4),me("",e.app.data.serverTrail?"Refresh":"Clear"," Trail")}}function vp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearDestination())}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4,"Stop Navigating"),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.clearCourseData())}),a(6,"mat-icon"),p(7,"clear_all"),s(),a(8,"span"),p(9,"Clear Course Data"),s()(),v(10,"mat-divider")}}function bp(i,t){if(i&1){let e=y();v(0,"mat-divider"),a(1,"a",9),_("click",function(){u(e);let o=l();return m(o.showWeather("forecast"))}),a(2,"mat-icon"),p(3,"air"),s(),a(4,"span"),p(5,"Weather Forecast"),s()()}}function wp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.skres.newWaypointAt(o.app.data.vessels.active.position))}),a(1,"mat-icon",11),p(2,"add_location"),s(),a(3,"span"),p(4,"Add Waypoint at Vessel"),s()()}}function xp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.drawFeature("note"))}),a(1,"mat-icon"),p(2,"local_offer"),s(),a(3,"span"),p(4,"Add Note"),s()()}}function yp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showLogin(null,!1))}),a(1,"mat-icon",35),p(2," account_circle "),s(),a(3,"span"),p(4),s()(),v(5,"mat-divider")}if(i&2){let e=l();c(),x("matBadgeHidden",e.app.isLoggedIn()),c(3),z(e.app.isLoggedIn()?"Change User":"Login")}}function Ep(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("anchorWatch",!0))}),a(1,"mat-icon"),p(2,"anchor"),s(),a(3,"span"),p(4,"Anchor Watch"),s()()}}function Tp(i,t){i&1&&(a(0,"mat-icon",16),p(1,"check_box"),s())}function Sp(i,t){i&1&&v(0,"mat-icon",36)}function Ap(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showRadarPanel())}),f(1,Tp,2,0,"mat-icon",16)(2,Sp,1,0,"mat-icon",36),a(3,"span"),p(4,"Radar Overlay"),s()()}if(i&2){let e=l();c(),h(e.app.uiCtrl().radarLayer?1:2)}}function kp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showPlaybackSettings())}),a(1,"mat-icon"),p(2,"history"),s(),a(3,"span"),p(4,"Playback History"),s()()}}function Mp(i,t){if(i&1){let e=y();a(0,"radar-panel",43),_("connect",function(){u(e);let o=l(2);return m(o.connectRadar())})("disconnect",function(){u(e);let o=l(2);return m(o.disconnectRadar())}),s()}if(i&2){let e=l(2);x("radar",e.infoPanel.item().resource)("id",e.infoPanel.item().id)}}function Pp(i,t){if(i&1){let e=y();a(0,"note-panel",44),_("edit",function(o){u(e);let r=l(2);return m(r.skres.showNoteEditor({id:o}))})("move",function(o){u(e);let r=l(2);return m(r.onNoteMove(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("note",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("interacting",e.isInteracting())}}function Ip(i,t){if(i&1){let e=y();a(0,"region-panel",45),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editRegionInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("region",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Dp(i,t){if(i&1){let e=y();a(0,"waypoint-panel",46),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editWaypointInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("waypoint",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Rp(i,t){if(i&1){let e=y();a(0,"route-panel",47),_("edit",function(o){u(e);let r=l(2);return m(r.onRouteInfoEdit(o))})("activate",function(o){u(e);let r=l(2);return m(r.activateRoute(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("route",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Lp(i,t){if(i&1){let e=y();a(0,"info-panel",37),_("closed",function(){u(e);let o=l();return m(o.closeDrawer())}),f(1,Mp,1,2,"radar-panel",38),f(2,Pp,1,3,"note-panel",39),f(3,Ip,1,4,"region-panel",40),f(4,Dp,1,4,"waypoint-panel",41),f(5,Rp,1,4,"route-panel",42),s()}if(i&2){let e,n,o,r,d,g=l();c(),h(((e=g.infoPanel.item())==null?null:e.type)==="radars"?1:-1),c(),h(((n=g.infoPanel.item())==null?null:n.type)==="notes"?2:-1),c(),h(((o=g.infoPanel.item())==null?null:o.type)==="regions"?3:-1),c(),h(((r=g.infoPanel.item())==null?null:r.type)==="waypoints"?4:-1),c(),h(((d=g.infoPanel.item())==null?null:d.type)==="routes"?5:-1)}}function Op(i,t){if(i&1){let e=y();a(0,"a",55),_("click",function(){u(e);let o=l(2);return m(o.closeInstrumentPanel())}),a(1,"mat-icon"),p(2,"open_in_new"),s()()}if(i&2){let e=l(2);x("href",e.instUrl(),fn)}}function Vp(i,t){if(i&1&&v(0,"iframe",54),i&2){let e=l(2);x("src",e.instUrl(),le)}}function Fp(i,t){if(i&1){let e=y();a(0,"div",22)(1,"mat-nav-list")(2,"a",48)(3,"a",49),_("click",function(){u(e);let o=l();return m(o.closeInstrumentPanel())}),a(4,"mat-icon"),p(5,"arrow_forward"),s()(),p(6," \xA0\xA0\xA0\xA0 "),f(7,Op,3,1,"a",50),a(8,"a",51),_("click",function(){u(e);let o=l();return m(o.selectPlugin())}),a(9,"mat-icon"),p(10,"arrow_back_ios"),s()(),a(11,"a",52),_("click",function(){u(e);let o=l();return m(o.selectPlugin(!0))}),a(12,"mat-icon"),p(13,"arrow_forward_ios"),s()()(),v(14,"mat-divider"),s(),a(15,"div",53),f(16,Vp,1,1,"iframe",54),s()()}if(i&2){let e=l();c(7),h(e.app.config.display.plugins.instruments?7:-1),c(),x("disabled",e.app.config.display.plugins.favourites.length===0),c(3),x("disabled",e.app.config.display.plugins.favourites.length===0),c(5),h(e.app.instrumentPanel().activate?16:-1)}}function Np(i,t){i&1&&(a(0,"div",24),v(1,"mat-progress-bar",56),s())}function $p(i,t){if(i&1){let e=y();a(0,"autopilot-console",57),_("close",function(){u(e);let o=l();return m(o.toggleAutopilotConsole(!1))}),s()}if(i&2){let e=l();x("apData",e.app.data.vessels.self.autopilot)}}function Bp(i,t){if(i&1){let e=y();a(0,"route-builder",58),_("save",function(o){u(e);let r=l();return m(r.skres.newRouteAt(o.coordinates,o.meta))})("close",function(){u(e);let o=l();return m(o.toggleRouteBuilderConsole(!1))}),s()}}function qp(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",78),_("click",function(){u(e);let o=l(3);return m(o.showSelectMode())}),a(2,"mat-icon"),p(3,"cancel"),s()()()}}function Up(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",79),_("click",function(){u(e);let o=l(3);return m(o.openFeatureBrowser())}),a(2,"mat-icon"),p(3,"tips_and_updates"),s()()()}}function zp(i,t){if(i&1){let e=y();a(0,"div",62)(1,"div",60)(2,"button",69),_("click",function(){u(e);let o=l(2);return m(o.toggleAlertList(!0))}),v(3,"mat-icon",70),s()(),a(4,"div",60)(5,"button",71)(6,"mat-icon"),p(7,"layers"),s()()(),a(8,"div",60)(9,"button",72)(10,"mat-icon"),p(11,"edit"),s()()(),a(12,"div",60)(13,"button",73),_("click",function(){u(e);let o=l(2);return m(o.toggleNorthUp())}),v(14,"mat-icon",74),s()(),a(15,"div",60)(16,"button",75),_("click",function(){u(e);let o=l(2);return m(o.toggleMoveMap())}),v(17,"mat-icon",76),s()(),a(18,"div",60)(19,"button",77)(20,"mat-icon"),p(21,"more_horiz"),s()()(),f(22,qp,4,0,"div",60),f(23,Up,4,0,"div",60),s()}if(i&2){let e=l(2),n=Me(3),o=Me(41),r=Me(73);c(2),x("matBadge",e.notiMgr.alerts().length)("matBadgeHidden",e.notiMgr.alerts().length===0),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",n),c(4),x("disabled",e.isInteracting())("matMenuTriggerFor",r),c(4),x("ngClass",re(16,he,!e.app.uiConfig().mapNorthUp,e.app.uiConfig().mapNorthUp))("matTooltip",e.app.uiConfig().mapNorthUp?"Show Heading Up":"Show North Up"),c(),x("svgIcon",e.app.uiConfig().mapNorthUp?"heading-n-up":"heading-h-up"),c(2),x("ngClass",re(19,he,e.app.uiConfig().mapMove,!e.app.uiConfig().mapMove))("disabled",!e.app.data.vessels.showSelf)("matTooltip",e.app.uiConfig().mapMove?"Turn off Follow Vessel":"Center & Follow Vessel"),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",o),c(3),h(e.mode===1?22:-1),c(),h(e.whatsNew.hasUnseen()?23:-1)}}function jp(i,t){if(i&1){let e=y();a(0,"route-list",81),_("activate",function(o){u(e);let r=l(4);return m(r.activateRoute(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("routes",o.id))})("points",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o.id,type:"route"}))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"route",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeRoute",e.app.data.activeRoute)("editingRouteId",e.app.data.editingId)}}function Gp(i,t){i&1&&(K(0,jp,1,2),Z(1,0,ep),Q())}function Hp(i,t){if(i&1){let e=y();a(0,"waypoint-list",82),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("waypoints",o.id))})("goto",function(o){u(e);let r=l(4);return m(r.course.navigateToWaypoint(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"waypoint",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeWaypoint",e.app.data.activeWaypoint)("editingWaypointId",e.app.data.editingId)}}function Wp(i,t){i&1&&(K(0,Hp,1,2),Z(1,0,tp),Q())}function Xp(i,t){if(i&1){let e=y();a(0,"chart-list",83),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("selectedCharts",e.app.config.selections.charts)}}function Kp(i,t){i&1&&(K(0,Xp,1,1),Z(1,0,np),Q())}function Zp(i,t){if(i&1){let e=y();a(0,"note-list",84),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("notes",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("notes",e.skres.notes())}}function Qp(i,t){i&1&&(K(0,Zp,1,1),Z(1,0,ip),Q())}function Yp(i,t){if(i&1){let e=y();a(0,"region-list",85),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("regions",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("regions",e.skres.regions())}}function Jp(i,t){i&1&&(K(0,Yp,1,1),Z(1,0,op),Q())}function ed(i,t){if(i&1){let e=y();a(0,"track-list",86),_("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function td(i,t){i&1&&(K(0,ed,1,0),Z(1,0,rp),Q())}function nd(i,t){if(i&1){let e=y();a(0,"ais-list",87),_("properties",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o,type:"ais"}))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())})("focusVessel",function(o){u(e);let r=l(4);return m(r.switchActiveVessel(o))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(4);x("focusId",e.app.data.vessels.activeId)}}function id(i,t){i&1&&(K(0,nd,1,1),Z(1,0,ap),Q())}function od(i,t){if(i&1){let e=y();a(0,"group-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function rd(i,t){i&1&&(K(0,od,1,0),Z(1,0,sp),Q())}function ad(i,t){if(i&1){let e=y();a(0,"infolayer-list",88),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())})("paramChanged",function(o){u(e);let r=l(4);return m(r.onInfoLayerParamChange(o))}),s()}}function sd(i,t){i&1&&(K(0,ad,1,0),Z(1,0,lp),Q())}function ld(i,t){if(i&1){let e=y();a(0,"anchor-watch",89),_("closed",function(){u(e);let o=l(3);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(3);x("showSelf",e.app.data.vessels.showSelf)("radius",e.anchor.radius())("raised",e.anchor.raised())}}function cd(i,t){if(i&1){let e=y();a(0,"weather-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function pd(i,t){i&1&&(K(0,cd,1,0),Z(1,0,cp),Q())}function dd(i,t){if(i&1&&(a(0,"div",63),f(1,Gp,3,0),f(2,Wp,3,0),f(3,Kp,3,0),f(4,Qp,3,0),f(5,Jp,3,0),f(6,td,3,0),f(7,id,3,0),f(8,rd,3,0),f(9,sd,3,0),f(10,ld,1,3,"anchor-watch",80),f(11,pd,3,0),s()),i&2){let e=l(2);c(),h(e.leftMenuCtrl().routeList?1:-1),c(),h(e.leftMenuCtrl().waypointList?2:-1),c(),h(e.leftMenuCtrl().chartList?3:-1),c(),h(e.leftMenuCtrl().noteList?4:-1),c(),h(e.leftMenuCtrl().regionList?5:-1),c(),h(e.leftMenuCtrl().trackList?6:-1),c(),h(e.leftMenuCtrl().aisList?7:-1),c(),h(e.leftMenuCtrl().resourceGroups?8:-1),c(),h(e.leftMenuCtrl().infoLayerList?9:-1),c(),h(e.leftMenuCtrl().anchorWatch?10:-1),c(),h(e.leftMenuCtrl().weatherList?11:-1)}}function ud(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",90),p(2,"visibility_off "),s()())}function md(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",91),p(2,"compare_arrows "),s()())}function _d(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",92),p(2,"directions_boat "),s()())}function fd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",93),p(2,"local_offer "),s()())}function hd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",94),p(2,"signal_wifi_statusbar_connected_no_internet_4 "),s()())}function gd(i,t){if(i&1){let e=y();a(0,"button",100),_("click",function(){u(e);let o=l(4);return m(o.openInstrumentPanel())}),a(1,"mat-icon"),p(2,"av_timer"),s()()}}function Cd(i,t){if(i&1&&(a(0,"div",96),f(1,gd,3,0,"button",99),v(2,"br"),p(3,"\xA0"),v(4,"br"),p(5,"\xA0 "),s()),i&2){let e=l(3);c(),h(!e.app.instrumentPanel().open&&!e.infoPanel.opened()&&!e.isInteracting()&&!e.app.data.vessels.activeId?1:-1)}}function vd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",101),_("click",function(){u(e);let o=l(3);return m(o.enableAudio())}),a(2,"mat-icon",33),p(3,"volume_off"),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}}function bd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",102),_("click",function(){u(e);let o=l(3);return m(o.toggleFullscreen())}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(3,he,e.displayFullscreen().active,!e.displayFullscreen().active))("matTooltip",e.displayFullscreen().active?"Exit Fullscreen ":"Go Fullscreen"),c(2),me(" ",e.displayFullscreen().active?"fullscreen_exit ":"fullscreen"," ")}}function wd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"fb-experiments",103),_("selected",function(o){u(e);let r=l(3);return m(r.openExperiment(o))}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}}function xd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"pip-video",104),_("click",function(){u(e);let o=l(3);return m(o.focusMap())}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}if(i&2){let e=l(3);c(),x("src",e.vidUrl())("muted",!0)}}function yd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",105),_("click",function(){u(e);let o=l(3);return m(o.toggleAutopilotConsole(!0))}),v(2,"mat-icon",106),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(1,he,e.app.data.vessels.self.autopilot.enabled,!e.app.data.vessels.self.autopilot.enabled))}}function Ed(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",107),_("click",function(){u(e);let o=l(3);return m(o.showRadarPanel())}),v(2,"mat-icon",36),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(2,he,e.app.uiCtrl().radarLayer,!e.app.uiCtrl().radarLayer))("disabled",e.app.instrumentPanel().open)}}function Td(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",108),_("click",function(){let o=u(e).$implicit,r=l(3);return m(r.plotterExt.handleButtonAction(o.extension,o.button))}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=t.$implicit;c(),x("matTooltip",e.button.title),c(2),z(e.button.icon||"extension")}}function Sd(i,t){if(i&1){let e=y();a(0,"div",95),f(1,Cd,6,1,"div",96),f(2,vd,7,0,"div",60),f(3,bd,7,6,"div",60),a(4,"div",60)(5,"button",97),_("click",function(){u(e);let o=l(2);return m(o.toggleConstrainMapZoom())}),a(6,"mat-icon"),p(7,"zoom_in_map"),s()(),v(8,"br"),p(9,"\xA0"),v(10,"br"),s(),a(11,"div",60)(12,"button",98),_("click",function(){u(e);let o=l(2);return m(o.invertFeatureLabelColor())}),a(13,"mat-icon"),p(14),s()(),v(15,"br"),p(16,"\xA0"),v(17,"br"),s(),f(18,wd,5,0,"div",60),f(19,xd,5,2,"div",60),f(20,yd,6,4,"div",60),f(21,Ed,6,5,"div",60),G(22,Td,7,2,"div",60,dp),s()}if(i&2){let e=l(2);ne("top",60+e.plotterExt.toolbarTopOffset(),"px"),c(),h(e.app.instrumentPanelAvailable()&&e.app.config.display.plugins.instruments?1:-1),c(),h(e.audioStatus()!=="running"?2:-1),c(),h(e.app.isTopWindow()&&e.displayFullscreen().enabled?3:-1),c(2),x("ngClass",re(12,he,e.app.uiConfig().mapConstrainZoom,!e.app.uiConfig().mapConstrainZoom)),c(7),x("ngClass",re(15,he,e.app.uiConfig().invertColor,!e.app.uiConfig().invertColor)),c(2),z("invert_colors"),c(4),h(e.app.config.experiments?18:-1),c(),h(e.app.config.resources.video.enable&&e.app.config.resources.video.url?19:-1),c(),h(e.app.featureFlags().autopilotApi&&e.app.data.vessels.self.autopilot.default&&e.app.config.display.fab!=="autopilot"?20:-1),c(),h(e.app.featureFlags().radarApi&&e.radarApi.radarId()&&e.app.config.display.fab!=="radar"?21:-1),c(),H(e.plotterExt.toolbarButtons())}}function Ad(i,t){if(i&1){let e=y();a(0,"div",59)(1,"div",60)(2,"button",61)(3,"mat-icon"),p(4,"menu"),s()()()(),f(5,zp,24,22,"div",62),f(6,dd,12,11,"div",63),a(7,"div",64),f(8,ud,3,0,"div",65),f(9,md,3,0,"div",65),f(10,_d,3,0,"div",65),f(11,fd,3,0,"div",65),f(12,hd,3,0,"div",65),s(),a(13,"div",66)(14,"div",60)(15,"button",67),_("click",function(){u(e);let o=l();return m(o.toggleToolbarButtons())}),a(16,"mat-icon"),p(17),s()()()(),f(18,Sd,24,18,"div",68)}if(i&2){let e=l(),n=Me(109);c(2),x("disabled",e.isInteracting())("matBadgeHidden",e.app.isLoggedIn())("matMenuTriggerFor",n),c(3),h(e.app.uiConfig().toolbarButtons?5:-1),c(),h(e.leftMenuCtrl().leftMenuPanel?6:-1),c(),ne("top",20+e.plotterExt.toolbarTopOffset(),"px"),c(),h(!e.wakeLock.enabled()&&e.wakeLock.isAvailable?8:-1),c(),h(e.app.uiConfig().showCourseData?-1:9),c(),h(e.app.uiConfig().showAisTargets?-1:10),c(),h(e.app.uiConfig().showNotes?-1:11),c(),h(e.stream.watchDogAlarm()?12:-1),c(),ne("top",e.plotterExt.toolbarTopOffset(),"px"),c(2),x("matTooltip",e.app.uiConfig().toolbarButtons?"Hide Toobars":"Show Toobars"),c(2),z(e.app.uiConfig().toolbarButtons?"apps":"apps_outage"),c(),h(e.app.uiConfig().toolbarButtons?18:-1)}}function kd(i,t){if(i&1&&(a(0,"div",30)(1,"div",109)(2,"mat-icon"),p(3,"access_time"),s(),a(4,"b"),p(5,"Playback:"),s()(),a(6,"div",110),p(7),s()()),i&2){let e=l();c(7),z(e.playbackTime())}}function Md(i,t){if(i&1){let e=y();a(0,"alert-list",114),_("closed",function(){u(e);let o=l(2);return m(o.toggleAlertList(!1))}),s()}if(i&2){let e=l(2);x("alerts",e.notiMgr.alerts())}}function Pd(i,t){if(i&1){let e=y();a(0,"span",113)(1,"fb-alert",115),_("nextPoint",function(){u(e);let o=l(2);return m(o.course.coursePointIndex(o.course.courseData().pointIndex+1))})("routeEnd",function(){u(e);let o=l(2);return m(o.clearDestination())}),s()()}if(i&2){let e=t.$implicit,n=l(2);c(),x("audioStatus",n.audioStatus())("alert",e[1])("acknowledged",e[1].acknowledged)("silenced",e[1].silenced)("doNotPlaySound",n.app.config.display.muteSound)}}function Id(i,t){if(i&1&&(f(0,Md,1,1,"alert-list",111),a(1,"div",112),G(2,Pd,2,5,"span",113,up),s()),i&2){let e=l();h(e.app.uiCtrl().alertList?0:-1),c(2),H(e.notiMgr.alerts())}}function Dd(i,t){if(i&1){let e=y();a(0,"fb-interact-help",116),_("finish",function(){u(e);let o=l();return m(o.handleInteractionFinish())})("cancel",function(){u(e);let o=l();return m(o.closeInteraction())})("undo",function(){u(e);let o=l();return m(o.handleInteractionUndo())}),s()}}function Rd(i,t){if(i&1){let e=y();a(0,"route-nextpoint",119),_("selected",function(o){u(e);let r=l(2);return m(r.routeNextPoint(o))}),s()}if(i&2){let e=l(2);x("index",e.course.courseData().pointIndex)("total",e.course.courseData().pointTotal)("circular",e.app.data.activeRouteCircular)}}function Ld(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","VMG")("value",e.app.formatSpeed(e.course.courseData().vmg,!0))("units",e.app.formattedSpeedUnits)}}function Od(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","BRG")("value",e.course.courseData().bearing.value.toFixed(1))("units",e.course.courseData().bearing.type==="M"?"deg (M)":"deg (T)")}}function Vd(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","XTE")("value",e.course.courseData().xte>10?e.course.courseData().xte.toFixed(1):e.course.courseData().xte.toFixed(3))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Fd(i,t){if(i&1&&v(0,"ap-dial-text",132),i&2){let e=l(4);x("title","DTG")("value",e.course.courseData().route.dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Nd(i,t){if(i&1&&v(0,"ap-dial-ttg",133),i&2){let e=l(4);x("value",e.course.courseData().route.ttg)}}function $d(i,t){if(i&1&&v(0,"ap-dial-eta",134),i&2){let e=l(4);x("title","ETA")("value",e.course.courseData().route.eta)}}function Bd(i,t){if(i&1&&(f(0,Fd,1,3,"ap-dial-text",132),f(1,Nd,1,1,"ap-dial-ttg",133),f(2,$d,1,2,"ap-dial-eta",134)),i&2){let e=l(3);h(e.course.courseData().route.dtg?0:-1),c(),h(e.course.courseData().route.ttg?1:-1),c(),h(e.course.courseData().route.eta?2:-1)}}function qd(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","DTG")("value",e.course.courseData().dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Ud(i,t){if(i&1&&v(0,"ap-dial-ttg",130),i&2){let e=l(3);x("value",e.course.courseData().ttg)}}function zd(i,t){if(i&1&&v(0,"ap-dial-eta",131),i&2){let e=l(3);x("title","ETA")("value",e.course.courseData().eta)}}function jd(i,t){if(i&1){let e=y();a(0,"div",118)(1,"div",120)(2,"div",121)(3,"button",122),_("click",function(){u(e);let o=l(2);return m(o.openCourseSettings())}),v(4,"mat-icon",123),s(),v(5,"br"),a(6,"button",124),_("click",function(){u(e);let o=l(2);return m(o.autopilot.engage())}),v(7,"mat-icon",125),s()(),a(8,"div")(9,"button",126),_("click",function(){u(e);let o=l(2);return m(o.course.courseRestart())}),a(10,"mat-icon"),p(11,"replay"),s()(),v(12,"br"),a(13,"button",127),_("click",function(){u(e);let o=l(2);return m(o.course.courseReverse())}),a(14,"mat-icon",128),p(15," multiple_stop "),s()()()(),f(16,Ld,1,3,"ap-dial-text",129),f(17,Od,1,3,"ap-dial-text",129),f(18,Vd,1,3,"ap-dial-text",129),f(19,Bd,3,3),f(20,qd,1,3,"ap-dial-text",129),f(21,Ud,1,1,"ap-dial-ttg",130),f(22,zd,1,2,"ap-dial-eta",131),s()}if(i&2){let e=l(2);c(6),x("disabled",!e.app.featureFlags().autopilotApi||!e.app.data.vessels.self.autopilot.default),c(),x("color",e.navDataPanel().apModeColor),c(6),x("disabled",!e.app.data.activeRoute),c(),x("color",e.app.data.activeRouteReversed?"primary":"none"),c(2),h(e.course.courseData().vmg?16:-1),c(),h(e.course.courseData().bearing.value?17:-1),c(),h(e.course.courseData().xte?18:-1),c(),h(e.app.data.activeRoute?19:-1),c(),h(e.course.courseData().dtg?20:-1),c(),h(e.course.courseData().ttg?21:-1),c(),h(e.course.courseData().eta?22:-1)}}function Gd(i,t){if(i&1&&(a(0,"div",31),f(1,Rd,1,3,"route-nextpoint",117),f(2,jd,23,11,"div",118),s()),i&2){let e=l();c(),h(e.navDataPanel().nextPointCtrl?1:-1),c(),h(e.app.config.ui.showCourseData&&e.navDataPanel().show?2:-1)}}function Hd(i,t){if(i&1){let e=y();a(0,"mfb-container",135),_("radarClick",function(){u(e);let o=l();return m(o.showRadarPanel())}),s()}if(i&2){let e=l();x("action",e.app.config.display.fab)}}var vt=class i{sideright;fbMap;navDataPanel=U({show:!1,nextPointCtrl:!1,apModeColor:"",apModeText:""});playbackTime=U(null);leftMenuCtrl=U({leftMenuPanel:!1,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,infoLayerList:!1,anchorWatch:!1,weatherList:!1});displayFullscreen=U({active:!1,enabled:document.fullscreenEnabled});features={playbackAPI:!0};mode=0;timers=[];instUrl=U(null);selFavourite=-1;vidUrl=U(null);convert=Pt;obsList=[];streamOptions={options:null,toMode:null};mapSetFocus=U("");mapCenter=U([0,0]);audioStatus=U("");isInteracting=be(()=>this.mapInteract.isMeasuring()||this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isBoxSelecting());app=C(li);infoPanel=C(ki);mapInteract=C(ci);anchor=C(Ui);notiMgr=C($i);course=C(_i);stream=C(ai);skres=C(di);skresOther=C(ui);signalk=C(ii);dom=C(pe);overlayContainer=C(On);bottomSheet=C(Un);dialog=C(qn);wakeLock=C(ni);settings=C(Ki);autopilot=C(ji);radarApi=C(si);symbols=C(ri);routeBuffers=C(fi);plotterExt=C(j);whatsNew=C(mt);constructor(){this.app.data.vessels.active=this.app.data.vessels.self,oe(()=>{this.app.debug("** skAuthChange Event:",this.app.skAuthChange()),this.handleSKAuthChange()}),oe(()=>{this.app.debug("** kioskMode Event:",this.app.kioskMode()),this.toggleSuppressContextMenu(this.app.kioskMode())}),oe(()=>{this.handleSelectionEnded(this.mapInteract.selection())}),oe(()=>{this.app.uiConfig(),this.handleSettingChangeEvent(void 0)}),oe(()=>{this.infoPanel.opened()||this.app.instrumentPanel().activate?this.sideright?.opened||this.openDrawer():this.sideright?.opened&&this.closeDrawer()}),oe(()=>{let t=this.app.mapMoveRequest();t&&(this.app.uiConfig.update(e=>e.mapMove?cn(Oe({},e),{mapMove:!1}):e),this.centerAndZoom(t.center,t.zoom))})}ngAfterViewInit(){setTimeout(()=>{this.app.config.display.disableWakelock||this.wakeLock.enable()},500)}enableAudio(){this.app.audio.context&&this.app.audio.context.resume()}ngOnInit(){this.whatsNew.init(),this.audioStatus.update(()=>this.app.audio.context.state),this.app.debug("audio state:",this.audioStatus()),this.app.audio.context.onstatechange=()=>{this.app.debug("audio statechange:",this.app.audio.context.state),this.audioStatus.update(()=>this.app.audio.context.state)},this.mapCenter.update(()=>this.app.config.map.center),this.app.instrumentPanel.update(t=>Object.assign({},t,{activate:!this.app.config.display.plugins.startOnOpen})),this.setDarkTheme(),this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),this.connectSignalKServer(),this.obsList.push(this.stream.delta$().subscribe(t=>this.onMessage(t))),this.obsList.push(this.stream.connect$().subscribe(t=>this.onConnect(t))),this.obsList.push(this.stream.close$().subscribe(t=>this.onClose(t))),this.obsList.push(this.stream.error$().subscribe(t=>this.onError(t))),this.obsList.push(this.stream.trail$().subscribe(t=>this.handleTrailUpdate(t))),this.obsList.push(this.settings.change$.subscribe(t=>this.handleSettingChangeEvent(t))),document.addEventListener("fullscreenchange",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!!document.fullscreenElement}))}),document.addEventListener("fullscreenerror",t=>{this.displayFullscreen.update(e=>Object.assign({},e,{active:!1}))})}ngOnDestroy(){this.stopTimers(),this.stream.terminate(),this.signalk.disconnect(),this.obsList.forEach(t=>t.unsubscribe())}getOrientation(){return this.app.uiConfig().mapNorthUp?"rotate(0deg)":"rotate("+(0-this.app.data.vessels.active.orientation)+"rad)"}showRadarPanel(){if(!this.radarApi.hasWebGL){this.radarApi.showNoWebGLMessage();return}this.app.instrumentPanel().open&&this.closeInstrumentPanel(),this.connectRadar(),this.infoPanel.openRadar(this.radarApi.radar()),this.focusMap()}connectRadar(){this.app.uiCtrl().radarLayer||this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!0}))}disconnectRadar(){this.app.uiCtrl().radarLayer&&this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!1}))}toggleMoveMap(t=!1){this.app.uiConfig.update(e=>{let n=t?!1:!e.mapMove;return Object.assign({},e,{mapMove:n})}),this.focusMap()}toggleNorthUp(){this.app.uiConfig.update(t=>Object.assign({},t,{mapNorthUp:!t.mapNorthUp})),this.focusMap()}toggleToolbarButtons(){this.app.uiConfig.update(t=>Object.assign({},t,{toolbarButtons:!t.toolbarButtons})),this.focusMap()}toggleConstrainMapZoom(){this.app.uiConfig.update(t=>Object.assign({},t,{mapConstrainZoom:!t.mapConstrainZoom})),this.skres.setMapZoomRange(),this.focusMap()}invertFeatureLabelColor(){this.app.uiConfig.update(t=>Object.assign({},t,{invertColor:!t.invertColor})),this.focusMap()}toggleAlertList(t){this.app.uiCtrl.update(e=>Object.assign({},e,{alertList:t}))}toggleAutopilotConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{autopilotConsole:t}))}toggleRouteBuilderConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{routeBuilder:t}))}toggleSuppressContextMenu(t){this.app.uiCtrl.update(e=>Object.assign({},e,{suppressContextMenu:t}))}toggleFullscreen(){let t=document.documentElement,e=t.requestFullscreen||t.webkitRequestFullScreen||t.mozRequestFullscreen||t.msRequestFullscreen;e&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():e.call(t),this.focusMap())}darkThemeApplied;setDarkTheme(){let t=window.matchMedia("(prefers-color-scheme: dark)"),e=this.app.config.display.darkMode.source===0&&t.matches||this.app.config.display.darkMode.source===1&&this.app.data.vessels.self.environment.mode==="night"||this.app.config.display.darkMode.source===-1;if(e===this.darkThemeApplied)return;this.darkThemeApplied=e;let n=this.overlayContainer.getContainerElement();e?n.classList.add("dark-theme"):n.classList.remove("dark-theme"),this.app.config.display.darkMode.enabled=e}formatInstrumentsUrl(){let t=`${this.app.hostDef.url}${this.app.config.display.plugins.instruments}`,e=this.app.config.display.plugins.parameters?this.app.config.display.plugins.parameters.length>0&&this.app.config.display.plugins.parameters[0]!=="?"?`?${this.app.config.display.plugins.parameters}`:this.app.config.display.plugins.parameters:"";return e?`${t}/${e}`:t}selectPlugin(t=!1){t?this.selFavourite===-1?this.selFavourite=0:this.selFavourite===this.app.config.display.plugins.favourites.length-1?this.selFavourite=-1:this.selFavourite++:this.selFavourite===-1?this.selFavourite=this.app.config.display.plugins.favourites.length-1:this.selFavourite===0?this.selFavourite=-1:this.selFavourite--;let e=this.selFavourite===-1?this.formatInstrumentsUrl():`${this.app.hostDef.url}${this.app.config.display.plugins.favourites[this.selFavourite]}`;this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(e))}onInfoLayerParamChange(t){this.skresOther.infoLayerParams.update(()=>[t])}handleContextMenuSelection(t){switch(t){case"cleartrail":this.clearTrail(this.app.data.serverTrail);break;case"trail2route":this.trailToRoute();break;case"cleardestination":this.clearDestination();break;case"anchor":this.displayLeftMenu("anchorWatch",!0);break;case"weather_forecast":this.showWeather("forecast");break}}trailToRoute(){return O(this,null,function*(){let{Trail2RouteDialog:t}=yield import("./chunk-JWF7HEH3.js");this.dialog.open(t,{disableClose:!0,data:{trail:this.app.selfTrail()}}).afterClosed().subscribe(e=>{e.result&&this.skres.newRouteAt(e.data),this.focusMap()})})}showWeather(t){t==="forecast"&&this.bottomSheet.open(Zi,{disableClose:!0,data:{title:"Forecast",position:this.app.data.vessels.self.position,subTitle:"Location: Vessel Position"}}).afterDismissed().subscribe(()=>{this.focusMap()})}openExperiment(t){t.choice==="debugCapture"?window.isSecureContext?(navigator.clipboard.writeText(JSON.stringify({data:this.app.data,config:this.app.config})),this.app.showMessage("Debug data catpured to clipboard.")):this.app.showAlert("Feature Unavailable",`This feature is only available in a secure context!
460
- e.g. https, http://localhost, http://127.0.0.1`):this.app.config.resources.paths.includes(t.choice)&&this.bottomSheet.open(Oi,{disableClose:!0,data:{path:t.choice}}).afterDismissed().subscribe(()=>{this.focusMap()})}openCourseSettings(){this.bottomSheet.open(mi,{disableClose:!0,data:{title:"Course Settings"}}).afterDismissed().subscribe(()=>{this.focusMap()})}handleSKAuthChange(){this.signalk.getLoginStatus().subscribe(t=>{this.app.data.loginRequired=t.authenticationRequired??!1,this.app.isLoggedIn.update(()=>t.status==="loggedIn"),this.signalk.get("/plugins/freeboard-sk").subscribe(()=>{this.app.debug("User Authenticated"),this.app.isLoggedIn.set(!0)},e=>{e.status===401&&(this.app.debug("User NOT Authenticated"),this.app.isLoggedIn.set(!1))})})}connectSignalKServer(){this.app.data.selfId=null,this.app.data.server=null,this.signalk.proxied=this.app.config.signalk.proxied,this.signalk.connect(this.app.hostDef.name,this.app.hostDef.port,this.app.hostDef.ssl).subscribe({next:()=>{this.signalk.authToken=this.app.getFBToken(),this.app.watchSKLogin(),this.app.loadUserConfigfromServer().finally(()=>{this.loadSymbolsThenFetchResources(),this.plotterExt.init()}),this.getFeatures(),this.app.data.server=this.signalk.server.info,this.openSKStream()},error:()=>{this.app.showMessage("Unable to contact Signal K server! (Retrying in 5 secs)",!1,5e3),setTimeout(()=>this.connectSignalKServer(),5e3)}})}getFeatures(){return O(this,null,function*(){let t={anchorApi:!1,autopilotApi:!1,weatherApi:!1,radarApi:!1,notificationApi:!1,buddyList:!1,tidalApi:!1};this.signalk.get("/signalk/v2/features?enabled=1").subscribe(n=>{t.weatherApi=n.apis.includes("weather"),t.autopilotApi=n.apis.includes("autopilot"),t.radarApi=n.apis.includes("radar"),t.notificationApi=n.apis.includes("notifications");let o={charts:!1,pmTiles:!1};n.plugins.forEach(r=>{r.id==="anchoralarm"&&(this.app.debug("*** found anchoralarm plugin"),t.anchorApi=!0),r.id==="signalk-buddylist-plugin"&&(this.app.debug("*** found buddylist plugin"),t.buddyList=!!la.satisfies(r.version,">1.2.0")),r.id==="signalk-pmtiles-plugin"&&(this.app.debug("*** found PMTiles plugin"),o.pmTiles=!0),r.id==="signalk-tidal-currents"&&(this.app.debug("*** found signalk-tidal-currents plugin"),t.tidalApi=!0)}),this.app.featureFlags.update(r=>Object.assign({},r,t))},()=>{this.app.debug("*** Features API not present!")}),this.app.fetchUnitPrefsFromSKServer();let e=yield this.skresOther.initCustomCollections();this.app.featureFlags.update(n=>Object.assign({},n,e))})}startTimers(){this.app.debug("Starting Trail logging timer..."),this.timers.push(setInterval(()=>{this.processTrail()},5e3))}stopTimers(){this.app.debug("Stopping timers:"),this.timers.forEach(t=>clearInterval(t)),this.timers=[]}processTrail(t){if(!this.app.config.vessels.trail)return;let e=this.app.selfTrail().slice(-1);if(this.app.data.vessels.showSelf){if(e.length===0){this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r});return}(this.app.data.vessels.self.position[0]!==e[0][0]||this.app.data.vessels.self.position[1]!==e[0][1])&&this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r})}if(!t||t.length===0)this.app.selfTrail().length%60===0&&this.app.data.serverTrail&&this.app.config.vessels.trailFromServer&&this.stream.requestTrailFromServer(),this.app.selfTrail.update(o=>o.slice(-5e3));else{let o=t.slice(-1),r=o.length!==0?o[0].slice(-1):t.length>1?t[t.length-2].slice(-1):[];this.app.selfTrail.update(()=>r)}let n=this.mode===1?"history":"self";this.app.db.saveTrail(n,this.app.selfTrail())}handleTrailUpdate(t){t.action==="get"&&t.mode==="trail"&&(this.app.config.vessels.trailFromServer&&this.app.selfTrailFromServer.update(()=>t.data),this.processTrail(t.data))}handleSettingChangeEvent(t){t?.includes("darkTheme")&&this.setDarkTheme(),t?.includes("headingAttribute")&&(this.app.debug("True / Magnetic selection changed.."),this.app.data.vessels.self.heading=this.app.useMagnetic?this.app.data.vessels.self.headingMagnetic:this.app.data.vessels.self.headingTrue,this.app.data.vessels.self.cog=this.app.useMagnetic?this.app.data.vessels.self.cogMagnetic:this.app.data.vessels.self.cogTrue,this.app.data.vessels.self.wind.direction=this.app.useMagnetic?this.app.data.vessels.self.wind.mwd:this.app.data.vessels.self.wind.twd,this.app.data.vessels.aisTargets.forEach(e=>{e.heading=this.app.useMagnetic?e.headingMagnetic:e.headingTrue,e.cog=this.app.useMagnetic?e.cogMagnetic:e.cogTrue,e.wind.direction=this.app.useMagnetic?e.wind.mwd:e.wind.twd}),this.app.sTrueMagChoice.set(this.app.config.units.headingAttribute)),(t?.includes("pluginParameters")||t?.includes("pluginInstruments")||t?.includes("pluginStartOnOpen"))&&(this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.app.instrumentPanel.update(e=>Object.assign({},e,{activate:this.app.config.display.plugins.startOnOpen?!!e.open:!0}))),t?.includes("videoUrl")&&this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),(t?.includes("vesselTrail")||t?.includes("trailFromServer"))&&this.app.config.vessels.trail&&(this.app.config.vessels.trailFromServer?this.stream.requestTrailFromServer():this.app.data.serverTrail=!1)}focusMap(){this.mapSetFocus.update(()=>Date().valueOf())}openDrawer(){this.sideright.open()}closeDrawer(){this.sideright.close()}openInstrumentPanel(){this.app.instrumentPanel().open||(this.infoPanel.opened()&&this.infoPanel.close(),this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!0,activate:!0})))}closeInstrumentPanel(){this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!1,activate:this.app.config.display.plugins.startOnOpen?!1:t.activate})),this.focusMap()}displayLeftMenu(t="",e=!1){let n={leftMenuPanel:e,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,infoLayerList:!1,anchorWatch:!1,weatherList:!1};switch(t){case"routeList":n.routeList=e;break;case"waypointList":n.waypointList=e;break;case"chartList":n.chartList=e;break;case"noteList":n.noteList=e;break;case"regionList":n.regionList=e;break;case"trackList":n.trackList=e;break;case"anchorWatch":n.anchorWatch=e;break;case"aisList":n.aisList=e;break;case"resourceGroups":n.resourceGroups=e;break;case"infoLayerList":n.infoLayerList=e;break;case"weatherList":n.weatherList=e;break;default:n.leftMenuPanel=!1}this.leftMenuCtrl.update(()=>n),e||this.focusMap()}handleResourceInfo(t,e){t==="notes"&&!this.app.useInfoPanel()?this.skres.noteSelected(e,!1):t==="regions"&&!this.app.useInfoPanel()?this.skres.editRegionInfo(e):t==="waypoints"&&!this.app.useInfoPanel()?this.skres.editWaypointInfo(e):t==="routes"&&!this.app.useInfoPanel()?this.skres.editRouteInfo(e):this.infoPanel.open(t,e)}onNoteMove(t){this.infoPanel.opened()&&(this.infoPanel.close(),this.closeDrawer()),this.skres.startNoteModify(t)}openAbout(){return O(this,null,function*(){let{AboutDialog:t}=yield import("./chunk-VYN2OBDD.js");this.dialog.open(t,{disableClose:!1,data:{name:this.app.name,version:this.app.version,description:this.app.description,logo:this.app.logo,url:this.app.url}}).afterClosed().subscribe(()=>this.focusMap())})}openSettings(){return O(this,null,function*(){let{SettingsDialog:t}=yield import("./chunk-5FQJDXLT.js");this.dialog.open(t,{disableClose:!0,data:{},width:"1000px",maxWidth:"96vw",height:"80vh"}).afterClosed().subscribe(()=>{this.focusMap()})})}openFeatureBrowser(){return O(this,null,function*(){this.whatsNew.markAllSeen();let{FeatureBrowserDialog:t}=yield import("./chunk-TVVJJZA5.js");this.dialog.open(t,{data:{},width:"900px",maxWidth:"96vw"}).afterClosed().subscribe(()=>{this.focusMap()})})}importFile(t){t.data.indexOf("<gpx ")!==-1?this.processGPX(t):t.data.indexOf('"type": "FeatureCollection",')!==-1?this.processGeoJSON(t):this.app.showAlert("Import","File format not supported!"),this.focusMap()}processGPX(t){return O(this,null,function*(){let{GPXImportDialog:e}=yield import("./chunk-R2B7EL5S.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{if(typeof n.errCount>"u"||n.errCount<0){this.focusMap();return}this.fetchResources(),n.errCount===0?this.app.showMsgBox("GPX Load","GPX file resources loaded successfully."):this.app.showErrorList(n.errList),this.focusMap()})})}exportToGPX(){return O(this,null,function*(){let{GPXExportDialog:t}=yield import("./chunk-2BZ663DE.js");this.dialog.open(t,{disableClose:!0,data:{routes:this.skres.routes(),tracks:[this.app.selfTrail()]}}).afterClosed().subscribe(e=>{if(e<0){this.focusMap();return}e===0?this.app.showMsgBox("GPX Save","Resources saved to GPX file successfully."):this.app.showAlert("GPX Save","Error saving resources to GPX file!"),this.focusMap()})})}processGeoJSON(t){return O(this,null,function*(){let{GeoJSONImportDialog:e}=yield import("./chunk-DXGM3UI4.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{n<0||(this.fetchResources(),n===0?this.app.showMsgBox("GeoJSON Load","GeoJSON features loaded successfully."):this.app.showAlert("GeoJSON Load",`Completed with errors!
461
- Not all features were loaded.`),this.focusMap())})})}importResourceSet(){return O(this,null,function*(){let{ResourceImportDialog:t}=yield import("./chunk-DN47TOA6.js");this.dialog.open(t,{disableClose:!0,data:{}}).afterClosed().subscribe(e=>{if(e){try{let n=JSON.parse(e.data);this.skres.postToServer(e.path,n)}catch(n){this.app.showAlert("Load Resource",`Resources were not loaded!
459
+ `],encapsulation:2,changeDetection:0})}return i})(),Je=(()=>{class i extends Ye{static \u0275fac=(()=>{let e;return function(o){return(e||(e=$e(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:et,decls:1,vars:0,template:function(n,o){n&1&&(ue(),Y(0))},encapsulation:2,changeDetection:0})}return i})(),Nt=(()=>{class i extends Ot{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=_e(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=Mt(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=Mt(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=$e(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(n,o){n&2&&(Me("tabIndex",o.mode!=="side"?"-1":null)("align",null),ne("top",o.fixedInViewport?o.fixedTopGap:null,"px")("bottom",o.fixedInViewport?o.fixedBottomGap:null,"px"),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side")("mat-sidenav-fixed",o.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[ve([{provide:Ot,useExisting:i}]),Ae],ngContentSelectors:et,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),Y(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),co=(()=>{class i extends Vt{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=$e(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(n,o,r){if(n&1&&St(r,Je,5)(r,Nt,5),n&2){let d;N(d=$())&&(o._content=d.first),N(d=$())&&(o._allDrawers=d)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},exportAs:["matSidenavContainer"],features:[ve([{provide:Ft,useExisting:i},{provide:Vt,useExisting:i}]),Ae],ngContentSelectors:ba,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(va),f(0,wa,1,2,"div",0),Y(1),Y(2,1),f(3,xa,2,0,"mat-sidenav-content")),n&2&&(h(o.hasBackdrop?0:-1),c(3),h(o._content?-1:3))},dependencies:[Je],styles:[ya],encapsulation:2,changeDetection:0})}return i})(),po=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=qe({type:i});static \u0275inj=Ve({imports:[kt,We,kt]})}return i})();function uo(i){if(!((i.ctrlKey||i.metaKey)&&!i.shiftKey&&i.key.toLowerCase()==="z"))return!1;let e=i.target,n=e?.tagName;return!(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||e?.isContentEditable)}var la=pa(ia());function an(i){let t=[];for(let e of i)for(let n of e.events)t.push(`${e.id}:${n.pr}`);return t}function oa(i,t){if(!Array.isArray(t))return i;let e=new Set(t.filter(n=>typeof n=="string"));return i.filter(n=>!e.has(n))}var ra="fb-whats-new-seen",mt=class i{corpus=C(ro);_hasUnseen=U(!1);hasUnseen=this._hasUnseen.asReadonly();init(){return O(this,null,function*(){let t=yield this.corpus.load(),e=oa(an(t),this.readSeen());this._hasUnseen.set(e.length>0)})}markAllSeen(){return O(this,null,function*(){let t=yield this.corpus.load();this.writeSeen(an(t)),this._hasUnseen.set(!1)})}readSeen(){try{let t=localStorage.getItem(ra);return t===null?null:JSON.parse(t)}catch(t){return null}}writeSeen(t){try{localStorage.setItem(ra,JSON.stringify(t))}catch(e){}}static \u0275fac=function(e){return new(e||i)};static \u0275prov=mn({token:i,factory:i.\u0275fac,providedIn:"root"})};var Oc=["frame"],_t=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;placed=ce.required();frame;url;detach=null;ngOnInit(){let t=this.service.widgetDef(this.placed().extension,this.placed().widget);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(t?.url?this.service.resolveAssetUrl(t.url):"about:blank"),this.detach=this.service.attachWidget(this.frame.nativeElement,this.placed())}onFrameLoad(){}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-widget"]],viewQuery:function(e,n){if(e&1&&J(Oc,7),e&2){let o;N(o=$())&&(n.frame=o.first)}},inputs:{placed:[1,"placed"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"load","src","title"]],template:function(e,n){e&1&&(Cn(0,"iframe",1,0),bn("load",function(){return n.onFrameLoad()}),vn()),e&2&&Ce("src",n.url,le)("title",n.placed().widget)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none;background:transparent}"]})};var Vc=()=>[],Fc=(i,t)=>t.type+t.extension,Nc=(i,t)=>t.instanceId;function $c(i,t){if(i&1){let e=y();a(0,"div",3)(1,"mat-icon",4),p(2,"filter_alt"),s(),a(3,"span",5),p(4),s(),a(5,"button",6),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.clearChip(o))}),a(6,"mat-icon"),p(7,"close"),s()()()}if(i&2){let e=t.$implicit;c(4),z(e.label)}}function Bc(i,t){if(i&1&&(a(0,"div",2),G(1,$c,8,1,"div",3,Fc),s()),i&2){let e=l();B("pe-chips-low",(e.byAnchor().ct??xn(2,Vc)).length>0),c(),H(e.service.filterChips())}}function qc(i,t){if(i&1&&(a(0,"div",9),v(1,"fb-plotterext-widget",10),s()),i&2){let e=t.$implicit,n=l(2);At(n.cellStyle(e)),c(),x("placed",e)}}function Uc(i,t){if(i&1&&(a(0,"div",7),G(1,qc,2,3,"div",8,Nc),s()),i&2){let e=t.$implicit,n=l();At(n.anchorStyle(e)),wn("pe-"+e),Me("data-anchor",e),c(),H(n.byAnchor()[e])}}var zc=1500,aa=8,ht=class i{anchors=Dt;byAnchor=be(()=>{let t={};for(let e of Dt)t[e]=[];for(let e of this.service.activeWidgets())t[e.anchor]?.push(e);return t});service=C(j);zone=C(te);host=C(se);holdTimer=null;downPoint=null;onPointerDown=t=>this.pointerDown(t);onPointerMove=t=>this.pointerMove(t);onPointerEnd=()=>this.cancelHold();unregisterHitTester=null;ngOnInit(){this.unregisterHitTester=this.service.registerHitTester((t,e)=>this.hitTest(t,e)),this.zone.runOutsideAngular(()=>{document.addEventListener("pointerdown",this.onPointerDown,!0),document.addEventListener("pointermove",this.onPointerMove,!0),document.addEventListener("pointerup",this.onPointerEnd,!0),document.addEventListener("pointercancel",this.onPointerEnd,!0)})}ngOnDestroy(){this.cancelHold(),this.unregisterHitTester?.(),this.unregisterHitTester=null,document.removeEventListener("pointerdown",this.onPointerDown,!0),document.removeEventListener("pointermove",this.onPointerMove,!0),document.removeEventListener("pointerup",this.onPointerEnd,!0),document.removeEventListener("pointercancel",this.onPointerEnd,!0)}anchorStyle(t){let e={"grid-template-columns":`repeat(${Rt[t].cols}, var(--pe-cell-w))`};if(t!=="ct"&&t!=="cb")return e;let n=new Set;for(let r of this.byAnchor()[t]??[]){let d=this.service.widgetDef(r.extension,r.widget),{cols:g}=Lt(d?.size??"1x1");for(let E=r.col;E<r.col+g&&E<2;E++)n.add(E)}let o="0px";return n.size===1&&(o=n.has(0)?"calc((var(--pe-cell-w) + var(--pe-gap)) / 2)":"calc((var(--pe-cell-w) + var(--pe-gap)) / -2)"),e["--pe-center-shift"]=o,e}cellStyle(t){let e=this.service.widgetDef(t.extension,t.widget),{cols:n,rows:o}=Lt(e?.size??"1x1");return{"grid-column":`${t.col+1} / span ${n}`,"grid-row":`${t.row+1} / span ${o}`}}clearChip(t){this.service.clearResourceFilter(t.extension,t.type)}pointerDown(t){if(this.cancelHold(),!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||t.target?.closest(".cdk-overlay-container, mat-dialog-container, button, mat-toolbar, .pe-cell, .pe-chips"))return;let n=this.hitTest(t.clientX,t.clientY);n&&(this.service.cellOccupied(n.anchor,n.cell)||(this.downPoint={x:t.clientX,y:t.clientY},this.holdTimer=setTimeout(()=>{this.holdTimer=null,this.zone.run(()=>this.service.openAddWidgetPicker(n.anchor,n.cell))},zc)))}pointerMove(t){if(!this.holdTimer||!this.downPoint)return;let e=t.clientX-this.downPoint.x,n=t.clientY-this.downPoint.y;e*e+n*n>aa*aa&&this.cancelHold()}cancelHold(){this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=null,this.downPoint=null}hitTest(t,e){let n=this.host.nativeElement.querySelectorAll(".pe-anchor");for(let o of Array.from(n)){let r=o.getBoundingClientRect();if(t<r.left||t>r.right||e<r.top||e>r.bottom)continue;let d=o.dataset.anchor,{cols:g,rows:E}=Rt[d],T=Math.min(g-1,Math.max(0,Math.floor((t-r.left)/r.width*g))),P=Math.min(E-1,Math.max(0,Math.floor((e-r.top)/r.height*E)));return{anchor:d,cell:{col:T,row:P}}}return null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-overlay"]],decls:3,vars:1,consts:[[1,"pe-chips",3,"pe-chips-low"],[1,"pe-anchor",3,"class","style"],[1,"pe-chips"],[1,"pe-chip"],[1,"pe-chip-icon"],[1,"pe-chip-label"],["aria-label","Clear filter",1,"pe-chip-clear",3,"click"],[1,"pe-anchor"],[1,"pe-cell",3,"style"],[1,"pe-cell"],[3,"placed"]],template:function(e,n){e&1&&(f(0,Bc,3,3,"div",0),G(1,Uc,3,5,"div",1,Ue)),e&2&&(h(n.service.filterChips().length?0:-1),c(),H(n.anchors))},dependencies:[_t,ye,xe],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:2000;pointer-events:none;--pe-cell-w: clamp(96px, 11vw, 150px);--pe-cell-h: clamp(84px, 9.5vw, 124px);--pe-gap: 6px;--pe-margin: 10px}.pe-anchor[_ngcontent-%COMP%]{position:absolute;display:grid;grid-template-rows:repeat(2,var(--pe-cell-h));gap:var(--pe-gap);pointer-events:none}.pe-tr[_ngcontent-%COMP%]{top:0;right:0}.pe-ct[_ngcontent-%COMP%]{top:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-cb[_ngcontent-%COMP%]{bottom:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-bl[_ngcontent-%COMP%]{bottom:0;left:0}.pe-br[_ngcontent-%COMP%]{bottom:0;right:0}.pe-cell[_ngcontent-%COMP%]{pointer-events:auto;overflow:hidden;border-radius:10px;box-shadow:0 1px 5px #00000059}.pe-chips[_ngcontent-%COMP%]{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto;z-index:1}.pe-chips-low[_ngcontent-%COMP%]{top:calc(2 * var(--pe-cell-h) + var(--pe-gap) + 10px)}.pe-chip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;background:#141a20d9;color:#e8edf2;border-radius:16px;padding:3px 6px 3px 10px;font-size:12px;max-width:320px;box-shadow:0 1px 4px #00000059}.pe-chip-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#29b6f6}.pe-chip-label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-chip-clear[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff26;color:#e8edf2;border-radius:50%;width:20px;height:20px;padding:0;cursor:pointer}.pe-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}"]})};var jc=["frame"],Gc=(i,t)=>t.key;function Hc(i,t){if(i&1&&v(0,"fb-plotterext-runtime",0),i&2){let e=t.$implicit;x("entry",e)}}var sn=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;entry=ce.required();frame;url;detach=null;ngOnInit(){let{extension:t,runtime:e}=this.entry();this.url=this.sanitizer.bypassSecurityTrustResourceUrl(e.url?this.service.resolveAssetUrl(e.url):"about:blank"),this.detach=this.service.attachBackground(this.frame.nativeElement,{extension:t,runtime:e})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-runtime"]],viewQuery:function(e,n){if(e&1&&J(jc,7),e&2){let o;N(o=$())&&(n.frame=o.first)}},inputs:{entry:[1,"entry"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms","aria-hidden","true",3,"src","title"]],template:function(e,n){e&1&&ze(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.entry().runtime.id)},styles:["[_nghost-%COMP%]{display:none}"]})},gt=class i{service=C(j);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-runtimes"]],decls:2,vars:0,consts:[[3,"entry"]],template:function(e,n){e&1&&G(0,Hc,1,1,"fb-plotterext-runtime",0,Gc),e&2&&H(n.service.backgroundRuntimes())},dependencies:[sn],styles:["[_nghost-%COMP%]{display:none}"]})};var Xc=["frame"],Kc=(i,t)=>t.key;function Zc(i,t){if(i&1){let e=y();a(0,"div",1)(1,"span"),p(2),s(),a(3,"button",4),_("click",function(){u(e);let o=l();return m(o.service.closeVisiblePanel())}),a(4,"mat-icon"),p(5,"close"),s()()()}i&2&&(c(2),z(t.panel.title))}function Qc(i,t){if(i&1&&(a(0,"div",5),v(1,"fb-plotterext-panel-frame",6),s()),i&2){let e=t.$implicit;B("pe-body-hidden",!e.visible),c(),x("panelKey",e.key)("extension",e.extension)("panel",e.panel)}}var ln=class i{panelKey=ce.required();extension=ce.required();panel=ce.required();frame;url;detach=null;service=C(j);sanitizer=C(pe);ngOnInit(){this.url=this.sanitizer.bypassSecurityTrustResourceUrl(this.panel().url?this.service.resolveAssetUrl(this.panel().url):"about:blank"),this.detach=this.service.attachPanel(this.frame.nativeElement,{extension:this.extension(),panel:this.panel(),close:()=>this.service.closePanel(this.panelKey())})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-panel-frame"]],viewQuery:function(e,n){if(e&1&&J(Xc,7),e&2){let o;N(o=$())&&(n.frame=o.first)}},inputs:{panelKey:[1,"panelKey"],extension:[1,"extension"],panel:[1,"panel"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"]],template:function(e,n){e&1&&ze(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.panel().title)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}"]})},Ct=class i{service=C(j);isOpen=be(()=>!!this.service.visiblePanel());constructor(){let t=!0;oe(()=>{if(this.isOpen(),t){t=!1;return}this.service.pulseMapResize()})}onTransitionEnd(t){t.propertyName==="width"&&this.service.pulseMapResize(80)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-panel-drawer"]],hostVars:2,hostBindings:function(e,n){e&2&&B("pe-open",n.isOpen())},decls:5,vars:1,consts:[[1,"pe-drawer-inner",3,"transitionend"],[1,"pe-drawer-head"],[1,"pe-drawer-bodies"],[1,"pe-drawer-body",3,"pe-body-hidden"],["mat-icon-button","","aria-label","Close panel",3,"click"],[1,"pe-drawer-body"],[3,"panelKey","extension","panel"]],template:function(e,n){if(e&1&&(a(0,"div",0),_("transitionend",function(r){return n.onTransitionEnd(r)}),f(1,Zc,6,1,"div",1),a(2,"div",2),G(3,Qc,2,5,"div",3,Kc),s()()),e&2){let o;c(),h((o=n.service.visiblePanel())?1:-1,o),c(2),H(n.service.openPanels())}},dependencies:[Qe,Ze,ye,xe,ln],styles:["[_nghost-%COMP%]{flex:0 0 auto;height:100%;width:0;max-width:92vw;overflow:hidden;background:#1d242b;color:#e8edf2}.pe-open[_nghost-%COMP%]{width:390px;box-shadow:-2px 0 8px #0006}.pe-drawer-inner[_ngcontent-%COMP%]{width:390px;max-width:92vw;height:100%;display:flex;flex-direction:column}.pe-drawer-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.pe-drawer-bodies[_ngcontent-%COMP%]{flex:1;min-height:0;position:relative}.pe-drawer-body[_ngcontent-%COMP%]{position:absolute;inset:0}.pe-body-hidden[_ngcontent-%COMP%]{visibility:hidden;pointer-events:none}"]})};var Yc=["sideright"],Jc=["fbMap"],ep=()=>[Ai],tp=()=>[Di],np=()=>[Ti],ip=()=>[gi],op=()=>[vi],rp=()=>[Si],ap=()=>[wi],sp=()=>[Li],lp=()=>[Fi],cp=()=>[Ni],pp=(i,t)=>({"dark-theme":i,"app-night":t}),he=(i,t)=>({"button-primary":i,"button-toolbar":t}),dp=(i,t)=>t.extension+"/"+t.button.id,up=(i,t)=>t[0];function mp(i,t){if(i&1){let e=y();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("resourceGroups",!0))}),a(1,"mat-icon"),p(2,"category"),s(),p(3," \xA0Groups "),s()}}function _p(i,t){if(i&1){let e=y();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("infoLayerList",!0))}),a(1,"mat-icon"),p(2,"layers"),s(),p(3," \xA0Overlays "),s()}}function fp(i,t){if(i&1){let e=y();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("trackList",!0))}),a(1,"mat-icon",33),p(2,"show_chart"),s(),p(3," \xA0Tracks "),s()}}function hp(i,t){if(i&1){let e=y();a(0,"div")(1,"button",9),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.openExperiment({choice:o,value:null}))}),v(2,"mat-icon",34),p(3),s()()}if(i&2){let e=t.$implicit;c(3),me(" \xA0",e," ")}}function gp(i,t){if(i&1&&(a(0,"div"),G(1,hp,4,1,"div",null,Ue),s()),i&2){let e=l();c(),H(e.app.config.resources.paths.sort())}}function Cp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearTrail(o.app.data.serverTrail))}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.trailToRoute())}),a(6,"mat-icon"),p(7,"insights"),s(),a(8,"span"),p(9,"Trail to Route"),s()(),v(10,"mat-divider")}if(i&2){let e=l();c(4),me("",e.app.data.serverTrail?"Refresh":"Clear"," Trail")}}function vp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearDestination())}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4,"Stop Navigating"),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.clearCourseData())}),a(6,"mat-icon"),p(7,"clear_all"),s(),a(8,"span"),p(9,"Clear Course Data"),s()(),v(10,"mat-divider")}}function bp(i,t){if(i&1){let e=y();v(0,"mat-divider"),a(1,"a",9),_("click",function(){u(e);let o=l();return m(o.showWeather("forecast"))}),a(2,"mat-icon"),p(3,"air"),s(),a(4,"span"),p(5,"Weather Forecast"),s()()}}function wp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.skres.newWaypointAt(o.app.data.vessels.active.position))}),a(1,"mat-icon",11),p(2,"add_location"),s(),a(3,"span"),p(4,"Add Waypoint at Vessel"),s()()}}function xp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.drawFeature("note"))}),a(1,"mat-icon"),p(2,"local_offer"),s(),a(3,"span"),p(4,"Add Note"),s()()}}function yp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showLogin(null,!1))}),a(1,"mat-icon",35),p(2," account_circle "),s(),a(3,"span"),p(4),s()(),v(5,"mat-divider")}if(i&2){let e=l();c(),x("matBadgeHidden",e.app.isLoggedIn()),c(3),z(e.app.isLoggedIn()?"Change User":"Login")}}function Ep(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("anchorWatch",!0))}),a(1,"mat-icon"),p(2,"anchor"),s(),a(3,"span"),p(4,"Anchor Watch"),s()()}}function Tp(i,t){i&1&&(a(0,"mat-icon",16),p(1,"check_box"),s())}function Sp(i,t){i&1&&v(0,"mat-icon",36)}function Ap(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showRadarPanel())}),f(1,Tp,2,0,"mat-icon",16)(2,Sp,1,0,"mat-icon",36),a(3,"span"),p(4,"Radar Overlay"),s()()}if(i&2){let e=l();c(),h(e.app.uiCtrl().radarLayer?1:2)}}function Mp(i,t){if(i&1){let e=y();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showPlaybackSettings())}),a(1,"mat-icon"),p(2,"history"),s(),a(3,"span"),p(4,"Playback History"),s()()}}function kp(i,t){if(i&1){let e=y();a(0,"radar-panel",43),_("connect",function(){u(e);let o=l(2);return m(o.connectRadar())})("disconnect",function(){u(e);let o=l(2);return m(o.disconnectRadar())}),s()}if(i&2){let e=l(2);x("radar",e.infoPanel.item().resource)("id",e.infoPanel.item().id)}}function Pp(i,t){if(i&1){let e=y();a(0,"note-panel",44),_("edit",function(o){u(e);let r=l(2);return m(r.skres.showNoteEditor({id:o}))})("move",function(o){u(e);let r=l(2);return m(r.onNoteMove(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("note",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("interacting",e.isInteracting())}}function Ip(i,t){if(i&1){let e=y();a(0,"region-panel",45),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editRegionInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("region",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Dp(i,t){if(i&1){let e=y();a(0,"waypoint-panel",46),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editWaypointInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("waypoint",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Rp(i,t){if(i&1){let e=y();a(0,"route-panel",47),_("edit",function(o){u(e);let r=l(2);return m(r.onRouteInfoEdit(o))})("activate",function(o){u(e);let r=l(2);return m(r.activateRoute(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("route",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Lp(i,t){if(i&1){let e=y();a(0,"info-panel",37),_("closed",function(){u(e);let o=l();return m(o.closeDrawer())}),f(1,kp,1,2,"radar-panel",38),f(2,Pp,1,3,"note-panel",39),f(3,Ip,1,4,"region-panel",40),f(4,Dp,1,4,"waypoint-panel",41),f(5,Rp,1,4,"route-panel",42),s()}if(i&2){let e,n,o,r,d,g=l();c(),h(((e=g.infoPanel.item())==null?null:e.type)==="radars"?1:-1),c(),h(((n=g.infoPanel.item())==null?null:n.type)==="notes"?2:-1),c(),h(((o=g.infoPanel.item())==null?null:o.type)==="regions"?3:-1),c(),h(((r=g.infoPanel.item())==null?null:r.type)==="waypoints"?4:-1),c(),h(((d=g.infoPanel.item())==null?null:d.type)==="routes"?5:-1)}}function Op(i,t){if(i&1){let e=y();a(0,"a",55),_("click",function(){u(e);let o=l(2);return m(o.closeInstrumentPanel())}),a(1,"mat-icon"),p(2,"open_in_new"),s()()}if(i&2){let e=l(2);x("href",e.instUrl(),fn)}}function Vp(i,t){if(i&1&&v(0,"iframe",54),i&2){let e=l(2);x("src",e.instUrl(),le)}}function Fp(i,t){if(i&1){let e=y();a(0,"div",22)(1,"mat-nav-list")(2,"a",48)(3,"a",49),_("click",function(){u(e);let o=l();return m(o.closeInstrumentPanel())}),a(4,"mat-icon"),p(5,"arrow_forward"),s()(),p(6," \xA0\xA0\xA0\xA0 "),f(7,Op,3,1,"a",50),a(8,"a",51),_("click",function(){u(e);let o=l();return m(o.selectPlugin())}),a(9,"mat-icon"),p(10,"arrow_back_ios"),s()(),a(11,"a",52),_("click",function(){u(e);let o=l();return m(o.selectPlugin(!0))}),a(12,"mat-icon"),p(13,"arrow_forward_ios"),s()()(),v(14,"mat-divider"),s(),a(15,"div",53),f(16,Vp,1,1,"iframe",54),s()()}if(i&2){let e=l();c(7),h(e.app.config.display.plugins.instruments?7:-1),c(),x("disabled",e.app.config.display.plugins.favourites.length===0),c(3),x("disabled",e.app.config.display.plugins.favourites.length===0),c(5),h(e.app.instrumentPanel().activate?16:-1)}}function Np(i,t){i&1&&(a(0,"div",24),v(1,"mat-progress-bar",56),s())}function $p(i,t){if(i&1){let e=y();a(0,"autopilot-console",57),_("close",function(){u(e);let o=l();return m(o.toggleAutopilotConsole(!1))}),s()}if(i&2){let e=l();x("apData",e.app.data.vessels.self.autopilot)}}function Bp(i,t){if(i&1){let e=y();a(0,"route-builder",58),_("save",function(o){u(e);let r=l();return m(r.skres.newRouteAt(o.coordinates,o.meta))})("close",function(){u(e);let o=l();return m(o.toggleRouteBuilderConsole(!1))}),s()}}function qp(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",78),_("click",function(){u(e);let o=l(3);return m(o.showSelectMode())}),a(2,"mat-icon"),p(3,"cancel"),s()()()}}function Up(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",79),_("click",function(){u(e);let o=l(3);return m(o.openFeatureBrowser())}),a(2,"mat-icon"),p(3,"tips_and_updates"),s()()()}}function zp(i,t){if(i&1){let e=y();a(0,"div",62)(1,"div",60)(2,"button",69),_("click",function(){u(e);let o=l(2);return m(o.toggleAlertList(!0))}),v(3,"mat-icon",70),s()(),a(4,"div",60)(5,"button",71)(6,"mat-icon"),p(7,"layers"),s()()(),a(8,"div",60)(9,"button",72)(10,"mat-icon"),p(11,"edit"),s()()(),a(12,"div",60)(13,"button",73),_("click",function(){u(e);let o=l(2);return m(o.toggleNorthUp())}),v(14,"mat-icon",74),s()(),a(15,"div",60)(16,"button",75),_("click",function(){u(e);let o=l(2);return m(o.toggleMoveMap())}),v(17,"mat-icon",76),s()(),a(18,"div",60)(19,"button",77)(20,"mat-icon"),p(21,"more_horiz"),s()()(),f(22,qp,4,0,"div",60),f(23,Up,4,0,"div",60),s()}if(i&2){let e=l(2),n=ke(3),o=ke(41),r=ke(73);c(2),x("matBadge",e.notiMgr.alerts().length)("matBadgeHidden",e.notiMgr.alerts().length===0),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",n),c(4),x("disabled",e.isInteracting())("matMenuTriggerFor",r),c(4),x("ngClass",re(16,he,!e.app.uiConfig().mapNorthUp,e.app.uiConfig().mapNorthUp))("matTooltip",e.app.uiConfig().mapNorthUp?"Show Heading Up":"Show North Up"),c(),x("svgIcon",e.app.uiConfig().mapNorthUp?"heading-n-up":"heading-h-up"),c(2),x("ngClass",re(19,he,e.app.uiConfig().mapMove,!e.app.uiConfig().mapMove))("disabled",!e.app.data.vessels.showSelf)("matTooltip",e.app.uiConfig().mapMove?"Turn off Follow Vessel":"Center & Follow Vessel"),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",o),c(3),h(e.mode===1?22:-1),c(),h(e.whatsNew.hasUnseen()?23:-1)}}function jp(i,t){if(i&1){let e=y();a(0,"route-list",81),_("activate",function(o){u(e);let r=l(4);return m(r.activateRoute(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("routes",o.id))})("points",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o.id,type:"route"}))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"route",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeRoute",e.app.data.activeRoute)("editingRouteId",e.app.data.editingId)}}function Gp(i,t){i&1&&(K(0,jp,1,2),Z(1,0,ep),Q())}function Hp(i,t){if(i&1){let e=y();a(0,"waypoint-list",82),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("waypoints",o.id))})("goto",function(o){u(e);let r=l(4);return m(r.course.navigateToWaypoint(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"waypoint",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeWaypoint",e.app.data.activeWaypoint)("editingWaypointId",e.app.data.editingId)}}function Wp(i,t){i&1&&(K(0,Hp,1,2),Z(1,0,tp),Q())}function Xp(i,t){if(i&1){let e=y();a(0,"chart-list",83),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("selectedCharts",e.app.config.selections.charts)}}function Kp(i,t){i&1&&(K(0,Xp,1,1),Z(1,0,np),Q())}function Zp(i,t){if(i&1){let e=y();a(0,"note-list",84),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("notes",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("notes",e.skres.notes())}}function Qp(i,t){i&1&&(K(0,Zp,1,1),Z(1,0,ip),Q())}function Yp(i,t){if(i&1){let e=y();a(0,"region-list",85),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("regions",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("regions",e.skres.regions())}}function Jp(i,t){i&1&&(K(0,Yp,1,1),Z(1,0,op),Q())}function ed(i,t){if(i&1){let e=y();a(0,"track-list",86),_("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function td(i,t){i&1&&(K(0,ed,1,0),Z(1,0,rp),Q())}function nd(i,t){if(i&1){let e=y();a(0,"ais-list",87),_("properties",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o,type:"ais"}))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())})("focusVessel",function(o){u(e);let r=l(4);return m(r.switchActiveVessel(o))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(4);x("focusId",e.app.data.vessels.activeId)}}function id(i,t){i&1&&(K(0,nd,1,1),Z(1,0,ap),Q())}function od(i,t){if(i&1){let e=y();a(0,"group-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function rd(i,t){i&1&&(K(0,od,1,0),Z(1,0,sp),Q())}function ad(i,t){if(i&1){let e=y();a(0,"infolayer-list",88),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())})("paramChanged",function(o){u(e);let r=l(4);return m(r.onInfoLayerParamChange(o))}),s()}}function sd(i,t){i&1&&(K(0,ad,1,0),Z(1,0,lp),Q())}function ld(i,t){if(i&1){let e=y();a(0,"anchor-watch",89),_("closed",function(){u(e);let o=l(3);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(3);x("showSelf",e.app.data.vessels.showSelf)("radius",e.anchor.radius())("raised",e.anchor.raised())}}function cd(i,t){if(i&1){let e=y();a(0,"weather-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function pd(i,t){i&1&&(K(0,cd,1,0),Z(1,0,cp),Q())}function dd(i,t){if(i&1&&(a(0,"div",63),f(1,Gp,3,0),f(2,Wp,3,0),f(3,Kp,3,0),f(4,Qp,3,0),f(5,Jp,3,0),f(6,td,3,0),f(7,id,3,0),f(8,rd,3,0),f(9,sd,3,0),f(10,ld,1,3,"anchor-watch",80),f(11,pd,3,0),s()),i&2){let e=l(2);c(),h(e.leftMenuCtrl().routeList?1:-1),c(),h(e.leftMenuCtrl().waypointList?2:-1),c(),h(e.leftMenuCtrl().chartList?3:-1),c(),h(e.leftMenuCtrl().noteList?4:-1),c(),h(e.leftMenuCtrl().regionList?5:-1),c(),h(e.leftMenuCtrl().trackList?6:-1),c(),h(e.leftMenuCtrl().aisList?7:-1),c(),h(e.leftMenuCtrl().resourceGroups?8:-1),c(),h(e.leftMenuCtrl().infoLayerList?9:-1),c(),h(e.leftMenuCtrl().anchorWatch?10:-1),c(),h(e.leftMenuCtrl().weatherList?11:-1)}}function ud(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",90),p(2,"visibility_off "),s()())}function md(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",91),p(2,"compare_arrows "),s()())}function _d(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",92),p(2,"directions_boat "),s()())}function fd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",93),p(2,"local_offer "),s()())}function hd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",94),p(2,"signal_wifi_statusbar_connected_no_internet_4 "),s()())}function gd(i,t){if(i&1){let e=y();a(0,"button",100),_("click",function(){u(e);let o=l(4);return m(o.openInstrumentPanel())}),a(1,"mat-icon"),p(2,"av_timer"),s()()}}function Cd(i,t){if(i&1&&(a(0,"div",96),f(1,gd,3,0,"button",99),v(2,"br"),p(3,"\xA0"),v(4,"br"),p(5,"\xA0 "),s()),i&2){let e=l(3);c(),h(!e.app.instrumentPanel().open&&!e.infoPanel.opened()&&!e.isInteracting()&&!e.app.data.vessels.activeId?1:-1)}}function vd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",101),_("click",function(){u(e);let o=l(3);return m(o.enableAudio())}),a(2,"mat-icon",33),p(3,"volume_off"),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}}function bd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",102),_("click",function(){u(e);let o=l(3);return m(o.toggleFullscreen())}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(3,he,e.displayFullscreen().active,!e.displayFullscreen().active))("matTooltip",e.displayFullscreen().active?"Exit Fullscreen ":"Go Fullscreen"),c(2),me(" ",e.displayFullscreen().active?"fullscreen_exit ":"fullscreen"," ")}}function wd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"fb-experiments",103),_("selected",function(o){u(e);let r=l(3);return m(r.openExperiment(o))}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}}function xd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"pip-video",104),_("click",function(){u(e);let o=l(3);return m(o.focusMap())}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}if(i&2){let e=l(3);c(),x("src",e.vidUrl())("muted",!0)}}function yd(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",105),_("click",function(){u(e);let o=l(3);return m(o.toggleAutopilotConsole(!0))}),v(2,"mat-icon",106),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(1,he,e.app.data.vessels.self.autopilot.enabled,!e.app.data.vessels.self.autopilot.enabled))}}function Ed(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",107),_("click",function(){u(e);let o=l(3);return m(o.showRadarPanel())}),v(2,"mat-icon",36),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(2,he,e.app.uiCtrl().radarLayer,!e.app.uiCtrl().radarLayer))("disabled",e.app.instrumentPanel().open)}}function Td(i,t){if(i&1){let e=y();a(0,"div",60)(1,"button",108),_("click",function(){let o=u(e).$implicit,r=l(3);return m(r.plotterExt.handleButtonAction(o.extension,o.button))}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=t.$implicit;c(),x("matTooltip",e.button.title),c(2),z(e.button.icon||"extension")}}function Sd(i,t){if(i&1){let e=y();a(0,"div",95),f(1,Cd,6,1,"div",96),f(2,vd,7,0,"div",60),f(3,bd,7,6,"div",60),a(4,"div",60)(5,"button",97),_("click",function(){u(e);let o=l(2);return m(o.toggleConstrainMapZoom())}),a(6,"mat-icon"),p(7,"zoom_in_map"),s()(),v(8,"br"),p(9,"\xA0"),v(10,"br"),s(),a(11,"div",60)(12,"button",98),_("click",function(){u(e);let o=l(2);return m(o.invertFeatureLabelColor())}),a(13,"mat-icon"),p(14),s()(),v(15,"br"),p(16,"\xA0"),v(17,"br"),s(),f(18,wd,5,0,"div",60),f(19,xd,5,2,"div",60),f(20,yd,6,4,"div",60),f(21,Ed,6,5,"div",60),G(22,Td,7,2,"div",60,dp),s()}if(i&2){let e=l(2);ne("top",60+e.plotterExt.toolbarTopOffset(),"px"),c(),h(e.app.instrumentPanelAvailable()&&e.app.config.display.plugins.instruments?1:-1),c(),h(e.audioStatus()!=="running"?2:-1),c(),h(e.app.isTopWindow()&&e.displayFullscreen().enabled?3:-1),c(2),x("ngClass",re(12,he,e.app.uiConfig().mapConstrainZoom,!e.app.uiConfig().mapConstrainZoom)),c(7),x("ngClass",re(15,he,e.app.uiConfig().invertColor,!e.app.uiConfig().invertColor)),c(2),z("invert_colors"),c(4),h(e.app.config.experiments?18:-1),c(),h(e.app.config.resources.video.enable&&e.app.config.resources.video.url?19:-1),c(),h(e.app.featureFlags().autopilotApi&&e.app.data.vessels.self.autopilot.default&&e.app.config.display.fab!=="autopilot"?20:-1),c(),h(e.app.featureFlags().radarApi&&e.radarApi.radarId()&&e.app.config.display.fab!=="radar"?21:-1),c(),H(e.plotterExt.toolbarButtons())}}function Ad(i,t){if(i&1){let e=y();a(0,"div",59)(1,"div",60)(2,"button",61)(3,"mat-icon"),p(4,"menu"),s()()()(),f(5,zp,24,22,"div",62),f(6,dd,12,11,"div",63),a(7,"div",64),f(8,ud,3,0,"div",65),f(9,md,3,0,"div",65),f(10,_d,3,0,"div",65),f(11,fd,3,0,"div",65),f(12,hd,3,0,"div",65),s(),a(13,"div",66)(14,"div",60)(15,"button",67),_("click",function(){u(e);let o=l();return m(o.toggleToolbarButtons())}),a(16,"mat-icon"),p(17),s()()()(),f(18,Sd,24,18,"div",68)}if(i&2){let e=l(),n=ke(109);c(2),x("disabled",e.isInteracting())("matBadgeHidden",e.app.isLoggedIn())("matMenuTriggerFor",n),c(3),h(e.app.uiConfig().toolbarButtons?5:-1),c(),h(e.leftMenuCtrl().leftMenuPanel?6:-1),c(),ne("top",20+e.plotterExt.toolbarTopOffset(),"px"),c(),h(!e.wakeLock.enabled()&&e.wakeLock.isAvailable?8:-1),c(),h(e.app.uiConfig().showCourseData?-1:9),c(),h(e.app.uiConfig().showAisTargets?-1:10),c(),h(e.app.uiConfig().showNotes?-1:11),c(),h(e.stream.watchDogAlarm()?12:-1),c(),ne("top",e.plotterExt.toolbarTopOffset(),"px"),c(2),x("matTooltip",e.app.uiConfig().toolbarButtons?"Hide Toobars":"Show Toobars"),c(2),z(e.app.uiConfig().toolbarButtons?"apps":"apps_outage"),c(),h(e.app.uiConfig().toolbarButtons?18:-1)}}function Md(i,t){if(i&1&&(a(0,"div",30)(1,"div",109)(2,"mat-icon"),p(3,"access_time"),s(),a(4,"b"),p(5,"Playback:"),s()(),a(6,"div",110),p(7),s()()),i&2){let e=l();c(7),z(e.playbackTime())}}function kd(i,t){if(i&1){let e=y();a(0,"alert-list",114),_("closed",function(){u(e);let o=l(2);return m(o.toggleAlertList(!1))}),s()}if(i&2){let e=l(2);x("alerts",e.notiMgr.alerts())}}function Pd(i,t){if(i&1){let e=y();a(0,"span",113)(1,"fb-alert",115),_("nextPoint",function(){u(e);let o=l(2);return m(o.course.coursePointIndex(o.course.courseData().pointIndex+1))})("routeEnd",function(){u(e);let o=l(2);return m(o.clearDestination())}),s()()}if(i&2){let e=t.$implicit,n=l(2);c(),x("audioStatus",n.audioStatus())("alert",e[1])("acknowledged",e[1].acknowledged)("silenced",e[1].silenced)("doNotPlaySound",n.app.config.display.muteSound)}}function Id(i,t){if(i&1&&(f(0,kd,1,1,"alert-list",111),a(1,"div",112),G(2,Pd,2,5,"span",113,up),s()),i&2){let e=l();h(e.app.uiCtrl().alertList?0:-1),c(2),H(e.notiMgr.alerts())}}function Dd(i,t){if(i&1){let e=y();a(0,"fb-interact-help",116),_("finish",function(){u(e);let o=l();return m(o.handleInteractionFinish())})("cancel",function(){u(e);let o=l();return m(o.closeInteraction())})("undo",function(){u(e);let o=l();return m(o.handleInteractionUndo())}),s()}}function Rd(i,t){if(i&1){let e=y();a(0,"route-nextpoint",119),_("selected",function(o){u(e);let r=l(2);return m(r.routeNextPoint(o))}),s()}if(i&2){let e=l(2);x("index",e.course.courseData().pointIndex)("total",e.course.courseData().pointTotal)("circular",e.app.data.activeRouteCircular)}}function Ld(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","VMG")("value",e.app.formatSpeed(e.course.courseData().vmg,!0))("units",e.app.formattedSpeedUnits)}}function Od(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","BRG")("value",e.course.courseData().bearing.value.toFixed(1))("units",e.course.courseData().bearing.type==="M"?"deg (M)":"deg (T)")}}function Vd(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","XTE")("value",e.course.courseData().xte>10?e.course.courseData().xte.toFixed(1):e.course.courseData().xte.toFixed(3))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Fd(i,t){if(i&1&&v(0,"ap-dial-text",132),i&2){let e=l(4);x("title","DTG")("value",e.course.courseData().route.dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Nd(i,t){if(i&1&&v(0,"ap-dial-ttg",133),i&2){let e=l(4);x("value",e.course.courseData().route.ttg)}}function $d(i,t){if(i&1&&v(0,"ap-dial-eta",134),i&2){let e=l(4);x("title","ETA")("value",e.course.courseData().route.eta)}}function Bd(i,t){if(i&1&&(f(0,Fd,1,3,"ap-dial-text",132),f(1,Nd,1,1,"ap-dial-ttg",133),f(2,$d,1,2,"ap-dial-eta",134)),i&2){let e=l(3);h(e.course.courseData().route.dtg?0:-1),c(),h(e.course.courseData().route.ttg?1:-1),c(),h(e.course.courseData().route.eta?2:-1)}}function qd(i,t){if(i&1&&v(0,"ap-dial-text",129),i&2){let e=l(3);x("title","DTG")("value",e.course.courseData().dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Ud(i,t){if(i&1&&v(0,"ap-dial-ttg",130),i&2){let e=l(3);x("value",e.course.courseData().ttg)}}function zd(i,t){if(i&1&&v(0,"ap-dial-eta",131),i&2){let e=l(3);x("title","ETA")("value",e.course.courseData().eta)}}function jd(i,t){if(i&1){let e=y();a(0,"div",118)(1,"div",120)(2,"div",121)(3,"button",122),_("click",function(){u(e);let o=l(2);return m(o.openCourseSettings())}),v(4,"mat-icon",123),s(),v(5,"br"),a(6,"button",124),_("click",function(){u(e);let o=l(2);return m(o.autopilot.engage())}),v(7,"mat-icon",125),s()(),a(8,"div")(9,"button",126),_("click",function(){u(e);let o=l(2);return m(o.course.courseRestart())}),a(10,"mat-icon"),p(11,"replay"),s()(),v(12,"br"),a(13,"button",127),_("click",function(){u(e);let o=l(2);return m(o.course.courseReverse())}),a(14,"mat-icon",128),p(15," multiple_stop "),s()()()(),f(16,Ld,1,3,"ap-dial-text",129),f(17,Od,1,3,"ap-dial-text",129),f(18,Vd,1,3,"ap-dial-text",129),f(19,Bd,3,3),f(20,qd,1,3,"ap-dial-text",129),f(21,Ud,1,1,"ap-dial-ttg",130),f(22,zd,1,2,"ap-dial-eta",131),s()}if(i&2){let e=l(2);c(6),x("disabled",!e.app.featureFlags().autopilotApi||!e.app.data.vessels.self.autopilot.default),c(),x("color",e.navDataPanel().apModeColor),c(6),x("disabled",!e.app.data.activeRoute),c(),x("color",e.app.data.activeRouteReversed?"primary":"none"),c(2),h(e.course.courseData().vmg?16:-1),c(),h(e.course.courseData().bearing.value?17:-1),c(),h(e.course.courseData().xte?18:-1),c(),h(e.app.data.activeRoute?19:-1),c(),h(e.course.courseData().dtg?20:-1),c(),h(e.course.courseData().ttg?21:-1),c(),h(e.course.courseData().eta?22:-1)}}function Gd(i,t){if(i&1&&(a(0,"div",31),f(1,Rd,1,3,"route-nextpoint",117),f(2,jd,23,11,"div",118),s()),i&2){let e=l();c(),h(e.navDataPanel().nextPointCtrl?1:-1),c(),h(e.app.config.ui.showCourseData&&e.navDataPanel().show?2:-1)}}function Hd(i,t){if(i&1){let e=y();a(0,"mfb-container",135),_("radarClick",function(){u(e);let o=l();return m(o.showRadarPanel())}),s()}if(i&2){let e=l();x("action",e.app.config.display.fab)}}var vt=class i{sideright;fbMap;navDataPanel=U({show:!1,nextPointCtrl:!1,apModeColor:"",apModeText:""});playbackTime=U(null);leftMenuCtrl=U({leftMenuPanel:!1,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,infoLayerList:!1,anchorWatch:!1,weatherList:!1});displayFullscreen=U({active:!1,enabled:document.fullscreenEnabled});features={playbackAPI:!0};mode=0;timers=[];instUrl=U(null);selFavourite=-1;vidUrl=U(null);convert=Pt;obsList=[];streamOptions={options:null,toMode:null};mapSetFocus=U("");mapCenter=U([0,0]);audioStatus=U("");isInteracting=be(()=>this.mapInteract.isMeasuring()||this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isBoxSelecting());app=C(li);infoPanel=C(Mi);mapInteract=C(ci);anchor=C(Ui);notiMgr=C($i);course=C(_i);stream=C(ai);skres=C(di);skresOther=C(ui);signalk=C(ii);dom=C(pe);overlayContainer=C(On);bottomSheet=C(Un);dialog=C(qn);wakeLock=C(ni);settings=C(Ki);autopilot=C(ji);radarApi=C(si);symbols=C(ri);routeBuffers=C(fi);plotterExt=C(j);whatsNew=C(mt);constructor(){this.app.data.vessels.active=this.app.data.vessels.self,oe(()=>{this.app.debug("** skAuthChange Event:",this.app.skAuthChange()),this.handleSKAuthChange()}),oe(()=>{this.app.debug("** kioskMode Event:",this.app.kioskMode()),this.toggleSuppressContextMenu(this.app.kioskMode())}),oe(()=>{this.handleSelectionEnded(this.mapInteract.selection())}),oe(()=>{this.app.uiConfig(),this.handleSettingChangeEvent(void 0)}),oe(()=>{this.infoPanel.opened()||this.app.instrumentPanel().activate?this.sideright?.opened||this.openDrawer():this.sideright?.opened&&this.closeDrawer()}),oe(()=>{let t=this.app.mapMoveRequest();t&&(this.app.uiConfig.update(e=>e.mapMove?cn(Oe({},e),{mapMove:!1}):e),this.centerAndZoom(t.center,t.zoom))})}ngAfterViewInit(){setTimeout(()=>{this.app.config.display.disableWakelock||this.wakeLock.enable()},500)}enableAudio(){this.app.audio.context&&this.app.audio.context.resume()}ngOnInit(){this.whatsNew.init(),this.audioStatus.update(()=>this.app.audio.context.state),this.app.debug("audio state:",this.audioStatus()),this.app.audio.context.onstatechange=()=>{this.app.debug("audio statechange:",this.app.audio.context.state),this.audioStatus.update(()=>this.app.audio.context.state)},this.mapCenter.update(()=>this.app.config.map.center),this.app.instrumentPanel.update(t=>Object.assign({},t,{activate:!this.app.config.display.plugins.startOnOpen})),this.setDarkTheme(),this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),this.connectSignalKServer(),this.obsList.push(this.stream.delta$().subscribe(t=>this.onMessage(t))),this.obsList.push(this.stream.connect$().subscribe(t=>this.onConnect(t))),this.obsList.push(this.stream.close$().subscribe(t=>this.onClose(t))),this.obsList.push(this.stream.error$().subscribe(t=>this.onError(t))),this.obsList.push(this.stream.trail$().subscribe(t=>this.handleTrailUpdate(t))),this.obsList.push(this.settings.change$.subscribe(t=>this.handleSettingChangeEvent(t))),document.addEventListener("fullscreenchange",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!!document.fullscreenElement}))}),document.addEventListener("fullscreenerror",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!1}))})}ngOnDestroy(){this.stopTimers(),this.stream.terminate(),this.signalk.disconnect(),this.obsList.forEach(t=>t.unsubscribe())}getOrientation(){return this.app.uiConfig().mapNorthUp?"rotate(0deg)":"rotate("+(0-this.app.data.vessels.active.orientation)+"rad)"}showRadarPanel(){if(!this.radarApi.hasWebGL){this.radarApi.showNoWebGLMessage();return}this.app.instrumentPanel().open&&this.closeInstrumentPanel(),this.connectRadar(),this.infoPanel.openRadar(this.radarApi.radar()),this.focusMap()}connectRadar(){this.app.uiCtrl().radarLayer||this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!0}))}disconnectRadar(){this.app.uiCtrl().radarLayer&&this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!1}))}toggleMoveMap(t=!1){this.app.uiConfig.update(e=>{let n=t?!1:!e.mapMove;return Object.assign({},e,{mapMove:n})}),this.focusMap()}resumeMoveMap(){this.app.uiConfig.update(t=>Object.assign({},t,{mapMove:!0})),this.focusMap()}toggleNorthUp(){this.app.uiConfig.update(t=>Object.assign({},t,{mapNorthUp:!t.mapNorthUp})),this.focusMap()}toggleToolbarButtons(){this.app.uiConfig.update(t=>Object.assign({},t,{toolbarButtons:!t.toolbarButtons})),this.focusMap()}toggleConstrainMapZoom(){this.app.uiConfig.update(t=>Object.assign({},t,{mapConstrainZoom:!t.mapConstrainZoom})),this.skres.setMapZoomRange(),this.focusMap()}invertFeatureLabelColor(){this.app.uiConfig.update(t=>Object.assign({},t,{invertColor:!t.invertColor})),this.focusMap()}toggleAlertList(t){this.app.uiCtrl.update(e=>Object.assign({},e,{alertList:t}))}toggleAutopilotConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{autopilotConsole:t}))}toggleRouteBuilderConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{routeBuilder:t}))}toggleSuppressContextMenu(t){this.app.uiCtrl.update(e=>Object.assign({},e,{suppressContextMenu:t}))}toggleFullscreen(){let t=document.documentElement,e=t.requestFullscreen||t.webkitRequestFullScreen||t.mozRequestFullscreen||t.msRequestFullscreen;e&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():e.call(t),this.focusMap())}darkThemeApplied;setDarkTheme(){let t=window.matchMedia("(prefers-color-scheme: dark)"),e=this.app.config.display.darkMode.source===0&&t.matches||this.app.config.display.darkMode.source===1&&this.app.data.vessels.self.environment.mode==="night"||this.app.config.display.darkMode.source===-1;if(e===this.darkThemeApplied)return;this.darkThemeApplied=e;let n=this.overlayContainer.getContainerElement();e?n.classList.add("dark-theme"):n.classList.remove("dark-theme"),this.app.config.display.darkMode.enabled=e}formatInstrumentsUrl(){let t=`${this.app.hostDef.url}${this.app.config.display.plugins.instruments}`,e=this.app.config.display.plugins.parameters?this.app.config.display.plugins.parameters.length>0&&this.app.config.display.plugins.parameters[0]!=="?"?`?${this.app.config.display.plugins.parameters}`:this.app.config.display.plugins.parameters:"";return e?`${t}/${e}`:t}selectPlugin(t=!1){t?this.selFavourite===-1?this.selFavourite=0:this.selFavourite===this.app.config.display.plugins.favourites.length-1?this.selFavourite=-1:this.selFavourite++:this.selFavourite===-1?this.selFavourite=this.app.config.display.plugins.favourites.length-1:this.selFavourite===0?this.selFavourite=-1:this.selFavourite--;let e=this.selFavourite===-1?this.formatInstrumentsUrl():`${this.app.hostDef.url}${this.app.config.display.plugins.favourites[this.selFavourite]}`;this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(e))}onInfoLayerParamChange(t){this.skresOther.infoLayerParams.update(()=>[t])}handleContextMenuSelection(t){switch(t){case"cleartrail":this.clearTrail(this.app.data.serverTrail);break;case"trail2route":this.trailToRoute();break;case"cleardestination":this.clearDestination();break;case"anchor":this.displayLeftMenu("anchorWatch",!0);break;case"weather_forecast":this.showWeather("forecast");break}}trailToRoute(){return O(this,null,function*(){let{Trail2RouteDialog:t}=yield import("./chunk-DDECKPFC.js");this.dialog.open(t,{disableClose:!0,data:{trail:this.app.selfTrail()}}).afterClosed().subscribe(e=>{e.result&&this.skres.newRouteAt(e.data),this.focusMap()})})}showWeather(t){t==="forecast"&&this.bottomSheet.open(Zi,{disableClose:!0,data:{title:"Forecast",position:this.app.data.vessels.self.position,subTitle:"Location: Vessel Position"}}).afterDismissed().subscribe(()=>{this.focusMap()})}openExperiment(t){t.choice==="debugCapture"?window.isSecureContext?(navigator.clipboard.writeText(JSON.stringify({data:this.app.data,config:this.app.config})),this.app.showMessage("Debug data catpured to clipboard.")):this.app.showAlert("Feature Unavailable",`This feature is only available in a secure context!
460
+ e.g. https, http://localhost, http://127.0.0.1`):this.app.config.resources.paths.includes(t.choice)&&this.bottomSheet.open(Oi,{disableClose:!0,data:{path:t.choice}}).afterDismissed().subscribe(()=>{this.focusMap()})}openCourseSettings(){this.bottomSheet.open(mi,{disableClose:!0,data:{title:"Course Settings"}}).afterDismissed().subscribe(()=>{this.focusMap()})}handleSKAuthChange(){this.signalk.getLoginStatus().subscribe(t=>{this.app.data.loginRequired=t.authenticationRequired??!1,this.app.isLoggedIn.update(()=>t.status==="loggedIn"),this.signalk.get("/plugins/freeboard-sk").subscribe(()=>{this.app.debug("User Authenticated"),this.app.isLoggedIn.set(!0)},e=>{e.status===401&&(this.app.debug("User NOT Authenticated"),this.app.isLoggedIn.set(!1))})})}connectSignalKServer(){this.app.data.selfId=null,this.app.data.server=null,this.signalk.proxied=this.app.config.signalk.proxied,this.signalk.connect(this.app.hostDef.name,this.app.hostDef.port,this.app.hostDef.ssl).subscribe({next:()=>{this.signalk.authToken=this.app.getFBToken(),this.app.watchSKLogin(),this.app.loadUserConfigfromServer().finally(()=>{this.loadSymbolsThenFetchResources(),this.plotterExt.init()}),this.getFeatures(),this.app.data.server=this.signalk.server.info,this.openSKStream()},error:()=>{this.app.showMessage("Unable to contact Signal K server! (Retrying in 5 secs)",!1,5e3),setTimeout(()=>this.connectSignalKServer(),5e3)}})}getFeatures(){return O(this,null,function*(){let t={anchorApi:!1,autopilotApi:!1,weatherApi:!1,radarApi:!1,notificationApi:!1,buddyList:!1,tidalApi:!1};this.signalk.get("/signalk/v2/features?enabled=1").subscribe(n=>{t.weatherApi=n.apis.includes("weather"),t.autopilotApi=n.apis.includes("autopilot"),t.radarApi=n.apis.includes("radar"),t.notificationApi=n.apis.includes("notifications");let o={charts:!1,pmTiles:!1};n.plugins.forEach(r=>{r.id==="anchoralarm"&&(this.app.debug("*** found anchoralarm plugin"),t.anchorApi=!0),r.id==="signalk-buddylist-plugin"&&(this.app.debug("*** found buddylist plugin"),t.buddyList=!!la.satisfies(r.version,">1.2.0")),r.id==="signalk-pmtiles-plugin"&&(this.app.debug("*** found PMTiles plugin"),o.pmTiles=!0),r.id==="signalk-tidal-currents"&&(this.app.debug("*** found signalk-tidal-currents plugin"),t.tidalApi=!0)}),this.app.featureFlags.update(r=>Object.assign({},r,t))},()=>{this.app.debug("*** Features API not present!")}),this.app.fetchUnitPrefsFromSKServer();let e=yield this.skresOther.initCustomCollections();this.app.featureFlags.update(n=>Object.assign({},n,e))})}startTimers(){this.app.debug("Starting Trail logging timer..."),this.timers.push(setInterval(()=>{this.processTrail()},5e3))}stopTimers(){this.app.debug("Stopping timers:"),this.timers.forEach(t=>clearInterval(t)),this.timers=[]}processTrail(t){if(!this.app.config.vessels.trail)return;let e=this.app.selfTrail().slice(-1);if(this.app.data.vessels.showSelf){if(e.length===0){this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r});return}(this.app.data.vessels.self.position[0]!==e[0][0]||this.app.data.vessels.self.position[1]!==e[0][1])&&this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r})}if(!t||t.length===0)this.app.selfTrail().length%60===0&&this.app.data.serverTrail&&this.app.config.vessels.trailFromServer&&this.stream.requestTrailFromServer(),this.app.selfTrail.update(o=>o.slice(-5e3));else{let o=t.slice(-1),r=o.length!==0?o[0].slice(-1):t.length>1?t[t.length-2].slice(-1):[];this.app.selfTrail.update(()=>r)}let n=this.mode===1?"history":"self";this.app.db.saveTrail(n,this.app.selfTrail())}handleTrailUpdate(t){t.action==="get"&&t.mode==="trail"&&(this.app.config.vessels.trailFromServer&&this.app.selfTrailFromServer.update(()=>t.data),this.processTrail(t.data))}handleSettingChangeEvent(t){t?.includes("darkTheme")&&this.setDarkTheme(),t?.includes("headingAttribute")&&(this.app.debug("True / Magnetic selection changed.."),this.app.data.vessels.self.heading=this.app.useMagnetic?this.app.data.vessels.self.headingMagnetic:this.app.data.vessels.self.headingTrue,this.app.data.vessels.self.cog=this.app.useMagnetic?this.app.data.vessels.self.cogMagnetic:this.app.data.vessels.self.cogTrue,this.app.data.vessels.self.wind.direction=this.app.useMagnetic?this.app.data.vessels.self.wind.mwd:this.app.data.vessels.self.wind.twd,this.app.data.vessels.aisTargets.forEach(e=>{e.heading=this.app.useMagnetic?e.headingMagnetic:e.headingTrue,e.cog=this.app.useMagnetic?e.cogMagnetic:e.cogTrue,e.wind.direction=this.app.useMagnetic?e.wind.mwd:e.wind.twd}),this.app.sTrueMagChoice.set(this.app.config.units.headingAttribute)),(t?.includes("pluginParameters")||t?.includes("pluginInstruments")||t?.includes("pluginStartOnOpen"))&&(this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.app.instrumentPanel.update(e=>Object.assign({},e,{activate:this.app.config.display.plugins.startOnOpen?!!e.open:!0}))),t?.includes("videoUrl")&&this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),(t?.includes("vesselTrail")||t?.includes("trailFromServer"))&&this.app.config.vessels.trail&&(this.app.config.vessels.trailFromServer?this.stream.requestTrailFromServer():this.app.data.serverTrail=!1)}focusMap(){this.mapSetFocus.update(()=>Date().valueOf())}openDrawer(){this.sideright.open()}closeDrawer(){this.sideright.close()}openInstrumentPanel(){this.app.instrumentPanel().open||(this.infoPanel.opened()&&this.infoPanel.close(),this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!0,activate:!0})))}closeInstrumentPanel(){this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!1,activate:this.app.config.display.plugins.startOnOpen?!1:t.activate})),this.focusMap()}displayLeftMenu(t="",e=!1){let n={leftMenuPanel:e,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,infoLayerList:!1,anchorWatch:!1,weatherList:!1};switch(t){case"routeList":n.routeList=e;break;case"waypointList":n.waypointList=e;break;case"chartList":n.chartList=e;break;case"noteList":n.noteList=e;break;case"regionList":n.regionList=e;break;case"trackList":n.trackList=e;break;case"anchorWatch":n.anchorWatch=e;break;case"aisList":n.aisList=e;break;case"resourceGroups":n.resourceGroups=e;break;case"infoLayerList":n.infoLayerList=e;break;case"weatherList":n.weatherList=e;break;default:n.leftMenuPanel=!1}this.leftMenuCtrl.update(()=>n),e||this.focusMap()}handleResourceInfo(t,e){t==="notes"&&!this.app.useInfoPanel()?this.skres.noteSelected(e,!1):t==="regions"&&!this.app.useInfoPanel()?this.skres.editRegionInfo(e):t==="waypoints"&&!this.app.useInfoPanel()?this.skres.editWaypointInfo(e):t==="routes"&&!this.app.useInfoPanel()?this.skres.editRouteInfo(e):this.infoPanel.open(t,e)}onNoteMove(t){this.infoPanel.opened()&&(this.infoPanel.close(),this.closeDrawer()),this.skres.startNoteModify(t)}openAbout(){return O(this,null,function*(){let{AboutDialog:t}=yield import("./chunk-VYN2OBDD.js");this.dialog.open(t,{disableClose:!1,data:{name:this.app.name,version:this.app.version,description:this.app.description,logo:this.app.logo,url:this.app.url}}).afterClosed().subscribe(()=>this.focusMap())})}openSettings(){return O(this,null,function*(){let{SettingsDialog:t}=yield import("./chunk-TEKC7VXV.js");this.dialog.open(t,{disableClose:!0,data:{},width:"1000px",maxWidth:"96vw",height:"80vh"}).afterClosed().subscribe(()=>{this.focusMap()})})}openFeatureBrowser(){return O(this,null,function*(){this.whatsNew.markAllSeen();let{FeatureBrowserDialog:t}=yield import("./chunk-TVVJJZA5.js");this.dialog.open(t,{data:{},width:"900px",maxWidth:"96vw"}).afterClosed().subscribe(()=>{this.focusMap()})})}importFile(t){t.data.indexOf("<gpx ")!==-1?this.processGPX(t):t.data.indexOf('"type": "FeatureCollection",')!==-1?this.processGeoJSON(t):this.app.showAlert("Import","File format not supported!"),this.focusMap()}processGPX(t){return O(this,null,function*(){let{GPXImportDialog:e}=yield import("./chunk-JOTL4UUV.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{if(typeof n.errCount>"u"||n.errCount<0){this.focusMap();return}this.fetchResources(),n.errCount===0?this.app.showMsgBox("GPX Load","GPX file resources loaded successfully."):this.app.showErrorList(n.errList),this.focusMap()})})}exportToGPX(){return O(this,null,function*(){let{GPXExportDialog:t}=yield import("./chunk-L3MJOGJ2.js");this.dialog.open(t,{disableClose:!0,data:{routes:this.skres.routes(),tracks:[this.app.selfTrail()]}}).afterClosed().subscribe(e=>{if(e<0){this.focusMap();return}e===0?this.app.showMsgBox("GPX Save","Resources saved to GPX file successfully."):this.app.showAlert("GPX Save","Error saving resources to GPX file!"),this.focusMap()})})}processGeoJSON(t){return O(this,null,function*(){let{GeoJSONImportDialog:e}=yield import("./chunk-HB342AB6.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{n<0||(this.fetchResources(),n===0?this.app.showMsgBox("GeoJSON Load","GeoJSON features loaded successfully."):this.app.showAlert("GeoJSON Load",`Completed with errors!
461
+ Not all features were loaded.`),this.focusMap())})})}importResourceSet(){return O(this,null,function*(){let{ResourceImportDialog:t}=yield import("./chunk-TVMAD5AZ.js");this.dialog.open(t,{disableClose:!0,data:{}}).afterClosed().subscribe(e=>{if(e){try{let n=JSON.parse(e.data);this.skres.postToServer(e.path,n)}catch(n){this.app.showAlert("Load Resource",`Resources were not loaded!
462
462
  Invalid JSON.`)}this.focusMap()}})})}showLogin(t,e=!0,n){return O(this,null,function*(){let{LoginDialog:o}=yield import("./chunk-VYN2OBDD.js");this.dialog.open(o,{disableClose:!0,data:{message:t||"Login to Signal K server."}}).afterClosed().subscribe(r=>{r.cancel?(this.app.hasAuthToken.set(!1),this.signalk.isLoggedIn().subscribe(d=>{this.app.isLoggedIn.set(d)}),n?this.showLogin(null,!1,!0):e&&this.app.showAlert("Login Cancelled:","Update operations are NOT available until you have authenticated to the Signal K server.")):this.signalk.login(r.user,r.pwd).subscribe({next:d=>{this.app.persistToken(d.token),this.app.loadUserConfigfromServer().then(g=>{g&&(this.loadSymbolsThenFetchResources(),this.plotterExt.init())}),n&&this.queryAfterConnect(),this.app.isLoggedIn.set(!0)},error:()=>{this.app.persistToken(null),this.signalk.isLoggedIn().subscribe(d=>{this.app.isLoggedIn.set(d)}),n?this.app.showConfirm("Invalid Username or Password.","Authentication Failed:","Try Again").subscribe(()=>{this.showLogin(null,!1,!0)}):this.app.showConfirm(`Invalid Username or Password.
463
463
  Note: Choosing CLOSE may make operations requiring authentication unavailable.`,"Authentication Failed:","Try Again","Close").subscribe(d=>{d&&this.showLogin()})}}),this.focusMap()})})}showPlaybackSettings(){return O(this,null,function*(){let{PlaybackDialog:t}=yield import("./chunk-C6Q5GPY7.js");this.dialog.open(t,{disableClose:!1}).afterClosed().subscribe(e=>{e.result?this.switchMode(1,e.query):this.switchMode(0),this.focusMap()})})}centerAndZoom(t,e){this.mapCenter.update(()=>t),typeof e=="number"&&(this.app.config.map.zoomLevel=e)}toggleAisTargets(){this.app.config.ui.showAisTargets=!this.app.config.ui.showAisTargets,this.app.config.ui.showAisTargets&&this.stream.aisTargetUpdated(),this.app.saveConfig()}toggleCourseData(){this.app.config.ui.showCourseData=!this.app.config.ui.showCourseData,this.app.saveConfig()}toggleNotes(){this.app.config.ui.showNotes=!this.app.config.ui.showNotes,this.app.saveConfig()}clearTrail(t=!1){let e=()=>{this.app.data.serverTrail?this.app.config.vessels.trailFromServer&&this.stream.requestTrailFromServer():this.app.selfTrail.set([])};t?e():this.app.data.serverTrail||this.app.showConfirm("Clear Vessel Trail","Do you want to delete the vessel trail?").subscribe(n=>{n&&e()})}clearCourseData(){this.course.initCourseData()}clearDestination(){this.course.clearCourse()}activateRoute(t){let e=this.skres.fromCache("routes",t),n=It.closestForwardPoint(e[1].feature.geometry.coordinates,this.app.data.vessels.self.position,Pt.radiansToDegrees(this.app.data.vessels.self.heading));if(n===-1){this.app.showConfirm(`Closest point is behind vessel!
464
464
  Do you want to start from the first point?`,"Start Route").subscribe(o=>{o&&this.course.activateRoute(t)});return}this.course.activateRoute(t,n)}routeNextPoint(t){this.course.coursePointIndex(t),this.focusMap()}featureProperties(t){return O(this,null,function*(){let e;if(t.type==="route")try{let n=!!t.resource,o;n?o=t.resource[1]:(this.app.sIsFetching.set(!0),o=yield this.skres.fromServer("routes",t.id),this.app.sIsFetching.set(!1)),o&&this.bottomSheet.open(hi,{disableClose:!0,data:{title:"Route Properties",resource:[t.id,o,!1],type:t.type,noButtons:n}}).afterDismissed().subscribe(r=>{r&&this.clearDestination(),this.focusMap()})}catch(n){this.app.sIsFetching.set(!1),this.app.parseHttpErrorResponse(n)}else if(t.type==="aton"||t.type==="meteo"){let n,o,r;t.type==="meteo"?(e=this.app.data.meteo.get(t.id),n="Meteo Properties",o="air",r=t.type):t.id.slice(0,3)==="sar"?(e=this.app.data.sar.get(t.id),n="SaR Properties",o="tour",r="sar"):(e=this.app.data.atons.get(t.id),n="AtoN Properties",o="beenhere",r="aton"),e&&this.bottomSheet.open(yi,{disableClose:!0,data:{title:n,target:e,id:t.id,icon:o,type:r}}).afterDismissed().subscribe(()=>this.focusMap())}else if(t.type==="aircraft")e=this.app.data.aircraft.get(t.id),e&&this.bottomSheet.open(Ei,{disableClose:!0,data:{title:"Aircraft Properties",target:e,id:t.id}}).afterDismissed().subscribe(()=>this.focusMap());else if(t.type==="alarm")this.notiMgr.showAlertInfo(t.id);else if(t.type==="rset")e=this.skresOther.fromResourceSetCache(t.id),e&&this.bottomSheet.open(Vi,{disableClose:!0,data:{id:t.id,item:e}}).afterDismissed().subscribe(()=>{this.focusMap()});else{let n=t.type==="self"?t.type:t.id.includes("vessels.")?t.id.split(".")[1]:t.id;try{this.app.sIsFetching.set(!0),e=yield this.skres.vesselFromServer(n),this.app.sIsFetching.set(!1),e&&this.bottomSheet.open(xi,{disableClose:!0,data:{title:"Vessel Properties",target:e}}).afterDismissed().subscribe(()=>this.focusMap())}catch(o){this.app.sIsFetching.set(!1),this.app.parseHttpErrorResponse(o)}}})}mapDragOver(t){t.preventDefault()}mapDrop(t){if(t.preventDefault(),t.dataTransfer.files)if(t.dataTransfer.files.length>1)this.app.showAlert("Load Resources",`Multiple files provided!
465
- Please select only one file for processing.`);else{let e=new FileReader;if(e.onerror=()=>{this.app.showAlert("File Load error","There was an error reading the file contents!")},!t.dataTransfer.files[0].name)return;let n=t.dataTransfer.files[0].name;e.onload=()=>{this.processGPX({name:n,data:e.result})},e.readAsText(t.dataTransfer.files[0])}}switchActiveVessel(t=null){if(this.app.data.vessels.activeId=t,!t)this.app.data.vessels.active=this.app.data.vessels.self;else{let e=this.app.data.vessels.aisTargets.get(t);e?(this.app.data.vessels.active=e,this.sideright.close()):(this.app.data.vessels.active=this.app.data.vessels.self,this.app.data.vessels.activeId=null)}this.app.data.activeRoute=null,this.clearCourseData(),this.app.debug(`** Active vessel: ${this.app.data.vessels.activeId} `),this.app.debug(this.app.data.vessels.active)}switchMode(t,e){this.app.debug(`switchMode from: ${this.mode} to ${t}`),t===1?(this.app.db.saveTrail("self",this.app.selfTrail()),this.app.selfTrail.set([])):this.app.db.getTrail("self").then(n=>{this.app.selfTrail.update(()=>n&&n.value?n.value:[])}),this.switchActiveVessel(),this.openSKStream(e,t,!0)}showSelectMode(){this.mode===0?this.app.showConfirm("Do you want to change to History Playback mode?","Switch Mode").subscribe(t=>{t&&this.showPlaybackSettings()}):this.app.showConfirm("Do you want to exit History Playback mode?","Exit History Playback").subscribe(t=>{t&&this.switchMode(0)})}handleSelectionEnded(t){t.mode==="seedChart"&&this.skres.seedChartCache(t.data,t.bbox)}drawFeature(t){this.mapInteract.startDrawing(t)}onRouteInfoEdit(t){let e=this.routeBuffers.get(t);e&&(!e.saved||e.dirty)?this.saveRouteBuffer(t):this.skres.editRouteInfo(t)}saveRouteBuffer(t){return O(this,null,function*(){try{let e=yield this.plotterExt.saveBuffer(t,{dialog:!0});e&&this.infoPanel.open("routes",e.href)}catch(e){}})}handleDrawEnded(t){switch(this.mapInteract.isDrawing(),this.app.data.editingId="",this.mapInteract.draw.resourceType){case"note":let e={position:t.coordinates};this.mapInteract.draw.properties.group&&(e.group=this.mapInteract.draw.properties.group),this.skres.showNoteEditor(e);break;case"waypoint":this.skres.newWaypointAt(t.coordinates);break;case"route":this.routeBuffers.create({points:t.coordinates.map(o=>({position:o}))});break;case"region":let n=new pi;n.feature.geometry.coordinates=[It.normaliseCoords(t.coordinates)],this.skres.newRegion(n);break}}handleInteractionFinish(){this.mapInteract.isDrawing()?this.fbMap.finishDrawing():this.closeInteraction(!0)}handleInteractionUndo(){this.fbMap.undoInteraction()}onDocumentKeydown(t){!uo(t)||!this.mapInteract.canUndo()||(t.preventDefault(),this.handleInteractionUndo())}closeInteraction(t=!1){if(this.app.data.editingId="",this.mapInteract.isBoxSelecting()&&this.mapInteract.stopBoxSelection(),this.mapInteract.isMeasuring()&&this.mapInteract.stopMeasuring(),this.mapInteract.isDrawing()&&this.mapInteract.stopDrawing(),this.mapInteract.isModifying()&&(this.mapInteract.stopModifying(),this.app.data.activeRouteIsEditing=!1,this.mapInteract.draw.forSave?.id)){if(this.mapInteract.draw.forSave.id==="anchor"){this.mapInteract.draw.forSave=null,this.focusMap();return}let e=this.mapInteract.draw.forSave.id.split(".");if(e[0]==="route"){this.applyModifyResult(t);return}this.app.showConfirm(`Do you want to save the changes made to ${e[0]}?`,"Save Changes").subscribe(n=>this.applyModifyResult(n))}}applyModifyResult(t){let e=this.mapInteract.draw.forSave.id.split(".");if(t){if(e[0]==="route"){let n=this.routeBuffers.get(e[1]);if(n&&!n.saved){let o=this.mapInteract.draw.forSave.coordsMetadata;this.routeBuffers.replace(e[1],this.mapInteract.draw.forSave.coords.map((r,d)=>Oe(Oe({position:r},o?.[d]?.name?{name:o[d].name}:{}),o?.[d]?.description?{description:o[d].description}:{})))}else this.plotterExt.saveNativeRouteEdit(e[1],this.mapInteract.draw.forSave.coords,this.mapInteract.draw.forSave.coordsMetadata)}e[0]==="waypoint"&&(this.skres.updateWaypointPosition(e[1],this.mapInteract.draw.forSave.coords),e[1]===this.app.data.activeWaypoint&&this.course.setDestination({latitude:this.mapInteract.draw.forSave.coords[1],longitude:this.mapInteract.draw.forSave.coords[0]})),e[0]==="note"&&this.skres.updateNotePosition(e[1],this.mapInteract.draw.forSave.coords),e[0]==="region"&&this.skres.updateRegionCoords(e[1],this.mapInteract.draw.forSave.coords)}else{if(e[0]==="route"){let n=this.routeBuffers.get(e[1]);n&&(!n.saved||n.dirty)?this.routeBuffers.refresh():this.skres.refreshRoutes()}e[0]==="waypoint"&&this.skres.refreshWaypoints(),e[0]==="note"&&this.skres.refreshNotes(),e[0]==="region"&&this.skres.refreshRegions()}this.mapInteract.draw.forSave=null,this.focusMap()}loadSymbolsThenFetchResources(){return O(this,null,function*(){yield this.symbols.load(),oi(this.symbols),this.fetchResources(!0)})}fetchResources(t=!1){this.skres.refreshRoutes(),this.skres.refreshWaypoints(),this.skres.refreshCharts(),this.skres.refreshRegions(),t&&this.fetchOtherResources()}fetchOtherResources(){this.skres.refreshTracks(),this.skresOther.refreshResourceSetsInBounds(),this.skresOther.refreshInfoLayers()}openSKStream(t=null,e=0,n=!1){if(n){this.streamOptions={options:t,toMode:e},this.stream.close();return}this.stream.sendConfig(this.app.config),this.stream.open(t)}queryAfterConnect(){this.signalk.server.info.version.split(".")[0]==="1"&&this.app.showAlert("Unsupported Server Version:",`The connected Signal K server is not supported by this version of Freeboard-SK.
466
- Signal K server version 2 or later is required!`),this.app.alignCustomResourcesPaths(),this.signalk.api.getSelf().subscribe(t=>{this.stream.post({cmd:"vessel",options:{context:"self",name:t.name}}),this.app.config.vessels.trailFromServer&&this.stream.requestTrailFromServer(),this.anchor.queryAnchorStatus(void 0,this.app.data.vessels.self.position),this.radarApi.init()},t=>{t.status&&t.status===401&&this.showLogin(null,!1,!0),this.app.debug("No vessel data available!")})}onConnect(t){this.app.showMessage("Connection Open.",!1,2e3),this.app.debug(t),this.queryAfterConnect(),this.startTimers()}onClose(t){if(this.app.debug("onClose: STREAM connection closed..."),this.app.debug(t),this.stopTimers(),t.result)this.openSKStream(this.streamOptions.options,this.streamOptions.toMode);else{let e={title:"Connection Closed:",buttonText:"Re-connect",message:""};t.playback?(e.buttonText="OK",e.message="Unable to open Playback connection.",this.app.showAlert(e.message,e.title,e.buttonText).subscribe(()=>{this.mode===0?this.switchMode(this.mode):this.showPlaybackSettings()})):this.reconnecting||(this.reconnecting=!0,setTimeout(()=>{this.reconnecting=!1,this.openSKStream(this.streamOptions.options,this.mode)},5e3))}}reconnecting=!1;onError(t){this.app.showMessage("Connection Error!",!1,2e3),console.warn("Stream Error!",t)}onMessage(t){if(t.action==="hello"){this.app.debug(t),t.playback?this.mode=1:(this.mode=0,this.stream.subscribe()),this.app.data.selfId=t.self;return}else if(t.action==="update"){if(this.mode===1){let e=new Date(t.timestamp);this.playbackTime.update(()=>`${e.toDateString().slice(4)} ${e.toTimeString().slice(0,8)}`)}else this.playbackTime.set(null),this.setDarkTheme();this.updateNavPanel()}}updateNavPanel(){this.navDataPanel.update(t=>({show:!!(this.app.data.activeRoute||this.app.data.activeWaypoint||this.course.courseData().position),nextPointCtrl:!!this.app.data.activeRoute,apModeColor:this.app.data.vessels.self.autopilot.enabled?"primary":"",apModeText:this.app.data.vessels.self.autopilot.default?`Autopilot: ${this.app.data.vessels.self.autopilot.default}`:""}))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["app-root"]],viewQuery:function(e,n){if(e&1&&J(Yc,5)(Jc,5),e&2){let o;N(o=$())&&(n.sideright=o.first),N(o=$())&&(n.fbMap=o.first)}},hostBindings:function(e,n){e&1&&_("keydown",function(r){return n.onDocumentKeydown(r)},hn)},decls:171,vars:51,consts:[["layersmenu","matMenu"],["settingsmenu","matMenu"],["editmenu","matMenu"],["mainmenu","matMenu"],["sideright",""],["fbMap",""],["northArrow",""],[3,"ngClass"],[1,"appframe","mat-app-background"],["mat-menu-item","",3,"click"],["svgIcon","route",1,"icon-route"],[1,"icon-waypoint"],["mat-menu-item",""],["accept",".gpx,.json",3,"chosen","astext"],["svgIcon","route-import",1,"ob"],["svgIcon","route-export",1,"ob"],[1,"icon-accent"],[1,"icon-route"],["svgIcon","route-planning",1,"icon-route"],["theme-main","",1,"view"],["hasBackdrop","false",1,"pe-view-main"],["mode","side","position","end",3,"disableClose"],[2,"display","flex","flex-direction","column","position","relative"],[2,"overflow","hidden"],[2,"z-index","4700","position","fixed","top","0px","left","0px","width","100%"],[3,"apData"],[2,"display","relative","width","100%","height","100%",3,"dragover","drop"],[3,"drawEnded","activate","deactivate","exitMovingMap","focusVessel","info","menuItemSelected","scaleUnits","setFocus","mapCenter","mapZoom","northUp","movingMap","vesselTrail","activeRoute","dblClickZoom","overZoomTiles","measureMode","drawMode"],[2,"position","absolute","top","60px","left","56px","width","50px"],["src","./assets/img/north_arrow.svg","width","50","height","70"],[1,"playbackPanel","mat-app-background"],[1,"navdataPanel"],[3,"action"],[1,"icon-warn"],["svgIcon","chart-display-settings-iec",1,"ob"],["matBadge","!","matBadgeOverlap","true","matBadgeSize","medium","matBadgePosition","below after","aria-hidden","false",3,"matBadgeHidden"],["svgIcon","radar-iec",1,"ob"],[3,"closed"],[3,"radar","id"],[3,"note","id","interacting"],[3,"region","id","related","interacting"],[3,"waypoint","id","related","interacting"],[3,"route","id","related","interacting"],[3,"connect","disconnect","radar","id"],[3,"edit","move","panTo","note","id","interacting"],[3,"edit","panTo","region","id","related","interacting"],[3,"edit","panTo","waypoint","id","related","interacting"],[3,"edit","activate","panTo","route","id","related","interacting"],["mat-list-item",""],["mat-icon-button","",3,"click"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"href"],["mat-icon-button","","matTooltip","Previous plugin","matTooltipPosition","below",3,"click","disabled"],["mat-icon-button","","matTooltip","Next plugin","matTooltipPosition","below",3,"click","disabled"],[2,"position","fixed","bottom","0","top","48px","overflow","auto","-webkit-overfow-scrolling","touch"],["sandbox","allow-scripts allow-same-origin allow-forms",2,"width","345px","height","100%",3,"src"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"click","href"],["mode","query"],[3,"close","apData"],[3,"save","close"],[1,"leftTop","buttonPanel"],[1,"buttonPanelItem"],["mat-mini-fab","","matBadge","!","matBadgeOverlap","true","matTooltip","Menu","matTooltipPosition","right","aria-hidden","false",1,"button-secondary",3,"disabled","matBadgeHidden","matMenuTriggerFor"],[1,"buttonPanel","left"],[1,"leftMenuPanel"],[1,"statusBar"],[1,"statusBarItem"],[1,"rightTop","buttonPanel"],["mat-mini-fab","","matTooltipPosition","before",1,"button-secondary",3,"click","matTooltip"],[1,"buttonPanel","right",3,"top"],["mat-mini-fab","","matTooltip","Alarms","matTooltipPosition","left","matBadgeOverlap","true","aria-hidden","false",1,"button-warn",3,"click","matBadge","matBadgeHidden"],["svgIcon","alert-list",1,"ob"],["mat-mini-fab","","matTooltip","Routes, Waypoints, Notes, etc.","matTooltipPosition","right",1,"button-accent",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Draw / Measure / Select","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","matTooltip"],[1,"ob",3,"svgIcon"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","disabled","matTooltip"],["svgIcon","cent-iec",1,"ob"],["mat-mini-fab","","matTooltip","More actions","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Exit playback mode","matTooltipPosition","right",1,"button-warn",3,"click"],["mat-mini-fab","","matTooltip","What's New","matTooltipPosition","right",1,"button-accent",3,"click"],[3,"showSelf","radius","raised"],[3,"activate","deactivate","select","points","notes","closed","activeRoute","editingRouteId"],[3,"select","goto","deactivate","center","notes","closed","activeWaypoint","editingWaypointId"],[3,"closed","selectedCharts"],[3,"select","pan","closed","notes"],[3,"select","pan","closed","regions"],[3,"center","closed"],[3,"properties","closed","focusVessel","pan","focusId"],[3,"closed","paramChanged"],[3,"closed","showSelf","radius","raised"],["matTooltip","WakeLock is turned off","matTooltipPosition","below"],["matTooltip","Course data is hidden","matTooltipPosition","below"],["matTooltip","Vessels are hidden","matTooltipPosition","below"],["matTooltip","Notes are hidden","matTooltipPosition","below"],["matTooltip","No server messages!","matTooltipPosition","below",2,"background-color","red","color","white"],[1,"buttonPanel","right"],[1,"instrumentPanelToggle","buttonPanelItem"],["mat-mini-fab","","matTooltip","Constrain map zoom.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Invert feature text color.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltip","Web Audio off! Click to enable.","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltipPosition","before",3,"click","ngClass","matTooltip"],[3,"selected"],[3,"click","src","muted"],["mat-mini-fab","","matTooltip","Autopilot","matTooltipPosition","before",3,"click","ngClass"],["svgIcon","command-autopilot",1,"ob"],["mat-mini-fab","","matTooltip","Radar","matTooltipPosition","before",3,"click","ngClass","disabled"],["mat-mini-fab","","matTooltipPosition","before",1,"button-toolbar",3,"click","matTooltip"],[2,"border-radius","5px"],[2,"text-align","center"],[3,"alerts"],[1,"alarmPanel"],[2,"margin-bottom","5px"],[3,"closed","alerts"],[3,"nextPoint","routeEnd","audioStatus","alert","acknowledged","silenced","doNotPlaySound"],[3,"finish","cancel","undo"],[3,"index","total","circular"],[2,"display","flex","flex-wrap","nowrap"],[3,"selected","index","total","circular"],[1,"mat-app-background",2,"display","flex"],[2,"width","40px"],["mat-icon-button","","matTooltip","Course Settings",3,"click"],["svgIcon","navigation-route",1,"ob"],["mat-icon-button","","matTooltip","Autopilot Console","matTooltipPosition","above","matTooltip","Engage Autopilot",3,"click","disabled"],["svgIcon","command-autopilot",1,"ob",3,"color"],["mat-icon-button","","matTooltip","Restart XTE",3,"click"],["mat-icon-button","","matTooltip","Reverse route direction","matTooltipPosition","above",3,"click","disabled"],[3,"color"],[3,"title","value","units"],[3,"value"],[3,"title","value"],["subTitle","RT",3,"title","value","units"],["subTitle","RT",3,"value"],["subTitle","RT",3,"title","value"],[3,"radarClick","action"]],template:function(e,n){e&1&&(a(0,"div",7)(1,"div",8)(2,"mat-menu",null,0)(4,"button",9),_("click",function(){return n.displayLeftMenu("routeList",!0)}),v(5,"mat-icon",10),p(6," \xA0Routes "),s(),a(7,"button",9),_("click",function(){return n.displayLeftMenu("waypointList",!0)}),a(8,"mat-icon",11),p(9,"location_on"),s(),p(10," \xA0Waypoints "),s(),a(11,"button",9),_("click",function(){return n.displayLeftMenu("noteList",!0)}),a(12,"mat-icon"),p(13,"local_offer"),s(),p(14," \xA0Notes "),s(),a(15,"button",9),_("click",function(){return n.displayLeftMenu("regionList",!0)}),a(16,"mat-icon"),p(17,"tab_unselected"),s(),p(18," \xA0Regions "),s(),a(19,"button",9),_("click",function(){return n.displayLeftMenu("chartList",!0)}),a(20,"mat-icon"),p(21,"map"),s(),p(22," \xA0Charts "),s(),a(23,"button",9),_("click",function(){return n.displayLeftMenu("weatherList",!0)}),a(24,"mat-icon"),p(25,"cloud"),s(),p(26," \xA0Weather "),s(),f(27,mp,4,0,"button",12),f(28,_p,4,0,"button",12),v(29,"mat-divider"),a(30,"button",12)(31,"ap-file-input",13),_("chosen",function(r){return n.importFile(r)}),v(32,"mat-icon",14),p(33," Import "),s()(),a(34,"button",9),_("click",function(){return n.exportToGPX()}),v(35,"mat-icon",15),p(36," \xA0Export "),s(),v(37,"mat-divider"),f(38,fp,4,0,"button",12),f(39,gp,3,0,"div"),s(),a(40,"mat-menu",null,1),f(42,Cp,11,1),f(43,vp,11,0),a(44,"a",9),_("click",function(){return n.toggleCourseData()}),a(45,"mat-icon"),p(46),s(),a(47,"span"),p(48),s()(),a(49,"a",9),_("click",function(){return n.toggleAisTargets()}),a(50,"mat-icon"),p(51),s(),a(52,"span"),p(53),s()(),a(54,"a",9),_("click",function(){return n.toggleNotes()}),a(55,"mat-icon"),p(56),s(),a(57,"span"),p(58),s()(),f(59,bp,6,0),v(60,"mat-divider"),a(61,"a",9),_("click",function(){return n.openSettings()}),a(62,"mat-icon"),p(63,"settings"),s(),a(64,"span"),p(65,"Settings"),s()(),v(66,"mat-divider"),a(67,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(68,"mat-icon",16),p(69,"tips_and_updates"),s(),a(70,"span"),p(71,"What's New"),s()()(),a(72,"mat-menu",null,2)(74,"a",9),_("click",function(){return n.mapInteract.startMeasuring("LineString")}),a(75,"mat-icon"),p(76,"straighten"),s(),a(77,"span"),p(78,"Measure"),s()(),a(79,"a",9),_("click",function(){return n.mapInteract.startMeasuring("Circle")}),a(80,"mat-icon"),p(81,"swap_vertical_circle"),s(),a(82,"span"),p(83,"Measure Radius"),s()(),v(84,"mat-divider"),a(85,"a",9),_("click",function(){return n.drawFeature("route")}),a(86,"mat-icon",17),p(87,"draw"),s(),a(88,"span"),p(89,"Draw Route"),s()(),a(90,"a",9),_("click",function(){return n.toggleRouteBuilderConsole(!0)}),v(91,"mat-icon",18),a(92,"span"),p(93,"Build Route"),s()(),v(94,"mat-divider"),f(95,wp,5,0,"a",12),a(96,"a",9),_("click",function(){return n.drawFeature("waypoint")}),a(97,"mat-icon",11),p(98,"add_location_alt"),s(),a(99,"span"),p(100,"Drop Waypoint"),s()(),v(101,"mat-divider"),f(102,xp,5,0,"a",12),a(103,"a",9),_("click",function(){return n.drawFeature("region")}),a(104,"mat-icon"),p(105,"tab_unselected"),s(),a(106,"span"),p(107,"Draw Region"),s()()(),a(108,"mat-menu",null,3),f(110,yp,6,2),f(111,Ep,5,0,"a",12),f(112,Ap,5,1,"a",12),a(113,"a",9),_("click",function(){return n.displayLeftMenu("aisList",!0)}),a(114,"mat-icon"),p(115,"directions_boat"),s(),a(116,"span"),p(117,"Vessels"),s()(),a(118,"a",9),_("click",function(){return n.importResourceSet()}),a(119,"mat-icon"),p(120,"upload"),s(),a(121,"span"),p(122,"Resource Sets"),s()(),f(123,kp,5,0,"a",12),v(124,"mat-divider"),a(125,"a",9),_("click",function(){return n.openSettings()}),a(126,"mat-icon"),p(127,"settings"),s(),a(128,"span"),p(129,"Settings"),s()(),v(130,"mat-divider"),a(131,"a",9),_("click",function(){return n.openAbout()}),a(132,"mat-icon",16),p(133,"info_outline"),s(),a(134,"span"),p(135,"About"),s()(),a(136,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(137,"mat-icon",16),p(138,"tips_and_updates"),s(),a(139,"span"),p(140,"What's New"),s()(),a(141,"button",9),_("click",function(){return n.app.showHelp()}),a(142,"mat-icon",16),p(143,"help"),s(),a(144,"span"),p(145,"Help"),s()()(),a(146,"div",19)(147,"mat-sidenav-container",20)(148,"mat-sidenav",21,4),f(150,Lp,6,5,"info-panel")(151,Fp,17,4,"div",22),s(),a(152,"mat-sidenav-content",23),f(153,Np,2,0,"div",24),f(154,$p,1,1,"autopilot-console",25),f(155,Bp,1,0,"route-builder"),f(156,Ad,19,17),a(157,"div",26),_("dragover",function(r){return n.mapDragOver(r)})("drop",function(r){return n.mapDrop(r)}),a(158,"fb-map",27,5),_("drawEnded",function(r){return n.handleDrawEnded(r)})("activate",function(r){return n.activateRoute(r)})("deactivate",function(){return n.clearDestination()})("exitMovingMap",function(r){return n.toggleMoveMap(r)})("focusVessel",function(r){return n.switchActiveVessel(r)})("info",function(r){return n.featureProperties(r)})("menuItemSelected",function(r){return n.handleContextMenuSelection(r)}),s()(),v(160,"fb-plotterext-overlay"),a(161,"div",28),v(162,"img",29,6),s(),f(164,kd,8,1,"div",30),f(165,Id,4,1),f(166,Dd,1,0,"fb-interact-help"),f(167,Gd,3,2,"div",31),f(168,Hd,1,1,"mfb-container",32),s()(),v(169,"fb-plotterext-panel-drawer")(170,"fb-plotterext-runtimes"),s()()()),e&2&&(x("ngClass",re(48,pp,n.app.config.display.darkMode.enabled,n.stream.selfNightMode()||n.app.uiCtrl().forceNightMode)),c(27),h(n.app.featureFlags().resourceGroups?27:-1),c(),h(n.app.featureFlags().infoLayers?28:-1),c(3),x("astext",!0),c(7),h(n.app.featureFlags().resourceTracks?38:-1),c(),h(n.app.config.resources.paths.length!==0?39:-1),c(3),h(n.app.config.vessels.trail&&n.app.selfTrail().length!==0?42:-1),c(),h(n.course.courseData().position?43:-1),c(3),z(n.app.config.ui.showCourseData?"visibility_off":"compare_arrows"),c(2),me("",n.app.config.ui.showCourseData?"Hide":"Show"," Course Data"),c(3),z(n.app.config.ui.showAisTargets?"visibility_off":"directions_boat"),c(2),me("",n.app.config.ui.showAisTargets?"Hide":"Show"," Vessels"),c(3),z(n.app.config.ui.showNotes?"visibility_off":"local_offer"),c(2),me("",n.app.config.ui.showNotes?"Hide":"Show"," Notes"),c(),h(n.app.featureFlags().weatherApi&&n.app.data.vessels.showSelf?59:-1),c(36),h(n.app.data.vessels.showSelf?95:-1),c(7),h(n.app.config.map.zoomLevel>=n.app.config.resources.notes.minZoom?102:-1),c(8),h(!n.app.hostDef.params.token&&n.app.data.loginRequired?110:-1),c(),h(!n.isInteracting()&&n.app.featureFlags().anchorApi?111:-1),c(),h(!n.isInteracting()&&n.app.featureFlags().radarApi&&n.radarApi.radarId()&&!n.app.instrumentPanel().open&&n.app.data.vessels.showSelf?112:-1),c(11),h(n.features.playbackAPI?123:-1),c(25),ne("width",n.app.instrumentPanel().open?"350px":"250px"),x("disableClose",!1),c(2),h(n.infoPanel.item&&!n.app.instrumentPanel().open?150:151),c(3),h(n.app.sIsFetching()?153:-1),c(),h(n.app.uiCtrl().autopilotConsole?154:-1),c(),h(n.app.uiCtrl().routeBuilder?155:-1),c(),h(!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?156:-1),c(2),x("scaleUnits",n.app.config.units.distance)("setFocus",n.mapSetFocus())("mapCenter",n.mapCenter())("mapZoom",n.app.config.map.zoomLevel)("northUp",n.app.uiConfig().mapNorthUp)("movingMap",n.app.uiConfig().mapMove)("vesselTrail",n.app.selfTrail())("activeRoute",n.app.data.activeRoute)("dblClickZoom",n.app.config.map.doubleClickZoom)("overZoomTiles",n.app.config.map.overZoomTiles)("measureMode",n.mapInteract.isMeasuring())("drawMode",n.mapInteract.isDrawing()),c(4),ne("transform",n.getOrientation()),c(2),h(n.mode===1?164:-1),c(),h(n.app.kioskMode()?-1:165),c(),h(n.isInteracting()?166:-1),c(),h(n.isInteracting()?-1:167),c(),h(!n.isInteracting()&&!n.app.kioskMode()?168:-1))},dependencies:[Qn,Kn,Xn,Zn,po,Nt,co,Je,lo,so,Qe,zn,Ze,Wn,Hn,Gn,jn,ye,xe,Jn,Yn,ti,ei,Tn,En,Yi,Ji,eo,to,no,io,oo,Wi,Qi,zi,qi,Bi,Gi,Ii,Pi,Hi,Ci,bi,Ri,Mi,Xi,ht,gt,Ct],styles:["mat-sidenav-container[_ngcontent-%COMP%]{height:100%}mat-sidenav[_ngcontent-%COMP%]{width:200px}mat-nav-list[_ngcontent-%COMP%]{padding-top:0}.appframe[_ngcontent-%COMP%]{width:100vw;height:100vh;background-color:#000;color:#fff;overflow:hidden}.view[_ngcontent-%COMP%]{inset:0;overflow:hidden;scrollbar-width:none;position:fixed;border-top:silver 0px solid;display:flex;flex-direction:row}.view[_ngcontent-%COMP%] .pe-view-main[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.leftMenuPanel[_ngcontent-%COMP%]{position:absolute;top:0;left:0;bottom:0;padding-left:0;z-index:5000;background-color:#c8c8c866;width:315px}.statusBar[_ngcontent-%COMP%]{width:max-content;z-index:4800;position:absolute;right:55px;top:20px;padding:1px;overflow:hidden;text-align:right;display:flex}.statusBarItem[_ngcontent-%COMP%]{padding-left:5px}.statusBarItem[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{background-color:#ffffff80;color:#000;border-radius:10px}.buttonPanel[_ngcontent-%COMP%]{width:50px;z-index:4800;position:absolute;padding:5px 2px 2px;overflow:auto;scrollbar-width:none}.buttonPanel.rightTop[_ngcontent-%COMP%]{right:0;top:0;padding:9px 2px 10px}.buttonPanel.leftTop[_ngcontent-%COMP%]{left:0;top:0;padding:9px 2px 10px}.buttonPanel.left[_ngcontent-%COMP%]{top:60px;left:0;bottom:0}.buttonPanel.right[_ngcontent-%COMP%]{top:60px;right:0;bottom:80px}.buttonPanel[_ngcontent-%COMP%] .buttonPanelItem[_ngcontent-%COMP%]{text-align:center;height:48px;padding:5px 0}.mapButton[_ngcontent-%COMP%]{position:fixed;z-index:4900}.alarmPanel[_ngcontent-%COMP%]{position:absolute;z-index:4902;top:55px;left:15%;right:15%}.measurePanel[_ngcontent-%COMP%]{font-family:roboto;font-size:10pt}.playbackPanel[_ngcontent-%COMP%]{position:absolute;z-index:4900;bottom:150px;left:50px;top:auto;width:100px;border:gray 1px solid;border-radius:5px;font-family:roboto;text-align:center}.navdataPanel[_ngcontent-%COMP%]{position:absolute;z-index:4901;bottom:30px;left:10px;max-width:calc(100% - 75px);max-height:100px;text-align:center;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border:gray 1px solid}.bottomSheet[_ngcontent-%COMP%]{position:absolute;z-index:4902;bottom:0;left:15%;min-width:400px;max-width:100%;height:180px;overflow:auto}.bottomSheet[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center;font-family:roboto;font-weight:500;line-height:2.5em}.control[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;margin:20px}.ol-mouse-position[_ngcontent-%COMP%]{position:fixed;bottom:10px;right:45%;color:#1e1e1e;font-family:roboto;background-color:#fafafab3}.ol-zoom[_ngcontent-%COMP%]{position:fixed;top:10px;left:100px;color:#1e1e1e;font-family:roboto;background-color:transparent;height:45px}.instrumentPanelToggle[_ngcontent-%COMP%]{display:block}@media only screen and (max-width:650px){.bottomSheet[_ngcontent-%COMP%]{left:0;min-width:100%}}@media only screen and (max-width:800px){.instrumentPanelToggle[_ngcontent-%COMP%]{display:none}}@media only screen and (max-height:600px){.navdataPanel[_ngcontent-%COMP%]{left:50px;max-width:calc(100% - 115px)}}"]})};Sn(vt,{providers:[yn({eventCoalescing:!0,runCoalescing:!0}),An(kn())]}).then(i=>{try{if(new URLSearchParams(window.location.search).has("perfprobe")){let t=i.injector.get(te),e=window;e.__cd=0,t.onMicrotaskEmpty.subscribe(()=>{e.__cd++})}}catch(t){}}).catch(i=>console.error(i));
465
+ Please select only one file for processing.`);else{let e=new FileReader;if(e.onerror=()=>{this.app.showAlert("File Load error","There was an error reading the file contents!")},!t.dataTransfer.files[0].name)return;let n=t.dataTransfer.files[0].name;e.onload=()=>{this.processGPX({name:n,data:e.result})},e.readAsText(t.dataTransfer.files[0])}}switchActiveVessel(t=null){if(this.app.data.vessels.activeId=t,!t)this.app.data.vessels.active=this.app.data.vessels.self;else{let e=this.app.data.vessels.aisTargets.get(t);e?(this.app.data.vessels.active=e,this.sideright.close()):(this.app.data.vessels.active=this.app.data.vessels.self,this.app.data.vessels.activeId=null)}this.app.data.activeRoute=null,this.clearCourseData(),this.app.debug(`** Active vessel: ${this.app.data.vessels.activeId} `),this.app.debug(this.app.data.vessels.active)}switchMode(t,e){this.app.debug(`switchMode from: ${this.mode} to ${t}`),t===1?(this.app.db.saveTrail("self",this.app.selfTrail()),this.app.selfTrail.set([])):this.app.db.getTrail("self").then(n=>{this.app.selfTrail.update(()=>n&&n.value?n.value:[])}),this.switchActiveVessel(),this.openSKStream(e,t,!0)}showSelectMode(){this.mode===0?this.app.showConfirm("Do you want to change to History Playback mode?","Switch Mode").subscribe(t=>{t&&this.showPlaybackSettings()}):this.app.showConfirm("Do you want to exit History Playback mode?","Exit History Playback").subscribe(t=>{t&&this.switchMode(0)})}handleSelectionEnded(t){t.mode==="seedChart"&&this.skres.seedChartCache(t.data,t.bbox)}drawFeature(t){this.mapInteract.startDrawing(t)}onRouteInfoEdit(t){let e=this.routeBuffers.get(t);e&&(!e.saved||e.dirty)?this.saveRouteBuffer(t):this.skres.editRouteInfo(t)}saveRouteBuffer(t){return O(this,null,function*(){try{let e=yield this.plotterExt.saveBuffer(t,{dialog:!0});e&&this.infoPanel.open("routes",e.href)}catch(e){}})}handleDrawEnded(t){switch(this.mapInteract.isDrawing(),this.app.data.editingId="",this.mapInteract.draw.resourceType){case"note":{let e={position:t.coordinates};this.mapInteract.draw.properties.group&&(e.group=this.mapInteract.draw.properties.group),this.skres.showNoteEditor(e);break}case"waypoint":this.skres.newWaypointAt(t.coordinates);break;case"route":this.routeBuffers.create({points:t.coordinates.map(e=>({position:e}))});break;case"region":{let e=new pi;e.feature.geometry.coordinates=[It.normaliseCoords(t.coordinates)],this.skres.newRegion(e);break}}}handleInteractionFinish(){this.mapInteract.isDrawing()?this.fbMap.finishDrawing():this.closeInteraction(!0)}handleInteractionUndo(){this.fbMap.undoInteraction()}onDocumentKeydown(t){!uo(t)||!this.mapInteract.canUndo()||(t.preventDefault(),this.handleInteractionUndo())}closeInteraction(t=!1){if(this.app.data.editingId="",this.mapInteract.isBoxSelecting()&&this.mapInteract.stopBoxSelection(),this.mapInteract.isMeasuring()&&this.mapInteract.stopMeasuring(),this.mapInteract.isDrawing()&&this.mapInteract.stopDrawing(),this.mapInteract.isModifying()&&(this.mapInteract.stopModifying(),this.app.data.activeRouteIsEditing=!1,this.mapInteract.draw.forSave?.id)){if(this.mapInteract.draw.forSave.id==="anchor"){this.mapInteract.draw.forSave=null,this.focusMap();return}let e=this.mapInteract.draw.forSave.id.split(".");if(e[0]==="route"){this.applyModifyResult(t);return}this.app.showConfirm(`Do you want to save the changes made to ${e[0]}?`,"Save Changes").subscribe(n=>this.applyModifyResult(n))}}applyModifyResult(t){let e=this.mapInteract.draw.forSave.id.split(".");if(t){if(e[0]==="route"){let n=this.routeBuffers.get(e[1]);if(n&&!n.saved){let o=this.mapInteract.draw.forSave.coordsMetadata;this.routeBuffers.replace(e[1],this.mapInteract.draw.forSave.coords.map((r,d)=>Oe(Oe({position:r},o?.[d]?.name?{name:o[d].name}:{}),o?.[d]?.description?{description:o[d].description}:{})))}else this.plotterExt.saveNativeRouteEdit(e[1],this.mapInteract.draw.forSave.coords,this.mapInteract.draw.forSave.coordsMetadata)}e[0]==="waypoint"&&(this.skres.updateWaypointPosition(e[1],this.mapInteract.draw.forSave.coords),e[1]===this.app.data.activeWaypoint&&this.course.setDestination({latitude:this.mapInteract.draw.forSave.coords[1],longitude:this.mapInteract.draw.forSave.coords[0]})),e[0]==="note"&&this.skres.updateNotePosition(e[1],this.mapInteract.draw.forSave.coords),e[0]==="region"&&this.skres.updateRegionCoords(e[1],this.mapInteract.draw.forSave.coords)}else{if(e[0]==="route"){let n=this.routeBuffers.get(e[1]);n&&(!n.saved||n.dirty)?this.routeBuffers.refresh():this.skres.refreshRoutes()}e[0]==="waypoint"&&this.skres.refreshWaypoints(),e[0]==="note"&&this.skres.refreshNotes(),e[0]==="region"&&this.skres.refreshRegions()}this.mapInteract.draw.forSave=null,this.focusMap()}loadSymbolsThenFetchResources(){return O(this,null,function*(){yield this.symbols.load(),oi(this.symbols),this.fetchResources(!0)})}fetchResources(t=!1){this.skres.refreshRoutes(),this.skres.refreshWaypoints(),this.skres.refreshCharts(),this.skres.refreshRegions(),t&&this.fetchOtherResources()}fetchOtherResources(){this.skres.refreshTracks(),this.skresOther.refreshResourceSetsInBounds(),this.skresOther.refreshInfoLayers()}openSKStream(t=null,e=0,n=!1){if(n){this.streamOptions={options:t,toMode:e},this.stream.close();return}this.stream.sendConfig(this.app.config),this.stream.open(t)}queryAfterConnect(){this.signalk.server.info.version.split(".")[0]==="1"&&this.app.showAlert("Unsupported Server Version:",`The connected Signal K server is not supported by this version of Freeboard-SK.
466
+ Signal K server version 2 or later is required!`),this.app.alignCustomResourcesPaths(),this.signalk.api.getSelf().subscribe(t=>{this.stream.post({cmd:"vessel",options:{context:"self",name:t.name}}),this.app.config.vessels.trailFromServer&&this.stream.requestTrailFromServer(),this.anchor.queryAnchorStatus(void 0,this.app.data.vessels.self.position),this.radarApi.init()},t=>{t.status&&t.status===401&&this.showLogin(null,!1,!0),this.app.debug("No vessel data available!")})}onConnect(t){this.app.showMessage("Connection Open.",!1,2e3),this.app.debug(t),this.queryAfterConnect(),this.startTimers()}onClose(t){if(this.app.debug("onClose: STREAM connection closed..."),this.app.debug(t),this.stopTimers(),t.result)this.openSKStream(this.streamOptions.options,this.streamOptions.toMode);else{let e={title:"Connection Closed:",buttonText:"Re-connect",message:""};t.playback?(e.buttonText="OK",e.message="Unable to open Playback connection.",this.app.showAlert(e.message,e.title,e.buttonText).subscribe(()=>{this.mode===0?this.switchMode(this.mode):this.showPlaybackSettings()})):this.reconnecting||(this.reconnecting=!0,setTimeout(()=>{this.reconnecting=!1,this.openSKStream(this.streamOptions.options,this.mode)},5e3))}}reconnecting=!1;onError(t){this.app.showMessage("Connection Error!",!1,2e3),console.warn("Stream Error!",t)}onMessage(t){if(t.action==="hello"){this.app.debug(t),t.playback?this.mode=1:(this.mode=0,this.stream.subscribe()),this.app.data.selfId=t.self;return}else if(t.action==="update"){if(this.mode===1){let e=new Date(t.timestamp);this.playbackTime.update(()=>`${e.toDateString().slice(4)} ${e.toTimeString().slice(0,8)}`)}else this.playbackTime.set(null),this.setDarkTheme();this.updateNavPanel()}}updateNavPanel(){this.navDataPanel.update(()=>({show:!!(this.app.data.activeRoute||this.app.data.activeWaypoint||this.course.courseData().position),nextPointCtrl:!!this.app.data.activeRoute,apModeColor:this.app.data.vessels.self.autopilot.enabled?"primary":"",apModeText:this.app.data.vessels.self.autopilot.default?`Autopilot: ${this.app.data.vessels.self.autopilot.default}`:""}))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["app-root"]],viewQuery:function(e,n){if(e&1&&J(Yc,5)(Jc,5),e&2){let o;N(o=$())&&(n.sideright=o.first),N(o=$())&&(n.fbMap=o.first)}},hostBindings:function(e,n){e&1&&_("keydown",function(r){return n.onDocumentKeydown(r)},hn)},decls:171,vars:51,consts:[["layersmenu","matMenu"],["settingsmenu","matMenu"],["editmenu","matMenu"],["mainmenu","matMenu"],["sideright",""],["fbMap",""],["northArrow",""],[3,"ngClass"],[1,"appframe","mat-app-background"],["mat-menu-item","",3,"click"],["svgIcon","route",1,"icon-route"],[1,"icon-waypoint"],["mat-menu-item",""],["accept",".gpx,.json",3,"chosen","astext"],["svgIcon","route-import",1,"ob"],["svgIcon","route-export",1,"ob"],[1,"icon-accent"],[1,"icon-route"],["svgIcon","route-planning",1,"icon-route"],["theme-main","",1,"view"],["hasBackdrop","false",1,"pe-view-main"],["mode","side","position","end",3,"disableClose"],[2,"display","flex","flex-direction","column","position","relative"],[2,"overflow","hidden"],[2,"z-index","4700","position","fixed","top","0px","left","0px","width","100%"],[3,"apData"],[2,"display","relative","width","100%","height","100%",3,"dragover","drop"],[3,"drawEnded","activate","deactivate","exitMovingMap","resumeMovingMap","focusVessel","info","menuItemSelected","scaleUnits","setFocus","mapCenter","mapZoom","northUp","movingMap","vesselTrail","activeRoute","dblClickZoom","overZoomTiles","measureMode","drawMode"],[2,"position","absolute","top","60px","left","56px","width","50px"],["src","./assets/img/north_arrow.svg","width","50","height","70"],[1,"playbackPanel","mat-app-background"],[1,"navdataPanel"],[3,"action"],[1,"icon-warn"],["svgIcon","chart-display-settings-iec",1,"ob"],["matBadge","!","matBadgeOverlap","true","matBadgeSize","medium","matBadgePosition","below after","aria-hidden","false",3,"matBadgeHidden"],["svgIcon","radar-iec",1,"ob"],[3,"closed"],[3,"radar","id"],[3,"note","id","interacting"],[3,"region","id","related","interacting"],[3,"waypoint","id","related","interacting"],[3,"route","id","related","interacting"],[3,"connect","disconnect","radar","id"],[3,"edit","move","panTo","note","id","interacting"],[3,"edit","panTo","region","id","related","interacting"],[3,"edit","panTo","waypoint","id","related","interacting"],[3,"edit","activate","panTo","route","id","related","interacting"],["mat-list-item",""],["mat-icon-button","",3,"click"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"href"],["mat-icon-button","","matTooltip","Previous plugin","matTooltipPosition","below",3,"click","disabled"],["mat-icon-button","","matTooltip","Next plugin","matTooltipPosition","below",3,"click","disabled"],[2,"position","fixed","bottom","0","top","48px","overflow","auto","-webkit-overfow-scrolling","touch"],["sandbox","allow-scripts allow-same-origin allow-forms",2,"width","345px","height","100%",3,"src"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"click","href"],["mode","query"],[3,"close","apData"],[3,"save","close"],[1,"leftTop","buttonPanel"],[1,"buttonPanelItem"],["mat-mini-fab","","matBadge","!","matBadgeOverlap","true","matTooltip","Menu","matTooltipPosition","right","aria-hidden","false",1,"button-secondary",3,"disabled","matBadgeHidden","matMenuTriggerFor"],[1,"buttonPanel","left"],[1,"leftMenuPanel"],[1,"statusBar"],[1,"statusBarItem"],[1,"rightTop","buttonPanel"],["mat-mini-fab","","matTooltipPosition","before",1,"button-secondary",3,"click","matTooltip"],[1,"buttonPanel","right",3,"top"],["mat-mini-fab","","matTooltip","Alarms","matTooltipPosition","left","matBadgeOverlap","true","aria-hidden","false",1,"button-warn",3,"click","matBadge","matBadgeHidden"],["svgIcon","alert-list",1,"ob"],["mat-mini-fab","","matTooltip","Routes, Waypoints, Notes, etc.","matTooltipPosition","right",1,"button-accent",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Draw / Measure / Select","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","matTooltip"],[1,"ob",3,"svgIcon"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","disabled","matTooltip"],["svgIcon","cent-iec",1,"ob"],["mat-mini-fab","","matTooltip","More actions","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Exit playback mode","matTooltipPosition","right",1,"button-warn",3,"click"],["mat-mini-fab","","matTooltip","What's New","matTooltipPosition","right",1,"button-accent",3,"click"],[3,"showSelf","radius","raised"],[3,"activate","deactivate","select","points","notes","closed","activeRoute","editingRouteId"],[3,"select","goto","deactivate","center","notes","closed","activeWaypoint","editingWaypointId"],[3,"closed","selectedCharts"],[3,"select","pan","closed","notes"],[3,"select","pan","closed","regions"],[3,"center","closed"],[3,"properties","closed","focusVessel","pan","focusId"],[3,"closed","paramChanged"],[3,"closed","showSelf","radius","raised"],["matTooltip","WakeLock is turned off","matTooltipPosition","below"],["matTooltip","Course data is hidden","matTooltipPosition","below"],["matTooltip","Vessels are hidden","matTooltipPosition","below"],["matTooltip","Notes are hidden","matTooltipPosition","below"],["matTooltip","No server messages!","matTooltipPosition","below",2,"background-color","red","color","white"],[1,"buttonPanel","right"],[1,"instrumentPanelToggle","buttonPanelItem"],["mat-mini-fab","","matTooltip","Constrain map zoom.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Invert feature text color.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltip","Web Audio off! Click to enable.","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltipPosition","before",3,"click","ngClass","matTooltip"],[3,"selected"],[3,"click","src","muted"],["mat-mini-fab","","matTooltip","Autopilot","matTooltipPosition","before",3,"click","ngClass"],["svgIcon","command-autopilot",1,"ob"],["mat-mini-fab","","matTooltip","Radar","matTooltipPosition","before",3,"click","ngClass","disabled"],["mat-mini-fab","","matTooltipPosition","before",1,"button-toolbar",3,"click","matTooltip"],[2,"border-radius","5px"],[2,"text-align","center"],[3,"alerts"],[1,"alarmPanel"],[2,"margin-bottom","5px"],[3,"closed","alerts"],[3,"nextPoint","routeEnd","audioStatus","alert","acknowledged","silenced","doNotPlaySound"],[3,"finish","cancel","undo"],[3,"index","total","circular"],[2,"display","flex","flex-wrap","nowrap"],[3,"selected","index","total","circular"],[1,"mat-app-background",2,"display","flex"],[2,"width","40px"],["mat-icon-button","","matTooltip","Course Settings",3,"click"],["svgIcon","navigation-route",1,"ob"],["mat-icon-button","","matTooltip","Autopilot Console","matTooltipPosition","above","matTooltip","Engage Autopilot",3,"click","disabled"],["svgIcon","command-autopilot",1,"ob",3,"color"],["mat-icon-button","","matTooltip","Restart XTE",3,"click"],["mat-icon-button","","matTooltip","Reverse route direction","matTooltipPosition","above",3,"click","disabled"],[3,"color"],[3,"title","value","units"],[3,"value"],[3,"title","value"],["subTitle","RT",3,"title","value","units"],["subTitle","RT",3,"value"],["subTitle","RT",3,"title","value"],[3,"radarClick","action"]],template:function(e,n){e&1&&(a(0,"div",7)(1,"div",8)(2,"mat-menu",null,0)(4,"button",9),_("click",function(){return n.displayLeftMenu("routeList",!0)}),v(5,"mat-icon",10),p(6," \xA0Routes "),s(),a(7,"button",9),_("click",function(){return n.displayLeftMenu("waypointList",!0)}),a(8,"mat-icon",11),p(9,"location_on"),s(),p(10," \xA0Waypoints "),s(),a(11,"button",9),_("click",function(){return n.displayLeftMenu("noteList",!0)}),a(12,"mat-icon"),p(13,"local_offer"),s(),p(14," \xA0Notes "),s(),a(15,"button",9),_("click",function(){return n.displayLeftMenu("regionList",!0)}),a(16,"mat-icon"),p(17,"tab_unselected"),s(),p(18," \xA0Regions "),s(),a(19,"button",9),_("click",function(){return n.displayLeftMenu("chartList",!0)}),a(20,"mat-icon"),p(21,"map"),s(),p(22," \xA0Charts "),s(),a(23,"button",9),_("click",function(){return n.displayLeftMenu("weatherList",!0)}),a(24,"mat-icon"),p(25,"cloud"),s(),p(26," \xA0Weather "),s(),f(27,mp,4,0,"button",12),f(28,_p,4,0,"button",12),v(29,"mat-divider"),a(30,"button",12)(31,"ap-file-input",13),_("chosen",function(r){return n.importFile(r)}),v(32,"mat-icon",14),p(33," Import "),s()(),a(34,"button",9),_("click",function(){return n.exportToGPX()}),v(35,"mat-icon",15),p(36," \xA0Export "),s(),v(37,"mat-divider"),f(38,fp,4,0,"button",12),f(39,gp,3,0,"div"),s(),a(40,"mat-menu",null,1),f(42,Cp,11,1),f(43,vp,11,0),a(44,"a",9),_("click",function(){return n.toggleCourseData()}),a(45,"mat-icon"),p(46),s(),a(47,"span"),p(48),s()(),a(49,"a",9),_("click",function(){return n.toggleAisTargets()}),a(50,"mat-icon"),p(51),s(),a(52,"span"),p(53),s()(),a(54,"a",9),_("click",function(){return n.toggleNotes()}),a(55,"mat-icon"),p(56),s(),a(57,"span"),p(58),s()(),f(59,bp,6,0),v(60,"mat-divider"),a(61,"a",9),_("click",function(){return n.openSettings()}),a(62,"mat-icon"),p(63,"settings"),s(),a(64,"span"),p(65,"Settings"),s()(),v(66,"mat-divider"),a(67,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(68,"mat-icon",16),p(69,"tips_and_updates"),s(),a(70,"span"),p(71,"What's New"),s()()(),a(72,"mat-menu",null,2)(74,"a",9),_("click",function(){return n.mapInteract.startMeasuring("LineString")}),a(75,"mat-icon"),p(76,"straighten"),s(),a(77,"span"),p(78,"Measure"),s()(),a(79,"a",9),_("click",function(){return n.mapInteract.startMeasuring("Circle")}),a(80,"mat-icon"),p(81,"swap_vertical_circle"),s(),a(82,"span"),p(83,"Measure Radius"),s()(),v(84,"mat-divider"),a(85,"a",9),_("click",function(){return n.drawFeature("route")}),a(86,"mat-icon",17),p(87,"draw"),s(),a(88,"span"),p(89,"Draw Route"),s()(),a(90,"a",9),_("click",function(){return n.toggleRouteBuilderConsole(!0)}),v(91,"mat-icon",18),a(92,"span"),p(93,"Build Route"),s()(),v(94,"mat-divider"),f(95,wp,5,0,"a",12),a(96,"a",9),_("click",function(){return n.drawFeature("waypoint")}),a(97,"mat-icon",11),p(98,"add_location_alt"),s(),a(99,"span"),p(100,"Drop Waypoint"),s()(),v(101,"mat-divider"),f(102,xp,5,0,"a",12),a(103,"a",9),_("click",function(){return n.drawFeature("region")}),a(104,"mat-icon"),p(105,"tab_unselected"),s(),a(106,"span"),p(107,"Draw Region"),s()()(),a(108,"mat-menu",null,3),f(110,yp,6,2),f(111,Ep,5,0,"a",12),f(112,Ap,5,1,"a",12),a(113,"a",9),_("click",function(){return n.displayLeftMenu("aisList",!0)}),a(114,"mat-icon"),p(115,"directions_boat"),s(),a(116,"span"),p(117,"Vessels"),s()(),a(118,"a",9),_("click",function(){return n.importResourceSet()}),a(119,"mat-icon"),p(120,"upload"),s(),a(121,"span"),p(122,"Resource Sets"),s()(),f(123,Mp,5,0,"a",12),v(124,"mat-divider"),a(125,"a",9),_("click",function(){return n.openSettings()}),a(126,"mat-icon"),p(127,"settings"),s(),a(128,"span"),p(129,"Settings"),s()(),v(130,"mat-divider"),a(131,"a",9),_("click",function(){return n.openAbout()}),a(132,"mat-icon",16),p(133,"info_outline"),s(),a(134,"span"),p(135,"About"),s()(),a(136,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(137,"mat-icon",16),p(138,"tips_and_updates"),s(),a(139,"span"),p(140,"What's New"),s()(),a(141,"button",9),_("click",function(){return n.app.showHelp()}),a(142,"mat-icon",16),p(143,"help"),s(),a(144,"span"),p(145,"Help"),s()()(),a(146,"div",19)(147,"mat-sidenav-container",20)(148,"mat-sidenav",21,4),f(150,Lp,6,5,"info-panel")(151,Fp,17,4,"div",22),s(),a(152,"mat-sidenav-content",23),f(153,Np,2,0,"div",24),f(154,$p,1,1,"autopilot-console",25),f(155,Bp,1,0,"route-builder"),f(156,Ad,19,17),a(157,"div",26),_("dragover",function(r){return n.mapDragOver(r)})("drop",function(r){return n.mapDrop(r)}),a(158,"fb-map",27,5),_("drawEnded",function(r){return n.handleDrawEnded(r)})("activate",function(r){return n.activateRoute(r)})("deactivate",function(){return n.clearDestination()})("exitMovingMap",function(r){return n.toggleMoveMap(r)})("resumeMovingMap",function(){return n.resumeMoveMap()})("focusVessel",function(r){return n.switchActiveVessel(r)})("info",function(r){return n.featureProperties(r)})("menuItemSelected",function(r){return n.handleContextMenuSelection(r)}),s()(),v(160,"fb-plotterext-overlay"),a(161,"div",28),v(162,"img",29,6),s(),f(164,Md,8,1,"div",30),f(165,Id,4,1),f(166,Dd,1,0,"fb-interact-help"),f(167,Gd,3,2,"div",31),f(168,Hd,1,1,"mfb-container",32),s()(),v(169,"fb-plotterext-panel-drawer")(170,"fb-plotterext-runtimes"),s()()()),e&2&&(x("ngClass",re(48,pp,n.app.config.display.darkMode.enabled,n.stream.selfNightMode()||n.app.uiCtrl().forceNightMode)),c(27),h(n.app.featureFlags().resourceGroups?27:-1),c(),h(n.app.featureFlags().infoLayers?28:-1),c(3),x("astext",!0),c(7),h(n.app.featureFlags().resourceTracks?38:-1),c(),h(n.app.config.resources.paths.length!==0?39:-1),c(3),h(n.app.config.vessels.trail&&n.app.selfTrail().length!==0?42:-1),c(),h(n.course.courseData().position?43:-1),c(3),z(n.app.config.ui.showCourseData?"visibility_off":"compare_arrows"),c(2),me("",n.app.config.ui.showCourseData?"Hide":"Show"," Course Data"),c(3),z(n.app.config.ui.showAisTargets?"visibility_off":"directions_boat"),c(2),me("",n.app.config.ui.showAisTargets?"Hide":"Show"," Vessels"),c(3),z(n.app.config.ui.showNotes?"visibility_off":"local_offer"),c(2),me("",n.app.config.ui.showNotes?"Hide":"Show"," Notes"),c(),h(n.app.featureFlags().weatherApi&&n.app.data.vessels.showSelf?59:-1),c(36),h(n.app.data.vessels.showSelf?95:-1),c(7),h(n.app.config.map.zoomLevel>=n.app.config.resources.notes.minZoom?102:-1),c(8),h(!n.app.hostDef.params.token&&n.app.data.loginRequired?110:-1),c(),h(!n.isInteracting()&&n.app.featureFlags().anchorApi?111:-1),c(),h(!n.isInteracting()&&n.app.featureFlags().radarApi&&n.radarApi.radarId()&&!n.app.instrumentPanel().open&&n.app.data.vessels.showSelf?112:-1),c(11),h(n.features.playbackAPI?123:-1),c(25),ne("width",n.app.instrumentPanel().open?"350px":"250px"),x("disableClose",!1),c(2),h(n.infoPanel.item&&!n.app.instrumentPanel().open?150:151),c(3),h(n.app.sIsFetching()?153:-1),c(),h(n.app.uiCtrl().autopilotConsole?154:-1),c(),h(n.app.uiCtrl().routeBuilder?155:-1),c(),h(!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?156:-1),c(2),x("scaleUnits",n.app.config.units.distance)("setFocus",n.mapSetFocus())("mapCenter",n.mapCenter())("mapZoom",n.app.config.map.zoomLevel)("northUp",n.app.uiConfig().mapNorthUp)("movingMap",n.app.uiConfig().mapMove)("vesselTrail",n.app.selfTrail())("activeRoute",n.app.data.activeRoute)("dblClickZoom",n.app.config.map.doubleClickZoom)("overZoomTiles",n.app.config.map.overZoomTiles)("measureMode",n.mapInteract.isMeasuring())("drawMode",n.mapInteract.isDrawing()),c(4),ne("transform",n.getOrientation()),c(2),h(n.mode===1?164:-1),c(),h(n.app.kioskMode()?-1:165),c(),h(n.isInteracting()?166:-1),c(),h(n.isInteracting()?-1:167),c(),h(!n.isInteracting()&&!n.app.kioskMode()?168:-1))},dependencies:[Qn,Kn,Xn,Zn,po,Nt,co,Je,lo,so,Qe,zn,Ze,Wn,Hn,Gn,jn,ye,xe,Jn,Yn,ti,ei,Tn,En,Yi,Ji,eo,to,no,io,oo,Wi,Qi,zi,qi,Bi,Gi,Ii,Pi,Hi,Ci,bi,Ri,ki,Xi,ht,gt,Ct],styles:["mat-sidenav-container[_ngcontent-%COMP%]{height:100%}mat-sidenav[_ngcontent-%COMP%]{width:200px}mat-nav-list[_ngcontent-%COMP%]{padding-top:0}.appframe[_ngcontent-%COMP%]{width:100vw;height:100vh;background-color:#000;color:#fff;overflow:hidden}.view[_ngcontent-%COMP%]{inset:0;overflow:hidden;scrollbar-width:none;position:fixed;border-top:silver 0px solid;display:flex;flex-direction:row}.view[_ngcontent-%COMP%] .pe-view-main[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.leftMenuPanel[_ngcontent-%COMP%]{position:absolute;top:0;left:0;bottom:0;padding-left:0;z-index:5000;background-color:#c8c8c866;width:315px}.statusBar[_ngcontent-%COMP%]{width:max-content;z-index:4800;position:absolute;right:55px;top:20px;padding:1px;overflow:hidden;text-align:right;display:flex}.statusBarItem[_ngcontent-%COMP%]{padding-left:5px}.statusBarItem[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{background-color:#ffffff80;color:#000;border-radius:10px}.buttonPanel[_ngcontent-%COMP%]{width:50px;z-index:4800;position:absolute;padding:5px 2px 2px;overflow:auto;scrollbar-width:none}.buttonPanel.rightTop[_ngcontent-%COMP%]{right:0;top:0;padding:9px 2px 10px}.buttonPanel.leftTop[_ngcontent-%COMP%]{left:0;top:0;padding:9px 2px 10px}.buttonPanel.left[_ngcontent-%COMP%]{top:60px;left:0;bottom:0}.buttonPanel.right[_ngcontent-%COMP%]{top:60px;right:0;bottom:80px}.buttonPanel[_ngcontent-%COMP%] .buttonPanelItem[_ngcontent-%COMP%]{text-align:center;height:48px;padding:5px 0}.mapButton[_ngcontent-%COMP%]{position:fixed;z-index:4900}.alarmPanel[_ngcontent-%COMP%]{position:absolute;z-index:4902;top:55px;left:15%;right:15%}.measurePanel[_ngcontent-%COMP%]{font-family:roboto;font-size:10pt}.playbackPanel[_ngcontent-%COMP%]{position:absolute;z-index:4900;bottom:150px;left:50px;top:auto;width:100px;border:gray 1px solid;border-radius:5px;font-family:roboto;text-align:center}.navdataPanel[_ngcontent-%COMP%]{position:absolute;z-index:4901;bottom:30px;left:10px;max-width:calc(100% - 75px);max-height:100px;text-align:center;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border:gray 1px solid}.bottomSheet[_ngcontent-%COMP%]{position:absolute;z-index:4902;bottom:0;left:15%;min-width:400px;max-width:100%;height:180px;overflow:auto}.bottomSheet[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center;font-family:roboto;font-weight:500;line-height:2.5em}.control[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;margin:20px}.ol-mouse-position[_ngcontent-%COMP%]{position:fixed;bottom:10px;right:45%;color:#1e1e1e;font-family:roboto;background-color:#fafafab3}.ol-zoom[_ngcontent-%COMP%]{position:fixed;top:10px;left:100px;color:#1e1e1e;font-family:roboto;background-color:transparent;height:45px}.instrumentPanelToggle[_ngcontent-%COMP%]{display:block}@media only screen and (max-width:650px){.bottomSheet[_ngcontent-%COMP%]{left:0;min-width:100%}}@media only screen and (max-width:800px){.instrumentPanelToggle[_ngcontent-%COMP%]{display:none}}@media only screen and (max-height:600px){.navdataPanel[_ngcontent-%COMP%]{left:50px;max-width:calc(100% - 115px)}}"]})};Sn(vt,{providers:[yn({eventCoalescing:!0,runCoalescing:!0}),An(Mn())]}).then(i=>{try{if(new URLSearchParams(window.location.search).has("perfprobe")){let t=i.injector.get(te),e=window;e.__cd=0,t.onMicrotaskEmpty.subscribe(()=>{e.__cd++})}}catch(t){}}).catch(i=>console.error(i));