@genesislcap/design-system-configurator 14.42.0 → 14.42.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{420.420.8833248433a9c542f05e.js → 420.420.9b21f275a4f46b0f4677.js} +2 -2
- package/dist/430.1b3fdba8b48e5e31c2807fa9d1d652c9.js.map +1 -0
- package/dist/430.430.3da72c81bb1828732502.js +2 -0
- package/dist/661.30e65c48764d6b4f1fac4150b71bb7d8.js.map +1 -0
- package/dist/{661.661.361211f29f0ae25de938.js → 661.661.b4941b46221ae7da12a0.js} +22 -22
- package/dist/{688.688.550ebf655d7d69772026.js → 688.688.39f49ac9c3ac9d422c1b.js} +1 -1
- package/dist/{755.755.38e6879a39fb129360a3.js → 755.755.ef32b0565465209a056e.js} +1 -1
- package/dist/{361.a1b4dda436f688032dca2de3232d9ab4.js.map → 901.8a2d1b6240a3a9fc73023c8c5d0252e7.js.map} +1 -1
- package/dist/{361.361.30f53387a8a63e106b06.js → 901.901.c656c8c2ab552c190675.js} +2 -2
- package/dist/designSystemConfigurator.4ef6dc4c0dab3cda8bbf36e43b7692d7.js.map +1 -0
- package/dist/index.html +1 -1
- package/dist/info.html +4 -4
- package/dist/main.2fb1414ccf7926f43b7f.js +2 -0
- package/dist/main.cd6f6b657f62399536e8e100ac39c24d.js.map +1 -0
- package/dist/{npm.lodash.913.c94fed4ade06ae4c693e.js → npm.lodash.913.d264c63c00ee3a0ea033.js} +1 -1
- package/dist/npm.rxjs.271.5411aa73a5ed9dad071b.js +2 -0
- package/dist/npm.rxjs.441631e3b52198fb2591baf75a89a857.js.map +1 -0
- package/dist/remoteEntry.js +2 -2
- package/package.json +7 -7
- package/dist/430.430.fc253d327b401077c54a.js +0 -2
- package/dist/430.9228e8eaec8b17fdd1e2225fe257f5e5.js.map +0 -1
- package/dist/661.992631038261169e8b6a8009394b5068.js.map +0 -1
- package/dist/designSystemConfigurator.7533e840a13c7efaac32407de99062e7.js.map +0 -1
- package/dist/main.7eebc67d3b92c081813c025659079773.js.map +0 -1
- package/dist/main.a0f37cc098428c34dfac.js +0 -2
- package/dist/npm.rxjs.26a9df042966a35f0cd9cb3feadffa99.js.map +0 -1
- package/dist/npm.rxjs.271.645502885e4becd08fc8.js +0 -2
- /package/dist/{420.420.8833248433a9c542f05e.js.LICENSE.txt → 420.420.9b21f275a4f46b0f4677.js.LICENSE.txt} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! For license information please see 420.420.
|
|
1
|
+
/*! For license information please see 420.420.9b21f275a4f46b0f4677.js.LICENSE.txt */
|
|
2
2
|
(self.webpackChunk_genesislcap_design_system_configurator=self.webpackChunk_genesislcap_design_system_configurator||[]).push([[420],{87530:function(e){e.exports=function(){"use strict";var e=1e3,t=6e4,o=36e5,i="millisecond",a="second",n="minute",s="hour",r="day",l="week",d="month",c="quarter",u="year",p="date",h="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],o=e%100;return"["+e+(t[(o-20)%10]||t[o]||t[0])+"]"}},g=function(e,t,o){var i=String(e);return!i||i.length>=t?e:""+Array(t+1-i.length).join(o)+e},b={s:g,z:function(e){var t=-e.utcOffset(),o=Math.abs(t),i=Math.floor(o/60),a=o%60;return(t<=0?"+":"-")+g(i,2,"0")+":"+g(a,2,"0")},m:function e(t,o){if(t.date()<o.date())return-e(o,t);var i=12*(o.year()-t.year())+(o.month()-t.month()),a=t.clone().add(i,d),n=o-a<0,s=t.clone().add(i+(n?-1:1),d);return+(-(i+(o-a)/(n?a-s:s-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:d,y:u,w:l,d:r,D:p,h:s,m:n,s:a,ms:i,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",w={};w[y]=v;var x=function(e){return e instanceof D},F=function e(t,o,i){var a;if(!t)return y;if("string"==typeof t){var n=t.toLowerCase();w[n]&&(a=n),o&&(w[n]=o,a=n);var s=t.split("-");if(!a&&s.length>1)return e(s[0])}else{var r=t.name;w[r]=t,a=r}return!i&&a&&(y=a),a||!i&&y},$=function(e,t){if(x(e))return e.clone();var o="object"==typeof t?t:{};return o.date=e,o.args=arguments,new D(o)},S=b;S.l=F,S.i=x,S.w=function(e,t){return $(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function v(e){this.$L=F(e.locale,null,!0),this.parse(e)}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,o=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var i=t.match(m);if(i){var a=i[2]-1||0,n=(i[7]||"0").substring(0,3);return o?new Date(Date.UTC(i[1],a,i[3]||1,i[4]||0,i[5]||0,i[6]||0,n)):new Date(i[1],a,i[3]||1,i[4]||0,i[5]||0,i[6]||0,n)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return S},g.isValid=function(){return!(this.$d.toString()===h)},g.isSame=function(e,t){var o=$(e);return this.startOf(t)<=o&&o<=this.endOf(t)},g.isAfter=function(e,t){return $(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<$(e)},g.$g=function(e,t,o){return S.u(e)?this[t]:this.set(o,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var o=this,i=!!S.u(t)||t,c=S.p(e),h=function(e,t){var a=S.w(o.$u?Date.UTC(o.$y,t,e):new Date(o.$y,t,e),o);return i?a:a.endOf(r)},m=function(e,t){return S.w(o.toDate()[e].apply(o.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(t)),o)},f=this.$W,v=this.$M,g=this.$D,b="set"+(this.$u?"UTC":"");switch(c){case u:return i?h(1,0):h(31,11);case d:return i?h(1,v):h(0,v+1);case l:var y=this.$locale().weekStart||0,w=(f<y?f+7:f)-y;return h(i?g-w:g+(6-w),v);case r:case p:return m(b+"Hours",0);case s:return m(b+"Minutes",1);case n:return m(b+"Seconds",2);case a:return m(b+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var o,l=S.p(e),c="set"+(this.$u?"UTC":""),h=(o={},o[r]=c+"Date",o[p]=c+"Date",o[d]=c+"Month",o[u]=c+"FullYear",o[s]=c+"Hours",o[n]=c+"Minutes",o[a]=c+"Seconds",o[i]=c+"Milliseconds",o)[l],m=l===r?this.$D+(t-this.$W):t;if(l===d||l===u){var f=this.clone().set(p,1);f.$d[h](m),f.init(),this.$d=f.set(p,Math.min(this.$D,f.daysInMonth())).$d}else h&&this.$d[h](m);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[S.p(e)]()},g.add=function(i,c){var p,h=this;i=Number(i);var m=S.p(c),f=function(e){var t=$(h);return S.w(t.date(t.date()+Math.round(e*i)),h)};if(m===d)return this.set(d,this.$M+i);if(m===u)return this.set(u,this.$y+i);if(m===r)return f(1);if(m===l)return f(7);var v=(p={},p[n]=t,p[s]=o,p[a]=e,p)[m]||1,g=this.$d.getTime()+i*v;return S.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,o=this.$locale();if(!this.isValid())return o.invalidDate||h;var i=e||"YYYY-MM-DDTHH:mm:ssZ",a=S.z(this),n=this.$H,s=this.$m,r=this.$M,l=o.weekdays,d=o.months,c=function(e,o,a,n){return e&&(e[o]||e(t,i))||a[o].slice(0,n)},u=function(e){return S.s(n%12||12,e,"0")},p=o.meridiem||function(e,t,o){var i=e<12?"AM":"PM";return o?i.toLowerCase():i},m={YY:String(this.$y).slice(-2),YYYY:this.$y,M:r+1,MM:S.s(r+1,2,"0"),MMM:c(o.monthsShort,r,d,3),MMMM:c(d,r),D:this.$D,DD:S.s(this.$D,2,"0"),d:String(this.$W),dd:c(o.weekdaysMin,this.$W,l,2),ddd:c(o.weekdaysShort,this.$W,l,3),dddd:l[this.$W],H:String(n),HH:S.s(n,2,"0"),h:u(1),hh:u(2),a:p(n,s,!0),A:p(n,s,!1),m:String(s),mm:S.s(s,2,"0"),s:String(this.$s),ss:S.s(this.$s,2,"0"),SSS:S.s(this.$ms,3,"0"),Z:a};return i.replace(f,(function(e,t){return t||m[e]||a.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(i,p,h){var m,f=S.p(p),v=$(i),g=(v.utcOffset()-this.utcOffset())*t,b=this-v,y=S.m(this,v);return y=(m={},m[u]=y/12,m[d]=y,m[c]=y/3,m[l]=(b-g)/6048e5,m[r]=(b-g)/864e5,m[s]=b/o,m[n]=b/t,m[a]=b/e,m)[f]||b,h?y:S.a(y)},g.daysInMonth=function(){return this.endOf(d).$D},g.$locale=function(){return w[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var o=this.clone(),i=F(e,t,!0);return i&&(o.$L=i),o},g.clone=function(){return S.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},v}(),C=D.prototype;return $.prototype=C,[["$ms",i],["$s",a],["$m",n],["$H",s],["$W",r],["$M",d],["$y",u],["$D",p]].forEach((function(e){C[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),$.extend=function(e,t){return e.$i||(e(t,D,$),e.$i=!0),$},$.locale=F,$.isDayjs=x,$.unix=function(e){return $(1e3*e)},$.en=w[y],$.Ls=w,$.p={},$}()},78113:function(e){e.exports=function(){"use strict";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}()},81708:(e,t,o)=>{"use strict";o.r(t),o.d(t,{ActionsMenu:()=>p,Anchor:()=>g,Badge:()=>$,Banner:()=>T,BaseDatasource:()=>Zr,Breadcrumb:()=>M,BreadcrumbItem:()=>B,Button:()=>Y,CSSVarsTokenMapper:()=>Ur,Card:()=>J,Checkbox:()=>ae,Combobox:()=>ce,ConnectionIndicator:()=>be,DEFUALT_FILTER_BAR_COLUMNS:()=>ki,DataGrid:()=>Fe,DataGridCell:()=>_e,DataGridDatasource:()=>Jr,DataGridRow:()=>Le,DatePicker:()=>We,Dialog:()=>Ut,DialogElement:()=>Vt,Disclosure:()=>Xt,Divider:()=>to,DropdownMenu:()=>po,ErrorBanner:()=>go,ErrorBoundary:()=>Ro,ErrorBoundaryEvent:()=>yo,ErrorDialog:()=>Io,FaPrefixFromStyle:()=>Fa,FileUpload:()=>ni,Filter:()=>wi,FilterBar:()=>Ti,FilterEvents:()=>yi,FlexLayout:()=>Pi,FlexMediaQueriesEnum:()=>Li,Flipper:()=>Gi,Flyout:()=>Xi,FoundationDesignSystemProvider:()=>Et,FoundationRouter:()=>nl,GridLayout:()=>sa,GridLayoutItem:()=>ua,GridMediaQueriesEnum:()=>Qi,Icon:()=>$a,ListboxOption:()=>_a,Menu:()=>Na,MenuItem:()=>Ha,Modal:()=>Wa,Multiselect:()=>on,MultiselectDatasource:()=>tl,NumberField:()=>rn,OptionsDatasource:()=>el,Popper:()=>hn,Progress:()=>yn,ProgressRing:()=>Dn,Radio:()=>Rn,RadioGroup:()=>In,SegmentedControl:()=>zn,SegmentedItem:()=>Xn,Select:()=>ts,Skeleton:()=>rs,Slider:()=>fs,Snackbar:()=>Fs,Switch:()=>Cs,Tab:()=>Ls,TabPanel:()=>Ps,Tabs:()=>Vs,TextArea:()=>Ks,TextField:()=>or,Toast:()=>cr,Toolbar:()=>mr,Tooltip:()=>wr,TreeItem:()=>Cr,TreeView:()=>Lr,UrlInput:()=>Br,accentFillActive:()=>m.accentFillActive,accentFillActiveDelta:()=>m.accentFillActiveDelta,accentFillFocus:()=>m.accentFillFocus,accentFillFocusDelta:()=>m.accentFillFocusDelta,accentFillHover:()=>m.accentFillHover,accentFillHoverDelta:()=>m.accentFillHoverDelta,accentFillRest:()=>m.accentFillRest,accentFillRestDelta:()=>m.accentFillRestDelta,accentForegroundActive:()=>m.accentForegroundActive,accentForegroundActiveDelta:()=>m.accentForegroundActiveDelta,accentForegroundFocus:()=>m.accentForegroundFocus,accentForegroundFocusDelta:()=>m.accentForegroundFocusDelta,accentForegroundHover:()=>m.accentForegroundHover,accentForegroundHoverDelta:()=>m.accentForegroundHoverDelta,accentForegroundRest:()=>m.accentForegroundRest,accentForegroundRestDelta:()=>m.accentForegroundRestDelta,accentPalette:()=>m.accentPalette,accentPaletteValue:()=>Dt,actionsMenuBaseStyles:()=>d,baseComponents:()=>Gr,baseHeightMultiplier:()=>m.baseHeightMultiplier,baseLayerLuminance:()=>m.baseLayerLuminance,baseLayerLuminanceValue:()=>_t,black:()=>Ze,bodyFont:()=>m.bodyFont,closeIcon:()=>Bt,configureDesignSystem:()=>St,controlCornerRadius:()=>m.controlCornerRadius,controlCornerRadiusValue:()=>kt,createDesignSystemProxy:()=>zr,createFormData:()=>Jo,defaultAnchorConfig:()=>y,defaultBadgeConfig:()=>D,defaultBreadcrumbConfig:()=>E,defaultBreadcrumbItemConfig:()=>G,defaultButtonConfig:()=>q,defaultCardConfig:()=>ee,defaultCheckboxConfig:()=>se,defaultComboboxConfig:()=>pe,defaultDataGridCellConfig:()=>ke,defaultDataGridConfig:()=>Se,defaultDataGridRowConfig:()=>Me,defaultDatePickerConfig:()=>Ye,defaultDialogConfig:()=>zt,defaultDisclosureConfig:()=>Zt,defaultDividerConfig:()=>io,defaultFileUploadConfig:()=>ri,defaultFillColor:()=>Qe,defaultFlexLayoutConfig:()=>Ii,defaultFlipperConfig:()=>Vi,defaultFlyoutConfig:()=>Zi,defaultGridLayoutConfig:()=>aa,defaultGridLayoutItemConfig:()=>ca,defaultIconConfig:()=>xa,defaultListboxOptionConfig:()=>ka,defaultMenuConfig:()=>Aa,defaultMenuItemConfig:()=>ja,defaultModalConfig:()=>Ya,defaultMultiselectConfig:()=>tn,defaultNeutralForegroundContrast:()=>pt,defaultNumberFieldConfig:()=>dn,defaultProgressConfig:()=>xn,defaultProgressRingConfig:()=>_n,defaultRadioConfig:()=>Nn,defaultRadioGroupConfig:()=>Hn,defaultSegmentedControlConfig:()=>Un,defaultSegmentedItemConfig:()=>Zn,defaultSelectConfig:()=>is,defaultSkeletonConfig:()=>ds,defaultSliderConfig:()=>gs,defaultSwitchConfig:()=>Os,defaultTabConfig:()=>Ms,defaultTabPanelConfig:()=>Bs,defaultTabsConfig:()=>Ys,defaultTextAreaConfig:()=>Js,defaultTextFieldConfig:()=>ar,defaultToastConfig:()=>dr,defaultToolbarConfig:()=>vr,defaultTooltipConfig:()=>Fr,defaultTreeItemConfig:()=>Or,defaultTreeViewConfig:()=>Mr,defaultUrlInputConfig:()=>Hr,defineFactory:()=>ol,density:()=>m.density,designToken:()=>gt,designUnit:()=>m.designUnit,designUnitValue:()=>Tt,direction:()=>m.direction,directionValue:()=>Ot,disabledOpacity:()=>m.disabledOpacity,downloadFile:()=>ei,dropdownMenuBaseStyles:()=>so,errorDialogTemplate:()=>Ao,extractMenuItems:()=>lo,fillColor:()=>m.fillColor,flyoutAnimationTime:()=>Yi,focusStrokeInner:()=>m.focusStrokeInner,focusStrokeOuter:()=>m.focusStrokeOuter,focusStrokeWidth:()=>m.focusStrokeWidth,foregroundOnAccentActive:()=>m.foregroundOnAccentActive,foregroundOnAccentActiveLarge:()=>m.foregroundOnAccentActiveLarge,foregroundOnAccentFocus:()=>m.foregroundOnAccentFocus,foregroundOnAccentFocusLarge:()=>m.foregroundOnAccentFocusLarge,foregroundOnAccentHover:()=>m.foregroundOnAccentHover,foregroundOnAccentHoverLarge:()=>m.foregroundOnAccentHoverLarge,foregroundOnAccentRest:()=>m.foregroundOnAccentRest,foregroundOnAccentRestLarge:()=>m.foregroundOnAccentRestLarge,foundationActionsMenu:()=>h,foundationActionsMenuStyles:()=>c,foundationActionsMenuTemplate:()=>u,foundationAnchor:()=>w,foundationAnchorShadowOptions:()=>b,foundationAnchorStyles:()=>f,foundationAnchorTemplate:()=>v,foundationBadge:()=>C,foundationBadgeShadowOptions:()=>S,foundationBadgeStyles:()=>x,foundationBadgeTemplate:()=>F,foundationBanner:()=>R,foundationBannerShadowOptions:()=>k,foundationBannerStyles:()=>_,foundationBannerTemplate:()=>O,foundationBreadcrumb:()=>I,foundationBreadcrumbItem:()=>z,foundationBreadcrumbItemShadowOptions:()=>j,foundationBreadcrumbItemStyles:()=>P,foundationBreadcrumbItemTemplate:()=>H,foundationBreadcrumbShadowOptions:()=>A,foundationBreadcrumbStyles:()=>L,foundationBreadcrumbTemplate:()=>N,foundationButton:()=>X,foundationButtonShadowOptions:()=>W,foundationButtonStyles:()=>V,foundationButtonTemplate:()=>U,foundationCard:()=>te,foundationCardShadowOptions:()=>Q,foundationCardStyles:()=>K,foundationCardTemplate:()=>Z,foundationCheckbox:()=>re,foundationCheckboxShadowOptions:()=>ne,foundationCheckboxStyles:()=>oe,foundationCheckboxTemplate:()=>ie,foundationCombobox:()=>he,foundationComboboxShadowOptions:()=>ue,foundationComboboxStyles:()=>le,foundationComboboxTemplate:()=>de,foundationConnectionIndicator:()=>ye,foundationConnectionIndicatorStyles:()=>ve,foundationConnectionIndicatorTemplate:()=>ge,foundationDataGrid:()=>De,foundationDataGridCell:()=>Te,foundationDataGridCellShadowOptions:()=>Oe,foundationDataGridCellStyles:()=>Ce,foundationDataGridCellTemplate:()=>r.dataGridCellTemplate,foundationDataGridRow:()=>Ae,foundationDataGridRowShadowOptions:()=>Ne,foundationDataGridRowStyles:()=>Re,foundationDataGridRowTemplate:()=>r.dataGridRowTemplate,foundationDataGridShadowOptions:()=>$e,foundationDataGridStyles:()=>we,foundationDataGridTemplate:()=>xe,foundationDatePicker:()=>qe,foundationDatePickerShadowOptions:()=>Ue,foundationDatePickerStyles:()=>ze,foundationDatePickerTemplate:()=>Ve,foundationDesignSystemProvider:()=>It,foundationDialog:()=>Yt,foundationDialogShadowOptions:()=>Gt,foundationDialogStyles:()=>Ht,foundationDialogTemplate:()=>jt,foundationDisclosure:()=>Jt,foundationDisclosureShadowOptions:()=>Kt,foundationDisclosureStyles:()=>Wt,foundationDisclosureTemplate:()=>qt,foundationDivider:()=>ao,foundationDividerShadowOptions:()=>oo,foundationDividerStyles:()=>Qt,foundationDividerTemplate:()=>eo,foundationDropdownMenu:()=>ho,foundationDropdownMenuStyles:()=>ro,foundationDropdownMenuTemplate:()=>uo,foundationErrorBanner:()=>bo,foundationErrorBannerShadowOptions:()=>vo,foundationErrorBannerTemplate:()=>fo,foundationErrorBoundary:()=>Lo,foundationErrorBoundaryShadowOptions:()=>To,foundationErrorBoundaryTemplate:()=>ko,foundationErrorDialog:()=>Po,foundationErrorDialogShadowOptions:()=>Eo,foundationErrorDialogStyles:()=>No,foundationFileUpload:()=>li,foundationFileUploadShadowOptions:()=>si,foundationFileUploadStyles:()=>Xo,foundationFileUploadTemplate:()=>Zo,foundationFilter:()=>xi,foundationFilterBar:()=>Ri,foundationFilterBarStyles:()=>$i,foundationFilterBarTemplate:()=>Oi,foundationFilterStyles:()=>di,foundationFilterTemplate:()=>bi,foundationFlexLayout:()=>Hi,foundationFlexLayoutShadowOptions:()=>Ei,foundationFlexLayoutStyles:()=>Mi,foundationFlexLayoutTemplate:()=>Ai,foundationFlipper:()=>Ui,foundationFlipperShadowOptions:()=>zi,foundationFlipperStyles:()=>Bi,foundationFlipperTemplate:()=>ji,foundationFlyout:()=>Ji,foundationFlyoutShadowOptions:()=>Ki,foundationFlyoutStyles:()=>Wi,foundationFlyoutTemplate:()=>qi,foundationGridLayout:()=>ra,foundationGridLayoutItem:()=>pa,foundationGridLayoutItemShadowOptions:()=>da,foundationGridLayoutItemTemplate:()=>la,foundationGridLayoutShadowOptions:()=>ia,foundationGridLayoutStyles:()=>ta,foundationGridLayoutTemplate:()=>oa,foundationIcon:()=>Sa,foundationIconShadowOptions:()=>wa,foundationIconStyles:()=>ba,foundationIconTemplate:()=>ya,foundationListboxOption:()=>Ta,foundationListboxOptionShadowOptions:()=>Oa,foundationListboxOptionStyles:()=>Da,foundationListboxOptionTemplate:()=>Ca,foundationMenu:()=>Ea,foundationMenuItem:()=>Ga,foundationMenuItemShadowOptions:()=>Ba,foundationMenuItemStyles:()=>Ia,foundationMenuItemTemplate:()=>Pa,foundationMenuShadowOptions:()=>Ma,foundationMenuStyles:()=>Ra,foundationMenuTemplate:()=>La,foundationModal:()=>qa,foundationModalShadowOptions:()=>Ua,foundationModalStyles:()=>za,foundationModalTemplate:()=>Va,foundationMultiselect:()=>an,foundationMultiselectShadowOptions:()=>en,foundationNumberField:()=>cn,foundationNumberFieldShadowOptions:()=>ln,foundationNumberFieldStyles:()=>nn,foundationNumberFieldTemplate:()=>sn,foundationPopper:()=>vn,foundationProgress:()=>Fn,foundationProgressRing:()=>On,foundationProgressRingShadowOptions:()=>Cn,foundationProgressRingStyles:()=>$n,foundationProgressRingTemplate:()=>Sn,foundationProgressShadowOptions:()=>wn,foundationProgressStyles:()=>gn,foundationProgressTemplate:()=>bn,foundationRadio:()=>Mn,foundationRadioGroup:()=>Bn,foundationRadioGroupShadowOptions:()=>Pn,foundationRadioGroupStyles:()=>An,foundationRadioGroupTemplate:()=>En,foundationRadioShadowOptions:()=>Ln,foundationRadioStyles:()=>kn,foundationRadioTemplate:()=>Tn,foundationSegmentedControl:()=>Yn,foundationSegmentedControlShadowOptions:()=>Vn,foundationSegmentedControlStyles:()=>jn,foundationSegmentedControlTemplate:()=>Gn,foundationSegmentedItem:()=>Jn,foundationSegmentedItemShadowOptions:()=>Kn,foundationSegmentedItemStyles:()=>Wn,foundationSegmentedItemTemplate:()=>qn,foundationSelect:()=>as,foundationSelectShadowOptions:()=>os,foundationSelectStyles:()=>Qn,foundationSelectTemplate:()=>es,foundationSkeleton:()=>cs,foundationSkeletonShadowOptions:()=>ls,foundationSkeletonStyles:()=>ns,foundationSkeletonTemplate:()=>ss,foundationSlider:()=>bs,foundationSliderShadowOptions:()=>vs,foundationSliderStyles:()=>us,foundationSliderTemplate:()=>ms,foundationSnackbar:()=>$s,foundationSnackbarShadowOptions:()=>xs,foundationSnackbarStyles:()=>ys,foundationSnackbarTemplate:()=>ws,foundationSwitch:()=>ks,foundationSwitchShadowOptions:()=>_s,foundationSwitchStyles:()=>Ss,foundationSwitchTemplate:()=>Ds,foundationTab:()=>As,foundationTabPanel:()=>js,foundationTabPanelShadowOptions:()=>Hs,foundationTabPanelStyles:()=>Es,foundationTabPanelTemplate:()=>Is,foundationTabShadowOptions:()=>Ns,foundationTabStyles:()=>Ts,foundationTabTemplate:()=>Rs,foundationTabs:()=>Ws,foundationTabsShadowOptions:()=>Us,foundationTabsStyles:()=>Gs,foundationTabsTemplate:()=>zs,foundationTextArea:()=>Qs,foundationTextAreaShadowOptions:()=>Zs,foundationTextAreaStyles:()=>qs,foundationTextAreaTemplate:()=>Xs,foundationTextField:()=>nr,foundationTextFieldShadowOptions:()=>ir,foundationTextFieldStyles:()=>er,foundationTextFieldTemplate:()=>tr,foundationToast:()=>ur,foundationToastShadowOptions:()=>lr,foundationToastStyles:()=>sr,foundationToastTemplate:()=>rr,foundationToolbar:()=>gr,foundationToolbarShadowOptions:()=>fr,foundationToolbarStyles:()=>pr,foundationToolbarTemplate:()=>hr,foundationTooltip:()=>$r,foundationTooltipShadowOptions:()=>xr,foundationTooltipStyles:()=>br,foundationTooltipTemplate:()=>yr,foundationTreeItem:()=>kr,foundationTreeItemShadowOptions:()=>_r,foundationTreeItemStyles:()=>Sr,foundationTreeItemTemplate:()=>Dr,foundationTreeView:()=>Ar,foundationTreeViewShadowOptions:()=>Nr,foundationTreeViewStyles:()=>Tr,foundationTreeViewTemplate:()=>Rr,foundationUrlInput:()=>jr,foundationUrlInputShadowOptions:()=>Pr,foundationUrlInputStyles:()=>Er,fuiAccentPalette:()=>lt,fuiAccentSwatch:()=>rt,fuiCardFillColor:()=>ut,fuiCardForegroundColor:()=>mt,fuiDefaultCardFillColor:()=>tt,fuiDefaultCardPalette:()=>ot,fuiFillColor:()=>ct,fuiNeutralPalette:()=>nt,fuiNeutralSwatch:()=>at,getDefaultConfig:()=>xt,getDropdownMenuTemplate:()=>co,getErrorDialogTemplate:()=>Mo,getExports:()=>Ft,getFontawesomeIconsCss:()=>ga,getPrefixedFileUpload:()=>Ko,getPrefixedMultiselect:()=>Ja,getTypeRampValue:()=>$t,jsonConverter:()=>pn,mapType:()=>Si,maxheight:()=>Ka,mixinFoundationFontFamily:()=>Lt,multiselectStyles:()=>Za,multiselectTemplate:()=>Qa,neutralFillActive:()=>m.neutralFillActive,neutralFillActiveDelta:()=>m.neutralFillActiveDelta,neutralFillFocus:()=>m.neutralFillFocus,neutralFillFocusDelta:()=>m.neutralFillFocusDelta,neutralFillHover:()=>m.neutralFillHover,neutralFillHoverDelta:()=>m.neutralFillHoverDelta,neutralFillInputActive:()=>m.neutralFillInputActive,neutralFillInputActiveDelta:()=>m.neutralFillInputActiveDelta,neutralFillInputFocus:()=>m.neutralFillInputFocus,neutralFillInputFocusDelta:()=>m.neutralFillInputFocusDelta,neutralFillInputHover:()=>m.neutralFillInputHover,neutralFillInputHoverDelta:()=>m.neutralFillInputHoverDelta,neutralFillInputRest:()=>m.neutralFillInputRest,neutralFillInputRestDelta:()=>m.neutralFillInputRestDelta,neutralFillLayerRest:()=>m.neutralFillLayerRest,neutralFillLayerRestDelta:()=>m.neutralFillLayerRestDelta,neutralFillRest:()=>m.neutralFillRest,neutralFillRestDelta:()=>m.neutralFillRestDelta,neutralFillStealthActive:()=>m.neutralFillStealthActive,neutralFillStealthActiveDelta:()=>m.neutralFillStealthActiveDelta,neutralFillStealthFocus:()=>m.neutralFillStealthFocus,neutralFillStealthFocusDelta:()=>m.neutralFillStealthFocusDelta,neutralFillStealthHover:()=>m.neutralFillStealthHover,neutralFillStealthHoverDelta:()=>m.neutralFillStealthHoverDelta,neutralFillStealthRest:()=>m.neutralFillStealthRest,neutralFillStealthRestDelta:()=>m.neutralFillStealthRestDelta,neutralFillStrongActive:()=>m.neutralFillStrongActive,neutralFillStrongActiveDelta:()=>m.neutralFillStrongActiveDelta,neutralFillStrongFocus:()=>m.neutralFillStrongFocus,neutralFillStrongFocusDelta:()=>m.neutralFillStrongFocusDelta,neutralFillStrongHover:()=>m.neutralFillStrongHover,neutralFillStrongHoverDelta:()=>m.neutralFillStrongHoverDelta,neutralFillStrongRest:()=>m.neutralFillStrongRest,neutralFillStrongRestDelta:()=>m.neutralFillStrongRestDelta,neutralForeground:()=>ht,neutralForegroundHint:()=>m.neutralForegroundHint,neutralForegroundRest:()=>m.neutralForegroundRest,neutralLayer1:()=>m.neutralLayer1,neutralLayer2:()=>m.neutralLayer2,neutralLayer3:()=>m.neutralLayer3,neutralLayer4:()=>m.neutralLayer4,neutralLayerCardContainer:()=>m.neutralLayerCardContainer,neutralLayerFloating:()=>m.neutralLayerFloating,neutralPalette:()=>m.neutralPalette,neutralPaletteValue:()=>Ct,neutralStrokeActive:()=>m.neutralStrokeActive,neutralStrokeActiveDelta:()=>m.neutralStrokeActiveDelta,neutralStrokeDividerRest:()=>m.neutralStrokeDividerRest,neutralStrokeDividerRestDelta:()=>m.neutralStrokeDividerRestDelta,neutralStrokeFocus:()=>m.neutralStrokeFocus,neutralStrokeFocusDelta:()=>m.neutralStrokeFocusDelta,neutralStrokeHover:()=>m.neutralStrokeHover,neutralStrokeHoverDelta:()=>m.neutralStrokeHoverDelta,neutralStrokeRest:()=>m.neutralStrokeRest,neutralStrokeRestDelta:()=>m.neutralStrokeRestDelta,paletteFromHex:()=>yt,provideDesignSystem:()=>Vr,provideTokens:()=>vt,registerFoundationDesignSystem:()=>sl,strokeWidth:()=>m.strokeWidth,swatchConverter:()=>bt,tagFor:()=>il,typeRampBaseFontSize:()=>m.typeRampBaseFontSize,typeRampBaseLineHeight:()=>m.typeRampBaseLineHeight,typeRampMinus1FontSize:()=>m.typeRampMinus1FontSize,typeRampMinus1LineHeight:()=>m.typeRampMinus1LineHeight,typeRampMinus2FontSize:()=>m.typeRampMinus2FontSize,typeRampMinus2LineHeight:()=>m.typeRampMinus2LineHeight,typeRampPlus1FontSize:()=>m.typeRampPlus1FontSize,typeRampPlus1LineHeight:()=>m.typeRampPlus1LineHeight,typeRampPlus2FontSize:()=>m.typeRampPlus2FontSize,typeRampPlus2LineHeight:()=>m.typeRampPlus2LineHeight,typeRampPlus3FontSize:()=>m.typeRampPlus3FontSize,typeRampPlus3LineHeight:()=>m.typeRampPlus3LineHeight,typeRampPlus4FontSize:()=>m.typeRampPlus4FontSize,typeRampPlus4LineHeight:()=>m.typeRampPlus4LineHeight,typeRampPlus5FontSize:()=>m.typeRampPlus5FontSize,typeRampPlus5LineHeight:()=>m.typeRampPlus5LineHeight,typeRampPlus6FontSize:()=>m.typeRampPlus6FontSize,typeRampPlus6LineHeight:()=>m.typeRampPlus6LineHeight,uploadFiles:()=>Qo,urlinputTemplate:()=>Ir,white:()=>Ke});var i={};o.r(i),o.d(i,{accentFillActive:()=>m.accentFillActive,accentFillActiveDelta:()=>m.accentFillActiveDelta,accentFillFocus:()=>m.accentFillFocus,accentFillFocusDelta:()=>m.accentFillFocusDelta,accentFillHover:()=>m.accentFillHover,accentFillHoverDelta:()=>m.accentFillHoverDelta,accentFillRest:()=>m.accentFillRest,accentFillRestDelta:()=>m.accentFillRestDelta,accentForegroundActive:()=>m.accentForegroundActive,accentForegroundActiveDelta:()=>m.accentForegroundActiveDelta,accentForegroundFocus:()=>m.accentForegroundFocus,accentForegroundFocusDelta:()=>m.accentForegroundFocusDelta,accentForegroundHover:()=>m.accentForegroundHover,accentForegroundHoverDelta:()=>m.accentForegroundHoverDelta,accentForegroundRest:()=>m.accentForegroundRest,accentForegroundRestDelta:()=>m.accentForegroundRestDelta,accentPalette:()=>m.accentPalette,baseHeightMultiplier:()=>m.baseHeightMultiplier,baseLayerLuminance:()=>m.baseLayerLuminance,bodyFont:()=>m.bodyFont,controlCornerRadius:()=>m.controlCornerRadius,defaultNeutralForegroundContrast:()=>pt,density:()=>m.density,designUnit:()=>m.designUnit,direction:()=>m.direction,disabledOpacity:()=>m.disabledOpacity,fillColor:()=>m.fillColor,focusStrokeInner:()=>m.focusStrokeInner,focusStrokeOuter:()=>m.focusStrokeOuter,focusStrokeWidth:()=>m.focusStrokeWidth,foregroundOnAccentActive:()=>m.foregroundOnAccentActive,foregroundOnAccentActiveLarge:()=>m.foregroundOnAccentActiveLarge,foregroundOnAccentFocus:()=>m.foregroundOnAccentFocus,foregroundOnAccentFocusLarge:()=>m.foregroundOnAccentFocusLarge,foregroundOnAccentHover:()=>m.foregroundOnAccentHover,foregroundOnAccentHoverLarge:()=>m.foregroundOnAccentHoverLarge,foregroundOnAccentRest:()=>m.foregroundOnAccentRest,foregroundOnAccentRestLarge:()=>m.foregroundOnAccentRestLarge,fuiCardFillColor:()=>ut,fuiCardForegroundColor:()=>mt,fuiFillColor:()=>ct,neutralFillActive:()=>m.neutralFillActive,neutralFillActiveDelta:()=>m.neutralFillActiveDelta,neutralFillFocus:()=>m.neutralFillFocus,neutralFillFocusDelta:()=>m.neutralFillFocusDelta,neutralFillHover:()=>m.neutralFillHover,neutralFillHoverDelta:()=>m.neutralFillHoverDelta,neutralFillInputActive:()=>m.neutralFillInputActive,neutralFillInputActiveDelta:()=>m.neutralFillInputActiveDelta,neutralFillInputFocus:()=>m.neutralFillInputFocus,neutralFillInputFocusDelta:()=>m.neutralFillInputFocusDelta,neutralFillInputHover:()=>m.neutralFillInputHover,neutralFillInputHoverDelta:()=>m.neutralFillInputHoverDelta,neutralFillInputRest:()=>m.neutralFillInputRest,neutralFillInputRestDelta:()=>m.neutralFillInputRestDelta,neutralFillLayerRest:()=>m.neutralFillLayerRest,neutralFillLayerRestDelta:()=>m.neutralFillLayerRestDelta,neutralFillRest:()=>m.neutralFillRest,neutralFillRestDelta:()=>m.neutralFillRestDelta,neutralFillStealthActive:()=>m.neutralFillStealthActive,neutralFillStealthActiveDelta:()=>m.neutralFillStealthActiveDelta,neutralFillStealthFocus:()=>m.neutralFillStealthFocus,neutralFillStealthFocusDelta:()=>m.neutralFillStealthFocusDelta,neutralFillStealthHover:()=>m.neutralFillStealthHover,neutralFillStealthHoverDelta:()=>m.neutralFillStealthHoverDelta,neutralFillStealthRest:()=>m.neutralFillStealthRest,neutralFillStealthRestDelta:()=>m.neutralFillStealthRestDelta,neutralFillStrongActive:()=>m.neutralFillStrongActive,neutralFillStrongActiveDelta:()=>m.neutralFillStrongActiveDelta,neutralFillStrongFocus:()=>m.neutralFillStrongFocus,neutralFillStrongFocusDelta:()=>m.neutralFillStrongFocusDelta,neutralFillStrongHover:()=>m.neutralFillStrongHover,neutralFillStrongHoverDelta:()=>m.neutralFillStrongHoverDelta,neutralFillStrongRest:()=>m.neutralFillStrongRest,neutralFillStrongRestDelta:()=>m.neutralFillStrongRestDelta,neutralForeground:()=>ht,neutralForegroundHint:()=>m.neutralForegroundHint,neutralForegroundRest:()=>m.neutralForegroundRest,neutralLayer1:()=>m.neutralLayer1,neutralLayer2:()=>m.neutralLayer2,neutralLayer3:()=>m.neutralLayer3,neutralLayer4:()=>m.neutralLayer4,neutralLayerCardContainer:()=>m.neutralLayerCardContainer,neutralLayerFloating:()=>m.neutralLayerFloating,neutralPalette:()=>m.neutralPalette,neutralStrokeActive:()=>m.neutralStrokeActive,neutralStrokeActiveDelta:()=>m.neutralStrokeActiveDelta,neutralStrokeDividerRest:()=>m.neutralStrokeDividerRest,neutralStrokeDividerRestDelta:()=>m.neutralStrokeDividerRestDelta,neutralStrokeFocus:()=>m.neutralStrokeFocus,neutralStrokeFocusDelta:()=>m.neutralStrokeFocusDelta,neutralStrokeHover:()=>m.neutralStrokeHover,neutralStrokeHoverDelta:()=>m.neutralStrokeHoverDelta,neutralStrokeRest:()=>m.neutralStrokeRest,neutralStrokeRestDelta:()=>m.neutralStrokeRestDelta,strokeWidth:()=>m.strokeWidth,typeRampBaseFontSize:()=>m.typeRampBaseFontSize,typeRampBaseLineHeight:()=>m.typeRampBaseLineHeight,typeRampMinus1FontSize:()=>m.typeRampMinus1FontSize,typeRampMinus1LineHeight:()=>m.typeRampMinus1LineHeight,typeRampMinus2FontSize:()=>m.typeRampMinus2FontSize,typeRampMinus2LineHeight:()=>m.typeRampMinus2LineHeight,typeRampPlus1FontSize:()=>m.typeRampPlus1FontSize,typeRampPlus1LineHeight:()=>m.typeRampPlus1LineHeight,typeRampPlus2FontSize:()=>m.typeRampPlus2FontSize,typeRampPlus2LineHeight:()=>m.typeRampPlus2LineHeight,typeRampPlus3FontSize:()=>m.typeRampPlus3FontSize,typeRampPlus3LineHeight:()=>m.typeRampPlus3LineHeight,typeRampPlus4FontSize:()=>m.typeRampPlus4FontSize,typeRampPlus4LineHeight:()=>m.typeRampPlus4LineHeight,typeRampPlus5FontSize:()=>m.typeRampPlus5FontSize,typeRampPlus5LineHeight:()=>m.typeRampPlus5LineHeight,typeRampPlus6FontSize:()=>m.typeRampPlus6FontSize,typeRampPlus6LineHeight:()=>m.typeRampPlus6LineHeight});var a={};o.r(a),o.d(a,{accentPaletteValue:()=>Dt,baseLayerLuminanceValue:()=>_t,controlCornerRadiusValue:()=>kt,designUnitValue:()=>Tt,directionValue:()=>Ot,neutralPaletteValue:()=>Ct});var n=o(38092),s=o(83147),r=o(75951),l=o(9770);const d=(e,t)=>s.css`
|
|
3
3
|
:host {
|
|
4
4
|
--actions-opener-height-multiplier: 0.7px;
|
|
@@ -478,7 +478,7 @@
|
|
|
478
478
|
`)}
|
|
479
479
|
</div>
|
|
480
480
|
</div>
|
|
481
|
-
`,Ue=void 0,Ye={};class We extends r.FoundationElement{formatChanged(e,t){t&&this.calendar&&(this.formatDate=Ie()(this.currentDate.Date).format(t))}valueChanged(e,t){t&&this.calendar&&(this.currentDate=new Be(new Date(t)),this.calendar.goToDate(this.currentDate.monthNumber,this.currentDate.year),this.formatDate=Ie()(this.currentDate.Date).format(this.format),this.updateHeaderText(),this.monthList=this.getMonthDaysGrid())}constructor(){var e;super(),this.format="MM-DD-YYYY",this.visible=!1,this.position="bottom";const t="en-US",o=new Date(null!==(e=this.currentDate)&&void 0!==e?e:this.getAttribute("value")||Date.now());this.substringNumber=3,this.currentDate=new Be(o,t),this.value=Ie()(this.currentDate.Date).format("MM-DD-YYYY"),this.calendar=new Ge(this.currentDate.year,this.currentDate.monthNumber,t)}connectedCallback(){super.connectedCallback(),this.currentMonth=this.calendar.month.name,this.currentYear=this.calendar.year,this.formatDate=Ie()(this.currentDate.Date).format(this.format),this.toggleButton.addEventListener("click",(()=>this.toggleCalendar())),this.prevBtn.addEventListener("click",(()=>this.prevMonth())),this.nextBtn.addEventListener("click",(()=>this.nextMonth())),this.monthList=this.getMonthDaysGrid()}updateHeaderText(){this.currentMonth=this.calendar.month.name,this.currentYear=this.calendar.year}toggleCalendar(){this.visible=!this.visible,this.toggleVisibility(),this.isCurrentCalendarMonth()||(this.calendar.goToDate(this.currentDate.monthNumber,this.currentDate.year),this.updateHeaderText())}toggleVisibility(){this.calendarDropdownClasses=(0,l.A)(["visible",this.visible],this.position)}isSelectedDate(e){return Ie()(e.Date).isSame(this.currentDate.Date,"day")}isCurrentCalendarMonth(){return this.currentMonth===this.currentDate.monthNumber&&this.currentYear===this.currentDate.year}prevMonth(){this.calendar.goToPreviousMonth(),this.updateHeaderText(),this.monthList=this.getMonthDaysGrid()}nextMonth(){this.calendar.goToNextMonth(),this.updateHeaderText(),this.monthList=this.getMonthDaysGrid()}selectDay(e){Ie()(e.Date).isSame(this.currentDate.Date)||(this.currentDate=e,e.monthNumber!==this.calendar.month.number&&this.prevMonth(),this.formatDate=Ie()(this.currentDate.Date).format(this.format),this.value=Ie()(e.Date).format("MM-DD-YYYY"),this.toggleCalendar())}getMonthDaysGrid(){const e=this.calendar.month.getDay(1),t=this.calendar.getPreviousMonth(),o=e.dayNumber-1,i=this.calendar.month.numberOfDays+o,a=Array.from({length:i});for(let e=o;e<i;e+=1)a[e]=this.calendar.month.getDay(e+1-o);for(let e=0;e<o;e+=1){const i=o-(e+1);a[e]=t.getDay(t.numberOfDays-i)}return a}}(0,n.__decorate)([s.attr],We.prototype,"format",void 0),(0,n.__decorate)([s.attr],We.prototype,"visible",void 0),(0,n.__decorate)([s.attr],We.prototype,"position",void 0),(0,n.__decorate)([s.attr],We.prototype,"value",void 0),(0,n.__decorate)([s.observable],We.prototype,"currentDate",void 0),(0,n.__decorate)([s.observable],We.prototype,"currentMonth",void 0),(0,n.__decorate)([s.observable],We.prototype,"currentYear",void 0),(0,n.__decorate)([s.observable],We.prototype,"calendarDropdownClasses",void 0),(0,n.__decorate)([s.observable],We.prototype,"formatDate",void 0),(0,n.__decorate)([s.observable],We.prototype,"monthList",void 0);const qe=We.compose(Object.assign({baseName:"date-picker",styles:ze,template:Ve,shadowOptions:Ue},Ye));var Xe=o(82694);const Ke=m.SwatchRGB.create(1,1,1),Ze=m.SwatchRGB.create(0,0,0),Je=(0,Xe.parseColorHexRGB)("#585858"),Qe=m.SwatchRGB.create(Je.r,Je.g,Je.b),et=(0,Xe.parseColorHexRGB)("#ffffff"),tt=m.SwatchRGB.create(et.r,et.g,et.b),ot=m.PaletteRGB.from(tt),it=(0,Xe.parseColorHexRGB)("#eeeeee"),at=m.SwatchRGB.create(it.r,it.g,it.b),nt=m.PaletteRGB.from(at),st=(0,Xe.parseColorHexRGB)("#08c3a5"),rt=m.SwatchRGB.create(st.r,st.g,st.b),lt=m.PaletteRGB.from(rt),{create:dt}=r.DesignToken,ct=dt("fui-fill-color").withDefault(Qe),ut=dt({name:"card-fill-color",cssCustomPropertyName:"fui-card-fill-color"}).withDefault(tt),pt=14;function ht(e,t){return e.colorContrast(t,pt)}const mt=dt({name:"card-foreground-color",cssCustomPropertyName:"fui-card-foreground-color"}).withDefault((e=>ht(dt("fui-card-palette").withDefault(ot).getValueFor(e),ut.getValueFor(e))));var ft=o(
|
|
481
|
+
`,Ue=void 0,Ye={};class We extends r.FoundationElement{formatChanged(e,t){t&&this.calendar&&(this.formatDate=Ie()(this.currentDate.Date).format(t))}valueChanged(e,t){t&&this.calendar&&(this.currentDate=new Be(new Date(t)),this.calendar.goToDate(this.currentDate.monthNumber,this.currentDate.year),this.formatDate=Ie()(this.currentDate.Date).format(this.format),this.updateHeaderText(),this.monthList=this.getMonthDaysGrid())}constructor(){var e;super(),this.format="MM-DD-YYYY",this.visible=!1,this.position="bottom";const t="en-US",o=new Date(null!==(e=this.currentDate)&&void 0!==e?e:this.getAttribute("value")||Date.now());this.substringNumber=3,this.currentDate=new Be(o,t),this.value=Ie()(this.currentDate.Date).format("MM-DD-YYYY"),this.calendar=new Ge(this.currentDate.year,this.currentDate.monthNumber,t)}connectedCallback(){super.connectedCallback(),this.currentMonth=this.calendar.month.name,this.currentYear=this.calendar.year,this.formatDate=Ie()(this.currentDate.Date).format(this.format),this.toggleButton.addEventListener("click",(()=>this.toggleCalendar())),this.prevBtn.addEventListener("click",(()=>this.prevMonth())),this.nextBtn.addEventListener("click",(()=>this.nextMonth())),this.monthList=this.getMonthDaysGrid()}updateHeaderText(){this.currentMonth=this.calendar.month.name,this.currentYear=this.calendar.year}toggleCalendar(){this.visible=!this.visible,this.toggleVisibility(),this.isCurrentCalendarMonth()||(this.calendar.goToDate(this.currentDate.monthNumber,this.currentDate.year),this.updateHeaderText())}toggleVisibility(){this.calendarDropdownClasses=(0,l.A)(["visible",this.visible],this.position)}isSelectedDate(e){return Ie()(e.Date).isSame(this.currentDate.Date,"day")}isCurrentCalendarMonth(){return this.currentMonth===this.currentDate.monthNumber&&this.currentYear===this.currentDate.year}prevMonth(){this.calendar.goToPreviousMonth(),this.updateHeaderText(),this.monthList=this.getMonthDaysGrid()}nextMonth(){this.calendar.goToNextMonth(),this.updateHeaderText(),this.monthList=this.getMonthDaysGrid()}selectDay(e){Ie()(e.Date).isSame(this.currentDate.Date)||(this.currentDate=e,e.monthNumber!==this.calendar.month.number&&this.prevMonth(),this.formatDate=Ie()(this.currentDate.Date).format(this.format),this.value=Ie()(e.Date).format("MM-DD-YYYY"),this.toggleCalendar())}getMonthDaysGrid(){const e=this.calendar.month.getDay(1),t=this.calendar.getPreviousMonth(),o=e.dayNumber-1,i=this.calendar.month.numberOfDays+o,a=Array.from({length:i});for(let e=o;e<i;e+=1)a[e]=this.calendar.month.getDay(e+1-o);for(let e=0;e<o;e+=1){const i=o-(e+1);a[e]=t.getDay(t.numberOfDays-i)}return a}}(0,n.__decorate)([s.attr],We.prototype,"format",void 0),(0,n.__decorate)([s.attr],We.prototype,"visible",void 0),(0,n.__decorate)([s.attr],We.prototype,"position",void 0),(0,n.__decorate)([s.attr],We.prototype,"value",void 0),(0,n.__decorate)([s.observable],We.prototype,"currentDate",void 0),(0,n.__decorate)([s.observable],We.prototype,"currentMonth",void 0),(0,n.__decorate)([s.observable],We.prototype,"currentYear",void 0),(0,n.__decorate)([s.observable],We.prototype,"calendarDropdownClasses",void 0),(0,n.__decorate)([s.observable],We.prototype,"formatDate",void 0),(0,n.__decorate)([s.observable],We.prototype,"monthList",void 0);const qe=We.compose(Object.assign({baseName:"date-picker",styles:ze,template:Ve,shadowOptions:Ue},Ye));var Xe=o(82694);const Ke=m.SwatchRGB.create(1,1,1),Ze=m.SwatchRGB.create(0,0,0),Je=(0,Xe.parseColorHexRGB)("#585858"),Qe=m.SwatchRGB.create(Je.r,Je.g,Je.b),et=(0,Xe.parseColorHexRGB)("#ffffff"),tt=m.SwatchRGB.create(et.r,et.g,et.b),ot=m.PaletteRGB.from(tt),it=(0,Xe.parseColorHexRGB)("#eeeeee"),at=m.SwatchRGB.create(it.r,it.g,it.b),nt=m.PaletteRGB.from(at),st=(0,Xe.parseColorHexRGB)("#08c3a5"),rt=m.SwatchRGB.create(st.r,st.g,st.b),lt=m.PaletteRGB.from(rt),{create:dt}=r.DesignToken,ct=dt("fui-fill-color").withDefault(Qe),ut=dt({name:"card-fill-color",cssCustomPropertyName:"fui-card-fill-color"}).withDefault(tt),pt=14;function ht(e,t){return e.colorContrast(t,pt)}const mt=dt({name:"card-foreground-color",cssCustomPropertyName:"fui-card-foreground-color"}).withDefault((e=>ht(dt("fui-card-palette").withDefault(ot).getValueFor(e),ut.getValueFor(e))));var ft=o(66499);const vt=(e,t,o)=>{const i=o?(e,t)=>e.setValueFor(o,t):(e,t)=>e.withDefault(t);Object.keys(e).forEach((o=>{const a=`${o}Value`;t[a]&&i(e[o],t[a])}))};function gt(e){return(t,o)=>{t[o+"Changed"]=function(t,o){null!=o?e.setValueFor(this,o):e.deleteValueFor(this)}}}const bt={toView:e=>null==e?null:null==e?void 0:e.toColorString(),fromView(e){if(null==e)return null;const t=(0,Xe.parseColorHexRGB)(e);return t?m.SwatchRGB.create(t.r,t.g,t.b):null}},yt=e=>m.PaletteRGB.from(m.SwatchRGB.from((0,Xe.parseColorHexRGB)(e))),wt=["baseClass","baseName","shadowOptions","styles","template"],xt=(e,t=wt)=>Object.keys(e).filter((e=>!t.includes(e))).reduce(((t,o)=>(t[o]=e[o],t)),{}),Ft=e=>{const{definition:t}=e(),{shadowOptions:o,styles:i,template:a}=t;return{shadowOptions:o,styles:i,template:a,defaultConfig:xt(t)}},$t=(e,t)=>{const o=e.match(/^(\d+)([a-z]+)/i),i=o[1],a=o[2];return Number(i)+t+a},St=(e,t)=>{const o=t.design_tokens;m.accentPalette.setValueFor(e,yt(o.color.accent.$value)),m.neutralPalette.setValueFor(e,yt(o.color.neutral.$value)),m.bodyFont.setValueFor(e,o.fontFamily.bodyFont.$value),m.baseLayerLuminance.setValueFor(e,o.mode.luminance.$value),m.density.setValueFor(e,o.style.density.$value),m.controlCornerRadius.setValueFor(e,o.style.borderRadius.$value),m.strokeWidth.setValueFor(e,o.style.strokeWidth.$value),m.designUnit.setValueFor(e,o.space.designUnit.$value),m.typeRampBaseFontSize.setValueFor(e,o.typography.baseFontSize.$value),m.typeRampBaseLineHeight.setValueFor(e,o.typography.baseLineHeight.$value);const i=m.typeRampBaseFontSize.getValueFor(e),a=m.typeRampBaseLineHeight.getValueFor(e);m.typeRampMinus1FontSize.setValueFor(e,$t(i,ft.TypeRampValues.minusOne)),m.typeRampMinus1LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.minusOne)),m.typeRampMinus2FontSize.setValueFor(e,$t(i,ft.TypeRampValues.minusTwo)),m.typeRampMinus2LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.minusTwo)),m.typeRampPlus1FontSize.setValueFor(e,$t(i,ft.TypeRampValues.plusOne)),m.typeRampPlus1LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.plusOne)),m.typeRampPlus2FontSize.setValueFor(e,$t(i,ft.TypeRampValues.plusTwo)),m.typeRampPlus2LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.plusTwo)),m.typeRampPlus3FontSize.setValueFor(e,$t(i,ft.TypeRampValues.plusThree)),m.typeRampPlus3LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.plusThree)),m.typeRampPlus4FontSize.setValueFor(e,$t(i,ft.TypeRampValues.plusFour)),m.typeRampPlus4LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.plusFour)),m.typeRampPlus5FontSize.setValueFor(e,$t(i,ft.TypeRampValues.plusFive)),m.typeRampPlus5LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.plusFive)),m.typeRampPlus6FontSize.setValueFor(e,$t(i,ft.TypeRampValues.plusSix)),m.typeRampPlus6LineHeight.setValueFor(e,$t(a,ft.TypeRampValues.plusSix))},Dt=yt("#08c3a5"),Ct=yt("#eeeeee"),_t=m.StandardLuminance.DarkMode;const Ot=o(5598).N.ltr,kt=4,Tt=4;var Rt=o(67973);const Lt=(e="normal",t="normal")=>`\n font-family: ${m.bodyFont};\n font-style: ${e};\n font-weight: ${t};\n`,Nt=s.css`
|
|
482
482
|
${(0,r.display)("flex")}
|
|
483
483
|
:host {
|
|
484
484
|
flex: 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"430.430.xxxxxxxxxxxxxxxxxxxx.js","mappings":"iKAIO,IAAIA,E,yBACX,SAAWA,GACPA,EAAgB,MAAI,QACpBA,EAAc,IAAI,MAClBA,EAAc,IAAI,MAClBA,EAAkB,QAAI,SACzB,CALD,CAKGA,IAAaA,EAAW,CAAC,IAKrB,MAAMC,UAAkBC,MAC3BC,YAAYC,EAAMC,EAAUC,EAAU,kBAClCC,MAAMD,GACNE,KAAKJ,KAAOA,EACZI,KAAKH,SAAWA,EAChBI,OAAOC,eAAeF,KAAMP,EAAUU,UAC1C,CAEAC,mBACI,IAAIC,EAAIC,EAAIC,EAAIC,EAEhB,OAAyM,QAAjMA,EAA0I,QAApID,EAAqF,QAA/ED,EAA8B,QAAxBD,EAAKL,KAAKH,gBAA6B,IAAPQ,OAAgB,EAASA,EAAGI,eAA4B,IAAPH,OAAgB,EAASA,EAAGI,aAA0B,IAAPH,OAAgB,EAASA,EAAGI,qBAAkC,IAAPH,OAAgB,EAASA,EAAGI,SAAS,sCAC1P,CACAC,kBACI,IAAIR,EAAIC,EACR,OAAOQ,MAAMC,QAAiC,QAAxBV,EAAKL,KAAKH,gBAA6B,IAAPQ,OAAgB,EAASA,EAAGK,OACnD,QAAxBJ,EAAKN,KAAKH,gBAA6B,IAAPS,OAAgB,EAASA,EAAGI,MAAMM,KAAKC,GAAUjB,KAAKkB,qBAAqBD,KAAQE,KAAK,MACzH,EACV,CACAC,kBACI,IAAIf,EAAIC,EAAIC,EAAIC,EAChB,OAAOM,MAAMC,QAAwF,QAA/ET,EAA8B,QAAxBD,EAAKL,KAAKH,gBAA6B,IAAPQ,OAAgB,EAASA,EAAGI,eAA4B,IAAPH,OAAgB,EAASA,EAAGI,OACnD,QAA/EF,EAA8B,QAAxBD,EAAKP,KAAKH,gBAA6B,IAAPU,OAAgB,EAASA,EAAGE,eAA4B,IAAPD,OAAgB,EAASA,EAAGE,MAAMM,KAAKC,GAAUjB,KAAKkB,qBAAqBD,KAAQE,KAAK,MAChL,EACV,CACAE,0BACI,OAAOrB,KAAKsB,aAAa,mBAC7B,CACAA,aAAaC,GACT,IAAIlB,EAAIC,EACR,QAAOQ,MAAMC,QAAiC,QAAxBV,EAAKL,KAAKH,gBAA6B,IAAPQ,OAAgB,EAASA,EAAGK,SACnD,QAAxBJ,EAAKN,KAAKH,gBAA6B,IAAPS,OAAgB,EAASA,EAAGI,MAAMc,MAAMP,GAAUA,EAAMQ,OAASF,IAE5G,CACAL,qBAAqBD,GACjB,MAAO,MAAMA,EAAMQ,YAAYR,EAAMS,MACzC,E,kFClDJ,MAAMC,EACFhC,cACIK,KAAK4B,eAAiB,IAAIC,IAC1B7B,KAAK8B,iBAAmB,IAAID,GAChC,CACAE,eAAeC,GACX,OAAOhC,KAAK4B,eAAeK,IAAID,EACnC,CACAE,iBAAiBF,GACb,OAAOhC,KAAK8B,iBAAiBG,IAAID,EACrC,CACAG,eAAeH,GACX,OAAOhC,KAAK4B,eAAeQ,IAAIJ,EACnC,CACAK,iBAAiBL,GACb,OAAOhC,KAAK8B,iBAAiBM,IAAIJ,EACrC,CACAM,eAAeN,EAAcO,GACzBvC,KAAK4B,eAAeY,IAAIR,EAAcO,EAC1C,CACAE,iBAAiBT,EAAcU,GAC3B1C,KAAK8B,iBAAiBU,IAAIR,EAAcU,EAC5C,EAMG,MAAMC,EAAY,EAAAC,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUnB,KCzBlDoB,EAAwB,IAAIC,OAAO,gFAAiF,K,eCC1H,MAAMC,EAAgB,EAAAL,GAAA,kBAKhBM,EAAoB,EAAAN,GAAA,kB,2FCFjC,MAAMO,EAIFC,UAAUC,GACN,OAAOC,KAAKC,UAAUF,EAC1B,CACAG,YAAYC,GACR,OAAKA,EAGgB,iBAAVA,EACAH,KAAKI,MAAMD,GAElBA,EAAME,KACCL,KAAKI,MAAMD,EAAME,MAErBF,EAAMG,OAAOC,MAAMD,GAASN,KAAKI,MAAME,KARnCE,QAAQC,QAAQ,CAAC,EAShC,EAMG,MAAMC,EAAa,EAAApB,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUK,KC7BhE,IAAIc,EAAc,MACdtE,YAAYuE,GACRlE,KAAKkE,WAAaA,CACtB,CACAjC,IAAIkC,EAAKC,GACL,OAAO,IAAAC,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMsE,QAAiBC,MAAMJ,EAAKlE,OAAOuE,OAAOvE,OAAOuE,OAAO,CAAC,EAAGJ,GAAc,CAAEK,OAAQ,SAE1F,OADmBL,EAAYF,YAAclE,KAAKkE,YAChCV,YAAYc,EAClC,GACJ,CACAI,KAAKP,EAAKC,GACN,OAAO,IAAAC,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMsE,QAAiBC,MAAMJ,EAAKlE,OAAOuE,OAAOvE,OAAOuE,OAAO,CAAC,EAAGJ,GAAc,CAAEK,OAAQ,UAE1F,OADmBL,EAAYF,YAAclE,KAAKkE,YAChCV,YAAYc,EAClC,GACJ,GAEJL,GAAc,IAAAU,YAAW,EACrB,IAAAC,SAAQ,EAAGZ,IACZC,GAKI,MAAMY,EAAO,EAAAjC,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUmB,K,cCdnD,MAAMa,EAA2B,CACpCC,QAAS9E,OAAOuE,OAAO,CAAEQ,YAAa,CAC9BC,iBAAkB,CACdC,eAAgB,IAChBC,gBAAiB,EACjBC,QAAS,CAAC,eAEfC,qBAAsB,CACrBC,WAAY,IACZC,UAAW,IACXC,qBAAsB,KACvBC,kBAAmB,KAAuE,CAAC,IAMtG,IAAIC,EAAqB,MAAMA,EACvBC,kBACA,OAAO3F,KAAK4F,YAChB,CACID,gBAAYE,GACZ7F,KAAK4F,aAAeC,EACpB7F,KAAK8F,mBAAmBC,KAAK/F,KAAK4F,aACtC,CACAjG,YAAYqG,EAAMC,EAAgBC,EAASC,EAAWjC,EAAYkC,EAAStB,GACvE,IAAIzE,EACJL,KAAKgG,KAAOA,EACZhG,KAAKiG,eAAiBA,EACtBjG,KAAKkG,QAAUA,EACflG,KAAKmG,UAAYA,EACjBnG,KAAKkE,WAAaA,EAClBlE,KAAKoG,OAASA,EACdpG,KAAKqG,WAAY,EACjBrG,KAAK4F,cAAe,EAGpB5F,KAAK8F,mBAAqB,IAAIQ,EAAA,EAAgBtG,KAAK4F,cACnD5F,KAAKuG,aAAkD,QAAlClG,EAAKL,KAAK8F,0BAAuC,IAAPzF,OAAgB,EAASA,EAAGmG,eAE3FxG,KAAKyG,aAAe,CAAC,EAMrBzG,KAAK0G,QAAU,IAAI7E,GACvB,CAMA8E,YACI,OAAO,IAAAtC,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,IACI,OAAOA,KAAK4G,WAAW,CACnBC,aAAc,oBACdC,WAAY,eACbjD,MAAMS,GACEA,EAASuC,eAAiB,qBAEzC,CACA,MAAOE,GAEH,OADAC,EAAA,QAAaD,IACN,CACX,CACJ,GACJ,CACAE,KAAKnH,EAASoH,GACV,OAAOlH,KAAKgG,KAAKtB,KAAKgB,EAAmByB,OAAOnH,KAAKoH,KAAMtH,GAAU,CACjEuH,KAAM3B,EAAmB4B,QAAQxH,GACjCyH,QAAS7B,EAAmB8B,WAAW1H,IAE/C,CACA2H,WACI,OAAO,CACX,CACAC,gBAAgBC,GACZX,EAAA,OAAY,uDAChB,CACAY,QAAQR,GACJ,OAAO,IAAA/C,WAAUrE,UAAM,OAAQ,GAAQ,YAKnC,OAJAA,KAAKoH,KAAOA,EACPpH,KAAKoH,KAAKS,SAAS,OACpB7H,KAAKoH,KAAOpH,KAAKoH,KAAKU,OAAO,MAE1B9H,KAAK2G,YAAY9C,MAAMkE,IAC1B/H,KAAK2F,YAAcoC,EACnB/H,KAAKkG,QAAQ8B,sBAAsB,UAAWhI,KAAKoH,MAC5CW,IAEf,GACJ,CACAE,aACIjI,KAAK2F,aAAc,EACnB3F,KAAK0G,QAAQwB,QACblI,KAAKyG,aAAe,CAAC,EACrBzG,KAAKoH,UAAOe,CAChB,CACAC,SAASpG,EAAcqG,GACnB,OAAO,IAAAhE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMsI,EAAkBtI,KAAKiG,eAAesC,uBAAuBvG,EAAcqG,GAEjF,OADArB,EAAA,QAAa,eAAesB,EAAgBzB,8CAA+CyB,GACpFtI,KAAKiH,KAAKqB,GAAiBzE,MAAM/D,IAEpCE,KAAKwI,WAAWF,EAAgBxB,YAAY2B,OAAO1B,GAAMC,EAAA,QAAaD,KAC/DjH,IAEf,GACJ,CACA4I,OAAO1G,EAAc2G,EAAWC,EAASP,GACrC,MAAMQ,EAAgB7I,KAAKiG,eAAesC,uBAAuBvG,EAAcqG,GAC/ErB,EAAA,QAAa,eAAe6B,EAAchC,4CAA6CgC,GACvF,MAAM/B,EAAa+B,EAAc/B,WACjC9G,KAAK0G,QAAQlE,IAAIsE,EAAY,CACzBA,aACArB,kBAAmB,IAAIa,EAAA,EAAgBtG,KAAKoG,OAAOrB,QAAQU,mBAC3DqD,cAAe9G,IAEnB,MAAM+G,EAAY/I,KAAK0G,QAAQzE,IAAI6E,GAAYrB,kBACzCiD,GAAS,EAAAZ,EAAA,IAEf,EAAAkB,EAAA,GAAKhJ,KAAKiH,KAAK4B,IAEfE,EACKE,MAAK,EAAAC,EAAA,IAAWC,IAAO,EAAAC,EAAA,GAASD,MAChCF,MAAK,EAAAC,EAAA,IAAU,KAAM,EAAAF,EAAA,GAAKhJ,KAAK4G,WAAWiC,QAAmBI,MAAK,EAAAI,EAAA,IAAU,IAAMrJ,KAAK0G,QAAQtE,IAAI0E,MACxG,EAAAwC,EAAA,IAAS,KACLtC,EAAA,QAAa,0BAA0BhF,OAAkB8E,KACzD9G,KAAKwI,WAAW1B,EAAW,KAG/B,OADA9G,KAAK0G,QAAQzE,IAAI6E,GAAYyC,OAASb,EAC/BA,CACX,CACA9B,WAAW9G,GACP,OAAO,IAAAuE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,OAAOA,KAAKgG,KAAK/D,IAAIyD,EAAmByB,OAAOnH,KAAKoH,KAAMtH,GAAU,CAChEyH,QAAS7B,EAAmB8B,WAAW1H,IAE/C,GACJ,CACA0J,YAAYC,GACR,OAAO,IAAApF,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAM0J,EAAkB1J,KAAKiG,eAAe0D,sBAAsBF,GAElE,OADAzC,EAAA,QAAa,eAAe0C,EAAgB7C,mCAAoC6C,GACzE1J,KAAKiH,KAAKyC,EACrB,GACJ,CACAlB,WAAWoB,GACP,OAAO,IAAAvF,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAM6J,EAAoB7J,KAAKiG,eAAe6D,wBAAwBF,GACtE,OAAO5J,KAAKiH,KAAK4C,GAAmBhG,MAAMkG,IAClC/J,KAAK0G,QAAQtE,IAAIwH,KACjB5C,EAAA,QAAa,mBAAmB4C,KAChC5J,KAAK0G,QAAQsD,OAAOJ,IAEjBG,IAEf,GACJ,CACAE,YAAYjI,EAAckI,GAAW,GACjC,OAAO,IAAA7F,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMmK,EAAqBnK,KAAKiG,eAAemE,yBAAyBpI,GAGxE,OAFAgF,EAAA,QAAa,eAAemD,EAAmBtD,8CAA+CsD,GAEvFnK,KAAKiH,KAAKkD,GAAoBtG,MAAMkG,GAAQA,EAAItJ,SAC3D,GACJ,CACA4J,cAAcrI,GACV,OAAO,IAAAqC,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMmK,EAAqBnK,KAAKiG,eAAemE,yBAAyBpI,EAAc,0BAEtF,OADAgF,EAAA,QAAa,gBAAgBmD,EAAmBtD,iDAAkDsD,GAC3FnK,KAAKiH,KAAKkD,EACrB,GACJ,CACAG,QAAQtI,EAAcqG,GAClB,MAAMkC,EAAiBvK,KAAKiG,eAAeuE,qBAAqBxI,EAAcqG,GAE9E,OADArB,EAAA,QAAa,gBAAgBuD,EAAe1D,oDAAqD0D,GAC1FvK,KAAKiH,KAAKsD,EACrB,CACAE,YAAYC,EAAWrC,GACnB,OAAO,IAAAhE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAM2K,EAAgB3K,KAAKiG,eAAe2E,oBAAoBF,EAAWrC,GAEzE,OADArB,EAAA,QAAa,gBAAgB2D,EAAc9D,4CAA6C8D,GACjF3K,KAAKiH,KAAK0D,GAAe9G,MAAMgH,IAClC7K,KAAK8K,WAAWJ,EAAWG,GACpBA,IAEf,GACJ,CACAC,WAAWJ,EAAW5K,GAClB,IAAIO,EACJ,KAAwF,QAAjFA,EAAKP,aAAyC,EAASA,EAAQ+G,oBAAiC,IAAPxG,OAAgB,EAASA,EAAGwH,SAAS,SACjI,OACJ,GAAI7H,KAAKyG,aAAaiE,GAElB,YADA1D,EAAA,QAAa,GAAG0D,+CAGpB,MAAMK,EAAQ/K,KAAKoG,OAAOrB,QAAQC,YAAY0F,GAC9C,KAAOK,aAAqC,EAASA,EAAM7F,kBAAmB6F,EAAM5F,gBAChF,OAEJ,MAAM6F,EAAOD,EAAM7F,eACb+F,EAAWD,EAAOD,EAAM5F,gBAExB+F,EAA6B5H,KAAKI,MAAMJ,KAAKC,UAAUvD,KAAKoG,OAAOrB,QAAQM,uBAC3E8F,EAAiB7H,KAAKI,MAAMJ,KAAKC,UAAUvD,KAAKoG,OAAOrB,QAAQM,uBACrE,IAAK,MAAM+F,KAAKL,EAAM3F,QAClB+F,EAAeC,GAAKJ,EACfE,EAA2BE,KAC5BF,EAA2BE,GAAKpL,KAAKoG,OAAOrB,QAAQU,mBAI5DuB,EAAA,QAAa,GAAG0D,8CAAsDM,gBAAmBC,KACzFjL,KAAKyG,aAAaiE,IAAa,EAC/B1K,KAAKqL,gBAAgB,CACjBtG,QAAS,CACLM,qBAAsB8F,KAI9BG,YAAW,KACPtE,EAAA,QAAa,2CAA2C0D,KACxD1K,KAAKqL,gBAAgB,CACjBtG,QAAS,CACLM,qBAAsB6F,KAG9BlL,KAAKyG,aAAaiE,IAAa,CAAK,GACrCO,EACP,CACAI,gBAAgBjF,GACZ,MAAM,qBAAEf,GAAyBe,EAAOrB,QACnCM,IAELrF,KAAKoG,OAAOrB,QAAQM,qBAAuBA,EAC3CrF,KAAKuL,+BAA+BlG,GACxC,CACAkG,+BAA+BC,GAC3B,GAAKA,EAGL,IAAK,MAAMC,KAAYD,EAAoB,CACvC,IAAKA,EAAmBE,eAAeD,GACnC,SACJ,MAAME,EAAUH,EAAmBC,GACnCzL,KAAKoG,OAAOrB,QAAQM,qBAAqBoG,GAAYE,EACrD3E,EAAA,QAAa,iCAAiCyE,OAAcE,KAE5D,IAAI3L,KAAK0G,QAAQkF,UACZC,QAAQC,GAAMA,EAAEhD,gBAAkB2C,IAClCM,SAASD,IAAQ,IAAIzL,EAAI,OAA4E,QAApEA,EAAKyL,aAA6B,EAASA,EAAErG,yBAAsC,IAAPpF,OAAgB,EAASA,EAAG0F,KAAK4F,EAAQ,GAC/J,CACJ,CACAK,kBAAkBlM,GACd,MAAMyH,EAAU,CACZ,eAAgB,kCAChB,aAAczH,EAAQgH,YAQ1B,OANIhH,EAAQmM,qBACR1E,EAAQ,sBAAwBzH,EAAQmM,oBAExCnM,EAAQ+G,eAAiB,oBACzBU,EAAQ,cAAgBzH,EAAQoM,YAE7B3E,CACX,CACAyE,eAAelM,GACX,OAAOwD,KAAKC,UAAUzD,EAC1B,CACAkM,cAAc5E,EAAMtH,GAChB,MAAMqM,EAAOrM,EAAQ+G,aACrB,IAAIuF,EAActM,EAAQ+G,aAAawF,QAAQ,KAAM,KAAK1L,cAK1D,OAHIwL,IAAS,kBACTC,EAActM,EAAQW,QAAQ6L,gBAAgBD,QAAQ,KAAM,KAAK1L,eAE9D,GAAGyG,IAAOgF,GACrB,IAEJ,IAAAzH,YAAW,CACP,EAAA4H,YACD7G,EAAmBvF,UAAW,YAAQ,IACzC,IAAAwE,YAAW,CACP,EAAA4H,YACD7G,EAAmBvF,UAAW,iBAAa,IAC9C,IAAAwE,YAAW,CACP,EAAA4H,YACD7G,EAAmBvF,UAAW,oBAAgB,IACjD,IAAAwE,YAAW,CACP,EAAA6H,UACD9G,EAAmBvF,UAAW,cAAe,MAChDuF,GAAqB,IAAAf,YAAW,EAC5B,IAAAC,SAAQ,EAAGC,IACX,IAAAD,SAAQ,EAAG,OACX,IAAAA,SAAQ,EAAG,MACX,IAAAA,SAAQ,EAAGjC,IACX,IAAAiC,SAAQ,EAAG,EAAAzB,iBACX,IAAAyB,SAAQ,GAAG,IAAA6H,UAASvJ,KACrBwC,GAKI,MAAMgH,EAAc,EAAA9J,GAAA,iBAAoBC,GAAMA,EAAEC,UAAU4C,K,sGChUjE,MAAMiH,EAA6B,IAC7BC,EAAyB,IAUxB,IAAIC,GACX,SAAWA,GACPA,EAAgC,OAAI,SACpCA,EAAqC,YAAI,aAC5C,CAHD,CAGGA,IAA4BA,EAA0B,CAAC,IAQnD,MAuBMC,EAAuB,CAACC,EAAkBC,KACnD,MAAM,kBAAEC,EAAoBN,GAA+BI,EACrDG,EAAeD,EAAoBL,EAAyBA,EAAyBK,EACrFE,EAAqBC,KAAKC,MAAMD,KAAKE,KAAKV,EAAyBM,IACzE,OAAOA,EAAeE,KAAKG,IAAI,EAAIP,EAAWG,EAAoB,EAQzDK,EAAmBT,IAC5B,MAAM,kBAAEE,EAAoBN,GAA+BI,EAE3D,OADqBE,EAAoBL,EAAyBA,EAAyBK,CACxE,EC7ChB,MAAMQ,UAAsBC,EAAA,EAC/B/N,cACII,OACJ,EAqBG,MAAM4N,EACThO,YAAYG,EAAS6I,EAAWC,EAASgF,GACrC5N,KAAK6N,SAAW/N,EAChBE,KAAK8N,WAAanF,EAClB3I,KAAK+N,SAAWnF,EAChB5I,KAAKgO,gBAAkBJ,CAC3B,CAKIK,kBACA,OAAOjO,KAAK6N,QAChB,CAKIK,wBACA,OAAOlO,KAAK8N,UAChB,CAKIK,sBACA,OAAOnO,KAAK+N,QAChB,CAKIH,qBACA,OAAO5N,KAAKgO,eAChB,EAEJ,IAAII,EAAgB,MAChBC,mBAAmBC,EAAG3I,GAClB3F,KAAK8F,mBAAmBC,KAAKJ,EACjC,CACAhG,YAAYsG,EAAgBC,EAAShC,EAAYqK,GAC7CvO,KAAKiG,eAAiBA,EACtBjG,KAAKkG,QAAUA,EACflG,KAAKkE,WAAaA,EAClBlE,KAAKuO,KAAOA,EACZvO,KAAKwO,gBAAkB,IACvBxO,KAAKyO,kBAAoB,IACzBzO,KAAK8F,mBAAqB,IAAIQ,EAAA,GAAgB,GAC9CtG,KAAK2F,aAAc,EACnB3F,KAAK0O,iBAAkB,EACvB1O,KAAK2O,oBAAqB,EAC1B3O,KAAK4O,kBAAoB5O,KAAKwO,gBAC9BxO,KAAK6O,gBAAiB,EACtB7O,KAAK8O,eAAiB,IAAM9O,KAAK+O,UACrC,CACIC,gCACA,IAAI3O,EAAIC,EACR,OAA4G,QAApGA,EAAoC,QAA9BD,EAAKL,KAAKiP,sBAAmC,IAAP5O,OAAgB,EAASA,EAAG6O,8BAA2C,IAAP5O,GAAgBA,CACxI,CACI6O,8BACA,IAAI9O,EAAIC,EACR,OAA0G,QAAlGA,EAAoC,QAA9BD,EAAKL,KAAKiP,sBAAmC,IAAP5O,OAAgB,EAASA,EAAG+O,4BAAyC,IAAP9O,GAAgBA,CACtI,CACAsH,QAAQR,EAAM6H,EAAgBlC,GAI1B,OAHA/M,KAAKmE,IAAMiD,EACXpH,KAAKiP,eAAiBA,EACtBjP,KAAK+M,iBAAmBA,EACjB,IAAIjJ,SAASC,IAChB,IAAI1D,EAAIC,EAAIC,EAAIC,EAChBwG,EAAA,OAAY,GAAGhH,KAAK6O,eAAiB,eAAiB,mBAAmB7O,KAAKmE,SACvDnE,KAAK6O,kBAAqD,QAAhCxO,EAAKL,KAAK+M,wBAAqC,IAAP1M,OAAgB,EAASA,EAAGgP,oBAEjHrP,KAAKsP,gBAE0B,QAAlChP,EAAKN,KAAKuP,0BAAuC,IAAPjP,GAAyBA,EAAGkP,cACvExP,KAAKyP,UAAY,IAAIC,EAAA,EAAiB,CAClCvL,IAAKnE,KAAKmE,IACVwL,aAAc,CACV5J,KAAM,KACF/F,KAAK2F,aAAc,EACnB3F,KAAKkG,QAAQ8B,sBAAsB,UAAWhI,KAAKmE,KACnDnE,KAAK4P,mBACL5I,EAAA,OAAY,oCACZjD,EAAQ/D,KAAK2F,YAAY,GAGjCkK,cAAe,CACX9J,KAAO+J,IACH9P,KAAK+P,sBAAwBD,EAAWE,SACxChQ,KAAK2F,aAAc,EACf3F,KAAK+P,sBACL/I,EAAA,OAAY,wDAAwD8I,EAAWvO,QAAQuO,EAAWG,OAAS,cAAgBH,EAAWG,OAAS,MAEnJlM,EAAQ/D,KAAK2F,YAAY,GAGjCzB,WAAYlE,KAAKkE,WAAWd,UAC5B8M,aAAclQ,KAAKkE,WAAWV,cA0FlCxD,KAAKuP,mBAAqBvP,KAAKyP,UAAUU,UAAwG,QAA7F3P,EAAoC,QAA9BD,EAAKP,KAAKiP,sBAAmC,IAAP1O,OAAgB,EAASA,EAAG6P,uBAAoC,IAAP5P,EAAgBA,EAAK,CAC1KuF,KAzFmBsK,IAAoB,IAAAhM,WAAUrE,UAAM,OAAQ,GAAQ,YACvE,IAAIsQ,EACJ,MAAMC,EAA6B,4CAA4CF,EAAgBvJ,6BAA6BuJ,EAAgBxJ,eAC5I7G,KAAKwQ,mBAAmBH,EAAgBxJ,aAAcG,EAAA,OAAauJ,GACnE,MAAM,WAAEzJ,EAAU,aAAED,GAAiBwJ,EAC/BI,EAAiBzQ,KAAK0Q,kBAAkB5J,EAAYD,GAC1D,IAAK4J,EACD,OAEJ,IAAIE,GAAS,EACb,OAAQN,EAAgBxJ,cACpB,KAAK,0BAAuC,CACxC7G,KAAK0O,iBAAkB,EACvB,MAAMkC,EAAgBP,EAAgB5P,QAElCmQ,EAAcC,8BAC6E1I,KAA3D,QAA9BmI,EAAKtQ,KAAKiP,sBAAmC,IAAPqB,OAAgB,EAASA,EAAG1B,qBACpE5O,KAAK4O,kBACDgC,EAAcC,wBAA0B7Q,KAAKyO,kBACjDzO,KAAK4P,oBAET,KACJ,CACA,KAAK,gBAID,OAHA5P,KAAK0O,iBAAkB,EACvB+B,EAAevC,kBAAkB4C,KAAK9Q,KAAMqQ,QAC5CrQ,KAAKsP,gBAGT,KAAK,eACD,OACJ,KAAK,gBACD,GAAIe,EAAgBU,YAAc/Q,KAAK0O,gBAAiB,CACpD,MAAMsC,EAAsBhR,KAAKiG,eAAegL,4BAC1CC,QAA2BlR,KAAKiH,KAAK+J,GACtCE,EAGIA,EAAmBrK,eAAiB,4BACzC7G,KAAKkG,QAAQiL,cAAcD,GAC3BlR,KAAKoR,kBAAkBrF,SAASsF,IACxBA,EAAGzD,iBACHyD,EAAGpD,YAAYhC,mBAAqBiF,EAAmBjF,mBACvDjM,KAAKyP,UAAU1J,KAAKsL,EAAGpD,aAC3B,KARJjO,KAAK0O,iBAAkB,CAW/B,CACA,MAEJ,KAAK,kBACD,IAAK+B,EAAe7C,eAAgB,CAChC,MAAM/D,EAAoB7J,KAAKiG,eAAe6D,wBAAwBhD,GACtE9G,KAAKiH,KAAK4C,EACd,CACA,MAEJ,KAAK,cACD8G,GAAS,EAIbA,EACAF,EAAetC,gBAAgB2C,KAAK9Q,KAAM,CACtCqQ,kBACApC,YAAawC,EAAexC,cAIhCwC,EAAevC,kBAAkB4C,KAAK9Q,KAAMqQ,GAEhDrQ,KAAK+O,WAAWhJ,KAAKsK,GAChBI,EAAe7C,gBAChB5N,KAAKsR,qBAAqBxK,EAElC,IAeI7F,MAdaA,IACb+F,EAAA,QAAa,gBAAiB/F,GAC9BjB,KAAKuR,WAAW,EAahBC,SAXe,KACf,IAAInR,EACAL,KAAK+P,uBAAwD,QAA9B1P,EAAKL,KAAKiP,sBAAmC,IAAP5O,OAAgB,EAASA,EAAGoR,UACjGzR,KAAKuR,YAGTvK,EAAA,OAAY,2BAA2B,GAMzC,GAEV,CACA4I,mBACI,IAAIvP,EAAIC,EAAIC,EAAIC,EACZR,KAAK0R,uBACL1R,KAAK0R,sBAAsBlC,cAE/B,MAAMmC,EAAgB,KAAM,IAAAtN,WAAUrE,UAAM,OAAQ,GAAQ,YACxD,IAAKA,KAAK2F,YACN,OACJ,MAAMiM,EAAO,CACT/K,aAAc,oBACdC,WAAY9G,KAAKuO,KAAKsD,YAEpBC,QAAa9R,KAAKiH,KAAK2K,GAC7B5R,KAAK2O,mBACDmD,EAAKjL,eAAiB,qBAA8BiL,EAAKhL,aAAe8K,EAAK9K,UACrF,IACA,GAAkG,QAA7FxG,EAAoC,QAA9BD,EAAKL,KAAKiP,sBAAmC,IAAP5O,OAAgB,EAASA,EAAG0R,uBAAoC,IAAPzR,EAAgBA,EAAKN,KAAK2O,mBAAoB,CACpJ,MAAMqD,EAA0H,QAA/FxR,EAAoC,QAA9BD,EAAKP,KAAKiP,sBAAmC,IAAP1O,OAAgB,EAASA,EAAGqO,yBAAsC,IAAPpO,EAAgBA,EAAKR,KAAK4O,kBAClK5O,KAAK0R,uBAAwB,EAAAO,EAAA,GAAMD,EAAyBA,GACvD/I,MAAK,EAAAI,EAAA,IAAU,IAAMrJ,KAAKyP,WAAazP,KAAK2F,eAAc,EAAAuM,EAAA,IAAI,IAAMlS,KAAKgP,2BAC1EhI,EAAA,QAAa,kCAAkCgL,WAC9C7B,WAAU,IAAMwB,KACzB,CACJ,CACAJ,YACI,IAAIlR,EAAIC,EAAIC,EAAIC,EAAI8P,EACpB,MAAM6B,IAA8D,QAA9B9R,EAAKL,KAAKiP,sBAAmC,IAAP5O,OAAgB,EAASA,EAAGoR,YAAsG,KAAzD,QAA9BnR,EAAKN,KAAKiP,sBAAmC,IAAP3O,OAAgB,EAASA,EAAGyR,iBACzL,GAAI/R,KAAK6O,gBAAkBsD,EACvB,OAEJnS,KAAK6O,gBAAiB,EACtB,MAAMuD,GAA8C,QAAhC7R,EAAKP,KAAK+M,wBAAqC,IAAPxM,OAAgB,EAASA,EAAG8R,qBAAuBxF,EAAwByF,YACjIxF,EACAU,EACA+E,EAAsBvS,KAAK8F,mBAAmBU,eAAeyC,MAAK,EAAAC,EAAA,IAAWvD,GAAiBA,GAgB9F,EAAA6M,EAAAA,KAAI,GDrQW,EAACzF,EAAkBqF,IACrC,IAAI,KAAYK,IACnB,IACIC,EADAC,EAAQ,EASZ,OAPA,SAASC,IACLH,EAAS1M,KAAK4M,GACdE,aAAaH,GACbA,EAAYpH,WAAWsH,EAAkBR,EAAUrF,EAAkB4F,IACrEA,GAAgB,CACpB,CACAC,GACO,KACHC,aAAaH,EAAU,CAC1B,ICyOKI,CAAc9S,KAAK+M,iBAAkBqF,GAAWnJ,MAAK,EAAA8J,EAAA,IAAUlN,IAC7D,IAAIxF,EAAIC,EAAIC,EACZ,IAAIyS,EAQJ,OANIA,GAD+B,QAA9B3S,EAAKL,KAAKiP,sBAAmC,IAAP5O,OAAgB,EAASA,EAAGoR,UAClD5L,EAAQ,EAI6E,QAAjGtF,EAAsC,QAAhCD,EAAKN,KAAK+M,wBAAqC,IAAPzM,OAAgB,EAASA,EAAG2S,yBAAsC,IAAP1S,EAAgBA,ED/Q5G,GCiRlBsF,EAAQmN,GACD,EAAAR,EAAAA,IAAG3M,IAEP,EAAAqN,EAAA,IAAW,IAAM,IAAIxT,MAAM,0BAA0BsT,eAA2B,QAEhF,EAAA3J,EAAA,IAAU,IAAMrJ,KAAKyP,YAAczP,KAAK2F,eACvD4M,EAAoBpC,UAA4G,QAAjGG,EAAsC,QAAhC9P,EAAKR,KAAK+M,wBAAqC,IAAPvM,OAAgB,EAASA,EAAG2S,yBAAsC,IAAP7C,EAAgBA,EAAK,CACzJvK,KAAOF,IACHmB,EAAA,QAAa,eAAenB,EAAQ,kBACpC7F,KAAKyP,UAAU+B,WACfxR,KAAK4H,QAAQ5H,KAAKmE,IAAKnE,KAAKiP,eAAgBjP,KAAK+M,iBAAiB,EAEtE9L,MAAQA,IACJ,IAAIZ,EACJ2G,EAAA,QAAa/F,GACsB,QAAlCZ,EAAKL,KAAKuP,0BAAuC,IAAPlP,GAAyBA,EAAGmP,cACvExP,KAAK6O,gBAAiB,CAAK,EAE/B2C,SAAU,KACNxK,EAAA,OAAYhH,KAAK2F,YAAc,cAAgB,gBAC/C3F,KAAK6O,gBAAiB,EACtB7O,KAAKoR,kBAAkBrF,SAASsF,IACxBA,EAAGzD,gBACH5N,KAAKyP,UAAU1J,KAAKsL,EAAGpD,YAC3B,GACF,GAGd,CACAmF,QACIpT,KAAK2F,aAAc,EACnB3F,KAAKyP,WAAazP,KAAKyP,UAAU+B,WACjCxR,KAAKyP,UAAY,KACjBzP,KAAKsP,eACT,CACAA,gBACItP,KAAK+O,YAAc/O,KAAK+O,WAAWyC,WACnCxR,KAAK+O,WAAa,IAAItB,EACtBzN,KAAKoR,kBAAoB,IAAIvP,GACjC,CACAoF,KAAKnH,EAASoH,GAAgB,GAC1B,IAAKlH,KAAK2F,YAEN,YADA7B,QAAQuP,OAAO,IAAI3T,MAAM,mCAG7B,MAAM4T,EAAqB,kCAAkCxT,EAAQgH,6BAA6BhH,EAAQ+G,eAE1G,OADA7G,KAAKwQ,mBAAmB1Q,EAAQ+G,aAAcG,EAAA,OAAasM,GACpD,IAAIxP,SAAQ,CAACC,EAASsP,KACzB,MAAM1K,EAAa4K,IACfxP,EAAQwP,EAAI,EAEV3K,EAAW4K,IACbH,EAAOG,EAAI,EAEXtM,GACAlH,KAAKyT,kBAAkB3T,EAAS6I,EAAWC,GAE/C5I,KAAKyP,UAAU1J,KAAKjG,EAAQ,GAEpC,CACA4T,cAAc5T,EAAS6I,EAAWC,GAC9B,IAAK5I,KAAK2F,YACN,OAAO,EAAAuN,EAAA,IAAW,IAAM,IAAIxT,MAAM,oCAEtC,IAAKM,KAAK0O,gBACN,OAAO,EAAAwE,EAAA,IAAW,IAAM,IAAIxT,MAAM,oGAEtC,MAAMiU,EAAoB,2CAA2C7T,EAAQgH,6BAA6BhH,EAAQ+G,eAIlH,OAHA7G,KAAKwQ,mBAAmB1Q,EAAQ+G,aAAcG,EAAA,OAAa2M,GAC3D3T,KAAKyT,kBAAkB3T,EAAS6I,EAAWC,GAAS,GACpD5I,KAAKyP,UAAU1J,KAAKjG,IACb,EAAAkJ,EAAA,GAAKhJ,KAAK+O,WAAW9F,MAAK,EAAA4C,EAAA,IAAQ0H,GAAQA,EAAIzM,aAAehH,EAAQgH,cAChF,CACA2M,kBAAkB3T,EAAS6I,EAAWC,EAASgF,GAAiB,GAC5D,MAAMgG,EAA2B,0CAA0C9T,EAAQgH,6BAA6BhH,EAAQ+G,eACxH7G,KAAKwQ,mBAAmB1Q,EAAQ+G,aAAcG,EAAA,QAAc4M,GAC5D5T,KAAKoR,kBAAkB5O,IAAI1C,EAAQgH,WAAY,IAAI6G,EAAqB7N,EAAS6I,EAAWC,EAASgF,GACzG,CACA0D,qBAAqB7H,GACjBzJ,KAAKoR,kBAAkBpH,OAAOP,EAClC,CACAiH,kBAAkBjH,EAAWoK,GACzB,MAAMC,EAA2B,0CAA0CrK,oBAA4BoK,IAEvG,OADA7T,KAAKwQ,mBAAmBqD,EAAa7M,EAAA,QAAc8M,GAC5C9T,KAAKoR,kBAAkBnP,IAAIwH,EACtC,CACA+G,mBAAmBqD,EAAaE,EAASC,GACrC,OAAQH,GACJ,KAAK,oBACL,KAAK,oBACG7T,KAAKgP,2BACL+E,EAAQC,GAEZ,MACJ,QACQhU,KAAKmP,yBACL4E,EAAQC,GAIxB,IAEJ,IAAArP,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,iBAAa,IACzC,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,kBAAc,IAC1C,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,yBAAqB,IACjD,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,mBAAe,IAC3C,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,4BAAwB,IACpD,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,uBAAmB,IAC/C,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,0BAAsB,IAClD,IAAAwE,YAAW,CACP,EAAA4H,YACD6B,EAAcjO,UAAW,sBAAkB,GAC9CiO,GAAgB,IAAAzJ,YAAW,EACvB,IAAAC,SAAQ,EAAG,OACX,IAAAA,SAAQ,EAAG,MACX,IAAAA,SAAQ,EAAGZ,IACX,IAAAY,SAAQ,EAAG,EAAAqP,OACZ7F,GAKI,MAAM8F,EAAS,EAAAtR,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUsL,KClZ/C+F,EAAuB,CAChCvM,QAAS,CACL6J,UAAU,EACVM,iBAAiB,EACjB7C,wBAAwB,EACxBN,kBAAmB,IACnBQ,sBAAsB,GAE1BmC,UAAW,CACP0B,kBAAmB,GACnBhG,kBAAmB,IACnBoC,kBAAkB,IAO1B,IAAI+E,EAAiB,MACbzO,kBACA,OAAO3F,KAAKqU,OAAO1O,WACvB,CACIG,yBACA,OAAO9F,KAAKqU,OAAOvO,kBACvB,CACIS,mBACA,IAAIlG,EACJ,OAAiD,QAAzCA,EAAKL,KAAKqU,OAAOvO,0BAAuC,IAAPzF,OAAgB,EAASA,EAAGmG,cACzF,CACA7G,YAAY0U,EAAQpO,EAAgBE,EAAWC,EAAS+N,GACpDnU,KAAKqU,OAASA,EACdrU,KAAKiG,eAAiBA,EACtBjG,KAAKmG,UAAYA,EACjBnG,KAAKoG,OAASA,EACdpG,KAAKqG,WAAY,CACrB,CACAoB,WACI,OAAO,CACX,CACAC,gBAAgBC,GACZ3H,KAAKqU,OAAO3F,gBAAkB/G,CAClC,CACAV,KAAKnH,EAASoH,GACV,OAAOlH,KAAKqU,OAAOpN,KAAKnH,EAASoH,EACrC,CACAU,QAAQR,GACJ,OAAO,IAAA/C,WAAUrE,UAAM,OAAQ,GAAQ,YAEnC,OADAA,KAAKqU,OAAOjB,QACPrQ,EAAsBuR,KAAKlN,GAKzBpH,KAAKqU,OAAOzM,QAAQR,EAAMpH,KAAKoG,OAAOwB,QAAS5H,KAAKoG,OAAOmL,YAJ9DvK,EAAA,QAAa,mBAAmBI,oEAChCJ,EAAA,OAAY,sDAIpB,GACJ,CACAiB,aACIjI,KAAKqU,OAAOjB,OAChB,CACAhL,SAASpG,EAAcqG,GACnB,OAAO,IAAAhE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMsI,EAAkBtI,KAAKiG,eAAesC,uBAAuBvG,EAAcqG,GAEjF,OADArB,EAAA,QAAa,GAAGsB,EAAgBzB,8CAA+CyB,GACxEtI,KAAKqU,OAAOpN,KAAKqB,EAC5B,GACJ,CACAI,OAAO1G,EAAc2G,EAAWC,EAASP,GACrC,MAAMQ,EAAgB7I,KAAKiG,eAAesC,uBAAuBvG,EAAcqG,GAE/E,OADArB,EAAA,QAAa,GAAG6B,EAAchC,4CAA6CgC,GACpE7I,KAAKqU,OAAOX,cAAc7K,EAAeF,EAAWC,EAC/D,CACAY,YAAYC,GACR,OAAO,IAAApF,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAM0J,EAAkB1J,KAAKiG,eAAe0D,sBAAsBF,GAElE,OADAzC,EAAA,QAAa,GAAG0C,EAAgB7C,mCAAoC6C,GAC7D1J,KAAKqU,OAAOpN,KAAKyC,GAAiB,EAC7C,GACJ,CACAlB,WAAWoB,GACP,OAAO,IAAAvF,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAM6J,EAAoB7J,KAAKiG,eAAe6D,wBAAwBF,GAEtE,OADA5C,EAAA,QAAa,GAAG6C,EAAkBhD,mCAAoCgD,GAC/D7J,KAAKqU,OAAOpN,KAAK4C,EAC5B,GACJ,CACAI,YAAYjI,EAAckI,GAAW,GACjC,IAAI7J,EACJ,OAAO,IAAAgE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,GAAIkK,GACIlK,KAAKmG,UAAUhE,eAAeH,GAE9B,OADAgF,EAAA,QAAa,iCAAiChF,KACvChC,KAAKmG,UAAUpE,eAAeC,GAG7C,MAAMmI,EAAqBnK,KAAKiG,eAAemE,yBAAyBpI,GAExE,IAAIuS,EADJvN,EAAA,QAAa,GAAGmD,EAAmBtD,8CAA+CsD,GAElF,IACInK,KAAKqG,WAAY,EACjB,MAAMmO,QAAqBxU,KAAKqU,OAAOpN,KAAKkD,GAC5CoK,EAAsG,QAA3FlU,EAAKmU,aAAmD,EAASA,EAAa/T,eAA4B,IAAPJ,EAAgBA,EAAK,CAAC,EAChIJ,OAAOwU,KAAKF,GAASG,QACrB1U,KAAKmG,UAAU7D,eAAeN,EAAcuS,EAEpD,CACA,MAAOxN,GACHC,EAAA,QAAaD,EACjB,CACA,QACI/G,KAAKqG,WAAY,CACrB,CACA,OAAOkO,CACX,GACJ,CACAlK,cAAcrI,EAAckI,GAAW,GACnC,IAAI7J,EACJ,OAAO,IAAAgE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,GAAIkK,GACIlK,KAAKmG,UAAU9D,iBAAiBL,GAEhC,OADAgF,EAAA,QAAa,mCAAmChF,KACzChC,KAAKmG,UAAUjE,iBAAiBF,GAG/C,MAAMmI,EAAqBnK,KAAKiG,eAAemE,yBAAyBpI,EAAc,0BAEtF,IAAI2S,EADJ3N,EAAA,QAAa,GAAGmD,EAAmBtD,iDAAkDsD,GAErF,IACInK,KAAKqG,WAAY,EACjBsO,EAAqE,QAAvDtU,QAAYL,KAAKqU,OAAOpN,KAAKkD,UAAyC,IAAP9J,EAAgBA,EAAK,CAAC,EAC/FJ,OAAOwU,KAAKE,GAAYD,QACxB1U,KAAKmG,UAAU1D,iBAAiBT,EAAc2S,EAEtD,CACA,MAAO5N,GACHC,EAAA,QAAaD,EACjB,CACA,QACI/G,KAAKqG,WAAY,CACrB,CACA,OAAOsO,CACX,GACJ,CACArK,QAAQtI,EAAcqG,GAClB,MAAMkC,EAAiBvK,KAAKiG,eAAeuE,qBAAqBxI,EAAcqG,GAE9E,OADArB,EAAA,QAAa,GAAGuD,EAAe1D,oDAAqD0D,GAC7EvK,KAAKqU,OAAOpN,KAAKsD,EAC5B,CACAE,YAAYC,EAAWrC,GACnB,OAAO,IAAAhE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAM2K,EAAgB3K,KAAKiG,eAAe2E,oBAAoBF,EAAWrC,GAEzE,OADArB,EAAA,QAAa,GAAG2D,EAAc9D,4CAA6C8D,GACpE3K,KAAKqU,OAAOpN,KAAK0D,EAC5B,GACJ,IAEJ,IAAAhG,YAAW,CACP,EAAA4H,YACD6H,EAAejU,UAAW,iBAAa,IAC1C,IAAAwE,YAAW,CACP,EAAA6H,UACD4H,EAAejU,UAAW,cAAe,MAC5CiU,GAAiB,IAAAzP,YAAW,EACxB,IAAAC,SAAQ,EAAGsP,IACX,IAAAtP,SAAQ,EAAG,OACX,IAAAA,SAAQ,EAAGjC,IACX,IAAAiC,SAAQ,GAAG,IAAA6H,UAASxJ,KACrBmR,GAEH,MAAMQ,EAAgC,SAAf,EAAAC,aAAyB,EAKnCC,EAAY,EAAAlS,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUsR,KAKlDW,EAAU,EAAAnS,GAAA,iBAAoBC,GAAM+R,EAAiB/R,EAAEmS,QAAQtI,GAAe7J,EAAEmS,QAAQF,I,kECvL1FG,EAmBAC,EAmBAC,E,qDArCX,SAAWF,GACPA,EAAuB,UAAI,YAC3BA,EAAwB,WAAI,aAC5BA,EAAwB,WAAI,aAC5BA,EAAyB,YAAI,cAC7BA,EAA4B,eAAI,iBAChCA,EAA4B,eAAI,iBAChCA,EAAuB,UAAI,YAC3BA,EAAqB,QAAI,UACzBA,EAAsB,SAAI,WAC1BA,EAAwB,WAAI,aAC5BA,EAAyB,YAAI,cAC7BA,EAA0B,aAAI,cACjC,CAbD,CAaGA,IAAgBA,EAAc,CAAC,IAMlC,SAAWC,GACPA,EAAmC,iBAAI,mBACvCA,EAAuC,qBAAI,uBAC3CA,EAAwC,sBAAI,wBAC5CA,EAA+B,aAAI,eACnCA,EAA6B,WAAI,aACjCA,EAA8B,YAAI,cAClCA,EAA+B,aAAI,eACnCA,EAAsC,oBAAI,sBAC1CA,EAAoC,kBAAI,oBACxCA,EAA6C,2BAAI,6BACjDA,EAAoD,kCAAI,oCACxDA,EAA8C,4BAAI,6BACrD,CAbD,CAaGA,IAAqBA,EAAmB,CAAC,IAM5C,SAAWC,GACPA,EAA+B,kBAAI,oBACnCA,EAAkC,qBAAI,sBACzC,CAHD,CAGGA,IAAgBA,EAAc,CAAC,IAgBlC,IAAIC,EAAwB,MAKxBzV,YAAYuG,EAASqI,GACjBvO,KAAKkG,QAAUA,EACflG,KAAKuO,KAAOA,CAChB,CACA8G,mBAAmBC,GACf,IAAI7U,EACJ,OAAQ6U,EAAYnJ,MAChB,KAAK,UACD1L,EAAU,CACN8U,UAAWD,EAAYE,SACvBC,SAAUH,EAAYI,UAE1B,MACJ,KAAK,YACDjV,EAAU,CACN8U,UAAWD,EAAYE,SACvBG,mBAAoBL,EAAYM,cAEpC,MACJ,KAAK,QACDnV,EAAU,CACNoV,UAAWP,EAAYQ,UAE3B,MACJ,KAAK,QACDrV,EAAU,CACNsV,IAAKT,EAAYU,IACjBC,OAAQX,EAAYY,QAIhC,MAAO,CACHzV,UACAqG,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcqO,EAAiBiB,iBAEvC,CACAC,oBAAoBC,GAChB,IAAIhW,EAAIC,EACR,MAAO,CACHwG,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcqO,EAAiBoB,aAC/BrK,mBAAqD,QAAhC5L,EAAKgW,EAAYE,iBAA8B,IAAPlW,EAAgBA,EAAKL,KAAKkG,QAAQsQ,sBAAsB,aACrHtK,WAA6C,QAAhC5L,EAAK+V,EAAYI,iBAA8B,IAAPnW,EAAgBA,EAAKN,KAAKkG,QAAQsQ,sBAAsB,aAErH,CACAjO,uBAAuBvG,EAAcqG,GACjC,MAAO,CACHvB,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcqO,EAAiBwB,WAC/BjW,QAASR,OAAOuE,OAAO,CAAE8H,gBAAiBtK,GAAgBqG,GAC1D4D,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aAE/D,CACA1M,wBAAwBL,GACpB,MAAO,CACH3C,WAAY2C,EACZ5C,aAAcqO,EAAiByB,YAC/B1K,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aAE/D,CACAhM,qBAAqBxI,EAAcqG,GAC/B,OAAOpI,OAAOuE,OAAO,CAAEsC,WAAY9G,KAAKuO,KAAKsD,WAAY5F,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aAAc3P,aAAc7E,EAAa4U,WAAW,QAAU5U,EAAe,OAAOA,KAAkBqG,EAC1N,CACA+B,yBAAyBpI,EAAc6R,EAAcqB,EAAiB2B,cAClE,MAAO,CACH/P,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcgN,EACdpT,QAAS,CACLqW,QAAS9U,GAEbiK,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aAE/D,CACA5L,oBAAoBF,EAAWrC,GAC3B,OAAOpI,OAAOuE,OAAO,CAAEsC,WAAY9G,KAAKuO,KAAKsD,WAAY5F,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aAAc3P,aAAc6D,GAAarC,EAC7J,CACA4I,4BACI,MAAO,CACHnK,WAAY9G,KAAKuO,KAAKsD,WACtB5F,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aACvD3P,aAAcqO,EAAiBiB,iBAC/B1V,QAAS,CACLkV,mBAAoB3V,KAAKkG,QAAQsQ,sBAAsB,iBAGnE,CACAO,4BAA4BvB,EAAUwB,EAAaC,GAC/C,MAAO,CACH1B,UAAWC,EACX1O,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcqO,EAAiBgC,2BAC/BzW,QAAS,CACL0W,aAAcH,EACdI,aAAcH,GAG1B,CACAI,4BAA4B7B,EAAU8B,EAAWC,EAAY/B,GACzD,MAAO,CACHD,UAAWgC,EACXzQ,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcqO,EAAiBsC,kCAC/B/W,QAAS,CACL8U,UAAWC,EACXiC,WAAYH,GAGxB,CACAI,iCAAiClC,EAAUmC,EAAYV,EAAaM,EAAY/B,GAC5E,MAAO,CACHD,UAAWgC,EACXzQ,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcqO,EAAiB0C,4BAC/BnX,QAAS,CACL8U,UAAWC,EACXqC,YAAaF,EACbP,aAAcH,GAG1B,CACAtN,sBAAsBF,GAClB,MAAO,CACH3C,WAAY9G,KAAKuO,KAAKsD,WACtBhL,aAAcoO,EAAY6C,UAC1BrX,QAAS,CACLqG,WAAY2C,GAEhBwC,mBAAoBjM,KAAKkG,QAAQsQ,sBAAsB,aAE/D,GAEJpB,GAAwB,IAAAzQ,YAAW,EAC/B,IAAAC,SAAQ,EAAG,MACX,IAAAA,SAAQ,EAAG,EAAAqP,OACZmB,GAKI,MAAM2C,EAAiB,EAAAnV,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUsS,I,iDCzM7D,SAAS4C,EAAuBC,EAAQC,EAAQ,WACnD,MAAMC,EAAaC,IACf,MAAMC,EAAMpY,OAAOuE,OAAOvE,OAAOuE,OAAO,CAAC,EAAG4T,GAAM,CAAE,CAACF,GAAQE,EAAI3X,QAAQyX,KAEzE,cADOG,EAAI5X,QACJ4X,CAAG,EAERC,EAAU,GACVC,EAAU,GACVC,EAAU,GAChB,IAAK,MAAMJ,KAAOH,EAAOQ,IACrB,GAAKL,EAAI3X,QAGT,OAAQ2X,EAAI3X,QAAQiY,WAChB,IAAK,SACDJ,EAAQK,KAAKR,EAAUC,IACvB,MACJ,IAAK,SACDI,EAAQG,KAAKR,EAAUC,IACvB,MACJ,IAAK,SACDG,EAAQI,KAAKR,EAAUC,IACvB,MACJ,QACI,UAAa,gCAAgCA,EAAI3X,QAAQiY,cAGrE,MAAO,CAAEJ,UAASC,UAASC,UAAS1R,WAAYmR,EAAOnR,WAC3D,C,wMClCO,MAAM8R,EAA0B,EAAAhW,GAAA,kBCEvC,SAASiW,IACL,OAAoB,OAAdC,gBAAoC,IAAdA,eAAuB,EAASA,UAAUxD,aAIhE,uBAAwByD,SAC1B/R,EAAA,OAAY,sDACL,IALPA,EAAA,OAAY,wDACL,EAOf,CAKO,MAAMgS,EAAsB,IACnC,SAASC,EAAaxV,EAAQ,GAAIyV,EAAYF,EAAqBG,GAC/D,OAAO1V,EACF2V,MAAMF,EAAWC,GACjBnY,KAAKqY,GAAQA,EAAIC,SACjBzN,QAAQwN,GAAgB,KAARA,GACzB,CACA,SAASE,EAAkB9V,EAAOyV,EAAYF,GAC1C,MAAMnT,EAAwB,iBAATpC,GAAqBA,EAAM6V,OAChD,QAASzT,GAASA,EAAMjF,SAASsY,EACrC,CACA,SAASM,EAAgB/V,EAAOyV,EAAYF,GAExC,MAD8B,iBAATvV,GAAqBA,EAAM6V,QAC9B7V,EAAMgW,MAAM,IAAIzW,OAAOkW,EAAW,OAAS,IAAIxE,OAAS,CAC9E,CACA,SAASgF,EAA0BC,EAAQT,EAAYF,GACnD,IAAK,MAAMvV,KAASkW,EAChB,GAAIJ,EAAkB9V,EAAOyV,GACzB,OAAOzV,EAGf,OAAOkW,EAAOC,MAAMnW,GAA0B,iBAATA,KAAuBA,EAAM6V,QACtE,CACA,SAASzH,EAASpO,EAAOoW,EAAMC,GAC3B,MAAMjU,EAAwB,iBAATpC,GAAqBA,EAAM6V,OAChD,OAAKzT,GAAUiU,IAAiBjU,EAAMjF,SAASkZ,IAAkBN,EAAgB3T,GAAS,EAClFiU,GAAgBD,GAAQC,IAAiBD,EAClC,GAAGA,KAAQC,IAGXD,GAAQC,EAGhBjU,CACX,CACA,SAASkU,EAAsBC,EAAU,cACrChT,EAAA,OAAY,4BAA4BgT,uDAC5C,CAKO,MAAMC,EAAkC,CAC3CvE,UAAU,EACVwE,UAAW,YAMFC,EAAiC,CAC1CC,OAAQ,CAKJC,KAAM,IACNR,KAAM,cAENS,QAAS,KACTC,gBAAgB,IAOxB,IAAIC,EAA2B,MAC3B7a,YAAYuG,EAASE,EAAS+T,GAC1Bna,KAAKkG,QAAUA,EACflG,KAAKoG,OAASA,CAClB,CACAqU,uBAAuBd,GACnB,MAAO,CACHxN,KAAM,UACNqJ,SAAUmE,EAAOnE,SACjBE,SAAUiE,EAAOjE,SAEzB,CACAgF,yBAAyBf,GACrB,IAAItZ,EAAIC,EACR,MAAO,CACH6L,KAAM,YACNqJ,SAAqF,QAA1EnV,EAAKsZ,aAAuC,EAASA,EAAOnE,gBAA6B,IAAPnV,EAAgBA,EAAKL,KAAK2a,cACvH/E,aAA6F,QAA9EtV,EAAKqZ,aAAuC,EAASA,EAAO/D,oBAAiC,IAAPtV,EAAgBA,EAAKN,KAAK4a,kBAEvI,CACAC,qBAAqBlB,GACjB,IAAItZ,EACJ,MAAO,CACH8L,KAAM,QACN2J,SAAqF,QAA1EzV,EAAKsZ,aAAuC,EAASA,EAAO7D,gBAA6B,IAAPzV,EAAgBA,EAAKL,KAAK8a,cAE/H,CACAC,yBAAyBzF,GACrB,OAAOA,KAAiBA,EAAYE,YAAcF,EAAYI,QAClE,CACAsF,2BAA2B1F,GACvB,OAAOA,KAAiBA,EAAYM,gBAAkBN,EAAYE,QACtE,CACAyF,uBAAuB3F,GACnB,OAAOA,KAAiBA,EAAYQ,QACxC,CACAoF,2BAA2BvX,EAAMwX,GAC7B,MAAMC,EAAazX,KACbA,EAAK0X,MACL1X,EAAKkW,OACNlW,EAAKkW,KAAKjZ,SAASoY,IACpBQ,EAAgB7V,EAAK0X,KAAO,EAChC,OAAOF,EAAiBC,KAAgBzX,EAAK+R,SAAW0F,CAC5D,CACAE,8BAA8B3X,EAAMyW,GAEhC,GAD2Bpa,KAAKkb,2BAA2BvX,GAAM,GAE7D,MAAO,CAACA,GAAM,GAGlB,GADwB3D,KAAKkb,2BAA2Bd,GAEpD,MAAO,CAACA,GAAQ,GAKpB,GAAIzW,EACA,IACI,MAAM4X,EAAa5X,GACZkW,GAAQZ,EAAasC,EAAW1B,MAAQ0B,EAAWF,KACnD/M,EAAGwL,GAAgBb,EAAaS,EAA0B,CAAC6B,EAAWF,GAAIE,EAAW1B,QAE5F,MAAO,CACH,CACIwB,GAHGxJ,EAAS0J,EAAWF,IAAME,EAAW1B,KAAMA,EAAMC,GAIpDD,OACAnE,SAAU6F,EAAW7F,UAAY,KAErC,EAER,CACA,MAAOlC,GACHuG,EAAsB,qBAC1B,CAKJ,GAAIK,EACA,IACI,MAAMoB,EAAepB,GACdP,GAAQZ,EAAauC,EAAa3B,MAAQ2B,EAAahG,UAAYgG,EAAa1B,eAChFxL,EAAGwL,GAAgBb,EAAaS,EAA0B,CAC7D8B,EAAa1B,cAAgB0B,EAAahG,UAAYgG,EAAa3B,QAGvE,MAAO,CACH,CACIwB,GAHGxJ,EAAS2J,EAAaH,IAAMG,EAAahG,UAAYgG,EAAa3B,KAAMA,EAAMC,GAIjFD,OACAnE,SAAU8F,EAAa9F,UAAY,KAEvC,EAER,CACA,MAAOlC,GACHuG,EAAsB,SAC1B,CAEJ,MAAO,MAAC5R,GAAW,EACvB,CACAsT,4BAA4B9X,GACxB,OAAO,IAAAU,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,IAAK6Y,IACD,OAEJ,MAAMvD,EAAc,IAAIoG,mBAAmB/X,GAE3C,OADAqD,EAAA,QAAa,+CACN8R,UAAUxD,YAAYqG,MAAMrG,EACvC,GACJ,CACAsG,4BAA4BC,EAAU5B,GAClC,OAAO,IAAA5V,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,GAAK6Y,IAIL,OADA7R,EAAA,QAAa,uDACC8R,UAAUxD,YAAYrT,IAAI4Z,EAC5C,GACJ,CACAC,yBAAyBnY,GACrB,MAAM,SAAE+R,GAAa/R,EAAMoY,GAAO,IAAAC,QAAOrY,EAAM,CAAC,aAC1C2R,EAActV,KAAKoG,OAAOgU,OAAOG,eAAiB5W,EAAOoY,EAE/D,OADA/U,EAAA,QAAa,mCACJ,QAAahH,KAAKoG,OAAOgU,OAAOP,KAAMvW,KAAKC,UAAU+R,GAAc,CACxEgF,QAASta,KAAKoG,OAAOgU,OAAOE,QAC5BpE,OAAQ+F,SAASC,SACjB7B,KAAMra,KAAKoG,OAAOgU,OAAOC,KACzB8B,QAAQ,GAEhB,CACAC,2BACIpV,EAAA,QAAa,mCACb,MAAMoT,EAAS,QAAapa,KAAKoG,OAAOgU,OAAOP,MAC/C,OAAOO,EAAS9W,KAAKI,MAAM0W,QAAUjS,CACzC,CACAkU,iBAAiB1Y,GACb,OAAO,IAAAU,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,GAAI6Y,IAAgC,CAChC,MAAMyD,QAAmBtc,KAAKyb,4BAA4B9X,GAC1D,OAAOG,QAAQC,UAAUuY,EAC7B,CACA,OAAOxY,QAAQC,QAAQ/D,KAAK8b,yBAAyBnY,GACzD,GACJ,CACA4Y,eAAeV,GACX,OAAO,IAAAxX,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,OAAI6Y,IACO7Y,KAAK4b,4BAA4BC,GAErC/X,QAAQC,QAAQ/D,KAAKoc,2BAChC,GACJ,CACAtB,cACI,OAAO9a,KAAKkG,QAAQsQ,sBAAsB,WAC9C,CACAmE,cACI,OAAO3a,KAAKkG,QAAQsQ,sBAAsB,WAC9C,CACAoE,kBACI,OAAO5a,KAAKkG,QAAQsQ,sBAAsB,eAC9C,CACAgG,eACI,WAAgBxc,KAAKoG,OAAOgU,OAAOP,KAAM,CACrC3D,OAAQ+F,SAASC,SACjB7B,KAAMra,KAAKoG,OAAOgU,OAAOC,MAEjC,CACAoC,iBACIzc,KAAKkG,QAAQwW,yBAAyB,WAC1C,CACAC,iBACI3c,KAAKkG,QAAQwW,yBAAyB,WAC1C,CACAE,qBACI5c,KAAKkG,QAAQwW,yBAAyB,eAC1C,CACAG,YACI7c,KAAKwc,eACLxc,KAAKyc,iBACLzc,KAAK2c,iBACL3c,KAAK4c,oBACT,CACAE,sBACI,OAAOjE,KAAkCC,UAAUxD,YAAYwH,qBACnE,GAEJtC,GAA2B,IAAA7V,YAAW,EAClC,IAAAC,SAAQ,EAAG,MACX,IAAAA,SAAQ,GAAG,IAAA6H,UAASmM,KACrB4B,GAMI,MAAMuC,EAAoB,EAAAna,GAAA,iBAAoBC,GAAMA,EAAEC,UAAU0X,KCvRhE,MAAMwC,EACTrd,YAAYkc,GACR5b,OAAOuE,OAAOxE,KAAM6b,EACxB,CACAoB,kBACI,OAAOjd,KAAKkd,WAAW,QAC3B,CACAC,cAAcC,GACV,OAAOpd,KAAKqd,OAAOrd,KAAKsd,YAAaF,EACzC,CACAF,WAAWK,GACP,OAAOvd,KAAKqd,OAAOrd,KAAKwd,SAAUD,EACtC,CAQAF,OAAO5I,EAAMgJ,GACT,SAAKhJ,GAASA,EAAKC,QAAW+I,KAGzB3c,MAAMC,QAAQ0c,KACfA,EAAM,CAACA,IAEJA,EAAIjc,MAAMkc,GAAMjJ,EAAK7T,SAAS8c,KACzC,GAEJ,IAAA/Y,YAAW,CACP,EAAA4H,YACDyQ,EAAY7c,UAAW,mBAAe,IACzC,IAAAwE,YAAW,CACP,EAAA4H,YACDyQ,EAAY7c,UAAW,gBAAY,IACtC,IAAAwE,YAAW,CACP,EAAA4H,YACDyQ,EAAY7c,UAAW,gBAAY,GC7BtC,IAAIwd,EAAc,MACdC,wBAAwBtP,EAAGuP,GACvB,IAAIxd,EAC8B,QAAjCA,EAAKL,KAAK8d,yBAAsC,IAAPzd,GAAyBA,EAAG0F,KAAK/F,KAAK+d,WACpF,CACIC,kBACA,OAAOhe,KAAK8d,kBAAkBtX,cAClC,CACIuX,iBACA,QAAO/d,KAAKie,qBACHje,KAAKie,iBAAiB1H,YAAavW,KAAKie,iBAAiBxH,UAEtE,CACA9W,YAAYuG,EAAS0B,EAAS3B,EAAgBiY,GAC1Cle,KAAKkG,QAAUA,EACflG,KAAK4H,QAAUA,EACf5H,KAAKiG,eAAiBA,EACtBjG,KAAKke,kBAAoBA,EACzBle,KAAKqG,WAAY,EACjBrG,KAAK8d,kBAAoB,IAAIxX,EAAA,GAAgB,EACjD,CACA6X,MAAM7I,GACF,IAAIjV,EACJ,OAAO,IAAAgE,WAAUrE,UAAM,OAAQ,GAAQ,YACnCA,KAAKqG,WAAY,EACjB,IACI,MAAM+X,EAAepe,KAAKiG,eAAeoP,mBAAmBC,GACtD+I,QAAmBre,KAAK4H,QAAQX,KAAKmX,GAC3C,IAAKC,GAAcA,EAAW3d,QAAwC,QAA7BL,EAAKge,EAAW5d,eAA4B,IAAPJ,OAAgB,EAASA,EAAGK,OACtG,MAAM,IAAI,IAAU0d,EAAcC,GAEtCre,KAAKse,iBAAiB,CAClB/H,UAAW8H,EAAWpS,mBACtB2J,aAAcyI,EAAW1I,mBACzB6H,SAAUa,EAAWE,QACrB/I,SAAU6I,EAAW9I,UACrB+H,YAAae,EAAWG,WACxB/H,UAAW4H,EAAWnS,aAK1BlM,KAAKkG,QAAQiL,cAAckN,GAC3BrX,EAAA,QAAa,+BAAgCqX,EACjD,CACA,MAAO7K,GAEH,GADAxM,EAAA,QAAa,8BAA+BwM,KACxCA,aAAe,KAAaA,EAAIpT,oBAMhC,MADAJ,KAAKye,oBACCjL,EALNxM,EAAA,OAAY,4DAOpB,CACA,QACIhH,KAAKqG,WAAY,CACrB,CACA,OAAOrG,KAAKie,gBAChB,GACJ,CACAS,SACI,IAAIre,EACJ,OAAO,IAAAgE,WAAUrE,UAAM,OAAQ,GAAQ,YACnCA,KAAKqG,WAAY,EACjB,IAAIsY,EAAe,CACfC,SAAS,GAEb,IACI,MAAMC,EAAgB7e,KAAKiG,eAAemQ,oBAAoBpW,KAAKie,kBAEnEje,KAAKkG,QAAQ4Y,+BACb9e,KAAK4H,QAAQF,iBAAgB,GAC7B,MAAM,KAAEjG,EAAI,QAAEhB,EAAO,MAAEC,EAAK,aAAEmG,EAAY,gBAAEkY,SAA0B/e,KAAK4H,QAAQX,KAAK4X,GAClF5d,EAAmF,QAA1EZ,EAAKI,aAAyC,EAASA,EAAQC,aAA0B,IAAPL,EAAgBA,EAAKK,EAIhHse,EAAuBnY,IAAiB,iBAC1CmY,GACAhY,EAAA,OAAY,iDAAkD/F,GAElE0d,EAAe,CACXC,QAAS/X,IAAiB,iBACtBpF,IAAS,wBACTud,EACJ/d,SAGA8d,GACAhG,OAAOkG,KAAKF,EAAiB,QAErC,CACA,MAAOvL,GACH,MAAM0L,EAAc,IAAI,IAAU1L,EAAIvF,YAAauF,EAAInD,iBAEvD,GADArJ,EAAA,QAAa,+BAAgCkY,IACzCA,EAAY9e,mBAKZ,MAAMoT,EAJNxM,EAAA,OAAY,6DACZ2X,EAAaC,SAAU,CAK/B,CACA,QACI5e,KAAKye,oBACLze,KAAKqG,WAAY,CACrB,CACA,OAAOsY,CACX,GACJ,CACAQ,oBACI,OAAO,IAAA9a,WAAUrE,UAAM,OAAQ,GAAQ,YAEnC,SAD0BA,KAAKof,mBACd,CACb,MAAMpO,EAAsBhR,KAAKiG,eAAegL,4BAC1CC,QAA2BlR,KAAK4H,QAAQX,KAAK+J,GACnD,IAAKE,aAA+D,EAASA,EAAmBrK,gBAAkB,0BAI9G,OAHA7G,KAAKkG,QAAQiL,cAAcD,GAC3BlR,KAAK4H,QAAQF,iBAAgB,GAC7B1H,KAAKse,iBAAiBte,KAAKqf,yBAAyBnO,KAC7C,CAEf,CAGA,OAFAlR,KAAKkG,QAAQ4Y,+BACb9e,KAAK4H,QAAQF,iBAAgB,IACtB,CACX,GACJ,CAKA0X,mBACI,OAAO,IAAA/a,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,GAAIA,KAAK4H,QAAQjC,YACb,OAAO,EAEX,MAAM2Z,EAAUtf,KAAKkG,QAAQsQ,sBAAsB,WACnD,QAAK8I,GAGEtf,KAAK4H,QAAQA,QAAQ0X,EAChC,GACJ,CAMAD,yBAAyBpH,GACrB,MAAMzC,EAAWyC,EAAO1C,UAClBgK,EAAmBtH,EAAOhM,mBAC1BuT,EAAmBvH,EAAOtC,mBAChC,OAAKH,GAAa+J,GAAqBC,EAGhC,CACHhK,WACAe,UAAWgJ,EACX3J,aAAc4J,EACdhC,SAAUvF,EAAOsG,QACjBjB,YAAarF,EAAOuG,WACpB/H,UAAWwB,EAAO/L,YARX,IAUf,CAKAoS,iBAAiBrG,GACRA,GAILjY,KAAKie,iBAAmB,CACpB1H,UAAW0B,EAAO1B,UAClBX,aAAcqC,EAAOrC,aACrB4H,SAAUvF,EAAOuF,SACjBhI,SAAUyC,EAAOzC,SACjB8H,YAAarF,EAAOqF,YACpB7G,UAAWwB,EAAOxB,WAEtBzW,KAAKyf,YAAc,IAAIzC,EAAY,CAC/BM,YAAarF,EAAOqF,YACpBE,SAAUvF,EAAOuF,SACjBhI,SAAUyC,EAAOzC,YAdjBxV,KAAKye,mBAgBb,CAKAA,oBACIze,KAAKie,iBAAmB,KACxBje,KAAKyf,YAAc,IACvB,IAEJ,IAAA9a,YAAW,CACP,EAAA4H,YACDoR,EAAYxd,UAAW,iBAAa,IACvC,IAAAwE,YAAW,CACP,EAAA4H,YACDoR,EAAYxd,UAAW,mBAAe,IACzC,IAAAwE,YAAW,CACP,EAAA4H,YACDoR,EAAYxd,UAAW,wBAAoB,IAC9C,IAAAwE,YAAW,CACP,EAAA6H,UACDmR,EAAYxd,UAAW,aAAc,MACxCwd,GAAc,IAAAhZ,YAAW,EACrB,IAAAC,SAAQ,EAAG,MACX,IAAAA,SAAQ,EAAG,OACX,IAAAA,SAAQ,EAAG,OACX,IAAAA,SAAQ,EAAGmY,IACZY,GAKI,MAAM+B,EAAO,EAAA9c,GAAA,iBAAoBC,GAAMA,EAAEC,UAAU6a,K,wCC3NnD,MAAMgC,EAA0B,CACnC9D,QAAS,CACL+D,SAAU,GACVC,YAAY,EACZC,QAAS,kBACTC,QAAS,mBACTC,gBAAiB,iCACjBC,YAAY,EACZC,QAAS,GACTle,aAAc,GACdme,SAAS,GAEbC,iBCnBG,SAAiCC,GACpC,MAAMT,EAAWS,EAAQjH,MAAM,MAAMpY,KAAK8K,GAAMA,EAAEwN,SAC5CgH,EAAY,CAAC,EASnB,OARAV,EAAS7T,SAASwU,IACd,MAAM9C,EAAM8C,EAAEC,OAAO,EAAGD,EAAEE,QAAQ,MAAMnH,OAAOjN,QAAQ,QAAS,IAC1DqU,EAAMH,EACPC,OAAOD,EAAEI,YAAY,KAAO,EAAGJ,EAAE7L,QACjC4E,OACAjN,QAAQ,QAAS,IACtBiU,EAAU7C,GAAOiD,CAAG,IAEjBJ,CACX,EDQItI,uBAAwBA,EAAA,GAO5B,IAAI4I,EAAoB,MACpBjhB,YAAYiI,EAASiZ,EAAMza,EAASuZ,GAChC3f,KAAK4H,QAAUA,EACf5H,KAAK6gB,KAAOA,EACZ7gB,KAAKoG,OAASA,EACdpG,KAAK8gB,aAAc,EACnB9gB,KAAK+gB,UAAW,EAChB/gB,KAAKghB,iBAAmB,GACxBhhB,KAAKihB,cAAgB,GACrBjhB,KAAKkhB,cAAgB,GACrBlhB,KAAKmhB,iBAAmB,EAC5B,CACAC,kBAAkBpf,GACd,QAAKA,KAEAA,EAAasX,OAAO5E,MAI7B,CACA2M,KAAKxF,EAASyF,GAAY,GACtB,IAAIjhB,EACJ,OAAO,IAAAgE,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,IAAKA,KAAKohB,kBAAkBvF,aAAyC,EAASA,EAAQ7Z,cAClF,OAAO,EAGX,GADAhC,KAAK6b,QAAU5b,OAAOuE,OAAOvE,OAAOuE,OAAO,CAAC,EAAGxE,KAAKoG,OAAOyV,SAAUA,GACjEyF,EAAW,CACXta,EAAA,QAAa,gBAAgBhH,KAAK6b,QAAQ7Z,2BAC1C,MAAMuf,QAAavhB,KAAK4H,QACnBqC,YAAYjK,KAAK6b,QAAQ7Z,cACzByG,OAAO1B,GAAMC,EAAA,QAAa,6BAA6B6U,EAAQ7Z,gBAAiB+E,KACrF,IAAKwa,EAED,OADAvhB,KAAKwhB,UACE,EAEXxhB,KAAKyhB,aAAeF,EAAKG,KACzB1hB,KAAKmhB,iBAA2C,QAAvB9gB,EAAKkhB,EAAKI,eAA4B,IAAPthB,EAAgBA,EAAK,GAC7EL,KAAKghB,kBAAmB,OAAwBO,GAChDvhB,KAAKkhB,eAAgB,OAAgBlhB,KAAKghB,kBAC1ChhB,KAAKihB,cAAgBM,EAAKK,eAAiB,GAC3C5a,EAAA,QAAa,kBAAkBhH,KAAK6b,QAAQ7Z,wBAChD,CAKA,OAJKhC,KAAK6b,QAAQgE,aACd7f,KAAK6hB,cAAgB7hB,KAAK8hB,gBAE9B9hB,KAAK8gB,aAAc,EACZ9gB,KAAK8gB,WAChB,GACJ,CACAU,SACIxhB,KAAK8gB,aAAc,EACnB9gB,KAAK6b,aAAU1T,EACfnI,KAAKyhB,kBAAetZ,EACpBnI,KAAKmhB,iBAAmB,GACxBnhB,KAAKghB,iBAAmB,GACxBhhB,KAAKkhB,cAAgB,GACrBlhB,KAAKihB,cAAgB,EACzB,CACIvY,aACA,OAAO1I,KAAK6hB,OAChB,CACIxZ,aACA,MAAMA,EAAS,CACX0Z,eAAgB/hB,KAAK6b,QAAQ+D,SAC7BoC,OAAQhiB,KAAK6b,QAAQoG,OACrBC,SAAUliB,KAAK6b,QAAQiE,QACvBqC,SAAUniB,KAAK6b,QAAQkE,QACvBqC,YAAapiB,KAAK6b,QAAQoE,WAC1BoC,iBAAkBriB,KAAK6b,QAAQmE,gBAC/BsC,QAAStiB,KAAK6b,QAAQvR,QACtBiY,QAASviB,KAAK6b,QAAQsE,SAE1B,GAAIngB,KAAK6b,QAAQqE,QACb,GAAIlgB,KAAKmhB,iBAAiBqB,WAAWC,GAAMA,EAAEC,OAAS1iB,KAAK6b,QAAQqE,WAAY,EAC3E7X,EAAOsa,SAAW3iB,KAAK6b,QAAQqE,YAE9B,CACD,MAAM0C,EAAe5iB,KAAKmhB,iBAAiBngB,KAAK6hB,GAAUA,EAAMH,OAChE1b,EAAA,OAAY,8JAA+J4b,EAC/K,CAGJ,OADA5b,EAAA,QAAa,6BAA8BqB,GACpCA,CACX,CACAD,WACI,IAAI/H,EACJ,OAAO,IAAAgE,WAAUrE,UAAM,OAAQ,GAAQ,YAEnC,OADAgH,EAAA,QAAa,2BAA2BhH,KAAK6b,QAAQ7Z,iBAAiBhC,KAAKyhB,kBACnEzhB,KAAKyhB,cACT,KAAK,gBACD,OAAOzhB,KAAK4H,QAAQQ,SAASpI,KAAK6b,QAAQ7Z,aAAchC,KAAKqI,QACjE,KAAK,oBAA6B,CAC9B,MAAM/H,EAAKN,KAAKqI,QAAQ,QAAEia,EAAO,eAAEP,GAAmBzhB,EAEhDwiB,EAAY,CACdriB,SAHgE,IAAAub,QAAO1b,EAAI,CAAC,UAAW,mBAIvFgiB,QAHkBriB,OAAOuE,OAAOvE,OAAOuE,OAAOvE,OAAOuE,OAAO,CAAC,EAAGvE,OAAO8iB,YAAY/iB,KAAKihB,cAAcjgB,KAAKgiB,GAAO,CAACA,EAAGN,KAAM,SAAS1iB,KAAKqI,OAAOia,UAAgF,QAAnEjiB,EAAKL,gBAAmC,EAASA,KAAK6b,eAA4B,IAAPxb,OAAgB,EAASA,EAAGuf,UAAY5f,KAAKoG,OAAOga,iBAAiBpgB,KAAK6b,QAAQ+D,UAAY,CAAC,IAK5U,OAAO5f,KAAK4H,QAAQ0C,QAAQtK,KAAK6b,QAAQ7Z,aAAc8gB,EAC3D,CACA,QACI,MAAM,IAAIpjB,MAAM,sDAAsDM,KAAKyhB,gBAEvF,GACJ,CACAwB,iBAAiB/K,EAAQ,WACrB,OAAO,IAAA7T,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,MAAMiY,QAAejY,KAAKoI,WAC1B,OAAItH,MAAMC,QAAQkX,GACPA,EAEFA,EAAOiL,MACLjL,EAAOiL,MAETjL,EAAOQ,IACLzY,KAAKoG,OAAO4R,uBAAuBC,EAAQC,GAAOI,aADxD,CAGT,GACJ,CACAwJ,eACI,OAAO,IAAAzd,WAAUrE,UAAM,OAAQ,GAAQ,YACnC,IAAK,CAAC,gBAAyB,qBAA6BY,SAASZ,KAAKyhB,cACtE,MAAM,IAAI/hB,MAAM,uDAAuDM,KAAKyhB,gBAEhF,OAAIzhB,KAAKyhB,eAAiB,gBACfzhB,KAAKmjB,0BAEhBnc,EAAA,QAAa,mCAAmChH,KAAK6b,QAAQ7Z,+BACtDhC,KAAKojB,qBAChB,GACJ,CACAD,yBACI,OAAO,IAAA9e,WAAUrE,UAAM,OAAQ,GAAQ,YAGnC,OAAOA,KAAK4H,QAAQc,OAAO1I,KAAK6b,QAAQ7Z,cAFrBlC,IAAD,IACDmB,GAAU+F,EAAA,QAAa/F,IACkCjB,KAAKqI,OACnF,GACJ,CACA+a,qBACI,OAAO,EAAAnR,EAAA,GAAM,EAAGjS,KAAKqI,OAAOga,kBAAkBpZ,MAAK,EAAAC,EAAA,IAAU,KAElD,EAAAma,EAAA,GAAc,CAACrjB,KAAK4H,QAAQrB,aAAcvG,KAAK6gB,KAAK7C,cAAc/U,MAEzE,EAAAI,EAAA,IAAU,IAAMrJ,KAAK4H,QAAQjC,aAAe3F,KAAK6gB,KAAK9C,cACtD,EAAA7U,EAAA,IAAU,KAAM,EAAAF,EAAA,GAAKhJ,KAAKoI,iBAElC,IAEJ,IAAAzD,YAAW,CACP,EAAA4H,YACDqU,EAAkBzgB,UAAW,mBAAe,IAC/C,IAAAwE,YAAW,CACP,EAAA4H,YACDqU,EAAkBzgB,UAAW,gBAAY,IAC5C,IAAAwE,YAAW,CACP,EAAA6H,UACDoU,EAAkBzgB,UAAW,SAAU,MAC1CygB,GAAoB,IAAAjc,YAAW,EAC3B,IAAAC,SAAQ,EAAG,OACX,IAAAA,SAAQ,EAAG8a,IACX,IAAA9a,SAAQ,GAAG,IAAA6H,UAAS,QACrBmU,GAMI,MAAM0C,EAAa,EAAA1gB,GAAA,iBAAoBC,GAAMA,EAAE0gB,UAAU3C,I,0DExMrD4C,E,YACX,SAAWA,GACPA,EAAyB,WAAI,aAC7BA,EAA4B,cAAI,gBAChCA,EAA6B,eAAI,gBACpC,CAJD,CAIGA,IAAiBA,EAAe,CAAC,IAK7B,MAAMC,GAEbA,EAAmBC,aAAe,IAClCD,EAAmBE,cAAgB,IACnCF,EAAmBG,4BAA8B,IAS1C,MAAMC,EAAmB,EAAAjhB,GAAA,iB,kBCfzB,SAASkhB,EAAkBlE,EAAUmE,EAAY,KACpD,OAAKnE,EAGEA,EACFxG,MAAM2K,GACN/iB,KAAK8K,GAAMA,EAAEwN,SACb0K,MAAK,CAACC,EAAGC,IAAMD,EAAEE,cAAcD,KAC/B/iB,KAAK4iB,GANCnE,CAOf,C,kCClBO,IAAIwE,E,yBACX,SAAWA,GACPA,EAAsB,OAAI,SAC1BA,EAAsB,OAAI,SAC1BA,EAAuB,QAAI,UAC3BA,EAAoB,KAAI,OACxBA,EAAoB,KAAI,OACxBA,EAAwB,SAAI,WAC5BA,EAAsB,OAAI,QAC7B,CARD,CAQGA,IAAkBA,EAAgB,CAAC,IAK/B,MAAMC,EAAY,CACrBC,OAAQF,EAAcE,OACtBC,KAAMH,EAAcG,KACpBC,QAASJ,EAAcI,QACvBC,IAAKL,EAAcM,OACnBC,OAAQP,EAAcM,OACtBE,WAAYR,EAAcM,OAC1BG,KAAMT,EAAcS,KACpBC,SAAUV,EAAcU,S,gFCjBrB,MAAMC,EAAmBC,GACvBA,EAEEA,EAAShkB,KAAKikB,IACjB,MAAM1D,EAAO,CACT1H,KAAMoL,EAAMvC,KACZvW,KAAM,IAAU8Y,EAAMvD,OAAS,YAEnC,GAAIuD,EAAMvD,OAAS,UAAsBuD,EAAMC,aAC3C,IACI3D,EAAK4D,YAAcrkB,MAAMC,QAAQkkB,EAAMC,cACjCD,EAAMC,aACND,EAAMC,aAAa9L,MAAM,IACnC,CACA,MAAO5F,GACH,UAAaA,GACb+N,EAAK4D,YAAc,EACvB,CAEJ,OAAO5D,CAAI,IAjBJ,KA0BF6D,EAA2B7iB,IACpC,MAAM4J,EAAO5J,aAA2C,EAASA,EAASmf,KAC1E,GAAIvV,IAAS,gBACT,OAAO5J,EAAS8iB,OAAS,GAE7B,GAAIlZ,IAAS,oBACT,OAAO5J,EAAS+iB,aAAe,GAEnC,MAAM,IAAI5lB,MAAM,8BAA8ByM,IAAO,C,kDCxCzD,MAAMoZ,EACF5lB,cAKIK,KAAKwlB,iBAAmB,GACxBxlB,KAAKsX,UAAYtX,KAAKwW,sBAAsB,cAAgB,EAChE,CACAsI,+BACwB,CAAC,YAAa,eAAgB,YAAa,YACnD/S,SAAS0R,GAAQzd,KAAK0c,yBAAyBe,IAC/D,CACAgI,oBAAoBC,GAChB1lB,KAAKwlB,iBAAmB,GAAGE,EAAOrZ,QAAQ,MAAO,MACrD,CACA8E,cAAc8G,GACVjY,KAAKgI,sBAAsB,YAAaiQ,EAAOhM,oBAC/CjM,KAAKgI,sBAAsB,eAAgBiQ,EAAOtC,oBAClD3V,KAAKgI,sBAAsB,WAAYiQ,EAAO1C,WAC9CvV,KAAKgI,sBAAsB,YAAaiQ,EAAO/L,WACnD,CACAyZ,mBACI,MAAM,SAAEC,EAAQ,OAAEC,EAAM,KAAEC,GAAS7J,SAKnC,GAAiB,WAAb2J,EACA,OAEJ,MAAMvL,EAAO,GAAgB,MAAbuL,EAAmBA,EAAW,KAC9C5lB,KAAKsX,UAAY,GAAG+C,IAAOwL,IAASC,IACpC9lB,KAAKgI,sBAAsB,YAAahI,KAAKsX,UACjD,CACAyO,QAAQtI,EAAK5X,EAAOmgB,GACA,UAAZA,EACAC,aAAaF,QAAQ/lB,KAAKwlB,iBAAmB/H,EAAK5X,GAGlDqgB,eAAeH,QAAQ/lB,KAAKwlB,iBAAmB/H,EAAK5X,EAE5D,CACAsgB,QAAQ1I,EAAKuI,GACT,MAAgB,UAAZA,EACOC,aAAaE,QAAQnmB,KAAKwlB,iBAAmB/H,GACjDyI,eAAeC,QAAQnmB,KAAKwlB,iBAAmB/H,EAC1D,CACA2I,WAAW3I,EAAKuI,GACI,UAAZA,EACAC,aAAaG,WAAWpmB,KAAKwlB,iBAAmB/H,GAGhDyI,eAAeE,WAAWpmB,KAAKwlB,iBAAmB/H,EAE1D,CACA4I,oBAAoB5I,EAAK5X,GACrB7F,KAAK+lB,QAAQtI,EAAK5X,EAAO,QAC7B,CACAmC,sBAAsByV,EAAK5X,GACvB7F,KAAK+lB,QAAQtI,EAAK5X,EAAO,UAC7B,CACAygB,oBAAoB7I,GAChB,OAAOzd,KAAKmmB,QAAQ1I,EAAK,QAC7B,CACAjH,sBAAsBiH,GAClB,OAAOzd,KAAKmmB,QAAQ1I,EAAK,UAC7B,CACA8I,uBAAuB9I,GACnBzd,KAAKomB,WAAW3I,EAAK,QACzB,CACAf,yBAAyBe,GACrBzd,KAAKomB,WAAW3I,EAAK,UACzB,EAMG,MAAM+I,EAAU,EAAA5jB,GAAA,iBAAoBC,GAAMA,EAAEC,UAAUyiB,I,kDC/EtD,MAAMve,GAAS,IAAAyf,cAAa,mB","sources":["webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/auth/auth.types.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/metadata/metadata.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/utils/regex.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/connect.types.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/serializers.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/http.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/http.connect.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/reconnectStrategy.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/socket.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/connect.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/connect/message.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/datasource/dataServerResultFilter.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/credentialManager/credentialManager.types.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/credentialManager/credentialManager.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/user/user.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/auth/auth.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/datasource/datasource.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/datasource/criteriaFiltersToFields.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/datasource/datasource.types.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/datasource/normaliseCriteria.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/metadata/metadata.types.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/metadata/metadata.utils.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/session/session.js","webpack://@genesislcap/design-system-configurator/../../foundation/foundation-comms/dist/esm/utils/logger.js"],"sourcesContent":["/**\n * The available ypes of authentication.\n * @public\n */\nexport var AuthType;\n(function (AuthType) {\n AuthType[\"BASIC\"] = \"BASIC\";\n AuthType[\"SSO\"] = \"SSO\";\n AuthType[\"JWT\"] = \"JWT\";\n AuthType[\"REFRESH\"] = \"REFRESH\";\n})(AuthType || (AuthType = {}));\n/**\n * Represents an error that occurs during authentication.\n * @public\n */\nexport class AuthError extends Error {\n constructor(sent, received, message = 'Auth Failed \\n') {\n super(message);\n this.sent = sent;\n this.received = received;\n Object.setPrototypeOf(this, AuthError.prototype);\n }\n // Add known edge cases...\n isIgnorableError() {\n var _a, _b, _c, _d;\n // TODO: This is really ugly, lets figure out if this is still an issue and remove if not\n return (_d = (_c = (_b = (_a = this.received) === null || _a === void 0 ? void 0 : _a.DETAILS) === null || _b === void 0 ? void 0 : _b.ERROR) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes('request needs the user to be logged'); // out or in\n }\n getMessageError() {\n var _a, _b;\n return Array.isArray((_a = this.received) === null || _a === void 0 ? void 0 : _a.ERROR)\n ? (_b = this.received) === null || _b === void 0 ? void 0 : _b.ERROR.map((error) => this.errorDetailFormatter(error)).join('\\n')\n : '';\n }\n getDetailsError() {\n var _a, _b, _c, _d;\n return Array.isArray((_b = (_a = this.received) === null || _a === void 0 ? void 0 : _a.DETAILS) === null || _b === void 0 ? void 0 : _b.ERROR)\n ? (_d = (_c = this.received) === null || _c === void 0 ? void 0 : _c.DETAILS) === null || _d === void 0 ? void 0 : _d.ERROR.map((error) => this.errorDetailFormatter(error)).join('\\n')\n : '';\n }\n hasPasswordExpiredError() {\n return this.hasErrorCode('PASSWORD_EXPIRED');\n }\n hasErrorCode(code) {\n var _a, _b;\n return Array.isArray((_a = this.received) === null || _a === void 0 ? void 0 : _a.ERROR)\n ? (_b = this.received) === null || _b === void 0 ? void 0 : _b.ERROR.some((error) => error.CODE === code)\n : false;\n }\n errorDetailFormatter(error) {\n return `\\n ${error.CODE}: \\n ${error.TEXT}`;\n }\n}\n","import { DI } from '@microsoft/fast-foundation';\nclass MetadataService {\n constructor() {\n this.cachedMetadata = new Map();\n this.cachedJsonSchema = new Map();\n }\n getMetadataFor(resourceName) {\n return this.cachedMetadata.get(resourceName);\n }\n getJsonSchemaFor(resourceName) {\n return this.cachedJsonSchema.get(resourceName);\n }\n hasMetadataFor(resourceName) {\n return this.cachedMetadata.has(resourceName);\n }\n hasJsonSchemaFor(resourceName) {\n return this.cachedJsonSchema.has(resourceName);\n }\n setMetadataFor(resourceName, metadata) {\n this.cachedMetadata.set(resourceName, metadata);\n }\n setJsonSchemaFor(resourceName, schemaResponse) {\n this.cachedJsonSchema.set(resourceName, schemaResponse);\n }\n}\n/**\n * The DI token for the MetadataService interface.\n * @internal\n */\nexport const MetaCache = DI.createInterface((x) => x.singleton(MetadataService));\n","/**\n * Regular Expression to test valid WebSocket (wss and ws) hosts\n * @public\n */\nexport const isWebSocketExpression = new RegExp(/wss?:\\/\\/[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\b([-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)\\b\\/*$/, 'i');\n","import { DI } from '@microsoft/fast-foundation';\n/**\n * Configuration options for the Connect (WS) instance.\n * @internal\n */\nexport const ConnectConfig = DI.createInterface();\n/**\n * Configuration options for the Connect (HTTP) instance.\n * @internal\n */\nexport const HttpConnectConfig = DI.createInterface();\n","/**\n * TODO: Relocate to packages/utilities?\n *\n * Used by Http and Socket. We could have a set of variants, json and binary.\n *\n * Not going to remove this / re-locate in this PR\n */\nimport { DI } from '@microsoft/fast-foundation';\nclass JSONSerializer {\n /**\n * TODO: Add reviver and replacers\n */\n serialize(object) {\n return JSON.stringify(object);\n }\n deserialize(input) {\n if (!input) {\n return Promise.resolve({});\n }\n if (typeof input === 'string') {\n return JSON.parse(input);\n }\n if (input.data) {\n return JSON.parse(input.data);\n }\n return input.text().then((text) => JSON.parse(text));\n }\n}\n/**\n * The DI token for the Serializer interface.\n * @internal\n */\nexport const Serializer = DI.createInterface((x) => x.singleton(JSONSerializer));\n","import { __awaiter, __decorate, __param } from \"tslib\";\nimport { DI } from '@microsoft/fast-foundation';\nimport { Serializer } from './serializers';\nlet HttpService = class HttpService {\n constructor(serializer) {\n this.serializer = serializer;\n }\n get(url, requestInit) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield fetch(url, Object.assign(Object.assign({}, requestInit), { method: 'GET' }));\n const serializer = requestInit.serializer || this.serializer;\n return serializer.deserialize(response);\n });\n }\n post(url, requestInit) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield fetch(url, Object.assign(Object.assign({}, requestInit), { method: 'POST' }));\n const serializer = requestInit.serializer || this.serializer;\n return serializer.deserialize(response);\n });\n }\n};\nHttpService = __decorate([\n __param(0, Serializer)\n], HttpService);\n/**\n * The DI token for the Http interface.\n * @internal\n */\nexport const Http = DI.createInterface((x) => x.singleton(HttpService));\n","import { __awaiter, __decorate, __param } from \"tslib\";\nimport { HTTP_CONFIG, JSONSerializer } from '@genesislcap/foundation-utils';\nimport { observable, volatile } from '@microsoft/fast-element';\nimport { DI, optional } from '@microsoft/fast-foundation';\nimport { BehaviorSubject, concat, finalize, from, interval, switchMap, takeWhile, } from 'rxjs';\nimport { MetaCache } from '../metadata';\nimport { Session } from '../session';\nimport { logger } from '../utils';\nimport { HttpConnectConfig } from './connect.types';\nimport { Http } from './http';\nimport { EventMessageType, MessageBuilder, MessageType, } from './message';\n/**\n * The default configuration for connecting to an HTTP service.\n * @public\n */\nexport const defaultHttpConnectConfig = {\n polling: Object.assign({ POLLING_MAP: {\n EVENT_AMEND_USER: {\n TEMP_FREQUENCY: 500,\n AMOUNT_OF_POLLS: 5,\n QUERIES: ['ALL_USERS'],\n },\n }, POLLING_INTERVAL_MAP: {\n ALL_TRADES: 5000,\n ALL_USERS: 5000,\n ALL_PROCESSES_STATUS: 10000,\n }, POLLING_FREQUENCY: 5000 }, (HTTP_CONFIG && HTTP_CONFIG.length ? JSON.parse(HTTP_CONFIG) : {})),\n};\n/**\n * The Connect implementation for HTTP.\n * @internal\n */\nlet HttpConnectService = class HttpConnectService {\n get isConnected() {\n return this._isConnected;\n }\n set isConnected(value) {\n this._isConnected = value;\n this.isConnectedSubject.next(this._isConnected);\n }\n constructor(http, messageBuilder, session, metaCache, serializer, config = defaultHttpConnectConfig) {\n var _a;\n this.http = http;\n this.messageBuilder = messageBuilder;\n this.session = session;\n this.metaCache = metaCache;\n this.serializer = serializer;\n this.config = config;\n this.isWorking = false;\n this._isConnected = false;\n // TODO: Deprecated\n // private isConnectedSubject = new BehaviorSubject(this._isConnected);\n this.isConnectedSubject = new BehaviorSubject(this._isConnected);\n this.isConnected$ = (_a = this.isConnectedSubject) === null || _a === void 0 ? void 0 : _a.asObservable();\n // keep track of events with temporarily increased polling frequency\n this.ongoingTurbo = {};\n /**\n * A map of active messages in \"polling\" mode.\n * @remarks Equivalent to messaged being streamed in a WebSocket connection.\n * @internal\n */\n this.streams = new Map();\n }\n /**\n * Checks if the host is available by sending a heartbeat ping message and waiting for the response.\n * @private\n * @returns A Promise that resolves to `true` if the host is available, and `false` otherwise.\n */\n checkHost() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n return this.getMessage({\n MESSAGE_TYPE: MessageType.HEARTBEAT_PING,\n SOURCE_REF: 'host check', // doesn't matter\n }).then((response) => {\n return response.MESSAGE_TYPE === MessageType.HEARTBEAT_PONG;\n });\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n });\n }\n send(message, needsHandling) {\n return this.http.post(HttpConnectService.getUrl(this.host, message), {\n body: HttpConnectService.getBody(message),\n headers: HttpConnectService.getHeaders(message),\n });\n }\n httpMode() {\n return true;\n }\n setValidSession(valid) {\n logger.warn(`setValidSession() called while in http polling mode.`);\n }\n connect(host) {\n return __awaiter(this, void 0, void 0, function* () {\n this.host = host;\n if (!this.host.endsWith('/')) {\n this.host = this.host.concat('/');\n }\n return this.checkHost().then((connected) => {\n this.isConnected = connected;\n this.session.setSessionStorageItem('hostUrl', this.host);\n return connected;\n });\n });\n }\n disconnect() {\n this.isConnected = false;\n this.streams.clear();\n this.ongoingTurbo = {};\n this.host = undefined;\n }\n snapshot(resourceName, params) {\n return __awaiter(this, void 0, void 0, function* () {\n const snapshotMessage = this.messageBuilder.createDataLogonMessage(resourceName, params);\n logger.debug(`HTTP MODE - ${snapshotMessage.MESSAGE_TYPE} (snapshot) message created -> `, snapshotMessage);\n return this.send(snapshotMessage).then((message) => {\n // snapshot = we only care about the initial payload but since it's a DATASERVER resource (not REQUEST_REPLY) we need to terminate the stream on the server\n this.dataLogoff(snapshotMessage.SOURCE_REF).catch((e) => logger.error(e));\n return message;\n });\n });\n }\n stream(resourceName, onMessage, onError, params) {\n const streamMessage = this.messageBuilder.createDataLogonMessage(resourceName, params);\n logger.debug(`HTTP MODE - ${streamMessage.MESSAGE_TYPE} (stream) message created -> `, streamMessage);\n const SOURCE_REF = streamMessage.SOURCE_REF;\n this.streams.set(SOURCE_REF, {\n SOURCE_REF,\n POLLING_FREQUENCY: new BehaviorSubject(this.config.polling.POLLING_FREQUENCY),\n RESOURCE_NAME: resourceName,\n });\n const interval$ = this.streams.get(SOURCE_REF).POLLING_FREQUENCY;\n const stream = concat(\n // initial DATA_LOGON needs to be a POST\n from(this.send(streamMessage)), \n // subsequent GET requests using the same SOURCE_REF\n interval$\n .pipe(switchMap((ms) => interval(ms)))\n .pipe(switchMap(() => from(this.getMessage(streamMessage))))).pipe(takeWhile(() => this.streams.has(SOURCE_REF)), // ensure it stops emitting once removed\n finalize(() => {\n logger.debug(`Terminating stream for ${resourceName} - ${SOURCE_REF}`);\n this.dataLogoff(SOURCE_REF);\n }));\n this.streams.get(SOURCE_REF).STREAM = stream;\n return stream;\n }\n getMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.http.get(HttpConnectService.getUrl(this.host, message), {\n headers: HttpConnectService.getHeaders(message),\n });\n });\n }\n getMoreRows(sourceRef) {\n return __awaiter(this, void 0, void 0, function* () {\n const moreRowsMessage = this.messageBuilder.createMoreRowsMessage(sourceRef);\n logger.debug(`HTTP MODE - ${moreRowsMessage.MESSAGE_TYPE} message created -> `, moreRowsMessage);\n return this.send(moreRowsMessage);\n });\n }\n dataLogoff(streamSourceRef) {\n return __awaiter(this, void 0, void 0, function* () {\n const dataLogoffMessage = this.messageBuilder.createDataLogoffMessage(streamSourceRef);\n return this.send(dataLogoffMessage).then((res) => {\n if (this.streams.has(streamSourceRef)) {\n logger.debug(`Removing stream ${streamSourceRef}`);\n this.streams.delete(streamSourceRef);\n }\n return res;\n });\n });\n }\n getMetadata(resourceName, useCache = true) {\n return __awaiter(this, void 0, void 0, function* () {\n const metaRequestMessage = this.messageBuilder.createMetaRequestMessage(resourceName);\n logger.debug(`HTTP MODE - ${metaRequestMessage.MESSAGE_TYPE} (metadata) message created -> `, metaRequestMessage);\n // what was top level payload using websockets is now under DETAILS for some reason\n return this.send(metaRequestMessage).then((res) => res.DETAILS);\n });\n }\n getJSONSchema(resourceName) {\n return __awaiter(this, void 0, void 0, function* () {\n const metaRequestMessage = this.messageBuilder.createMetaRequestMessage(resourceName, EventMessageType.JSON_SCHEMA_REQUEST);\n logger.debug(`HTTP MODE! - ${metaRequestMessage.MESSAGE_TYPE} (json schema) message created -> `, metaRequestMessage);\n return this.send(metaRequestMessage);\n });\n }\n request(resourceName, params) {\n const requestMessage = this.messageBuilder.createRequestMessage(resourceName, params);\n logger.debug(`HTTP MODE! - ${requestMessage.MESSAGE_TYPE} (request server) message created -> `, requestMessage);\n return this.send(requestMessage);\n }\n commitEvent(eventName, params) {\n return __awaiter(this, void 0, void 0, function* () {\n const commitMessage = this.messageBuilder.createCommitMessage(eventName, params);\n logger.debug(`HTTP MODE! - ${commitMessage.MESSAGE_TYPE} (commit) message created -> `, commitMessage);\n return this.send(commitMessage).then((reply) => {\n this.maybeTurbo(eventName, reply);\n return reply;\n });\n });\n }\n maybeTurbo(eventName, message) {\n var _a;\n if (!((_a = message === null || message === void 0 ? void 0 : message.MESSAGE_TYPE) === null || _a === void 0 ? void 0 : _a.endsWith('_ACK')))\n return;\n if (this.ongoingTurbo[eventName]) {\n logger.debug(`${eventName} polling frequency is already accelerated.`);\n return;\n }\n const turbo = this.config.polling.POLLING_MAP[eventName];\n if (!((turbo === null || turbo === void 0 ? void 0 : turbo.TEMP_FREQUENCY) && turbo.AMOUNT_OF_POLLS)) {\n return;\n }\n const freq = turbo.TEMP_FREQUENCY;\n const duration = freq * turbo.AMOUNT_OF_POLLS;\n // DEEP COPIES - will be used to override the polling frequency temporarily and then switch back to the original\n const originalPollingIntervalMap = JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));\n const tempPollingMap = JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));\n for (const q of turbo.QUERIES) {\n tempPollingMap[q] = freq;\n if (!originalPollingIntervalMap[q]) {\n originalPollingIntervalMap[q] = this.config.polling.POLLING_FREQUENCY;\n }\n }\n // temporary override starting now\n logger.debug(`${eventName} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${freq}ms DURATION=${duration}`);\n this.ongoingTurbo[eventName] = true;\n this.updateIntervals({\n polling: {\n POLLING_INTERVAL_MAP: tempPollingMap,\n },\n });\n // schedule restoration of the original polling frequency\n setTimeout(() => {\n logger.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${eventName}`);\n this.updateIntervals({\n polling: {\n POLLING_INTERVAL_MAP: originalPollingIntervalMap,\n },\n });\n this.ongoingTurbo[eventName] = false;\n }, duration);\n }\n updateIntervals(config) {\n const { POLLING_INTERVAL_MAP } = config.polling;\n if (!POLLING_INTERVAL_MAP)\n return;\n this.config.polling.POLLING_INTERVAL_MAP = POLLING_INTERVAL_MAP;\n this.handlePollingIntervalMapUpdate(POLLING_INTERVAL_MAP);\n }\n handlePollingIntervalMapUpdate(pollingIntervalMap) {\n if (!pollingIntervalMap) {\n return;\n }\n for (const resource in pollingIntervalMap) {\n if (!pollingIntervalMap.hasOwnProperty(resource))\n continue;\n const newFreq = pollingIntervalMap[resource];\n this.config.polling.POLLING_INTERVAL_MAP[resource] = newFreq;\n logger.debug(`Setting polling frequency for ${resource} = ${newFreq}`);\n // could have another map by resource name for better efficiency but likely dealing with negligible number of streams\n [...this.streams.values()]\n .filter((s) => s.RESOURCE_NAME === resource)\n .forEach((s) => { var _a; return (_a = s === null || s === void 0 ? void 0 : s.POLLING_FREQUENCY) === null || _a === void 0 ? void 0 : _a.next(newFreq); });\n }\n }\n static getHeaders(message) {\n const headers = {\n 'Content-type': 'application/json; charset=UTF-8',\n 'source-ref': message.SOURCE_REF,\n };\n if (message.SESSION_AUTH_TOKEN) {\n headers['SESSION-AUTH-TOKEN'] = message.SESSION_AUTH_TOKEN;\n }\n if (message.MESSAGE_TYPE === EventMessageType.EVENT_LOGOUT) {\n headers['SESSION-ID'] = message.SESSION_ID;\n }\n return headers;\n }\n static getBody(message) {\n return JSON.stringify(message);\n }\n static getUrl(host, message) {\n const type = message.MESSAGE_TYPE;\n let apiEndpoint = message.MESSAGE_TYPE.replace(/_/g, '-').toLowerCase();\n // for DATA_LOGON we go by resource name\n if (type === EventMessageType.DATA_LOGON) {\n apiEndpoint = message.DETAILS.DATASOURCE_NAME.replace(/_/g, '-').toLowerCase();\n }\n return `${host}${apiEndpoint}`;\n }\n};\n__decorate([\n observable\n], HttpConnectService.prototype, \"host\", void 0);\n__decorate([\n observable\n], HttpConnectService.prototype, \"isWorking\", void 0);\n__decorate([\n observable\n], HttpConnectService.prototype, \"_isConnected\", void 0);\n__decorate([\n volatile\n], HttpConnectService.prototype, \"isConnected\", null);\nHttpConnectService = __decorate([\n __param(0, Http),\n __param(1, MessageBuilder),\n __param(2, Session),\n __param(3, MetaCache),\n __param(4, JSONSerializer),\n __param(5, optional(HttpConnectConfig))\n], HttpConnectService);\n/**\n * The DI token for the Connect interface (WS-only).\n * @internal\n */\nexport const HttpConnect = DI.createInterface((x) => x.singleton(HttpConnectService));\n","import { Observable } from 'rxjs';\nconst DEFAULT_RECONNECT_INTERVAL = 10000;\nconst MAX_RECONNECT_INTERVAL = 60000;\n/**\n * Default number of reconnect attempts\n * @public\n */\nexport const MAX_RECONNECT_ATTEMPTS = 10;\n/**\n * Socket reconnection strategies\n * @public\n */\nexport var SocketReconnectStrategy;\n(function (SocketReconnectStrategy) {\n SocketReconnectStrategy[\"Linear\"] = \"linear\";\n SocketReconnectStrategy[\"Exponential\"] = \"exponential\";\n})(SocketReconnectStrategy || (SocketReconnectStrategy = {}));\n/**\n * Generate reconnect interval based on scheduler\n * @public\n * @param reconnectOptions - {@link SocketReconnectOptions} options\n * @param scheduler - {@link SocketReconnectScheduler} function\n * @returns Observable<number>\n */\nexport const retryInterval = (reconnectOptions, scheduler) => {\n return new Observable((observer) => {\n let count = 0;\n let timeoutId;\n function recursiveTimeout() {\n observer.next(count);\n clearTimeout(timeoutId);\n timeoutId = setTimeout(recursiveTimeout, scheduler(reconnectOptions, count));\n count = count + 1;\n }\n recursiveTimeout();\n return () => {\n clearTimeout(timeoutId);\n };\n });\n};\n/**\n * Expontential Interval scheduler for reconnect\n * @public\n * @param reconnectOptions - {@link SocketReconnectOptions} options\n * @param attempt - number of attempts\n * @returns number of milliseconds that is a power of 2 ^ attempts * baseInterval\n */\nexport const exponentialScheduler = (reconnectOptions, attempts) => {\n const { reconnectInterval = DEFAULT_RECONNECT_INTERVAL } = reconnectOptions;\n const baseInterval = reconnectInterval > MAX_RECONNECT_INTERVAL ? MAX_RECONNECT_INTERVAL : reconnectInterval;\n const attemptsBreakPoint = Math.round(Math.log2(MAX_RECONNECT_INTERVAL / baseInterval));\n return baseInterval * Math.pow(2, (attempts % attemptsBreakPoint));\n};\n/**\n * Linear Interval scheduler for reconnect\n * @public\n * @param reconnectOptions - {@link SocketReconnectOptions} options\n * @returns number of milliseconds specified in reconnectOptions up to @see MAX_RECONNECT_INTERVAL\n */\nexport const linearScheduler = (reconnectOptions) => {\n const { reconnectInterval = DEFAULT_RECONNECT_INTERVAL } = reconnectOptions;\n const baseInterval = reconnectInterval > MAX_RECONNECT_INTERVAL ? MAX_RECONNECT_INTERVAL : reconnectInterval;\n return baseInterval;\n};\n","import { __awaiter, __decorate, __param } from \"tslib\";\nimport { UUID } from '@genesislcap/foundation-utils';\nimport { observable } from '@microsoft/fast-element';\nimport { DI } from '@microsoft/fast-foundation';\nimport { BehaviorSubject, from, Observable, of, Subject, Subscription, throwError, timer, } from 'rxjs';\nimport { filter, mergeMap, switchMap, takeWhile, tap } from 'rxjs/operators';\nimport { WebSocketSubject } from 'rxjs/webSocket';\nimport { Session } from '../session';\nimport { logger } from '../utils';\nimport { EventMessageType, MessageBuilder, MessageType } from './message';\nimport { exponentialScheduler, linearScheduler, MAX_RECONNECT_ATTEMPTS, retryInterval, SocketReconnectStrategy, } from './reconnectStrategy';\nimport { Serializer } from './serializers';\n/**\n * Subject that wraps a WebSocketSubject and provides a Subject interface for sending and receiving messages.\n * @public\n * @remarks An alias to RxJS Subject.\n */\nexport class SocketSubject extends Subject {\n constructor() {\n super();\n }\n}\n/**\n * Observable that wraps a WebSocketSubject and provides an Observable interface for sending and receiving messages.\n * @public\n * @remarks An alias to RxJS Observable.\n */\nexport class SocketObservable extends Observable {\n constructor(...args) {\n super(...args);\n }\n}\n/**\n * An alias to RxJS Subscription.\n * @public\n */\nexport { Subscription as SocketSubscription };\n/**\n * The Socket message handler definition.\n * @public\n */\nexport class SocketMessageHandler {\n constructor(message, onMessage, onError, isSubscription) {\n this._message = message;\n this._onMessage = onMessage;\n this._onError = onError;\n this._isSubscription = isSubscription;\n }\n /**\n * The message that was sent.\n * @public\n */\n get sentMessage() {\n return this._message;\n }\n /**\n * The handler function for incoming messages.\n * @public\n */\n get onReceivedMessage() {\n return this._onMessage;\n }\n /**\n * The handler function for errors.\n * @public\n */\n get onReceivedError() {\n return this._onError;\n }\n /**\n * Whether the message handler is a subscription.\n * @public\n */\n get isSubscription() {\n return this._isSubscription;\n }\n}\nlet SocketService = class SocketService {\n isConnectedChanged(_, isConnected) {\n this.isConnectedSubject.next(isConnected);\n }\n constructor(messageBuilder, session, serializer, uuid) {\n this.messageBuilder = messageBuilder;\n this.session = session;\n this.serializer = serializer;\n this.uuid = uuid;\n this.defaultInterval = 10000;\n this.secondsMultiplier = 1000;\n this.isConnectedSubject = new BehaviorSubject(false);\n this.isConnected = false;\n this.hasValidSession = false;\n this.heartbeatIsEnabled = true;\n this.heartbeatInterval = this.defaultInterval;\n this.isReconnecting = false;\n this.socketMessages = () => this.wsMessages;\n }\n get heartbeatLoggingIsEnabled() {\n var _a, _b;\n return (_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableHeartbeatLogging) !== null && _b !== void 0 ? _b : false;\n }\n get messageLoggingIsEnabled() {\n var _a, _b;\n return (_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableMessageLogging) !== null && _b !== void 0 ? _b : false;\n }\n connect(host, connectOptions, reconnectOptions) {\n this.url = host;\n this.connectOptions = connectOptions;\n this.reconnectOptions = reconnectOptions;\n return new Promise((resolve) => {\n var _a, _b, _c, _d;\n logger.info(`${this.isReconnecting ? 'Reconnecting' : 'Connecting'} to ${this.url}`);\n const cleanMessages = !this.isReconnecting || !((_a = this.reconnectOptions) === null || _a === void 0 ? void 0 : _a.reconnectStreams);\n if (cleanMessages) {\n this.cleanMessages();\n }\n (_b = this.socketSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();\n this.websocket = new WebSocketSubject({\n url: this.url,\n openObserver: {\n next: () => {\n this.isConnected = true;\n this.session.setSessionStorageItem('hostUrl', this.url);\n this.prepareHeartbeat();\n logger.info(`WebSocket connection is now open`);\n resolve(this.isConnected);\n },\n },\n closeObserver: {\n next: (closeEvent) => {\n this.disconnectedByServer = !closeEvent.wasClean;\n this.isConnected = false;\n if (this.disconnectedByServer) {\n logger.info(`WebSocket connection was closed due an error - Code: ${closeEvent.code} ${closeEvent.reason ? ' | Reason: ' + closeEvent.reason : ''}`);\n }\n resolve(this.isConnected);\n },\n },\n serializer: this.serializer.serialize,\n deserializer: this.serializer.deserialize,\n });\n const onNextMessage = (receivedMessage) => __awaiter(this, void 0, void 0, function* () {\n var _e;\n const responseMessageReceivedLog = `Response Message received for SourceRef: ${receivedMessage.SOURCE_REF} | MessageType: ${receivedMessage.MESSAGE_TYPE}`;\n this.logMessageTypeFlow(receivedMessage.MESSAGE_TYPE, logger.info, responseMessageReceivedLog);\n const { SOURCE_REF, MESSAGE_TYPE } = receivedMessage;\n const messageHandler = this.getMessageHandler(SOURCE_REF, MESSAGE_TYPE);\n if (!messageHandler) {\n return;\n }\n let nacked = false;\n switch (receivedMessage.MESSAGE_TYPE) {\n case EventMessageType.EVENT_LOGIN_AUTH_ACK: {\n this.hasValidSession = true;\n const systemDetails = receivedMessage.DETAILS;\n // Reconfigures the heartbeat with system details from the login response\n if (systemDetails.HEARTBEAT_INTERVAL_SECS &&\n ((_e = this.connectOptions) === null || _e === void 0 ? void 0 : _e.heartbeatInterval) === undefined) {\n this.heartbeatInterval =\n systemDetails.HEARTBEAT_INTERVAL_SECS * this.secondsMultiplier;\n this.prepareHeartbeat();\n }\n break;\n }\n case MessageType.LOGOUT_ACK: {\n this.hasValidSession = false;\n messageHandler.onReceivedMessage.call(this, receivedMessage);\n this.cleanMessages();\n return;\n }\n case MessageType.LOGON_ACK:\n return;\n case MessageType.LOGOFF_ACK: {\n if (receivedMessage.LOGGED_OUT && this.hasValidSession) {\n const refreshTokenMessage = this.messageBuilder.createRefreshTokenMessage();\n const refreshTokenResult = yield this.send(refreshTokenMessage);\n if (!refreshTokenResult) {\n this.hasValidSession = false;\n }\n else if (refreshTokenResult.MESSAGE_TYPE === EventMessageType.EVENT_LOGIN_AUTH_ACK) {\n this.session.setAuthResult(refreshTokenResult);\n this.wsMessageHandlers.forEach((mh) => {\n if (mh.isSubscription) {\n mh.sentMessage.SESSION_AUTH_TOKEN = refreshTokenResult.SESSION_AUTH_TOKEN;\n this.websocket.next(mh.sentMessage);\n }\n });\n }\n }\n break;\n }\n case MessageType.QUERY_UPDATE: {\n if (!messageHandler.isSubscription) {\n const dataLogoffMessage = this.messageBuilder.createDataLogoffMessage(SOURCE_REF);\n this.send(dataLogoffMessage);\n }\n break;\n }\n case MessageType.MSG_NACK: {\n nacked = true;\n break;\n }\n }\n if (nacked) {\n messageHandler.onReceivedError.call(this, {\n receivedMessage,\n sentMessage: messageHandler.sentMessage,\n });\n }\n else {\n messageHandler.onReceivedMessage.call(this, receivedMessage);\n }\n this.wsMessages.next(receivedMessage);\n if (!messageHandler.isSubscription) {\n this.removeMessageHandler(SOURCE_REF);\n }\n });\n const onError = (error) => {\n logger.debug('Error found: ', error);\n this.reconnect();\n };\n const onComplete = () => {\n var _a;\n if (this.disconnectedByServer && ((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.alwaysOn)) {\n this.reconnect();\n return;\n }\n logger.info('Connection is now closed');\n };\n this.socketSubscription = this.websocket.subscribe((_d = (_c = this.connectOptions) === null || _c === void 0 ? void 0 : _c.connectObserver) !== null && _d !== void 0 ? _d : {\n next: onNextMessage,\n error: onError,\n complete: onComplete,\n });\n });\n }\n prepareHeartbeat() {\n var _a, _b, _c, _d;\n if (this.heartbeatSubscription) {\n this.heartbeatSubscription.unsubscribe();\n }\n const sendHeartbeat = () => __awaiter(this, void 0, void 0, function* () {\n if (!this.isConnected)\n return;\n const ping = {\n MESSAGE_TYPE: MessageType.HEARTBEAT_PING,\n SOURCE_REF: this.uuid.createId(),\n };\n const pong = yield this.send(ping);\n this.heartbeatIsEnabled =\n pong.MESSAGE_TYPE === MessageType.HEARTBEAT_PONG && pong.SOURCE_REF === ping.SOURCE_REF;\n });\n if ((_b = (_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.enableHeartbeat) !== null && _b !== void 0 ? _b : this.heartbeatIsEnabled) {\n const intervalInMillisecocnds = (_d = (_c = this.connectOptions) === null || _c === void 0 ? void 0 : _c.heartbeatInterval) !== null && _d !== void 0 ? _d : this.heartbeatInterval;\n this.heartbeatSubscription = timer(intervalInMillisecocnds, intervalInMillisecocnds)\n .pipe(takeWhile(() => this.websocket && this.isConnected), tap(() => this.heartbeatLoggingIsEnabled &&\n logger.debug(`Sending a heartbeat ping every ${intervalInMillisecocnds} ms`)))\n .subscribe(() => sendHeartbeat());\n }\n }\n reconnect() {\n var _a, _b, _c, _d, _e;\n const notAlwaysOnAndHeartbeating = !((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.alwaysOn) && ((_b = this.connectOptions) === null || _b === void 0 ? void 0 : _b.enableHeartbeat) === false;\n if (this.isReconnecting || notAlwaysOnAndHeartbeating) {\n return;\n }\n this.isReconnecting = true;\n const scheduler = ((_c = this.reconnectOptions) === null || _c === void 0 ? void 0 : _c.reconnectStrategy) === SocketReconnectStrategy.Exponential\n ? exponentialScheduler\n : linearScheduler;\n const reconnectObservable = this.isConnectedSubject.asObservable().pipe(switchMap((isConnected) => !isConnected\n ? retryInterval(this.reconnectOptions, scheduler).pipe(mergeMap((value) => {\n var _a, _b, _c;\n let attemptsAmount;\n if ((_a = this.connectOptions) === null || _a === void 0 ? void 0 : _a.alwaysOn) {\n attemptsAmount = value + 1;\n }\n else {\n attemptsAmount =\n (_c = (_b = this.reconnectOptions) === null || _b === void 0 ? void 0 : _b.reconnectAttempts) !== null && _c !== void 0 ? _c : MAX_RECONNECT_ATTEMPTS;\n }\n if (value < attemptsAmount) {\n return of(value);\n }\n return throwError(() => new Error(`Max reconnect attempts ${attemptsAmount} reached.`));\n }))\n : of(-1)), takeWhile(() => this.websocket && !this.isConnected));\n reconnectObservable.subscribe((_e = (_d = this.reconnectOptions) === null || _d === void 0 ? void 0 : _d.reconnectObserver) !== null && _e !== void 0 ? _e : {\n next: (value) => {\n logger.debug(`Attempt no. ${value + 1} to reconnect`);\n this.websocket.complete();\n this.connect(this.url, this.connectOptions, this.reconnectOptions);\n },\n error: (error) => {\n var _a;\n logger.debug(error);\n (_a = this.socketSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n this.isReconnecting = false;\n },\n complete: () => {\n logger.info(this.isConnected ? 'Reconnected' : 'Disconnected');\n this.isReconnecting = false;\n this.wsMessageHandlers.forEach((mh) => {\n if (mh.isSubscription) {\n this.websocket.next(mh.sentMessage);\n }\n });\n },\n });\n }\n reset() {\n this.isConnected = false;\n this.websocket && this.websocket.complete();\n this.websocket = null;\n this.cleanMessages();\n }\n cleanMessages() {\n this.wsMessages && this.wsMessages.complete();\n this.wsMessages = new SocketSubject();\n this.wsMessageHandlers = new Map();\n }\n send(message, needsHandling = true) {\n if (!this.isConnected) {\n Promise.reject(new Error('WebSocket connection is closed'));\n return;\n }\n const sendingMessasgeLog = `Sending Message for SourceRef: ${message.SOURCE_REF} | MessageType: ${message.MESSAGE_TYPE}`;\n this.logMessageTypeFlow(message.MESSAGE_TYPE, logger.info, sendingMessasgeLog);\n return new Promise((resolve, reject) => {\n const onMessage = (msg) => {\n resolve(msg);\n };\n const onError = (err) => {\n reject(err);\n };\n if (needsHandling) {\n this.setMessageHandler(message, onMessage, onError);\n }\n this.websocket.next(message);\n });\n }\n sendForStream(message, onMessage, onError) {\n if (!this.isConnected) {\n return throwError(() => new Error('WebSocket connection is closed'));\n }\n if (!this.hasValidSession) {\n return throwError(() => new Error(`WebSocket connection is open but there is no valid/active session, please check your auth flow`));\n }\n const sendingMessageLog = `Sending Message (stream) for SourceRef: ${message.SOURCE_REF} | MessageType: ${message.MESSAGE_TYPE}`;\n this.logMessageTypeFlow(message.MESSAGE_TYPE, logger.info, sendingMessageLog);\n this.setMessageHandler(message, onMessage, onError, true);\n this.websocket.next(message);\n return from(this.wsMessages.pipe(filter((msg) => msg.SOURCE_REF === message.SOURCE_REF)));\n }\n setMessageHandler(message, onMessage, onError, isSubscription = false) {\n const settingMessageHandlerLog = `Setting Message Handler for SourceRef: ${message.SOURCE_REF} | MessageType: ${message.MESSAGE_TYPE}`;\n this.logMessageTypeFlow(message.MESSAGE_TYPE, logger.debug, settingMessageHandlerLog);\n this.wsMessageHandlers.set(message.SOURCE_REF, new SocketMessageHandler(message, onMessage, onError, isSubscription));\n }\n removeMessageHandler(sourceRef) {\n this.wsMessageHandlers.delete(sourceRef);\n }\n getMessageHandler(sourceRef, messageType) {\n const gettingMessageHandlerLog = `Getting Message Handler for SourceRef: ${sourceRef} | MessageType: ${messageType}`;\n this.logMessageTypeFlow(messageType, logger.debug, gettingMessageHandlerLog);\n return this.wsMessageHandlers.get(sourceRef);\n }\n logMessageTypeFlow(messageType, logFunc, logMsg) {\n switch (messageType) {\n case MessageType.HEARTBEAT_PING:\n case MessageType.HEARTBEAT_PONG:\n if (this.heartbeatLoggingIsEnabled) {\n logFunc(logMsg);\n }\n break;\n default:\n if (this.messageLoggingIsEnabled) {\n logFunc(logMsg);\n }\n break;\n }\n }\n};\n__decorate([\n observable\n], SocketService.prototype, \"websocket\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"wsMessages\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"wsMessageHandlers\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"isConnected\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"disconnectedByServer\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"hasValidSession\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"heartbeatIsEnabled\", void 0);\n__decorate([\n observable\n], SocketService.prototype, \"isReconnecting\", void 0);\nSocketService = __decorate([\n __param(0, MessageBuilder),\n __param(1, Session),\n __param(2, Serializer),\n __param(3, UUID)\n], SocketService);\n/**\n * The DI token for the Socket interface.\n * @internal\n */\nexport const Socket = DI.createInterface((x) => x.singleton(SocketService));\n","import { __awaiter, __decorate, __param } from \"tslib\";\nimport { FORCE_HTTP } from '@genesislcap/foundation-utils';\nimport { observable, volatile } from '@microsoft/fast-element';\nimport { DI, optional } from '@microsoft/fast-foundation';\nimport { MetaCache } from '../metadata';\nimport { isWebSocketExpression, logger } from '../utils';\nimport { ConnectConfig } from './connect.types';\nimport { HttpConnect } from './http.connect';\nimport { EventMessageType, MessageBuilder } from './message';\nimport { Socket } from './socket';\n/**\n * The default configuration for connecting to a WS service.\n * @public\n */\nexport const defaultConnectConfig = {\n connect: {\n alwaysOn: false,\n enableHeartbeat: true,\n enableHeartbeatLogging: false,\n heartbeatInterval: 10000,\n enableMessageLogging: false,\n },\n reconnect: {\n reconnectAttempts: 10,\n reconnectInterval: 10000,\n reconnectStreams: true,\n },\n};\n/**\n * The Connect implementation for WebSocket.\n * @public\n */\nlet DefaultConnect = class DefaultConnect {\n get isConnected() {\n return this.socket.isConnected;\n }\n get isConnectedSubject() {\n return this.socket.isConnectedSubject;\n }\n get isConnected$() {\n var _a;\n return (_a = this.socket.isConnectedSubject) === null || _a === void 0 ? void 0 : _a.asObservable();\n }\n constructor(socket, messageBuilder, metaCache, config = defaultConnectConfig) {\n this.socket = socket;\n this.messageBuilder = messageBuilder;\n this.metaCache = metaCache;\n this.config = config;\n this.isWorking = false;\n }\n httpMode() {\n return false;\n }\n setValidSession(valid) {\n this.socket.hasValidSession = valid;\n }\n send(message, needsHandling) {\n return this.socket.send(message, needsHandling);\n }\n connect(host) {\n return __awaiter(this, void 0, void 0, function* () {\n this.socket.reset();\n if (!isWebSocketExpression.test(host)) {\n logger.error(`Specified host (${host}) is not valid WebSocket url. Connection will not proceed.`);\n logger.warn(`Make sure the host url starts with wss:// or ws://`);\n return;\n }\n return this.socket.connect(host, this.config.connect, this.config.reconnect);\n });\n }\n disconnect() {\n this.socket.reset();\n }\n snapshot(resourceName, params) {\n return __awaiter(this, void 0, void 0, function* () {\n const snapshotMessage = this.messageBuilder.createDataLogonMessage(resourceName, params);\n logger.debug(`${snapshotMessage.MESSAGE_TYPE} (snapshot) message created -> `, snapshotMessage);\n return this.socket.send(snapshotMessage);\n });\n }\n stream(resourceName, onMessage, onError, params) {\n const streamMessage = this.messageBuilder.createDataLogonMessage(resourceName, params);\n logger.debug(`${streamMessage.MESSAGE_TYPE} (stream) message created -> `, streamMessage);\n return this.socket.sendForStream(streamMessage, onMessage, onError);\n }\n getMoreRows(sourceRef) {\n return __awaiter(this, void 0, void 0, function* () {\n const moreRowsMessage = this.messageBuilder.createMoreRowsMessage(sourceRef);\n logger.debug(`${moreRowsMessage.MESSAGE_TYPE} message created -> `, moreRowsMessage);\n return this.socket.send(moreRowsMessage, false);\n });\n }\n dataLogoff(streamSourceRef) {\n return __awaiter(this, void 0, void 0, function* () {\n const dataLogoffMessage = this.messageBuilder.createDataLogoffMessage(streamSourceRef);\n logger.debug(`${dataLogoffMessage.MESSAGE_TYPE} message created -> `, dataLogoffMessage);\n return this.socket.send(dataLogoffMessage);\n });\n }\n getMetadata(resourceName, useCache = true) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (useCache) {\n if (this.metaCache.hasMetadataFor(resourceName)) {\n logger.debug(`Cached metadata retrieved for ${resourceName}`);\n return this.metaCache.getMetadataFor(resourceName);\n }\n }\n const metaRequestMessage = this.messageBuilder.createMetaRequestMessage(resourceName);\n logger.debug(`${metaRequestMessage.MESSAGE_TYPE} (metadata) message created -> `, metaRequestMessage);\n let details;\n try {\n this.isWorking = true;\n const metaResponse = yield this.socket.send(metaRequestMessage);\n details = (_a = metaResponse === null || metaResponse === void 0 ? void 0 : metaResponse.DETAILS) !== null && _a !== void 0 ? _a : {};\n if (Object.keys(details).length) {\n this.metaCache.setMetadataFor(resourceName, details);\n }\n }\n catch (e) {\n logger.error(e);\n }\n finally {\n this.isWorking = false;\n }\n return details;\n });\n }\n getJSONSchema(resourceName, useCache = true) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (useCache) {\n if (this.metaCache.hasJsonSchemaFor(resourceName)) {\n logger.debug(`Cached JsonSchema retrieved for ${resourceName}`);\n return this.metaCache.getJsonSchemaFor(resourceName);\n }\n }\n const metaRequestMessage = this.messageBuilder.createMetaRequestMessage(resourceName, EventMessageType.JSON_SCHEMA_REQUEST);\n logger.debug(`${metaRequestMessage.MESSAGE_TYPE} (json schema) message created -> `, metaRequestMessage);\n let jsonSchema;\n try {\n this.isWorking = true;\n jsonSchema = (_a = (yield this.socket.send(metaRequestMessage))) !== null && _a !== void 0 ? _a : {};\n if (Object.keys(jsonSchema).length) {\n this.metaCache.setJsonSchemaFor(resourceName, jsonSchema);\n }\n }\n catch (e) {\n logger.error(e);\n }\n finally {\n this.isWorking = false;\n }\n return jsonSchema;\n });\n }\n request(resourceName, params) {\n const requestMessage = this.messageBuilder.createRequestMessage(resourceName, params);\n logger.debug(`${requestMessage.MESSAGE_TYPE} (request server) message created -> `, requestMessage);\n return this.socket.send(requestMessage);\n }\n commitEvent(eventName, params) {\n return __awaiter(this, void 0, void 0, function* () {\n const commitMessage = this.messageBuilder.createCommitMessage(eventName, params);\n logger.debug(`${commitMessage.MESSAGE_TYPE} (commit) message created -> `, commitMessage);\n return this.socket.send(commitMessage);\n });\n }\n};\n__decorate([\n observable\n], DefaultConnect.prototype, \"isWorking\", void 0);\n__decorate([\n volatile\n], DefaultConnect.prototype, \"isConnected\", null);\nDefaultConnect = __decorate([\n __param(0, Socket),\n __param(1, MessageBuilder),\n __param(2, MetaCache),\n __param(3, optional(ConnectConfig))\n], DefaultConnect);\nexport { DefaultConnect };\nconst useHttpConnect = FORCE_HTTP === 'true' || false;\n/**\n * The DI token for the Connect interface (WS-only).\n * @internal\n */\nexport const WSConnect = DI.createInterface((x) => x.singleton(DefaultConnect));\n/**\n * The DI token for the Connect interface (HTTP | WS).\n * @internal\n */\nexport const Connect = DI.createInterface((x) => useHttpConnect ? x.aliasTo(HttpConnect) : x.aliasTo(WSConnect));\n","import { __decorate, __param } from \"tslib\";\nimport { UUID } from '@genesislcap/foundation-utils';\nimport { DI } from '@microsoft/fast-foundation';\nimport { AuthType } from '../auth/auth.types';\nimport { Session } from '../session';\n/**\n * General Message types\n * @public\n */\nexport var MessageType;\n(function (MessageType) {\n MessageType[\"LOGON_ACK\"] = \"LOGON_ACK\";\n MessageType[\"LOGON_NACK\"] = \"LOGON_NACK\";\n MessageType[\"LOGOFF_ACK\"] = \"LOGOFF_ACK\";\n MessageType[\"LOGOFF_NACK\"] = \"LOGOFF_NACK\";\n MessageType[\"HEARTBEAT_PING\"] = \"HEARTBEAT_PING\";\n MessageType[\"HEARTBEAT_PONG\"] = \"HEARTBEAT_PONG\";\n MessageType[\"MORE_ROWS\"] = \"MORE_ROWS\";\n MessageType[\"MSG_ACK\"] = \"MSG_ACK\";\n MessageType[\"MSG_NACK\"] = \"MSG_NACK\";\n MessageType[\"LOGOUT_ACK\"] = \"LOGOUT_ACK\";\n MessageType[\"LOGOUT_NACK\"] = \"LOGOUT_NACK\";\n MessageType[\"QUERY_UPDATE\"] = \"QUERY_UPDATE\";\n})(MessageType || (MessageType = {}));\n/**\n * Event Message types\n * @public\n */\nexport var EventMessageType;\n(function (EventMessageType) {\n EventMessageType[\"EVENT_LOGIN_AUTH\"] = \"EVENT_LOGIN_AUTH\";\n EventMessageType[\"EVENT_LOGIN_AUTH_ACK\"] = \"EVENT_LOGIN_AUTH_ACK\";\n EventMessageType[\"EVENT_LOGIN_AUTH_NACK\"] = \"EVENT_LOGIN_AUTH_NACK\";\n EventMessageType[\"EVENT_LOGOUT\"] = \"EVENT_LOGOUT\";\n EventMessageType[\"DATA_LOGON\"] = \"DATA_LOGON\";\n EventMessageType[\"DATA_LOGOFF\"] = \"DATA_LOGOFF\";\n EventMessageType[\"META_REQUEST\"] = \"META_REQUEST\";\n EventMessageType[\"JSON_SCHEMA_REQUEST\"] = \"JSON_SCHEMA_REQUEST\";\n EventMessageType[\"RESOURCES_REQUEST\"] = \"RESOURCES_REQUEST\";\n EventMessageType[\"EVENT_CHANGE_USER_PASSWORD\"] = \"EVENT_CHANGE_USER_PASSWORD\";\n EventMessageType[\"EVENT_SELF_SERVICE_PASSWORD_RESET\"] = \"EVENT_SELF_SERVICE_PASSWORD_RESET\";\n EventMessageType[\"EVENT_PASSWORD_RESET_ACTION\"] = \"EVENT_PASSWORD_RESET_ACTION\";\n})(EventMessageType || (EventMessageType = {}));\n/**\n * General Message codes\n * @public\n */\nexport var MessageCode;\n(function (MessageCode) {\n MessageCode[\"SESSION_NOT_FOUND\"] = \"SESSION_NOT_FOUND\";\n MessageCode[\"UNKNOWN_MESSAGE_TYPE\"] = \"UNKNOWN_MESSAGE_TYPE\";\n})(MessageCode || (MessageCode = {}));\n/**\n * Check if the provided message contains an error and throw an Error if it does\n * @public\n * @param message - Message to check for errors\n * @returns The message if no errors are present, otherwise throws an Error\n */\nexport const messageOrThrow = (message) => {\n if (message.ERROR) {\n throw new Error(message.ERROR.map((error) => error.TEXT).join());\n }\n return message;\n};\n/**\n * TODO: Abstract out localStorage interaction with shell io stuff\n */\nlet MessageBuilderService = class MessageBuilderService {\n /**\n * UUID will be created in the DI with the App specific requirements.\n * Keeping it encapsulated means messages will always conform.\n */\n constructor(session, uuid) {\n this.session = session;\n this.uuid = uuid;\n }\n createLoginMessage(credentials) {\n let DETAILS;\n switch (credentials.type) {\n case AuthType.BASIC:\n DETAILS = {\n USER_NAME: credentials.username,\n PASSWORD: credentials.password,\n };\n break;\n case AuthType.REFRESH:\n DETAILS = {\n USER_NAME: credentials.username,\n REFRESH_AUTH_TOKEN: credentials.refreshToken,\n };\n break;\n case AuthType.SSO:\n DETAILS = {\n SSO_TOKEN: credentials.ssoToken,\n };\n break;\n case AuthType.JWT:\n DETAILS = {\n JWT: credentials.jwt,\n DOMAIN: credentials.domain,\n };\n break;\n }\n return {\n DETAILS,\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: EventMessageType.EVENT_LOGIN_AUTH,\n };\n }\n createLogoutMessage(loginResult) {\n var _a, _b;\n return {\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: EventMessageType.EVENT_LOGOUT,\n SESSION_AUTH_TOKEN: (_a = loginResult.authToken) !== null && _a !== void 0 ? _a : this.session.getSessionStorageItem('authToken'),\n SESSION_ID: (_b = loginResult.sessionId) !== null && _b !== void 0 ? _b : this.session.getSessionStorageItem('sessionId'),\n };\n }\n createDataLogonMessage(resourceName, params) {\n return {\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: EventMessageType.DATA_LOGON,\n DETAILS: Object.assign({ DATASOURCE_NAME: resourceName }, params),\n SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'),\n };\n }\n createDataLogoffMessage(sourceRef) {\n return {\n SOURCE_REF: sourceRef,\n MESSAGE_TYPE: EventMessageType.DATA_LOGOFF,\n SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'),\n };\n }\n createRequestMessage(resourceName, params) {\n return Object.assign({ SOURCE_REF: this.uuid.createId(), SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'), MESSAGE_TYPE: resourceName.startsWith('REQ_') ? resourceName : `REQ_${resourceName}` }, params);\n }\n createMetaRequestMessage(resourceName, messageType = EventMessageType.META_REQUEST) {\n return {\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: messageType,\n DETAILS: {\n FEATURE: resourceName,\n },\n SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'),\n };\n }\n createCommitMessage(eventName, params) {\n return Object.assign({ SOURCE_REF: this.uuid.createId(), SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'), MESSAGE_TYPE: eventName }, params);\n }\n createRefreshTokenMessage() {\n return {\n SOURCE_REF: this.uuid.createId(),\n SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'),\n MESSAGE_TYPE: EventMessageType.EVENT_LOGIN_AUTH,\n DETAILS: {\n REFRESH_AUTH_TOKEN: this.session.getSessionStorageItem('refreshToken'),\n },\n };\n }\n createChangePasswordMessage(username, oldPassword, newPassword) {\n return {\n USER_NAME: username,\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: EventMessageType.EVENT_CHANGE_USER_PASSWORD,\n DETAILS: {\n OLD_PASSWORD: oldPassword,\n NEW_PASSWORD: newPassword,\n },\n };\n }\n createForgotPasswordMessage(username, returnUrl, requester = username) {\n return {\n USER_NAME: requester,\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: EventMessageType.EVENT_SELF_SERVICE_PASSWORD_RESET,\n DETAILS: {\n USER_NAME: username,\n RETURN_URL: returnUrl,\n },\n };\n }\n createForgotPasswordTokenMessage(username, resetToken, newPassword, requester = username) {\n return {\n USER_NAME: requester,\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: EventMessageType.EVENT_PASSWORD_RESET_ACTION,\n DETAILS: {\n USER_NAME: username,\n RESET_TOKEN: resetToken,\n NEW_PASSWORD: newPassword,\n },\n };\n }\n createMoreRowsMessage(sourceRef) {\n return {\n SOURCE_REF: this.uuid.createId(),\n MESSAGE_TYPE: MessageType.MORE_ROWS,\n DETAILS: {\n SOURCE_REF: sourceRef,\n },\n SESSION_AUTH_TOKEN: this.session.getSessionStorageItem('authToken'),\n };\n }\n};\nMessageBuilderService = __decorate([\n __param(0, Session),\n __param(1, UUID)\n], MessageBuilderService);\n/**\n * The DI token for the MessageBUilder interface.\n * @internal\n */\nexport const MessageBuilder = DI.createInterface((x) => x.singleton(MessageBuilderService));\n","import { logger } from '../utils';\n/**\n * Data server result filter.\n *\n * @param result - The raw data server result.\n * @param rowId - Row id. Defaults to ROW_REF.\n *\n * @public\n * @remarks\n * Centralised filter logic for row operations.\n */\nexport function dataServerResultFilter(result, rowId = 'ROW_REF') {\n const toRowData = (row) => {\n const tmp = Object.assign(Object.assign({}, row), { [rowId]: row.DETAILS[rowId] });\n delete tmp.DETAILS;\n return tmp;\n };\n const inserts = [];\n const deletes = [];\n const updates = [];\n for (const row of result.ROW) {\n if (!row.DETAILS) {\n continue;\n }\n switch (row.DETAILS.OPERATION) {\n case 'INSERT':\n inserts.push(toRowData(row));\n break;\n case 'MODIFY':\n updates.push(toRowData(row));\n break;\n case 'DELETE':\n deletes.push(toRowData(row));\n break;\n default:\n logger.error(`Unsupported operation type: '${row.DETAILS.OPERATION}'`);\n }\n }\n return { inserts, deletes, updates, SOURCE_REF: result.SOURCE_REF };\n}\n","import { DI } from '@microsoft/fast-foundation';\n/**\n * The DI key which can be used for explicit configuration by the host application\n * @internal\n */\nexport const CredentialManagerConfig = DI.createInterface();\n","import { __awaiter, __decorate, __param, __rest } from \"tslib\";\nimport { DI, optional } from '@microsoft/fast-foundation';\nimport jsCookie from 'js-cookie';\nimport { AuthType } from '../auth/auth.types';\nimport { Session } from '../session';\nimport { logger } from '../utils';\nimport { CredentialManagerConfig } from './credentialManager.types';\nfunction supportsCredentialsContainer() {\n if (!(navigator === null || navigator === void 0 ? void 0 : navigator.credentials)) {\n logger.warn('CredentialsContainer not available in this browser.');\n return false;\n }\n if (!('PasswordCredential' in window)) {\n logger.warn('PasswordCredential not available in this browser.');\n return false;\n }\n return true;\n}\n/**\n * The default separator used for splitting credential parts.\n * @public\n */\nexport const credentialSeparator = ':';\nfunction extractParts(input = '', separator = credentialSeparator, limit) {\n return input\n .split(separator, limit)\n .map((opt) => opt.trim())\n .filter((opt) => opt !== '');\n}\nfunction includesSeparator(input, separator = credentialSeparator) {\n const value = typeof input == 'string' && input.trim();\n return !!value && value.includes(separator);\n}\nfunction countSeparators(input, separator = credentialSeparator) {\n const value = typeof input == 'string' && input.trim();\n return !!value ? (input.match(new RegExp(separator, 'g')) || []).length : 0;\n}\nfunction prioritizeSeparatorInputs(inputs, separator = credentialSeparator) {\n for (const input of inputs) {\n if (includesSeparator(input, separator)) {\n return input;\n }\n }\n return inputs.find((input) => typeof input == 'string' && !!input.trim());\n}\nfunction createId(input, name, organisation) {\n const value = typeof input == 'string' && input.trim();\n if (!value || (organisation && !value.includes(organisation)) || countSeparators(value) > 1) {\n if (organisation && name && organisation !== name) {\n return `${name}:${organisation}`;\n }\n else {\n return name || organisation;\n }\n }\n return value;\n}\nfunction migrationFailedLogger(subtext = 'credential') {\n logger.warn(`Unable to migrate legacy ${subtext} to latest format. Please remove from your browser.`);\n}\n/**\n * The default request options for the CredentialManager service.\n * @public\n */\nexport const defaultCredentialRequestOptions = {\n password: true,\n mediation: 'optional', // < There are a couple of options depending on the level of user input we need\n};\n/**\n * The default configuration for the CredentialManager service.\n * @public\n */\nexport const defaultCredentialManagerConfig = {\n cookie: {\n /**\n * Path was location.pathname, however it looks like axes is the only project using it, and they set it to '/'.\n * Making '/' the default. If callers want to change it they can.\n */\n path: '/',\n name: 'credentials',\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n expires: 20 * 365,\n storePasswords: false,\n },\n};\n/**\n * The CredentialManager implementation.\n * @internal\n */\nlet DefaultCredentialManager = class DefaultCredentialManager {\n constructor(session, config = defaultCredentialManagerConfig) {\n this.session = session;\n this.config = config;\n }\n createBasicCredentials(inputs) {\n return {\n type: AuthType.BASIC,\n username: inputs.username,\n password: inputs.password,\n };\n }\n createRefreshCredentials(inputs) {\n var _a, _b;\n return {\n type: AuthType.REFRESH,\n username: (_a = inputs === null || inputs === void 0 ? void 0 : inputs.username) !== null && _a !== void 0 ? _a : this.getUsername(),\n refreshToken: (_b = inputs === null || inputs === void 0 ? void 0 : inputs.refreshToken) !== null && _b !== void 0 ? _b : this.getRefreshToken(),\n };\n }\n createSSOCredentials(inputs) {\n var _a;\n return {\n type: AuthType.SSO,\n ssoToken: (_a = inputs === null || inputs === void 0 ? void 0 : inputs.ssoToken) !== null && _a !== void 0 ? _a : this.getSSOToken(),\n };\n }\n validateBasicCredentials(credentials) {\n return credentials && !!credentials.username && !!credentials.password;\n }\n validateRefreshCredentials(credentials) {\n return credentials && !!credentials.refreshToken && !!credentials.username;\n }\n validateSSOCredentials(credentials) {\n return credentials && !!credentials.ssoToken;\n }\n validateUserCredentialData(data, ensurePassword) {\n const baseResult = data &&\n !!data.id &&\n !!data.name &&\n !data.name.includes(credentialSeparator) &&\n countSeparators(data.id) <= 1;\n return ensurePassword ? baseResult && !!data.password : baseResult;\n }\n normaliseLegacyCredentialData(data, cookie) {\n const validContainerData = this.validateUserCredentialData(data, true);\n if (validContainerData) {\n return [data, true];\n }\n const validCookieData = this.validateUserCredentialData(cookie);\n if (validCookieData) {\n return [cookie, false];\n }\n /**\n * Attempt to migrate legacy PasswordCredentials\n */\n if (data) {\n try {\n const legacyData = data;\n const [name] = extractParts(legacyData.name || legacyData.id);\n const [_, organisation] = extractParts(prioritizeSeparatorInputs([legacyData.id, legacyData.name]));\n const id = createId(legacyData.id || legacyData.name, name, organisation);\n return [\n {\n id,\n name,\n password: legacyData.password || '',\n },\n true,\n ];\n }\n catch (err) {\n migrationFailedLogger('PasswordCredential');\n }\n }\n /**\n * Attempt to migrate legacy cookies\n */\n if (cookie) {\n try {\n const legacyCookie = cookie;\n const [name] = extractParts(legacyCookie.name || legacyCookie.username || legacyCookie.organisation);\n const [_, organisation] = extractParts(prioritizeSeparatorInputs([\n legacyCookie.organisation || legacyCookie.username || legacyCookie.name,\n ]));\n const id = createId(legacyCookie.id || legacyCookie.username || legacyCookie.name, name, organisation);\n return [\n {\n id,\n name,\n password: legacyCookie.password || '',\n },\n false,\n ];\n }\n catch (err) {\n migrationFailedLogger('cookie');\n }\n }\n return [undefined, false];\n }\n storeCredentialsInContainer(data) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!supportsCredentialsContainer()) {\n return;\n }\n const credentials = new PasswordCredential(data);\n logger.debug('Storing credentials in CredentialsContainer');\n return navigator.credentials.store(credentials);\n });\n }\n getCredentialsFromContainer(options = defaultCredentialRequestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!supportsCredentialsContainer()) {\n return;\n }\n logger.debug('Getting credentials from CredentialsContainer');\n return (yield navigator.credentials.get(options));\n });\n }\n storeCredentialsInCookie(data) {\n const { password } = data, rest = __rest(data, [\"password\"]);\n const credentials = this.config.cookie.storePasswords ? data : rest;\n logger.debug('Storing credentials in cookie');\n return !!jsCookie.set(this.config.cookie.name, JSON.stringify(credentials), {\n expires: this.config.cookie.expires,\n domain: location.hostname,\n path: this.config.cookie.path,\n secure: true,\n });\n }\n getCredentialsFromCookie() {\n logger.debug('Getting credentials from cookie');\n const cookie = jsCookie.get(this.config.cookie.name);\n return cookie ? JSON.parse(cookie) : undefined;\n }\n storeCredentials(data) {\n return __awaiter(this, void 0, void 0, function* () {\n if (supportsCredentialsContainer()) {\n const credential = yield this.storeCredentialsInContainer(data);\n return Promise.resolve(!!credential);\n }\n return Promise.resolve(this.storeCredentialsInCookie(data));\n });\n }\n getCredentials(options) {\n return __awaiter(this, void 0, void 0, function* () {\n if (supportsCredentialsContainer()) {\n return this.getCredentialsFromContainer(options);\n }\n return Promise.resolve(this.getCredentialsFromCookie());\n });\n }\n getSSOToken() {\n return this.session.getSessionStorageItem('ssoToken');\n }\n getUsername() {\n return this.session.getSessionStorageItem('username');\n }\n getRefreshToken() {\n return this.session.getSessionStorageItem('refreshToken');\n }\n removeCookie() {\n jsCookie.remove(this.config.cookie.name, {\n domain: location.hostname,\n path: this.config.cookie.path,\n });\n }\n removeSSOToken() {\n this.session.removeSessionStorageItem('ssoToken');\n }\n removeUsername() {\n this.session.removeSessionStorageItem('username');\n }\n removeRefreshToken() {\n this.session.removeSessionStorageItem('refreshToken');\n }\n removeAll() {\n this.removeCookie();\n this.removeSSOToken();\n this.removeUsername();\n this.removeRefreshToken();\n }\n preventSilentAccess() {\n return supportsCredentialsContainer() && navigator.credentials.preventSilentAccess();\n }\n};\nDefaultCredentialManager = __decorate([\n __param(0, Session),\n __param(1, optional(CredentialManagerConfig))\n], DefaultCredentialManager);\nexport { DefaultCredentialManager };\n/**\n * The DI token for the CredentialManager interface.\n * @internal\n */\nexport const CredentialManager = DI.createInterface((x) => x.singleton(DefaultCredentialManager));\n","import { __decorate } from \"tslib\";\nimport { observable } from '@microsoft/fast-element';\n/**\n * Represents the current user (i.e. the user that is currently logged in).\n * @public\n */\nexport class CurrentUser {\n constructor(options) {\n Object.assign(this, options);\n }\n hasAdminProfile() {\n return this.hasProfile('ADMIN');\n }\n hasPermission(permission) {\n return this.hasKey(this.permissions, permission);\n }\n hasProfile(profile) {\n return this.hasKey(this.profiles, profile);\n }\n /**\n * Checks if the given key or keys are present in the given array of keys.\n * @internal\n * @param keys - The array of keys to check.\n * @param key - The key or keys to check for.\n * @returns True if the key or keys are present in the array of keys.\n */\n hasKey(keys, key) {\n if (!keys || !keys.length || !key) {\n return false;\n }\n if (!Array.isArray(key)) {\n key = [key];\n }\n return key.some((k) => keys.includes(k));\n }\n}\n__decorate([\n observable\n], CurrentUser.prototype, \"permissions\", void 0);\n__decorate([\n observable\n], CurrentUser.prototype, \"profiles\", void 0);\n__decorate([\n observable\n], CurrentUser.prototype, \"username\", void 0);\n","import { __awaiter, __decorate, __param } from \"tslib\";\nimport { observable, volatile } from '@microsoft/fast-element';\nimport { DI } from '@microsoft/fast-foundation';\nimport { BehaviorSubject } from 'rxjs';\nimport { Connect } from '../connect';\nimport { EventMessageType, MessageBuilder, MessageCode, MessageType, } from '../connect/message';\nimport { CredentialManager } from '../credentialManager';\nimport { Session } from '../session';\nimport { CurrentUser } from '../user';\nimport { logger } from '../utils';\nimport { AuthError } from './auth.types';\n/**\n * The Auth implementation.\n * @internal\n */\nlet DefaultAuth = class DefaultAuth {\n loggedUserResultChanged(_, updated) {\n var _a;\n (_a = this.isLoggedInSubject) === null || _a === void 0 ? void 0 : _a.next(this.isLoggedIn);\n }\n get isLoggedIn$() {\n return this.isLoggedInSubject.asObservable();\n }\n get isLoggedIn() {\n return this.loggedUserResult\n ? !!(this.loggedUserResult.authToken && this.loggedUserResult.sessionId)\n : false;\n }\n constructor(session, connect, messageBuilder, credentialManager) {\n this.session = session;\n this.connect = connect;\n this.messageBuilder = messageBuilder;\n this.credentialManager = credentialManager;\n this.isWorking = false;\n this.isLoggedInSubject = new BehaviorSubject(false);\n }\n login(credentials) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n this.isWorking = true;\n try {\n const loginMessage = this.messageBuilder.createLoginMessage(credentials);\n const authResult = yield this.connect.send(loginMessage);\n if (!authResult || authResult.ERROR || ((_a = authResult.DETAILS) === null || _a === void 0 ? void 0 : _a.ERROR)) {\n throw new AuthError(loginMessage, authResult);\n }\n this.applyAuthResults({\n authToken: authResult.SESSION_AUTH_TOKEN,\n refreshToken: authResult.REFRESH_AUTH_TOKEN,\n profiles: authResult.PROFILE,\n username: authResult.USER_NAME,\n permissions: authResult.PERMISSION,\n sessionId: authResult.SESSION_ID,\n });\n /**\n * Use the credentialManager as a proxy instead?\n */\n this.session.setAuthResult(authResult);\n logger.debug('Login Authentication Result:', authResult);\n }\n catch (err) {\n logger.error('Login Authentication Error:', err);\n if (err instanceof AuthError && err.isIgnorableError()) {\n logger.warn(`Ignoring authentication error as it is a known edge case.`);\n }\n else {\n // this.credentialManager.removeAll(); // < let caller manage for now, discuss later\n this.removeAuthResults();\n throw err;\n }\n }\n finally {\n this.isWorking = false;\n }\n return this.loggedUserResult;\n });\n }\n logout() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n this.isWorking = true;\n let logoutResult = {\n success: false,\n };\n try {\n const logoutMessage = this.messageBuilder.createLogoutMessage(this.loggedUserResult);\n // TODO: Improve auth scenario where server timeout has the same message return as logout\n this.session.deleteUserFromSessionStorage();\n this.connect.setValidSession(false);\n const { CODE, DETAILS, ERROR, MESSAGE_TYPE, OIDC_LOGOUT_URL } = yield this.connect.send(logoutMessage);\n const error = (_a = DETAILS === null || DETAILS === void 0 ? void 0 : DETAILS.ERROR) !== null && _a !== void 0 ? _a : ERROR;\n /**\n * FUI-1109: The server is sending an unexpected logout nack which stops the user from being able to log out.\n */\n const unexpectedLogoutNack = MESSAGE_TYPE === MessageType.LOGOUT_NACK;\n if (unexpectedLogoutNack) {\n logger.warn('Unexpected Logout NACK received during logout.', error);\n }\n logoutResult = {\n success: MESSAGE_TYPE === MessageType.LOGOUT_ACK ||\n CODE === MessageCode.SESSION_NOT_FOUND ||\n unexpectedLogoutNack,\n error,\n };\n // redirect to OIDC provider logout page if provided\n if (OIDC_LOGOUT_URL) {\n window.open(OIDC_LOGOUT_URL, '_self');\n }\n }\n catch (err) {\n const logoutError = new AuthError(err.sentMessage, err.receivedMessage);\n logger.error('Logout Authentication Error:', logoutError);\n if (logoutError.isIgnorableError()) {\n logger.warn(`Ignoring authentication error as it is a known edge case.`);\n logoutResult.success = true;\n }\n else {\n throw err;\n }\n }\n finally {\n this.removeAuthResults();\n this.isWorking = false;\n }\n return logoutResult;\n });\n }\n reAuthFromSession() {\n return __awaiter(this, void 0, void 0, function* () {\n const isConnected = yield this.ensureConnection();\n if (isConnected) {\n const refreshTokenMessage = this.messageBuilder.createRefreshTokenMessage();\n const refreshTokenResult = yield this.connect.send(refreshTokenMessage);\n if ((refreshTokenResult === null || refreshTokenResult === void 0 ? void 0 : refreshTokenResult.MESSAGE_TYPE) === EventMessageType.EVENT_LOGIN_AUTH_ACK) {\n this.session.setAuthResult(refreshTokenResult);\n this.connect.setValidSession(true);\n this.applyAuthResults(this.getLoggedUserFromMessage(refreshTokenResult));\n return true;\n }\n }\n this.session.deleteUserFromSessionStorage();\n this.connect.setValidSession(false);\n return false;\n });\n }\n /**\n * Ensures that the connection is active.\n * @internal\n */\n ensureConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.connect.isConnected) {\n return true;\n }\n const hostUrl = this.session.getSessionStorageItem('hostUrl');\n if (!hostUrl) {\n return false;\n }\n return this.connect.connect(hostUrl);\n });\n }\n /**\n * Gets the logged user from a Message result.\n * @param result - The Message result from auth request.\n * @returns The logged user info or null if the result is invalid.\n */\n getLoggedUserFromMessage(result) {\n const username = result.USER_NAME;\n const sessionAuthToken = result.SESSION_AUTH_TOKEN;\n const refreshAuthToken = result.REFRESH_AUTH_TOKEN;\n if (!username || !sessionAuthToken || !refreshAuthToken) {\n return null;\n }\n return {\n username,\n authToken: sessionAuthToken,\n refreshToken: refreshAuthToken,\n profiles: result.PROFILE,\n permissions: result.PERMISSION,\n sessionId: result.SESSION_ID,\n };\n }\n /**\n * Applies the authentication results to the Auth instance.\n * @internal\n */\n applyAuthResults(result) {\n if (!result) {\n this.removeAuthResults();\n return;\n }\n this.loggedUserResult = {\n authToken: result.authToken,\n refreshToken: result.refreshToken,\n profiles: result.profiles,\n username: result.username,\n permissions: result.permissions,\n sessionId: result.sessionId,\n };\n this.currentUser = new CurrentUser({\n permissions: result.permissions,\n profiles: result.profiles,\n username: result.username,\n });\n }\n /**\n * Removes the authentication results from the Auth instance.\n * @internal\n */\n removeAuthResults() {\n this.loggedUserResult = null;\n this.currentUser = null;\n }\n};\n__decorate([\n observable\n], DefaultAuth.prototype, \"isWorking\", void 0);\n__decorate([\n observable\n], DefaultAuth.prototype, \"currentUser\", void 0);\n__decorate([\n observable\n], DefaultAuth.prototype, \"loggedUserResult\", void 0);\n__decorate([\n volatile\n], DefaultAuth.prototype, \"isLoggedIn\", null);\nDefaultAuth = __decorate([\n __param(0, Session),\n __param(1, Connect),\n __param(2, MessageBuilder),\n __param(3, CredentialManager)\n], DefaultAuth);\n/**\n * The DI token for the Auth interface.\n * @internal\n */\nexport const Auth = DI.createInterface((x) => x.singleton(DefaultAuth));\n","import { __awaiter, __decorate, __param, __rest } from \"tslib\";\nimport { observable, volatile } from '@microsoft/fast-element';\nimport { DI, optional } from '@microsoft/fast-foundation';\nimport { combineLatest, from, timer } from 'rxjs';\nimport { switchMap, takeWhile } from 'rxjs/operators';\nimport { Auth } from '../auth';\nimport { Connect } from '../connect';\nimport { extractFieldDefinitions, toFieldMetadata } from '../metadata/metadata.utils';\nimport { logger } from '../utils';\nimport { criteriaFiltersToFields } from './criteriaFiltersToFields';\nimport { dataServerResultFilter } from './dataServerResultFilter';\nimport { DatasourceConfig, DatasourceDefaults, ResourceType } from './datasource.types';\n/**\n * The default configuration for the Datasource service.\n *\n * @public\n */\nexport const defaultDatasourceConfig = {\n options: {\n criteria: '',\n isSnapshot: false,\n maxRows: DatasourceDefaults.MAX_ROWS_250,\n maxView: DatasourceDefaults.MAX_VIEW_1000,\n pollingInterval: DatasourceDefaults.REQ_REP_POLLING_INTERVAL_MS,\n movingView: false,\n orderBy: '',\n resourceName: '',\n reverse: false,\n },\n criteriaToFields: criteriaFiltersToFields,\n dataServerResultFilter: dataServerResultFilter,\n};\n/**\n * DefaultDatasource.\n *\n * @public\n */\nlet DefaultDatasource = class DefaultDatasource {\n constructor(connect, auth, config = defaultDatasourceConfig) {\n this.connect = connect;\n this.auth = auth;\n this.config = config;\n this.initialized = false;\n this.readOnly = true;\n this.originalFieldDef = [];\n this.requestFields = [];\n this.fieldMetadata = [];\n this.availableIndexes = [];\n }\n validResourceName(resourceName) {\n if (!resourceName)\n return false;\n if (!resourceName.trim().length)\n return false;\n // additional checks? regex? or maybe we can ask the server if it's a valid resource in the future\n return true;\n }\n init(options, fetchMeta = true) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.validResourceName(options === null || options === void 0 ? void 0 : options.resourceName)) {\n return false;\n }\n this.options = Object.assign(Object.assign({}, this.config.options), options);\n if (fetchMeta) {\n logger.debug(`Initializing ${this.options.resourceName} Datasource`);\n const meta = yield this.connect\n .getMetadata(this.options.resourceName)\n .catch((e) => logger.error(`Metadata Fetch failed for ${options.resourceName}:`, e));\n if (!meta) {\n this.deinit();\n return false;\n }\n this.resourceType = meta.TYPE;\n this.availableIndexes = (_a = meta.INDEXES) !== null && _a !== void 0 ? _a : [];\n this.originalFieldDef = extractFieldDefinitions(meta);\n this.fieldMetadata = toFieldMetadata(this.originalFieldDef);\n this.requestFields = meta.REQUEST_FIELD || [];\n logger.debug(`Datasource for ${this.options.resourceName} is ready`);\n }\n if (!this.options.isSnapshot) {\n this._stream = yield this.createStream();\n }\n this.initialized = true;\n return this.initialized;\n });\n }\n deinit() {\n this.initialized = false;\n this.options = undefined;\n this.resourceType = undefined;\n this.availableIndexes = [];\n this.originalFieldDef = [];\n this.fieldMetadata = [];\n this.requestFields = [];\n }\n get stream() {\n return this._stream;\n }\n get params() {\n const params = {\n CRITERIA_MATCH: this.options.criteria,\n FIELDS: this.options.fields,\n MAX_ROWS: this.options.maxRows,\n MAX_VIEW: this.options.maxView,\n MOVING_VIEW: this.options.movingView,\n POLLING_INTERVAL: this.options.pollingInterval,\n REQUEST: this.options.request,\n REVERSE: this.options.reverse,\n };\n if (this.options.orderBy) {\n if (this.availableIndexes.findIndex((i) => i.NAME === this.options.orderBy) > -1) {\n params.ORDER_BY = this.options.orderBy;\n }\n else {\n const validIndexes = this.availableIndexes.map((index) => index.NAME);\n logger.warn('Specified [orderBy] index is not valid and will not be used. See https://learn.genesis.global/docs/database/data-types/index-entities/ - Available indexes:', validIndexes);\n }\n }\n logger.debug('Getting configured params:', params);\n return params;\n }\n snapshot() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n logger.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`);\n switch (this.resourceType) {\n case ResourceType.DATASERVER:\n return this.connect.snapshot(this.options.resourceName, this.params);\n case ResourceType.REQUEST_SERVER: {\n const _b = this.params, { REQUEST, CRITERIA_MATCH } = _b, DETAILS = __rest(_b, [\"REQUEST\", \"CRITERIA_MATCH\"]);\n const requestFields = Object.assign(Object.assign(Object.assign({}, Object.fromEntries(this.requestFields.map((rf) => [rf.NAME, '*']))), this.params.REQUEST), (((_a = this === null || this === void 0 ? void 0 : this.options) === null || _a === void 0 ? void 0 : _a.criteria) ? this.config.criteriaToFields(this.options.criteria) : {}));\n const reqParams = {\n DETAILS,\n REQUEST: requestFields,\n };\n return this.connect.request(this.options.resourceName, reqParams);\n }\n default:\n throw new Error(`Snapshot not supported for selected resource type: ${this.resourceType}`);\n }\n });\n }\n snapshotFiltered(rowId = 'ROW_REF') {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this.snapshot();\n if (Array.isArray(result)) {\n return result;\n }\n else if (result.REPLY) {\n return result.REPLY;\n }\n else if (result.ROW) {\n return this.config.dataServerResultFilter(result, rowId).inserts;\n }\n });\n }\n createStream() {\n return __awaiter(this, void 0, void 0, function* () {\n if (![ResourceType.DATASERVER, ResourceType.REQUEST_SERVER].includes(this.resourceType)) {\n throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);\n }\n if (this.resourceType === ResourceType.DATASERVER) {\n return this.createDataserverStream();\n }\n logger.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`);\n return this.createReqRepStream();\n });\n }\n createDataserverStream() {\n return __awaiter(this, void 0, void 0, function* () {\n const onMessage = (message) => { };\n const onError = (error) => logger.error(error);\n return this.connect.stream(this.options.resourceName, onMessage, onError, this.params);\n });\n }\n createReqRepStream() {\n return timer(0, this.params.POLLING_INTERVAL).pipe(switchMap(() => {\n // Combine the isConnected status with the isLoggedIn status\n return combineLatest([this.connect.isConnected$, this.auth.isLoggedIn$]).pipe(\n // Use takeWhile to continue polling until isConnected becomes false or isLoggedIn becomes false\n takeWhile(() => this.connect.isConnected && this.auth.isLoggedIn), // Use switchMap to get the snapshot data\n switchMap(() => from(this.snapshot())));\n }));\n }\n};\n__decorate([\n observable\n], DefaultDatasource.prototype, \"initialized\", void 0);\n__decorate([\n observable\n], DefaultDatasource.prototype, \"readOnly\", void 0);\n__decorate([\n volatile\n], DefaultDatasource.prototype, \"stream\", null);\nDefaultDatasource = __decorate([\n __param(0, Connect),\n __param(1, Auth),\n __param(2, optional(DatasourceConfig))\n], DefaultDatasource);\nexport { DefaultDatasource };\n/**\n * The DI token for the Datasource interface.\n * @internal\n */\nexport const Datasource = DI.createInterface((x) => x.transient(DefaultDatasource));\n","/**\n * Criteria filters to fields.\n *\n * @param filters - Concatenated criteria filters.\n *\n * @public\n * @remarks\n * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object,\n * eg: `foo == 'bar' && asd == 'zxc', into { foo: 'bar', asd: 'zxc' }`\n */\nexport function criteriaFiltersToFields(filters) {\n const criteria = filters.split('&&').map((s) => s.trim());\n const reqFields = {};\n criteria.forEach((c) => {\n const key = c.substr(0, c.indexOf('=')).trim().replace(/[\"']/g, '');\n const val = c\n .substr(c.lastIndexOf('=') + 1, c.length)\n .trim()\n .replace(/[\"']/g, '');\n reqFields[key] = val;\n });\n return reqFields;\n}\n","import { DI } from '@microsoft/fast-foundation';\n/**\n * Types of Genesis resources.\n * @public\n */\nexport var ResourceType;\n(function (ResourceType) {\n ResourceType[\"DATASERVER\"] = \"DATASERVER\";\n ResourceType[\"EVENT_HANDLER\"] = \"EVENT_HANDLER\";\n ResourceType[\"REQUEST_SERVER\"] = \"REQUEST_SERVER\";\n})(ResourceType || (ResourceType = {}));\n/**\n * Default values for a DatasourceConfig\n * @public\n */\nexport class DatasourceDefaults {\n}\nDatasourceDefaults.MAX_ROWS_250 = 250;\nDatasourceDefaults.MAX_VIEW_1000 = 1000;\nDatasourceDefaults.REQ_REP_POLLING_INTERVAL_MS = 10000;\n/**\n * The DI token for the DatasourceConfig interface.\n *\n * @privateRemarks\n * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.\n *\n * @internal\n */\nexport const DatasourceConfig = DI.createInterface();\n","/**\n * Normalise criteria.\n *\n * @param criteria - Original concat criteria.\n * @param delimiter - Criteria delimiter.\n * @returns normalized concat criteria.\n *\n * @public\n * @remarks\n * Normalises criteria, as the order of filters should not matter, also gets rid of spaces.\n * @privateRemarks\n * Can we use the criteria builder for this and related criteria stuff within datasources?\n */\nexport function normaliseCriteria(criteria, delimiter = ';') {\n if (!criteria) {\n return criteria;\n }\n return criteria\n .split(delimiter)\n .map((s) => s.trim())\n .sort((a, b) => a.localeCompare(b))\n .join(delimiter);\n}\n","/**\n * Available types for a field metadata.\n * @public\n */\nexport var FieldTypeEnum;\n(function (FieldTypeEnum) {\n FieldTypeEnum[\"STRING\"] = \"STRING\";\n FieldTypeEnum[\"NUMBER\"] = \"NUMBER\";\n FieldTypeEnum[\"BOOLEAN\"] = \"BOOLEAN\";\n FieldTypeEnum[\"ENUM\"] = \"ENUM\";\n FieldTypeEnum[\"DATE\"] = \"DATE\";\n FieldTypeEnum[\"DATETIME\"] = \"DATETIME\";\n FieldTypeEnum[\"CUSTOM\"] = \"CUSTOM\";\n})(FieldTypeEnum || (FieldTypeEnum = {}));\n/**\n * Types map for FieldTypeEnum.\n * @public\n */\nexport const TYPES_MAP = {\n STRING: FieldTypeEnum.STRING,\n ENUM: FieldTypeEnum.ENUM,\n BOOLEAN: FieldTypeEnum.BOOLEAN,\n INT: FieldTypeEnum.NUMBER,\n DOUBLE: FieldTypeEnum.NUMBER,\n BIGDECIMAL: FieldTypeEnum.NUMBER,\n DATE: FieldTypeEnum.DATE,\n DATETIME: FieldTypeEnum.DATETIME,\n};\n","import { ResourceType } from '../datasource/datasource.types';\nimport { logger } from '../utils';\nimport { FieldTypeEnum, TYPES_MAP } from './metadata.types';\n/**\n * Converts the field definitions to field metadata.\n * @public\n * @param fieldDef - The field definitions.\n * @returns An array of field metadata.\n */\nexport const toFieldMetadata = (fieldDef) => {\n if (!fieldDef)\n return null;\n return fieldDef.map((field) => {\n const meta = {\n name: field.NAME,\n type: TYPES_MAP[field.TYPE] || FieldTypeEnum.STRING,\n };\n if (field.TYPE === FieldTypeEnum.ENUM && field.VALID_VALUES) {\n try {\n meta.enumOptions = Array.isArray(field.VALID_VALUES)\n ? field.VALID_VALUES\n : field.VALID_VALUES.split('|');\n }\n catch (err) {\n logger.error(err);\n meta.enumOptions = [];\n }\n }\n return meta;\n });\n};\n/**\n * Extracts the field definitions from the metadata.\n * @public\n * @param metadata - The metadata object.\n * @returns An array of metadata detail.\n */\nexport const extractFieldDefinitions = (metadata) => {\n const type = metadata === null || metadata === void 0 ? void 0 : metadata.TYPE;\n if (type === ResourceType.DATASERVER) {\n return metadata.FIELD || [];\n }\n if (type === ResourceType.REQUEST_SERVER) {\n return metadata.REPLY_FIELD || [];\n }\n throw new Error(`Unsupported resource type: ${type}`);\n};\n","import { DI } from '@microsoft/fast-foundation';\n/**\n * The Session implementation.\n * @internal\n */\nclass SessionService {\n constructor() {\n /**\n * The prefix to use for all storage keys.\n * @internal\n */\n this.storageKeyPrefix = '';\n this.returnUrl = this.getSessionStorageItem('returnUrl') || '';\n }\n deleteUserFromSessionStorage() {\n const storageKeys = ['authToken', 'refreshToken', 'sessionId', 'ssoToken'];\n storageKeys.forEach((key) => this.removeSessionStorageItem(key));\n }\n setStorageKeyPrefix(prefix) {\n this.storageKeyPrefix = `${prefix.replace(/\\s/g, '')}/`;\n }\n setAuthResult(result) {\n this.setSessionStorageItem('authToken', result.SESSION_AUTH_TOKEN);\n this.setSessionStorageItem('refreshToken', result.REFRESH_AUTH_TOKEN);\n this.setSessionStorageItem('username', result.USER_NAME);\n this.setSessionStorageItem('sessionId', result.SESSION_ID);\n }\n captureReturnUrl() {\n const { pathname, search, hash } = location;\n /**\n * This block shouldn't be required and might mean there's a code issue elsewhere. Login is obvious a public route,\n * so there would be no need to call captureReturnUrl from a nav contributor when trying to visit it.\n */\n if (pathname === '/login') {\n return;\n }\n const path = `${pathname !== '/' ? pathname : ''}`;\n this.returnUrl = `${path}${search}${hash}`;\n this.setSessionStorageItem('returnUrl', this.returnUrl);\n }\n setItem(key, value, storage) {\n if (storage === 'local') {\n localStorage.setItem(this.storageKeyPrefix + key, value);\n }\n else {\n sessionStorage.setItem(this.storageKeyPrefix + key, value);\n }\n }\n getItem(key, storage) {\n if (storage === 'local')\n return localStorage.getItem(this.storageKeyPrefix + key);\n return sessionStorage.getItem(this.storageKeyPrefix + key);\n }\n removeItem(key, storage) {\n if (storage === 'local') {\n localStorage.removeItem(this.storageKeyPrefix + key);\n }\n else {\n sessionStorage.removeItem(this.storageKeyPrefix + key);\n }\n }\n setLocalStorageItem(key, value) {\n this.setItem(key, value, 'local');\n }\n setSessionStorageItem(key, value) {\n this.setItem(key, value, 'session');\n }\n getLocalStorageItem(key) {\n return this.getItem(key, 'local');\n }\n getSessionStorageItem(key) {\n return this.getItem(key, 'session');\n }\n removeLocalStorageItem(key) {\n this.removeItem(key, 'local');\n }\n removeSessionStorageItem(key) {\n this.removeItem(key, 'session');\n }\n}\n/**\n * The DI token for the SessionService interface.\n * @internal\n */\nexport const Session = DI.createInterface((x) => x.singleton(SessionService));\n","import { createLogger } from '@genesislcap/foundation-utils';\n/**\n * Logger for the foundation-comms package\n * @public\n */\nexport const logger = createLogger('foundation-comms');\n"],"names":["AuthType","AuthError","Error","constructor","sent","received","message","super","this","Object","setPrototypeOf","prototype","isIgnorableError","_a","_b","_c","_d","DETAILS","ERROR","toLowerCase","includes","getMessageError","Array","isArray","map","error","errorDetailFormatter","join","getDetailsError","hasPasswordExpiredError","hasErrorCode","code","some","CODE","TEXT","MetadataService","cachedMetadata","Map","cachedJsonSchema","getMetadataFor","resourceName","get","getJsonSchemaFor","hasMetadataFor","has","hasJsonSchemaFor","setMetadataFor","metadata","set","setJsonSchemaFor","schemaResponse","MetaCache","DI","x","singleton","isWebSocketExpression","RegExp","ConnectConfig","HttpConnectConfig","JSONSerializer","serialize","object","JSON","stringify","deserialize","input","parse","data","text","then","Promise","resolve","Serializer","HttpService","serializer","url","requestInit","__awaiter","response","fetch","assign","method","post","__decorate","__param","Http","defaultHttpConnectConfig","polling","POLLING_MAP","EVENT_AMEND_USER","TEMP_FREQUENCY","AMOUNT_OF_POLLS","QUERIES","POLLING_INTERVAL_MAP","ALL_TRADES","ALL_USERS","ALL_PROCESSES_STATUS","POLLING_FREQUENCY","HttpConnectService","isConnected","_isConnected","value","isConnectedSubject","next","http","messageBuilder","session","metaCache","config","isWorking","BehaviorSubject","isConnected$","asObservable","ongoingTurbo","streams","checkHost","getMessage","MESSAGE_TYPE","SOURCE_REF","e","logger","send","needsHandling","getUrl","host","body","getBody","headers","getHeaders","httpMode","setValidSession","valid","connect","endsWith","concat","connected","setSessionStorageItem","disconnect","clear","undefined","snapshot","params","snapshotMessage","createDataLogonMessage","dataLogoff","catch","stream","onMessage","onError","streamMessage","RESOURCE_NAME","interval$","from","pipe","switchMap","ms","interval","takeWhile","finalize","STREAM","getMoreRows","sourceRef","moreRowsMessage","createMoreRowsMessage","streamSourceRef","dataLogoffMessage","createDataLogoffMessage","res","delete","getMetadata","useCache","metaRequestMessage","createMetaRequestMessage","getJSONSchema","request","requestMessage","createRequestMessage","commitEvent","eventName","commitMessage","createCommitMessage","reply","maybeTurbo","turbo","freq","duration","originalPollingIntervalMap","tempPollingMap","q","updateIntervals","setTimeout","handlePollingIntervalMapUpdate","pollingIntervalMap","resource","hasOwnProperty","newFreq","values","filter","s","forEach","static","SESSION_AUTH_TOKEN","SESSION_ID","type","apiEndpoint","replace","DATASOURCE_NAME","observable","volatile","optional","HttpConnect","DEFAULT_RECONNECT_INTERVAL","MAX_RECONNECT_INTERVAL","SocketReconnectStrategy","exponentialScheduler","reconnectOptions","attempts","reconnectInterval","baseInterval","attemptsBreakPoint","Math","round","log2","pow","linearScheduler","SocketSubject","Subject","SocketMessageHandler","isSubscription","_message","_onMessage","_onError","_isSubscription","sentMessage","onReceivedMessage","onReceivedError","SocketService","isConnectedChanged","_","uuid","defaultInterval","secondsMultiplier","hasValidSession","heartbeatIsEnabled","heartbeatInterval","isReconnecting","socketMessages","wsMessages","heartbeatLoggingIsEnabled","connectOptions","enableHeartbeatLogging","messageLoggingIsEnabled","enableMessageLogging","reconnectStreams","cleanMessages","socketSubscription","unsubscribe","websocket","WebSocketSubject","openObserver","prepareHeartbeat","closeObserver","closeEvent","disconnectedByServer","wasClean","reason","deserializer","subscribe","connectObserver","receivedMessage","_e","responseMessageReceivedLog","logMessageTypeFlow","messageHandler","getMessageHandler","nacked","systemDetails","HEARTBEAT_INTERVAL_SECS","call","LOGGED_OUT","refreshTokenMessage","createRefreshTokenMessage","refreshTokenResult","setAuthResult","wsMessageHandlers","mh","removeMessageHandler","reconnect","complete","alwaysOn","heartbeatSubscription","sendHeartbeat","ping","createId","pong","enableHeartbeat","intervalInMillisecocnds","timer","tap","notAlwaysOnAndHeartbeating","scheduler","reconnectStrategy","Exponential","reconnectObservable","of","observer","timeoutId","count","recursiveTimeout","clearTimeout","retryInterval","mergeMap","attemptsAmount","reconnectAttempts","throwError","reconnectObserver","reset","reject","sendingMessasgeLog","msg","err","setMessageHandler","sendForStream","sendingMessageLog","settingMessageHandlerLog","messageType","gettingMessageHandlerLog","logFunc","logMsg","UUID","Socket","defaultConnectConfig","DefaultConnect","socket","test","details","metaResponse","keys","length","jsonSchema","useHttpConnect","FORCE_HTTP","WSConnect","Connect","aliasTo","MessageType","EventMessageType","MessageCode","MessageBuilderService","createLoginMessage","credentials","USER_NAME","username","PASSWORD","password","REFRESH_AUTH_TOKEN","refreshToken","SSO_TOKEN","ssoToken","JWT","jwt","DOMAIN","domain","EVENT_LOGIN_AUTH","createLogoutMessage","loginResult","EVENT_LOGOUT","authToken","getSessionStorageItem","sessionId","DATA_LOGON","DATA_LOGOFF","startsWith","META_REQUEST","FEATURE","createChangePasswordMessage","oldPassword","newPassword","EVENT_CHANGE_USER_PASSWORD","OLD_PASSWORD","NEW_PASSWORD","createForgotPasswordMessage","returnUrl","requester","EVENT_SELF_SERVICE_PASSWORD_RESET","RETURN_URL","createForgotPasswordTokenMessage","resetToken","EVENT_PASSWORD_RESET_ACTION","RESET_TOKEN","MORE_ROWS","MessageBuilder","dataServerResultFilter","result","rowId","toRowData","row","tmp","inserts","deletes","updates","ROW","OPERATION","push","CredentialManagerConfig","supportsCredentialsContainer","navigator","window","credentialSeparator","extractParts","separator","limit","split","opt","trim","includesSeparator","countSeparators","match","prioritizeSeparatorInputs","inputs","find","name","organisation","migrationFailedLogger","subtext","defaultCredentialRequestOptions","mediation","defaultCredentialManagerConfig","cookie","path","expires","storePasswords","DefaultCredentialManager","createBasicCredentials","createRefreshCredentials","getUsername","getRefreshToken","createSSOCredentials","getSSOToken","validateBasicCredentials","validateRefreshCredentials","validateSSOCredentials","validateUserCredentialData","ensurePassword","baseResult","id","normaliseLegacyCredentialData","legacyData","legacyCookie","storeCredentialsInContainer","PasswordCredential","store","getCredentialsFromContainer","options","storeCredentialsInCookie","rest","__rest","location","hostname","secure","getCredentialsFromCookie","storeCredentials","credential","getCredentials","removeCookie","removeSSOToken","removeSessionStorageItem","removeUsername","removeRefreshToken","removeAll","preventSilentAccess","CredentialManager","CurrentUser","hasAdminProfile","hasProfile","hasPermission","permission","hasKey","permissions","profile","profiles","key","k","DefaultAuth","loggedUserResultChanged","updated","isLoggedInSubject","isLoggedIn","isLoggedIn$","loggedUserResult","credentialManager","login","loginMessage","authResult","applyAuthResults","PROFILE","PERMISSION","removeAuthResults","logout","logoutResult","success","logoutMessage","deleteUserFromSessionStorage","OIDC_LOGOUT_URL","unexpectedLogoutNack","open","logoutError","reAuthFromSession","ensureConnection","getLoggedUserFromMessage","hostUrl","sessionAuthToken","refreshAuthToken","currentUser","Auth","defaultDatasourceConfig","criteria","isSnapshot","maxRows","maxView","pollingInterval","movingView","orderBy","reverse","criteriaToFields","filters","reqFields","c","substr","indexOf","val","lastIndexOf","DefaultDatasource","auth","initialized","readOnly","originalFieldDef","requestFields","fieldMetadata","availableIndexes","validResourceName","init","fetchMeta","meta","deinit","resourceType","TYPE","INDEXES","REQUEST_FIELD","_stream","createStream","CRITERIA_MATCH","FIELDS","fields","MAX_ROWS","MAX_VIEW","MOVING_VIEW","POLLING_INTERVAL","REQUEST","REVERSE","findIndex","i","NAME","ORDER_BY","validIndexes","index","reqParams","fromEntries","rf","snapshotFiltered","REPLY","createDataserverStream","createReqRepStream","combineLatest","Datasource","transient","ResourceType","DatasourceDefaults","MAX_ROWS_250","MAX_VIEW_1000","REQ_REP_POLLING_INTERVAL_MS","DatasourceConfig","normaliseCriteria","delimiter","sort","a","b","localeCompare","FieldTypeEnum","TYPES_MAP","STRING","ENUM","BOOLEAN","INT","NUMBER","DOUBLE","BIGDECIMAL","DATE","DATETIME","toFieldMetadata","fieldDef","field","VALID_VALUES","enumOptions","extractFieldDefinitions","FIELD","REPLY_FIELD","SessionService","storageKeyPrefix","setStorageKeyPrefix","prefix","captureReturnUrl","pathname","search","hash","setItem","storage","localStorage","sessionStorage","getItem","removeItem","setLocalStorageItem","getLocalStorageItem","removeLocalStorageItem","Session","createLogger"],"sourceRoot":""}
|