@mxtommy/kip 4.2.0 → 4.3.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.
Files changed (44) hide show
  1. package/.github/copilot-instructions.md +1 -1
  2. package/.github/instructions/project.instructions.md +7 -1
  3. package/.github/workflows/ci.yml +37 -0
  4. package/CHANGELOG.md +10 -0
  5. package/package.json +2 -4
  6. package/public/3rdpartylicenses.txt +52 -75
  7. package/public/assets/svg/icons.svg +3 -0
  8. package/public/{chunk-7SK25B6D.js → chunk-2KZMRA4F.js} +1 -1
  9. package/public/{chunk-2VPC34OU.js → chunk-3Z6GSUML.js} +6 -6
  10. package/public/{chunk-XWOIVPRO.js → chunk-4LGDIZQH.js} +1 -1
  11. package/public/{chunk-SP4UPLYW.js → chunk-5QZ2G7BQ.js} +4 -4
  12. package/public/{chunk-5SCAJ637.js → chunk-BICTPGGI.js} +1 -1
  13. package/public/{chunk-4NAXE7SZ.js → chunk-BU2UG7KI.js} +8 -8
  14. package/public/chunk-E57JLACD.js +8 -0
  15. package/public/{chunk-PJZLX3XW.js → chunk-GDSV24J2.js} +1 -1
  16. package/public/chunk-GSMU2M4Y.js +15 -0
  17. package/public/{chunk-DWMZAC65.js → chunk-H7SICK4W.js} +1 -1
  18. package/public/{chunk-WON6RAF5.js → chunk-JE4IH556.js} +1 -1
  19. package/public/chunk-KC4TEJJN.js +4 -0
  20. package/public/chunk-KQY62HN7.js +1 -0
  21. package/public/{chunk-CX4O7M4U.js → chunk-KXSGKJ7X.js} +4 -4
  22. package/public/{chunk-UUOWRIVR.js → chunk-N77C4M4I.js} +1 -1
  23. package/public/{chunk-K6B4TD2H.js → chunk-ODGDFFA5.js} +2 -2
  24. package/public/{chunk-NL5QCOXT.js → chunk-OIUDA44M.js} +2 -2
  25. package/public/chunk-SGKVVF2R.js +8 -0
  26. package/public/{chunk-GDL5ORNF.js → chunk-T26GJV5O.js} +1 -1
  27. package/public/chunk-UM5PEESF.js +53 -0
  28. package/public/chunk-WGS5SNGF.js +3 -0
  29. package/public/{chunk-FHQZULYJ.js → chunk-WUZG34V4.js} +1 -1
  30. package/public/{chunk-PNFBM2CP.js → chunk-ZPAB6RAF.js} +1 -1
  31. package/public/chunk-ZQJMMQNG.js +2 -0
  32. package/public/index.html +1 -1
  33. package/public/main-2EXNI6Z4.js +1 -0
  34. package/public/polyfills-L4FJGPOC.js +2 -0
  35. package/public/chunk-36RQFRQN.js +0 -4
  36. package/public/chunk-3KBT35BP.js +0 -3
  37. package/public/chunk-6X3BMVOP.js +0 -8
  38. package/public/chunk-ATH26UZ7.js +0 -1
  39. package/public/chunk-FGMEEOZH.js +0 -5
  40. package/public/chunk-MOEZSWFX.js +0 -15
  41. package/public/chunk-PVUOCOI5.js +0 -53
  42. package/public/chunk-Y5TQMH7M.js +0 -2
  43. package/public/main-CRPMOYEB.js +0 -4
  44. package/public/polyfills-GNK4EEYZ.js +0 -2
@@ -1 +1 @@
1
- import{a as B}from"./chunk-3KBT35BP.js";import{b as I,i as q}from"./chunk-PVUOCOI5.js";import"./chunk-6X3BMVOP.js";import"./chunk-NL5QCOXT.js";import"./chunk-36RQFRQN.js";import"./chunk-FHQZULYJ.js";import"./chunk-7SK25B6D.js";import"./chunk-XWOIVPRO.js";import"./chunk-FGMEEOZH.js";import{m as N}from"./chunk-PJZLX3XW.js";import"./chunk-Y5TQMH7M.js";import{$b as z,Ab as P,Ad as L,Bc as u,Ea as x,Fb as w,Ga as r,Gb as s,Ha as l,Hb as c,Hc as D,Ib as h,Pb as y,Pd as F,Rb as O,Tb as g,Xa as d,Zc as T,ac as E,cc as m,dc as R,ee as U,gd as A,ib as W,pd as S,qa as a,se as V,te as Z,va as v,vc as k,wa as C,zb as b,zd as X}from"./chunk-MOEZSWFX.js";var G=["panel"],Q=(i,f)=>[i,f];function j(i,f){if(i&1&&h(0,"div",7),i&2){let t=g();m("transform",t.ghostTransform())}}function H(i,f){if(i&1){let t=y();s(0,"div",8),O("pointerdown",function(e){v(t);let o=g();return C(o.startResize(e))}),s(1,"button",9),O("pointerdown",function(e){v(t);let o=g();return C(o.startResize(e))}),h(2,"mat-icon",10),c()()}}var ct=(()=>{class i{panelEl=D.required("panel");_settings=a(N);_dashboard=a(I);breakpointObserver=a(F);ngZone=a(x);side=r(this._settings.getSplitShellSide());panelRatio=r(this._settings.getSplitShellWidth());originalPanelRatio=null;panelWidth=r(0);panelCollapsed=u(()=>!!this._dashboard.dashboards()[this._dashboard.activeDashboard()]?.collapseSplitShell);fskShellSwipeDisabled=S(this._settings.getSplitShellSwipeDisabledAsO());handset$=this.breakpointObserver.observe(U.HandsetPortrait);handset=S(this.handset$,{initialValue:{matches:!1,breakpoints:{}}});freeboardWidgetStub={uuid:"persistent-freeboard-shell",type:"widget-freeboardsk",config:{}};chartplotterModeInPortrait=u(()=>this.handset().matches&&!this.panelCollapsed());canResize=u(()=>!this._dashboard.isDashboardStatic()&&!this.panelCollapsed());resizing=!1;startX=0;startW=0;boundMove=t=>this.onMove(t);boundUp=()=>this.onUp();static MIN_DELTA_PX=1;ghostActive=r(!1);ghostTransform=r("");ghostWidth=0;recomputeWidth=()=>{let t=this.panelEl()?.nativeElement.parentElement;if(!t)return;let n=t.clientWidth;this.panelWidth.set(Math.round(n*this.panelRatio()))};constructor(){window.addEventListener("resize",this.recomputeWidth,{passive:!0}),queueMicrotask(this.recomputeWidth),l(()=>{this.chartplotterModeInPortrait(),this.panelRatio(),this.recomputeWidth(),setTimeout(()=>window.dispatchEvent(new Event("resize")),0)}),l(()=>{let t=this._dashboard.isDashboardStatic();t||this.originalPanelRatio===null&&(this.originalPanelRatio=this.panelRatio()),t&&this.originalPanelRatio}),l(()=>{if(this._dashboard.layoutEditSaved(),this.originalPanelRatio!==null){let t=this.panelRatio();this._settings.setSplitShellWidth(t),this.originalPanelRatio=null}}),l(()=>{if(this._dashboard.layoutEditCanceled(),this.originalPanelRatio!==null){let t=this.originalPanelRatio;this.panelRatio.set(t),queueMicrotask(()=>this.recomputeWidth()),this.originalPanelRatio=null}})}startResize(t){this.canResize()&&(this.resizing=!0,this.startX=t.clientX,this.startW=this.panelWidth(),this.ghostWidth=this.startW,this.ghostActive.set(!0),this.updateGhostTransform(this.startW),t.target.setPointerCapture(t.pointerId),this.ngZone.runOutsideAngular(()=>{window.addEventListener("pointermove",this.boundMove,{passive:!0}),window.addEventListener("pointerup",this.boundUp,{passive:!0})}))}onMove(t){if(!this.resizing)return;let n=this.side()==="left"?t.clientX-this.startX:this.startX-t.clientX,o=this.panelEl()?.nativeElement.parentElement?.clientWidth??1,p=this.startW+n,_=o*.1,$=o*.9,M=Math.min($,Math.max(_,p));Math.abs(M-this.ghostWidth)<i.MIN_DELTA_PX||(this.ghostWidth=M,this.ngZone.runOutsideAngular(()=>this.updateGhostTransform(M)))}onUp(){if(!this.resizing)return;this.resizing=!1,window.removeEventListener("pointermove",this.boundMove),window.removeEventListener("pointerup",this.boundUp);let t=this.ghostWidth;this.ghostActive.set(!1);let n=this.panelEl();n&&!this.panelCollapsed()&&(n.nativeElement.style.width=t+"px"),this.ngZone.run(()=>{this.panelWidth.set(t);let o=this.panelEl()?.nativeElement.parentElement?.clientWidth??t,p=o?t/o:.3,_=this.panelRatio();Math.abs(p-_)>5e-4&&this.panelRatio.set(p)})}updateGhostTransform(t){this.side()==="left"?this.ghostTransform.set(`translateX(${t}px)`):this.ghostTransform.set(`translateX(-${t}px)`)}ngOnDestroy(){window.removeEventListener("resize",this.recomputeWidth),this.resizing&&(window.removeEventListener("pointermove",this.boundMove),window.removeEventListener("pointerup",this.boundUp))}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=W({type:i,selectors:[["split-shell"]],viewQuery:function(n,e){n&1&&z(e.panelEl,G,5),n&2&&E()},decls:8,vars:18,consts:[["panel",""],[1,"split-root",3,"ngClass"],[1,"resize-ghost",3,"transform"],[1,"fsk-shell"],["role","separator","aria-label","Resize Freeboard chartplotter panel","aria-orientation","vertical",1,"drag-handle"],[1,"fsk-iframe",3,"type","id","swipeDisabled","disableWidgetShell"],[1,"dash-container"],[1,"resize-ghost"],["role","separator","aria-label","Resize Freeboard chartplotter panel","aria-orientation","vertical",1,"drag-handle",3,"pointerdown"],["mat-mini-fab","","tabindex","-1","aria-hidden","true",1,"drag-fab",3,"pointerdown"],["fontIcon","drag_indicator"]],template:function(n,e){n&1&&(s(0,"div",1),b(1,j,1,2,"div",2),s(2,"div",3,0),b(4,H,3,0,"div",4),h(5,"widget-freeboardsk",5),c(),s(6,"div",6),h(7,"dashboard"),c()()),n&2&&(m("--panel-ratio",e.panelRatio()),w("ngClass",k(15,Q,e.side()==="left"?"side-left":"side-right",e.chartplotterModeInPortrait()?"portrait-column":"")),d(),P(e.ghostActive()?1:-1),d(),m("width",e.chartplotterModeInPortrait()?null:e.panelWidth(),"px"),R("collapsed",e.panelCollapsed())("drag-disabled",!e.canResize()),d(2),P(e.canResize()?4:-1),d(),w("type",e.freeboardWidgetStub.type)("id",e.freeboardWidgetStub.uuid)("swipeDisabled",e.fskShellSwipeDisabled())("disableWidgetShell",!0))},dependencies:[A,T,q,B,Z,V,L,X],styles:[".split-root[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;display:flex;overflow:hidden}.split-root.side-left[_ngcontent-%COMP%]{flex-direction:row}.split-root.side-right[_ngcontent-%COMP%]{flex-direction:row-reverse}.split-root.portrait-column[_ngcontent-%COMP%]{flex-direction:column}.split-root.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%], .split-root.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{width:100%!important;min-height:0}.split-root.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%]{flex:0 0 calc(var(--panel-ratio, .3) * 100%)}.split-root.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;overflow:hidden}.split-root.side-left.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{order:2}.split-root.side-left.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%]{order:1}.split-root.side-right.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%]{order:2}.split-root.side-right.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{order:1}.split-root.portrait-column[_ngcontent-%COMP%] .fsk-shell.collapsed[_ngcontent-%COMP%]{flex:0 0 0!important}.split-root.portrait-column[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%], .split-root.portrait-column[_ngcontent-%COMP%] .resize-ghost[_ngcontent-%COMP%]{display:none}.fsk-shell[_ngcontent-%COMP%]{position:relative;height:100%;display:flex;flex-direction:column;background:var(--mat-sys-surface-container, #111);transition:width .2s ease}.fsk-shell.collapsed[_ngcontent-%COMP%]{width:1px!important;visibility:hidden;opacity:0;pointer-events:none}.fsk-iframe[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0}.dash-container[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.drag-handle[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;width:3px;cursor:col-resize;background:var(--mat-sys-inverse-primary);z-index:5}.drag-handle[_ngcontent-%COMP%] .drag-fab[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;min-width:28px;cursor:col-resize;pointer-events:auto}.drag-handle[_ngcontent-%COMP%] .drag-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;line-height:20px}.side-left[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%]{right:-2px}.side-right[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%]{left:-2px}.drag-handle[_ngcontent-%COMP%]:hover{background:var(--mat-sys-error-container)}.side-left[_ngcontent-%COMP%] .collapse-toggle[_ngcontent-%COMP%]{left:.25rem}.side-right[_ngcontent-%COMP%] .collapse-toggle[_ngcontent-%COMP%]{right:.25rem}.fsk-shell.drag-disabled[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.4}.resize-ghost[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;width:2px;background:var(--mat-sys-error-container);opacity:.9;pointer-events:none;z-index:30;will-change:transform;transition:none}.side-left[_ngcontent-%COMP%] .resize-ghost[_ngcontent-%COMP%]{left:0}.side-right[_ngcontent-%COMP%] .resize-ghost[_ngcontent-%COMP%]{right:0}"]})}return i})();export{ct as SplitShellComponent};
1
+ import{a as B}from"./chunk-WGS5SNGF.js";import{b as I,i as q}from"./chunk-UM5PEESF.js";import"./chunk-SGKVVF2R.js";import"./chunk-OIUDA44M.js";import"./chunk-KC4TEJJN.js";import"./chunk-WUZG34V4.js";import"./chunk-2KZMRA4F.js";import"./chunk-4LGDIZQH.js";import"./chunk-E57JLACD.js";import{m as N}from"./chunk-GDSV24J2.js";import"./chunk-ZQJMMQNG.js";import{$b as z,$d as L,Ab as P,Bc as u,Ce as V,De as Z,Ea as x,Fb as w,Ga as r,Gb as s,Ha as l,Hb as c,Hc as D,Ib as h,Kd as X,Pb as y,Rb as O,Tb as g,Xa as d,Zc as T,ac as E,cc as m,dc as R,gd as A,ib as W,pd as S,pe as F,qa as a,qe as U,va as v,vc as k,wa as C,zb as b}from"./chunk-GSMU2M4Y.js";var G=["panel"],Q=(i,f)=>[i,f];function j(i,f){if(i&1&&h(0,"div",7),i&2){let t=g();m("transform",t.ghostTransform())}}function H(i,f){if(i&1){let t=y();s(0,"div",8),O("pointerdown",function(e){v(t);let o=g();return C(o.startResize(e))}),s(1,"button",9),O("pointerdown",function(e){v(t);let o=g();return C(o.startResize(e))}),h(2,"mat-icon",10),c()()}}var ct=(()=>{class i{panelEl=D.required("panel");_settings=a(N);_dashboard=a(I);breakpointObserver=a(X);ngZone=a(x);side=r(this._settings.getSplitShellSide());panelRatio=r(this._settings.getSplitShellWidth());originalPanelRatio=null;panelWidth=r(0);panelCollapsed=u(()=>!!this._dashboard.dashboards()[this._dashboard.activeDashboard()]?.collapseSplitShell);fskShellSwipeDisabled=S(this._settings.getSplitShellSwipeDisabledAsO());handset$=this.breakpointObserver.observe(L.HandsetPortrait);handset=S(this.handset$,{initialValue:{matches:!1,breakpoints:{}}});freeboardWidgetStub={uuid:"persistent-freeboard-shell",type:"widget-freeboardsk",config:{}};chartplotterModeInPortrait=u(()=>this.handset().matches&&!this.panelCollapsed());canResize=u(()=>!this._dashboard.isDashboardStatic()&&!this.panelCollapsed());resizing=!1;startX=0;startW=0;boundMove=t=>this.onMove(t);boundUp=()=>this.onUp();static MIN_DELTA_PX=1;ghostActive=r(!1);ghostTransform=r("");ghostWidth=0;recomputeWidth=()=>{let t=this.panelEl()?.nativeElement.parentElement;if(!t)return;let n=t.clientWidth;this.panelWidth.set(Math.round(n*this.panelRatio()))};constructor(){window.addEventListener("resize",this.recomputeWidth,{passive:!0}),queueMicrotask(this.recomputeWidth),l(()=>{this.chartplotterModeInPortrait(),this.panelRatio(),this.recomputeWidth(),setTimeout(()=>window.dispatchEvent(new Event("resize")),0)}),l(()=>{let t=this._dashboard.isDashboardStatic();t||this.originalPanelRatio===null&&(this.originalPanelRatio=this.panelRatio()),t&&this.originalPanelRatio}),l(()=>{if(this._dashboard.layoutEditSaved(),this.originalPanelRatio!==null){let t=this.panelRatio();this._settings.setSplitShellWidth(t),this.originalPanelRatio=null}}),l(()=>{if(this._dashboard.layoutEditCanceled(),this.originalPanelRatio!==null){let t=this.originalPanelRatio;this.panelRatio.set(t),queueMicrotask(()=>this.recomputeWidth()),this.originalPanelRatio=null}})}startResize(t){this.canResize()&&(this.resizing=!0,this.startX=t.clientX,this.startW=this.panelWidth(),this.ghostWidth=this.startW,this.ghostActive.set(!0),this.updateGhostTransform(this.startW),t.target.setPointerCapture(t.pointerId),this.ngZone.runOutsideAngular(()=>{window.addEventListener("pointermove",this.boundMove,{passive:!0}),window.addEventListener("pointerup",this.boundUp,{passive:!0})}))}onMove(t){if(!this.resizing)return;let n=this.side()==="left"?t.clientX-this.startX:this.startX-t.clientX,o=this.panelEl()?.nativeElement.parentElement?.clientWidth??1,p=this.startW+n,_=o*.1,$=o*.9,M=Math.min($,Math.max(_,p));Math.abs(M-this.ghostWidth)<i.MIN_DELTA_PX||(this.ghostWidth=M,this.ngZone.runOutsideAngular(()=>this.updateGhostTransform(M)))}onUp(){if(!this.resizing)return;this.resizing=!1,window.removeEventListener("pointermove",this.boundMove),window.removeEventListener("pointerup",this.boundUp);let t=this.ghostWidth;this.ghostActive.set(!1);let n=this.panelEl();n&&!this.panelCollapsed()&&(n.nativeElement.style.width=t+"px"),this.ngZone.run(()=>{this.panelWidth.set(t);let o=this.panelEl()?.nativeElement.parentElement?.clientWidth??t,p=o?t/o:.3,_=this.panelRatio();Math.abs(p-_)>5e-4&&this.panelRatio.set(p)})}updateGhostTransform(t){this.side()==="left"?this.ghostTransform.set(`translateX(${t}px)`):this.ghostTransform.set(`translateX(-${t}px)`)}ngOnDestroy(){window.removeEventListener("resize",this.recomputeWidth),this.resizing&&(window.removeEventListener("pointermove",this.boundMove),window.removeEventListener("pointerup",this.boundUp))}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=W({type:i,selectors:[["split-shell"]],viewQuery:function(n,e){n&1&&z(e.panelEl,G,5),n&2&&E()},decls:8,vars:18,consts:[["panel",""],[1,"split-root",3,"ngClass"],[1,"resize-ghost",3,"transform"],[1,"fsk-shell"],["role","separator","aria-label","Resize Freeboard chartplotter panel","aria-orientation","vertical",1,"drag-handle"],[1,"fsk-iframe",3,"type","id","swipeDisabled","disableWidgetShell"],[1,"dash-container"],[1,"resize-ghost"],["role","separator","aria-label","Resize Freeboard chartplotter panel","aria-orientation","vertical",1,"drag-handle",3,"pointerdown"],["mat-mini-fab","","tabindex","-1","aria-hidden","true",1,"drag-fab",3,"pointerdown"],["fontIcon","drag_indicator"]],template:function(n,e){n&1&&(s(0,"div",1),b(1,j,1,2,"div",2),s(2,"div",3,0),b(4,H,3,0,"div",4),h(5,"widget-freeboardsk",5),c(),s(6,"div",6),h(7,"dashboard"),c()()),n&2&&(m("--panel-ratio",e.panelRatio()),w("ngClass",k(15,Q,e.side()==="left"?"side-left":"side-right",e.chartplotterModeInPortrait()?"portrait-column":"")),d(),P(e.ghostActive()?1:-1),d(),m("width",e.chartplotterModeInPortrait()?null:e.panelWidth(),"px"),R("collapsed",e.panelCollapsed())("drag-disabled",!e.canResize()),d(2),P(e.canResize()?4:-1),d(),w("type",e.freeboardWidgetStub.type)("id",e.freeboardWidgetStub.uuid)("swipeDisabled",e.fskShellSwipeDisabled())("disableWidgetShell",!0))},dependencies:[A,T,q,B,U,F,Z,V],styles:[".split-root[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;display:flex;overflow:hidden}.split-root.side-left[_ngcontent-%COMP%]{flex-direction:row}.split-root.side-right[_ngcontent-%COMP%]{flex-direction:row-reverse}.split-root.portrait-column[_ngcontent-%COMP%]{flex-direction:column}.split-root.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%], .split-root.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{width:100%!important;min-height:0}.split-root.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%]{flex:0 0 calc(var(--panel-ratio, .3) * 100%)}.split-root.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;overflow:hidden}.split-root.side-left.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{order:2}.split-root.side-left.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%]{order:1}.split-root.side-right.portrait-column[_ngcontent-%COMP%] .fsk-shell[_ngcontent-%COMP%]{order:2}.split-root.side-right.portrait-column[_ngcontent-%COMP%] .dash-container[_ngcontent-%COMP%]{order:1}.split-root.portrait-column[_ngcontent-%COMP%] .fsk-shell.collapsed[_ngcontent-%COMP%]{flex:0 0 0!important}.split-root.portrait-column[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%], .split-root.portrait-column[_ngcontent-%COMP%] .resize-ghost[_ngcontent-%COMP%]{display:none}.fsk-shell[_ngcontent-%COMP%]{position:relative;height:100%;display:flex;flex-direction:column;background:var(--mat-sys-surface-container, #111);transition:width .2s ease}.fsk-shell.collapsed[_ngcontent-%COMP%]{width:1px!important;visibility:hidden;opacity:0;pointer-events:none}.fsk-iframe[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0}.dash-container[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.drag-handle[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;width:3px;cursor:col-resize;background:var(--mat-sys-inverse-primary);z-index:5}.drag-handle[_ngcontent-%COMP%] .drag-fab[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;min-width:28px;cursor:col-resize;pointer-events:auto}.drag-handle[_ngcontent-%COMP%] .drag-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;line-height:20px}.side-left[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%]{right:-2px}.side-right[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%]{left:-2px}.drag-handle[_ngcontent-%COMP%]:hover{background:var(--mat-sys-error-container)}.side-left[_ngcontent-%COMP%] .collapse-toggle[_ngcontent-%COMP%]{left:.25rem}.side-right[_ngcontent-%COMP%] .collapse-toggle[_ngcontent-%COMP%]{right:.25rem}.fsk-shell.drag-disabled[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.4}.resize-ghost[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;width:2px;background:var(--mat-sys-error-container);opacity:.9;pointer-events:none;z-index:30;will-change:transform;transition:none}.side-left[_ngcontent-%COMP%] .resize-ghost[_ngcontent-%COMP%]{left:0}.side-right[_ngcontent-%COMP%] .resize-ghost[_ngcontent-%COMP%]{right:0}"]})}return i})();export{ct as SplitShellComponent};
@@ -1 +1 @@
1
- import{b as w}from"./chunk-NL5QCOXT.js";import{Ab as l,Ad as k,Fb as u,Gb as s,Gc as t,Hb as p,Ib as d,Rb as b,Tb as y,Xa as i,cc as f,dc as _,fc as m,gc as M,hc as C,ib as g,me as x,pe as O,xb as v,zb as r,zd as h}from"./chunk-MOEZSWFX.js";function T(n,I){if(n&1&&(s(0,"p"),M(1),p()),n&2){let o=y();m(`large-icon-tile-label${o.compact()?" compact":""}`),i(),C(o.label())}}function D(n,I){n&1&&d(0,"div",3)}var R=(()=>{class n{svgIcon=t.required();iconSize=t.required();label=t.required();iconOnly=t(!1);compact=t(!1);active=t(!1);onKeyboardActivate(o){o instanceof KeyboardEvent,o.preventDefault(),o.currentTarget?.click()}static \u0275fac=function(a){return new(a||n)};static \u0275cmp=g({type:n,selectors:[["tile-large-icon"]],inputs:{svgIcon:[1,"svgIcon"],iconSize:[1,"iconSize"],label:[1,"label"],iconOnly:[1,"iconOnly"],compact:[1,"compact"],active:[1,"active"]},decls:4,vars:13,consts:[["matRipple","","tabindex","0","role","button",3,"keydown.enter","keydown.space"],["aria-hidden","false",3,"svgIcon"],[3,"class"],[1,"active-accent-bar"]],template:function(a,e){a&1&&(s(0,"div",0),b("keydown.enter",function(c){return e.onKeyboardActivate(c)})("keydown.space",function(c){return e.onKeyboardActivate(c)}),d(1,"mat-icon",1),r(2,T,2,3,"p",2),r(3,D,1,0,"div",3),p()),a&2&&(m(`${e.compact()?"icon-container-compact":"icon-container"}`),_("active-container-accent",e.active()),v("aria-pressed",e.active())("aria-label",e.iconOnly()?e.label():null),i(),f("width",e.iconSize(),"px")("height",e.iconSize(),"px"),u("svgIcon",e.svgIcon()),i(),l(e.iconOnly()?-1:2),i(),l(e.active()?3:-1))},dependencies:[k,h,w,O,x],styles:["[_nghost-%COMP%]{display:block;width:100%}.icon-container[_ngcontent-%COMP%]{display:block;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);padding:10px 5px 15px;border-radius:7px;background-color:var(--mat-sys-surface-container);border-color:.2s ease;border:2px solid transparent}.icon-container[_ngcontent-%COMP%]:hover{border:2px solid var(--mat-sys-outline-variant);cursor:pointer}.icon-container[_ngcontent-%COMP%]:focus-visible{background-color:var(--mat-sys-surface-container-high);outline:-webkit-focus-ring-color auto 0px}.icon-container-compact[_ngcontent-%COMP%]{display:block;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;padding:5px;border-radius:7px;border:1px solid var(--mat-sys-outline-variant)}.icon-container-compact[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-inverse-on-surface);border:1px solid var(--mat-sys-primary);cursor:pointer}.icon-container-compact[_ngcontent-%COMP%]:focus-visible{background-color:var(--mat-sys-surface-bright);outline:-webkit-focus-ring-color auto 0px}.large-icon-tile-label[_ngcontent-%COMP%]{color:var(--mat-sys-outline);font-size:1.1em;margin:0}.compact[_ngcontent-%COMP%]{font-size:12px;margin:0}.active-container-accent[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-tertiary);pointer-events:none;background-color:var(--mat-sys-on-tertiary)}.active-container-accent[_ngcontent-%COMP%] .large-icon-tile-label[_ngcontent-%COMP%]{font-weight:700}.active-accent-bar[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;right:0;width:7px;background:var(--mat-sys-tertiary);box-shadow:0 0 10px 0 var(--mat-sys-tertiary)}"]})}return n})();export{R as a};
1
+ import{b as w}from"./chunk-OIUDA44M.js";import{Ab as l,Ce as x,De as O,Fb as u,Gb as s,Gc as t,Hb as p,Ib as d,Rb as b,Tb as y,Xa as i,cc as f,dc as _,fc as m,gc as M,hc as C,he as h,ib as g,me as k,xb as v,zb as r}from"./chunk-GSMU2M4Y.js";function T(n,I){if(n&1&&(s(0,"p"),M(1),p()),n&2){let o=y();m(`large-icon-tile-label${o.compact()?" compact":""}`),i(),C(o.label())}}function D(n,I){n&1&&d(0,"div",3)}var R=(()=>{class n{svgIcon=t.required();iconSize=t.required();label=t.required();iconOnly=t(!1);compact=t(!1);active=t(!1);onKeyboardActivate(o){o instanceof KeyboardEvent,o.preventDefault(),o.currentTarget?.click()}static \u0275fac=function(a){return new(a||n)};static \u0275cmp=g({type:n,selectors:[["tile-large-icon"]],inputs:{svgIcon:[1,"svgIcon"],iconSize:[1,"iconSize"],label:[1,"label"],iconOnly:[1,"iconOnly"],compact:[1,"compact"],active:[1,"active"]},decls:4,vars:13,consts:[["matRipple","","tabindex","0","role","button",3,"keydown.enter","keydown.space"],["aria-hidden","false",3,"svgIcon"],[3,"class"],[1,"active-accent-bar"]],template:function(a,e){a&1&&(s(0,"div",0),b("keydown.enter",function(c){return e.onKeyboardActivate(c)})("keydown.space",function(c){return e.onKeyboardActivate(c)}),d(1,"mat-icon",1),r(2,T,2,3,"p",2),r(3,D,1,0,"div",3),p()),a&2&&(m(`${e.compact()?"icon-container-compact":"icon-container"}`),_("active-container-accent",e.active()),v("aria-pressed",e.active())("aria-label",e.iconOnly()?e.label():null),i(),f("width",e.iconSize(),"px")("height",e.iconSize(),"px"),u("svgIcon",e.svgIcon()),i(),l(e.iconOnly()?-1:2),i(),l(e.active()?3:-1))},dependencies:[O,x,w,k,h],styles:["[_nghost-%COMP%]{display:block;width:100%}.icon-container[_ngcontent-%COMP%]{display:block;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);padding:10px 5px 15px;border-radius:7px;background-color:var(--mat-sys-surface-container);border-color:.2s ease;border:2px solid transparent}.icon-container[_ngcontent-%COMP%]:hover{border:2px solid var(--mat-sys-outline-variant);cursor:pointer}.icon-container[_ngcontent-%COMP%]:focus-visible{background-color:var(--mat-sys-surface-container-high);outline:-webkit-focus-ring-color auto 0px}.icon-container-compact[_ngcontent-%COMP%]{display:block;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;padding:5px;border-radius:7px;border:1px solid var(--mat-sys-outline-variant)}.icon-container-compact[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-inverse-on-surface);border:1px solid var(--mat-sys-primary);cursor:pointer}.icon-container-compact[_ngcontent-%COMP%]:focus-visible{background-color:var(--mat-sys-surface-bright);outline:-webkit-focus-ring-color auto 0px}.large-icon-tile-label[_ngcontent-%COMP%]{color:var(--mat-sys-outline);font-size:1.1em;margin:0}.compact[_ngcontent-%COMP%]{font-size:12px;margin:0}.active-container-accent[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-tertiary);pointer-events:none;background-color:var(--mat-sys-on-tertiary)}.active-container-accent[_ngcontent-%COMP%] .large-icon-tile-label[_ngcontent-%COMP%]{font-weight:700}.active-accent-bar[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;right:0;width:7px;background:var(--mat-sys-tertiary);box-shadow:0 0 10px 0 var(--mat-sys-tertiary)}"]})}return n})();export{R as a};
@@ -0,0 +1,4 @@
1
+ import{b as Ri,c as Pi,f as Ni,g as Fi,h as Wi,k as Ui,m as ut}from"./chunk-WUZG34V4.js";import{s as Oi,t as xi,w as Ei}from"./chunk-E57JLACD.js";import{G as Di,O as Ii,P as Ai,d as ge,f as ii,g as Q,h as ri,i as si,k as ni,m as ai,q as Ci,r as Mi,w as Ti}from"./chunk-GDSV24J2.js";import{a as bi,i as We,m as Si,o as wi,p as ki,r as lt,s as ct,t as Ue}from"./chunk-ZQJMMQNG.js";import{A as Ft,Aa as Vt,Ab as it,Ad as ci,Ba as Me,Bd as nt,Da as Te,E as Wt,Ea as De,Ec as ti,Ed as ui,Fb as pe,G as Ut,Ga as zt,Gb as A,Hb as q,I as Lt,Ib as Gt,J as ke,Ja as Ht,Jd as di,K as Xe,Lc as Ae,Ma as se,Nc as G,Oc as st,Pb as me,Pd as pi,Q as $t,Qd as mi,Rb as j,Rd as hi,Sd as oe,Tb as ne,Td as fi,Ub as Yt,Vb as rt,Vd as gi,Wb as Xt,Wd as at,Xa as $,Xb as Ie,Xd as _i,Yb as V,Za as Ze,Zb as z,Zc as Re,a as ce,ab as Bt,ba as Je,bc as Jt,be as _e,ca as Qe,d as Rr,da as O,dc as ae,de as ot,e as Pr,eb as Kt,fc as Qt,g as At,gc as he,h as Rt,hc as fe,ib as Oe,j as Ye,jb as xe,k as w,kb as et,ke as Pe,l as Pt,la as re,le as Ne,m as L,ma as Ce,n as ie,oa as J,ob as jt,od as x,qa as g,s as Nt,sc as Zt,tc as ei,va as B,ve as yi,wa as K,xa as qt,xb as Ee,xe as vi,yd as oi,z as ue,za as de,zb as tt,zd as li,ze as Fe}from"./chunk-GSMU2M4Y.js";var zi=Rr((pt,mt)=>{(function(l,b){typeof pt=="object"&&typeof mt<"u"?mt.exports=b():typeof define=="function"&&define.amd?define(b):(l=typeof globalThis<"u"?globalThis:l||self,l.Qty=b())})(pt,function(){"use strict";function l(i){return typeof i=="string"||i instanceof String}var b=Number.isFinite||window.isFinite;function e(i){return b(i)}function t(i){return i}function r(i){var s={};return i.filter(function(a){return s.hasOwnProperty(a)?!1:s[a]=!0})}function n(i,s){if(s.length!==i.length)return!1;for(var a=0;a<i.length;a++)if(s[a].compareArray&&!s[a].compareArray(i[a])||s[a]!==i[a])return!1;return!0}function o(i,s){Object.keys(s).forEach(function(a){i[a]=s[a]})}function p(){for(var i=1,s=0,a=0;a<arguments.length;a++){var c=arguments[a];s=s+R(c),i*=c}return s!==0?y(i,s):i}function f(i,s){if(s===0)throw new Error("Divide by zero");var a=Math.pow(10,R(s)),c=a/(a*s);return p(i,c)}function y(i,s){return Math.round(i*Math.pow(10,s))/Math.pow(10,s)}function R(i){if(!isFinite(i))return 0;for(var s=0;i%1!==0;)i*=10,s++;return s}function m(){var i;if(!this)return i=Object.create(m.prototype),m.apply(i,arguments),i;i=Error.apply(this,arguments),this.name="QtyError",this.message=i.message,this.stack=i.stack}m.prototype=Object.create(Error.prototype,{constructor:{value:m}});function S(i,s){throw new m("Incompatible units: "+i+" and "+s)}var k={"<googol>":[["googol"],1e100,"prefix"],"<kibi>":[["Ki","Kibi","kibi"],Math.pow(2,10),"prefix"],"<mebi>":[["Mi","Mebi","mebi"],Math.pow(2,20),"prefix"],"<gibi>":[["Gi","Gibi","gibi"],Math.pow(2,30),"prefix"],"<tebi>":[["Ti","Tebi","tebi"],Math.pow(2,40),"prefix"],"<pebi>":[["Pi","Pebi","pebi"],Math.pow(2,50),"prefix"],"<exi>":[["Ei","Exi","exi"],Math.pow(2,60),"prefix"],"<zebi>":[["Zi","Zebi","zebi"],Math.pow(2,70),"prefix"],"<yebi>":[["Yi","Yebi","yebi"],Math.pow(2,80),"prefix"],"<yotta>":[["Y","Yotta","yotta"],1e24,"prefix"],"<zetta>":[["Z","Zetta","zetta"],1e21,"prefix"],"<exa>":[["E","Exa","exa"],1e18,"prefix"],"<peta>":[["P","Peta","peta"],1e15,"prefix"],"<tera>":[["T","Tera","tera"],1e12,"prefix"],"<giga>":[["G","Giga","giga"],1e9,"prefix"],"<mega>":[["M","Mega","mega"],1e6,"prefix"],"<kilo>":[["k","kilo"],1e3,"prefix"],"<hecto>":[["h","Hecto","hecto"],100,"prefix"],"<deca>":[["da","Deca","deca","deka"],10,"prefix"],"<deci>":[["d","Deci","deci"],.1,"prefix"],"<centi>":[["c","Centi","centi"],.01,"prefix"],"<milli>":[["m","Milli","milli"],.001,"prefix"],"<micro>":[["u","\u03BC","\xB5","Micro","mc","micro"],1e-6,"prefix"],"<nano>":[["n","Nano","nano"],1e-9,"prefix"],"<pico>":[["p","Pico","pico"],1e-12,"prefix"],"<femto>":[["f","Femto","femto"],1e-15,"prefix"],"<atto>":[["a","Atto","atto"],1e-18,"prefix"],"<zepto>":[["z","Zepto","zepto"],1e-21,"prefix"],"<yocto>":[["y","Yocto","yocto"],1e-24,"prefix"],"<1>":[["1","<1>"],1,""],"<meter>":[["m","meter","meters","metre","metres"],1,"length",["<meter>"]],"<inch>":[["in","inch","inches",'"'],.0254,"length",["<meter>"]],"<foot>":[["ft","foot","feet","'"],.3048,"length",["<meter>"]],"<yard>":[["yd","yard","yards"],.9144,"length",["<meter>"]],"<mile>":[["mi","mile","miles"],1609.344,"length",["<meter>"]],"<naut-mile>":[["nmi","naut-mile"],1852,"length",["<meter>"]],"<league>":[["league","leagues"],4828,"length",["<meter>"]],"<furlong>":[["furlong","furlongs"],201.2,"length",["<meter>"]],"<rod>":[["rd","rod","rods"],5.029,"length",["<meter>"]],"<mil>":[["mil","mils"],254e-7,"length",["<meter>"]],"<angstrom>":[["ang","angstrom","angstroms"],1e-10,"length",["<meter>"]],"<fathom>":[["fathom","fathoms"],1.829,"length",["<meter>"]],"<pica>":[["pica","picas"],.00423333333,"length",["<meter>"]],"<point>":[["pt","point","points"],.000352777778,"length",["<meter>"]],"<redshift>":[["z","red-shift","redshift"],1302773e20,"length",["<meter>"]],"<AU>":[["AU","astronomical-unit"],1495979e5,"length",["<meter>"]],"<light-second>":[["ls","light-second"],299792500,"length",["<meter>"]],"<light-minute>":[["lmin","light-minute"],1798755e4,"length",["<meter>"]],"<light-year>":[["ly","light-year"],9460528e9,"length",["<meter>"]],"<parsec>":[["pc","parsec","parsecs"],3085678e10,"length",["<meter>"]],"<datamile>":[["DM","datamile"],1828.8,"length",["<meter>"]],"<kilogram>":[["kg","kilogram","kilograms"],1,"mass",["<kilogram>"]],"<AMU>":[["u","AMU","amu"],1660538921e-36,"mass",["<kilogram>"]],"<dalton>":[["Da","Dalton","Daltons","dalton","daltons"],1660538921e-36,"mass",["<kilogram>"]],"<slug>":[["slug","slugs"],14.5939029,"mass",["<kilogram>"]],"<short-ton>":[["tn","ton","short-ton"],907.18474,"mass",["<kilogram>"]],"<metric-ton>":[["t","tonne","metric-ton"],1e3,"mass",["<kilogram>"]],"<carat>":[["ct","carat","carats"],2e-4,"mass",["<kilogram>"]],"<pound>":[["lbs","lb","pound","pounds","#"],.45359237,"mass",["<kilogram>"]],"<ounce>":[["oz","ounce","ounces"],.0283495231,"mass",["<kilogram>"]],"<gram>":[["g","gram","grams","gramme","grammes"],.001,"mass",["<kilogram>"]],"<grain>":[["grain","grains","gr"],6479891e-11,"mass",["<kilogram>"]],"<dram>":[["dram","drams","dr"],.0017718452,"mass",["<kilogram>"]],"<stone>":[["stone","stones","st"],6.35029318,"mass",["<kilogram>"]],"<hectare>":[["hectare"],1e4,"area",["<meter>","<meter>"]],"<acre>":[["acre","acres"],4046.85642,"area",["<meter>","<meter>"]],"<sqft>":[["sqft"],1,"area",["<foot>","<foot>"]],"<liter>":[["l","L","liter","liters","litre","litres"],.001,"volume",["<meter>","<meter>","<meter>"]],"<gallon>":[["gal","gallon","gallons"],.0037854118,"volume",["<meter>","<meter>","<meter>"]],"<gallon-imp>":[["galimp","gallon-imp","gallons-imp"],.00454609,"volume",["<meter>","<meter>","<meter>"]],"<quart>":[["qt","quart","quarts"],.00094635295,"volume",["<meter>","<meter>","<meter>"]],"<pint>":[["pt","pint","pints"],.000473176475,"volume",["<meter>","<meter>","<meter>"]],"<pint-imp>":[["ptimp","pint-imp","pints-imp"],.00056826125,"volume",["<meter>","<meter>","<meter>"]],"<cup>":[["cu","cup","cups"],.000236588238,"volume",["<meter>","<meter>","<meter>"]],"<fluid-ounce>":[["floz","fluid-ounce","fluid-ounces"],295735297e-13,"volume",["<meter>","<meter>","<meter>"]],"<fluid-ounce-imp>":[["flozimp","floz-imp","fluid-ounce-imp","fluid-ounces-imp"],284130625e-13,"volume",["<meter>","<meter>","<meter>"]],"<tablespoon>":[["tb","tbsp","tbs","tablespoon","tablespoons"],147867648e-13,"volume",["<meter>","<meter>","<meter>"]],"<teaspoon>":[["tsp","teaspoon","teaspoons"],492892161e-14,"volume",["<meter>","<meter>","<meter>"]],"<bushel>":[["bu","bsh","bushel","bushels"],.035239072,"volume",["<meter>","<meter>","<meter>"]],"<oilbarrel>":[["bbl","oilbarrel","oilbarrels","oil-barrel","oil-barrels"],.158987294928,"volume",["<meter>","<meter>","<meter>"]],"<beerbarrel>":[["bl","bl-us","beerbarrel","beerbarrels","beer-barrel","beer-barrels"],.1173477658,"volume",["<meter>","<meter>","<meter>"]],"<beerbarrel-imp>":[["blimp","bl-imp","beerbarrel-imp","beerbarrels-imp","beer-barrel-imp","beer-barrels-imp"],.16365924,"volume",["<meter>","<meter>","<meter>"]],"<kph>":[["kph"],.277777778,"speed",["<meter>"],["<second>"]],"<mph>":[["mph"],.44704,"speed",["<meter>"],["<second>"]],"<knot>":[["kt","kn","kts","knot","knots"],.514444444,"speed",["<meter>"],["<second>"]],"<fps>":[["fps"],.3048,"speed",["<meter>"],["<second>"]],"<gee>":[["gee"],9.80665,"acceleration",["<meter>"],["<second>","<second>"]],"<Gal>":[["Gal"],.01,"acceleration",["<meter>"],["<second>","<second>"]],"<kelvin>":[["degK","kelvin"],1,"temperature",["<kelvin>"]],"<celsius>":[["degC","celsius","celsius","centigrade"],1,"temperature",["<kelvin>"]],"<fahrenheit>":[["degF","fahrenheit"],5/9,"temperature",["<kelvin>"]],"<rankine>":[["degR","rankine"],5/9,"temperature",["<kelvin>"]],"<temp-K>":[["tempK","temp-K"],1,"temperature",["<temp-K>"]],"<temp-C>":[["tempC","temp-C"],1,"temperature",["<temp-K>"]],"<temp-F>":[["tempF","temp-F"],5/9,"temperature",["<temp-K>"]],"<temp-R>":[["tempR","temp-R"],5/9,"temperature",["<temp-K>"]],"<second>":[["s","sec","secs","second","seconds"],1,"time",["<second>"]],"<minute>":[["min","mins","minute","minutes"],60,"time",["<second>"]],"<hour>":[["h","hr","hrs","hour","hours"],3600,"time",["<second>"]],"<day>":[["d","day","days"],3600*24,"time",["<second>"]],"<week>":[["wk","week","weeks"],7*3600*24,"time",["<second>"]],"<fortnight>":[["fortnight","fortnights"],1209600,"time",["<second>"]],"<year>":[["y","yr","year","years","annum"],31556926,"time",["<second>"]],"<decade>":[["decade","decades"],315569260,"time",["<second>"]],"<century>":[["century","centuries"],3155692600,"time",["<second>"]],"<pascal>":[["Pa","pascal","Pascal"],1,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<bar>":[["bar","bars"],1e5,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<mmHg>":[["mmHg"],133.322368,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<inHg>":[["inHg"],3386.3881472,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<torr>":[["torr"],133.322368,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<atm>":[["atm","ATM","atmosphere","atmospheres"],101325,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<psi>":[["psi"],6894.76,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<cmh2o>":[["cmH2O","cmh2o"],98.0638,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<inh2o>":[["inH2O","inh2o"],249.082052,"pressure",["<kilogram>"],["<meter>","<second>","<second>"]],"<poise>":[["P","poise"],.1,"viscosity",["<kilogram>"],["<meter>","<second>"]],"<stokes>":[["St","stokes"],1e-4,"viscosity",["<meter>","<meter>"],["<second>"]],"<mole>":[["mol","mole"],1,"substance",["<mole>"]],"<molar>":[["M","molar"],1e3,"molar_concentration",["<mole>"],["<meter>","<meter>","<meter>"]],"<wtpercent>":[["wt%","wtpercent"],10,"molar_concentration",["<kilogram>"],["<meter>","<meter>","<meter>"]],"<katal>":[["kat","katal","Katal"],1,"activity",["<mole>"],["<second>"]],"<unit>":[["U","enzUnit","unit"],16667e-19,"activity",["<mole>"],["<second>"]],"<farad>":[["F","farad","Farad"],1,"capacitance",["<second>","<second>","<second>","<second>","<ampere>","<ampere>"],["<meter>","<meter>","<kilogram>"]],"<coulomb>":[["C","coulomb","Coulomb"],1,"charge",["<ampere>","<second>"]],"<Ah>":[["Ah"],3600,"charge",["<ampere>","<second>"]],"<ampere>":[["A","Ampere","ampere","amp","amps"],1,"current",["<ampere>"]],"<siemens>":[["S","Siemens","siemens"],1,"conductance",["<second>","<second>","<second>","<ampere>","<ampere>"],["<kilogram>","<meter>","<meter>"]],"<henry>":[["H","Henry","henry"],1,"inductance",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>","<ampere>"]],"<volt>":[["V","Volt","volt","volts"],1,"potential",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<second>","<ampere>"]],"<ohm>":[["Ohm","ohm","\u03A9","\u2126"],1,"resistance",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<second>","<ampere>","<ampere>"]],"<weber>":[["Wb","weber","webers"],1,"magnetism",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>"]],"<tesla>":[["T","tesla","teslas"],1,"magnetism",["<kilogram>"],["<second>","<second>","<ampere>"]],"<gauss>":[["G","gauss"],1e-4,"magnetism",["<kilogram>"],["<second>","<second>","<ampere>"]],"<maxwell>":[["Mx","maxwell","maxwells"],1e-8,"magnetism",["<meter>","<meter>","<kilogram>"],["<second>","<second>","<ampere>"]],"<oersted>":[["Oe","oersted","oersteds"],250/Math.PI,"magnetism",["<ampere>"],["<meter>"]],"<joule>":[["J","joule","Joule","joules","Joules"],1,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<erg>":[["erg","ergs"],1e-7,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<btu>":[["BTU","btu","BTUs"],1055.056,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<calorie>":[["cal","calorie","calories"],4.184,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<Calorie>":[["Cal","Calorie","Calories"],4184,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<therm-US>":[["th","therm","therms","Therm","therm-US"],105480400,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<Wh>":[["Wh"],3600,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<electronvolt>":[["eV","electronvolt","electronvolts"],1602176634e-28,"energy",["<meter>","<meter>","<kilogram>"],["<second>","<second>"]],"<newton>":[["N","Newton","newton"],1,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<dyne>":[["dyn","dyne"],1e-5,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<pound-force>":[["lbf","pound-force"],4.448222,"force",["<kilogram>","<meter>"],["<second>","<second>"]],"<hertz>":[["Hz","hertz","Hertz"],1,"frequency",["<1>"],["<second>"]],"<radian>":[["rad","radian","radians"],1,"angle",["<radian>"]],"<degree>":[["deg","degree","degrees"],Math.PI/180,"angle",["<radian>"]],"<arcminute>":[["arcmin","arcminute","arcminutes"],Math.PI/10800,"angle",["<radian>"]],"<arcsecond>":[["arcsec","arcsecond","arcseconds"],Math.PI/648e3,"angle",["<radian>"]],"<gradian>":[["gon","grad","gradian","grads"],Math.PI/200,"angle",["<radian>"]],"<steradian>":[["sr","steradian","steradians"],1,"solid_angle",["<steradian>"]],"<rotation>":[["rotation"],2*Math.PI,"angle",["<radian>"]],"<rpm>":[["rpm"],2*Math.PI/60,"angular_velocity",["<radian>"],["<second>"]],"<byte>":[["B","byte","bytes"],1,"information",["<byte>"]],"<bit>":[["b","bit","bits"],.125,"information",["<byte>"]],"<Bps>":[["Bps"],1,"information_rate",["<byte>"],["<second>"]],"<bps>":[["bps"],.125,"information_rate",["<byte>"],["<second>"]],"<dollar>":[["USD","dollar"],1,"currency",["<dollar>"]],"<cents>":[["cents"],.01,"currency",["<dollar>"]],"<candela>":[["cd","candela"],1,"luminosity",["<candela>"]],"<lumen>":[["lm","lumen"],1,"luminous_power",["<candela>","<steradian>"]],"<lux>":[["lux"],1,"illuminance",["<candela>","<steradian>"],["<meter>","<meter>"]],"<watt>":[["W","watt","watts"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<volt-ampere>":[["VA","volt-ampere"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<volt-ampere-reactive>":[["var","Var","VAr","VAR","volt-ampere-reactive"],1,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<horsepower>":[["hp","horsepower"],745.699872,"power",["<kilogram>","<meter>","<meter>"],["<second>","<second>","<second>"]],"<gray>":[["Gy","gray","grays"],1,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<roentgen>":[["R","roentgen"],.00933,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<sievert>":[["Sv","sievert","sieverts"],1,"radiation",["<meter>","<meter>"],["<second>","<second>"]],"<becquerel>":[["Bq","becquerel","becquerels"],1,"radiation",["<1>"],["<second>"]],"<curie>":[["Ci","curie","curies"],37e9,"radiation",["<1>"],["<second>"]],"<cpm>":[["cpm"],1/60,"rate",["<count>"],["<second>"]],"<dpm>":[["dpm"],1/60,"rate",["<count>"],["<second>"]],"<bpm>":[["bpm"],1/60,"rate",["<count>"],["<second>"]],"<dot>":[["dot","dots"],1,"resolution",["<each>"]],"<pixel>":[["pixel","px"],1,"resolution",["<each>"]],"<ppi>":[["ppi"],1,"resolution",["<pixel>"],["<inch>"]],"<dpi>":[["dpi"],1,"typography",["<dot>"],["<inch>"]],"<cell>":[["cells","cell"],1,"counting",["<each>"]],"<each>":[["each"],1,"counting",["<each>"]],"<count>":[["count"],1,"counting",["<each>"]],"<base-pair>":[["bp","base-pair"],1,"counting",["<each>"]],"<nucleotide>":[["nt","nucleotide"],1,"counting",["<each>"]],"<molecule>":[["molecule","molecules"],1,"counting",["<1>"]],"<dozen>":[["doz","dz","dozen"],12,"prefix_only",["<each>"]],"<percent>":[["%","percent"],.01,"prefix_only",["<1>"]],"<ppm>":[["ppm"],1e-6,"prefix_only",["<1>"]],"<ppb>":[["ppb"],1e-9,"prefix_only",["<1>"]],"<ppt>":[["ppt"],1e-12,"prefix_only",["<1>"]],"<ppq>":[["ppq"],1e-15,"prefix_only",["<1>"]],"<gross>":[["gr","gross"],144,"prefix_only",["<dozen>","<dozen>"]],"<decibel>":[["dB","decibel","decibels"],1,"logarithmic",["<decibel>"]]},W=["<meter>","<kilogram>","<second>","<mole>","<ampere>","<radian>","<kelvin>","<temp-K>","<byte>","<dollar>","<candela>","<each>","<steradian>","<decibel>"],Z="<1>",T=[Z];function er(i,s){var a=s[1],c=s[3]||[],u=s[4]||[];if(!e(a))throw new m(i+": Invalid unit definition. 'scalar' must be a number");c.forEach(function(d){if(k[d]===void 0)throw new m(i+": Invalid unit definition. Unit "+d+" in 'numerator' is not recognized")}),u.forEach(function(d){if(k[d]===void 0)throw new m(i+": Invalid unit definition. Unit "+d+" in 'denominator' is not recognized")})}var U={},ye={},E={},ee={},ve={};for(var H in k)if(k.hasOwnProperty(H)){var P=k[H];if(P[2]==="prefix"){U[H]=P[1];for(var $e=0;$e<P[0].length;$e++)ye[P[0][$e]]=H}else{er(H,P),E[H]={scalar:P[1],numerator:P[3],denominator:P[4]};for(var qe=0;qe<P[0].length;qe++)ee[P[0][qe]]=H}ve[H]=P[0][0]}function tr(i){var s,a=[],c=Object.keys(k);if(typeof i>"u")for(s=0;s<c.length;s++)["","prefix"].indexOf(k[c[s]][2])===-1&&a.push(c[s].substr(1,c[s].length-2));else{if(this.getKinds().indexOf(i)===-1)throw new m("Kind not recognized");for(s=0;s<c.length;s++)k[c[s]][2]===i&&a.push(c[s].substr(1,c[s].length-2))}return a.sort(function(u,d){return u.toLowerCase()<d.toLowerCase()?-1:u.toLowerCase()>d.toLowerCase()?1:0})}function ir(i){if(!ee[i])throw new m("Unit not recognized");return k[ee[i]][0]}var Ve=["length","time","temperature","mass","current","substance","luminosity","currency","information","angle"];function rr(){if(this.signature)return this.signature;for(var i=gt.call(this),s=0;s<i.length;s++)i[s]*=Math.pow(20,s);return i.reduce(function(a,c){return a+c},0)}function gt(){if(!this.isBase())return gt.call(this.toBase());for(var i=new Array(Ve.length),s=0;s<i.length;s++)i[s]=0;for(var a,c,u=0;u<this.numerator.length;u++)(a=k[this.numerator[u]])&&(c=Ve.indexOf(a[2]),c>=0&&(i[c]=i[c]+1));for(var d=0;d<this.denominator.length;d++)(a=k[this.denominator[d]])&&(c=Ve.indexOf(a[2]),c>=0&&(i[c]=i[c]-1));return i}var _t="[+-]",ze="\\d+",sr=_t+"?"+ze,bt="\\."+ze,nr="(?:"+ze+"(?:"+bt+")?)|(?:"+bt+")",ar="[Ee]"+sr,or="(?:"+nr+")(?:"+ar+")?",lr=_t+"?\\s*"+or,cr="("+lr+")?\\s*([^/]*)(?:/(.+))?",ur=new RegExp("^"+cr+"$"),yt="\\^|\\*{2}",vt="[01234]",dr=new RegExp("([^ \\*\\d]+?)(?:"+yt+")?(-?"+vt+"(?![a-zA-Z]))"),pr=new RegExp("([^ \\*\\d]+?)(?:"+yt+")?("+vt+"(?![a-zA-Z]))");function St(i){l(i)||(i=i.toString()),i=i.trim();var s=ur.exec(i);if(!s)throw new m(i+": Quantity not recognized");var a=s[1];a?(a=a.replace(/\s/g,""),this.scalar=parseFloat(a)):this.scalar=1;for(var c=s[2],u=s[3],d,C,v;s=dr.exec(c);){if(d=parseFloat(s[2]),isNaN(d))throw new m("Unit exponent is not a number");if(d===0&&!He.test(s[1]))throw new m("Unit not recognized");C=s[1]+" ",v="";for(var M=0;M<Math.abs(d);M++)v+=C;d>=0?c=c.replace(s[0],v):(u=u?u+v:v,c=c.replace(s[0],""))}for(;s=pr.exec(u);){if(d=parseFloat(s[2]),isNaN(d))throw new m("Unit exponent is not a number");if(d===0&&!He.test(s[1]))throw new m("Unit not recognized");C=s[1]+" ",v="";for(var I=0;I<d;I++)v+=C;u=u.replace(s[0],v)}c&&(this.numerator=Ct(c.trim())),u&&(this.denominator=Ct(u.trim()))}var mr=Object.keys(ye).sort(function(i,s){return s.length-i.length}).join("|"),hr=Object.keys(ee).sort(function(i,s){return s.length-i.length}).join("|"),fr="\\b|$",wt="("+mr+")??("+hr+")(?:"+fr+")",He=new RegExp("^\\s*("+wt+"[\\s\\*]*)+$"),gr=new RegExp(wt,"g"),kt={};function Ct(i){var s=kt[i];if(s)return s;var a,c=[];if(!He.test(i))throw new m("Unit not recognized");for(;a=gr.exec(i);)c.push(a.slice(1));return c=c.map(function(u){return ye[u[0]]?[ye[u[0]],ee[u[1]]]:[ee[u[1]]]}),c=c.reduce(function(u,d){return u.concat(d)},[]),c=c.filter(function(u){return u}),kt[i]=c,c}function _r(i){if(!l(i))throw new m("Argument should be a string");try{return this(i)}catch(s){return null}}function Se(i){return i instanceof h}function h(i,s){if(br.apply(null,arguments),!Se(this))return new h(i,s);if(this.scalar=null,this.baseScalar=null,this.signature=null,this._conversionCache={},this.numerator=T,this.denominator=T,Mt(i)?(this.scalar=i.scalar,this.numerator=i.numerator&&i.numerator.length!==0?i.numerator:T,this.denominator=i.denominator&&i.denominator.length!==0?i.denominator:T):s?(St.call(this,s),this.scalar=i):St.call(this,i),this.denominator.join("*").indexOf("temp")>=0)throw new m("Cannot divide with temperatures");if(this.numerator.join("*").indexOf("temp")>=0){if(this.numerator.length>1)throw new m("Cannot multiply by temperatures");if(!n(this.denominator,T))throw new m("Cannot divide with temperatures")}if(this.initValue=i,yr.call(this),this.isTemperature()&&this.baseScalar<0)throw new m("Temperatures must not be less than absolute zero")}h.prototype={constructor:h};function br(i,s){if(s){if(!(e(i)&&l(s)))throw new m("Only number accepted as initialization value when units are explicitly provided")}else if(!(l(i)||e(i)||Se(i)||Mt(i)))throw new m("Only string, number or quantity accepted as single initialization value")}function Mt(i){return i&&typeof i=="object"&&i.hasOwnProperty("scalar")}function yr(){if(this.baseScalar)return this.baseScalar;if(this.isBase())this.baseScalar=this.scalar,this.signature=rr.call(this);else{var i=this.toBase();this.baseScalar=i.scalar,this.signature=i.signature}}var Be={"-312078":"elastance","-312058":"resistance","-312038":"inductance","-152058":"potential","-152040":"magnetism","-152038":"magnetism","-7997":"specific_volume","-79":"snap","-59":"jolt","-39":"acceleration","-38":"radiation","-20":"frequency","-19":"speed","-18":"viscosity","-17":"volumetric_flow","-1":"wavenumber",0:"unitless",1:"length",2:"area",3:"volume",20:"time",400:"temperature",7941:"yank",7942:"power",7959:"pressure",7961:"force",7962:"energy",7979:"viscosity",7981:"momentum",7982:"angular_momentum",7997:"density",7998:"area_density",8e3:"mass",152020:"radiation_exposure",159999:"magnetism",16e4:"current",160020:"charge",312058:"conductance",312078:"capacitance",3199980:"activity",3199997:"molar_concentration",32e5:"substance",63999998:"illuminance",64e6:"luminous_power",128e7:"currency","25599999980":"information_rate","25600000000":"information","511999999980":"angular_velocity","512000000000":"angle"};function vr(){return r(Object.keys(Be).map(function(i){return Be[i]}))}h.prototype.kind=function(){return Be[this.signature.toString()]},o(h.prototype,{isDegrees:function(){return(this.signature===null||this.signature===400)&&this.numerator.length===1&&n(this.denominator,T)&&(this.numerator[0].match(/<temp-[CFRK]>/)||this.numerator[0].match(/<(kelvin|celsius|rankine|fahrenheit)>/))},isTemperature:function(){return this.isDegrees()&&this.numerator[0].match(/<temp-[CFRK]>/)}});function Sr(i,s){var a=i.units(),c=s.to(a),u=h(Ke(a));return h({scalar:i.scalar-c.scalar,numerator:u.numerator,denominator:u.denominator})}function wr(i,s){var a=s.to(Ke(i.units()));return h({scalar:i.scalar-a.scalar,numerator:i.numerator,denominator:i.denominator})}function Tt(i,s){var a=s.to(Ke(i.units()));return h({scalar:i.scalar+a.scalar,numerator:i.numerator,denominator:i.denominator})}function Ke(i){if(i==="tempK")return"degK";if(i==="tempC")return"degC";if(i==="tempF")return"degF";if(i==="tempR")return"degR";throw new m("Unknown type for temp conversion from: "+i)}function kr(i,s){var a=Cr(i),c=s.units(),u;if(c==="degK")u=a.scalar;else if(c==="degC")u=a.scalar;else if(c==="degF")u=a.scalar*9/5;else if(c==="degR")u=a.scalar*9/5;else throw new m("Unknown type for degree conversion to: "+c);return h({scalar:u,numerator:s.numerator,denominator:s.denominator})}function Cr(i){var s=i.units(),a;if(s.match(/(deg)[CFRK]/))a=i.baseScalar;else if(s==="tempK")a=i.scalar;else if(s==="tempC")a=i.scalar;else if(s==="tempF")a=i.scalar*5/9;else if(s==="tempR")a=i.scalar*5/9;else throw new m("Unknown type for temp conversion from: "+s);return h({scalar:a,numerator:["<kelvin>"],denominator:T})}function Mr(i,s){var a=s.units(),c;if(a==="tempK")c=i.baseScalar;else if(a==="tempC")c=i.baseScalar-273.15;else if(a==="tempF")c=i.baseScalar*9/5-459.67;else if(a==="tempR")c=i.baseScalar*9/5;else throw new m("Unknown type for temp conversion to: "+a);return h({scalar:c,numerator:s.numerator,denominator:s.denominator})}function Tr(i){var s=i.units(),a;if(s.match(/(deg)[CFRK]/))a=i.baseScalar;else if(s==="tempK")a=i.scalar;else if(s==="tempC")a=i.scalar+273.15;else if(s==="tempF")a=(i.scalar+459.67)*5/9;else if(s==="tempR")a=i.scalar*5/9;else throw new m("Unknown type for temp conversion from: "+s);return h({scalar:a,numerator:["<temp-K>"],denominator:T})}o(h.prototype,{to:function(i){var s,a;if(i==null)return this;if(!l(i))return this.to(i.units());if(s=this._conversionCache[i],s)return s;if(a=h(i),a.units()===this.units())return this;if(!this.isCompatible(a))this.isInverse(a)?a=this.inverse().to(i):S(this.units(),a.units());else if(a.isTemperature())a=Mr(this,a);else if(a.isDegrees())a=kr(this,a);else{var c=f(this.baseScalar,a.baseScalar);a=h({scalar:c,numerator:a.numerator,denominator:a.denominator})}return this._conversionCache[i]=a,a},toBase:function(){if(this.isBase())return this;if(this.isTemperature())return Tr(this);var i=Dt[this.units()];return i||(i=Or(this.numerator,this.denominator),Dt[this.units()]=i),i.mul(this.scalar)},toFloat:function(){if(this.isUnitless())return this.scalar;throw new m("Can't convert to Float unless unitless. Use Unit#scalar")},toPrec:function(i){if(l(i)&&(i=h(i)),e(i)&&(i=h(i+" "+this.units())),this.isUnitless()?i.isUnitless()||S(this.units(),i.units()):i=i.to(this.units()),i.scalar===0)throw new m("Divide by zero");var s=p(Math.round(this.scalar/i.scalar),i.scalar);return h(s+this.units())}});function Dr(i,s){var a=h(i),c=h(s);if(a.eq(c))return t;var u;return a.isTemperature()?u=function(d){return a.mul(d).to(c).scalar}:u=function(d){return d*a.baseScalar/c.baseScalar},function(C){var v,M,I;if(Array.isArray(C)){for(M=C.length,I=[],v=0;v<M;v++)I.push(u(C[v]));return I}else return u(C)}}var Dt={};function Or(i,s){for(var a=[],c=[],u=1,d,C=0;C<i.length;C++)d=i[C],U[d]?u=p(u,U[d]):E[d]&&(u*=E[d].scalar,E[d].numerator&&a.push(E[d].numerator),E[d].denominator&&c.push(E[d].denominator));for(var v=0;v<s.length;v++)d=s[v],U[d]?u/=U[d]:E[d]&&(u/=E[d].scalar,E[d].numerator&&c.push(E[d].numerator),E[d].denominator&&a.push(E[d].denominator));return a=a.reduce(function(M,I){return M.concat(I)},[]),c=c.reduce(function(M,I){return M.concat(I)},[]),h({scalar:u,numerator:a,denominator:c})}h.parse=_r,h.getUnits=tr,h.getAliases=ir,h.mulSafe=p,h.divSafe=f,h.getKinds=vr,h.swiftConverter=Dr,h.Error=m,o(h.prototype,{add:function(i){if(l(i)&&(i=h(i)),this.isCompatible(i)||S(this.units(),i.units()),this.isTemperature()&&i.isTemperature())throw new m("Cannot add two temperatures");return this.isTemperature()?Tt(this,i):i.isTemperature()?Tt(i,this):h({scalar:this.scalar+i.to(this).scalar,numerator:this.numerator,denominator:this.denominator})},sub:function(i){if(l(i)&&(i=h(i)),this.isCompatible(i)||S(this.units(),i.units()),this.isTemperature()&&i.isTemperature())return Sr(this,i);if(this.isTemperature())return wr(this,i);if(i.isTemperature())throw new m("Cannot subtract a temperature from a differential degree unit");return h({scalar:this.scalar-i.to(this).scalar,numerator:this.numerator,denominator:this.denominator})},mul:function(i){if(e(i))return h({scalar:p(this.scalar,i),numerator:this.numerator,denominator:this.denominator});if(l(i)&&(i=h(i)),(this.isTemperature()||i.isTemperature())&&!(this.isUnitless()||i.isUnitless()))throw new m("Cannot multiply by temperatures");var s=this,a=i;s.isCompatible(a)&&s.signature!==400&&(a=a.to(s));var c=Ot(s.numerator,s.denominator,a.numerator,a.denominator);return h({scalar:p(s.scalar,a.scalar,c[2]),numerator:c[0],denominator:c[1]})},div:function(i){if(e(i)){if(i===0)throw new m("Divide by zero");return h({scalar:this.scalar/i,numerator:this.numerator,denominator:this.denominator})}else l(i)&&(i=h(i));if(i.scalar===0)throw new m("Divide by zero");if(i.isTemperature())throw new m("Cannot divide with temperatures");if(this.isTemperature()&&!i.isUnitless())throw new m("Cannot divide with temperatures");var s=this,a=i;s.isCompatible(a)&&s.signature!==400&&(a=a.to(s));var c=Ot(s.numerator,s.denominator,a.denominator,a.numerator);return h({scalar:p(s.scalar,c[2])/a.scalar,numerator:c[0],denominator:c[1]})},inverse:function(){if(this.isTemperature())throw new m("Cannot divide with temperatures");if(this.scalar===0)throw new m("Divide by zero");return h({scalar:1/this.scalar,numerator:this.denominator,denominator:this.numerator})}});function Ot(i,s,a,c){function u(N){return N!==Z}i=i.filter(u),a=a.filter(u),s=s.filter(u),c=c.filter(u);var d={};function C(N,Y){for(var F,we,Ge,X=0;X<N.length;X++)if(U[N[X]]?(F=N[X+1],we=N[X],Ge=U[we],X++):(F=N[X],we=null,Ge=1),F&&F!==Z)if(d[F]){d[F][0]+=Y;var Ar=d[F][2]?U[d[F][2]]:1;d[F][Y===1?3:4]*=f(Ge,Ar)}else d[F]=[Y,F,we,1,1]}C(i,1),C(s,-1),C(a,1),C(c,-1);var v=[],M=[],I=1;for(var It in d)if(d.hasOwnProperty(It)){var D=d[It],te;if(D[0]>0)for(te=0;te<D[0];te++)v.push(D[2]===null?D[1]:[D[2],D[1]]);else if(D[0]<0)for(te=0;te<-D[0];te++)M.push(D[2]===null?D[1]:[D[2],D[1]]);I*=f(D[3],D[4])}return v.length===0&&(v=T),M.length===0&&(M=T),v=v.reduce(function(N,Y){return N.concat(Y)},[]),M=M.reduce(function(N,Y){return N.concat(Y)},[]),[v,M,I]}o(h.prototype,{eq:function(i){return this.compareTo(i)===0},lt:function(i){return this.compareTo(i)===-1},lte:function(i){return this.eq(i)||this.lt(i)},gt:function(i){return this.compareTo(i)===1},gte:function(i){return this.eq(i)||this.gt(i)},compareTo:function(i){if(l(i))return this.compareTo(h(i));if(this.isCompatible(i)||S(this.units(),i.units()),this.baseScalar<i.baseScalar)return-1;if(this.baseScalar===i.baseScalar)return 0;if(this.baseScalar>i.baseScalar)return 1},same:function(i){return this.scalar===i.scalar&&this.units()===i.units()}}),o(h.prototype,{isUnitless:function(){return[this.numerator,this.denominator].every(function(i){return n(i,T)})},isCompatible:function(i){return l(i)?this.isCompatible(h(i)):Se(i)&&i.signature!==void 0?this.signature===i.signature:!1},isInverse:function(i){return this.inverse().isCompatible(i)},isBase:function(){return this._isBase!==void 0?this._isBase:this.isDegrees()&&this.numerator[0].match(/<(kelvin|temp-K)>/)?(this._isBase=!0,this._isBase):(this.numerator.concat(this.denominator).forEach(function(i){i!==Z&&W.indexOf(i)===-1&&(this._isBase=!1)},this),this._isBase===!1?this._isBase:(this._isBase=!0,this._isBase))}});function je(){}je.prototype.get=function(i){return arguments.length>1&&(i=Array.apply(null,arguments)),i.reduce(function(s,a,c){if(s){var u=s[a];return c===i.length-1?u?u.data:void 0:u}},this)},je.prototype.set=function(i,s){return arguments.length>2&&(i=Array.prototype.slice.call(arguments,0,-1),s=arguments[arguments.length-1]),i.reduce(function(a,c,u){var d=a[c];return d===void 0&&(d=a[c]={}),u===i.length-1?(d.data=s,s):d},this)};function xr(i,s){return(i+" "+s).trim()}h.formatter=xr,o(h.prototype,{units:function(){if(this._units!==void 0)return this._units;var i=n(this.numerator,T),s=n(this.denominator,T);if(i&&s)return this._units="",this._units;var a=Et(this.numerator),c=Et(this.denominator);return this._units=a+(s?"":"/"+c),this._units},toString:function(i,s){var a;if(e(i))a=this.units(),s=i;else if(l(i))a=i;else if(Se(i))return this.toPrec(i).toString(s);var c=this.to(a),u=s!==void 0?y(c.scalar,s):c.scalar;return c=(u+" "+c.units()).trim(),c},format:function(i,s){arguments.length===1&&typeof i=="function"&&(s=i,i=void 0),s=s||h.formatter;var a=this.to(i);return s.call(this,a.scalar,a.units())}});var xt=new je;function Et(i){var s=xt.get(i);if(s)return s;var a=n(i,T);return a?s="1":s=Ir(Er(i)).join("*"),xt.set(i,s),s}function Er(i){for(var s=[],a,c,u=0;u<i.length;u++)a=i[u],c=i[u+1],U[a]?(s.push(ve[a]+ve[c]),u++):s.push(ve[a]);return s}function Ir(i){var s=i.reduce(function(a,c){var u=a[c];return u||a.push(u=a[c]=[c,0]),u[1]++,a},[]);return s.map(function(a){return a[0]+(a[1]>1?a[1]:"")})}return h.version="1.8.0",h})});var Nr={url:"",deserializer:l=>JSON.parse(l.data),serializer:l=>JSON.stringify(l)},Fr="WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }",Le=class l extends Pt{constructor(b,e){if(super(),this._socket=null,b instanceof Ye)this.destination=e,this.source=b;else{let t=this._config=Object.assign({},Nr);if(this._output=new w,typeof b=="string")t.url=b;else for(let r in b)b.hasOwnProperty(r)&&(t[r]=b[r]);if(!t.WebSocketCtor&&WebSocket)t.WebSocketCtor=WebSocket;else if(!t.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new ie}}lift(b){let e=new l(this._config,this.destination);return e.operator=b,e.source=this,e}_resetState(){this._socket=null,this.source||(this.destination=new ie),this._output=new w}multiplex(b,e,t){let r=this;return new Ye(n=>{try{r.next(b())}catch(p){n.error(p)}let o=r.subscribe({next:p=>{try{t(p)&&n.next(p)}catch(f){n.error(f)}},error:p=>n.error(p),complete:()=>n.complete()});return()=>{try{r.next(e())}catch(p){n.error(p)}o.unsubscribe()}})}_connectSocket(){let{WebSocketCtor:b,protocol:e,url:t,binaryType:r}=this._config,n=this._output,o=null;try{o=e?new b(t,e):new b(t),this._socket=o,r&&(this._socket.binaryType=r)}catch(f){n.error(f);return}let p=new At(()=>{this._socket=null,o&&o.readyState===1&&o.close()});o.onopen=f=>{let{_socket:y}=this;if(!y){o.close(),this._resetState();return}let{openObserver:R}=this._config;R&&R.next(f);let m=this.destination;this.destination=Rt.create(S=>{if(o.readyState===1)try{let{serializer:k}=this._config;o.send(k(S))}catch(k){this.destination.error(k)}},S=>{let{closingObserver:k}=this._config;k&&k.next(void 0),S&&S.code?o.close(S.code,S.reason):n.error(new TypeError(Fr)),this._resetState()},()=>{let{closingObserver:S}=this._config;S&&S.next(void 0),o.close(),this._resetState()}),m&&m instanceof ie&&p.add(m.subscribe(this.destination))},o.onerror=f=>{this._resetState(),n.error(f)},o.onclose=f=>{o===this._socket&&this._resetState();let{closeObserver:y}=this._config;y&&y.next(f),f.wasClean?n.complete():n.error(f)},o.onmessage=f=>{try{let{deserializer:y}=this._config;n.next(y(f))}catch(y){n.error(y)}}}_subscribe(b){let{source:e}=this;return e?e.subscribe(b):(this._socket||this._connectSocket(),this._output.subscribe(b),b.add(()=>{let{_socket:t}=this;this._output.observers.length===0&&(t&&(t.readyState===1||t.readyState===0)&&t.close(),this._resetState())}),b)}unsubscribe(){let{_socket:b}=this;b&&(b.readyState===1||b.readyState===0)&&b.close(),this._resetState(),super.unsubscribe()}};function dt(l){return new Le(l)}var Li=(()=>{class l{_destroyRef=g(Me);_skRequests$=new w;_skNotificationsMsg$=new w;_skValue$=new w;_skMetadata$=new w;_vesselSelfUrn$=new w;_selfUrn=void 0;streamEndpoint={operation:0,message:"Not connected",hasToken:!1};streamEndpoint$=new L(this.streamEndpoint);endpointWS=null;SubscriptionType="self";WS_CONNECTION_SUBSCRIBE="?subscribe=";WS_CONNECTION_META="&sendMeta=all";socketWS$;socketWSCloseEvent$=new w;socketWSOpenEvent$=new w;authToken=null;server=g(si);auth=g(ni);connectionStateMachine=g(ri);zones=g(De);FLATTEN_CONFIG={maxDepth:3,maxObjectSize:20,enableFlattening:!0};DO_NOT_FLATTEN_PATHS=["displays."];constructor(){this.connectionStateMachine.setWebSocketRetryCallback(()=>{console.log("[Delta Service] Executing WebSocket retry via callback"),this.retryWebSocketConnection()}),this.server.serverServiceEndpoint$.pipe(x(this._destroyRef)).subscribe(e=>{e.operation===2&&(this.endpointWS=e.WsServiceUrl,e.subscribeAll?this.SubscriptionType="all":this.SubscriptionType="self")}),this.connectionStateMachine.state$.pipe(x(this._destroyRef)).subscribe(e=>{switch(e){case Q.WebSocketConnecting:this.handleWebSocketConnecting();break;case Q.Connected:break;case Q.Disconnected:case Q.WebSocketError:case Q.PermanentFailure:this.handleDisconnection();break}}),this.auth.authToken$.pipe(x(this._destroyRef)).subscribe(e=>{this.authToken!=e&&(this.authToken=e,this.socketWS$&&this.connectionStateMachine.isFullyConnected()&&(this.closeWS("Token changed"),this.connectionStateMachine.startWebSocketConnection()))}),this.socketWSOpenEvent$.pipe(x(this._destroyRef)).subscribe(()=>{this.streamEndpoint.message="Connected",this.streamEndpoint.operation=2,this.authToken?console.log("[Delta Service] WebSocket connected with Authorization Token"):console.log("[Delta Service] WebSocket connected without Authorization Token"),this.streamEndpoint$.next(this.streamEndpoint),this.connectionStateMachine.onWebSocketConnected()}),this.socketWSCloseEvent$.pipe(x(this._destroyRef)).subscribe(e=>{e.wasClean?(console.log("[Delta Service] WebSocket closed cleanly"),this.streamEndpoint.message="WebSocket closed",this.streamEndpoint.operation=0):(console.log("[Delta Service] WebSocket terminated due to socket error"),this.streamEndpoint.message="WebSocket error",this.streamEndpoint.operation=3,this.connectionStateMachine.onWebSocketError("WebSocket connection lost")),this.streamEndpoint$.next(this.streamEndpoint)}),Ut(document,"visibilitychange").pipe(x(this._destroyRef)).subscribe(()=>{document.visibilityState==="visible"?(console.log("[Delta Service] App resumed, checking WebSocket connection..."),this.checkAndReconnect("App resumed")):document.visibilityState==="hidden"&&console.log("[Delta Service] App suspended")})}connectWS(e){this.streamEndpoint.message="Connecting",this.streamEndpoint.operation=1,console.log(`[Delta Service] ${e}: WebSocket opening...`),this.streamEndpoint$.next(this.streamEndpoint),this.socketWS$=this.getNewWebSocket(),this.zones.runOutsideAngular(()=>{this.socketWS$.pipe(x(this._destroyRef)).subscribe({next:t=>this.processWebsocketMessage(t),error:t=>{console.error("[Delta Service] WebSocket error:",t)}})})}retryWebSocketConnection(){if(console.log("[Delta Service] Retrying WebSocket connection"),!this.endpointWS){console.warn("[Delta Service] No WebSocket endpoint available for retry"),this.connectionStateMachine.onWebSocketError("No WebSocket endpoint available");return}this.socketWS$&&this.closeWS("Retrying connection"),this.connectWS("WebSocket retry attempt")}handleWebSocketConnecting(){if(!this.endpointWS){console.warn("[Delta Service] No WebSocket endpoint available"),this.connectionStateMachine.onWebSocketError("No WebSocket endpoint available");return}this.socketWS$&&this.closeWS("Starting new connection"),this.connectWS("ConnectionStateMachine request")}handleDisconnection(){this.socketWS$&&this.closeWS("ConnectionStateMachine disconnection"),this.streamEndpoint.message="Not connected",this.streamEndpoint.operation=0,this.streamEndpoint$.next(this.streamEndpoint)}getNewWebSocket(){let e=this.WS_CONNECTION_SUBSCRIBE+this.SubscriptionType+this.WS_CONNECTION_META;return this.authToken!=null?(e+="&token="+this.authToken.token,this.streamEndpoint.hasToken=!0):this.streamEndpoint.hasToken=!1,dt({url:this.endpointWS+e,closeObserver:this.socketWSCloseEvent$,openObserver:this.socketWSOpenEvent$})}closeWS(e){this.socketWS$&&(this.streamEndpoint.operation=4,console.log("[Delta Service] "+e+": WebSocket closing..."),this.socketWS$.complete())}publishDelta(e){this.socketWS$?(console.log("[Delta Service] WebSocket sending message"),this.socketWS$.next(e)):console.log("[Delta Service] No WebSocket present to send message - dropping message")}processWebsocketMessage(e){if(e.updates){this.parseUpdates(e.updates,e.context);return}if(e.requestId){this._skRequests$.next(e);return}if(e.errorMessage){console.warn("[Delta Service] Service received stream error message: "+e.errorMessage);return}if(e.self){this._selfUrn=e.self,this._vesselSelfUrn$.next(e.self),this.server.setServerInfo(e.name,e.version,e.roles);return}console.warn("[Delta Service] Unknown message type. Message content:"+e)}parseUpdates(e,t){e.forEach(r=>{r.meta!==void 0&&r.meta.forEach(n=>this.parseSkMeta(n,t)),r.values!==void 0&&r.values.forEach(n=>{if(n.path.startsWith("notifications."))this._skNotificationsMsg$.next(n);else if(typeof n.value=="object"&&n.value!==null)if(this.DO_NOT_FLATTEN_PATHS.some(o=>n.path.includes(o))){let o={context:t,path:n.path,source:r.$source,timestamp:r.timestamp,value:n.value};this._skValue$.next(o)}else this.FLATTEN_CONFIG.enableFlattening&&this.canFlattenCompletely(n.value,this.FLATTEN_CONFIG.maxDepth,this.FLATTEN_CONFIG.maxObjectSize)?this.flattenObjectValue(n.value,n.path).forEach(p=>{let f={context:t,path:p.path,source:r.$source,timestamp:r.timestamp,value:p.value};this._skValue$.next(f)}):Object.keys(n.value).forEach(o=>{let p={context:t,path:`${n.path}.${o}`,source:r.$source,timestamp:r.timestamp,value:n.value[o]};this._skValue$.next(p)});else{let o={context:t,path:n.path,source:r.$source,timestamp:r.timestamp,value:n.value};this._skValue$.next(o)}})})}canFlattenCompletely(e,t,r,n=0){if(n>=t)return!1;if(typeof e!="object"||e===null)return!0;let o=Object.keys(e);if(o.length>r)return!1;for(let p of o)if(!this.canFlattenCompletely(e[p],t,r,n+1))return!1;return!0}flattenObjectValue(e,t,r=0){let n=[];if(typeof e!="object"||e===null||r>=this.FLATTEN_CONFIG.maxDepth)return[{path:t,value:e}];let o=Object.keys(e);for(let p of o){let f=t?`${t}.${p}`:p,y=this.flattenObjectValue(e[p],f,r+1);n.push(...y)}return n}parseSkMeta(e,t){e.value.properties!==void 0?Object.keys(e.value.properties).forEach(r=>{this._skMetadata$.next({context:t,path:`${e.path}.${r}`,meta:e.value.properties[r]})}):this._skMetadata$.next({context:t,path:e.path,meta:e.value})}getDataStreamStatusAsO(){return this.streamEndpoint$.asObservable()}subscribeRequestUpdates(){return this._skRequests$.asObservable()}subscribeNotificationsUpdates(){return this._skNotificationsMsg$.asObservable()}subscribeDataPathsUpdates(){return this._skValue$.asObservable()}subscribeMetadataUpdates(){return this._skMetadata$.asObservable()}subscribeSelfUpdates(){return this._vesselSelfUrn$.asObservable()}checkAndReconnect(e){this.connectionStateMachine.isFullyConnected()?console.log(`[Delta Service] ${e}: Connection is active.`):this.connectionStateMachine.isHTTPConnected()&&this.connectionStateMachine.currentState!==Q.WebSocketRetrying?(console.log(`[Delta Service] ${e}: WebSocket disconnected, requesting reconnection...`),this.connectionStateMachine.startWebSocketConnection()):console.log(`[Delta Service] ${e}: HTTP not connected, cannot start WebSocket`)}ngOnDestroy(){this.closeWS("App terminated"),this._skRequests$.complete(),this._skNotificationsMsg$.complete(),this._skValue$.complete(),this._skMetadata$.complete(),this._vesselSelfUrn$.complete(),this.streamEndpoint$.complete(),this.socketWSOpenEvent$.complete(),this.socketWSCloseEvent$.complete(),this.socketWS$?.complete()}static \u0275fac=function(t){return new(t||l)};static \u0275prov=re({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var le=(function(l){return l.Normal="normal",l.Nominal="nominal",l.Alert="alert",l.Warn="warn",l.Alarm="alarm",l.Emergency="emergency",l})(le||{});var Wr=(function(l){return l.Visual="visual",l.Sound="sound",l})(Wr||{});var Ur="self",$i=l=>isFinite(+(l instanceof Date?l:new Date(l)))?!!new RegExp("^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(.[0-9]+)?(([Zz])|([+|-]([01][0-9]|2[0-3]):[0-5][0-9]))$").test(l):!1,qi=l=>{if(l)return l==="RFC 3339 (UTC)"?"Date":"number"},Vi=(()=>{class l{delta=g(Li);_destroyRef=g(Me);_deltaUpdatesCounter=0;_deltaUpdatesSubject=new ie(10);_isSkDataFullTreeActive=!1;_skDataSubject$=new L([]);_dataServiceMeta=[];_isSkMetaFullTreeActive=!1;_dataServiceMetaSubject$=new L([]);_skNotificationMsg$=new w;_skNotificationMeta$=new w;_isReset=new w;_selfUrn="self";_skData=[];_pathRegister=[];constructor(){Lt(1e3).pipe(x(this._destroyRef)).subscribe(()=>{let e={timestamp:Date.now(),value:this._deltaUpdatesCounter};this._deltaUpdatesSubject.next(e),this._deltaUpdatesCounter=0}),this.delta.subscribeDataPathsUpdates().pipe(x(this._destroyRef)).subscribe(e=>{this.updatePathData(e)}),this.delta.subscribeMetadataUpdates().pipe(x(this._destroyRef)).subscribe(e=>{this.setMeta(e)}),this.delta.subscribeNotificationsUpdates().pipe(x(this._destroyRef)).subscribe(e=>{let t=e.path.replace("notifications.","self."),r=this._skData.find(n=>n.path==t);if(r&&r.state!==e.value.state){r.state=e.value.state;let n=this._pathRegister.find(o=>o.path==t);n&&n._pathState$.next(r.state)}this._skNotificationMsg$.next(e)}),this.delta.subscribeSelfUpdates().pipe(x(this._destroyRef)).subscribe(e=>{this.setSelfUrn(e)})}getSignalkDeltaUpdateStatistics(){return this._deltaUpdatesSubject.asObservable()}resetSignalKData(){this._skData=[],this._selfUrn="self",this._isReset.next(!0)}unsubscribePath(e){let t=this._pathRegister.findIndex(r=>r.path===e);if(t!==-1){let r=this._pathRegister[t];r.combinedSub?.unsubscribe(),r._pathData$?.complete(),r._pathState$?.complete(),r.pathDataUpdate$?.complete(),r.pathMeta$?.complete(),this._pathRegister.splice(t,1)}}subscribePath(e,t){let r=this._pathRegister.find(W=>W.path===e&&W.source===t);if(r)return r.pathDataUpdate$;let n=null,o=null,p=null,f=le.Normal,y={data:{value:null,timestamp:null},state:f},R=null,m=this._skData.find(W=>W.path==e);this._skData.length&&m&&(n=t==="default"?m.pathValue:m.sources?.[t]?.sourceValue??null,o=t==="default"?m.pathTimestamp:m.sources?.[t]?.sourceTimestamp??null,p=o?new Date(o):null,y={data:{value:n,timestamp:p},state:m.state||f},f=m.state||f,R=m.meta||null);let S={path:e,source:t,_pathData$:new L(y.data),_pathState$:new L(y.state),pathDataUpdate$:new L(y),pathMeta$:new L(R?ge(R):null)},k=Ft([S._pathData$,S._pathState$]).pipe(ue(([W,Z])=>({data:W,state:Z})));return S.combinedSub=k.subscribe(W=>S.pathDataUpdate$.next(W)),this._pathRegister.push(S),S.pathDataUpdate$}updatePathData(e){this._deltaUpdatesCounter++;let t=this.setPathContext(e.context,e.path),r=this._skData.find(o=>o.path==t);if(r)r.defaultSource===void 0&&(r.defaultSource=e.source),r.type===void 0&&e.value!==null&&(r.type=typeof e.value,r.type==="string"&&$i(e.value)&&(r.type="Date")),r.pathValue=e.value,r.pathTimestamp=e.timestamp,r.sources[e.source]={sourceTimestamp:e.timestamp,sourceValue:e.value};else{let o=typeof e.value;o==="string"&&$i(e.value)&&(o="Date"),r={path:t,pathValue:e.value,pathTimestamp:e.timestamp,defaultSource:e.source,type:o,state:le.Normal,sources:{[e.source]:{sourceTimestamp:e.timestamp,sourceValue:e.value}}},this._skData.push(r)}let n=this._pathRegister.filter(o=>o.path===t);if(n.length){let o={value:r.pathValue,timestamp:new Date(r.pathTimestamp)},p=n.find(y=>y.source==="default");p&&p._pathData$.next(o);let f=n.find(y=>y.source===e.source);f&&f._pathData$.next(o)}this._isSkDataFullTreeActive&&this._skDataSubject$.next(this._skData)}setMeta(e){if(e.path.startsWith("notifications."))this._skNotificationMeta$.next(e);else{let t=this.setPathContext(e.context,e.path),r=this._skData.find(o=>o.path===t);r?(r.type==="object"&&e.meta.units&&(r.type=qi(e.meta.units)),r.meta=ii({},r.meta,e.meta)):(r={path:t,pathValue:void 0,pathTimestamp:void 0,type:qi(e.meta.units),state:le.Normal,defaultSource:void 0,sources:{},meta:e.meta?ge(e.meta):null},this._skData.push(r));let n=this._pathRegister.find(o=>o.path===t);n&&n.pathMeta$.next(r.meta?ge(r.meta):null),this._isSkMetaFullTreeActive&&(this._dataServiceMeta.push({path:t,meta:r.meta}),this._dataServiceMetaSubject$.next(this._dataServiceMeta))}}startSkMetaFullTree(){return this._isSkMetaFullTreeActive=!0,this._dataServiceMeta=this._skData.filter(e=>e.meta!==void 0&&e.path.startsWith("self.")).map(e=>({path:e.path,meta:e.meta})),this._dataServiceMetaSubject$.next(this._dataServiceMeta),this._dataServiceMetaSubject$}stopSkMetaFullTree(){this._isSkMetaFullTreeActive=!1,this._dataServiceMetaSubject$.next(null),this._dataServiceMeta=null}startSkDataFullTree(){return this._isSkDataFullTreeActive=!0,this._skDataSubject$.next(this._skData),this._skDataSubject$}stopSkDataFullTree(){this._isSkDataFullTreeActive=!1}setSelfUrn(e){e!==""&&e!==null?(console.debug("[Signal K Data Service] Setting self to: "+e),this._selfUrn=e):console.error("[Signal K Data Service] Invalid self URN: "+e)}setPathContext(e,t){return e!==this._selfUrn?`${e}.${t}`:`${Ur}.${t}`}getPathsByType(e,t){return this._skData.filter(r=>r.type===e&&(!t||r.path.startsWith("self"))).map(r=>r.path)}getPathsAndMetaByType(e,t=!1,r=!1,n=!0){return this._skData.filter(o=>{let f=["string","number","boolean","object","undefined","function","symbol","bigint","Date"].includes(e)?o.type===e:o.meta?.type===e,y=!n||o.path.startsWith("self"),R=t===!0?o.meta?.supportsPut===!0:!0,m=r===!0?Array.isArray(o.meta?.zones)&&o.meta.zones.length>0:!0;return f&&y&&R&&m}).map(o=>({path:o.path,meta:o.meta}))}getPathObject(e){return ge(this._skData.find(t=>t.path===e))||null}getPathUnitType(e){return this._skData.find(t=>t.path===e)?.meta?.units||null}timeoutPathObservable(e,t){let r=this._pathRegister.find(n=>n.path==e);if(r){let n;["string","Date","number","multiple"].includes(t)&&(n={data:{value:null,timestamp:null},state:le.Normal}),r.pathDataUpdate$.next(n)}}getNotificationMsgObservable(){return this._skNotificationMsg$.asObservable()}getNotificationMetaObservable(){return this._skNotificationMeta$.asObservable()}getPathMetaObservable(e){return this._pathRegister.find(r=>r.path==e)?.pathMeta$.asObservable()||Nt(null)}getPathMeta(e){return this._skData.find(t=>t.path===e)?.meta||null}isResetService(){return this._isReset.asObservable()}ngOnDestroy(){this._deltaUpdatesSubject?.complete(),this._skNotificationMsg$?.complete(),this._skNotificationMeta$?.complete(),this._isReset?.complete(),this._skDataSubject$?.complete(),this._dataServiceMetaSubject$?.complete()}static \u0275fac=function(t){return new(t||l)};static \u0275prov=re({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var _=Pr(zi());var Us=(()=>{class l{AppSettingsService=g(ai);data=g(Vi);_defaultUnitsSub;_conversionList=[{group:"Unitless",units:[{measure:"unitless",description:"As-Is numeric value"},{measure:" ",description:"No unit label - As-Is numeric value"}]},{group:"Speed",units:[{measure:"knots",description:"Knots - Nautical miles per hour"},{measure:"kph",description:"kph - Kilometers per hour"},{measure:"mph",description:"mph - Miles per hour"},{measure:"m/s",description:"m/s - Meters per second (base)"}]},{group:"Flow",units:[{measure:"m3/s",description:"Cubic meters per second (base)"},{measure:"l/min",description:"Liters per minute"},{measure:"l/h",description:"Liters per hour"},{measure:"g/min",description:"Gallons per minute"},{measure:"g/h",description:"Gallons per hour"}]},{group:"Fuel Distance",units:[{measure:"m/m3",description:"Meters per cubic meter (base)"},{measure:"nm/l",description:"Nautical Miles per liter"},{measure:"nm/g",description:"Nautical Miles per gallon"},{measure:"km/l",description:"Kilometers per liter"},{measure:"mpg",description:"Miles per Gallon"}]},{group:"Energy Distance",units:[{measure:"m/J",description:"Meters per Joule (base)"},{measure:"nm/J",description:"Nautical Miles per Joule"},{measure:"km/J",description:"Kilometers per Joule"},{measure:"nm/kWh",description:"Nautical Miles per Kilowatt-hour"},{measure:"km/kWh",description:"Kilometers per Kilowatt-hour"}]},{group:"Temperature",units:[{measure:"K",description:"Kelvin (base)"},{measure:"celsius",description:"Celsius"},{measure:"fahrenheit",description:"Fahrenheit"}]},{group:"Length",units:[{measure:"m",description:"Meters (base)"},{measure:"mm",description:"Millimeters"},{measure:"fathom",description:"Fathoms"},{measure:"nm",description:"Nautical Miles"},{measure:"km",description:"Kilometers"},{measure:"mi",description:"Miles"},{measure:"feet",description:"Feet"},{measure:"inch",description:"Inches"}]},{group:"Volume",units:[{measure:"liter",description:"Liters (base)"},{measure:"m3",description:"Cubic Meters"},{measure:"gallon",description:"Gallons"}]},{group:"Current",units:[{measure:"A",description:"Amperes (base)"},{measure:"mA",description:"Milliamperes"}]},{group:"Potential",units:[{measure:"V",description:"Volts (base)"},{measure:"mV",description:"Millivolts"}]},{group:"Charge",units:[{measure:"C",description:"Coulomb (base)"},{measure:"Ah",description:"Ampere*Hours"}]},{group:"Power",units:[{measure:"W",description:"Watts (base)"},{measure:"mW",description:"Milliwatts"}]},{group:"Energy",units:[{measure:"J",description:"Joules (base)"},{measure:"kWh",description:"Kilowatt*Hours"}]},{group:"Resistance",units:[{measure:"ohm",description:"\u2126 (base)"},{measure:"kiloohm",description:"k\u2126"}]},{group:"Pressure",units:[{measure:"Pa",description:"Pa (base)"},{measure:"kPa",description:"kPa"},{measure:"hPa",description:"hPa"},{measure:"mbar",description:"mbar"},{measure:"bar",description:"Bars"},{measure:"psi",description:"psi"},{measure:"mmHg",description:"mmHg"},{measure:"inHg",description:"inHg"}]},{group:"Density",units:[{measure:"kg/m3",description:"Air density - kg/cubic meter (base)"}]},{group:"Time",units:[{measure:"s",description:"Seconds (base)"},{measure:"Minutes",description:"Minutes"},{measure:"Hours",description:"Hours"},{measure:"Days",description:"Days"},{measure:"D HH:MM:SS",description:"Day Hour:Minute:sec"}]},{group:"Angular Velocity",units:[{measure:"rad/s",description:"Radians per second (base)"},{measure:"deg/s",description:"Degrees per second"},{measure:"deg/min",description:"Degrees per minute"}]},{group:"Angle",units:[{measure:"rad",description:"Radians (base)"},{measure:"deg",description:"Degrees"},{measure:"grad",description:"Gradians"}]},{group:"Frequency",units:[{measure:"rpm",description:"RPM - Rotations per minute"},{measure:"Hz",description:"Hz - Hertz (base)"},{measure:"KHz",description:"KHz - Kilohertz"},{measure:"MHz",description:"MHz - Megahertz"},{measure:"GHz",description:"GHz - Gigahertz"}]},{group:"Ratio",units:[{measure:"percent",description:"As percentage value"},{measure:"percentraw",description:"As ratio 0-1 with % sign"},{measure:"ratio",description:"Ratio 0-1 (base)"}]},{group:"Position",units:[{measure:"pdeg",description:"Position Degrees"},{measure:"latitudeMin",description:"Latitude in minutes"},{measure:"latitudeSec",description:"Latitude in seconds"},{measure:"longitudeMin",description:"Longitude in minutes"},{measure:"longitudeSec",description:"Longitude in seconds"}]}];skBaseUnits=[{unit:"s",properties:{display:"s",quantity:"Time",quantityDisplay:"t",description:"Elapsed time (interval) in seconds"}},{unit:"Hz",properties:{display:"Hz",quantity:"Frequency",quantityDisplay:"f",description:"Frequency in Hertz"}},{unit:"m3",properties:{display:"m\xB3",quantity:"Volume",quantityDisplay:"V",description:"Volume in cubic meters"}},{unit:"m3/s",properties:{display:"m\xB3/s",quantity:"Flow",quantityDisplay:"Q",description:"Liquid or gas flow in cubic meters per second"}},{unit:"kg/s",properties:{display:"kg/s",quantity:"Mass flow rate",quantityDisplay:"\u1E41",description:"Liquid or gas flow in kilograms per second"}},{unit:"kg/m3",properties:{display:"kg/m\xB3",quantity:"Density",quantityDisplay:"\u03C1",description:"Density in kg per cubic meter"}},{unit:"deg",properties:{display:"Position",quantity:"Angle",quantityDisplay:"\u2220",description:"Latitude or longitude in decimal degrees"}},{unit:"rad",properties:{display:"\xB0",quantity:"Angle",quantityDisplay:"\u2220",description:"Angular arc in radians"}},{unit:"rad/s",properties:{display:"\u33AD/s",quantity:"Rotation",quantityDisplay:"\u03C9",description:"Angular rate in radians per second"}},{unit:"A",properties:{display:"A",quantity:"Current",quantityDisplay:"I",description:"Electrical current in ampere"}},{unit:"C",properties:{display:"C",quantity:"Charge",quantityDisplay:"Q",description:"Electrical charge in Coulomb"}},{unit:"V",properties:{display:"V",quantity:"Voltage",quantityDisplay:"V",description:"Electrical potential in volt"}},{unit:"W",properties:{display:"W",quantity:"Power",quantityDisplay:"P",description:"Power in watt"}},{unit:"Nm",properties:{display:"Nm",quantity:"Torque",quantityDisplay:"\u03C4",description:"Torque in Newton meter"}},{unit:"J",properties:{display:"J",quantity:"Energy",quantityDisplay:"E",description:"Electrical energy in joule"}},{unit:"ohm",properties:{display:"\u2126",quantity:"Resistance",quantityDisplay:"R",description:"Electrical resistance in ohm"}},{unit:"m",properties:{display:"m",quantity:"Distance",quantityDisplay:"d",description:"Distance in meters"}},{unit:"m/s",properties:{display:"m/s",quantity:"Speed",quantityDisplay:"v",description:"Speed in meters per second"}},{unit:"m2",properties:{display:"\u33A1",quantity:"Area",quantityDisplay:"A",description:"(Surface) area in square meters"}},{unit:"K",properties:{display:"K",quantity:"Temperature",quantityDisplay:"T",description:"Temperature in kelvin"}},{unit:"Pa",properties:{display:"Pa",quantity:"Pressure",quantityDisplay:"P",description:"Pressure in pascal"}},{unit:"kg",properties:{display:"kg",quantity:"Mass",quantityDisplay:"m",description:"Mass in kilogram"}},{unit:"ratio",properties:{display:"",quantity:"Ratio",quantityDisplay:"\u03C6",description:"Relative value compared to reference or normal value. 0 = 0%, 1 = 100%, 1e-3 = 1 ppt"}},{unit:"m/s2",properties:{display:"m/s\xB2",quantity:"Acceleration",quantityDisplay:"a",description:"Acceleration in meters per second squared"}},{unit:"rad/s2",properties:{display:"rad/s\xB2",quantity:"Angular acceleration",quantityDisplay:"a",description:"Angular acceleration in radians per second squared"}},{unit:"N",properties:{display:"N",quantity:"Force",quantityDisplay:"F",description:"Force in newton"}},{unit:"T",properties:{display:"T",quantity:"Magnetic field",quantityDisplay:"B",description:"Magnetic field strength in tesla"}},{unit:"Lux",properties:{display:"lx",quantity:"Light Intensity",quantityDisplay:"Ev",description:"Light Intensity in lux"}},{unit:"Pa/s",properties:{display:"Pa/s",quantity:"Pressure rate",quantityDisplay:"R",description:"Pressure change rate in pascal per second"}},{unit:"Pa.s",properties:{display:"Pa s",quantity:"Viscosity",quantityDisplay:"\u03BC",description:"Viscosity in pascal seconds"}}];_defaultUnits=null;constructor(){this._defaultUnitsSub=this.AppSettingsService.getDefaultUnitsAsO().subscribe(e=>{this._defaultUnits=e})}unitConversionFunctions={unitless:function(e){return e}," ":function(e){return e},knots:_.default.swiftConverter("m/s","kn"),kph:_.default.swiftConverter("m/s","kph"),"m/s":function(e){return e},mph:_.default.swiftConverter("m/s","mph"),liter:_.default.swiftConverter("m^3","liter"),gallon:_.default.swiftConverter("m^3","gallon"),m3:function(e){return e},"m3/s":function(e){return e},"l/min":_.default.swiftConverter("m^3/s","liter/minute"),"l/h":_.default.swiftConverter("m^3/s","liter/hour"),"g/min":_.default.swiftConverter("m^3/s","gallon/minute"),"g/h":_.default.swiftConverter("m^3/s","gallon/hour"),"m/m3":function(e){return e},"nm/l":_.default.swiftConverter("m/m^3","naut-mile/liter"),"nm/g":_.default.swiftConverter("m/m^3","naut-mile/gallon"),"km/l":_.default.swiftConverter("m/m^3","km/liter"),mpg:_.default.swiftConverter("m/m^3","mile/gallon"),"m/J":function(e){return e},"nm/J":_.default.swiftConverter("m/J","naut-mile/J"),"km/J":_.default.swiftConverter("km/J","km/J"),"nm/kWh":_.default.swiftConverter("m/J","naut-mile/kWh"),"km/kWh":_.default.swiftConverter("m/J","km/kWh"),K:function(e){return e},celsius:_.default.swiftConverter("tempK","tempC"),fahrenheit:_.default.swiftConverter("tempK","tempF"),m:function(e){return e},mm:function(e){return e*1e3},fathom:_.default.swiftConverter("m","fathom"),feet:_.default.swiftConverter("m","foot"),inch:_.default.swiftConverter("m","in"),km:_.default.swiftConverter("m","km"),nm:_.default.swiftConverter("m","nmi"),mi:_.default.swiftConverter("m","mi"),V:function(e){return e},mV:function(e){return e*1e3},A:function(e){return e},mA:function(e){return e*1e3},C:function(e){return e},Ah:_.default.swiftConverter("C","Ah"),W:function(e){return e},mW:function(e){return e*1e3},J:function(e){return e},kWh:_.default.swiftConverter("J","kWh"),ohm:function(e){return e},kiloohm:function(e){return e/1e3},Pa:function(e){return e},bar:_.default.swiftConverter("Pa","bar"),psi:_.default.swiftConverter("Pa","psi"),mmHg:_.default.swiftConverter("Pa","mmHg"),inHg:_.default.swiftConverter("Pa","inHg"),hPa:_.default.swiftConverter("Pa","hPa"),kPa:_.default.swiftConverter("Pa","kPa"),mbar:_.default.swiftConverter("Pa","millibar"),"kg/m3":function(e){return e},s:function(e){return e},Minutes:_.default.swiftConverter("s","minutes"),Hours:_.default.swiftConverter("s","hours"),Days:_.default.swiftConverter("s","days"),"D HH:MM:SS":function(e){e=parseInt(e,10);let t=e<0;e=Math.abs(e);let r=Math.floor(e/86400),n=Math.floor(e%86400/3600),o=Math.floor(e%3600/60),p=Math.floor(e%60),f=t?"-":"";return r>0?f+=r+"d "+n.toString()+":"+o.toString().padStart(2,"0")+":"+p.toString().padStart(2,"0"):f+=n.toString()+":"+o.toString().padStart(2,"0")+":"+p.toString().padStart(2,"0"),f},"rad/s":function(e){return e},"deg/s":_.default.swiftConverter("rad/s","deg/s"),"deg/min":_.default.swiftConverter("rad/s","deg/min"),rpm:function(e){return e*60},Hz:function(e){return e},KHz:function(e){return e/1e3},MHz:function(e){return e/1e6},GHz:function(e){return e/1e9},rad:function(e){return e},deg:_.default.swiftConverter("rad","deg"),grad:_.default.swiftConverter("rad","grad"),percent:function(e){return e*100},percentraw:function(e){return e},ratio:function(e){return e},pdeg:function(e){return e},latitudeMin:function(e){let t=Math.trunc(e),r="N";e<0&&(r="S",t=t*-1);let n=e%1*60;return r=="S"&&(n=n*-1),t+"\xB0 "+n.toFixed(2).padStart(5,"0")+"' "+r},latitudeSec:function(e){let t=Math.trunc(e),r="N";e<0&&(r="S",t=t*-1);let n=e%1*60;r=="S"&&(n=n*-1);let o=Math.trunc(n),p=n%1*60;return t+"\xB0 "+o+"' "+p.toFixed(2).padStart(5,"0")+'" '+r},longitudeMin:function(e){let t=Math.trunc(e),r="E";e<0&&(r="W",t=t*-1);let n=e%1*60;return r=="W"&&(n=n*-1),t+"\xB0 "+n.toFixed(2).padStart(5,"0")+"' "+r},longitudeSec:function(e){let t=Math.trunc(e),r="E";e<0&&(r="W",t=t*-1);let n=e%1*60;r=="W"&&(n=n*-1);let o=Math.trunc(n),p=n%1*60;return t+"\xB0 "+o+"' "+p.toFixed(2).padStart(5,"0")+'" '+r}};convertToUnit(e,t){if(!(e in this.unitConversionFunctions)||t===null)return null;let r=+t;return this.unitConversionFunctions[e](r)}getDefaults(){return this._defaultUnits}getConversions(){return this._conversionList}getConversionsForPath(e){let t=this.data.getPathUnitType(e),r="unitless",n="unitless";if(t===null||t==="RFC 3339 (UTC)")return{base:r,conversions:this._conversionList};{let o=this._conversionList.filter(p=>p.group=="Position"&&(e.includes("position.latitude")||e.includes("position.longitude"))?!0:p.units.find(y=>y.measure==t)?(n=this._defaultUnits[p.group],!0):!1);return o.length>0?{base:n,conversions:o}:(console.log("[Units Service] Unit type: "+t+", found for path: "+e+`
2
+ but Kip does not support it.`),{base:r,conversions:this._conversionList})}}ngOnDestroy(){this._defaultUnitsSub?.unsubscribe()}static \u0275fac=function(t){return new(t||l)};static \u0275prov=re({token:l,factory:l.\u0275fac})}return l})();var Lr=["tooltip"],Ki=20;var ji=new J("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let l=g(de);return()=>We(l,{scrollThrottle:Ki})}}),Gi=new J("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var Hi="tooltip-panel",Bi=ci({passive:!0}),$r=8,qr=8,Vr=24,zr=200,Hr=(()=>{class l{_elementRef=g(se);_ngZone=g(De);_platform=g(li);_ariaDescriber=g(_i);_focusMonitor=g(ui);_dir=g(Pe);_injector=g(de);_viewContainerRef=g(Kt);_mediaMatcher=g(di);_animationsDisabled=_e();_defaultOptions=g(Gi,{optional:!0});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=!1;_disabled=!1;_tooltipClass;_viewInitialized=!1;_pointerExitEventsInitialized=!1;_tooltipComponent=Yi;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=!1;_dirSubscribed=!1;get position(){return this._position}set position(e){e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(e){this._positionAtOrigin=ot(e),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(e){let t=ot(e);this._disabled!==t&&(this._disabled=t,t?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=nt(e)}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=nt(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}_hideDelay;touchGestures="auto";get message(){return this._message}set message(e){let t=this._message;this._message=e!=null?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(t)}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}_passiveListeners=[];_touchstartTimeout=null;_destroyed=new w;_isDestroyed=!1;constructor(){let e=this._defaultOptions;e&&(this._showDelay=e.showDelay,this._hideDelay=e.hideDelay,e.position&&(this.position=e.position),e.positionAtOrigin&&(this.positionAtOrigin=e.positionAtOrigin),e.touchGestures&&(this.touchGestures=e.touchGestures),e.tooltipClass&&(this.tooltipClass=e.tooltipClass)),this._viewportMargin=$r}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(O(this._destroyed)).subscribe(e=>{e?e==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let e=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([t,r])=>{e.removeEventListener(t,r,Bi)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=!0,this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay,t){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let r=this._createOverlay(t);this._detach(),this._portal=this._portal||new bi(this._tooltipComponent,this._viewContainerRef);let n=this._tooltipInstance=r.attach(this._portal).instance;n._triggerElement=this._elementRef.nativeElement,n._mouseLeaveHideDelay=this._hideDelay,n.afterHidden().pipe(O(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),n.show(e)}hide(e=this.hideDelay){let t=this._tooltipInstance;t&&(t.isVisible()?t.hide(e):(t._cancelPendingAnimations(),this._detach()))}toggle(e){this._isTooltipVisible()?this.hide():this.show(void 0,e)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(e){if(this._overlayRef){let o=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!e)&&o._origin instanceof se)return this._overlayRef;this._detach()}let t=this._injector.get(yi).getAncestorScrollContainers(this._elementRef),r=`${this._cssClassPrefix}-${Hi}`,n=Si(this._injector,this.positionAtOrigin?e||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(t).withPopoverLocation("global");return n.positionChanges.pipe(O(this._destroyed)).subscribe(o=>{this._updateCurrentPositionClass(o.connectionPair),this._tooltipInstance&&o.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=ki(this._injector,{direction:this._dir,positionStrategy:n,panelClass:this._overlayPanelClass?[...this._overlayPanelClass,r]:r,scrollStrategy:this._injector.get(ji)(),disableAnimations:this._animationsDisabled}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(O(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(O(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(O(this._destroyed)).subscribe(o=>{this._isTooltipVisible()&&o.keyCode===27&&!oe(o)&&(o.preventDefault(),o.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._dirSubscribed||(this._dirSubscribed=!0,this._dir.change.pipe(O(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){let t=e.getConfig().positionStrategy,r=this._getOrigin(),n=this._getOverlayPosition();t.withPositions([this._addOffset(ce(ce({},r.main),n.main)),this._addOffset(ce(ce({},r.fallback),n.fallback))])}_addOffset(e){let t=qr,r=!this._dir||this._dir.value=="ltr";return e.originY==="top"?e.offsetY=-t:e.originY==="bottom"?e.offsetY=t:e.originX==="start"?e.offsetX=r?-t:t:e.originX==="end"&&(e.offsetX=r?t:-t),e}_getOrigin(){let e=!this._dir||this._dir.value=="ltr",t=this.position,r;t=="above"||t=="below"?r={originX:"center",originY:t=="above"?"top":"bottom"}:t=="before"||t=="left"&&e||t=="right"&&!e?r={originX:"start",originY:"center"}:(t=="after"||t=="right"&&e||t=="left"&&!e)&&(r={originX:"end",originY:"center"});let{x:n,y:o}=this._invertPosition(r.originX,r.originY);return{main:r,fallback:{originX:n,originY:o}}}_getOverlayPosition(){let e=!this._dir||this._dir.value=="ltr",t=this.position,r;t=="above"?r={overlayX:"center",overlayY:"bottom"}:t=="below"?r={overlayX:"center",overlayY:"top"}:t=="before"||t=="left"&&e||t=="right"&&!e?r={overlayX:"end",overlayY:"center"}:(t=="after"||t=="right"&&e||t=="left"&&!e)&&(r={overlayX:"start",overlayY:"center"});let{x:n,y:o}=this._invertPosition(r.overlayX,r.overlayY);return{main:r,fallback:{overlayX:n,overlayY:o}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),Ze(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()},{injector:this._injector}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,t){return this.position==="above"||this.position==="below"?t==="top"?t="bottom":t==="bottom"&&(t="top"):e==="end"?e="start":e==="start"&&(e="end"),{x:e,y:t}}_updateCurrentPositionClass(e){let{overlayY:t,originX:r,originY:n}=e,o;if(t==="center"?this._dir&&this._dir.value==="rtl"?o=r==="end"?"left":"right":o=r==="start"?"left":"right":o=t==="bottom"&&n==="top"?"above":"below",o!==this._currentPosition){let p=this._overlayRef;if(p){let f=`${this._cssClassPrefix}-${Hi}-`;p.removePanelClass(f+this._currentPosition),p.addPanelClass(f+o)}this._currentPosition=o}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._isTouchPlatform()?this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",e=>{let t=e.targetTouches?.[0],r=t?{x:t.clientX,y:t.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);let n=500;this._touchstartTimeout=setTimeout(()=>{this._touchstartTimeout=null,this.show(void 0,r)},this._defaultOptions?.touchLongPressShowDelay??n)}])):this._passiveListeners.push(["mouseenter",e=>{this._setupPointerExitEventsIfNeeded();let t;e.x!==void 0&&e.y!==void 0&&(t=e),this.show(void 0,t)}]),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;let e=[];if(!this._isTouchPlatform())e.push(["mouseleave",t=>{let r=t.relatedTarget;(!r||!this._overlayRef?.overlayElement.contains(r))&&this.hide()}],["wheel",t=>this._wheelListener(t)]);else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let t=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions?.touchendHideDelay)};e.push(["touchend",t],["touchcancel",t])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([t,r])=>{this._elementRef.nativeElement.addEventListener(t,r,Bi)})}_isTouchPlatform(){return this._platform.IOS||this._platform.ANDROID?!0:this._platform.isBrowser?!!this._defaultOptions?.detectHoverCapability&&this._mediaMatcher.matchMedia("(any-hover: none)").matches:!1}_wheelListener(e){if(this._isTooltipVisible()){let t=this._injector.get(Vt).elementFromPoint(e.clientX,e.clientY),r=this._elementRef.nativeElement;t!==r&&!r.contains(t)&&this.hide()}}_disableNativeGesturesIfNecessary(){let e=this.touchGestures;if(e!=="off"){let t=this._elementRef.nativeElement,r=t.style;(e==="on"||t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA")&&(r.userSelect=r.msUserSelect=r.webkitUserSelect=r.MozUserSelect="none"),(e==="on"||!t.draggable)&&(r.webkitUserDrag="none"),r.touchAction="none",r.webkitTapHighlightColor="transparent"}}_syncAriaDescription(e){this._ariaDescriptionPending||(this._ariaDescriptionPending=!0,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,e,"tooltip"),this._isDestroyed||Ze({write:()=>{this._ariaDescriptionPending=!1,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")}},{injector:this._injector}))}static \u0275fac=function(t){return new(t||l)};static \u0275dir=et({type:l,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(t,r){t&2&&ae("mat-mdc-tooltip-disabled",r.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"]})}return l})(),Yi=(()=>{class l{_changeDetectorRef=g(Ae);_elementRef=g(se);_isMultiline=!1;message;tooltipClass;_showTimeoutId;_hideTimeoutId;_triggerElement;_mouseLeaveHideDelay;_animationsDisabled=_e();_tooltip;_closeOnInteraction=!1;_isVisible=!1;_onHide=new w;_showAnimation="mat-mdc-tooltip-show";_hideAnimation="mat-mdc-tooltip-hide";constructor(){}show(e){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){let e=this._elementRef.nativeElement.getBoundingClientRect();return e.height>Vr&&e.width>=zr}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){let t=this._tooltip.nativeElement,r=this._showAnimation,n=this._hideAnimation;if(t.classList.remove(e?n:r),t.classList.add(e?r:n),this._isVisible!==e&&(this._isVisible=e,this._changeDetectorRef.markForCheck()),e&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let o=getComputedStyle(t);(o.getPropertyValue("animation-duration")==="0s"||o.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(t.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Oe({type:l,selectors:[["mat-tooltip-component"]],viewQuery:function(t,r){if(t&1&&Ie(Lr,7),t&2){let n;V(n=z())&&(r._tooltip=n.first)}},hostAttrs:["aria-hidden","true"],hostBindings:function(t,r){t&1&&j("mouseleave",function(o){return r._handleMouseLeave(o)})},decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(t,r){if(t&1){let n=me();A(0,"div",1,0),j("animationend",function(p){return B(n),K(r._handleAnimationEnd(p))}),A(2,"div",2),he(3),q()()}t&2&&(ae("mdc-tooltip--multiline",r._isMultiline),pe("ngClass",r.tooltipClass),$(3),fe(r.message))},dependencies:[Re],styles:[`.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mat-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mat-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mat-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mat-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mat-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mat-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel{line-height:normal}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}
3
+ `],encapsulation:2,changeDetection:0})}return l})();var fn=(()=>{class l{static \u0275fac=function(t){return new(t||l)};static \u0275mod=xe({type:l});static \u0275inj=Ce({imports:[mi,Ue,Ne,Fe]})}return l})();var Gr=["trigger"],Yr=["panel"],Xr=[[["mat-select-trigger"]],"*"],Jr=["mat-select-trigger","*"];function Qr(l,b){if(l&1&&(A(0,"span",4),he(1),q()),l&2){let e=ne();$(),fe(e.placeholder)}}function Zr(l,b){l&1&&rt(0)}function es(l,b){if(l&1&&(A(0,"span",11),he(1),q()),l&2){let e=ne(2);$(),fe(e.triggerValue)}}function ts(l,b){if(l&1&&(A(0,"span",5),tt(1,Zr,1,0)(2,es,2,1,"span",11),q()),l&2){let e=ne();$(),it(e.customTrigger?1:2)}}function is(l,b){if(l&1){let e=me();A(0,"div",12,1),j("keydown",function(r){B(e);let n=ne();return K(n._handleKeydown(r))}),rt(2,1),q()}if(l&2){let e=ne();Qt(Zt("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme())),ae("mat-select-panel-animations-enabled",!e._animationsDisabled),pe("ngClass",e.panelClass),Ee("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}var rs=new J("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let l=g(de);return()=>We(l)}}),ss=new J("MAT_SELECT_CONFIG"),ns=new J("MatSelectTrigger"),ft=class{source;value;constructor(b,e){this.source=b,this.value=e}},Gn=(()=>{class l{_viewportRuler=g(vi);_changeDetectorRef=g(Ae);_elementRef=g(se);_dir=g(Pe,{optional:!0});_idGenerator=g(hi);_renderer=g(Bt);_parentFormField=g(xi,{optional:!0});ngControl=g(Mi,{self:!0,optional:!0});_liveAnnouncer=g(pi);_defaultOptions=g(ss,{optional:!0});_animationsDisabled=_e();_popoverLocation;_initialized=new w;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(e){let t=this.options.toArray()[e];if(t){let r=this.panel.nativeElement,n=Fi(e,this.options,this.optionGroups),o=t._getHostElement();e===0&&n===1?r.scrollTop=0:r.scrollTop=Wi(o.offsetTop,o.offsetHeight,r.scrollTop,r.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new ft(this,e)}_scrollStrategyFactory=g(rs);_panelOpen=!1;_compareWith=(e,t)=>e===t;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new w;_errorStateTracker;stateChanges=new w;disableAutomaticLabeling=!0;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=!1;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(e){this._disableRipple.set(e)}_disableRipple=zt(!1);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(Ci.required)??!1}set required(e){this._required=e,this.stateChanges.next()}_required;get multiple(){return this._multiple}set multiple(e){this._selectionModel,this._multiple=e}_multiple=!1;disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1;get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}_value;ariaLabel="";ariaLabelledby;get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}typeaheadDebounceInterval;sortComparator;get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}_id;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto";canSelectNullableOptions=this._defaultOptions?.canSelectNullableOptions??!1;optionSelectionChanges=Wt(()=>{let e=this.options;return e?e.changes.pipe(Je(e),Qe(()=>ke(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(Qe(()=>this.optionSelectionChanges))});openedChange=new Te;_openedStream=this.openedChange.pipe(Xe(e=>e),ue(()=>{}));_closedStream=this.openedChange.pipe(Xe(e=>!e),ue(()=>{}));selectionChange=new Te;valueChange=new Te;constructor(){let e=g(Ii),t=g(Ti,{optional:!0}),r=g(Di,{optional:!0}),n=g(new ti("tabindex"),{optional:!0}),o=g(wi,{optional:!0});this.ngControl&&(this.ngControl.valueAccessor=this),this._defaultOptions?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=this._defaultOptions.typeaheadDebounceInterval),this._errorStateTracker=new Ai(e,this.ngControl,r,t,this.stateChanges),this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=n==null?0:parseInt(n)||0,this._popoverLocation=o?.usePopover===!1?null:"inline",this.id=this.id}ngOnInit(){this._selectionModel=new Ui(this.multiple),this.stateChanges.next(),this._viewportRuler.change().pipe(O(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(O(this._destroy)).subscribe(e=>{e.added.forEach(t=>t.select()),e.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(Je(null),O(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){let e=this._getTriggerAriaLabelledby(),t=this.ngControl;if(e!==this._triggerAriaLabelledBy){let r=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?r.setAttribute("aria-labelledby",e):r.removeAttribute("aria-labelledby")}t&&(this._previousControl!==t.control&&(this._previousControl!==void 0&&t.disabled!==null&&t.disabled!==this.disabled&&(this.disabled=t.disabled),this._previousControl=t.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._cleanupDetach?.(),this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._cleanupDetach?.(),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._overlayDir.positionChange.pipe($t(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()}),this._overlayDir.attachOverlay(),this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!0)))}_trackedModal=null;_applyModalPanelOwnership(){let e=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!e)return;let t=`${this.id}-panel`;this._trackedModal&&at(this._trackedModal,"aria-owns",t),gi(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(!this._trackedModal)return;let e=`${this.id}-panel`;at(this._trackedModal,"aria-owns",e),this._trackedModal=null}close(){this._panelOpen&&(this._panelOpen=!1,this._exitAndDetach(),this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!1)))}_exitAndDetach(){if(this._animationsDisabled||!this.panel){this._detachOverlay();return}this._cleanupDetach?.(),this._cleanupDetach=()=>{t(),clearTimeout(r),this._cleanupDetach=void 0};let e=this.panel.nativeElement,t=this._renderer.listen(e,"animationend",n=>{n.animationName==="_mat-select-exit"&&(this._cleanupDetach?.(),this._detachOverlay())}),r=setTimeout(()=>{this._cleanupDetach?.(),this._detachOverlay()},200);e.classList.add("mat-select-panel-exit")}_detachOverlay(){this._overlayDir.detachOverlay(),this._changeDetectorRef.markForCheck()}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){let e=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return this._dir?this._dir.value==="rtl":!1}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){let t=e.keyCode,r=t===40||t===38||t===37||t===39,n=t===13||t===32,o=this._keyManager;if(!o.isTyping()&&n&&!oe(e)||(this.multiple||e.altKey)&&r)e.preventDefault(),this.open();else if(!this.multiple){let p=this.selected;o.onKeydown(e);let f=this.selected;f&&p!==f&&this._liveAnnouncer.announce(f.viewValue,1e4)}}_handleOpenKeydown(e){let t=this._keyManager,r=e.keyCode,n=r===40||r===38,o=t.isTyping();if(n&&e.altKey)e.preventDefault(),this.close();else if(!o&&(r===13||r===32)&&t.activeItem&&!oe(e))e.preventDefault(),t.activeItem._selectViaInteraction();else if(!o&&this._multiple&&r===65&&e.ctrlKey){e.preventDefault();let p=this.options.some(f=>!f.disabled&&!f.selected);this.options.forEach(f=>{f.disabled||(p?f.select():f.deselect())})}else{let p=t.activeItemIndex;t.onKeydown(e),this._multiple&&n&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==p&&t.activeItem._selectViaInteraction()}}_handleOverlayKeydown(e){e.keyCode===27&&!oe(e)&&(e.preventDefault(),this.close())}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this.options.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(t=>this._selectOptionByValue(t)),this._sortValues();else{let t=this._selectOptionByValue(e);t?this._keyManager.updateActiveItem(t):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){let t=this.options.find(r=>{if(this._selectionModel.isSelected(r))return!1;try{return(r.value!=null||this.canSelectNullableOptions)&&this._compareWith(r.value,e)}catch(n){return!1}});return t&&this._selectionModel.select(t),t}_assignValue(e){return e!==this._value||this._multiple&&Array.isArray(e)?(this.options&&this._setSelectionByValue(e),this._value=e,!0):!1}_skipPredicate=e=>this.panelOpen?!1:e.disabled;_getOverlayWidth(e){return this.panelWidth==="auto"?(e instanceof lt?e.elementRef:e||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new fi(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){let e=ke(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(O(e)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),ke(...this.options.map(t=>t._stateChanges)).pipe(O(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,t){let r=this._selectionModel.isSelected(e);!this.canSelectNullableOptions&&e.value==null&&!this._multiple?(e.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(e.value)):(r!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())),r!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){let e=this.options.toArray();this._selectionModel.sort((t,r)=>this.sortComparator?this.sortComparator(t,r,e):e.indexOf(t)-e.indexOf(r)),this.stateChanges.next()}}_propagateChanges(e){let t;this.multiple?t=this.selected.map(r=>r.value):t=this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let t=0;t<this.options.length;t++)if(!this.options.get(t).disabled){e=t;break}this._keyManager.setActiveItem(e)}else this._keyManager.setActiveItem(this._selectionModel.selected[0])}_canOpen(){return!this._panelOpen&&!this.disabled&&this.options?.length>0&&!!this._overlayDir}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||null,t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||"";return this.ariaLabelledby&&(e+=" "+this.ariaLabelledby),e||(e=this._valueId),e}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(e){let t=this._elementRef.nativeElement;e.length?t.setAttribute("aria-describedby",e.join(" ")):t.removeAttribute("aria-describedby")}onContainerClick(e){let t=oi(e);t&&(t.tagName==="MAT-OPTION"||t.classList.contains("cdk-overlay-backdrop")||t.closest(".mat-mdc-select-panel"))||(this.focus(),this.open())}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Oe({type:l,selectors:[["mat-select"]],contentQueries:function(t,r,n){if(t&1&&Xt(n,ns,5)(n,Ni,5)(n,Pi,5),t&2){let o;V(o=z())&&(r.customTrigger=o.first),V(o=z())&&(r.options=o),V(o=z())&&(r.optionGroups=o)}},viewQuery:function(t,r){if(t&1&&Ie(Gr,5)(Yr,5)(ct,5),t&2){let n;V(n=z())&&(r.trigger=n.first),V(n=z())&&(r.panel=n.first),V(n=z())&&(r._overlayDir=n.first)}},hostAttrs:["role","combobox","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:21,hostBindings:function(t,r){t&1&&j("keydown",function(o){return r._handleKeydown(o)})("focus",function(){return r._onFocus()})("blur",function(){return r._onBlur()}),t&2&&(Ee("id",r.id)("tabindex",r.disabled?-1:r.tabIndex)("aria-controls",r.panelOpen?r.id+"-panel":null)("aria-expanded",r.panelOpen)("aria-label",r.ariaLabel||null)("aria-required",r.required.toString())("aria-disabled",r.disabled.toString())("aria-invalid",r.errorState)("aria-activedescendant",r._getAriaActiveDescendant()),ae("mat-mdc-select-disabled",r.disabled)("mat-mdc-select-invalid",r.errorState)("mat-mdc-select-required",r.required)("mat-mdc-select-empty",r.empty)("mat-mdc-select-multiple",r.multiple)("mat-select-open",r.panelOpen))},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",G],disableRipple:[2,"disableRipple","disableRipple",G],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:st(e)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",G],placeholder:"placeholder",required:[2,"required","required",G],multiple:[2,"multiple","multiple",G],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",G],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",st],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth",canSelectNullableOptions:[2,"canSelectNullableOptions","canSelectNullableOptions",G]},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],features:[ei([{provide:Oi,useExisting:l},{provide:Ri,useExisting:l}]),Ht],ngContentSelectors:Jr,decls:11,vars:10,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"detach","backdropClick","overlayKeydown","cdkConnectedOverlayDisableClose","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","cdkConnectedOverlayFlexibleDimensions","cdkConnectedOverlayUsePopover"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(t,r){if(t&1){let n=me();Yt(Xr),A(0,"div",2,0),j("click",function(){return B(n),K(r.open())}),A(3,"div",3),tt(4,Qr,2,1,"span",4)(5,ts,3,1,"span",5),q(),A(6,"div",6)(7,"div",7),qt(),A(8,"svg",8),Gt(9,"path",9),q()()()(),jt(10,is,3,10,"ng-template",10),j("detach",function(){return B(n),K(r.close())})("backdropClick",function(){return B(n),K(r.close())})("overlayKeydown",function(p){return B(n),K(r._handleOverlayKeydown(p))})}if(t&2){let n=Jt(1);$(3),Ee("id",r._valueId),$(),it(r.empty?4:5),$(6),pe("cdkConnectedOverlayDisableClose",!0)("cdkConnectedOverlayPanelClass",r._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",r._scrollStrategy)("cdkConnectedOverlayOrigin",r._preferredOverlayOrigin||n)("cdkConnectedOverlayPositions",r._positions)("cdkConnectedOverlayWidth",r._overlayWidth)("cdkConnectedOverlayFlexibleDimensions",!0)("cdkConnectedOverlayUsePopover",r._popoverLocation)}},dependencies:[lt,ct,Re],styles:[`@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-form-field-animations-enabled .mat-mdc-select-arrow{transition:transform 80ms linear}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}
4
+ `],encapsulation:2,changeDetection:0})}return l})();var Yn=(()=>{class l{static \u0275fac=function(t){return new(t||l)};static \u0275mod=xe({type:l});static \u0275inj=Ce({imports:[Ue,ut,Ne,Fe,Ei,ut]})}return l})();export{Gn as a,Yn as b,le as c,Wr as d,Li as e,Vi as f,Us as g,Gi as h,Hr as i,fn as j};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunk-T26GJV5O.js";import"./chunk-4LGDIZQH.js";import{a as l,h as g}from"./chunk-E57JLACD.js";import{k as a,m as r}from"./chunk-GDSV24J2.js";import"./chunk-ZQJMMQNG.js";import{ib as s,qa as o}from"./chunk-GSMU2M4Y.js";var v=(()=>{class t{dialog=o(g);auth=o(a);toast=o(l);appSettingsService=o(r);connectionConfig=null;ngOnInit(){this.connectionConfig=this.appSettingsService.getConnectionConfig(),this.openUserCredentialModal("Sign in failed: Incorrect user/password. Enter valide credentials or access the Confifuration/Settings menu, validate the server URL or/and disable the user Sign in option")}openUserCredentialModal(e){this.dialog.open(c,{disableClose:!0,data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().subscribe(i=>{i===void 0||!i||(this.connectionConfig.loginName=i.user,this.connectionConfig.loginPassword=i.password,this.appSettingsService.setConnectionConfig(this.connectionConfig),this.serverLogin())})}serverLogin(e){this.auth.login({usr:this.connectionConfig.loginName,pwd:this.connectionConfig.loginPassword,newUrl:e}).then(()=>{this.appSettingsService.reloadApp()}).catch(n=>{n.status==401?(this.openUserCredentialModal("Sign in failed: Invalide user/password. Enter valide credentials"),console.log("[Setting-SignalK Component] Sign in failed: "+n.error.message)):n.status==404?(this.toast.show("Login API not found at URL. See connection detail status in Configuration/Settings",5e3,!1,null,"error"),console.log("[Setting-SignalK Component] Sign in failed: "+n.error.message)):n.status==0?(this.toast.show("Cannot reach server at Signal K URL. See connection detail status in Configuration/Settings",5e3,!1,null,"error"),console.log("[Setting-SignalK Component] Sign in failed: Cannot reach server at Signal K URL:"+n.message)):(this.toast.show("Unknown authentication failure: "+JSON.stringify(n),5e3,!1,null,"error"),console.log("[Setting-SignalK Component] Unknown login error response: "+JSON.stringify(n)))})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=s({type:t,selectors:[["app-widget-login"]],decls:0,vars:0,template:function(n,i){},encapsulation:2})}return t})();export{v as WidgetLoginComponent};