@genesislcap/design-system-configurator 15.89.0 → 15.90.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{226.226.91a16331be47a6dfb051.js → 226.226.596a7847ba92959a8eb8.js} +2 -2
- package/dist/226.a5310f150eee4f2698a4c6558f7d34bc.js.map +1 -0
- package/dist/{designSystemConfigurator.00f331e3a4b778d5361b76dc4d05aa7f.js.map → designSystemConfigurator.c0af43573d8b8e28c4cce168c6be16f7.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/{main.28ddea8d8e996148acdc.js → main.6de68e3c29acef515826.js} +2 -2
- package/dist/{main.f3ea6be2b75cf019b793ca2991c4784b.js.map → main.a00ad4c39a50d0e38d96fb6b6b6745e4.js.map} +1 -1
- package/dist/remoteEntry.js +2 -2
- package/package.json +11 -11
- package/dist/226.ae46289197cf01300d10c889c4a64b0f.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_genesislcap_design_system_configurator=self.webpackChunk_genesislcap_design_system_configurator||[]).push([[226],{79780(e,t,s){s.d(t,{Es:()=>n,vp:()=>o});var i=s(38370);class r extends BroadcastChannel{constructor(){super(...arguments),this.postMessage=(...e)=>{const[t,s]=e;super.postMessage({type:t,detail:s})},this.isMessageType=(e,t)=>{var s;return(null===(s=t.data)||void 0===s?void 0:s.type)===e}}}const n=e=>{class t extends r{constructor(){super(e)}}return i.DI.createInterface(e=>e.transient(t))},o=e=>new r(e)},40113(e,t,s){s.d(t,{N:()=>L});var i=s(55823),r=s(92277),n=s(33681),o=s(38370),a=s(97156),c=s(36716),d=s(21281),h=s(10447),l=s(56653),u=s(98316),E=s(17465);const g=o.DI.createInterface();function A(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(E.v.warn("PasswordCredential not available in this browser."),!1):(E.v.warn("CredentialsContainer not available in this browser."),!1)}const v=":";function S(e="",t=v,s){return e.split(t,s).map(e=>e.trim()).filter(e=>""!==e)}function R(e,t=v){const s="string"==typeof e&&e.trim();return!!s&&s.includes(t)}function p(e,t=v){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function f(e,t=v){for(const s of e)if(R(s,t))return s;return e.find(e=>"string"==typeof e&&""!==e.trim())}function I(e,t,s){const i="string"==typeof e&&e.trim();return!i||s&&!i.includes(s)||p(i)>1?s&&t&&s!==t?`${t}:${s}`:t||s:i}function m(e="credential"){E.v.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const T={password:!0,mediation:"optional"},C={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let _=class{constructor(e,t=C){this.session=e,this.config=t}createBasicCredentials(e){return{type:l.h.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,s,i;return{type:l.h.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(s=null==e?void 0:e.refreshToken)&&void 0!==s?s:this.getRefreshToken(),mfaToken:null!==(i=null==e?void 0:e.mfaToken)&&void 0!==i?i:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:l.h.SSO,ssoToken:null!==(t=null==e?void 0:e.ssoToken)&&void 0!==t?t:this.getSSOToken()}}validateBasicCredentials(e){return e&&!!e.username&&!!e.password}validateRefreshCredentials(e){return e&&!!e.refreshToken&&!!e.username}validateSSOCredentials(e){return e&&!!e.ssoToken}validateUserCredentialData(e,t){const s=e&&!!e.id&&!!e.name&&!e.name.includes(v)&&p(e.id)<=1;return t?s&&!!e.password:s}normaliseLegacyCredentialData(e,t){if(this.validateUserCredentialData(e,!0))return[e,!0];if(this.validateUserCredentialData(t))return[t,!1];if(e)try{const t=e,[s]=S(t.name||t.id),[i,r]=S(f([t.id,t.name]));return[{id:I(t.id||t.name,s,r),name:s,password:t.password||""},!0]}catch(e){m("PasswordCredential")}if(t)try{const e=t,[s]=S(e.name||e.username||e.organisation),[i,r]=S(f([e.organisation||e.username||e.name]));return[{id:I(e.id||e.username||e.name,s,r),name:s,password:e.password||""},!1]}catch(e){m("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return(0,i.sH)(this,void 0,void 0,function*(){if(!A())return;const t=new PasswordCredential(e);return E.v.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return(0,i.sH)(this,arguments,void 0,function*(e=T){if(A())return E.v.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)})}storeCredentialsInCookie(e){const{password:t}=e,s=(0,i.Tt)(e,["password"]),r=this.config.cookie.storePasswords?e:s;return E.v.debug("Storing credentials in cookie"),!!h.A.set(this.config.cookie.name,JSON.stringify(r),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){E.v.debug("Getting credentials from cookie");const e=h.A.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return(0,i.sH)(this,void 0,void 0,function*(){if(A()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))})}getCredentials(e){return(0,i.sH)(this,void 0,void 0,function*(){return A()?this.getCredentialsFromContainer(e):Promise.resolve(this.getCredentialsFromCookie())})}getSSOToken(){return this.session.getSessionStorageItem("ssoToken")}getUsername(){return this.session.getSessionStorageItem("username")||this.session.getLocalStorageItem("username")}getRefreshToken(){return this.session.getSessionStorageItem("refreshToken")||this.session.getLocalStorageItem("refreshToken")}getMFAToken(){return this.session.getSessionStorageItem("mfaToken")}removeCookie(){h.A.remove(this.config.cookie.name,{domain:location.hostname,path:this.config.cookie.path})}removeSSOToken(){this.session.removeSessionStorageItem("ssoToken")}removeUsername(){this.session.removeSessionStorageItem("username"),this.session.removeLocalStorageItem("username")}removeRefreshToken(){this.session.removeSessionStorageItem("refreshToken"),this.session.removeLocalStorageItem("refreshToken")}removeMFAToken(){this.session.removeSessionStorageItem("mfaToken")}removeAll(){this.removeCookie(),this.removeSSOToken(),this.removeUsername(),this.removeRefreshToken(),this.removeMFAToken()}preventSilentAccess(){return A()&&navigator.credentials.preventSilentAccess()}};_=(0,i.Cg)([(0,i.Qj)(0,u.N),(0,i.Qj)(1,(0,o.optional)(g))],_);const O=o.DI.createInterface(e=>e.singleton(_));var b=s(56093);const N=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],M=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:i}=e,r=e.UPDATE_QUEUE_DETAILS;return{messageType:e.MESSAGE_TYPE,sourceRef:e.SOURCE_REF,userName:e.USER_NAME,updateQueue:null==r?void 0:r.UPDATE_QUEUE,zeroMqProxyModeEnabled:null==r?void 0:r.ZERO_MQ_PROXY_MODE_ENABLED,zeroMqProxyInboundPort:null==r?void 0:r.ZERO_MQ_PROXY_INBOUND_PORT,zeroMqProxyOutboundPort:null==r?void 0:r.ZERO_MQ_PROXY_OUTBOUND_PORT,userKVs:e.USER,details:i?{system:(s=i.SYSTEM,s?{date:s.DATE}:null),heartbeatIntervalSecs:i.HEARTBEAT_INTERVAL_SECONDS,failedLoginAttempts:i.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:i.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:i.LAST_LOGIN_DATE_TIME,daysToPasswordExpiry:i.DAYS_TO_PASSWORD_EXPIRY,product:(t=i.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:N(e.PERMISSION),profile:N(e.PROFILE)}}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw E.v.error(e),e}var t,s};let y=class{loggedUserResultChanged(){var e;null===(e=this.isLoggedInSubject)||void 0===e||e.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return this.currentUser.isAuthenticated}constructor(e,t,s,i,r){this.session=e,this.connect=t,this.messageBuilder=s,this.credentialManager=i,this.currentUser=r,this.isWorking=!1,this.isLoggedInSubject=new a.t(this.isLoggedIn),this.currentUser.addAuthenticationChangeListener(e=>{var t;null===(t=this.isLoggedInSubject)||void 0===t||t.next(e.detail)})}login(e){return(0,i.sH)(this,void 0,void 0,function*(){var t;this.isWorking=!0;try{const s=this.messageBuilder.createLoginMessage(e),i=yield this.connect.send(s);if(!i||i.ERROR||(null===(t=i.DETAILS)||void 0===t?void 0:t.ERROR))throw new l.l(s,i);this.applyAuthResults({authToken:i.SESSION_AUTH_TOKEN,refreshToken:i.REFRESH_AUTH_TOKEN,profiles:i.PROFILE,username:i.USER_NAME,permissions:i.PERMISSION,sessionId:i.SESSION_ID}),this.currentUser.set(M(i)),this.session.setAuthResult(i),E.v.debug("Login Authentication Result:",i)}catch(e){if(E.v.error((0,b.O)("Login Authentication Error:",null==e?void 0:e.received),e),!(e instanceof l.l&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;E.v.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult})}logout(){return(0,i.sH)(this,void 0,void 0,function*(){var e;this.isWorking=!0;let t={success:!1};try{const s=this.messageBuilder.createLogoutMessage(this.loggedUserResult);this.session.deleteUserFromSessionStorage();const{CODE:i,DETAILS:r,ERROR:n,MESSAGE_TYPE:o,OIDC_LOGOUT_URL:a}=yield this.connect.send(s),c=null!==(e=null==r?void 0:r.ERROR)&&void 0!==e?e:n,h=o===d.Go.LOGOUT_NACK;h&&E.v.warn("Unexpected Logout NACK received during logout.",c),t={success:o===d.Go.LOGOUT_ACK||i===d.x6.SESSION_NOT_FOUND||!h,error:c},a&&window.open(a,"_self")}catch(e){const s=new l.l(e.sentMessage,e.receivedMessage);if(E.v.error((0,b.O)("Logout Authentication Error:",s.received),s),!s.isIgnorableError())throw e;E.v.warn("Ignoring authentication error as it is a known edge case."),t.success=!0}finally{this.removeAuthResults(),this.currentUser.unset(),this.isWorking=!1}return t})}reAuthFromSession(){return(0,i.sH)(this,void 0,void 0,function*(){const e=yield this.ensureConnection(),t=this.credentialManager.createRefreshCredentials();if(e&&this.credentialManager.validateRefreshCredentials(t)){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.connect.send(e);if((null==t?void 0:t.MESSAGE_TYPE)===d.Gp.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(M(t)),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.currentUser.unset(),!1})}ensureConnection(){return(0,i.sH)(this,void 0,void 0,function*(){if(this.connect.isConnected)return!0;const e=this.session.getSessionStorageItem("hostUrl");return!!e&&this.connect.connect(e)})}getLoggedUserFromMessage(e){const t=e.USER_NAME,s=e.SESSION_AUTH_TOKEN,i=e.REFRESH_AUTH_TOKEN;return t&&s&&i?{username:t,authToken:s,refreshToken:i,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId}:this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null}};(0,i.Cg)([n.observable],y.prototype,"isWorking",void 0),(0,i.Cg)([n.observable],y.prototype,"loggedUserResult",void 0),y=(0,i.Cg)([(0,i.Qj)(0,u.N),(0,i.Qj)(1,c.dm),(0,i.Qj)(2,d.lT),(0,i.Qj)(3,O),(0,i.Qj)(4,r.KJ)],y);const L=o.DI.createInterface(e=>e.singleton(y))},56653(e,t,s){var i;s.d(t,{h:()=>i,l:()=>r}),function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(i||(i={}));class r extends Error{constructor(e,t,s="Auth Failed \n"){super(s),this.sent=e,this.received=t,Object.setPrototypeOf(this,r.prototype)}isIgnorableError(){var e,t,s,i,r,n,o,a;return!!(null===(i=null===(s=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===s?void 0:s.toLowerCase())||void 0===i?void 0:i.includes("request needs the user to be logged"))||!!(null===(a=null===(o=null===(n=null===(r=this.received)||void 0===r?void 0:r.DETAILS)||void 0===n?void 0:n.ERROR)||void 0===o?void 0:o.toLowerCase())||void 0===a?void 0:a.includes("is not logged in"))}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}getDetailsError(){var e,t,s,i;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(i=null===(s=this.received)||void 0===s?void 0:s.DETAILS)||void 0===i?void 0:i.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasMFAError(){return this.hasErrorCode("MFA_REQUIRED")||this.hasErrorCode("MFA_FAILED")}requiresTermsAndConditions(){return this.hasErrorCode("TERMS_ACCEPTANCE_REQUIRED")}hasErrorCode(e){var t,s;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(s=this.received)||void 0===s?void 0:s.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}},27875(e,t,s){s.d(t,{AQ:()=>d,GI:()=>o,K_:()=>a,RI:()=>c,r3:()=>A,xY:()=>h});var i=s(13160),r=s(35228);class n extends Error{constructor(e,t){super(e),Object.setPrototypeOf(this,new.target.prototype),void 0!==t&&(this.cause=t)}}class o extends n{get kind(){return"nack"}constructor(e,t){super((e=>{var t;const s=null!==(t=null==e?void 0:e.MESSAGE_TYPE)&&void 0!==t?t:"NACK",i=(Array.isArray(null==e?void 0:e.ERROR)?e.ERROR:[]).map(e=>null==e?void 0:e.TEXT).filter(Boolean);return i.length?`${s}: ${i.join("; ")}`:s})((0,r.v)(e))),this.receivedMessage=e,this.sentMessage=t,this.name="ConnectNackError"}get messageType(){var e;return null===(e=this.receivedMessage)||void 0===e?void 0:e.MESSAGE_TYPE}get errors(){var e;return Array.isArray(null===(e=this.receivedMessage)||void 0===e?void 0:e.ERROR)?this.receivedMessage.ERROR:[]}get warnings(){var e;return Array.isArray(null===(e=this.receivedMessage)||void 0===e?void 0:e.WARNING)?this.receivedMessage.WARNING:[]}get code(){var e;return null===(e=this.errors[0])||void 0===e?void 0:e.CODE}}class a extends n{get kind(){return"transport"}constructor(e,{closeCode:t,closeReason:s,cause:i}={}){super(e,i),this.name="ConnectTransportError",this.closeCode=t,this.closeReason=s}}class c extends n{get kind(){return"http"}constructor(e,t="",s){super(`HTTP error: ${e} ${t}`.trim()),this.status=e,this.statusText=t,this.body=s,this.name="ConnectHttpError"}}class d extends n{get kind(){return"timeout"}constructor(e){super(`Request timed out after ${e} ms`),this.timeout=e,this.name="ConnectTimeoutError"}}class h extends n{get kind(){return"abort"}constructor(e){super("Request aborted"),this.reason=e,this.name="ConnectAbortError"}}const l=new Set([i.v.REQUEST_TIMEOUT,i.v.TOO_MANY_REQUESTS,i.v.INTERNAL_SERVER_ERROR,i.v.BAD_GATEWAY,i.v.SERVICE_UNAVAILABLE,i.v.GATEWAY_TIMEOUT]),u=new Set([i.v.REQUEST_TIMEOUT,i.v.TOO_MANY_REQUESTS,i.v.SERVICE_UNAVAILABLE,i.v.GATEWAY_TIMEOUT]),E={UNAVAILABLE:i.v.SERVICE_UNAVAILABLE,OPERATION_TIMEOUT:i.v.REQUEST_TIMEOUT,MAX_LOGON_LIMIT:i.v.TOO_MANY_REQUESTS},g=e=>{var t;const s=Number.parseInt(String(null!==(t=null==e?void 0:e.STATUS_CODE)&&void 0!==t?t:null==e?void 0:e.CODE),10);return Number.isFinite(s)?s:E[String(null==e?void 0:e.CODE)]};function A(e){var t,s;const i=null==e?void 0:e.kind;if("transport"===i||"timeout"===i)return!0;const r=(null!==(s=null===(t=(e=>{var t;const s=e,i=null!==(t=null==s?void 0:s.receivedMessage)&&void 0!==t?t:null==s?void 0:s.body;return Array.isArray(null==i?void 0:i.ERROR)?i:void 0})(e))||void 0===t?void 0:t.ERROR)&&void 0!==s?s:[]).map(g);if(r.length&&r.every(e=>void 0!==e))return r.every(e=>u.has(e));const n=null==e?void 0:e.status;return"number"==typeof n&&l.has(n)}},24669(e,t,s){s.d(t,{EQ:()=>a,a4:()=>o});var i=s(17190),r=s(38370);class n{constructor(){this.streamListeners=(0,i.r)(),this.streamCompleteListeners=(0,i.r)(),this.streamErrorListeners=(0,i.r)(),this.commitListeners=(0,i.r)(),this.metadataListeners=(0,i.r)(),this.commitResponseListeners=(0,i.r)()}addStreamListener(e,t,s){var i,r,n;const o=null===(i=this.streamListeners)||void 0===i?void 0:i.subscribe(e),a=null===(r=this.streamCompleteListeners)||void 0===r?void 0:r.subscribe(t),c=null===(n=this.streamErrorListeners)||void 0===n?void 0:n.subscribe(s);return()=>{o(),a(),c()}}onStreamEvent(e,t,s,i){var r;null===(r=this.streamListeners)||void 0===r||r.publish(new CustomEvent("connect-stream-event",{detail:{functions:i,message:t,resourceName:e,stream:s}}))}onStreamErrorEvent(e,t,s){var i;null===(i=this.streamErrorListeners)||void 0===i||i.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:s}}))}onStreamCompleteEvent(e,t){var s;null===(s=this.streamCompleteListeners)||void 0===s||s.publish(new CustomEvent("connect-stream-complete-event",{detail:{resourceName:e,stream:t}}))}addCommitListener(e){var t;return null===(t=this.commitListeners)||void 0===t?void 0:t.subscribe(e)}onCommitEvent(e,t){var s;null===(s=this.commitListeners)||void 0===s||s.publish(new CustomEvent("connect-commit-event",{detail:{eventName:e,message:t}}))}addMetadataListener(e){var t;return null===(t=this.metadataListeners)||void 0===t?void 0:t.subscribe(e)}onMetadataEvent(e,t,s){var i;null===(i=this.metadataListeners)||void 0===i||i.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:s}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var s;null===(s=this.commitResponseListeners)||void 0===s||s.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const o=r.DI.createInterface(e=>e.singleton(n)),a=r.DI.createInterface(e=>e.aliasTo(o))},36716(e,t,s){s.d(t,{dm:()=>te,tn:()=>se});var i=s(55823),r=s(84686),n=s(77679),o=s(33681),a=s(38370),c=s(77909),d=s(4348),h=s(17465),l=s(56093),u=s(27875),E=s(24669),g=s(49587),A=s(49229),v=s(13160),S=s(97156),R=s(45655),p=s(1762),f=s(84190),I=s(78213),m=s(66640),T=s(53940),C=s(67130),_=s(36090),O=s(16220),b=s(75841),N=s(56607),M=s(28138),y=s(51046),L=s(98316),w=s(32748);const D={polling:Object.assign({POLLING_MAP:{EVENT_AMEND_USER:{TEMP_FREQUENCY:500,AMOUNT_OF_POLLS:5,QUERIES:["ALL_USERS"]}},POLLING_INTERVAL_MAP:{ALL_TRADES:5e3,ALL_USERS:5e3,ALL_PROCESSES_STATUS:1e4},POLLING_FREQUENCY:5e3},{})},U=a.DI.createInterface(e=>e.instance(D));var B,F=s(35228),G=s(21281),Q=s(52068),P=s(54315);let H=B=class{constructor(e,t){this.http=e,this.messageBuilder=t}toHttpHost(e){if(!e)return"";let t=e;return t.startsWith("ws")&&(t=t.replace("ws","http")),t.endsWith("/")||(t=t.concat("/")),t}post(e,t,s){return this.call(t,s,s=>this.http.post(B.getUrl(e,t),Object.assign(Object.assign({},s),{body:B.getBody(t),headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})))}get(e,t,s){return this.call(t,s,s=>this.http.get(B.getUrl(e,t),Object.assign(Object.assign({},s),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})))}requestServer(e,t,s){let i=B.getUrl(e,t);const r=[];return t.REQUEST&&Object.keys(t.REQUEST).length>0&&Object.keys(t.REQUEST).forEach(e=>{const s=t.REQUEST[e];null==s||Number.isNaN(s)||r.push(`REQUEST.${e}=${encodeURIComponent(String(s))}`)}),t.DETAILS&&Object.keys(t.DETAILS).forEach(e=>{const s=t.DETAILS[e];null==s||Number.isNaN(s)||r.push(`${e}=${encodeURIComponent(String(s))}`)}),r.length>0&&(i=`${i}?${r.join("&")}`),h.v.debug(`HTTP transport - REQUEST_SERVER GET URL: ${i}`),this.call(t,s,e=>this.http.get(i,Object.assign(Object.assign({},e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})))}call(e,t,s){const i=(0,P.nx)(null==t?void 0:t.signal);if(i)return i;const r=(null==t?void 0:t.signal)||(null==t?void 0:t.timeout)?new AbortController:void 0,n=s(r?{signal:r.signal}:{}).then(t=>{if((0,F.v)(t),(0,P.cV)(t))throw new u.GI(t,e);return t},e=>{throw B.asConnectError(e)});return(0,P.fb)(n,t,()=>null==r?void 0:r.abort())}static asConnectError(e){return e instanceof u.RI&&(0,F.v)(e.body),(0,Q.N)(e)?new u.K_(e.message,{cause:e}):e}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const s=t.MESSAGE_TYPE;let i=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return s===G.Gp.DATA_LOGON&&(i=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${i}`}};H=B=(0,i.Cg)([(0,i.Qj)(0,w.l),(0,i.Qj)(1,G.lT)],H);const k=a.DI.createInterface(e=>e.singleton(H));var $=s(83464),q=s(16183);const W=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const s=t;if(s&&s.DETAILS){const i=s.DETAILS.ROW_REF,r=s.DETAILS.OPERATION;"INSERT"===r&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===i})||e.unshift(s)),"DELETE"===r&&(e=e.filter(e=>{var s,i;return(null===(s=t.DETAILS)||void 0===s?void 0:s.ROW_REF)!==(null===(i=e.DETAILS)||void 0===i?void 0:i.ROW_REF)})),"MODIFY"===r&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===i?Object.assign(Object.assign({},e),s):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var V;let j=V=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,s,i,r,n,o){var a;this.http=e,this.messageBuilder=t,this.session=s,this.metaCache=i,this.serializer=r,this.config=n,this.transport=o,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new S.t(this._isConnected),this.isConnected$=null===(a=this.isConnectedSubject)||void 0===a?void 0:a.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.inFlightRequests=new P.iL,this.inFlightMetadata=new P.iL,this.dataserverEncodingStrippedWarned=!1,this.ongoingRefresh=null,this.sessionGeneration=0,this.scdbDecoder=new $.d(this.metaCache),this.scdbDecoder.setMetadataRefresher(e=>this.getMetadata(e,!1))}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>(0,i.sH)(this,void 0,void 0,function*(){const e=this.host;let t;this.isConnected=!1;try{t=yield(0,q.$G)(),t===q.vE.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,V.REAUTH_WAIT_MS)}),t=yield(0,q.$G)())}catch(e){h.v.debug("Could not refresh the session: ",e)}return(t===q.vE.SUCCESS||t===q.vE.ALREADY_VALID)&&(this.sessionGeneration+=1,this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return(0,i.sH)(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:G.Go.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===G.Go.HEARTBEAT_PONG)}catch(e){return h.v.error(e),!1}})}send(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){return this.withinDeadline(s,t=>(0,i.sH)(this,void 0,void 0,function*(){yield this.waitForOngoingRefresh("Cannot send message: session refresh failed");const s=()=>this.transport.post(this.host,e,{signal:t});return x.has(null==e?void 0:e.MESSAGE_TYPE)?s():this.retryAfterSessionRefresh(s)}))})}withinDeadline(e,t){const s=(0,P.nx)(null==e?void 0:e.signal);if(s)return s;const i=new AbortController;return(0,P.fb)(t(i.signal),e,()=>i.abort())}waitForOngoingRefresh(e){return(0,i.sH)(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error(e)}})}retryAfterSessionRefresh(e){return(0,i.sH)(this,void 0,void 0,function*(){try{return yield e()}catch(t){if(!Y(t)||!(yield this.handleSessionRefresh()))throw t;return e()}})}httpMode(){return!0}setValidSession(e){h.v.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.transport.toHttpHost(e);if(t===this.host){if(this.isConnected)return!0;if(this.pendingConnect)return this.pendingConnect}this.host=t;const s=this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e));this.pendingConnect=s;try{return yield s}finally{this.pendingConnect===s&&(this.pendingConnect=void 0)}})}disconnect(){this.pendingConnect=void 0,this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return this.stripDataserverColumnarEncoding(s),h.v.debug(`HTTP MODE - ${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.send(s).then(e=>(this.dataLogoff(s.SOURCE_REF).catch(e=>h.v.error(e)),e))})}stream(e,t,s,r){var n,o;const a=this.messageBuilder.createDataLogonMessage(e,r);this.stripDataserverColumnarEncoding(a),h.v.debug(`HTTP MODE - ${a.MESSAGE_TYPE} (stream) message created -> `,a);const c=a.SOURCE_REF,d=(null===(o=null===(n=this.config.polling)||void 0===n?void 0:n.POLLING_INTERVAL_MAP)||void 0===o?void 0:o[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(c,{SOURCE_REF:c,POLLING_FREQUENCY:new S.t(d),RESOURCE_NAME:e});const l=this.streams.get(c).POLLING_FREQUENCY;let u=this.sessionGeneration,E=!1,g=!0;const A=()=>(0,i.sH)(this,void 0,void 0,function*(){const e=this.sessionGeneration,t=yield this.send(a).catch(e=>{if((null==e?void 0:e.status)!==v.v.CONFLICT)throw e});return u=e,E=!1,g=!0,t}),b=()=>(0,i.sH)(this,void 0,void 0,function*(){if(yield this.waitForOngoingRefresh("Cannot get message: session refresh failed"),E||u!==this.sessionGeneration)return A();const e=yield this.getMessage(a);return g=!1,e}),N=()=>!g&&(E=!0,!0),M=(0,R.x)((0,p.H)(this.send(a)),l.pipe((0,f.n)(e=>(0,I.Y)(e)),(0,m.v)(()=>this.streams.has(c)),(0,T.p)(()=>"visible"===document.visibilityState),(0,C.p)(()=>(0,p.H)(b())),(0,T.p)(e=>void 0!==e),(0,_.L)({count:V.MAX_RETRIES,resetOnSuccess:!0,delay:(e,t)=>this.pollRetryDelay(e,t,c,N)}))).pipe((0,m.v)(()=>this.streams.has(c)),(0,O.j)(()=>{h.v.debug(`Terminating stream for ${e} - ${c}`),this.streams.has(c)&&this.dataLogoff(c).catch(e=>h.v.debug(`DATA_LOGOFF failed for ${c}`,e))}));return this.streams.get(c).STREAM=M,M}pollRetryDelay(e,t,s,i){const r=null==e?void 0:e.status;if(h.v.error(`Retry ${t}/${V.MAX_RETRIES}: status ${null!=r?r:"unknown"}`,e),r===v.v.NOT_FOUND)return i()?(0,b.of)(!0):(this.streams.delete(s),N.w);if(Y(e))return(0,p.H)(this.handleSessionRefresh()).pipe((0,M.T)(t=>{if(!t)throw e;return t}));if(!(0,u.r3)(e))throw e;return(0,y.O)(V.RETRY_DELAY_MS)}streamState(e,t=()=>{},s=()=>{},i,r=[]){return this.stream(e,t,s,i).pipe((0,c.S)(W,r))}streamWithoutAutoTeardown(e,t,s,i){return h.v.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,s,i)}getMessage(e){return(0,i.sH)(this,void 0,void 0,function*(){return yield this.waitForOngoingRefresh("Cannot get message: session refresh failed"),this.transport.get(this.host,e)})}getMoreRows(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return h.v.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(h.v.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0,s){return t&&this.metaCache.hasMetadataFor(e)?(h.v.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e)):(this.inFlightMetadata.has(e)&&h.v.debug(`HTTP MODE - In-flight metadata request collapsed for ${e}`),this.inFlightMetadata.join(e,t=>this.fetchMetadata(e,t),s))})}fetchMetadata(e,t){return(0,i.sH)(this,void 0,void 0,function*(){var s;const i=this.messageBuilder.createMetaRequestMessage(e);h.v.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const r=yield this.send(i,!0,{signal:t}),n=null!==(s=null==r?void 0:r.DETAILS)&&void 0!==s?s:{};return Object.keys(n).length&&this.metaCache.setMetadataFor(e,n),n})}getJSONSchema(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,G.Gp.JSON_SCHEMA_REQUEST);return h.v.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){return(0,i.sH)(this,arguments,void 0,function*(e,t,s=!1,i){const r=(0,G.d2)(e,t);if(s&&this.metaCache.hasRequestFor(r))return h.v.debug(`HTTP MODE - Cached request response retrieved for ${r}`),this.metaCache.getRequestFor(r);this.inFlightRequests.has(r)&&h.v.debug(`HTTP MODE - In-flight request collapsed for ${r}`);const n=yield this.inFlightRequests.join(r,s=>this.sendRequest(e,t,s),i);return s&&n&&this.metaCache.setRequestFor(r,n),n})}sendRequest(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){const i=this.messageBuilder.createRequestMessage(e,t),r=(0,$.r)(i);this.scdbDecoder.prepareRequest(i),h.v.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (request server) message created -> `,i),yield this.waitForOngoingRefresh("Cannot send request: session refresh failed");const n=yield this.retryAfterSessionRefresh(()=>this.transport.requestServer(this.host,i,{signal:s}));return this.scdbDecoder.onMessage(n,r),n})}stripDataserverColumnarEncoding(e){const t=null==e?void 0:e.DETAILS;(null==t?void 0:t.ENCODING)&&(this.dataserverEncodingStrippedWarned||(this.dataserverEncodingStrippedWarned=!0,h.v.warn(`Columnar encoding '${t.ENCODING}' is not supported for dataserver requests over HTTP; using row mode. Use a WebSocket connection for columnar dataserver streams.`)),delete t.ENCODING)}getAvailableResources(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return h.v.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const s=this.messageBuilder.createResourcesMessage(e);h.v.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (getResources) message created -> `,s);const i=yield this.send(s);return this.metaCache.setResources(i),i})}commitEvent(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return h.v.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (commit) message created -> `,i),this.send(i,!0,s).then(t=>(this.maybeTurbo(e,t),(0,P._l)(t,i,s)))})}maybeTurbo(e,t){var s;if(!(null===(s=null==t?void 0:t.MESSAGE_TYPE)||void 0===s?void 0:s.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void h.v.debug(`${e} polling frequency is already accelerated.`);const i=this.config.polling.POLLING_MAP[e];if(!(null==i?void 0:i.TEMP_FREQUENCY)||!i.AMOUNT_OF_POLLS)return;const r=i.TEMP_FREQUENCY,n=r*i.AMOUNT_OF_POLLS,o=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of i.QUERIES)a[e]=r,o[e]||(o[e]=this.config.polling.POLLING_FREQUENCY);h.v.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${r}ms DURATION=${n}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{h.v.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:o}}),this.ongoingTurbo[e]=!1},n)}updateIntervals(e){const{POLLING_INTERVAL_MAP:t}=e.polling;t&&(this.config.polling.POLLING_INTERVAL_MAP=t,this.handlePollingIntervalMapUpdate(t))}handlePollingIntervalMapUpdate(e){if(e)for(const t in e){if(!e.hasOwnProperty(t))continue;const s=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=s,h.v.debug(`Setting polling frequency for ${t} = ${s}`),[...this.streams.values()].filter(e=>e.RESOURCE_NAME===t).forEach(e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(s)})}}};j.REAUTH_WAIT_MS=5e3,j.RETRY_DELAY_MS=1e3,j.MAX_RETRIES=3,(0,i.Cg)([o.observable],j.prototype,"host",void 0),(0,i.Cg)([o.observable],j.prototype,"isWorking",void 0),(0,i.Cg)([o.observable],j.prototype,"_isConnected",void 0),(0,i.Cg)([o.volatile],j.prototype,"isConnected",null),j=V=(0,i.Cg)([(0,i.Qj)(0,w.l),(0,i.Qj)(1,G.lT),(0,i.Qj)(2,L.N),(0,i.Qj)(3,d.G),(0,i.Qj)(4,A.b_),(0,i.Qj)(5,U),(0,i.Qj)(6,k)],j);const Y=e=>(null==e?void 0:e.status)===v.v.UNAUTHORIZED,x=new Set([G.Gp.EVENT_LOGIN_AUTH,G.Gp.EVENT_LOGOUT,G.Gp.EVENT_CHANGE_USER_PASSWORD,G.Gp.EVENT_SELF_SERVICE_PASSWORD_RESET,G.Gp.EVENT_PASSWORD_RESET_ACTION]),K=a.DI.createInterface(e=>e.singleton(j));var X=s(80779);let J=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}get host(){return this.socket.host}constructor(e,t,s,i,r,n){var o,a,c;this.socket=e,this.messageBuilder=t,this.metaCache=s,this.events=i,this.config=r,this.transport=n,this.isWorking=!1,this.inFlightMetadata=new P.iL,this.inFlightRequests=new P.iL;const d=null===(o=this.config.connect)||void 0===o?void 0:o.dataserverEncoding;d&&(this.messageBuilder.scdbEncoding=d),this.httpScdbDecoder=new $.d(this.metaCache);const h=e=>this.getMetadata(e,!1);null===(c=(a=this.socket).setScdbMetadataRefresher)||void 0===c||c.call(a,h),this.httpScdbDecoder.setMetadataRefresher(h)}httpMode(){return!1}get useHttpReqRep(){return"true"===r.Tp||(0,n.m4)("forceHttpReqRep")}get httpHost(){return this.transport.toHttpHost(this.socket.host)}requestOverHttp(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=(0,$.r)(e);this.httpScdbDecoder.prepareRequest(e);const i=yield this.transport.requestServer(this.httpHost,e,t);return this.httpScdbDecoder.onMessage(i,s),i})}sendReqRep(e,t){return this.useHttpReqRep?this.transport.post(this.httpHost,e,t):this.socket.send(e,!0,t)}setValidSession(e){h.v.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}send(e,t,s){return this.socket.send(e,t,s)}connect(){return(0,i.sH)(this,arguments,void 0,function*(e=r.vN){if(this.socket.host===e&&!1!==this.socket.onCurrentSession){if(this.isConnected)return!0;const e=this.socket.pendingConnection;if(e)return e}return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return h.v.debug(`${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.socket.send(s)})}stream(e,t,s,i){const r=this.messageBuilder.createDataLogonMessage(e,i);h.v.debug(`${r.MESSAGE_TYPE} (stream) message created -> `,r);const n=performance.now();let o=null;const a=this.socket.sendForStream(r,(...s)=>{null===o&&(o=performance.now(),h.v.debug(`[stream:${e}] time to initial response: ${(o-n).toFixed(2)}ms`)),t(...s)},t=>{s(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,r,a,{onMessage:t,onError:s}),a}streamState(e,t=()=>{},s=()=>{},i,r=[]){return this.stream(e,t,s,i).pipe((0,c.S)(W,r))}streamWithoutAutoTeardown(e,t,s,i){h.v.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const r=this.messageBuilder.createDataLogonMessage(e,i);h.v.debug(`${r.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,r);const n=this.socket.sendForStreamWithoutTeardown(r,t,t=>{s(t),this.events.onStreamErrorEvent(e,n,t)});return this.events.onStreamEvent(e,r,n,{onMessage:t,onError:s}),n}getMoreRows(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=this.messageBuilder.createMoreRowsMessage(e,t);return h.v.debug(`${s.MESSAGE_TYPE} message created -> `,s),this.socket.send(s,!1)})}getMoreColumns(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return h.v.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0,s){return t&&this.metaCache.hasMetadataFor(e)?(h.v.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e)):(this.inFlightMetadata.has(e)&&h.v.debug(`In-flight metadata request collapsed for ${e}`),this.inFlightMetadata.join(e,t=>this.fetchMetadata(e,t),this.callerOptions(s)))})}fetchMetadata(e,t){return(0,i.sH)(this,void 0,void 0,function*(){var s;const i=this.messageBuilder.createMetaRequestMessage(e);let r,n;h.v.debug(`${i.MESSAGE_TYPE} (metadata) message created -> `,i);try{this.isWorking=!0;const n=yield this.sendReqRep(i,{timeout:0,signal:t});r=null!==(s=null==n?void 0:n.DETAILS)&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setMetadataFor(e,r)}catch(t){throw n=t,h.v.error((0,l.O)(`Metadata request failed for ${e}`,t),t),z(t)}finally{this.events.onMetadataEvent(e,i,n),this.isWorking=!1}return r})}getJSONSchema(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0){var s;if(t&&this.metaCache.hasJsonSchemaFor(e))return h.v.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const i=this.messageBuilder.createMetaRequestMessage(e,G.Gp.JSON_SCHEMA_REQUEST);let r;h.v.debug(`${i.MESSAGE_TYPE} (json schema) message created -> `,i);try{this.isWorking=!0,r=null!==(s=yield this.sendReqRep(i))&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setJsonSchemaFor(e,r)}catch(t){h.v.error((0,l.O)(`JSON schema request failed for ${e}`,t),t)}finally{this.isWorking=!1}return r})}callerOptions(e){var t,s;const i=this.useHttpReqRep||null===(t=this.config.connect)||void 0===t?void 0:t.requestTimeout;return{timeout:null!==(s=null==e?void 0:e.timeout)&&void 0!==s?s:i,signal:null==e?void 0:e.signal}}request(e,t){return(0,i.sH)(this,arguments,void 0,function*(e,t,s=!1,i){const r=(0,G.d2)(e,t);if(s&&this.metaCache.hasRequestFor(r))return h.v.debug(`Cached request response retrieved for ${r}`),this.metaCache.getRequestFor(r);this.inFlightRequests.has(r)&&h.v.debug(`In-flight request collapsed for ${r}`);const n=yield this.inFlightRequests.join(r,s=>this.sendRequest(e,t,s),this.callerOptions(i));return s&&n&&this.metaCache.setRequestFor(r,n),n})}sendRequest(e,t,s){const i=this.messageBuilder.createRequestMessage(e,t);h.v.debug(`${i.MESSAGE_TYPE} (request server) message created -> `,i);const r={timeout:0,signal:s};return this.useHttpReqRep?this.requestOverHttp(i,r):this.socket.send(i,!0,r)}getAvailableResources(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return h.v.debug("Cached resources retrieved"),this.metaCache.getResources();const s=this.messageBuilder.createResourcesMessage(e);h.v.debug(`${s.MESSAGE_TYPE} (resources) message created -> `,s);const i=yield this.sendReqRep(s);return this.metaCache.setResources(i),i})}commitEvent(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);h.v.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const r=this.sendReqRep(i,s);return this.events.onCommitEvent(e,i),r.then(t=>(this.events.onCommitResponseEvent(e,t),(0,P._l)(t,i,s)))})}};(0,i.Cg)([o.observable],J.prototype,"isWorking",void 0),J=(0,i.Cg)([(0,i.Qj)(0,X.yQ),(0,i.Qj)(1,G.lT),(0,i.Qj)(2,d.G),(0,i.Qj)(3,E.EQ),(0,i.Qj)(4,g.R),(0,i.Qj)(5,k)],J);const z=e=>e instanceof Error?e:(e=>"object"==typeof(null==e?void 0:e.receivedMessage))(e)?new u.GI(e.receivedMessage,e.sentMessage):new Error(String(e)),Z="true"===r.PF||(0,n.m4)("forceHttp"),ee=a.DI.createInterface(e=>e.singleton(J)),te=a.DI.createInterface(e=>Z?e.aliasTo(K):e.aliasTo(ee));function se(){return a.DI.getOrCreateDOMContainer().get(te)}},49587(e,t,s){s.d(t,{R:()=>n});var i=s(38370);const r={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:new RegExp(/wss?:\/\/[-a-zA-Z0-9@:%._+~#=]{1,256}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)\b\/*$/,"i")},n=i.DI.createInterface(e=>e.instance(r))},35228(e,t,s){s.d(t,{v:()=>r});const i=e=>{Array.isArray(e)&&e.forEach(e=>{"number"==typeof(null==e?void 0:e.CODE)&&(e.CODE=String(e.CODE)),"number"==typeof(null==e?void 0:e.STATUS_CODE)&&(e.STATUS_CODE=String(e.STATUS_CODE))})},r=e=>{const{ERROR:t,WARNING:s}=null!=e?e:{};return i(t),i(s),e}},32748(e,t,s){s.d(t,{l:()=>h});var i=s(55823),r=s(49229),n=s(38370),o=s(27875),a=s(52068);const c=e=>(0,i.sH)(void 0,void 0,void 0,function*(){return new o.RI(e.status,e.statusText,yield(e=>(0,i.sH)(void 0,void 0,void 0,function*(){const t=yield e.text().catch(()=>{});if(t)try{return JSON.parse(t)}catch(e){return t}}))(e))});let d=class{constructor(e){this.serializer=e}get(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"GET"})).catch(e=>{throw(0,a.I)(e)});return this.handleResponse(s,t)})}post(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"POST"})).catch(e=>{throw(0,a.I)(e)});return this.handleResponse(s,t)})}handleResponse(e,t){return(0,i.sH)(this,void 0,void 0,function*(){var s;if(e.redirected)return window.location.href=e.url,new Promise(()=>{});if(null===(s=t.onResponse)||void 0===s||s.call(t,e),304===e.status)return;if(!e.ok)throw yield c(e);return(t.serializer||this.serializer).deserialize(e)})}};d=(0,i.Cg)([(0,i.Qj)(0,r.b_)],d);const h=n.DI.createInterface(e=>e.singleton(d))},21281(e,t,s){s.d(t,{Go:()=>i,Gp:()=>r,d2:()=>u,lT:()=>A,x6:()=>n,z2:()=>E});var i,r,n,o=s(55823),a=s(32808),c=s(38370),d=s(56653),h=s(98316);!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MORE_COLUMNS="MORE_COLUMNS",e.MORE_COLUMNS_ACK="MORE_COLUMNS_ACK",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE",e.INVALID_INDEX_NACK="INVALID_INDEX_NACK"}(i||(i={})),function(e){e.EVENT_LOGIN_AUTH="EVENT_LOGIN_AUTH",e.EVENT_LOGIN_AUTH_ACK="EVENT_LOGIN_AUTH_ACK",e.EVENT_LOGIN_AUTH_NACK="EVENT_LOGIN_AUTH_NACK",e.EVENT_LOGOUT="EVENT_LOGOUT",e.DATA_LOGON="DATA_LOGON",e.DATA_LOGOFF="DATA_LOGOFF",e.META_REQUEST="META_REQUEST",e.JSON_SCHEMA_REQUEST="JSON_SCHEMA_REQUEST",e.RESOURCES_REQUEST="RESOURCES_REQUEST",e.RESOURCES_REQUEST_ACK="RESOURCES_REQUEST_ACK",e.RESOURCES_REQUEST_NACK="RESOURCES_REQUEST_NACK",e.EVENT_CHANGE_USER_PASSWORD="EVENT_CHANGE_USER_PASSWORD",e.EVENT_SELF_SERVICE_PASSWORD_RESET="EVENT_SELF_SERVICE_PASSWORD_RESET",e.EVENT_PASSWORD_RESET_ACTION="EVENT_PASSWORD_RESET_ACTION"}(r||(r={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(n||(n={}));const l=e=>Array.isArray(e)?e.map(l):e&&"object"==typeof e&&e.constructor===Object?Object.keys(e).sort().reduce((t,s)=>(t[s]=l(e[s]),t),{}):e;function u(e,t){return`${e}::${JSON.stringify(l(null!=t?t:{}))}`}const E=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var s,i;return String(null!==(s=e.CODE)&&void 0!==s?s:"").includes(`${t}`)||String(null!==(i=e.STATUS_CODE)&&void 0!==i?i:"").includes(`${t}`)}));let g=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case d.h.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case d.h.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case d.h.SSO:t={SSO_TOKEN:e.ssoToken};break;case d.h.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,s;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(s=e.sessionId)&&void 0!==s?s:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){var s;const i=null!==(s=null==t?void 0:t.ENCODING)&&void 0!==s?s:this.scdbEncoding;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.DATA_LOGON,DETAILS:Object.assign(Object.assign({DATASOURCE_NAME:e},t),i?{ENCODING:i}:{}),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:r.DATA_LOGOFF,SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createRequestMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e.startsWith("REQ_")?e:`REQ_${e}`},t)}createResourcesMessage(e){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:r.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=r.META_REQUEST){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:t,DETAILS:{FEATURE:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createCommitMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e},t)}createRefreshTokenMessage(){return{SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken"),MFA_CODE:this.session.getSessionStorageItem("mfaToken")}}}createChangePasswordMessage(e,t,s){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:s}}}createForgotPasswordMessage(e,t,s=e){return{USER_NAME:s,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,s,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:s}}}createMoreRowsMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:i.MORE_ROWS,DETAILS:{SOURCE_REF:e,VIEW_NUMBER:t},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createMoreColumnsMessage(e){return Object.assign(Object.assign({},this.createMoreRowsMessage(e)),{MESSAGE_TYPE:i.MORE_COLUMNS})}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const s={"Content-type":t};return e.SOURCE_REF&&(s["source-ref"]=e.SOURCE_REF,s.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(s["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===r.EVENT_LOGOUT&&(s["SESSION-ID"]=e.SESSION_ID),s}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:i.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};g=(0,o.Cg)([(0,o.Qj)(0,h.N),(0,o.Qj)(1,a.k)],g);const A=c.DI.createInterface(e=>e.singleton(g))},52068(e,t,s){s.d(t,{I:()=>r,N:()=>n});const i=new WeakSet,r=e=>(e instanceof TypeError&&i.add(e),e),n=e=>e instanceof TypeError&&i.has(e)},54315(e,t,s){s.d(t,{_l:()=>d,cV:()=>o,fb:()=>a,iL:()=>h,nx:()=>c});var i=s(27875),r=s(21281);const n=new Set([r.Go.MSG_NACK,r.Go.LOGON_NACK,r.Go.INVALID_INDEX_NACK]),o=e=>n.has(null==e?void 0:e.MESSAGE_TYPE);function a(e,{timeout:t,signal:s}={},r){const n=t>0&&Number.isFinite(t);return n||s?new Promise((o,a)=>{let c;const d=()=>l(new i.xY(s.reason)),h=()=>{clearTimeout(c),null==s||s.removeEventListener("abort",d)},l=e=>{h(),null==r||r(e),a(e)};e.then(e=>{h(),o(e)},e=>{h(),a(e)}),(null==s?void 0:s.aborted)?d():(null==s||s.addEventListener("abort",d,{once:!0}),n&&(c=setTimeout(()=>l(new i.AQ(t)),Math.min(t,2147483647))))}):e}const c=e=>(null==e?void 0:e.aborted)?Promise.reject(new i.xY(e.reason)):void 0,d=(e,t,s)=>{if((null==s?void 0:s.rejectEventNack)&&"EVENT_NACK"===(null==e?void 0:e.MESSAGE_TYPE))throw new i.GI(e,t);return e};class h{constructor(){this.entries=new Map}has(e){return this.entries.has(e)}join(e,t,s){var i;const r=c(null==s?void 0:s.signal);if(r)return r;const n=null!==(i=this.entries.get(e))&&void 0!==i?i:this.start(e,t);return n.waiting+=1,a(n.promise,s,()=>{n.waiting-=1,0===n.waiting&&(this.release(e,n),n.controller.abort())})}start(e,t){const s=new AbortController,i={controller:s,waiting:0,promise:void 0};return i.promise=t(s.signal).finally(()=>this.release(e,i)),this.entries.set(e,i),i}release(e,t){this.entries.get(e)===t&&this.entries.delete(e)}}},83464(e,t,s){s.d(t,{d:()=>E,r:()=>u});var i=s(55823),r=s(34127),n=s(67230);const o=["INSERT","MODIFY","DELETE"];function a(e,t,s){for(const i of e.c){const r=t[i.i];if(void 0===r)throw new Error(`Unknown SCDBJ column id ${i.i}`);const n=i.x,o=i.v,a=n?n.length:e.n;for(let e=0;e<a;e++){s[n?n[e]:e][r]=o[e]}}return s}function c(e,t,s){var i;switch(e.ENCODING){case"SCDBJ_V1":return function(e,t){const{n:s,r:i,o:r}=e,n=Array.isArray(r),c=new Array(s);for(let e=0;e<s;e++)c[e]={DETAILS:{OPERATION:o[n?r[e]:r],ROW_REF:i[e]}};return a(e,t,c)}(e.SCDBJ,t);case"SCDB_V1":{const i=d(e.RBUF);return s?s.decodeToRows(i,t):(0,n.V$)(i,t)}default:return null!==(i=e.ROW)&&void 0!==i?i:[]}}function d(e){if(e instanceof Uint8Array)return e;if(Array.isArray(e))return Uint8Array.from(e);if("string"==typeof e)return(0,r.K)(e);throw new Error("SCDB_V1 message has no RBUF payload")}function h(e,t){var s;switch(e.ENCODING){case"SCDBJ_V1":return function(e,t){const s=new Array(e.n);for(let t=0;t<e.n;t++)s[t]={};return a(e,t,s)}(e.SCDBJ,t);case"SCDB_V1":{const s=d(e.RBUF);return(0,n.V$)(s,t).map(e=>{var{DETAILS:t}=e;return(0,i.Tt)(e,["DETAILS"])})}default:return null!==(s=e.REPLY)&&void 0!==s?s:[]}}var l=s(17465);function u(e){var t;const s=null===(t=null==e?void 0:e.DETAILS)||void 0===t?void 0:t.DATASOURCE_NAME;if(s)return s;const i=null==e?void 0:e.MESSAGE_TYPE;return"string"==typeof i&&i.startsWith("REQ_")?i.slice(4):void 0}class E{constructor(e){this.metaCache=e,this.byHash=new Map,this.expectedHashByResource=new Map,this.refreshing=new Set}setWasm(e){this.wasm=e}setMetadataRefresher(e){this.metadataRefresher=e}prepareRequest(e){const t=e.DETAILS;if(!(null==t?void 0:t.ENCODING))return;const s=u(e);if(s&&this.metaCache.hasMetadataFor(s))return;const i=Object.assign({},t);delete i.ENCODING,e.DETAILS=i,s&&this.requestRefresh(s)}onLogonAck(e,t){(null==e?void 0:e.ENCODING)&&t&&null!=e.DICT_HASH&&(this.expectedHashByResource.set(t,e.DICT_HASH),this.dictionaryFor(t,e.DICT_HASH))}onMessage(e,t){if(!e||!e.ENCODING||e.ROW||e.REPLY)return;const s="QUERY_UPDATE"===e.MESSAGE_TYPE,i=s?t&&this.expectedHashByResource.get(t):e.DICT_HASH,r=this.dictionaryFor(t,i);if(!r)throw new Error(`Cannot decode ${e.ENCODING} ${e.MESSAGE_TYPE} for '${t}': no column dictionary matching DICT_HASH ${i}`);s?e.ROW=this.decodeQueryUpdate(e,r):e.REPLY=h(e,r)}decodeQueryUpdate(e,t){if(this.wasm)try{return c(e,t,this.wasm)}catch(s){const i=c(e,t);return l.v.warn("SCDB WASM decode failed, using the pure-JS decoder from now on",s),this.wasm=void 0,i}return c(e,t)}clear(){this.byHash.clear(),this.expectedHashByResource.clear(),this.refreshing.clear()}dictionaryFor(e,t){if(!e)return;if(null==t)return;const s=this.byHash.get(t);if(s)return s;if(!this.metaCache.hasMetadataFor(e))return void this.requestRefresh(e);const i=function(e){var t,s,i,r,n;const o=null!==(t=e.REPLY_FIELD)&&void 0!==t?t:null===(s=e.REPLY)||void 0===s?void 0:s.FIELD;return("REQUEST_SERVER"===e.TYPE?null!=o?o:[]:"DATASERVER"===e.TYPE?null!==(i=e.FIELD)&&void 0!==i?i:[]:null!==(n=null!==(r=e.FIELD)&&void 0!==r?r:o)&&void 0!==n?n:[]).map(e=>e.NAME)}(this.metaCache.getMetadataFor(e));if(!i.length)return;const r=function(e){let t=2166136261;const s=e.join("\n");for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}(i);return r!==t?(l.v.warn(`SCDB dictionary hash mismatch for '${e}' (server=${t} client=${r}); refreshing metadata`),void this.requestRefresh(e)):(this.byHash.set(t,i),i)}requestRefresh(e){this.metadataRefresher&&!this.refreshing.has(e)&&(this.refreshing.add(e),Promise.resolve(this.metadataRefresher(e)).catch(()=>{}).finally(()=>this.refreshing.delete(e)))}}},16183(e,t,s){s.d(t,{$G:()=>u,Lj:()=>g,Z8:()=>E,vE:()=>h});var i=s(55823),r=s(84686),n=s(38370),o=s(17465),a=s(32748);const c="reauthActionLock",d=[408,429];var h;!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(h||(h={}));function l(){return(0,i.sH)(this,void 0,void 0,function*(){const e=n.DI.getOrCreateDOMContainer().get(a.l);try{const t=yield e.post(r.aW,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})});return"EVENT_LOGIN_AUTH_ACK"===t.MESSAGE_TYPE||(o.v.debug("Session refresh rejected: ",t.ERROR),!1)}catch(e){if((e=>{const t=null==e?void 0:e.status;return"number"==typeof t&&t>=400&&t<500&&!d.includes(t)})(e))return o.v.debug(`Session refresh rejected with HTTP ${e.status}`),!1;throw e}})}function u(){return(0,i.sH)(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0,signal:s}=e;if(function(){const e=parseInt(localStorage.getItem(c)||"0");Date.now()-e>3e4&&localStorage.removeItem(c)}(),localStorage.getItem(c)||(localStorage.setItem(c,Date.now().toString()),0))return h.HANDLED_BY_OTHER_TAB;try{if(yield function(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=yield fetch(r.Be,{credentials:"include",signal:e});return 401!==t.status&&"EVENT_LOGIN_DETAILS_ACK"===(yield t.json()).MESSAGE_TYPE})}(s))return h.ALREADY_VALID;return(yield l())?h.SUCCESS:(t&&window.location.reload(),h.FAILED)}finally{localStorage.removeItem(c)}})}function E(e){const t=s=>{s.key===c&&null===s.newValue&&(e(),window.removeEventListener("storage",t))};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}function g(e){return new Promise(t=>{const s=()=>{i(),e.removeEventListener("abort",s),t()},i=E(s);e.aborted?s():e.addEventListener("abort",s)})}},80779(e,t,s){s.d(t,{yQ:()=>te,Ol:()=>se});var i=s(55823),r=s(92277),n=s(84686),o=s(49229),a=s(32808),c=s(33681),d=s(38370),h=s(50049),l=s(37970),u=s(26274),E=s(1762),g=s(75841),A=s(84190),v=s(67130),S=s(28138),R=s(66640),p=s(16220),f=s(53940),I=s(48653),m=s(34127),T=s(67230);const C="AGFzbQEAAAABCAFgA39/fwF/Ag8BA2VudgZtZW1vcnkCAAADAgEABgsCfwFBAAt/AUEACwcTAgZkZWNvZGUAAAZtZW1vcnkCAAq5EgG2EgIRfwR+IAAkACMALQAEQQJxQQBHIQ5BBSQBA0AjASIAQQFqJAEgFCMAIABqLQAAIgBB/wBxrCAHrYaEIRQgAEGAAXEEQCAHQQdqIQcMAQsLIBSnIQEDQCABIAhKBEBCACEUQQAhAANAIwEiB0EBaiQBIBQjACAHai0AACIHQf8AcawgAK2GhCEUIAdBgAFxBEAgAEEHaiEADAELCyMBIBSnaiQBIAhBAWohCAwBCwsjASEAIA4Ef0EBBSABQQF0QQdqQQN1CyAAaiQBA0AjASIAQQFqJAEgFSMAIABqLQAAIgBB/wBxrCAKrYaEIRUgAEGAAXEEQCAKQQdqIQoMAQsLIAIgATYCACACIBWnIgA2AgQgAkFAayIKIAAgAWwiAkEDdGoiDCACQQJ0IgJqIg8gAmoiECABQQJ0IgdqIREgByARaiIHIABBAnQiCGohEiACIAggEmoiDWoiCCAAaiIAIAFqQQNqQXxxIRNBBSQBA0AjASICQQFqJAEgFyMAIAJqLQAAIgJB/wBxrCAGrYaEIRcgAkGAAXEEQCAGQQdqIQYMAQsLA0AgASAESgRAQgAhFEEAIQIDQCMBIgZBAWokASAUIwAgBmotAAAiBkH/AHGsIAKthoQhFCAGQYABcQRAIAJBB2ohAgwBCwsgBEECdCICIBBqIwE2AgAgAiARaiAUpyICNgIAIwEgAmokASAEQQFqIQQMAQsLIA4EQCMBIgJBAWokASMAIAJqLQAAIQIDQCABIAVKBEAgACAFaiACOgAAIAVBAWohBQwBCwsFIwEhAgNAIAEgBUoEQCAAIAVqIwAgAmogBUEBdCIEQQN1ai0AACAEQQdxdUEDcToAACAFQQFqIQUMAQsLIwEgAUEBdEEHakEDdWokAQsDQCMBIgBBAWokASAWIwAgAGotAAAiAEH/AHGsIAuthoQhFiAAQYABcQRAIAtBB2ohCwwBCwsgFqchCwNAIAkgC0gEQEIAIRRBACEAA0AjASICQQFqJAEgFCMAIAJqLQAAIgJB/wBxrCAArYaEIRQgAkGAAXEEQCAAQQdqIQAMAQsLIAcgCUECdGogFD4CACMBIgBBAWokASMAIABqLQAAIQIjASIAQQFqJAFBfyEGIwAgAGotAABBAXEiDkUEQCMBIQYjASABQQdqQQN1aiQBC0EAIQUgAyEAIAJBAkYEQCMBIgJBAWokASMAIAJqLQAAQQJGIRBCACEUQQEhBEEAIQIDQCABIAJKBEAgDgR/QQEFIwAgBmogAkEDdWotAAAgAkEHcXVBAXELBEAgBAR+QgAhFEEAIQUDQCMBIgRBAWokASAUIwAgBGotAAAiBEH/AHGsIAWthoQhFCAEQYABcQRAIAVBB2ohBQwBCwtBACEEQgAgFEIBg30gFEIBiIUFQgAhFUEAIQUDQCMBIhFBAWokASAVIwAgEWotAAAiEUH/AHGsIAWthoQhFSARQYABcQRAIAVBB2ohBQwBCwsgFEIAIBVCAYN9IBVCAYiFfAshFCAQBEAgCiABIAlsIAJqQQN0aiAUNwMABSAKIAEgCWwgAmpBA3RqIBS5OQMACyANIANBAnRqIAI2AgAgA0EBaiEDCyACQQFqIQIMAQsLQQNBACAQGyEFBSACQQFGBEBCACEUQQAhAgNAIwEiBEEBaiQBIBQjACAEai0AACIEQf8AcawgAq2GhCEUIARBgAFxBEAgAkEHaiECDAELCyATIBSnIgRBAnRqIRBBACECA0AgAiAESARAQgAhFEEAIQUDQCMBIhFBAWokASAUIwAgEWotAAAiEUH/AHGsIAWthoQhFCARQYABcQRAIAVBB2ohBQwBCwsgAkECdCIFIBNqIwE2AgAgBSAQaiAUpyIFNgIAIwEgBWokASACQQFqIQIMAQsLQQAhAgNAIAEgAkoEQCAOBH9BAQUjACAGaiACQQN1ai0AACACQQdxdUEBcQsEQEIAIRRBACEFA0AjASIEQQFqJAEgFCMAIARqLQAAIgRB/wBxrCAFrYaEIRQgBEGAAXEEQCAFQQdqIQUMAQsLIBSnIgQEQCABIAlsIAJqQQJ0IgUgDGogBEEBa0ECdCIEIBNqKAIANgIAIAUgD2ogBCAQaigCADYCACANIANBAnRqIAI2AgAFIA0gA0ECdGogAkGAgICAeHI2AgALIANBAWohAwsgAkEBaiECDAELC0EBIQUFQQAhAgNAIAEgAkoEQCAOBH9BAQUjACAGaiACQQN1ai0AACACQQdxdUEBcQsEQCMBIgRBAWokASMAIARqLQAAIgRBCUYEQCANIANBAnRqIAJBgICAgHhyNgIABSABIAlsIAJqIRAgBEUgBEEGRnIEQEEBIQVCACEUQQAhBANAIwEiEUEBaiQBIBQjACARai0AACIRQf8AcawgBK2GhCEUIBFBgAFxBEAgBEEHaiEEDAELCyAQQQJ0IgQgDGojATYCACAEIA9qIBSnIgQ2AgAjASAEaiQBBSAEQQdGBEBBBCEFQgAhFEEAIQQDQCMBIhFBAWokASAUIwAgEWotAAAiEUH/AHGsIASthoQhFCARQYABcQRAIARBB2ohBAwBCwsgEEECdCIEIAxqIwE2AgAgBCAPaiAUpyIENgIAIwEgBGokAQUgBEEDRgRAQgAhFEEAIQQDQCAEQQhIBEAjACMBaiAEajEAACAUQgiGhCEUIARBAWohBAwBCwsjAUEIaiQBIAogEEEDdGogFDcDAAUgBEEERgRAQQIhBSMBIgRBAWokASAKIBBBA3RqIwAgBGotAAC3OQMABSAEQQJGBEBCACEUQQAhBQNAIwEiBEEBaiQBIBQjACAEai0AACIEQf8AcawgBa2GhCEUIARBgAFxBEAgBUEHaiEFDAELCyAKIBBBA3RqQgAgFEIBg30gFEIBiIU3AwBBAyEFBUIAIRRBACEEA0AjASIRQQFqJAEgFCMAIBFqLQAAIhFB/wBxrCAErYaEIRQgEUGAAXEEQCAEQQdqIQQMAQsLIAogEEEDdGpCACAUQgGDfSAUQgGIhbk5AwALCwsLCyANIANBAnRqIAI2AgALIANBAWohAwsgAkEBaiECDAELCwsLIBIgCUECdGogAyAAazYCACAIIAlqIAU6AAAgCUEBaiEJDAELCyABCw==",_=["INSERT","MODIFY","DELETE"],O=65536,b=BigInt(32),N=BigInt(Number.MAX_SAFE_INTEGER),M=-N;let y;function L(){return y||(y=function(){return(0,i.sH)(this,arguments,void 0,function*(e=(0,m.K)(C)){const t=new WebAssembly.Memory({initial:32}),{instance:s}=yield WebAssembly.instantiate(e,{env:{memory:t,abort(){throw new Error("scdb wasm abort")}}}),i=s.exports.decode,r=new TextDecoder,n=O;function o(e,s){(0,T.E0)(e);const{n:o,c:a}=function(e){const t=e[4];let s=5,i=0,r=0;const n=()=>{for(i=0,r=0;;){const t=e[s++];if(r<28?i|=(127&t)<<r:i+=(127&t)*Math.pow(2,r),!(128&t))return i>>>0;r+=7}},o=n();for(let e=0;e<o;e++){const e=n();s+=e}s+=2&t?1:2*o+7>>3;const a=n();return{n:o,c:a}}(e),c=64+o*a*8+o*a*4*2+4*o*2+4*a+a+o+4*a+o*a*4+8*o+4096,d=n+e.length+64+7&-8;const h=d+c;h>t.buffer.byteLength&&t.grow(Math.ceil((h-t.buffer.byteLength)/O));const l=new Uint8Array(t.buffer);return l.set(e,n),i(n,e.length,d),function(e,t,s,i,r,n){const o=new DataView(e),a=o.getInt32(i,!0),c=o.getInt32(i+4,!0),d=i+64,h=d,l=h+a*c*8,u=l+a*c*4,E=u+a*c*4,g=E+4*a,A=g+4*a,v=A+4*c,S=v+4*c,R=S+a*c*4,p=R+c,f=new Float64Array(e,h,a*c),I=new Int32Array(e,l,a*c),m=new Int32Array(e,u,a*c),T=new Int32Array(e,E,a),C=new Int32Array(e,g,a),O=new Int32Array(e,A,c),y=t.subarray(R,R+c),L=t.subarray(p,p+a),w=new Int32Array(e,v,c),D=new Int32Array(e,S,a*c),U=new Array(a);for(let e=0;e<a;e++){const i=s+T[e];U[e]={DETAILS:{OPERATION:_[L[e]],ROW_REF:n.decode(t.subarray(i,i+C[e]))}}}let B=0;for(let e=0;e<c;e++){const i=r[O[e]];if(void 0===i)throw new Error(`Unknown SCDB column id ${O[e]}`);const c=y[e],d=e*a,l=w[e];if(1===c){const e=new Map;for(let r=0;r<l;r++){const r=D[B++],o=2147483647&r;if(r<0){U[o][i]=null;continue}const a=I[d+o];let c=e.get(a);if(void 0===c){const i=s+a;c=n.decode(t.subarray(i,i+m[d+o])),e.set(a,c)}U[o][i]=c}}else if(4===c)for(let e=0;e<l;e++){const e=D[B++],r=2147483647&e;if(e<0){U[r][i]=null;continue}const n=s+I[d+r];U[r][i]=t.slice(n,n+m[d+r])}else if(3===c)for(let e=0;e<l;e++){const e=D[B++],t=2147483647&e;if(e<0){U[t][i]=null;continue}const s=h+8*(d+t),r=(BigInt(o.getInt32(s+4,!0))<<b)+BigInt(o.getUint32(s,!0));U[t][i]=r>=M&&r<=N?Number(r):r}else{const e=2===c;for(let t=0;t<l;t++){const t=D[B++],s=2147483647&t;U[s][i]=t<0?null:e?0!==f[d+s]:f[d+s]}}}return U}(t.buffer,l,n,d,s,r)}return{decodeToRows:o}})}()),y}var w=s(4348),D=s(98316),U=s(17465),B=s(56093),F=s(27875),G=s(49587),Q=s(35228),P=s(32748),H=s(21281);const k=1e4,$=6e4;var q;!function(e){e.Linear="linear",e.Exponential="exponential"}(q||(q={}));const W=(e,t)=>{const{reconnectInterval:s=k}=e,i=s>$?$:s,r=Math.min(i*Math.pow(2,t),$);return r/2+Math.random()*r/2},V=e=>{const{reconnectInterval:t=k}=e;return t>$?$:t};var j=s(54315),Y=s(83464),x=s(16183),K=s(5709);class X{constructor(e){this.interval=e}get workerScript(){return`\n const startTime = Date.now();\n setInterval(function() {\n self.postMessage(Date.now() - startTime);\n }, ${this.interval});\n `}start(e){this.stop(),this.runWorker(e)}stop(){this.worker&&(this.worker.terminate(),delete this.worker)}runWorker(e){this.worker||(this.worker=new Worker(URL.createObjectURL(new Blob([this.workerScript],{type:"text/javascript"}))),this.worker.onmessage=t=>e(t.data))}}class J extends h.B{constructor(){super()}}l.c;class z{constructor(e,t,s,i){this._message=e,this._onMessage=t,this._onError=s,this._isSubscription=i}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}const Z=e=>new Promise(t=>{e.addEventListener("abort",()=>t(void 0),{once:!0})});let ee=class{get isConfigured(){return this.status.isConfigured}get isConnecting(){return this.status.isConnecting}get isConnected(){return this.status.isConnected}get isConnectedSubject(){return this.status.isConnectedSubject}get isDisconnected(){return this.status.isDisconnected}get isDisconnectedByServer(){return this.status.isDisconnectedByServer}get isReconnecting(){return this.status.isReconnecting}get hasValidSession(){return U.v.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){U.v.deprecated("set hasValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}get host(){var e;return null!==(e=this.url)&&void 0!==e?e:n.vN}get pendingConnection(){var e;return null!==(e=this.reconnectOutcome)&&void 0!==e?e:this.attempt}get onCurrentSession(){return this.attemptAuthChanges===this.authChanges}constructor(e,t,s,i,r,n,o){var a,c;this.messageBuilder=e,this.session=t,this.serializer=s,this.uuid=i,this.status=r,this.user=n,this.config=o,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.sessionCheckTimeout=1e4,this.scdbWasmRequested=!1,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.authChanges=0,this.attemptAuthChanges=0,this.socketMessages=()=>this.wsMessages,null===(c=null===(a=this.user)||void 0===a?void 0:a.addAuthenticationChangeListener)||void 0===c||c.call(a,()=>{this.authChanges+=1})}get scdbDecoder(){var e;return null!==(e=this._scdbDecoder)&&void 0!==e||(this._scdbDecoder=new Y.d(this.metaCache)),this._scdbDecoder}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e=n.vN,t,s){var r,o;if(this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=s?s:this.config.reconnect,"SCDB_V1"===(null===(r=this.connectOptions)||void 0===r?void 0:r.dataserverEncoding)&&this.ensureScdbWasm(),!(null===(o=this.config.isWebSocketExpression)||void 0===o?void 0:o.test(this.host)))return U.v.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void U.v.warn("Make sure the host url starts with wss:// or ws://");this.attemptAuthChanges=this.authChanges;const a=!!this.websocket&&this.isConnected,c=new Promise(e=>{var t,s,r,n;U.v.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`),this.status.isConnecting=!this.isReconnecting,this.rejectPendingRequests();(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(s=this.socketSubscription)||void 0===s||s.unsubscribe();const o=new I.Q({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),U.v.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{var s;this.websocket===o?(this.status.onClose(t),this.status.isConnecting=!1,this.rejectPendingRequests(new F.K_("WebSocket connection closed before a reply arrived",{closeCode:null==t?void 0:t.code,closeReason:null==t?void 0:t.reason})),this.isDisconnectedByServer&&U.v.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)):e(null!==(s=this.connection)&&void 0!==s&&s)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.websocket=o;this.socketSubscription=this.websocket.subscribe(null!==(n=null===(r=this.connectOptions)||void 0===r?void 0:r.connectObserver)&&void 0!==n?n:{next:e=>(0,i.sH)(this,void 0,void 0,function*(){var t;(0,Q.v)(e);const s=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,s);const{SOURCE_REF:i,MESSAGE_TYPE:r}=e,n=this.getMessageHandler(i,r);if(!n)return void(e.MESSAGE_TYPE===H.Go.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{U.v.error((0,B.O)(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t),t)}));const o=(0,j.cV)(e);switch(e.MESSAGE_TYPE){case H.Gp.EVENT_LOGIN_AUTH_ACK:this.applyServerHeartbeatInterval(e.DETAILS);break;case H.Go.LOGOUT_ACK:return n.onReceivedMessage.call(this,e),void this.cleanMessages();case H.Go.LOGON_ACK:return void this.scdbDecoder.onLogonAck(e,(0,Y.r)(n.sentMessage));case H.Go.LOGOFF_ACK:break;case H.Go.QUERY_UPDATE:n.isSubscription||this.sendDataLogoff(i)}"SCDB_V1"===(null==e?void 0:e.ENCODING)&&this.ensureScdbWasm();try{this.scdbDecoder.onMessage(e,(0,Y.r)(n.sentMessage))}catch(e){U.v.error(`Failed to decode ${r} for SourceRef: ${i}`,e);const s={SOURCE_REF:i,MESSAGE_TYPE:H.Go.MSG_NACK,ERROR:[{CODE:"SCDB_DECODE_FAILED",TEXT:String(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:e)}]};return n.onReceivedError.call(this,new F.GI(s,n.sentMessage)),this.removeMessageHandler(i),void this.wsMessages.next(s)}o?n.onReceivedError.call(this,new F.GI(e,n.sentMessage)):n.onReceivedMessage.call(this,e),this.wsMessages.next(e),n.isSubscription||this.removeMessageHandler(i)}),error:e=>{U.v.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():U.v.info("Connection is now closed")}}),this.status.isConfigured=!0});return this.connection=c,this.attempt=c,c.then(()=>{this.attempt===c&&(this.attempt=void 0)}),a&&(this.status.isConnected=!1),c}handleExpiredSession(){return(0,i.sH)(this,void 0,void 0,function*(){if(this.usesCookieAuth)yield this.handleCookieBasedReauth();else{const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);this.session.setAuthResult(t),this.updateSessionAndSubscriptions(t)}})}get usesCookieAuth(){return!this.session.getSessionStorageItem("refreshToken")}handleCookieBasedReauth(){return(0,i.sH)(this,void 0,void 0,function*(){const e=yield(0,x.$G)();e!==x.vE.HANDLED_BY_OTHER_TAB?e!==x.vE.FAILED&&(yield this.connect(this.url,this.connectOptions,this.reconnectOptions)):(0,x.Z8)(()=>this.connect(this.url,this.connectOptions,this.reconnectOptions))})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===H.Gp.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}applyServerHeartbeatInterval(e){var t,s;const i=null!==(t=null==e?void 0:e.HEARTBEAT_INTERVAL_SECONDS)&&void 0!==t?t:0;i>0&&void 0===(null===(s=this.connectOptions)||void 0===s?void 0:s.heartbeatInterval)&&(this.heartbeatInterval=i*this.secondsMultiplier,this.prepareHeartbeat())}prepareHeartbeat(){var e,t,s,r;this.heartbeatTicker&&this.heartbeatTicker.stop();const n=null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.heartbeatInterval)&&void 0!==t?t:this.heartbeatInterval,o=()=>(0,i.sH)(this,void 0,void 0,function*(){var e,t,s;if(!this.isConnected)return;const i=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);let r;(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(i);try{r=yield this.send(i,!0,{timeout:n})}catch(e){return void U.v.debug("Heartbeat ping got no pong: ",e)}this.user.isAuthenticated&&!r.IS_AUTHENTICATED&&this.handleExpiredSession().catch(e=>U.v.debug("Could not refresh the expired session: ",e)),(null===(s=this.connectOptions)||void 0===s?void 0:s.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(r),this.heartbeatIsEnabled=r.MESSAGE_TYPE===H.Go.HEARTBEAT_PONG&&r.SOURCE_REF===i.SOURCE_REF});(null!==(r=null===(s=this.connectOptions)||void 0===s?void 0:s.enableHeartbeat)&&void 0!==r?r:this.heartbeatIsEnabled)&&(this.heartbeatTicker=new X(n),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&U.v.debug(`Sending a heartbeat ping every ${n} ms`))}))}reconnect(){var e,t,s,i,r;const n=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||n)return;this.status.isReconnecting=!0;const o=(null===(s=this.reconnectOptions)||void 0===s?void 0:s.reconnectStrategy)===q.Exponential?W:V;let a;const c=new Promise(e=>{a=e});this.reconnectOutcome=c;const d=this.isConnectedSubject.asObservable().pipe((0,A.n)(e=>e?(0,g.of)(-1):((e,t)=>new l.c(s=>{let i,r=0;return function n(){s.next(r),s.closed||(clearTimeout(i),i=setTimeout(n,t(e,r)),r+=1)}(),()=>{clearTimeout(i)}}))(this.reconnectOptions,o).pipe((0,v.p)((e,t)=>{var s,i,r;const n=(null===(s=this.connectOptions)||void 0===s?void 0:s.alwaysOn)?t+1:null!==(r=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==r?r:10;return t>=n?(this.status.reconnectionLimitReached=!0,(0,u.$)(()=>new Error(`Max reconnect attempts ${n} reached.`))):e>0&&this.user.isAuthenticated&&this.usesCookieAuth?(0,E.H)(this.refreshSessionBeforeReconnect()).pipe((0,S.T)(()=>t)):(0,g.of)(t)}))),(0,R.v)(()=>this.websocket&&!this.isConnected),(0,p.j)(()=>{this.reconnectOutcome===c&&(this.reconnectOutcome=void 0),a(this.isConnected)}));this.reconnectLoop=d.subscribe(null!==(r=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectObserver)&&void 0!==r?r:{next:e=>{U.v.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;U.v.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{U.v.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}refreshSessionBeforeReconnect(){return(0,i.sH)(this,void 0,void 0,function*(){const e=AbortSignal.timeout(this.sessionCheckTimeout),t=yield Promise.race([(0,x.$G)({reloadOnFailure:!1,signal:e}),Z(e)]).catch(e=>{U.v.debug("Could not check the session before reconnecting: ",e)});if(t===x.vE.FAILED)throw this.reloadPage(),new Error("Session expired and could not be refreshed.");t===x.vE.HANDLED_BY_OTHER_TAB&&(yield(0,x.Lj)(e))})}reloadPage(){window.location.reload()}reset(){var e,t;this.status.isConnected=!1,this.status.isConfigured=!1,this.status.isReconnecting=!1,null===(e=this.reconnectLoop)||void 0===e||e.unsubscribe(),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.websocket&&this.websocket.complete(),this.websocket=null,this.attempt=void 0,this.connection=void 0,this.cleanMessages()}cleanMessages(){this.rejectPendingRequests(),this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new J,this.wsMessageHandlers=new Map,this.scdbDecoder.clear()}rejectPendingRequests(e=new F.K_("WebSocket connection closed before a reply arrived")){var t;null===(t=this.wsMessageHandlers)||void 0===t||t.forEach((t,s)=>{t.isSubscription||(this.wsMessageHandlers.delete(s),t.onReceivedError.call(this,e))})}send(e,t=!0,s){var i,r;const n=(0,j.nx)(null==s?void 0:s.signal);if(n)return n;if(!this.isConnected)return Promise.reject(new F.K_("WebSocket connection is closed"));const o=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,o),this.scdbDecoder.prepareRequest(e);const a=new Promise((s,i)=>{t&&this.setMessageHandler(e,s,i),this.websocket.next(e)});return t?(0,j.fb)(a,{timeout:null!==(i=null==s?void 0:s.timeout)&&void 0!==i?i:null===(r=this.connectOptions)||void 0===r?void 0:r.requestTimeout,signal:null==s?void 0:s.signal},()=>this.removeMessageHandler(e.SOURCE_REF)):a}sendForStream(e,t,s,i){if(!this.isConnected)return(0,u.$)(()=>new F.K_("WebSocket connection is closed"));const r=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,r),this.scdbDecoder.prepareRequest(e),this.setMessageHandler(e,t,s,!0);let n=!1,o=!1;return c.DOM.queueUpdate(()=>{o||(n=!0,this.websocket.next(e))}),new l.c(t=>{const s=this.wsMessages.pipe((0,f.p)(t=>t.SOURCE_REF===e.SOURCE_REF)).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}});return()=>{o=!0,s.unsubscribe(),n&&this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),i&&i()}})}sendForStreamWithoutTeardown(e,t,s){if(!this.isConnected)return(0,u.$)(()=>new F.K_("WebSocket connection is closed"));const i=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,i),this.scdbDecoder.prepareRequest(e),this.setMessageHandler(e,t,s,!0),this.websocket.next(e),this.wsMessages.pipe((0,f.p)(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,s,i=!1){const r=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.debug,r),this.wsMessageHandlers.set(e.SOURCE_REF,new z(e,t,s,i))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1).catch(t=>U.v.debug(`DATA_LOGOFF not sent for SourceRef: ${e}`,t))}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}setScdbMetadataRefresher(e){this.scdbDecoder.setMetadataRefresher(e)}ensureScdbWasm(){this.scdbWasmRequested||(this.scdbWasmRequested=!0,L().then(e=>this.scdbDecoder.setWasm(e)).catch(e=>U.v.warn("SCDB WASM decoder unavailable, using pure-JS decoder",e)))}getMessageHandler(e,t){const s=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,U.v.debug,s),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,s){switch(e){case H.Gp.DATA_LOGOFF:t(s);break;case H.Go.HEARTBEAT_PING:case H.Go.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(s);break;default:this.messageLoggingIsEnabled&&t(s)}}};(0,i.Cg)([c.observable],ee.prototype,"websocket",void 0),(0,i.Cg)([c.observable],ee.prototype,"wsMessages",void 0),(0,i.Cg)([c.observable],ee.prototype,"wsMessageHandlers",void 0),(0,i.Cg)([P.l],ee.prototype,"http",void 0),(0,i.Cg)([w.G],ee.prototype,"metaCache",void 0),(0,i.Cg)([c.observable],ee.prototype,"heartbeatIsEnabled",void 0),ee=(0,i.Cg)([(0,i.Qj)(0,H.lT),(0,i.Qj)(1,D.N),(0,i.Qj)(2,o.b_),(0,i.Qj)(3,a.k),(0,i.Qj)(4,K.S5),(0,i.Qj)(5,r.KJ),(0,i.Qj)(6,G.R)],ee);const te=d.DI.createInterface(e=>e.singleton(ee));function se(){return d.DI.getOrCreateDOMContainer().get(te)}},5709(e,t,s){s.d(t,{S5:()=>d});var i=s(55823),r=s(92277),n=s(33681),o=s(38370),a=s(97156);class c{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new a.t(this.isConnected)}get hasValidSession(){return this.user.isAuthenticated}get isDisconnected(){return!this.isConnected}get isDisconnectedByServer(){return void 0!==this.closedClean&&!this.closedClean}isConnectedChanged(){var e;this.isConnected&&this.resetClosedState(),this.isConnecting=!1,this.isReconnecting=!1,null===(e=this.isConnectedSubject)||void 0===e||e.next(this.isConnected)}isReconnectingChanged(){this.isReconnecting&&(this.reconnectionLimitReached=!1)}resetClosedState(){this.closedCode=void 0,this.closedReason=void 0,this.closedClean=void 0}serialize(){return{isConfigured:this.isConfigured,isConnecting:this.isConnecting,isConnected:this.isConnected,isDisconnected:this.isDisconnected,isDisconnectedByServer:this.isDisconnectedByServer,isReconnecting:this.isReconnecting,reconnectionLimitReached:this.reconnectionLimitReached,hasValidSession:this.hasValidSession,closedCode:this.closedCode,closedReason:this.closedReason,closedClean:this.closedClean}}onClose(e){this.isConnected=!1,this.closedCode=e.code,this.closedReason=e.reason,this.closedClean=e.wasClean}}(0,i.Cg)([n.observable],c.prototype,"isConfigured",void 0),(0,i.Cg)([n.observable],c.prototype,"isConnecting",void 0),(0,i.Cg)([n.observable],c.prototype,"isConnected",void 0),(0,i.Cg)([n.observable],c.prototype,"isReconnecting",void 0),(0,i.Cg)([n.observable],c.prototype,"reconnectionLimitReached",void 0),(0,i.Cg)([n.observable],c.prototype,"closedCode",void 0),(0,i.Cg)([n.observable],c.prototype,"closedReason",void 0),(0,i.Cg)([n.observable],c.prototype,"closedClean",void 0),(0,i.Cg)([r.KJ],c.prototype,"user",void 0);const d=o.DI.createInterface(e=>e.singleton(c))},34193(e,t,s){s.d(t,{d:()=>r});var i=s(17465);function r(e,t="ROW_REF"){const s=e=>{var s;const i=null!==(s=e.DETAILS[t])&&void 0!==s?s:e[t],r=Object.assign(Object.assign({},e),{[t]:i});return delete r.DETAILS,r},r=[],n=[],o=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":r.push(s(t));break;case"MODIFY":o.push(s(t));break;case"DELETE":n.push(s(t));break;default:i.v.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:r,deletes:n,updates:o,SOURCE_REF:e.SOURCE_REF}}},6884(e,t,s){s.d(t,{aB:()=>h,OD:()=>c});var i=s(38370);function r(e,t){const s=new Date(e),i=s.getUTCFullYear(),r=String(s.getUTCMonth()+1).padStart(2,"0"),n=String(s.getUTCDate()).padStart(2,"0");if(t)return`${i}${r}${n}`;return`${i}${r}${n}-${String(s.getUTCHours()).padStart(2,"0")}:${String(s.getUTCMinutes()).padStart(2,"0")}`}const n={n:"\n",r:"\r",t:"\t",b:"\b",f:"\f"};function o(e){const t=e.trim(),s=/^(['"])([\s\S]*)\1$/.exec(t);return s?s[2].replace(/\\([\s\S])/g,(e,t)=>{var s;return null!==(s=n[t])&&void 0!==s?s:t}):t}var a=s(34193);class c{}c.MAX_ROWS_250=250,c.MAX_VIEW_1000=1e3,c.REQ_REP_POLLING_INTERVAL_MS=1e4,c.DATASERVER_ROW_ID="ROW_REF",c.REQUEST_SERVER_ROW_ID="RECORD_ID",c.DEFAULT_PAGINATION_PAGE_SIZE=25,c.DEFAULT_REQ_REP_OFFSET=0;const d={options:{criteria:"",isSnapshot:!1,maxRows:c.MAX_ROWS_250,maxView:c.MAX_VIEW_1000,pollingInterval:c.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1,pollTriggerEvents:[]},criteriaToFields:function(e){if(!e)return{};const t=e.split("&&").map(e=>e.trim()),s={};return t.forEach(e=>{if(e)if(e.startsWith("Expr"))!function(e,t){const s=e.match(/Expr\.(\w+)\(/);if(s)switch(s[1]){case"dateIsToday":{const s=/Expr\.dateIsToday\((\w+)\)/,i=e.match(s);if(i){const[,e]=i,s=new Date;t[`${e}_FROM`]=`${s.toISOString().replace(/-/g,"").split("T")[0]}-00:00`,s.setDate(s.getDate()+1),t[`${e}_TO`]=`${s.toISOString().replace(/-/g,"").split("T")[0]}-00:00`}break}case"dateTimeIsGreaterEqual":{const s=/Expr\.dateTimeIsGreaterEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_FROM`]=o(s)}break}case"dateTimeIsLessEqual":{const s=/Expr\.dateTimeIsLessEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_TO`]=o(s)}break}case"dateIsGreaterEqual":{const s=/Expr\.dateIsGreaterEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_FROM`]=o(s)}break}case"dateIsLessEqual":{const s=/Expr\.dateIsLessEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_TO`]=o(s)}break}case"containsIgnoreCase":{const s=/Expr\.containsIgnoreCase\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[e]=`*${o(s)}*`}break}}}(e,s);else if(/[A-Z_]+\s*(>=|<=)\s*\d+/.test(e)){const t=e.match(/([A-Z_]+)\s*>=\s*(\d+)/);if(t){const[,e,i]=t,n=parseInt(i,10),o=e.toUpperCase(),a=o.includes("DATE")&&!o.includes("DATETIME");s[`${e}_FROM`]=r(n,a)}const i=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(i){const[,e,t]=i,n=parseInt(t,10),o=e.toUpperCase(),a=o.includes("DATE")&&!o.includes("DATETIME");s[`${e}_TO`]=r(n,a)}}else!function(e,t){const s=e.indexOf("=");t[e.substr(0,s).trim().replace(/["']/g,"")]=o(e.slice(s).replace(/^==?/,""))}(e,s)}),s},dataServerResultFilter:a.d},h=i.DI.createInterface(e=>e.instance(d))},49964(e,t,s){s.d(t,{oy:()=>C,yW:()=>T});var i=s(55823),r=s(33681),n=s(38370),o=s(50049),a=s(8790),c=s(1762),d=s(51046),h=s(65052),l=s(84190),u=s(66640),E=s(40113),g=s(36716),A=s(24669),v=s(48707),S=s(87917),R=s(17465),p=s(56093),f=s(6884),I=s(39087);let m=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,s,i,r){this.connect=e,this.auth=t,this.resources=s,this.config=i,this.connectEvents=r,this.fetchMetadataRequired=!0,this.startStreamRequired=!0,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.readOnly=!0,this._allParams=null,this.generation=0,this.pollTrigger$=new o.B}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return R.v.deprecated("Datasource.validResourceName","Use `GenesisResources.isValidResource` instead."),!!e&&!!e.trim().length}init(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=this.fetchMetadataRequired,s=this.startStreamRequired){const i=this.generation+=1,r=this.initialise(i,e,t,s).catch(t=>{if(i===this.generation)throw t;return R.v.debug(`${null==e?void 0:e.resourceName} datasource initialisation failed after it was superseded:`,t),this.interruptedInit(null==e?void 0:e.resourceName)});return this.latestInit={generation:i,result:r},r})}initialise(e,t,s,r){return(0,i.sH)(this,void 0,void 0,function*(){this.fetchMetadataRequired=s,this.options=Object.assign(Object.assign({},this.config.options),t),this.invalidateCache();const{resourceName:i}=this.options,n=()=>e!==this.generation,a=this.connect.isConnected||(yield this.connect.connect(this.connect.host));if(n())return this.interruptedInit(i);if(!a)return R.v.error(`Unable to connect to ${this.connect.host} to get ${i} datasource`),this.reportStatus(),!1;const c=yield this.resources.isValidResource(i);if(n())return this.interruptedInit(i);if(!c)return R.v.error(`${i} datasource does not exist on ${this.connect.host}`),this.reportStatus(),!1;const d=yield this.resources.getResourceTypeFor(i);if(n())return this.interruptedInit(i);if(this.resourceType=d,!this.resourceType)return R.v.error(`Unable to get the resource type for ${i} datasource from ${this.connect.host}`),this.reportStatus(),!1;if(this.fetchMetadataRequired){if(yield this.fetchAndApplyMetadata(i),n())return this.interruptedInit(i);this._allParams=null}return R.v.debug(`Initializing ${i} datasource from ${this.connect.host}`),!this.options.isSnapshot&&r&&(this.pollTrigger$=new o.B,this.stream=this.createStream()),R.v.debug(`${i} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized})}startStream(){return(0,i.sH)(this,void 0,void 0,function*(){this.options.isSnapshot||void 0!==this.stream||(this.stream=this.createStream())})}destroy(){var e,t;R.v.debug("Datasource.destroy",null===(e=this.options)||void 0===e?void 0:e.resourceName),this.generation+=1,this.commitResponseUnsubscribe&&(this.commitResponseUnsubscribe(),this.commitResponseUnsubscribe=void 0),null===(t=this.pollTrigger$)||void 0===t||t.complete(),this.status=void 0,this.fetchMetadataRequired=!0,this.options={},this.resourceType=void 0,this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.stream=void 0}get allResourceParams(){var e;if(this._allParams)return this._allParams;let t;if(this.options.orderBy)if(this.criteriaOnlyRequest||(null===(e=this.availableIndexes)||void 0===e?void 0:e.findIndex(e=>e.NAME===this.options.orderBy))>-1)t=this.options.orderBy;else{const e=this.availableIndexes.map(e=>e.NAME);R.v.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:",e)}return this._allParams={CRITERIA_MATCH:this.options.criteria,MAX_ROWS:this.options.maxRows,ORDER_BY:t,VIEW_NUMBER:this.options.viewNumber,FIELDS:this.options.fields,MAX_VIEW:this.options.maxView,MOVING_VIEW:this.options.movingView,REVERSE:this.options.reverse,ENCODING:this.options.encoding,DISABLE_POLLING:this.options.disablePolling,OFFSET:this.options.offset,POLLING_INTERVAL:this.options.pollingInterval,REQUEST:this.options.request},R.v.debug("Getting configured params:",this._allParams),this._allParams}get dataserverOnlyParams(){return{CRITERIA_MATCH:this.allResourceParams.CRITERIA_MATCH,MAX_ROWS:this.allResourceParams.MAX_ROWS,VIEW_NUMBER:this.allResourceParams.VIEW_NUMBER,FIELDS:this.allResourceParams.FIELDS,MAX_VIEW:this.allResourceParams.MAX_VIEW,MOVING_VIEW:this.allResourceParams.MOVING_VIEW,ORDER_BY:this.allResourceParams.ORDER_BY,REVERSE:this.allResourceParams.REVERSE,ENCODING:this.allResourceParams.ENCODING}}get requestOnlyParams(){const e=this.allResourceParams,{REQUEST:t}=e,s=(0,i.Tt)(e,["REQUEST"]);return{DETAILS:{CRITERIA_MATCH:this.options.requestAutoSetup?void 0:s.CRITERIA_MATCH,MAX_ROWS:s.MAX_ROWS,OFFSET:s.OFFSET,ORDER_BY:s.ORDER_BY,VIEW_NUMBER:s.VIEW_NUMBER,ENCODING:s.ENCODING},REQUEST:this.criteriaOnlyRequest?{}:null!=t?t:this.buildRequestFields()}}buildRequestFields(){if(!this.options.requestAutoSetup)return{};const e=Object.fromEntries(this.requestFields.map(e=>[e.NAME,"*"])),t=this.options.criteria?this.config.criteriaToFields(this.options.criteria):{};return Object.assign(Object.assign({},e),t)}updateLoadMoreCount(e){this.loadMoreCount=e}snapshot(e){return(0,i.sH)(this,void 0,void 0,function*(){switch(R.v.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case I.v.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case I.v.REQUEST_SERVER:return this.connect.request(this.options.resourceName,Object.assign(Object.assign({},this.requestOnlyParams),e));default:throw new Error(`Snapshot not supported for selected resource type: ${this.resourceType}`)}})}snapshotFiltered(){return(0,i.sH)(this,arguments,void 0,function*(e="ROW_REF"){const t=yield this.snapshot();return Array.isArray(t)?t:t.REPLY?t.REPLY:t.ROW?this.config.dataServerResultFilter(t,e).inserts:void 0})}createStream(){if(![I.v.DATASERVER,I.v.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===I.v.DATASERVER?this.createDataserverStream():(R.v.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())}createDataserverStream(){const{resourceName:e}=this.options;return this.connect.stream(e,e=>{},t=>R.v.error((0,p.O)(`${e} stream failed`,t),t),this.dataserverOnlyParams)}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:s,response:i}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(s)&&(null===(t=i.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(R.v.debug(`Received commit response for ${s}, triggering poll.`),this.triggerPoll())});const e=this.allResourceParams.DISABLE_POLLING?void 0:this.allResourceParams.POLLING_INTERVAL,t=()=>{const e=this.requestOnlyParams;if(this.resourceType===I.v.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,s=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=s}return(0,a.z)([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe((0,u.v)(()=>this.connect.isConnected&&this.auth.isLoggedIn),(0,l.n)(()=>(0,c.H)(this.snapshot(e))))};return e?this.pollTrigger$.pipe((0,h.Z)(0),(0,l.n)(()=>(0,d.O)(0,e).pipe((0,l.n)(t)))):this.pollTrigger$.pipe((0,h.Z)(0),(0,l.n)(t))}fetchAndApplyMetadata(e){return(0,i.sH)(this,void 0,void 0,function*(){var t,s,i,r;const n=this.generation;try{R.v.debug(`Requesting metadata for ${e} Datasource`);const o=yield this.connect.getMetadata(e);if(n!==this.generation)return;o&&(this.availableIndexes=null!==(t=o.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(s=o.SORTABLE_FIELDS)&&void 0!==s?s:[],this.availableCriteriaFields=null!==(i=o.CRITERIA_FIELDS)&&void 0!==i?i:[],this.originalFieldDef=(0,v.a)(o),this.fieldMetadata=(0,v.X)(this.originalFieldDef),this.requestFields=o.REQUEST_FIELD||[],this.customRequestFields=o.FIELD||[],this.criteriaOnlyRequest=o.CRITERIA_ONLY_REQUEST||!1,this.fetchMetadataRequired=!1),this.status=this.normaliseStatus({isInitialized:!0,metadataRequired:!0,hasMetadata:(null===(r=this.fieldMetadata)||void 0===r?void 0:r.length)>0})}catch(t){if(n!==this.generation)return void R.v.debug(`Metadata Fetch for ${e} failed after it was superseded:`,t);R.v.error((0,p.O)(`Metadata Fetch failed for ${e}:`,t),t),this.status=this.normaliseStatus({isInitialized:!1,metadataRequired:!0,hasMetadata:!1})}})}reportStatus(e={}){var t;const s=null!==(t=this.config.eventEmitter)&&void 0!==t?t:document;this.status=this.normaliseStatus(e),R.v.debug(`Dispatching '${I.w}'`,this.status),null==s||s.dispatchEvent(new CustomEvent(I.w,{detail:this.status,bubbles:s!==document,composed:!0}))}normaliseStatus(e){var t,s,i,r,n;const o=null!==(t=e.isInitialized)&&void 0!==t?t:this.initialized,a=null!==(s=e.metadataRequired)&&void 0!==s?s:this.fetchMetadataRequired,c=null!==(i=e.hasMetadata)&&void 0!==i?i:(null===(r=this.fieldMetadata)||void 0===r?void 0:r.length)>0;return{name:null===(n=this.options)||void 0===n?void 0:n.resourceName,type:this.resourceType,isInitialized:o,metadataRequired:a,hasMetadata:c}}invalidateCache(){this._allParams=null}interruptedInit(e){R.v.debug(`${e} datasource initialisation was superseded`);const t=this.latestInit;return!(!t||t.generation!==this.generation)&&t.result}};(0,i.Cg)([r.observable],m.prototype,"status",void 0),(0,i.Cg)([r.observable],m.prototype,"fetchMetadataRequired",void 0),(0,i.Cg)([r.observable],m.prototype,"startStreamRequired",void 0),(0,i.Cg)([r.observable],m.prototype,"originalFieldDef",void 0),(0,i.Cg)([r.observable],m.prototype,"fieldMetadata",void 0),(0,i.Cg)([r.observable],m.prototype,"requestFields",void 0),(0,i.Cg)([r.observable],m.prototype,"customRequestFields",void 0),(0,i.Cg)([r.observable],m.prototype,"availableIndexes",void 0),(0,i.Cg)([r.observable],m.prototype,"availableSortableFields",void 0),(0,i.Cg)([r.observable],m.prototype,"availableCriteriaFields",void 0),(0,i.Cg)([r.observable],m.prototype,"criteriaOnlyRequest",void 0),(0,i.Cg)([r.observable],m.prototype,"loadMoreCount",void 0),(0,i.Cg)([r.observable],m.prototype,"readOnly",void 0),(0,i.Cg)([r.observable],m.prototype,"stream",void 0),m=(0,i.Cg)([(0,i.Qj)(0,g.dm),(0,i.Qj)(1,E.N),(0,i.Qj)(2,S.ME),(0,i.Qj)(3,f.aB),(0,i.Qj)(4,A.a4)],m);const T=n.DI.createInterface(e=>e.transient(m));function C(){return n.DI.getOrCreateDOMContainer().get(T)}},39087(e,t,s){var i;s.d(t,{v:()=>i,w:()=>r}),function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(i||(i={}));const r="datasource-status-changed"},34127(e,t,s){function i(e){var t;if("function"==typeof atob){const t=atob(e),s=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)s[e]=t.charCodeAt(e);return s}const s=null===(t=globalThis.Buffer)||void 0===t?void 0:t.from(e,"base64");return s?Uint8Array.from(s):new Uint8Array(0)}s.d(t,{K:()=>i})},67230(e,t,s){s.d(t,{E0:()=>g,V$:()=>E});const i=[83,67,68,49],r=["INSERT","MODIFY","DELETE"],n=BigInt(1),o=BigInt(Number.MAX_SAFE_INTEGER),a=-o,c=new TextDecoder;function d(e,t){return 1==(e[t>>3]>>(7&t)&1)}function h(e){return e+7>>3}class l{constructor(e){this.bytes=e,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}byte(){return this.bytes[this.pos++]}slice(e){const t=this.bytes.subarray(this.pos,this.pos+e);return this.pos+=e,t}uvarint(){let e=0,t=0;for(;;){const s=this.byte();if(t<28?e|=(127&s)<<t:e+=(127&s)*Math.pow(2,t),!(128&s))return e>>>0;t+=7}}zigzag(){let e=0,t=0,s=null;for(;;){const i=this.byte();if(t<49?e+=(127&i)*Math.pow(2,t):(null===s&&(s=BigInt(e)),s+=BigInt(127&i)<<BigInt(t)),t+=7,!(128&i))break}if(null===s)return e%2?-(e+1)/2:e/2;const i=s>>n^-(s&n);return i>=a&&i<=o?Number(i):i}doubleBE(){const e=this.view.getFloat64(this.pos,!1);return this.pos+=8,e}string(){const e=this.uvarint(),t=this.bytes,s=this.pos,i=s+e;this.pos=i;for(let e=s;e<i;e++)if(t[e]>=128)return c.decode(t.subarray(s,i));if(e<=4096)return String.fromCharCode.apply(null,t.subarray(s,i));let r="";for(let e=s;e<i;e+=4096)r+=String.fromCharCode.apply(null,t.subarray(e,Math.min(i,e+4096)));return r}}function u(e){const t=e.byte();switch(t){case 0:case 6:return e.string();case 1:case 2:case 5:case 8:return e.zigzag();case 3:return e.doubleBE();case 4:return 0!==e.byte();case 7:return e.slice(e.uvarint());case 9:return null;default:throw new Error(`Unknown SCDB value tag ${t}`)}}function E(e,t){const s=A(e),i=s.byte(),r=s.uvarint(),n=v(s,r),o=S(s,r,i),a=new Array(r);for(let e=0;e<r;e++)a[e]={DETAILS:{OPERATION:o[e],ROW_REF:n[e]}};return R(s,r,t,a),a}function g(e){for(let t=0;t<i.length;t++)if(e[t]!==i[t])throw new Error("Not an SCDB block (bad magic)")}function A(e){g(e);const t=new l(e);return t.pos=i.length,t}function v(e,t){const s=new Array(t);for(let i=0;i<t;i++)s[i]=e.string();return s}function S(e,t,s){const i=new Array(t);if(2&s){const s=r[e.byte()];for(let e=0;e<t;e++)i[e]=s;return i}const n=e.slice(h(2*t));for(let e=0;e<t;e++){const t=d(n,2*e)?1:0,s=d(n,2*e+1)?2:0;i[e]=r[t|s]}return i}function R(e,t,s,i){const r=e.uvarint();for(let n=0;n<r;n++){const r=e.uvarint(),n=s[r];if(void 0===n)throw new Error(`Unknown SCDB column id ${r}`);const c=e.byte(),l=!!(1&e.byte()),E=l?null:e.slice(h(t));if(1===c){const s=e.uvarint(),r=new Array(s);for(let t=0;t<s;t++)r[t]=e.string();for(let s=0;s<t;s++)if(l||d(E,s)){const t=e.uvarint();i[s][n]=0===t?null:r[t-1]}}else if(2===c){let s=0;if(2===e.byte()){let r=BigInt(0);for(let c=0;c<t;c++)if(l||d(E,c)){const t=e.zigzag(),d="bigint"==typeof t?t:BigInt(t);r=s>0?r+d:d,i[c][n]=r>=a&&r<=o?Number(r):r,s++}}else{let r=0;for(let o=0;o<t;o++)if(l||d(E,o)){const t=e.zigzag();r=s>0?r+Number(t):Number(t),i[o][n]=r,s++}}}else for(let s=0;s<t;s++)(l||d(E,s))&&(i[s][n]=u(e))}}},4348(e,t,s){s.d(t,{G:()=>n});var i=s(38370);class r{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null,this.cachedRequests=new Map}getMetadataFor(e){return this.cachedMetadata.get(e)}getJsonSchemaFor(e){return this.cachedJsonSchema.get(e)}getResources(){return this.cachedResources}hasMetadataFor(e){return this.cachedMetadata.has(e)}hasJsonSchemaFor(e){return this.cachedJsonSchema.has(e)}hasResources(){return null!==this.cachedResources}setMetadataFor(e,t){this.cachedMetadata.set(e,t)}setJsonSchemaFor(e,t){this.cachedJsonSchema.set(e,t)}setResources(e){this.cachedResources=e}getRequestFor(e){return this.cachedRequests.get(e)}hasRequestFor(e){return this.cachedRequests.has(e)}setRequestFor(e,t){this.cachedRequests.set(e,t)}}const n=i.DI.createInterface(e=>e.singleton(r))},41119(e,t,s){var i;s.d(t,{v:()=>r,w:()=>i}),function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.ENUM="ENUM",e.DATE="DATE",e.DATETIME="DATETIME",e.CUSTOM="CUSTOM",e.NANO_TIMESTAMP="NANO_TIMESTAMP"}(i||(i={}));const r={STRING:i.STRING,ENUM:i.ENUM,BOOLEAN:i.BOOLEAN,INT:i.NUMBER,LONG:i.NUMBER,DOUBLE:i.NUMBER,BIGDECIMAL:i.NUMBER,DATE:i.DATE,DATETIME:i.DATETIME,NANO_TIMESTAMP:i.NANO_TIMESTAMP}},48707(e,t,s){s.d(t,{X:()=>o,a:()=>a});var i=s(39087),r=s(17465),n=s(41119);const o=e=>e?e.map(e=>{const t={name:e.NAME,type:n.v[e.TYPE]||n.w.STRING};if(e.TYPE===n.w.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){r.v.error(e),t.enumOptions=[]}return t}):null,a=e=>{var t;const s=null==e?void 0:e.TYPE;if(s===i.v.DATASERVER)return e.FIELD||[];if(s===i.v.REQUEST_SERVER)return e.REPLY_FIELD||(null===(t=e.REPLY)||void 0===t?void 0:t.FIELD)||[];throw new Error(`Unsupported resource type: ${s}`)}},87917(e,t,s){s.d(t,{ME:()=>u});var i=s(55823),r=s(38370),n=s(36716),o=s(17465),a=s(79780);const c={throwWhenUnavailable:!0,throwWhenUnknown:!1},d=r.DI.createInterface(e=>e.instance(c)),h=(0,a.Es)("genesis-resources");let l=class{constructor(e,t){this.connect=e,this.config=t}isValidResource(e){return(0,i.sH)(this,void 0,void 0,function*(){if(!(e=null==e?void 0:e.trim()))return!1;yield this.fetchResources();return!!this.resources.find(t=>t.RESOURCE_NAME===e)})}getResourceTypeFor(e){return(0,i.sH)(this,void 0,void 0,function*(){yield this.fetchResources();const t=this.resources.find(t=>t.RESOURCE_NAME===e);if(t)return t.RESOURCE_TYPE;const s=`${e} resource does not exist.`;if(o.v.error(s),this.config.throwWhenUnknown)throw new Error(s)})}getAllResources(){return(0,i.sH)(this,void 0,void 0,function*(){return this.resources||(yield this.fetchResources()),this.resources})}destroy(){this.resources=void 0,this.resourcesPromise=void 0}fetchResources(){return(0,i.sH)(this,void 0,void 0,function*(){var e;if(this.resources)return Promise.resolve();if(this.resourcesPromise)yield this.resourcesPromise;else{this.resourcesPromise=this.connect.getAvailableResources();const t=yield this.resourcesPromise;if(this.resources=null==t?void 0:t.RESOURCES,!(null===(e=this.resources)||void 0===e?void 0:e.length)){const e="Genesis resources unavailable.";if(o.v.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=r.DI.getOrCreateDOMContainer().get(h);e.postMessage("resources-loaded",this.resources),e.close()}};l=(0,i.Cg)([(0,i.Qj)(0,n.dm),(0,i.Qj)(1,d)],l);const u=r.DI.createInterface(e=>e.singleton(l))},98316(e,t,s){s.d(t,{N:()=>n});var i=s(38370);class r{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach(e=>this.removeSessionStorageItem(e)),this.removeLocalStorageItem("refreshToken")}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){var t;this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID),(null===(t=e.DETAILS)||void 0===t?void 0:t.MFA_CODE)&&this.setSessionStorageItem("mfaToken",e.DETAILS.MFA_CODE)}captureReturnUrl(){const{pathname:e,search:t,hash:s}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const i=`${"/"!==e?e:""}`;this.returnUrl=`${i}${t}${s}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,s){"local"===s?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const n=i.DI.createInterface(e=>e.singleton(r))},56093(e,t,s){s.d(t,{O:()=>i});const i=(e,t)=>{const s=(e=>{var t,s;const i=e,r=null!==(s=null!==(t=null==i?void 0:i.receivedMessage)&&void 0!==t?t:null==i?void 0:i.body)&&void 0!==s?s:e,n=null==r?void 0:r.ERROR,o=Array.isArray(n)?n[0]:e,a=null==o?void 0:o.CODE;return"string"==typeof a||"number"==typeof a?String(a):void 0})(t);return void 0===s?e:`${e} [${s}]`}},17465(e,t,s){s.d(t,{v:()=>i});const i=(0,s(66506).createLogger)("foundation-comms")},14609(e,t,s){s.d(t,{b:()=>o});const i=(0,s(66506).createLogger)("foundation-criteria");var r=s(86636);const n="default";class o{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,r.r.And()),this.Or=(e,t={})=>this.withExpression(e,t,r.r.Or()),this.Not=(e,t={})=>this.withExpression(e,t,r.r.Not())}withExpression(e,t={},s=r.r.And()){const{condition:o,join:a,groupName:c}=t,d=(e,t=n)=>{var i;const r=null!==(i=this.expressions[t])&&void 0!==i?i:[];this.expressions[t]=[...r,{join:s||a,condition:o,expression:e}]};if(Array.isArray(e))if(a){const t=e.filter(e=>{const t=e instanceof r.r;return t&&i.warn("Inline joins will be discarded when join is defined in ExpressionOptions"),!t});if(c)t.forEach(e=>{d(e,c)});else{const e=(h=a,t.flat().flatMap((e,t,s)=>s.length-1!==t?[e,h]:e));d(e,n)}}else d(e,n);else d(e,"string"==typeof e?n:e.group);var h;return this}build(e){const t=Object.entries(this.expressions).reduce((e,[t,s])=>Object.assign(Object.assign({},e),{[t]:`(${s.filter(({condition:e})=>!e||e()).map(({expression:e,join:t},s,i)=>this.parseExpression(e,i[s-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,s){const i=[];return s&&t&&i.push(` ${s.operator} `),"string"==typeof e?i.push(e):Array.isArray(e)?(e.forEach((e,t,s)=>{if(e instanceof r.r){if(s[t-1]instanceof r.r)throw new Error("Adjacent Join operations detected")}}),i.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof r.r?i.push(` ${e.operator} `):e&&i.push(e.serialiser(e)),i.join("")}}},58749(e,t,s){s.d(t,{K:()=>r});var i=s(95553);class r{constructor(e){this.serialiser=i.n.EQ,this.build=()=>{if(!this.field)throw new Error("Missing required param 'field'");if(void 0===this.value)throw new Error("Missing required param 'value'");if(!this.serialiser)throw new Error("Missing required param 'serialise'");return{field:this.field,value:this.value,serialiser:this.serialiser,params:this.params,valueGetter:this.valueGetter,group:this.group}},e&&(this.field=e.field,this.value=e.value,this.serialiser=e.serialiser,this.params=e.params,this.valueGetter=e.valueGetter,this.group=e.group)}withField(e){return this.field=e,this}withValue(e){return this.value=e,this}withSerialiser(e){return this.serialiser=e,this}withParams(e){return this.params=e,this}withValueGetter(e){return this.valueGetter=e,this}withGroup(e){return this.group=e,this}}},95553(e,t,s){s.d(t,{E:()=>r,n:()=>d});var i=s(86636);const r=e=>e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),n=e=>{const{value:t}=e;return e.valueGetter?e.valueGetter(t):"function"==typeof t?t(e):Array.isArray(t)?t.join(","):"string"==typeof t?(e=>`'${r(e)}'`)(t):t},o=e=>t=>`${t.field} ${e} ${n(t)}`,a=e=>o(i.X.NE)(e),c=e=>`${e.field}.contains(${n(e)})`,d={AND:e=>o(i.X.AND)(e),OR:e=>o(i.X.OR)(e),NOT:a,GT:e=>o(i.X.GT)(e),GE:e=>o(i.X.GE)(e),LT:e=>o(i.X.LT)(e),LE:e=>o(i.X.LE)(e),NE:a,EQ:e=>o(i.X.EQ)(e),equals:e=>`${e.field}.equals(${n(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${n(e)})`,contains:c,fieldContains:c,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${n(e)})`,startsWith:e=>`${e.field}.startsWith(${n(e)})`,endsWith:e=>`${e.field}.endsWith(${n(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${n(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${n(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${n(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${n(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${n(e)})`}},86636(e,t,s){var i;s.d(t,{X:()=>i,r:()=>r}),function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(i||(i={}));class r{constructor(e){this.$$operator=e}static And(){return new r(i.AND)}static Or(){return new r(i.OR)}static Not(){return new r(i.NOT)}static GreaterThan(){return new r(i.GT)}static GreaterThanOrEqual(){return new r(i.GE)}static LessThan(){return new r(i.LT)}static LessThanOrEqual(){return new r(i.LE)}static NotEqual(){return new r(i.NE)}static Equal(){return new r(i.EQ)}get operator(){return this.$$operator}}},92277(e,t,s){s.d(t,{KJ:()=>E});var i=s(55823),r=s(17190),n=s(33681),o=s(38370),a=s(79780);const c=(0,s(66506).createLogger)("foundation-user"),d={trackActionExclusions:[],trackPathExclusions:[""],setUser(e,t){if(e.isAuthenticated)throw new Error("User already set. If this is intentional, please call User.unset first.");return c.debug("setUser",t),e.rawProperties=structuredClone(t),e.userKVs=t.userKVs,e.details=t.details,e.permission=t.permission,e.profile=t.profile,e.sourceRef=t.sourceRef,e.userName=t.userName,e.isAuthenticated=!0,e},unsetUser:e=>(c.debug("unsetUser"),e.rawProperties=void 0,e.userKVs=void 0,e.details=void 0,e.permission=void 0,e.profile=void 0,e.sourceRef=void 0,e.userName=void 0,e.isAuthenticated=!1,e)},h=o.DI.createInterface(e=>e.instance(d)),l=(0,a.Es)("genesis-user");class u{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=(0,r.r)()}set(e){return this.config.setUser(this,e)}unset(){return this.config.unsetUser(this)}get isAnonymous(){return!this.isAuthenticated}isAdmin(){return this.hasProfile("ADMIN")}isBanned(){return this.hasProfile("BANNED")}hasPermission(e){return this.hasKey(this.permission,e)}hasProfile(e){return this.hasKey(this.profile,e)}trackPath(){const{pathname:e,search:t,hash:s}=location,i=`${`${"/"!==e?e:""}`}${t}${s}`;if(!this.config.trackPathExclusions.includes(i))return this.pathHistory.push(i),i}clearPaths(){this.pathHistory=[]}lastPath(){const e=this.pathHistory.length;return e>0?this.pathHistory[e-1]:void 0}trackAction(e){this.config.trackActionExclusions.includes(e)||this.actionHistory.push(e)}clearActions(){this.actionHistory=[]}lastAction(){const e=this.actionHistory.length;return e>0?this.actionHistory[e-1]:void 0}clearTrackingHistory(){this.clearPaths(),this.clearActions()}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some(t=>e.includes(t)))}addAuthenticationChangeListener(e){var t;return null===(t=this.authenticationChangeListeners)||void 0===t?void 0:t.subscribe(e)}isAuthenticatedChanged(){var e;null===(e=this.authenticationChangeListeners)||void 0===e||e.publish(new CustomEvent("user-authentication-change",{detail:this.isAuthenticated}));const t=o.DI.getOrCreateDOMContainer().get(l);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){n.Observable.notify(this,"username")}get username(){return n.Observable.track(this,"username"),this.userName}permissionChanged(){n.Observable.notify(this,"permissions")}get permissions(){return n.Observable.track(this,"permissions"),this.permission}profileChanged(){n.Observable.notify(this,"profiles")}get profiles(){return n.Observable.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}(0,i.Cg)([h],u.prototype,"config",void 0),(0,i.Cg)([n.observable],u.prototype,"pathHistory",void 0),(0,i.Cg)([n.observable],u.prototype,"actionHistory",void 0),(0,i.Cg)([n.observable],u.prototype,"isAuthenticated",void 0),(0,i.Cg)([n.observable],u.prototype,"userKVs",void 0),(0,i.Cg)([n.observable],u.prototype,"details",void 0),(0,i.Cg)([n.observable],u.prototype,"permission",void 0),(0,i.Cg)([n.observable],u.prototype,"profile",void 0),(0,i.Cg)([n.observable],u.prototype,"sourceRef",void 0),(0,i.Cg)([n.observable],u.prototype,"userName",void 0),(0,i.Cg)([n.observable],u.prototype,"rawProperties",void 0);const E=o.DI.createInterface(e=>e.singleton(u))},68424(e,t,s){s.d(t,{DW:()=>n,JH:()=>o});var i=s(52945),r=s(28745);function n(e,t){let s=e;for(;s;){const e=s.tagName.toLowerCase();if(e.endsWith("-design-system-provider")){const t=e.split("-design-system-provider")[0];if(t)return r.v.debug(`Found provider by ancestor search: ${e}, prefix: ${t}`),{element:s,prefix:t}}s=s.parentElement?s.parentElement:s.getRootNode&&s.getRootNode()instanceof ShadowRoot?s.getRootNode().host:null}const n=document.querySelectorAll('[class*="-design-system-provider"],[id*="-design-system-provider"]'),o=Array.from(n),a=(0,i.fI)(document).filter(e=>{var t;const s=null===(t=e.tagName)||void 0===t?void 0:t.toLowerCase();return(null==s?void 0:s.endsWith("-design-system-provider"))||!1});if(o.push(...a),o.length>0){const e=o[0],t=e.tagName.toLowerCase(),s=t.split("-design-system-provider")[0];if(s)return r.v.debug(`Found provider by document search: ${t}, prefix: ${s}`),{element:e,prefix:s}}return r.v.debug(`No provider found. Falling back to ${t}.`),{element:null,prefix:t}}function o(e,t){return n(e,t).prefix}},40729(e,t,s){s.d(t,{O:()=>d});var i=s(33681);const r=new Map([["FAST-TEXT-AREA","input"],["FAST-TEXT-FIELD","input"],["FOUNDATION-TEXT-AREA","input"],["FOUNDATION-TEXT-FIELD","input"],["INPUT","input"]]);function n(e){this.keyAttr||(this.target[this.targetName]=e)}function o(e,t){this.keyAttr&&(this.updateTarget=n),this.originalBind.call(this,e,t),this.target.addEventListener(this.changeEvent,this.changeHandler)}function a(){this.originalUnbind.call(this),this.target.removeEventListener(this.changeEvent,this.changeHandler)}class c extends i.HTMLBindingDirective{constructor(e,t,s,i){super(e),this.keyAttr=i,this.conversionType=t,this.eventName=s}createBehavior(e){const t=super.createBehavior(e);return t.originalBind=t.bind,t.originalUnbind=t.unbind,t.keyAttr=this.keyAttr,t.bind=o,t.unbind=a,t.changeEvent=function(e,t){var s;const i=e.tagName;return"default"===t?null!==(s=r.get(i))&&void 0!==s?s:"change":t}(e,this.eventName),t.changeHandler=()=>{const e="boolean"===this.conversionType?t.target.checked:t.target.value;if(this.keyAttr){const s=t.bindingObserver.last,i=t.target[this.keyAttr];s.propertySource[s.propertyName][i]=this.convert(e)}else{const s=t.bindingObserver.last;s.propertySource[s.propertyName]=this.convert(e)}},t}convert(e){if(null==e)return e;switch(this.conversionType){case"time":const t=new Date(e).getTime();return isNaN(t)?void 0:t;case"number":return e.length?Number(e):void 0;case"string":return String(e);case"boolean":return Boolean(e);default:return e}}}function d(e,t="string",s="default",i){return new c(e,t,s,i)}},84686(e,t,s){s.d(t,{Be:()=>S,H6:()=>C,OB:()=>n,PF:()=>o,Tp:()=>a,aW:()=>A,vN:()=>d});var i=s(77679);let r="webpack";try{r="webpack"}catch(e){}let n="/";try{n="auto".replace(/\/$/,"")}catch(e){}let o,a,c="gwf";try{"undefined"!=typeof SOCKET_EXT&&(c=SOCKET_EXT)}catch(e){}try{o=FORCE_HTTP}catch(e){}try{a=FORCE_HTTP_REQREP}catch(e){}const d=`${location.protocol.replace("http","ws")}//${location.host}${n}/${c}/`;let h,l,u,E,g=`${"true"===o||(0,i.m4)("forceHttp")?location.protocol:location.protocol.replace("http","ws")}//${location.host}/${c}/`;try{"undefined"!=typeof API_HOST&&(g=API_HOST)}catch(e){}try{h=""}catch(e){}try{l=DEFAULT_ORGANISATION}catch(e){}try{u=DEFAULT_PASSWORD}catch(e){}try{E=DEFAULT_USER}catch(e){}let A="gwf/event-login-auth";"undefined"!=typeof GENX_LOGIN_URL&&(A=GENX_LOGIN_URL);let v="gwf/event-login-auth";"undefined"!=typeof GENX_LOGIN_REFRESH_URL&&(v=GENX_LOGIN_REFRESH_URL);let S="gwf/event-login-details";"undefined"!=typeof GENX_LOGIN_DETAILS_URL&&(S=GENX_LOGIN_DETAILS_URL);let R="gwf/event-logout";"undefined"!=typeof GENX_LOGOUT_URL&&(R=GENX_LOGOUT_URL);let p="gwf/event-change-user-password";"undefined"!=typeof GENX_CHANGE_PASSWORD_URL&&(p=GENX_CHANGE_PASSWORD_URL);let f="gwf/event-self-service-password-reset";"undefined"!=typeof GENX_FORGOT_PASSWORD_URL&&(f=GENX_FORGOT_PASSWORD_URL);let I="gwf/event-password-reset-action";"undefined"!=typeof GENX_RESET_PASSWORD_URL&&(I=GENX_RESET_PASSWORD_URL);let m="gwf/sso/list";"undefined"!=typeof GENX_SSO_LIST_URL&&(m=GENX_SSO_LIST_URL);let T="gwf/{type}/login?idp={id}";"undefined"!=typeof GENX_SSO_LOGIN_URL&&(T=GENX_SSO_LOGIN_URL);let C="default";"undefined"!=typeof GENX_ENVIRONMENT_LEVEL&&(C=GENX_ENVIRONMENT_LEVEL);let _="gwf/auth/accept-terms";"undefined"!=typeof GENX_ACCEPT_TERMS_URL&&(_=GENX_ACCEPT_TERMS_URL)},77679(e,t,s){s.d(t,{m4:()=>r});const i="feature.",r=e=>((e,t)=>{if(!t)return!1;const s=`${i}${t}`.toLowerCase(),r=new URLSearchParams(e);for(const[e]of r.entries())if(e.toLowerCase()===s)return!0;return!1})(window.location.search,e)},12066(e,t,s){s.d(t,{CL:()=>i,Ey:()=>n,h5:()=>a,zT:()=>r});function i(e){return!e||isNaN(e)?null:new Date(e).toISOString().slice(0,10)}function r(e){return!e||isNaN(e)?null:new Date(e).toISOString().slice(0,19).replace("T"," ")}function n(e,t){return t?r(e):i(e)}const o={year:"numeric",month:"2-digit",day:"2-digit",timeZone:"UTC"};function a(e="en-GB",t=o){return s=>s&&"number"==typeof s.value?new Intl.DateTimeFormat(e,t).format(s.value):""}},17190(e,t,s){s.d(t,{j:()=>r,r:()=>i});const i=()=>{let e=[];return{subscribe:t=>(e.push(t),()=>e=e.filter(e=>e!==t)),publish(t){e.forEach(e=>e(t))}}},r=(e,t)=>{const s={root:document.documentElement},i=new IntersectionObserver(e=>{e.forEach(e=>{t(e.intersectionRatio>0)})},s);return i.observe(e),()=>{i.disconnect()}}},49229(e,t,s){s.d(t,{b_:()=>u});var i=s(55823),r=s(38370),n=s(88474),o=s(52776),a=s(30630);const c=r.DI.createInterface();function d(e){return Number.isSafeInteger(+e)?Number(e):(0,n.Fq)(e)?BigInt.asIntN(64,e):parseFloat(e)}const h={parse:e=>(0,o.qg)(e,null,d),stringify:e=>(0,a.A)(e)};let l=class{constructor(e=h){this.config=e,this.serialize=e=>this.config.stringify(e)}deserialize(e){return e?"string"==typeof e?this.config.parse(e):e&&e.ok?e.text().then(e=>this.config.parse(e)):(e&&e.data&&(e=e.data),this.config.parse(e)):Promise.resolve({})}};l=(0,i.Cg)([(0,i.Qj)(0,(0,r.optional)(c))],l);const u=r.DI.createInterface(e=>e.singleton(l))},20633(e,t,s){s.d(t,{N:()=>i});const i=(...e)=>{var t;null==(t=()=>{e.forEach(e=>{})})||t()}},32808(e,t,s){s.d(t,{k:()=>c});var i=s(55823),r=s(38370),n=s(31261),o=s(28745);class a{constructor(){}createId(e=!1){const t=(0,n.A)();return e&&o.v.debug(`UUID.createID ${t}`),t}createRemoteId(){return(0,i.sH)(this,arguments,void 0,function*(e=!1){const t=(0,n.A)();return e&&o.v.debug(`UUID.createRemoteID ${t}`),t})}}const c=r.DI.createInterface(e=>e.singleton(a))}}]);
|
|
2
|
-
//# sourceMappingURL=226.
|
|
1
|
+
"use strict";(self.webpackChunk_genesislcap_design_system_configurator=self.webpackChunk_genesislcap_design_system_configurator||[]).push([[226],{79780(e,t,s){s.d(t,{Es:()=>n,vp:()=>o});var i=s(38370);class r extends BroadcastChannel{constructor(){super(...arguments),this.postMessage=(...e)=>{const[t,s]=e;super.postMessage({type:t,detail:s})},this.isMessageType=(e,t)=>{var s;return(null===(s=t.data)||void 0===s?void 0:s.type)===e}}}const n=e=>{class t extends r{constructor(){super(e)}}return i.DI.createInterface(e=>e.transient(t))},o=e=>new r(e)},40113(e,t,s){s.d(t,{N:()=>L});var i=s(55823),r=s(92277),n=s(33681),o=s(38370),a=s(97156),c=s(36716),d=s(21281),h=s(10447),l=s(56653),u=s(98316),E=s(17465);const g=o.DI.createInterface();function A(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(E.v.warn("PasswordCredential not available in this browser."),!1):(E.v.warn("CredentialsContainer not available in this browser."),!1)}const v=":";function S(e="",t=v,s){return e.split(t,s).map(e=>e.trim()).filter(e=>""!==e)}function R(e,t=v){const s="string"==typeof e&&e.trim();return!!s&&s.includes(t)}function p(e,t=v){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function f(e,t=v){for(const s of e)if(R(s,t))return s;return e.find(e=>"string"==typeof e&&""!==e.trim())}function I(e,t,s){const i="string"==typeof e&&e.trim();return!i||s&&!i.includes(s)||p(i)>1?s&&t&&s!==t?`${t}:${s}`:t||s:i}function m(e="credential"){E.v.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const T={password:!0,mediation:"optional"},C={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let _=class{constructor(e,t=C){this.session=e,this.config=t}createBasicCredentials(e){return{type:l.h.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,s,i;return{type:l.h.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(s=null==e?void 0:e.refreshToken)&&void 0!==s?s:this.getRefreshToken(),mfaToken:null!==(i=null==e?void 0:e.mfaToken)&&void 0!==i?i:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:l.h.SSO,ssoToken:null!==(t=null==e?void 0:e.ssoToken)&&void 0!==t?t:this.getSSOToken()}}validateBasicCredentials(e){return e&&!!e.username&&!!e.password}validateRefreshCredentials(e){return e&&!!e.refreshToken&&!!e.username}validateSSOCredentials(e){return e&&!!e.ssoToken}validateUserCredentialData(e,t){const s=e&&!!e.id&&!!e.name&&!e.name.includes(v)&&p(e.id)<=1;return t?s&&!!e.password:s}normaliseLegacyCredentialData(e,t){if(this.validateUserCredentialData(e,!0))return[e,!0];if(this.validateUserCredentialData(t))return[t,!1];if(e)try{const t=e,[s]=S(t.name||t.id),[i,r]=S(f([t.id,t.name]));return[{id:I(t.id||t.name,s,r),name:s,password:t.password||""},!0]}catch(e){m("PasswordCredential")}if(t)try{const e=t,[s]=S(e.name||e.username||e.organisation),[i,r]=S(f([e.organisation||e.username||e.name]));return[{id:I(e.id||e.username||e.name,s,r),name:s,password:e.password||""},!1]}catch(e){m("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return(0,i.sH)(this,void 0,void 0,function*(){if(!A())return;const t=new PasswordCredential(e);return E.v.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return(0,i.sH)(this,arguments,void 0,function*(e=T){if(A())return E.v.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)})}storeCredentialsInCookie(e){const{password:t}=e,s=(0,i.Tt)(e,["password"]),r=this.config.cookie.storePasswords?e:s;return E.v.debug("Storing credentials in cookie"),!!h.A.set(this.config.cookie.name,JSON.stringify(r),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){E.v.debug("Getting credentials from cookie");const e=h.A.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return(0,i.sH)(this,void 0,void 0,function*(){if(A()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))})}getCredentials(e){return(0,i.sH)(this,void 0,void 0,function*(){return A()?this.getCredentialsFromContainer(e):Promise.resolve(this.getCredentialsFromCookie())})}getSSOToken(){return this.session.getSessionStorageItem("ssoToken")}getUsername(){return this.session.getSessionStorageItem("username")||this.session.getLocalStorageItem("username")}getRefreshToken(){return this.session.getSessionStorageItem("refreshToken")||this.session.getLocalStorageItem("refreshToken")}getMFAToken(){return this.session.getSessionStorageItem("mfaToken")}removeCookie(){h.A.remove(this.config.cookie.name,{domain:location.hostname,path:this.config.cookie.path})}removeSSOToken(){this.session.removeSessionStorageItem("ssoToken")}removeUsername(){this.session.removeSessionStorageItem("username"),this.session.removeLocalStorageItem("username")}removeRefreshToken(){this.session.removeSessionStorageItem("refreshToken"),this.session.removeLocalStorageItem("refreshToken")}removeMFAToken(){this.session.removeSessionStorageItem("mfaToken")}removeAll(){this.removeCookie(),this.removeSSOToken(),this.removeUsername(),this.removeRefreshToken(),this.removeMFAToken()}preventSilentAccess(){return A()&&navigator.credentials.preventSilentAccess()}};_=(0,i.Cg)([(0,i.Qj)(0,u.N),(0,i.Qj)(1,(0,o.optional)(g))],_);const O=o.DI.createInterface(e=>e.singleton(_));var b=s(56093);const N=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],M=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:i}=e,r=e.UPDATE_QUEUE_DETAILS;return{messageType:e.MESSAGE_TYPE,sourceRef:e.SOURCE_REF,userName:e.USER_NAME,updateQueue:null==r?void 0:r.UPDATE_QUEUE,zeroMqProxyModeEnabled:null==r?void 0:r.ZERO_MQ_PROXY_MODE_ENABLED,zeroMqProxyInboundPort:null==r?void 0:r.ZERO_MQ_PROXY_INBOUND_PORT,zeroMqProxyOutboundPort:null==r?void 0:r.ZERO_MQ_PROXY_OUTBOUND_PORT,userKVs:e.USER,details:i?{system:(s=i.SYSTEM,s?{date:s.DATE}:null),heartbeatIntervalSecs:i.HEARTBEAT_INTERVAL_SECONDS,failedLoginAttempts:i.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:i.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:i.LAST_LOGIN_DATE_TIME,daysToPasswordExpiry:i.DAYS_TO_PASSWORD_EXPIRY,product:(t=i.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:N(e.PERMISSION),profile:N(e.PROFILE)}}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw E.v.error(e),e}var t,s};let y=class{loggedUserResultChanged(){var e;null===(e=this.isLoggedInSubject)||void 0===e||e.next(this.isLoggedIn)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}get isLoggedIn(){return this.currentUser.isAuthenticated}constructor(e,t,s,i,r){this.session=e,this.connect=t,this.messageBuilder=s,this.credentialManager=i,this.currentUser=r,this.isWorking=!1,this.isLoggedInSubject=new a.t(this.isLoggedIn),this.currentUser.addAuthenticationChangeListener(e=>{var t;null===(t=this.isLoggedInSubject)||void 0===t||t.next(e.detail)})}login(e){return(0,i.sH)(this,void 0,void 0,function*(){var t;this.isWorking=!0;try{const s=this.messageBuilder.createLoginMessage(e),i=yield this.connect.send(s);if(!i||i.ERROR||(null===(t=i.DETAILS)||void 0===t?void 0:t.ERROR))throw new l.l(s,i);this.applyAuthResults({authToken:i.SESSION_AUTH_TOKEN,refreshToken:i.REFRESH_AUTH_TOKEN,profiles:i.PROFILE,username:i.USER_NAME,permissions:i.PERMISSION,sessionId:i.SESSION_ID}),this.currentUser.set(M(i)),this.session.setAuthResult(i),E.v.debug("Login Authentication Result:",i)}catch(e){if(E.v.error((0,b.O)("Login Authentication Error:",null==e?void 0:e.received),e),!(e instanceof l.l&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;E.v.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult})}logout(){return(0,i.sH)(this,void 0,void 0,function*(){var e;this.isWorking=!0;let t={success:!1};try{const s=this.messageBuilder.createLogoutMessage(this.loggedUserResult);this.session.deleteUserFromSessionStorage();const{CODE:i,DETAILS:r,ERROR:n,MESSAGE_TYPE:o,OIDC_LOGOUT_URL:a}=yield this.connect.send(s),c=null!==(e=null==r?void 0:r.ERROR)&&void 0!==e?e:n,h=o===d.Go.LOGOUT_NACK;h&&E.v.warn("Unexpected Logout NACK received during logout.",c),t={success:o===d.Go.LOGOUT_ACK||i===d.x6.SESSION_NOT_FOUND||!h,error:c},a&&window.open(a,"_self")}catch(e){const s=new l.l(e.sentMessage,e.receivedMessage);if(E.v.error((0,b.O)("Logout Authentication Error:",s.received),s),!s.isIgnorableError())throw e;E.v.warn("Ignoring authentication error as it is a known edge case."),t.success=!0}finally{this.removeAuthResults(),this.currentUser.unset(),this.isWorking=!1}return t})}reAuthFromSession(){return(0,i.sH)(this,void 0,void 0,function*(){const e=yield this.ensureConnection(),t=this.credentialManager.createRefreshCredentials();if(e&&this.credentialManager.validateRefreshCredentials(t)){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.connect.send(e);if((null==t?void 0:t.MESSAGE_TYPE)===d.Gp.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(M(t)),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.currentUser.unset(),!1})}ensureConnection(){return(0,i.sH)(this,void 0,void 0,function*(){if(this.connect.isConnected)return!0;const e=this.session.getSessionStorageItem("hostUrl");return!!e&&this.connect.connect(e)})}getLoggedUserFromMessage(e){const t=e.USER_NAME,s=e.SESSION_AUTH_TOKEN,i=e.REFRESH_AUTH_TOKEN;return t&&s&&i?{username:t,authToken:s,refreshToken:i,profiles:e.PROFILE,permissions:e.PERMISSION,sessionId:e.SESSION_ID}:null}applyAuthResults(e){e?this.loggedUserResult={authToken:e.authToken,refreshToken:e.refreshToken,profiles:e.profiles,username:e.username,permissions:e.permissions,sessionId:e.sessionId}:this.removeAuthResults()}removeAuthResults(){this.loggedUserResult=null}};(0,i.Cg)([n.observable],y.prototype,"isWorking",void 0),(0,i.Cg)([n.observable],y.prototype,"loggedUserResult",void 0),y=(0,i.Cg)([(0,i.Qj)(0,u.N),(0,i.Qj)(1,c.dm),(0,i.Qj)(2,d.lT),(0,i.Qj)(3,O),(0,i.Qj)(4,r.KJ)],y);const L=o.DI.createInterface(e=>e.singleton(y))},56653(e,t,s){var i;s.d(t,{h:()=>i,l:()=>r}),function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(i||(i={}));class r extends Error{constructor(e,t,s="Auth Failed \n"){super(s),this.sent=e,this.received=t,Object.setPrototypeOf(this,r.prototype)}isIgnorableError(){var e,t,s,i,r,n,o,a;return!!(null===(i=null===(s=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===s?void 0:s.toLowerCase())||void 0===i?void 0:i.includes("request needs the user to be logged"))||!!(null===(a=null===(o=null===(n=null===(r=this.received)||void 0===r?void 0:r.DETAILS)||void 0===n?void 0:n.ERROR)||void 0===o?void 0:o.toLowerCase())||void 0===a?void 0:a.includes("is not logged in"))}getMessageError(){var e,t;return Array.isArray(null===(e=this.received)||void 0===e?void 0:e.ERROR)?null===(t=this.received)||void 0===t?void 0:t.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}getDetailsError(){var e,t,s,i;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(i=null===(s=this.received)||void 0===s?void 0:s.DETAILS)||void 0===i?void 0:i.ERROR.map(e=>this.errorDetailFormatter(e)).join("\n"):""}hasPasswordExpiredError(){return this.hasErrorCode("PASSWORD_EXPIRED")}hasMFAError(){return this.hasErrorCode("MFA_REQUIRED")||this.hasErrorCode("MFA_FAILED")}requiresTermsAndConditions(){return this.hasErrorCode("TERMS_ACCEPTANCE_REQUIRED")}hasErrorCode(e){var t,s;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(s=this.received)||void 0===s?void 0:s.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}},27875(e,t,s){s.d(t,{AQ:()=>d,GI:()=>o,K_:()=>a,RI:()=>c,r3:()=>A,xY:()=>h});var i=s(13160),r=s(35228);class n extends Error{constructor(e,t){super(e),Object.setPrototypeOf(this,new.target.prototype),void 0!==t&&(this.cause=t)}}class o extends n{get kind(){return"nack"}constructor(e,t){super((e=>{var t;const s=null!==(t=null==e?void 0:e.MESSAGE_TYPE)&&void 0!==t?t:"NACK",i=(Array.isArray(null==e?void 0:e.ERROR)?e.ERROR:[]).map(e=>null==e?void 0:e.TEXT).filter(Boolean);return i.length?`${s}: ${i.join("; ")}`:s})((0,r.v)(e))),this.receivedMessage=e,this.sentMessage=t,this.name="ConnectNackError"}get messageType(){var e;return null===(e=this.receivedMessage)||void 0===e?void 0:e.MESSAGE_TYPE}get errors(){var e;return Array.isArray(null===(e=this.receivedMessage)||void 0===e?void 0:e.ERROR)?this.receivedMessage.ERROR:[]}get warnings(){var e;return Array.isArray(null===(e=this.receivedMessage)||void 0===e?void 0:e.WARNING)?this.receivedMessage.WARNING:[]}get code(){var e;return null===(e=this.errors[0])||void 0===e?void 0:e.CODE}}class a extends n{get kind(){return"transport"}constructor(e,{closeCode:t,closeReason:s,cause:i}={}){super(e,i),this.name="ConnectTransportError",this.closeCode=t,this.closeReason=s}}class c extends n{get kind(){return"http"}constructor(e,t="",s){super(`HTTP error: ${e} ${t}`.trim()),this.status=e,this.statusText=t,this.body=s,this.name="ConnectHttpError"}}class d extends n{get kind(){return"timeout"}constructor(e){super(`Request timed out after ${e} ms`),this.timeout=e,this.name="ConnectTimeoutError"}}class h extends n{get kind(){return"abort"}constructor(e){super("Request aborted"),this.reason=e,this.name="ConnectAbortError"}}const l=new Set([i.v.REQUEST_TIMEOUT,i.v.TOO_MANY_REQUESTS,i.v.INTERNAL_SERVER_ERROR,i.v.BAD_GATEWAY,i.v.SERVICE_UNAVAILABLE,i.v.GATEWAY_TIMEOUT]),u=new Set([i.v.REQUEST_TIMEOUT,i.v.TOO_MANY_REQUESTS,i.v.SERVICE_UNAVAILABLE,i.v.GATEWAY_TIMEOUT]),E={UNAVAILABLE:i.v.SERVICE_UNAVAILABLE,OPERATION_TIMEOUT:i.v.REQUEST_TIMEOUT,MAX_LOGON_LIMIT:i.v.TOO_MANY_REQUESTS},g=e=>{var t;const s=Number.parseInt(String(null!==(t=null==e?void 0:e.STATUS_CODE)&&void 0!==t?t:null==e?void 0:e.CODE),10);return Number.isFinite(s)?s:E[String(null==e?void 0:e.CODE)]};function A(e){var t,s;const i=null==e?void 0:e.kind;if("transport"===i||"timeout"===i)return!0;const r=(null!==(s=null===(t=(e=>{var t;const s=e,i=null!==(t=null==s?void 0:s.receivedMessage)&&void 0!==t?t:null==s?void 0:s.body;return Array.isArray(null==i?void 0:i.ERROR)?i:void 0})(e))||void 0===t?void 0:t.ERROR)&&void 0!==s?s:[]).map(g);if(r.length&&r.every(e=>void 0!==e))return r.every(e=>u.has(e));const n=null==e?void 0:e.status;return"number"==typeof n&&l.has(n)}},24669(e,t,s){s.d(t,{EQ:()=>a,a4:()=>o});var i=s(17190),r=s(38370);class n{constructor(){this.streamListeners=(0,i.r)(),this.streamCompleteListeners=(0,i.r)(),this.streamErrorListeners=(0,i.r)(),this.commitListeners=(0,i.r)(),this.metadataListeners=(0,i.r)(),this.commitResponseListeners=(0,i.r)()}addStreamListener(e,t,s){var i,r,n;const o=null===(i=this.streamListeners)||void 0===i?void 0:i.subscribe(e),a=null===(r=this.streamCompleteListeners)||void 0===r?void 0:r.subscribe(t),c=null===(n=this.streamErrorListeners)||void 0===n?void 0:n.subscribe(s);return()=>{o(),a(),c()}}onStreamEvent(e,t,s,i){var r;null===(r=this.streamListeners)||void 0===r||r.publish(new CustomEvent("connect-stream-event",{detail:{functions:i,message:t,resourceName:e,stream:s}}))}onStreamErrorEvent(e,t,s){var i;null===(i=this.streamErrorListeners)||void 0===i||i.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:s}}))}onStreamCompleteEvent(e,t){var s;null===(s=this.streamCompleteListeners)||void 0===s||s.publish(new CustomEvent("connect-stream-complete-event",{detail:{resourceName:e,stream:t}}))}addCommitListener(e){var t;return null===(t=this.commitListeners)||void 0===t?void 0:t.subscribe(e)}onCommitEvent(e,t){var s;null===(s=this.commitListeners)||void 0===s||s.publish(new CustomEvent("connect-commit-event",{detail:{eventName:e,message:t}}))}addMetadataListener(e){var t;return null===(t=this.metadataListeners)||void 0===t?void 0:t.subscribe(e)}onMetadataEvent(e,t,s){var i;null===(i=this.metadataListeners)||void 0===i||i.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:s}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var s;null===(s=this.commitResponseListeners)||void 0===s||s.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const o=r.DI.createInterface(e=>e.singleton(n)),a=r.DI.createInterface(e=>e.aliasTo(o))},36716(e,t,s){s.d(t,{dm:()=>te,tn:()=>se});var i=s(55823),r=s(84686),n=s(77679),o=s(33681),a=s(38370),c=s(77909),d=s(4348),h=s(17465),l=s(56093),u=s(27875),E=s(24669),g=s(49587),A=s(49229),v=s(13160),S=s(97156),R=s(45655),p=s(1762),f=s(84190),I=s(78213),m=s(66640),T=s(53940),C=s(67130),_=s(36090),O=s(16220),b=s(75841),N=s(56607),M=s(28138),y=s(51046),L=s(98316),w=s(32748);const D={polling:Object.assign({POLLING_MAP:{EVENT_AMEND_USER:{TEMP_FREQUENCY:500,AMOUNT_OF_POLLS:5,QUERIES:["ALL_USERS"]}},POLLING_INTERVAL_MAP:{ALL_TRADES:5e3,ALL_USERS:5e3,ALL_PROCESSES_STATUS:1e4},POLLING_FREQUENCY:5e3},{})},U=a.DI.createInterface(e=>e.instance(D));var B,F=s(35228),G=s(21281),Q=s(52068),P=s(54315);let H=B=class{constructor(e,t){this.http=e,this.messageBuilder=t}toHttpHost(e){if(!e)return"";let t=e;return t.startsWith("ws")&&(t=t.replace("ws","http")),t.endsWith("/")||(t=t.concat("/")),t}post(e,t,s){return this.call(t,s,s=>this.http.post(B.getUrl(e,t),Object.assign(Object.assign({},s),{body:B.getBody(t),headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})))}get(e,t,s){return this.call(t,s,s=>this.http.get(B.getUrl(e,t),Object.assign(Object.assign({},s),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})))}requestServer(e,t,s){let i=B.getUrl(e,t);const r=[];return t.REQUEST&&Object.keys(t.REQUEST).length>0&&Object.keys(t.REQUEST).forEach(e=>{const s=t.REQUEST[e];null==s||Number.isNaN(s)||r.push(`REQUEST.${e}=${encodeURIComponent(String(s))}`)}),t.DETAILS&&Object.keys(t.DETAILS).forEach(e=>{const s=t.DETAILS[e];null==s||Number.isNaN(s)||r.push(`${e}=${encodeURIComponent(String(s))}`)}),r.length>0&&(i=`${i}?${r.join("&")}`),h.v.debug(`HTTP transport - REQUEST_SERVER GET URL: ${i}`),this.call(t,s,e=>this.http.get(i,Object.assign(Object.assign({},e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(t)})))}call(e,t,s){const i=(0,P.nx)(null==t?void 0:t.signal);if(i)return i;const r=(null==t?void 0:t.signal)||(null==t?void 0:t.timeout)?new AbortController:void 0,n=s(r?{signal:r.signal}:{}).then(t=>{if((0,F.v)(t),(0,P.cV)(t))throw new u.GI(t,e);return t},e=>{throw B.asConnectError(e)});return(0,P.fb)(n,t,()=>null==r?void 0:r.abort())}static asConnectError(e){return e instanceof u.RI&&(0,F.v)(e.body),(0,Q.N)(e)?new u.K_(e.message,{cause:e}):e}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const s=t.MESSAGE_TYPE;let i=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return s===G.Gp.DATA_LOGON&&(i=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${i}`}};H=B=(0,i.Cg)([(0,i.Qj)(0,w.l),(0,i.Qj)(1,G.lT)],H);const k=a.DI.createInterface(e=>e.singleton(H));var $=s(83464),q=s(16183);const W=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const s=t;if(s&&s.DETAILS){const i=s.DETAILS.ROW_REF,r=s.DETAILS.OPERATION;"INSERT"===r&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===i})||e.unshift(s)),"DELETE"===r&&(e=e.filter(e=>{var s,i;return(null===(s=t.DETAILS)||void 0===s?void 0:s.ROW_REF)!==(null===(i=e.DETAILS)||void 0===i?void 0:i.ROW_REF)})),"MODIFY"===r&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===i?Object.assign(Object.assign({},e),s):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var V;let j=V=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,s,i,r,n,o){var a;this.http=e,this.messageBuilder=t,this.session=s,this.metaCache=i,this.serializer=r,this.config=n,this.transport=o,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new S.t(this._isConnected),this.isConnected$=null===(a=this.isConnectedSubject)||void 0===a?void 0:a.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.inFlightRequests=new P.iL,this.inFlightMetadata=new P.iL,this.dataserverEncodingStrippedWarned=!1,this.ongoingRefresh=null,this.sessionGeneration=0,this.scdbDecoder=new $.d(this.metaCache),this.scdbDecoder.setMetadataRefresher(e=>this.getMetadata(e,!1))}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>(0,i.sH)(this,void 0,void 0,function*(){const e=this.host;let t;this.isConnected=!1;try{t=yield(0,q.$G)(),t===q.vE.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,V.REAUTH_WAIT_MS)}),t=yield(0,q.$G)())}catch(e){h.v.debug("Could not refresh the session: ",e)}return(t===q.vE.SUCCESS||t===q.vE.ALREADY_VALID)&&(this.sessionGeneration+=1,this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return(0,i.sH)(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:G.Go.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===G.Go.HEARTBEAT_PONG)}catch(e){return h.v.error(e),!1}})}send(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){return this.withinDeadline(s,t=>(0,i.sH)(this,void 0,void 0,function*(){yield this.waitForOngoingRefresh("Cannot send message: session refresh failed");const s=()=>this.transport.post(this.host,e,{signal:t});return x.has(null==e?void 0:e.MESSAGE_TYPE)?s():this.retryAfterSessionRefresh(s)}))})}withinDeadline(e,t){const s=(0,P.nx)(null==e?void 0:e.signal);if(s)return s;const i=new AbortController;return(0,P.fb)(t(i.signal),e,()=>i.abort())}waitForOngoingRefresh(e){return(0,i.sH)(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error(e)}})}retryAfterSessionRefresh(e){return(0,i.sH)(this,void 0,void 0,function*(){try{return yield e()}catch(t){if(!Y(t)||!(yield this.handleSessionRefresh()))throw t;return e()}})}httpMode(){return!0}setValidSession(e){h.v.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.transport.toHttpHost(e);if(t===this.host){if(this.isConnected)return!0;if(this.pendingConnect)return this.pendingConnect}this.host=t;const s=this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e));this.pendingConnect=s;try{return yield s}finally{this.pendingConnect===s&&(this.pendingConnect=void 0)}})}disconnect(){this.pendingConnect=void 0,this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return this.stripDataserverColumnarEncoding(s),h.v.debug(`HTTP MODE - ${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.send(s).then(e=>(this.dataLogoff(s.SOURCE_REF).catch(e=>h.v.error(e)),e))})}stream(e,t,s,r){var n,o;const a=this.messageBuilder.createDataLogonMessage(e,r);this.stripDataserverColumnarEncoding(a),h.v.debug(`HTTP MODE - ${a.MESSAGE_TYPE} (stream) message created -> `,a);const c=a.SOURCE_REF,d=(null===(o=null===(n=this.config.polling)||void 0===n?void 0:n.POLLING_INTERVAL_MAP)||void 0===o?void 0:o[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(c,{SOURCE_REF:c,POLLING_FREQUENCY:new S.t(d),RESOURCE_NAME:e});const l=this.streams.get(c).POLLING_FREQUENCY;let u=this.sessionGeneration,E=!1,g=!0;const A=()=>(0,i.sH)(this,void 0,void 0,function*(){const e=this.sessionGeneration,t=yield this.send(a).catch(e=>{if((null==e?void 0:e.status)!==v.v.CONFLICT)throw e});return u=e,E=!1,g=!0,t}),b=()=>(0,i.sH)(this,void 0,void 0,function*(){if(yield this.waitForOngoingRefresh("Cannot get message: session refresh failed"),E||u!==this.sessionGeneration)return A();const e=yield this.getMessage(a);return g=!1,e}),N=()=>!g&&(E=!0,!0),M=(0,R.x)((0,p.H)(this.send(a)),l.pipe((0,f.n)(e=>(0,I.Y)(e)),(0,m.v)(()=>this.streams.has(c)),(0,T.p)(()=>"visible"===document.visibilityState),(0,C.p)(()=>(0,p.H)(b())),(0,T.p)(e=>void 0!==e),(0,_.L)({count:V.MAX_RETRIES,resetOnSuccess:!0,delay:(e,t)=>this.pollRetryDelay(e,t,c,N)}))).pipe((0,m.v)(()=>this.streams.has(c)),(0,O.j)(()=>{h.v.debug(`Terminating stream for ${e} - ${c}`),this.streams.has(c)&&this.dataLogoff(c).catch(e=>h.v.debug(`DATA_LOGOFF failed for ${c}`,e))}));return this.streams.get(c).STREAM=M,M}pollRetryDelay(e,t,s,i){const r=null==e?void 0:e.status;if(h.v.error(`Retry ${t}/${V.MAX_RETRIES}: status ${null!=r?r:"unknown"}`,e),r===v.v.NOT_FOUND)return i()?(0,b.of)(!0):(this.streams.delete(s),N.w);if(Y(e))return(0,p.H)(this.handleSessionRefresh()).pipe((0,M.T)(t=>{if(!t)throw e;return t}));if(!(0,u.r3)(e))throw e;return(0,y.O)(V.RETRY_DELAY_MS)}streamState(e,t=()=>{},s=()=>{},i,r=[]){return this.stream(e,t,s,i).pipe((0,c.S)(W,r))}streamWithoutAutoTeardown(e,t,s,i){return h.v.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,s,i)}getMessage(e){return(0,i.sH)(this,void 0,void 0,function*(){return yield this.waitForOngoingRefresh("Cannot get message: session refresh failed"),this.transport.get(this.host,e)})}getMoreRows(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return h.v.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(h.v.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0,s){return t&&this.metaCache.hasMetadataFor(e)?(h.v.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e)):(this.inFlightMetadata.has(e)&&h.v.debug(`HTTP MODE - In-flight metadata request collapsed for ${e}`),this.inFlightMetadata.join(e,t=>this.fetchMetadata(e,t),s))})}fetchMetadata(e,t){return(0,i.sH)(this,void 0,void 0,function*(){var s;const i=this.messageBuilder.createMetaRequestMessage(e);h.v.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const r=yield this.send(i,!0,{signal:t}),n=null!==(s=null==r?void 0:r.DETAILS)&&void 0!==s?s:{};return Object.keys(n).length&&this.metaCache.setMetadataFor(e,n),n})}getJSONSchema(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,G.Gp.JSON_SCHEMA_REQUEST);return h.v.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){return(0,i.sH)(this,arguments,void 0,function*(e,t,s=!1,i){const r=(0,G.d2)(e,t);if(s&&this.metaCache.hasRequestFor(r))return h.v.debug(`HTTP MODE - Cached request response retrieved for ${r}`),this.metaCache.getRequestFor(r);this.inFlightRequests.has(r)&&h.v.debug(`HTTP MODE - In-flight request collapsed for ${r}`);const n=yield this.inFlightRequests.join(r,s=>this.sendRequest(e,t,s),i);return s&&n&&this.metaCache.setRequestFor(r,n),n})}sendRequest(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){const i=this.messageBuilder.createRequestMessage(e,t),r=(0,$.r)(i);this.scdbDecoder.prepareRequest(i),h.v.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (request server) message created -> `,i),yield this.waitForOngoingRefresh("Cannot send request: session refresh failed");const n=yield this.retryAfterSessionRefresh(()=>this.transport.requestServer(this.host,i,{signal:s}));return this.scdbDecoder.onMessage(n,r),n})}stripDataserverColumnarEncoding(e){const t=null==e?void 0:e.DETAILS;(null==t?void 0:t.ENCODING)&&(this.dataserverEncodingStrippedWarned||(this.dataserverEncodingStrippedWarned=!0,h.v.warn(`Columnar encoding '${t.ENCODING}' is not supported for dataserver requests over HTTP; using row mode. Use a WebSocket connection for columnar dataserver streams.`)),delete t.ENCODING)}getAvailableResources(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return h.v.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const s=this.messageBuilder.createResourcesMessage(e);h.v.debug(`HTTP MODE! - ${s.MESSAGE_TYPE} (getResources) message created -> `,s);const i=yield this.send(s);return this.metaCache.setResources(i),i})}commitEvent(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return h.v.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (commit) message created -> `,i),this.send(i,!0,s).then(t=>(this.maybeTurbo(e,t),(0,P._l)(t,i,s)))})}maybeTurbo(e,t){var s;if(!(null===(s=null==t?void 0:t.MESSAGE_TYPE)||void 0===s?void 0:s.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void h.v.debug(`${e} polling frequency is already accelerated.`);const i=this.config.polling.POLLING_MAP[e];if(!(null==i?void 0:i.TEMP_FREQUENCY)||!i.AMOUNT_OF_POLLS)return;const r=i.TEMP_FREQUENCY,n=r*i.AMOUNT_OF_POLLS,o=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP)),a=JSON.parse(JSON.stringify(this.config.polling.POLLING_INTERVAL_MAP));for(const e of i.QUERIES)a[e]=r,o[e]||(o[e]=this.config.polling.POLLING_FREQUENCY);h.v.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${r}ms DURATION=${n}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{h.v.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:o}}),this.ongoingTurbo[e]=!1},n)}updateIntervals(e){const{POLLING_INTERVAL_MAP:t}=e.polling;t&&(this.config.polling.POLLING_INTERVAL_MAP=t,this.handlePollingIntervalMapUpdate(t))}handlePollingIntervalMapUpdate(e){if(e)for(const t in e){if(!e.hasOwnProperty(t))continue;const s=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=s,h.v.debug(`Setting polling frequency for ${t} = ${s}`),[...this.streams.values()].filter(e=>e.RESOURCE_NAME===t).forEach(e=>{var t;return null===(t=null==e?void 0:e.POLLING_FREQUENCY)||void 0===t?void 0:t.next(s)})}}};j.REAUTH_WAIT_MS=5e3,j.RETRY_DELAY_MS=1e3,j.MAX_RETRIES=3,(0,i.Cg)([o.observable],j.prototype,"host",void 0),(0,i.Cg)([o.observable],j.prototype,"isWorking",void 0),(0,i.Cg)([o.observable],j.prototype,"_isConnected",void 0),(0,i.Cg)([o.volatile],j.prototype,"isConnected",null),j=V=(0,i.Cg)([(0,i.Qj)(0,w.l),(0,i.Qj)(1,G.lT),(0,i.Qj)(2,L.N),(0,i.Qj)(3,d.G),(0,i.Qj)(4,A.b_),(0,i.Qj)(5,U),(0,i.Qj)(6,k)],j);const Y=e=>(null==e?void 0:e.status)===v.v.UNAUTHORIZED,x=new Set([G.Gp.EVENT_LOGIN_AUTH,G.Gp.EVENT_LOGOUT,G.Gp.EVENT_CHANGE_USER_PASSWORD,G.Gp.EVENT_SELF_SERVICE_PASSWORD_RESET,G.Gp.EVENT_PASSWORD_RESET_ACTION]),K=a.DI.createInterface(e=>e.singleton(j));var X=s(80779);let J=class{get isConnected(){return this.socket.isConnected}get isConnectedSubject(){return this.socket.isConnectedSubject}get isConnected$(){var e;return null===(e=this.socket.isConnectedSubject)||void 0===e?void 0:e.asObservable()}get host(){return this.socket.host}constructor(e,t,s,i,r,n){var o,a,c;this.socket=e,this.messageBuilder=t,this.metaCache=s,this.events=i,this.config=r,this.transport=n,this.isWorking=!1,this.inFlightMetadata=new P.iL,this.inFlightRequests=new P.iL;const d=null===(o=this.config.connect)||void 0===o?void 0:o.dataserverEncoding;d&&(this.messageBuilder.scdbEncoding=d),this.httpScdbDecoder=new $.d(this.metaCache);const h=e=>this.getMetadata(e,!1);null===(c=(a=this.socket).setScdbMetadataRefresher)||void 0===c||c.call(a,h),this.httpScdbDecoder.setMetadataRefresher(h)}httpMode(){return!1}get useHttpReqRep(){return"true"===r.Tp||(0,n.m4)("forceHttpReqRep")}get httpHost(){return this.transport.toHttpHost(this.socket.host)}requestOverHttp(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=(0,$.r)(e);this.httpScdbDecoder.prepareRequest(e);const i=yield this.transport.requestServer(this.httpHost,e,t);return this.httpScdbDecoder.onMessage(i,s),i})}sendReqRep(e,t){return this.useHttpReqRep?this.transport.post(this.httpHost,e,t):this.socket.send(e,!0,t)}setValidSession(e){h.v.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}send(e,t,s){return this.socket.send(e,t,s)}connect(){return(0,i.sH)(this,arguments,void 0,function*(e=r.vN){if(this.socket.host===e&&!1!==this.socket.onCurrentSession){if(this.isConnected)return!0;const e=this.socket.pendingConnection;if(e)return e}return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=this.messageBuilder.createDataLogonMessage(e,t);return h.v.debug(`${s.MESSAGE_TYPE} (snapshot) message created -> `,s),this.socket.send(s)})}stream(e,t,s,i){const r=this.messageBuilder.createDataLogonMessage(e,i);h.v.debug(`${r.MESSAGE_TYPE} (stream) message created -> `,r);const n=performance.now();let o=null;const a=this.socket.sendForStream(r,(...s)=>{null===o&&(o=performance.now(),h.v.debug(`[stream:${e}] time to initial response: ${(o-n).toFixed(2)}ms`)),t(...s)},t=>{s(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,r,a,{onMessage:t,onError:s}),a}streamState(e,t=()=>{},s=()=>{},i,r=[]){return this.stream(e,t,s,i).pipe((0,c.S)(W,r))}streamWithoutAutoTeardown(e,t,s,i){h.v.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const r=this.messageBuilder.createDataLogonMessage(e,i);h.v.debug(`${r.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,r);const n=this.socket.sendForStreamWithoutTeardown(r,t,t=>{s(t),this.events.onStreamErrorEvent(e,n,t)});return this.events.onStreamEvent(e,r,n,{onMessage:t,onError:s}),n}getMoreRows(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=this.messageBuilder.createMoreRowsMessage(e,t);return h.v.debug(`${s.MESSAGE_TYPE} message created -> `,s),this.socket.send(s,!1)})}getMoreColumns(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return h.v.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0,s){return t&&this.metaCache.hasMetadataFor(e)?(h.v.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e)):(this.inFlightMetadata.has(e)&&h.v.debug(`In-flight metadata request collapsed for ${e}`),this.inFlightMetadata.join(e,t=>this.fetchMetadata(e,t),this.callerOptions(s)))})}fetchMetadata(e,t){return(0,i.sH)(this,void 0,void 0,function*(){var s;const i=this.messageBuilder.createMetaRequestMessage(e);let r,n;h.v.debug(`${i.MESSAGE_TYPE} (metadata) message created -> `,i);try{this.isWorking=!0;const n=yield this.sendReqRep(i,{timeout:0,signal:t});r=null!==(s=null==n?void 0:n.DETAILS)&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setMetadataFor(e,r)}catch(t){throw n=t,h.v.error((0,l.O)(`Metadata request failed for ${e}`,t),t),z(t)}finally{this.events.onMetadataEvent(e,i,n),this.isWorking=!1}return r})}getJSONSchema(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0){var s;if(t&&this.metaCache.hasJsonSchemaFor(e))return h.v.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const i=this.messageBuilder.createMetaRequestMessage(e,G.Gp.JSON_SCHEMA_REQUEST);let r;h.v.debug(`${i.MESSAGE_TYPE} (json schema) message created -> `,i);try{this.isWorking=!0,r=null!==(s=yield this.sendReqRep(i))&&void 0!==s?s:{},Object.keys(r).length&&this.metaCache.setJsonSchemaFor(e,r)}catch(t){h.v.error((0,l.O)(`JSON schema request failed for ${e}`,t),t)}finally{this.isWorking=!1}return r})}callerOptions(e){var t,s;const i=this.useHttpReqRep||null===(t=this.config.connect)||void 0===t?void 0:t.requestTimeout;return{timeout:null!==(s=null==e?void 0:e.timeout)&&void 0!==s?s:i,signal:null==e?void 0:e.signal}}request(e,t){return(0,i.sH)(this,arguments,void 0,function*(e,t,s=!1,i){const r=(0,G.d2)(e,t);if(s&&this.metaCache.hasRequestFor(r))return h.v.debug(`Cached request response retrieved for ${r}`),this.metaCache.getRequestFor(r);this.inFlightRequests.has(r)&&h.v.debug(`In-flight request collapsed for ${r}`);const n=yield this.inFlightRequests.join(r,s=>this.sendRequest(e,t,s),this.callerOptions(i));return s&&n&&this.metaCache.setRequestFor(r,n),n})}sendRequest(e,t,s){const i=this.messageBuilder.createRequestMessage(e,t);h.v.debug(`${i.MESSAGE_TYPE} (request server) message created -> `,i);const r={timeout:0,signal:s};return this.useHttpReqRep?this.requestOverHttp(i,r):this.socket.send(i,!0,r)}getAvailableResources(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return h.v.debug("Cached resources retrieved"),this.metaCache.getResources();const s=this.messageBuilder.createResourcesMessage(e);h.v.debug(`${s.MESSAGE_TYPE} (resources) message created -> `,s);const i=yield this.sendReqRep(s);return this.metaCache.setResources(i),i})}commitEvent(e,t,s){return(0,i.sH)(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);h.v.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const r=this.sendReqRep(i,s);return this.events.onCommitEvent(e,i),r.then(t=>(this.events.onCommitResponseEvent(e,t),(0,P._l)(t,i,s)))})}};(0,i.Cg)([o.observable],J.prototype,"isWorking",void 0),J=(0,i.Cg)([(0,i.Qj)(0,X.yQ),(0,i.Qj)(1,G.lT),(0,i.Qj)(2,d.G),(0,i.Qj)(3,E.EQ),(0,i.Qj)(4,g.R),(0,i.Qj)(5,k)],J);const z=e=>e instanceof Error?e:(e=>"object"==typeof(null==e?void 0:e.receivedMessage))(e)?new u.GI(e.receivedMessage,e.sentMessage):new Error(String(e)),Z="true"===r.PF||(0,n.m4)("forceHttp"),ee=a.DI.createInterface(e=>e.singleton(J)),te=a.DI.createInterface(e=>Z?e.aliasTo(K):e.aliasTo(ee));function se(){return a.DI.getOrCreateDOMContainer().get(te)}},49587(e,t,s){s.d(t,{R:()=>n});var i=s(38370);const r={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:new RegExp(/wss?:\/\/[-a-zA-Z0-9@:%._+~#=]{1,256}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)\b\/*$/,"i")},n=i.DI.createInterface(e=>e.instance(r))},35228(e,t,s){s.d(t,{v:()=>r});const i=e=>{Array.isArray(e)&&e.forEach(e=>{"number"==typeof(null==e?void 0:e.CODE)&&(e.CODE=String(e.CODE)),"number"==typeof(null==e?void 0:e.STATUS_CODE)&&(e.STATUS_CODE=String(e.STATUS_CODE))})},r=e=>{const{ERROR:t,WARNING:s}=null!=e?e:{};return i(t),i(s),e}},32748(e,t,s){s.d(t,{l:()=>h});var i=s(55823),r=s(49229),n=s(38370),o=s(27875),a=s(52068);const c=e=>(0,i.sH)(void 0,void 0,void 0,function*(){return new o.RI(e.status,e.statusText,yield(e=>(0,i.sH)(void 0,void 0,void 0,function*(){const t=yield e.text().catch(()=>{});if(t)try{return JSON.parse(t)}catch(e){return t}}))(e))});let d=class{constructor(e){this.serializer=e}get(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"GET"})).catch(e=>{throw(0,a.I)(e)});return this.handleResponse(s,t)})}post(e,t){return(0,i.sH)(this,void 0,void 0,function*(){const s=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"POST"})).catch(e=>{throw(0,a.I)(e)});return this.handleResponse(s,t)})}handleResponse(e,t){return(0,i.sH)(this,void 0,void 0,function*(){var s;if(e.redirected)return window.location.href=e.url,new Promise(()=>{});if(null===(s=t.onResponse)||void 0===s||s.call(t,e),304===e.status)return;if(!e.ok)throw yield c(e);return(t.serializer||this.serializer).deserialize(e)})}};d=(0,i.Cg)([(0,i.Qj)(0,r.b_)],d);const h=n.DI.createInterface(e=>e.singleton(d))},21281(e,t,s){s.d(t,{Go:()=>i,Gp:()=>r,d2:()=>u,lT:()=>A,x6:()=>n,z2:()=>E});var i,r,n,o=s(55823),a=s(32808),c=s(38370),d=s(56653),h=s(98316);!function(e){e.LOGON_ACK="LOGON_ACK",e.LOGON_NACK="LOGON_NACK",e.LOGOFF_ACK="LOGOFF_ACK",e.LOGOFF_NACK="LOGOFF_NACK",e.HEARTBEAT_PING="HEARTBEAT_PING",e.HEARTBEAT_PONG="HEARTBEAT_PONG",e.MORE_ROWS="MORE_ROWS",e.MORE_COLUMNS="MORE_COLUMNS",e.MORE_COLUMNS_ACK="MORE_COLUMNS_ACK",e.MSG_ACK="MSG_ACK",e.MSG_NACK="MSG_NACK",e.LOGOUT_ACK="LOGOUT_ACK",e.LOGOUT_NACK="LOGOUT_NACK",e.QUERY_UPDATE="QUERY_UPDATE",e.INVALID_INDEX_NACK="INVALID_INDEX_NACK"}(i||(i={})),function(e){e.EVENT_LOGIN_AUTH="EVENT_LOGIN_AUTH",e.EVENT_LOGIN_AUTH_ACK="EVENT_LOGIN_AUTH_ACK",e.EVENT_LOGIN_AUTH_NACK="EVENT_LOGIN_AUTH_NACK",e.EVENT_LOGOUT="EVENT_LOGOUT",e.DATA_LOGON="DATA_LOGON",e.DATA_LOGOFF="DATA_LOGOFF",e.META_REQUEST="META_REQUEST",e.JSON_SCHEMA_REQUEST="JSON_SCHEMA_REQUEST",e.RESOURCES_REQUEST="RESOURCES_REQUEST",e.RESOURCES_REQUEST_ACK="RESOURCES_REQUEST_ACK",e.RESOURCES_REQUEST_NACK="RESOURCES_REQUEST_NACK",e.EVENT_CHANGE_USER_PASSWORD="EVENT_CHANGE_USER_PASSWORD",e.EVENT_SELF_SERVICE_PASSWORD_RESET="EVENT_SELF_SERVICE_PASSWORD_RESET",e.EVENT_PASSWORD_RESET_ACTION="EVENT_PASSWORD_RESET_ACTION"}(r||(r={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(n||(n={}));const l=e=>Array.isArray(e)?e.map(l):e&&"object"==typeof e&&e.constructor===Object?Object.keys(e).sort().reduce((t,s)=>(t[s]=l(e[s]),t),{}):e;function u(e,t){return`${e}::${JSON.stringify(l(null!=t?t:{}))}`}const E=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var s,i;return String(null!==(s=e.CODE)&&void 0!==s?s:"").includes(`${t}`)||String(null!==(i=e.STATUS_CODE)&&void 0!==i?i:"").includes(`${t}`)}));let g=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case d.h.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case d.h.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case d.h.SSO:t={SSO_TOKEN:e.ssoToken};break;case d.h.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,s;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(s=e.sessionId)&&void 0!==s?s:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){var s;const i=null!==(s=null==t?void 0:t.ENCODING)&&void 0!==s?s:this.scdbEncoding;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.DATA_LOGON,DETAILS:Object.assign(Object.assign({DATASOURCE_NAME:e},t),i?{ENCODING:i}:{}),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:r.DATA_LOGOFF,SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createRequestMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e.startsWith("REQ_")?e:`REQ_${e}`},t)}createResourcesMessage(e){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:r.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=r.META_REQUEST){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:t,DETAILS:{FEATURE:e},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createCommitMessage(e,t){return Object.assign({SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:e},t)}createRefreshTokenMessage(){return{SOURCE_REF:this.uuid.createId(),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken"),MESSAGE_TYPE:r.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken"),MFA_CODE:this.session.getSessionStorageItem("mfaToken")}}}createChangePasswordMessage(e,t,s){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:s}}}createForgotPasswordMessage(e,t,s=e){return{USER_NAME:s,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,s,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:r.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:s}}}createMoreRowsMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:i.MORE_ROWS,DETAILS:{SOURCE_REF:e,VIEW_NUMBER:t},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createMoreColumnsMessage(e){return Object.assign(Object.assign({},this.createMoreRowsMessage(e)),{MESSAGE_TYPE:i.MORE_COLUMNS})}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const s={"Content-type":t};return e.SOURCE_REF&&(s["source-ref"]=e.SOURCE_REF,s.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(s["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===r.EVENT_LOGOUT&&(s["SESSION-ID"]=e.SESSION_ID),s}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:i.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};g=(0,o.Cg)([(0,o.Qj)(0,h.N),(0,o.Qj)(1,a.k)],g);const A=c.DI.createInterface(e=>e.singleton(g))},52068(e,t,s){s.d(t,{I:()=>r,N:()=>n});const i=new WeakSet,r=e=>(e instanceof TypeError&&i.add(e),e),n=e=>e instanceof TypeError&&i.has(e)},54315(e,t,s){s.d(t,{_l:()=>d,cV:()=>o,fb:()=>a,iL:()=>h,nx:()=>c});var i=s(27875),r=s(21281);const n=new Set([r.Go.MSG_NACK,r.Go.LOGON_NACK,r.Go.INVALID_INDEX_NACK]),o=e=>n.has(null==e?void 0:e.MESSAGE_TYPE);function a(e,{timeout:t,signal:s}={},r){const n=t>0&&Number.isFinite(t);return n||s?new Promise((o,a)=>{let c;const d=()=>l(new i.xY(s.reason)),h=()=>{clearTimeout(c),null==s||s.removeEventListener("abort",d)},l=e=>{h(),null==r||r(e),a(e)};e.then(e=>{h(),o(e)},e=>{h(),a(e)}),(null==s?void 0:s.aborted)?d():(null==s||s.addEventListener("abort",d,{once:!0}),n&&(c=setTimeout(()=>l(new i.AQ(t)),Math.min(t,2147483647))))}):e}const c=e=>(null==e?void 0:e.aborted)?Promise.reject(new i.xY(e.reason)):void 0,d=(e,t,s)=>{if((null==s?void 0:s.rejectEventNack)&&"EVENT_NACK"===(null==e?void 0:e.MESSAGE_TYPE))throw new i.GI(e,t);return e};class h{constructor(){this.entries=new Map}has(e){return this.entries.has(e)}join(e,t,s){var i;const r=c(null==s?void 0:s.signal);if(r)return r;const n=null!==(i=this.entries.get(e))&&void 0!==i?i:this.start(e,t);return n.waiting+=1,a(n.promise,s,()=>{n.waiting-=1,0===n.waiting&&(this.release(e,n),n.controller.abort())})}start(e,t){const s=new AbortController,i={controller:s,waiting:0,promise:void 0};return i.promise=t(s.signal).finally(()=>this.release(e,i)),this.entries.set(e,i),i}release(e,t){this.entries.get(e)===t&&this.entries.delete(e)}}},83464(e,t,s){s.d(t,{d:()=>E,r:()=>u});var i=s(55823),r=s(34127),n=s(67230);const o=["INSERT","MODIFY","DELETE"];function a(e,t,s){for(const i of e.c){const r=t[i.i];if(void 0===r)throw new Error(`Unknown SCDBJ column id ${i.i}`);const n=i.x,o=i.v,a=n?n.length:e.n;for(let e=0;e<a;e++){s[n?n[e]:e][r]=o[e]}}return s}function c(e,t,s){var i;switch(e.ENCODING){case"SCDBJ_V1":return function(e,t){const{n:s,r:i,o:r}=e,n=Array.isArray(r),c=new Array(s);for(let e=0;e<s;e++)c[e]={DETAILS:{OPERATION:o[n?r[e]:r],ROW_REF:i[e]}};return a(e,t,c)}(e.SCDBJ,t);case"SCDB_V1":{const i=d(e.RBUF);return s?s.decodeToRows(i,t):(0,n.V$)(i,t)}default:return null!==(i=e.ROW)&&void 0!==i?i:[]}}function d(e){if(e instanceof Uint8Array)return e;if(Array.isArray(e))return Uint8Array.from(e);if("string"==typeof e)return(0,r.K)(e);throw new Error("SCDB_V1 message has no RBUF payload")}function h(e,t){var s;switch(e.ENCODING){case"SCDBJ_V1":return function(e,t){const s=new Array(e.n);for(let t=0;t<e.n;t++)s[t]={};return a(e,t,s)}(e.SCDBJ,t);case"SCDB_V1":{const s=d(e.RBUF);return(0,n.V$)(s,t).map(e=>{var{DETAILS:t}=e;return(0,i.Tt)(e,["DETAILS"])})}default:return null!==(s=e.REPLY)&&void 0!==s?s:[]}}var l=s(17465);function u(e){var t;const s=null===(t=null==e?void 0:e.DETAILS)||void 0===t?void 0:t.DATASOURCE_NAME;if(s)return s;const i=null==e?void 0:e.MESSAGE_TYPE;return"string"==typeof i&&i.startsWith("REQ_")?i.slice(4):void 0}class E{constructor(e){this.metaCache=e,this.byHash=new Map,this.expectedHashByResource=new Map,this.refreshing=new Set}setWasm(e){this.wasm=e}setMetadataRefresher(e){this.metadataRefresher=e}prepareRequest(e){const t=e.DETAILS;if(!(null==t?void 0:t.ENCODING))return;const s=u(e);if(s&&this.metaCache.hasMetadataFor(s))return;const i=Object.assign({},t);delete i.ENCODING,e.DETAILS=i,s&&this.requestRefresh(s)}onLogonAck(e,t){(null==e?void 0:e.ENCODING)&&t&&null!=e.DICT_HASH&&(this.expectedHashByResource.set(t,e.DICT_HASH),this.dictionaryFor(t,e.DICT_HASH))}onMessage(e,t){if(!e||!e.ENCODING||e.ROW||e.REPLY)return;const s="QUERY_UPDATE"===e.MESSAGE_TYPE,i=s?t&&this.expectedHashByResource.get(t):e.DICT_HASH,r=this.dictionaryFor(t,i);if(!r)throw new Error(`Cannot decode ${e.ENCODING} ${e.MESSAGE_TYPE} for '${t}': no column dictionary matching DICT_HASH ${i}`);s?e.ROW=this.decodeQueryUpdate(e,r):e.REPLY=h(e,r)}decodeQueryUpdate(e,t){if(this.wasm)try{return c(e,t,this.wasm)}catch(s){const i=c(e,t);return l.v.warn("SCDB WASM decode failed, using the pure-JS decoder from now on",s),this.wasm=void 0,i}return c(e,t)}clear(){this.byHash.clear(),this.expectedHashByResource.clear(),this.refreshing.clear()}dictionaryFor(e,t){if(!e)return;if(null==t)return;const s=this.byHash.get(t);if(s)return s;if(!this.metaCache.hasMetadataFor(e))return void this.requestRefresh(e);const i=function(e){var t,s,i,r,n;const o=null!==(t=e.REPLY_FIELD)&&void 0!==t?t:null===(s=e.REPLY)||void 0===s?void 0:s.FIELD;return("REQUEST_SERVER"===e.TYPE?null!=o?o:[]:"DATASERVER"===e.TYPE?null!==(i=e.FIELD)&&void 0!==i?i:[]:null!==(n=null!==(r=e.FIELD)&&void 0!==r?r:o)&&void 0!==n?n:[]).map(e=>e.NAME)}(this.metaCache.getMetadataFor(e));if(!i.length)return;const r=function(e){let t=2166136261;const s=e.join("\n");for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}(i);return r!==t?(l.v.warn(`SCDB dictionary hash mismatch for '${e}' (server=${t} client=${r}); refreshing metadata`),void this.requestRefresh(e)):(this.byHash.set(t,i),i)}requestRefresh(e){this.metadataRefresher&&!this.refreshing.has(e)&&(this.refreshing.add(e),Promise.resolve(this.metadataRefresher(e)).catch(()=>{}).finally(()=>this.refreshing.delete(e)))}}},16183(e,t,s){s.d(t,{$G:()=>u,Lj:()=>g,Z8:()=>E,vE:()=>h});var i=s(55823),r=s(84686),n=s(38370),o=s(17465),a=s(32748);const c="reauthActionLock",d=[408,429];var h;!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(h||(h={}));function l(){return(0,i.sH)(this,void 0,void 0,function*(){const e=n.DI.getOrCreateDOMContainer().get(a.l);try{const t=yield e.post(r.aW,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})});return"EVENT_LOGIN_AUTH_ACK"===t.MESSAGE_TYPE||(o.v.debug("Session refresh rejected: ",t.ERROR),!1)}catch(e){if((e=>{const t=null==e?void 0:e.status;return"number"==typeof t&&t>=400&&t<500&&!d.includes(t)})(e))return o.v.debug(`Session refresh rejected with HTTP ${e.status}`),!1;throw e}})}function u(){return(0,i.sH)(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0,signal:s}=e;if(function(){const e=parseInt(localStorage.getItem(c)||"0");Date.now()-e>3e4&&localStorage.removeItem(c)}(),localStorage.getItem(c)||(localStorage.setItem(c,Date.now().toString()),0))return h.HANDLED_BY_OTHER_TAB;try{if(yield function(e){return(0,i.sH)(this,void 0,void 0,function*(){const t=yield fetch(r.Be,{credentials:"include",signal:e});return 401!==t.status&&"EVENT_LOGIN_DETAILS_ACK"===(yield t.json()).MESSAGE_TYPE})}(s))return h.ALREADY_VALID;return(yield l())?h.SUCCESS:(t&&window.location.reload(),h.FAILED)}finally{localStorage.removeItem(c)}})}function E(e){const t=s=>{s.key===c&&null===s.newValue&&(e(),window.removeEventListener("storage",t))};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}function g(e){return new Promise(t=>{const s=()=>{i(),e.removeEventListener("abort",s),t()},i=E(s);e.aborted?s():e.addEventListener("abort",s)})}},80779(e,t,s){s.d(t,{yQ:()=>te,Ol:()=>se});var i=s(55823),r=s(92277),n=s(84686),o=s(49229),a=s(32808),c=s(33681),d=s(38370),h=s(50049),l=s(37970),u=s(26274),E=s(1762),g=s(75841),A=s(84190),v=s(67130),S=s(28138),R=s(66640),p=s(16220),f=s(53940),I=s(48653),m=s(34127),T=s(67230);const C="AGFzbQEAAAABCAFgA39/fwF/Ag8BA2VudgZtZW1vcnkCAAADAgEABgsCfwFBAAt/AUEACwcTAgZkZWNvZGUAAAZtZW1vcnkCAAq5EgG2EgIRfwR+IAAkACMALQAEQQJxQQBHIQ5BBSQBA0AjASIAQQFqJAEgFCMAIABqLQAAIgBB/wBxrCAHrYaEIRQgAEGAAXEEQCAHQQdqIQcMAQsLIBSnIQEDQCABIAhKBEBCACEUQQAhAANAIwEiB0EBaiQBIBQjACAHai0AACIHQf8AcawgAK2GhCEUIAdBgAFxBEAgAEEHaiEADAELCyMBIBSnaiQBIAhBAWohCAwBCwsjASEAIA4Ef0EBBSABQQF0QQdqQQN1CyAAaiQBA0AjASIAQQFqJAEgFSMAIABqLQAAIgBB/wBxrCAKrYaEIRUgAEGAAXEEQCAKQQdqIQoMAQsLIAIgATYCACACIBWnIgA2AgQgAkFAayIKIAAgAWwiAkEDdGoiDCACQQJ0IgJqIg8gAmoiECABQQJ0IgdqIREgByARaiIHIABBAnQiCGohEiACIAggEmoiDWoiCCAAaiIAIAFqQQNqQXxxIRNBBSQBA0AjASICQQFqJAEgFyMAIAJqLQAAIgJB/wBxrCAGrYaEIRcgAkGAAXEEQCAGQQdqIQYMAQsLA0AgASAESgRAQgAhFEEAIQIDQCMBIgZBAWokASAUIwAgBmotAAAiBkH/AHGsIAKthoQhFCAGQYABcQRAIAJBB2ohAgwBCwsgBEECdCICIBBqIwE2AgAgAiARaiAUpyICNgIAIwEgAmokASAEQQFqIQQMAQsLIA4EQCMBIgJBAWokASMAIAJqLQAAIQIDQCABIAVKBEAgACAFaiACOgAAIAVBAWohBQwBCwsFIwEhAgNAIAEgBUoEQCAAIAVqIwAgAmogBUEBdCIEQQN1ai0AACAEQQdxdUEDcToAACAFQQFqIQUMAQsLIwEgAUEBdEEHakEDdWokAQsDQCMBIgBBAWokASAWIwAgAGotAAAiAEH/AHGsIAuthoQhFiAAQYABcQRAIAtBB2ohCwwBCwsgFqchCwNAIAkgC0gEQEIAIRRBACEAA0AjASICQQFqJAEgFCMAIAJqLQAAIgJB/wBxrCAArYaEIRQgAkGAAXEEQCAAQQdqIQAMAQsLIAcgCUECdGogFD4CACMBIgBBAWokASMAIABqLQAAIQIjASIAQQFqJAFBfyEGIwAgAGotAABBAXEiDkUEQCMBIQYjASABQQdqQQN1aiQBC0EAIQUgAyEAIAJBAkYEQCMBIgJBAWokASMAIAJqLQAAQQJGIRBCACEUQQEhBEEAIQIDQCABIAJKBEAgDgR/QQEFIwAgBmogAkEDdWotAAAgAkEHcXVBAXELBEAgBAR+QgAhFEEAIQUDQCMBIgRBAWokASAUIwAgBGotAAAiBEH/AHGsIAWthoQhFCAEQYABcQRAIAVBB2ohBQwBCwtBACEEQgAgFEIBg30gFEIBiIUFQgAhFUEAIQUDQCMBIhFBAWokASAVIwAgEWotAAAiEUH/AHGsIAWthoQhFSARQYABcQRAIAVBB2ohBQwBCwsgFEIAIBVCAYN9IBVCAYiFfAshFCAQBEAgCiABIAlsIAJqQQN0aiAUNwMABSAKIAEgCWwgAmpBA3RqIBS5OQMACyANIANBAnRqIAI2AgAgA0EBaiEDCyACQQFqIQIMAQsLQQNBACAQGyEFBSACQQFGBEBCACEUQQAhAgNAIwEiBEEBaiQBIBQjACAEai0AACIEQf8AcawgAq2GhCEUIARBgAFxBEAgAkEHaiECDAELCyATIBSnIgRBAnRqIRBBACECA0AgAiAESARAQgAhFEEAIQUDQCMBIhFBAWokASAUIwAgEWotAAAiEUH/AHGsIAWthoQhFCARQYABcQRAIAVBB2ohBQwBCwsgAkECdCIFIBNqIwE2AgAgBSAQaiAUpyIFNgIAIwEgBWokASACQQFqIQIMAQsLQQAhAgNAIAEgAkoEQCAOBH9BAQUjACAGaiACQQN1ai0AACACQQdxdUEBcQsEQEIAIRRBACEFA0AjASIEQQFqJAEgFCMAIARqLQAAIgRB/wBxrCAFrYaEIRQgBEGAAXEEQCAFQQdqIQUMAQsLIBSnIgQEQCABIAlsIAJqQQJ0IgUgDGogBEEBa0ECdCIEIBNqKAIANgIAIAUgD2ogBCAQaigCADYCACANIANBAnRqIAI2AgAFIA0gA0ECdGogAkGAgICAeHI2AgALIANBAWohAwsgAkEBaiECDAELC0EBIQUFQQAhAgNAIAEgAkoEQCAOBH9BAQUjACAGaiACQQN1ai0AACACQQdxdUEBcQsEQCMBIgRBAWokASMAIARqLQAAIgRBCUYEQCANIANBAnRqIAJBgICAgHhyNgIABSABIAlsIAJqIRAgBEUgBEEGRnIEQEEBIQVCACEUQQAhBANAIwEiEUEBaiQBIBQjACARai0AACIRQf8AcawgBK2GhCEUIBFBgAFxBEAgBEEHaiEEDAELCyAQQQJ0IgQgDGojATYCACAEIA9qIBSnIgQ2AgAjASAEaiQBBSAEQQdGBEBBBCEFQgAhFEEAIQQDQCMBIhFBAWokASAUIwAgEWotAAAiEUH/AHGsIASthoQhFCARQYABcQRAIARBB2ohBAwBCwsgEEECdCIEIAxqIwE2AgAgBCAPaiAUpyIENgIAIwEgBGokAQUgBEEDRgRAQgAhFEEAIQQDQCAEQQhIBEAjACMBaiAEajEAACAUQgiGhCEUIARBAWohBAwBCwsjAUEIaiQBIAogEEEDdGogFDcDAAUgBEEERgRAQQIhBSMBIgRBAWokASAKIBBBA3RqIwAgBGotAAC3OQMABSAEQQJGBEBCACEUQQAhBQNAIwEiBEEBaiQBIBQjACAEai0AACIEQf8AcawgBa2GhCEUIARBgAFxBEAgBUEHaiEFDAELCyAKIBBBA3RqQgAgFEIBg30gFEIBiIU3AwBBAyEFBUIAIRRBACEEA0AjASIRQQFqJAEgFCMAIBFqLQAAIhFB/wBxrCAErYaEIRQgEUGAAXEEQCAEQQdqIQQMAQsLIAogEEEDdGpCACAUQgGDfSAUQgGIhbk5AwALCwsLCyANIANBAnRqIAI2AgALIANBAWohAwsgAkEBaiECDAELCwsLIBIgCUECdGogAyAAazYCACAIIAlqIAU6AAAgCUEBaiEJDAELCyABCw==",_=["INSERT","MODIFY","DELETE"],O=65536,b=BigInt(32),N=BigInt(Number.MAX_SAFE_INTEGER),M=-N;let y;function L(){return y||(y=function(){return(0,i.sH)(this,arguments,void 0,function*(e=(0,m.K)(C)){const t=new WebAssembly.Memory({initial:32}),{instance:s}=yield WebAssembly.instantiate(e,{env:{memory:t,abort(){throw new Error("scdb wasm abort")}}}),i=s.exports.decode,r=new TextDecoder,n=O;function o(e,s){(0,T.E0)(e);const{n:o,c:a}=function(e){const t=e[4];let s=5,i=0,r=0;const n=()=>{for(i=0,r=0;;){const t=e[s++];if(r<28?i|=(127&t)<<r:i+=(127&t)*Math.pow(2,r),!(128&t))return i>>>0;r+=7}},o=n();for(let e=0;e<o;e++){const e=n();s+=e}s+=2&t?1:2*o+7>>3;const a=n();return{n:o,c:a}}(e),c=64+o*a*8+o*a*4*2+4*o*2+4*a+a+o+4*a+o*a*4+8*o+4096,d=n+e.length+64+7&-8;const h=d+c;h>t.buffer.byteLength&&t.grow(Math.ceil((h-t.buffer.byteLength)/O));const l=new Uint8Array(t.buffer);return l.set(e,n),i(n,e.length,d),function(e,t,s,i,r,n){const o=new DataView(e),a=o.getInt32(i,!0),c=o.getInt32(i+4,!0),d=i+64,h=d,l=h+a*c*8,u=l+a*c*4,E=u+a*c*4,g=E+4*a,A=g+4*a,v=A+4*c,S=v+4*c,R=S+a*c*4,p=R+c,f=new Float64Array(e,h,a*c),I=new Int32Array(e,l,a*c),m=new Int32Array(e,u,a*c),T=new Int32Array(e,E,a),C=new Int32Array(e,g,a),O=new Int32Array(e,A,c),y=t.subarray(R,R+c),L=t.subarray(p,p+a),w=new Int32Array(e,v,c),D=new Int32Array(e,S,a*c),U=new Array(a);for(let e=0;e<a;e++){const i=s+T[e];U[e]={DETAILS:{OPERATION:_[L[e]],ROW_REF:n.decode(t.subarray(i,i+C[e]))}}}let B=0;for(let e=0;e<c;e++){const i=r[O[e]];if(void 0===i)throw new Error(`Unknown SCDB column id ${O[e]}`);const c=y[e],d=e*a,l=w[e];if(1===c){const e=new Map;for(let r=0;r<l;r++){const r=D[B++],o=2147483647&r;if(r<0){U[o][i]=null;continue}const a=I[d+o];let c=e.get(a);if(void 0===c){const i=s+a;c=n.decode(t.subarray(i,i+m[d+o])),e.set(a,c)}U[o][i]=c}}else if(4===c)for(let e=0;e<l;e++){const e=D[B++],r=2147483647&e;if(e<0){U[r][i]=null;continue}const n=s+I[d+r];U[r][i]=t.slice(n,n+m[d+r])}else if(3===c)for(let e=0;e<l;e++){const e=D[B++],t=2147483647&e;if(e<0){U[t][i]=null;continue}const s=h+8*(d+t),r=(BigInt(o.getInt32(s+4,!0))<<b)+BigInt(o.getUint32(s,!0));U[t][i]=r>=M&&r<=N?Number(r):r}else{const e=2===c;for(let t=0;t<l;t++){const t=D[B++],s=2147483647&t;U[s][i]=t<0?null:e?0!==f[d+s]:f[d+s]}}}return U}(t.buffer,l,n,d,s,r)}return{decodeToRows:o}})}()),y}var w=s(4348),D=s(98316),U=s(17465),B=s(56093),F=s(27875),G=s(49587),Q=s(35228),P=s(32748),H=s(21281);const k=1e4,$=6e4;var q;!function(e){e.Linear="linear",e.Exponential="exponential"}(q||(q={}));const W=(e,t)=>{const{reconnectInterval:s=k}=e,i=s>$?$:s,r=Math.min(i*Math.pow(2,t),$);return r/2+Math.random()*r/2},V=e=>{const{reconnectInterval:t=k}=e;return t>$?$:t};var j=s(54315),Y=s(83464),x=s(16183),K=s(5709);class X{constructor(e){this.interval=e}get workerScript(){return`\n const startTime = Date.now();\n setInterval(function() {\n self.postMessage(Date.now() - startTime);\n }, ${this.interval});\n `}start(e){this.stop(),this.runWorker(e)}stop(){this.worker&&(this.worker.terminate(),delete this.worker)}runWorker(e){this.worker||(this.worker=new Worker(URL.createObjectURL(new Blob([this.workerScript],{type:"text/javascript"}))),this.worker.onmessage=t=>e(t.data))}}class J extends h.B{constructor(){super()}}l.c;class z{constructor(e,t,s,i){this._message=e,this._onMessage=t,this._onError=s,this._isSubscription=i}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}const Z=e=>new Promise(t=>{e.addEventListener("abort",()=>t(void 0),{once:!0})});let ee=class{get isConfigured(){return this.status.isConfigured}get isConnecting(){return this.status.isConnecting}get isConnected(){return this.status.isConnected}get isConnectedSubject(){return this.status.isConnectedSubject}get isDisconnected(){return this.status.isDisconnected}get isDisconnectedByServer(){return this.status.isDisconnectedByServer}get isReconnecting(){return this.status.isReconnecting}get hasValidSession(){return U.v.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){U.v.deprecated("set hasValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}get host(){var e;return null!==(e=this.url)&&void 0!==e?e:n.vN}get pendingConnection(){var e;return null!==(e=this.reconnectOutcome)&&void 0!==e?e:this.attempt}get onCurrentSession(){return this.attemptAuthChanges===this.authChanges}constructor(e,t,s,i,r,n,o){var a,c;this.messageBuilder=e,this.session=t,this.serializer=s,this.uuid=i,this.status=r,this.user=n,this.config=o,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.sessionCheckTimeout=1e4,this.scdbWasmRequested=!1,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.authChanges=0,this.attemptAuthChanges=0,this.socketMessages=()=>this.wsMessages,null===(c=null===(a=this.user)||void 0===a?void 0:a.addAuthenticationChangeListener)||void 0===c||c.call(a,()=>{this.authChanges+=1})}get scdbDecoder(){var e;return null!==(e=this._scdbDecoder)&&void 0!==e||(this._scdbDecoder=new Y.d(this.metaCache)),this._scdbDecoder}get heartbeatLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeatLogging)&&void 0!==t&&t}get messageLoggingIsEnabled(){var e,t;return null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableMessageLogging)&&void 0!==t&&t}connect(e=n.vN,t,s){var r,o;if(this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=s?s:this.config.reconnect,"SCDB_V1"===(null===(r=this.connectOptions)||void 0===r?void 0:r.dataserverEncoding)&&this.ensureScdbWasm(),!(null===(o=this.config.isWebSocketExpression)||void 0===o?void 0:o.test(this.host)))return U.v.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void U.v.warn("Make sure the host url starts with wss:// or ws://");this.attemptAuthChanges=this.authChanges;const a=!!this.websocket&&this.isConnected,c=new Promise(e=>{var t,s,r,n;U.v.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`),this.status.isConnecting=!this.isReconnecting,this.rejectPendingRequests();(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(s=this.socketSubscription)||void 0===s||s.unsubscribe();const o=new I.Q({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),U.v.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{var s;this.websocket===o?(this.status.onClose(t),this.status.isConnecting=!1,this.rejectPendingRequests(new F.K_("WebSocket connection closed before a reply arrived",{closeCode:null==t?void 0:t.code,closeReason:null==t?void 0:t.reason})),this.isDisconnectedByServer&&U.v.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)):e(null!==(s=this.connection)&&void 0!==s&&s)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.websocket=o;this.socketSubscription=this.websocket.subscribe(null!==(n=null===(r=this.connectOptions)||void 0===r?void 0:r.connectObserver)&&void 0!==n?n:{next:e=>(0,i.sH)(this,void 0,void 0,function*(){var t;(0,Q.v)(e);const s=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,s);const{SOURCE_REF:i,MESSAGE_TYPE:r}=e,n=this.getMessageHandler(i,r);if(!n)return void(e.MESSAGE_TYPE===H.Go.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{U.v.error((0,B.O)(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t),t)}));const o=(0,j.cV)(e);switch(e.MESSAGE_TYPE){case H.Gp.EVENT_LOGIN_AUTH_ACK:this.applyServerHeartbeatInterval(e.DETAILS);break;case H.Go.LOGOUT_ACK:return n.onReceivedMessage.call(this,e),void this.cleanMessages();case H.Go.LOGON_ACK:return void this.scdbDecoder.onLogonAck(e,(0,Y.r)(n.sentMessage));case H.Go.LOGOFF_ACK:break;case H.Go.QUERY_UPDATE:n.isSubscription||this.sendDataLogoff(i)}"SCDB_V1"===(null==e?void 0:e.ENCODING)&&this.ensureScdbWasm();try{this.scdbDecoder.onMessage(e,(0,Y.r)(n.sentMessage))}catch(e){U.v.error(`Failed to decode ${r} for SourceRef: ${i}`,e);const s={SOURCE_REF:i,MESSAGE_TYPE:H.Go.MSG_NACK,ERROR:[{CODE:"SCDB_DECODE_FAILED",TEXT:String(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:e)}]};return n.onReceivedError.call(this,new F.GI(s,n.sentMessage)),this.removeMessageHandler(i),void this.wsMessages.next(s)}o?n.onReceivedError.call(this,new F.GI(e,n.sentMessage)):n.onReceivedMessage.call(this,e),this.wsMessages.next(e),n.isSubscription||this.removeMessageHandler(i)}),error:e=>{U.v.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():U.v.info("Connection is now closed")}}),this.status.isConfigured=!0});return this.connection=c,this.attempt=c,c.then(()=>{this.attempt===c&&(this.attempt=void 0)}),a&&(this.status.isConnected=!1),c}handleExpiredSession(){return(0,i.sH)(this,void 0,void 0,function*(){if(this.usesCookieAuth)yield this.handleCookieBasedReauth();else{const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);this.session.setAuthResult(t),this.updateSessionAndSubscriptions(t)}})}get usesCookieAuth(){return!this.session.getSessionStorageItem("refreshToken")}handleCookieBasedReauth(){return(0,i.sH)(this,void 0,void 0,function*(){const e=yield(0,x.$G)();e!==x.vE.HANDLED_BY_OTHER_TAB?e!==x.vE.FAILED&&(yield this.connect(this.url,this.connectOptions,this.reconnectOptions)):(0,x.Z8)(()=>this.connect(this.url,this.connectOptions,this.reconnectOptions))})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===H.Gp.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}applyServerHeartbeatInterval(e){var t,s;const i=null!==(t=null==e?void 0:e.HEARTBEAT_INTERVAL_SECONDS)&&void 0!==t?t:0;i>0&&void 0===(null===(s=this.connectOptions)||void 0===s?void 0:s.heartbeatInterval)&&(this.heartbeatInterval=i*this.secondsMultiplier,this.prepareHeartbeat())}prepareHeartbeat(){var e,t,s,r;this.heartbeatTicker&&this.heartbeatTicker.stop();const n=null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.heartbeatInterval)&&void 0!==t?t:this.heartbeatInterval,o=()=>(0,i.sH)(this,void 0,void 0,function*(){var e,t,s;if(!this.isConnected)return;const i=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);let r;(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(i);try{r=yield this.send(i,!0,{timeout:n})}catch(e){return void U.v.debug("Heartbeat ping got no pong: ",e)}this.user.isAuthenticated&&!r.IS_AUTHENTICATED&&this.handleExpiredSession().catch(e=>U.v.debug("Could not refresh the expired session: ",e)),(null===(s=this.connectOptions)||void 0===s?void 0:s.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(r),this.heartbeatIsEnabled=r.MESSAGE_TYPE===H.Go.HEARTBEAT_PONG&&r.SOURCE_REF===i.SOURCE_REF});(null!==(r=null===(s=this.connectOptions)||void 0===s?void 0:s.enableHeartbeat)&&void 0!==r?r:this.heartbeatIsEnabled)&&(this.heartbeatTicker=new X(n),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&U.v.debug(`Sending a heartbeat ping every ${n} ms`))}))}reconnect(){var e,t,s,i,r;const n=!(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)&&!1===(null===(t=this.connectOptions)||void 0===t?void 0:t.enableHeartbeat);if(this.isReconnecting||n)return;this.status.isReconnecting=!0;const o=(null===(s=this.reconnectOptions)||void 0===s?void 0:s.reconnectStrategy)===q.Exponential?W:V;let a;const c=new Promise(e=>{a=e});this.reconnectOutcome=c;let d=!1;const h=this.isConnectedSubject.asObservable().pipe((0,A.n)(e=>e?(0,g.of)(-1):((e,t)=>new l.c(s=>{let i,r=0;return function n(){s.next(r),s.closed||(clearTimeout(i),i=setTimeout(n,t(e,r)),r+=1)}(),()=>{clearTimeout(i)}}))(this.reconnectOptions,o).pipe((0,v.p)((e,t)=>{var s,i,r;const n=(null===(s=this.connectOptions)||void 0===s?void 0:s.alwaysOn)?t+1:null!==(r=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==r?r:10;return t>=n?(this.status.reconnectionLimitReached=!0,d=!0,(0,u.$)(()=>new Error(`Max reconnect attempts ${n} reached.`))):e>0&&this.user.isAuthenticated&&this.usesCookieAuth?(0,E.H)(this.refreshSessionBeforeReconnect()).pipe((0,S.T)(()=>t)):(0,g.of)(t)}))),(0,R.v)(()=>this.websocket&&!this.isConnected),(0,p.j)(()=>{this.reconnectOutcome===c&&(this.reconnectOutcome=void 0),a(this.isConnected),d&&this.notifyReconnectionLimitReached()}));this.reconnectLoop=h.subscribe(null!==(r=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectObserver)&&void 0!==r?r:{next:e=>{U.v.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;U.v.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{U.v.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}notifyReconnectionLimitReached(){Promise.resolve().then(()=>{var e,t;return null===(t=null===(e=this.reconnectOptions)||void 0===e?void 0:e.onReconnectionLimitReached)||void 0===t?void 0:t.call(e)}).catch(e=>U.v.error("onReconnectionLimitReached failed: ",e))}refreshSessionBeforeReconnect(){return(0,i.sH)(this,void 0,void 0,function*(){const e=AbortSignal.timeout(this.sessionCheckTimeout),t=yield Promise.race([(0,x.$G)({reloadOnFailure:!1,signal:e}),Z(e)]).catch(e=>{U.v.debug("Could not check the session before reconnecting: ",e)});if(t===x.vE.FAILED)throw this.reloadPage(),new Error("Session expired and could not be refreshed.");t===x.vE.HANDLED_BY_OTHER_TAB&&(yield(0,x.Lj)(e))})}reloadPage(){window.location.reload()}reset(){var e,t;this.status.isConnected=!1,this.status.isConfigured=!1,this.status.isReconnecting=!1,null===(e=this.reconnectLoop)||void 0===e||e.unsubscribe(),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.websocket&&this.websocket.complete(),this.websocket=null,this.attempt=void 0,this.connection=void 0,this.cleanMessages()}cleanMessages(){this.rejectPendingRequests(),this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new J,this.wsMessageHandlers=new Map,this.scdbDecoder.clear()}rejectPendingRequests(e=new F.K_("WebSocket connection closed before a reply arrived")){var t;null===(t=this.wsMessageHandlers)||void 0===t||t.forEach((t,s)=>{t.isSubscription||(this.wsMessageHandlers.delete(s),t.onReceivedError.call(this,e))})}send(e,t=!0,s){var i,r;const n=(0,j.nx)(null==s?void 0:s.signal);if(n)return n;if(!this.isConnected)return Promise.reject(new F.K_("WebSocket connection is closed"));const o=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,o),this.scdbDecoder.prepareRequest(e);const a=new Promise((s,i)=>{t&&this.setMessageHandler(e,s,i),this.websocket.next(e)});return t?(0,j.fb)(a,{timeout:null!==(i=null==s?void 0:s.timeout)&&void 0!==i?i:null===(r=this.connectOptions)||void 0===r?void 0:r.requestTimeout,signal:null==s?void 0:s.signal},()=>this.removeMessageHandler(e.SOURCE_REF)):a}sendForStream(e,t,s,i){if(!this.isConnected)return(0,u.$)(()=>new F.K_("WebSocket connection is closed"));const r=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,r),this.scdbDecoder.prepareRequest(e),this.setMessageHandler(e,t,s,!0);let n=!1,o=!1;return c.DOM.queueUpdate(()=>{o||(n=!0,this.websocket.next(e))}),new l.c(t=>{const s=this.wsMessages.pipe((0,f.p)(t=>t.SOURCE_REF===e.SOURCE_REF)).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}});return()=>{o=!0,s.unsubscribe(),n&&this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),i&&i()}})}sendForStreamWithoutTeardown(e,t,s){if(!this.isConnected)return(0,u.$)(()=>new F.K_("WebSocket connection is closed"));const i=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.info,i),this.scdbDecoder.prepareRequest(e),this.setMessageHandler(e,t,s,!0),this.websocket.next(e),this.wsMessages.pipe((0,f.p)(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,s,i=!1){const r=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,U.v.debug,r),this.wsMessageHandlers.set(e.SOURCE_REF,new z(e,t,s,i))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1).catch(t=>U.v.debug(`DATA_LOGOFF not sent for SourceRef: ${e}`,t))}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}setScdbMetadataRefresher(e){this.scdbDecoder.setMetadataRefresher(e)}ensureScdbWasm(){this.scdbWasmRequested||(this.scdbWasmRequested=!0,L().then(e=>this.scdbDecoder.setWasm(e)).catch(e=>U.v.warn("SCDB WASM decoder unavailable, using pure-JS decoder",e)))}getMessageHandler(e,t){const s=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,U.v.debug,s),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,s){switch(e){case H.Gp.DATA_LOGOFF:t(s);break;case H.Go.HEARTBEAT_PING:case H.Go.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(s);break;default:this.messageLoggingIsEnabled&&t(s)}}};(0,i.Cg)([c.observable],ee.prototype,"websocket",void 0),(0,i.Cg)([c.observable],ee.prototype,"wsMessages",void 0),(0,i.Cg)([c.observable],ee.prototype,"wsMessageHandlers",void 0),(0,i.Cg)([P.l],ee.prototype,"http",void 0),(0,i.Cg)([w.G],ee.prototype,"metaCache",void 0),(0,i.Cg)([c.observable],ee.prototype,"heartbeatIsEnabled",void 0),ee=(0,i.Cg)([(0,i.Qj)(0,H.lT),(0,i.Qj)(1,D.N),(0,i.Qj)(2,o.b_),(0,i.Qj)(3,a.k),(0,i.Qj)(4,K.S5),(0,i.Qj)(5,r.KJ),(0,i.Qj)(6,G.R)],ee);const te=d.DI.createInterface(e=>e.singleton(ee));function se(){return d.DI.getOrCreateDOMContainer().get(te)}},5709(e,t,s){s.d(t,{S5:()=>d});var i=s(55823),r=s(92277),n=s(33681),o=s(38370),a=s(97156);class c{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new a.t(this.isConnected)}get hasValidSession(){return this.user.isAuthenticated}get isDisconnected(){return!this.isConnected}get isDisconnectedByServer(){return void 0!==this.closedClean&&!this.closedClean}isConnectedChanged(){var e;this.isConnected&&this.resetClosedState(),this.isConnecting=!1,this.isReconnecting=!1,null===(e=this.isConnectedSubject)||void 0===e||e.next(this.isConnected)}isReconnectingChanged(){this.isReconnecting&&(this.reconnectionLimitReached=!1)}resetClosedState(){this.closedCode=void 0,this.closedReason=void 0,this.closedClean=void 0}serialize(){return{isConfigured:this.isConfigured,isConnecting:this.isConnecting,isConnected:this.isConnected,isDisconnected:this.isDisconnected,isDisconnectedByServer:this.isDisconnectedByServer,isReconnecting:this.isReconnecting,reconnectionLimitReached:this.reconnectionLimitReached,hasValidSession:this.hasValidSession,closedCode:this.closedCode,closedReason:this.closedReason,closedClean:this.closedClean}}onClose(e){this.isConnected=!1,this.closedCode=e.code,this.closedReason=e.reason,this.closedClean=e.wasClean}}(0,i.Cg)([n.observable],c.prototype,"isConfigured",void 0),(0,i.Cg)([n.observable],c.prototype,"isConnecting",void 0),(0,i.Cg)([n.observable],c.prototype,"isConnected",void 0),(0,i.Cg)([n.observable],c.prototype,"isReconnecting",void 0),(0,i.Cg)([n.observable],c.prototype,"reconnectionLimitReached",void 0),(0,i.Cg)([n.observable],c.prototype,"closedCode",void 0),(0,i.Cg)([n.observable],c.prototype,"closedReason",void 0),(0,i.Cg)([n.observable],c.prototype,"closedClean",void 0),(0,i.Cg)([r.KJ],c.prototype,"user",void 0);const d=o.DI.createInterface(e=>e.singleton(c))},34193(e,t,s){s.d(t,{d:()=>r});var i=s(17465);function r(e,t="ROW_REF"){const s=e=>{var s;const i=null!==(s=e.DETAILS[t])&&void 0!==s?s:e[t],r=Object.assign(Object.assign({},e),{[t]:i});return delete r.DETAILS,r},r=[],n=[],o=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":r.push(s(t));break;case"MODIFY":o.push(s(t));break;case"DELETE":n.push(s(t));break;default:i.v.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:r,deletes:n,updates:o,SOURCE_REF:e.SOURCE_REF}}},6884(e,t,s){s.d(t,{aB:()=>h,OD:()=>c});var i=s(38370);function r(e,t){const s=new Date(e),i=s.getUTCFullYear(),r=String(s.getUTCMonth()+1).padStart(2,"0"),n=String(s.getUTCDate()).padStart(2,"0");if(t)return`${i}${r}${n}`;return`${i}${r}${n}-${String(s.getUTCHours()).padStart(2,"0")}:${String(s.getUTCMinutes()).padStart(2,"0")}`}const n={n:"\n",r:"\r",t:"\t",b:"\b",f:"\f"};function o(e){const t=e.trim(),s=/^(['"])([\s\S]*)\1$/.exec(t);return s?s[2].replace(/\\([\s\S])/g,(e,t)=>{var s;return null!==(s=n[t])&&void 0!==s?s:t}):t}var a=s(34193);class c{}c.MAX_ROWS_250=250,c.MAX_VIEW_1000=1e3,c.REQ_REP_POLLING_INTERVAL_MS=1e4,c.DATASERVER_ROW_ID="ROW_REF",c.REQUEST_SERVER_ROW_ID="RECORD_ID",c.DEFAULT_PAGINATION_PAGE_SIZE=25,c.DEFAULT_REQ_REP_OFFSET=0;const d={options:{criteria:"",isSnapshot:!1,maxRows:c.MAX_ROWS_250,maxView:c.MAX_VIEW_1000,pollingInterval:c.REQ_REP_POLLING_INTERVAL_MS,movingView:!1,orderBy:"",resourceName:"",reverse:!1,pollTriggerEvents:[]},criteriaToFields:function(e){if(!e)return{};const t=e.split("&&").map(e=>e.trim()),s={};return t.forEach(e=>{if(e)if(e.startsWith("Expr"))!function(e,t){const s=e.match(/Expr\.(\w+)\(/);if(s)switch(s[1]){case"dateIsToday":{const s=/Expr\.dateIsToday\((\w+)\)/,i=e.match(s);if(i){const[,e]=i,s=new Date;t[`${e}_FROM`]=`${s.toISOString().replace(/-/g,"").split("T")[0]}-00:00`,s.setDate(s.getDate()+1),t[`${e}_TO`]=`${s.toISOString().replace(/-/g,"").split("T")[0]}-00:00`}break}case"dateTimeIsGreaterEqual":{const s=/Expr\.dateTimeIsGreaterEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_FROM`]=o(s)}break}case"dateTimeIsLessEqual":{const s=/Expr\.dateTimeIsLessEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_TO`]=o(s)}break}case"dateIsGreaterEqual":{const s=/Expr\.dateIsGreaterEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_FROM`]=o(s)}break}case"dateIsLessEqual":{const s=/Expr\.dateIsLessEqual\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[`${e}_TO`]=o(s)}break}case"containsIgnoreCase":{const s=/Expr\.containsIgnoreCase\((\w+), ?(['"].+['"])\)/,i=e.match(s);if(i){const[,e,s]=i;t[e]=`*${o(s)}*`}break}}}(e,s);else if(/[A-Z_]+\s*(>=|<=)\s*\d+/.test(e)){const t=e.match(/([A-Z_]+)\s*>=\s*(\d+)/);if(t){const[,e,i]=t,n=parseInt(i,10),o=e.toUpperCase(),a=o.includes("DATE")&&!o.includes("DATETIME");s[`${e}_FROM`]=r(n,a)}const i=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(i){const[,e,t]=i,n=parseInt(t,10),o=e.toUpperCase(),a=o.includes("DATE")&&!o.includes("DATETIME");s[`${e}_TO`]=r(n,a)}}else!function(e,t){const s=e.indexOf("=");t[e.substr(0,s).trim().replace(/["']/g,"")]=o(e.slice(s).replace(/^==?/,""))}(e,s)}),s},dataServerResultFilter:a.d},h=i.DI.createInterface(e=>e.instance(d))},49964(e,t,s){s.d(t,{oy:()=>C,yW:()=>T});var i=s(55823),r=s(33681),n=s(38370),o=s(50049),a=s(8790),c=s(1762),d=s(51046),h=s(65052),l=s(84190),u=s(66640),E=s(40113),g=s(36716),A=s(24669),v=s(48707),S=s(87917),R=s(17465),p=s(56093),f=s(6884),I=s(39087);let m=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,s,i,r){this.connect=e,this.auth=t,this.resources=s,this.config=i,this.connectEvents=r,this.fetchMetadataRequired=!0,this.startStreamRequired=!0,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.readOnly=!0,this._allParams=null,this.generation=0,this.pollTrigger$=new o.B}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return R.v.deprecated("Datasource.validResourceName","Use `GenesisResources.isValidResource` instead."),!!e&&!!e.trim().length}init(e){return(0,i.sH)(this,arguments,void 0,function*(e,t=this.fetchMetadataRequired,s=this.startStreamRequired){const i=this.generation+=1,r=this.initialise(i,e,t,s).catch(t=>{if(i===this.generation)throw t;return R.v.debug(`${null==e?void 0:e.resourceName} datasource initialisation failed after it was superseded:`,t),this.interruptedInit(null==e?void 0:e.resourceName)});return this.latestInit={generation:i,result:r},r})}initialise(e,t,s,r){return(0,i.sH)(this,void 0,void 0,function*(){this.fetchMetadataRequired=s,this.options=Object.assign(Object.assign({},this.config.options),t),this.invalidateCache();const{resourceName:i}=this.options,n=()=>e!==this.generation,a=this.connect.isConnected||(yield this.connect.connect(this.connect.host));if(n())return this.interruptedInit(i);if(!a)return R.v.error(`Unable to connect to ${this.connect.host} to get ${i} datasource`),this.reportStatus(),!1;const c=yield this.resources.isValidResource(i);if(n())return this.interruptedInit(i);if(!c)return R.v.error(`${i} datasource does not exist on ${this.connect.host}`),this.reportStatus(),!1;const d=yield this.resources.getResourceTypeFor(i);if(n())return this.interruptedInit(i);if(this.resourceType=d,!this.resourceType)return R.v.error(`Unable to get the resource type for ${i} datasource from ${this.connect.host}`),this.reportStatus(),!1;if(this.fetchMetadataRequired){if(yield this.fetchAndApplyMetadata(i),n())return this.interruptedInit(i);this._allParams=null}return R.v.debug(`Initializing ${i} datasource from ${this.connect.host}`),!this.options.isSnapshot&&r&&(this.pollTrigger$=new o.B,this.stream=this.createStream()),R.v.debug(`${i} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized})}startStream(){return(0,i.sH)(this,void 0,void 0,function*(){this.options.isSnapshot||void 0!==this.stream||(this.stream=this.createStream())})}destroy(){var e,t;R.v.debug("Datasource.destroy",null===(e=this.options)||void 0===e?void 0:e.resourceName),this.generation+=1,this.commitResponseUnsubscribe&&(this.commitResponseUnsubscribe(),this.commitResponseUnsubscribe=void 0),null===(t=this.pollTrigger$)||void 0===t||t.complete(),this.status=void 0,this.fetchMetadataRequired=!0,this.options={},this.resourceType=void 0,this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.criteriaOnlyRequest=!1,this.loadMoreCount=0,this.stream=void 0}get allResourceParams(){var e;if(this._allParams)return this._allParams;let t;if(this.options.orderBy)if(this.criteriaOnlyRequest||(null===(e=this.availableIndexes)||void 0===e?void 0:e.findIndex(e=>e.NAME===this.options.orderBy))>-1)t=this.options.orderBy;else{const e=this.availableIndexes.map(e=>e.NAME);R.v.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:",e)}return this._allParams={CRITERIA_MATCH:this.options.criteria,MAX_ROWS:this.options.maxRows,ORDER_BY:t,VIEW_NUMBER:this.options.viewNumber,FIELDS:this.options.fields,MAX_VIEW:this.options.maxView,MOVING_VIEW:this.options.movingView,REVERSE:this.options.reverse,ENCODING:this.options.encoding,DISABLE_POLLING:this.options.disablePolling,OFFSET:this.options.offset,POLLING_INTERVAL:this.options.pollingInterval,REQUEST:this.options.request},R.v.debug("Getting configured params:",this._allParams),this._allParams}get dataserverOnlyParams(){return{CRITERIA_MATCH:this.allResourceParams.CRITERIA_MATCH,MAX_ROWS:this.allResourceParams.MAX_ROWS,VIEW_NUMBER:this.allResourceParams.VIEW_NUMBER,FIELDS:this.allResourceParams.FIELDS,MAX_VIEW:this.allResourceParams.MAX_VIEW,MOVING_VIEW:this.allResourceParams.MOVING_VIEW,ORDER_BY:this.allResourceParams.ORDER_BY,REVERSE:this.allResourceParams.REVERSE,ENCODING:this.allResourceParams.ENCODING}}get requestOnlyParams(){const e=this.allResourceParams,{REQUEST:t}=e,s=(0,i.Tt)(e,["REQUEST"]);return{DETAILS:{CRITERIA_MATCH:this.options.requestAutoSetup?void 0:s.CRITERIA_MATCH,MAX_ROWS:s.MAX_ROWS,OFFSET:s.OFFSET,ORDER_BY:s.ORDER_BY,VIEW_NUMBER:s.VIEW_NUMBER,ENCODING:s.ENCODING},REQUEST:this.criteriaOnlyRequest?{}:null!=t?t:this.buildRequestFields()}}buildRequestFields(){if(!this.options.requestAutoSetup)return{};const e=Object.fromEntries(this.requestFields.map(e=>[e.NAME,"*"])),t=this.options.criteria?this.config.criteriaToFields(this.options.criteria):{};return Object.assign(Object.assign({},e),t)}updateLoadMoreCount(e){this.loadMoreCount=e}snapshot(e){return(0,i.sH)(this,void 0,void 0,function*(){switch(R.v.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case I.v.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case I.v.REQUEST_SERVER:return this.connect.request(this.options.resourceName,Object.assign(Object.assign({},this.requestOnlyParams),e));default:throw new Error(`Snapshot not supported for selected resource type: ${this.resourceType}`)}})}snapshotFiltered(){return(0,i.sH)(this,arguments,void 0,function*(e="ROW_REF"){const t=yield this.snapshot();return Array.isArray(t)?t:t.REPLY?t.REPLY:t.ROW?this.config.dataServerResultFilter(t,e).inserts:void 0})}createStream(){if(![I.v.DATASERVER,I.v.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===I.v.DATASERVER?this.createDataserverStream():(R.v.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())}createDataserverStream(){const{resourceName:e}=this.options;return this.connect.stream(e,e=>{},t=>R.v.error((0,p.O)(`${e} stream failed`,t),t),this.dataserverOnlyParams)}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:s,response:i}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(s)&&(null===(t=i.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(R.v.debug(`Received commit response for ${s}, triggering poll.`),this.triggerPoll())});const e=this.allResourceParams.DISABLE_POLLING?void 0:this.allResourceParams.POLLING_INTERVAL,t=()=>{const e=this.requestOnlyParams;if(this.resourceType===I.v.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,s=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=s}return(0,a.z)([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe((0,u.v)(()=>this.connect.isConnected&&this.auth.isLoggedIn),(0,l.n)(()=>(0,c.H)(this.snapshot(e))))};return e?this.pollTrigger$.pipe((0,h.Z)(0),(0,l.n)(()=>(0,d.O)(0,e).pipe((0,l.n)(t)))):this.pollTrigger$.pipe((0,h.Z)(0),(0,l.n)(t))}fetchAndApplyMetadata(e){return(0,i.sH)(this,void 0,void 0,function*(){var t,s,i,r;const n=this.generation;try{R.v.debug(`Requesting metadata for ${e} Datasource`);const o=yield this.connect.getMetadata(e);if(n!==this.generation)return;o&&(this.availableIndexes=null!==(t=o.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(s=o.SORTABLE_FIELDS)&&void 0!==s?s:[],this.availableCriteriaFields=null!==(i=o.CRITERIA_FIELDS)&&void 0!==i?i:[],this.originalFieldDef=(0,v.a)(o),this.fieldMetadata=(0,v.X)(this.originalFieldDef),this.requestFields=o.REQUEST_FIELD||[],this.customRequestFields=o.FIELD||[],this.criteriaOnlyRequest=o.CRITERIA_ONLY_REQUEST||!1,this.fetchMetadataRequired=!1),this.status=this.normaliseStatus({isInitialized:!0,metadataRequired:!0,hasMetadata:(null===(r=this.fieldMetadata)||void 0===r?void 0:r.length)>0})}catch(t){if(n!==this.generation)return void R.v.debug(`Metadata Fetch for ${e} failed after it was superseded:`,t);R.v.error((0,p.O)(`Metadata Fetch failed for ${e}:`,t),t),this.status=this.normaliseStatus({isInitialized:!1,metadataRequired:!0,hasMetadata:!1})}})}reportStatus(e={}){var t;const s=null!==(t=this.config.eventEmitter)&&void 0!==t?t:document;this.status=this.normaliseStatus(e),R.v.debug(`Dispatching '${I.w}'`,this.status),null==s||s.dispatchEvent(new CustomEvent(I.w,{detail:this.status,bubbles:s!==document,composed:!0}))}normaliseStatus(e){var t,s,i,r,n;const o=null!==(t=e.isInitialized)&&void 0!==t?t:this.initialized,a=null!==(s=e.metadataRequired)&&void 0!==s?s:this.fetchMetadataRequired,c=null!==(i=e.hasMetadata)&&void 0!==i?i:(null===(r=this.fieldMetadata)||void 0===r?void 0:r.length)>0;return{name:null===(n=this.options)||void 0===n?void 0:n.resourceName,type:this.resourceType,isInitialized:o,metadataRequired:a,hasMetadata:c}}invalidateCache(){this._allParams=null}interruptedInit(e){R.v.debug(`${e} datasource initialisation was superseded`);const t=this.latestInit;return!(!t||t.generation!==this.generation)&&t.result}};(0,i.Cg)([r.observable],m.prototype,"status",void 0),(0,i.Cg)([r.observable],m.prototype,"fetchMetadataRequired",void 0),(0,i.Cg)([r.observable],m.prototype,"startStreamRequired",void 0),(0,i.Cg)([r.observable],m.prototype,"originalFieldDef",void 0),(0,i.Cg)([r.observable],m.prototype,"fieldMetadata",void 0),(0,i.Cg)([r.observable],m.prototype,"requestFields",void 0),(0,i.Cg)([r.observable],m.prototype,"customRequestFields",void 0),(0,i.Cg)([r.observable],m.prototype,"availableIndexes",void 0),(0,i.Cg)([r.observable],m.prototype,"availableSortableFields",void 0),(0,i.Cg)([r.observable],m.prototype,"availableCriteriaFields",void 0),(0,i.Cg)([r.observable],m.prototype,"criteriaOnlyRequest",void 0),(0,i.Cg)([r.observable],m.prototype,"loadMoreCount",void 0),(0,i.Cg)([r.observable],m.prototype,"readOnly",void 0),(0,i.Cg)([r.observable],m.prototype,"stream",void 0),m=(0,i.Cg)([(0,i.Qj)(0,g.dm),(0,i.Qj)(1,E.N),(0,i.Qj)(2,S.ME),(0,i.Qj)(3,f.aB),(0,i.Qj)(4,A.a4)],m);const T=n.DI.createInterface(e=>e.transient(m));function C(){return n.DI.getOrCreateDOMContainer().get(T)}},39087(e,t,s){var i;s.d(t,{v:()=>i,w:()=>r}),function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(i||(i={}));const r="datasource-status-changed"},34127(e,t,s){function i(e){var t;if("function"==typeof atob){const t=atob(e),s=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)s[e]=t.charCodeAt(e);return s}const s=null===(t=globalThis.Buffer)||void 0===t?void 0:t.from(e,"base64");return s?Uint8Array.from(s):new Uint8Array(0)}s.d(t,{K:()=>i})},67230(e,t,s){s.d(t,{E0:()=>g,V$:()=>E});const i=[83,67,68,49],r=["INSERT","MODIFY","DELETE"],n=BigInt(1),o=BigInt(Number.MAX_SAFE_INTEGER),a=-o,c=new TextDecoder;function d(e,t){return 1==(e[t>>3]>>(7&t)&1)}function h(e){return e+7>>3}class l{constructor(e){this.bytes=e,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}byte(){return this.bytes[this.pos++]}slice(e){const t=this.bytes.subarray(this.pos,this.pos+e);return this.pos+=e,t}uvarint(){let e=0,t=0;for(;;){const s=this.byte();if(t<28?e|=(127&s)<<t:e+=(127&s)*Math.pow(2,t),!(128&s))return e>>>0;t+=7}}zigzag(){let e=0,t=0,s=null;for(;;){const i=this.byte();if(t<49?e+=(127&i)*Math.pow(2,t):(null===s&&(s=BigInt(e)),s+=BigInt(127&i)<<BigInt(t)),t+=7,!(128&i))break}if(null===s)return e%2?-(e+1)/2:e/2;const i=s>>n^-(s&n);return i>=a&&i<=o?Number(i):i}doubleBE(){const e=this.view.getFloat64(this.pos,!1);return this.pos+=8,e}string(){const e=this.uvarint(),t=this.bytes,s=this.pos,i=s+e;this.pos=i;for(let e=s;e<i;e++)if(t[e]>=128)return c.decode(t.subarray(s,i));if(e<=4096)return String.fromCharCode.apply(null,t.subarray(s,i));let r="";for(let e=s;e<i;e+=4096)r+=String.fromCharCode.apply(null,t.subarray(e,Math.min(i,e+4096)));return r}}function u(e){const t=e.byte();switch(t){case 0:case 6:return e.string();case 1:case 2:case 5:case 8:return e.zigzag();case 3:return e.doubleBE();case 4:return 0!==e.byte();case 7:return e.slice(e.uvarint());case 9:return null;default:throw new Error(`Unknown SCDB value tag ${t}`)}}function E(e,t){const s=A(e),i=s.byte(),r=s.uvarint(),n=v(s,r),o=S(s,r,i),a=new Array(r);for(let e=0;e<r;e++)a[e]={DETAILS:{OPERATION:o[e],ROW_REF:n[e]}};return R(s,r,t,a),a}function g(e){for(let t=0;t<i.length;t++)if(e[t]!==i[t])throw new Error("Not an SCDB block (bad magic)")}function A(e){g(e);const t=new l(e);return t.pos=i.length,t}function v(e,t){const s=new Array(t);for(let i=0;i<t;i++)s[i]=e.string();return s}function S(e,t,s){const i=new Array(t);if(2&s){const s=r[e.byte()];for(let e=0;e<t;e++)i[e]=s;return i}const n=e.slice(h(2*t));for(let e=0;e<t;e++){const t=d(n,2*e)?1:0,s=d(n,2*e+1)?2:0;i[e]=r[t|s]}return i}function R(e,t,s,i){const r=e.uvarint();for(let n=0;n<r;n++){const r=e.uvarint(),n=s[r];if(void 0===n)throw new Error(`Unknown SCDB column id ${r}`);const c=e.byte(),l=!!(1&e.byte()),E=l?null:e.slice(h(t));if(1===c){const s=e.uvarint(),r=new Array(s);for(let t=0;t<s;t++)r[t]=e.string();for(let s=0;s<t;s++)if(l||d(E,s)){const t=e.uvarint();i[s][n]=0===t?null:r[t-1]}}else if(2===c){let s=0;if(2===e.byte()){let r=BigInt(0);for(let c=0;c<t;c++)if(l||d(E,c)){const t=e.zigzag(),d="bigint"==typeof t?t:BigInt(t);r=s>0?r+d:d,i[c][n]=r>=a&&r<=o?Number(r):r,s++}}else{let r=0;for(let o=0;o<t;o++)if(l||d(E,o)){const t=e.zigzag();r=s>0?r+Number(t):Number(t),i[o][n]=r,s++}}}else for(let s=0;s<t;s++)(l||d(E,s))&&(i[s][n]=u(e))}}},4348(e,t,s){s.d(t,{G:()=>n});var i=s(38370);class r{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null,this.cachedRequests=new Map}getMetadataFor(e){return this.cachedMetadata.get(e)}getJsonSchemaFor(e){return this.cachedJsonSchema.get(e)}getResources(){return this.cachedResources}hasMetadataFor(e){return this.cachedMetadata.has(e)}hasJsonSchemaFor(e){return this.cachedJsonSchema.has(e)}hasResources(){return null!==this.cachedResources}setMetadataFor(e,t){this.cachedMetadata.set(e,t)}setJsonSchemaFor(e,t){this.cachedJsonSchema.set(e,t)}setResources(e){this.cachedResources=e}getRequestFor(e){return this.cachedRequests.get(e)}hasRequestFor(e){return this.cachedRequests.has(e)}setRequestFor(e,t){this.cachedRequests.set(e,t)}}const n=i.DI.createInterface(e=>e.singleton(r))},41119(e,t,s){var i;s.d(t,{v:()=>r,w:()=>i}),function(e){e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.ENUM="ENUM",e.DATE="DATE",e.DATETIME="DATETIME",e.CUSTOM="CUSTOM",e.NANO_TIMESTAMP="NANO_TIMESTAMP"}(i||(i={}));const r={STRING:i.STRING,ENUM:i.ENUM,BOOLEAN:i.BOOLEAN,INT:i.NUMBER,LONG:i.NUMBER,DOUBLE:i.NUMBER,BIGDECIMAL:i.NUMBER,DATE:i.DATE,DATETIME:i.DATETIME,NANO_TIMESTAMP:i.NANO_TIMESTAMP}},48707(e,t,s){s.d(t,{X:()=>o,a:()=>a});var i=s(39087),r=s(17465),n=s(41119);const o=e=>e?e.map(e=>{const t={name:e.NAME,type:n.v[e.TYPE]||n.w.STRING};if(e.TYPE===n.w.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){r.v.error(e),t.enumOptions=[]}return t}):null,a=e=>{var t;const s=null==e?void 0:e.TYPE;if(s===i.v.DATASERVER)return e.FIELD||[];if(s===i.v.REQUEST_SERVER)return e.REPLY_FIELD||(null===(t=e.REPLY)||void 0===t?void 0:t.FIELD)||[];throw new Error(`Unsupported resource type: ${s}`)}},87917(e,t,s){s.d(t,{ME:()=>u});var i=s(55823),r=s(38370),n=s(36716),o=s(17465),a=s(79780);const c={throwWhenUnavailable:!0,throwWhenUnknown:!1},d=r.DI.createInterface(e=>e.instance(c)),h=(0,a.Es)("genesis-resources");let l=class{constructor(e,t){this.connect=e,this.config=t}isValidResource(e){return(0,i.sH)(this,void 0,void 0,function*(){if(!(e=null==e?void 0:e.trim()))return!1;yield this.fetchResources();return!!this.resources.find(t=>t.RESOURCE_NAME===e)})}getResourceTypeFor(e){return(0,i.sH)(this,void 0,void 0,function*(){yield this.fetchResources();const t=this.resources.find(t=>t.RESOURCE_NAME===e);if(t)return t.RESOURCE_TYPE;const s=`${e} resource does not exist.`;if(o.v.error(s),this.config.throwWhenUnknown)throw new Error(s)})}getAllResources(){return(0,i.sH)(this,void 0,void 0,function*(){return this.resources||(yield this.fetchResources()),this.resources})}destroy(){this.resources=void 0,this.resourcesPromise=void 0}fetchResources(){return(0,i.sH)(this,void 0,void 0,function*(){var e;if(this.resources)return Promise.resolve();if(this.resourcesPromise)yield this.resourcesPromise;else{this.resourcesPromise=this.connect.getAvailableResources();const t=yield this.resourcesPromise;if(this.resources=null==t?void 0:t.RESOURCES,!(null===(e=this.resources)||void 0===e?void 0:e.length)){const e="Genesis resources unavailable.";if(o.v.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=r.DI.getOrCreateDOMContainer().get(h);e.postMessage("resources-loaded",this.resources),e.close()}};l=(0,i.Cg)([(0,i.Qj)(0,n.dm),(0,i.Qj)(1,d)],l);const u=r.DI.createInterface(e=>e.singleton(l))},98316(e,t,s){s.d(t,{N:()=>n});var i=s(38370);class r{constructor(){this.storageKeyPrefix="",this.returnUrl=this.getSessionStorageItem("returnUrl")||""}deleteUserFromSessionStorage(){["authToken","refreshToken","sessionId","ssoToken"].forEach(e=>this.removeSessionStorageItem(e)),this.removeLocalStorageItem("refreshToken")}setStorageKeyPrefix(e){this.storageKeyPrefix=`${e.replace(/\s/g,"")}/`}setAuthResult(e){var t;this.setSessionStorageItem("authToken",e.SESSION_AUTH_TOKEN),this.setSessionStorageItem("refreshToken",e.REFRESH_AUTH_TOKEN),this.setSessionStorageItem("username",e.USER_NAME),this.setSessionStorageItem("sessionId",e.SESSION_ID),(null===(t=e.DETAILS)||void 0===t?void 0:t.MFA_CODE)&&this.setSessionStorageItem("mfaToken",e.DETAILS.MFA_CODE)}captureReturnUrl(){const{pathname:e,search:t,hash:s}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const i=`${"/"!==e?e:""}`;this.returnUrl=`${i}${t}${s}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,s){"local"===s?localStorage.setItem(this.storageKeyPrefix+e,t):sessionStorage.setItem(this.storageKeyPrefix+e,t)}getItem(e,t){return"local"===t?localStorage.getItem(this.storageKeyPrefix+e):sessionStorage.getItem(this.storageKeyPrefix+e)}removeItem(e,t){"local"===t?localStorage.removeItem(this.storageKeyPrefix+e):sessionStorage.removeItem(this.storageKeyPrefix+e)}setLocalStorageItem(e,t){this.setItem(e,t,"local")}setSessionStorageItem(e,t){this.setItem(e,t,"session")}getLocalStorageItem(e){return this.getItem(e,"local")}getSessionStorageItem(e){return this.getItem(e,"session")}removeLocalStorageItem(e){this.removeItem(e,"local")}removeSessionStorageItem(e){this.removeItem(e,"session")}}const n=i.DI.createInterface(e=>e.singleton(r))},56093(e,t,s){s.d(t,{O:()=>i});const i=(e,t)=>{const s=(e=>{var t,s;const i=e,r=null!==(s=null!==(t=null==i?void 0:i.receivedMessage)&&void 0!==t?t:null==i?void 0:i.body)&&void 0!==s?s:e,n=null==r?void 0:r.ERROR,o=Array.isArray(n)?n[0]:e,a=null==o?void 0:o.CODE;return"string"==typeof a||"number"==typeof a?String(a):void 0})(t);return void 0===s?e:`${e} [${s}]`}},17465(e,t,s){s.d(t,{v:()=>i});const i=(0,s(66506).createLogger)("foundation-comms")},14609(e,t,s){s.d(t,{b:()=>o});const i=(0,s(66506).createLogger)("foundation-criteria");var r=s(86636);const n="default";class o{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,r.r.And()),this.Or=(e,t={})=>this.withExpression(e,t,r.r.Or()),this.Not=(e,t={})=>this.withExpression(e,t,r.r.Not())}withExpression(e,t={},s=r.r.And()){const{condition:o,join:a,groupName:c}=t,d=(e,t=n)=>{var i;const r=null!==(i=this.expressions[t])&&void 0!==i?i:[];this.expressions[t]=[...r,{join:s||a,condition:o,expression:e}]};if(Array.isArray(e))if(a){const t=e.filter(e=>{const t=e instanceof r.r;return t&&i.warn("Inline joins will be discarded when join is defined in ExpressionOptions"),!t});if(c)t.forEach(e=>{d(e,c)});else{const e=(h=a,t.flat().flatMap((e,t,s)=>s.length-1!==t?[e,h]:e));d(e,n)}}else d(e,n);else d(e,"string"==typeof e?n:e.group);var h;return this}build(e){const t=Object.entries(this.expressions).reduce((e,[t,s])=>Object.assign(Object.assign({},e),{[t]:`(${s.filter(({condition:e})=>!e||e()).map(({expression:e,join:t},s,i)=>this.parseExpression(e,i[s-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,s){const i=[];return s&&t&&i.push(` ${s.operator} `),"string"==typeof e?i.push(e):Array.isArray(e)?(e.forEach((e,t,s)=>{if(e instanceof r.r){if(s[t-1]instanceof r.r)throw new Error("Adjacent Join operations detected")}}),i.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof r.r?i.push(` ${e.operator} `):e&&i.push(e.serialiser(e)),i.join("")}}},58749(e,t,s){s.d(t,{K:()=>r});var i=s(95553);class r{constructor(e){this.serialiser=i.n.EQ,this.build=()=>{if(!this.field)throw new Error("Missing required param 'field'");if(void 0===this.value)throw new Error("Missing required param 'value'");if(!this.serialiser)throw new Error("Missing required param 'serialise'");return{field:this.field,value:this.value,serialiser:this.serialiser,params:this.params,valueGetter:this.valueGetter,group:this.group}},e&&(this.field=e.field,this.value=e.value,this.serialiser=e.serialiser,this.params=e.params,this.valueGetter=e.valueGetter,this.group=e.group)}withField(e){return this.field=e,this}withValue(e){return this.value=e,this}withSerialiser(e){return this.serialiser=e,this}withParams(e){return this.params=e,this}withValueGetter(e){return this.valueGetter=e,this}withGroup(e){return this.group=e,this}}},95553(e,t,s){s.d(t,{E:()=>r,n:()=>d});var i=s(86636);const r=e=>e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),n=e=>{const{value:t}=e;return e.valueGetter?e.valueGetter(t):"function"==typeof t?t(e):Array.isArray(t)?t.join(","):"string"==typeof t?(e=>`'${r(e)}'`)(t):t},o=e=>t=>`${t.field} ${e} ${n(t)}`,a=e=>o(i.X.NE)(e),c=e=>`${e.field}.contains(${n(e)})`,d={AND:e=>o(i.X.AND)(e),OR:e=>o(i.X.OR)(e),NOT:a,GT:e=>o(i.X.GT)(e),GE:e=>o(i.X.GE)(e),LT:e=>o(i.X.LT)(e),LE:e=>o(i.X.LE)(e),NE:a,EQ:e=>o(i.X.EQ)(e),equals:e=>`${e.field}.equals(${n(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${n(e)})`,contains:c,fieldContains:c,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${n(e)})`,startsWith:e=>`${e.field}.startsWith(${n(e)})`,endsWith:e=>`${e.field}.endsWith(${n(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${n(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${n(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${n(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${n(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${n(e)})`}},86636(e,t,s){var i;s.d(t,{X:()=>i,r:()=>r}),function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(i||(i={}));class r{constructor(e){this.$$operator=e}static And(){return new r(i.AND)}static Or(){return new r(i.OR)}static Not(){return new r(i.NOT)}static GreaterThan(){return new r(i.GT)}static GreaterThanOrEqual(){return new r(i.GE)}static LessThan(){return new r(i.LT)}static LessThanOrEqual(){return new r(i.LE)}static NotEqual(){return new r(i.NE)}static Equal(){return new r(i.EQ)}get operator(){return this.$$operator}}},92277(e,t,s){s.d(t,{KJ:()=>E});var i=s(55823),r=s(17190),n=s(33681),o=s(38370),a=s(79780);const c=(0,s(66506).createLogger)("foundation-user"),d={trackActionExclusions:[],trackPathExclusions:[""],setUser(e,t){if(e.isAuthenticated)throw new Error("User already set. If this is intentional, please call User.unset first.");return c.debug("setUser",t),e.rawProperties=structuredClone(t),e.userKVs=t.userKVs,e.details=t.details,e.permission=t.permission,e.profile=t.profile,e.sourceRef=t.sourceRef,e.userName=t.userName,e.isAuthenticated=!0,e},unsetUser:e=>(c.debug("unsetUser"),e.rawProperties=void 0,e.userKVs=void 0,e.details=void 0,e.permission=void 0,e.profile=void 0,e.sourceRef=void 0,e.userName=void 0,e.isAuthenticated=!1,e)},h=o.DI.createInterface(e=>e.instance(d)),l=(0,a.Es)("genesis-user");class u{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=(0,r.r)()}set(e){return this.config.setUser(this,e)}unset(){return this.config.unsetUser(this)}get isAnonymous(){return!this.isAuthenticated}isAdmin(){return this.hasProfile("ADMIN")}isBanned(){return this.hasProfile("BANNED")}hasPermission(e){return this.hasKey(this.permission,e)}hasProfile(e){return this.hasKey(this.profile,e)}trackPath(){const{pathname:e,search:t,hash:s}=location,i=`${`${"/"!==e?e:""}`}${t}${s}`;if(!this.config.trackPathExclusions.includes(i))return this.pathHistory.push(i),i}clearPaths(){this.pathHistory=[]}lastPath(){const e=this.pathHistory.length;return e>0?this.pathHistory[e-1]:void 0}trackAction(e){this.config.trackActionExclusions.includes(e)||this.actionHistory.push(e)}clearActions(){this.actionHistory=[]}lastAction(){const e=this.actionHistory.length;return e>0?this.actionHistory[e-1]:void 0}clearTrackingHistory(){this.clearPaths(),this.clearActions()}hasKey(e,t){return!!(e&&e.length&&t)&&(Array.isArray(t)||(t=[t]),t.some(t=>e.includes(t)))}addAuthenticationChangeListener(e){var t;return null===(t=this.authenticationChangeListeners)||void 0===t?void 0:t.subscribe(e)}isAuthenticatedChanged(){var e;null===(e=this.authenticationChangeListeners)||void 0===e||e.publish(new CustomEvent("user-authentication-change",{detail:this.isAuthenticated}));const t=o.DI.getOrCreateDOMContainer().get(l);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){n.Observable.notify(this,"username")}get username(){return n.Observable.track(this,"username"),this.userName}permissionChanged(){n.Observable.notify(this,"permissions")}get permissions(){return n.Observable.track(this,"permissions"),this.permission}profileChanged(){n.Observable.notify(this,"profiles")}get profiles(){return n.Observable.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}(0,i.Cg)([h],u.prototype,"config",void 0),(0,i.Cg)([n.observable],u.prototype,"pathHistory",void 0),(0,i.Cg)([n.observable],u.prototype,"actionHistory",void 0),(0,i.Cg)([n.observable],u.prototype,"isAuthenticated",void 0),(0,i.Cg)([n.observable],u.prototype,"userKVs",void 0),(0,i.Cg)([n.observable],u.prototype,"details",void 0),(0,i.Cg)([n.observable],u.prototype,"permission",void 0),(0,i.Cg)([n.observable],u.prototype,"profile",void 0),(0,i.Cg)([n.observable],u.prototype,"sourceRef",void 0),(0,i.Cg)([n.observable],u.prototype,"userName",void 0),(0,i.Cg)([n.observable],u.prototype,"rawProperties",void 0);const E=o.DI.createInterface(e=>e.singleton(u))},68424(e,t,s){s.d(t,{DW:()=>n,JH:()=>o});var i=s(52945),r=s(28745);function n(e,t){let s=e;for(;s;){const e=s.tagName.toLowerCase();if(e.endsWith("-design-system-provider")){const t=e.split("-design-system-provider")[0];if(t)return r.v.debug(`Found provider by ancestor search: ${e}, prefix: ${t}`),{element:s,prefix:t}}s=s.parentElement?s.parentElement:s.getRootNode&&s.getRootNode()instanceof ShadowRoot?s.getRootNode().host:null}const n=document.querySelectorAll('[class*="-design-system-provider"],[id*="-design-system-provider"]'),o=Array.from(n),a=(0,i.fI)(document).filter(e=>{var t;const s=null===(t=e.tagName)||void 0===t?void 0:t.toLowerCase();return(null==s?void 0:s.endsWith("-design-system-provider"))||!1});if(o.push(...a),o.length>0){const e=o[0],t=e.tagName.toLowerCase(),s=t.split("-design-system-provider")[0];if(s)return r.v.debug(`Found provider by document search: ${t}, prefix: ${s}`),{element:e,prefix:s}}return r.v.debug(`No provider found. Falling back to ${t}.`),{element:null,prefix:t}}function o(e,t){return n(e,t).prefix}},40729(e,t,s){s.d(t,{O:()=>d});var i=s(33681);const r=new Map([["FAST-TEXT-AREA","input"],["FAST-TEXT-FIELD","input"],["FOUNDATION-TEXT-AREA","input"],["FOUNDATION-TEXT-FIELD","input"],["INPUT","input"]]);function n(e){this.keyAttr||(this.target[this.targetName]=e)}function o(e,t){this.keyAttr&&(this.updateTarget=n),this.originalBind.call(this,e,t),this.target.addEventListener(this.changeEvent,this.changeHandler)}function a(){this.originalUnbind.call(this),this.target.removeEventListener(this.changeEvent,this.changeHandler)}class c extends i.HTMLBindingDirective{constructor(e,t,s,i){super(e),this.keyAttr=i,this.conversionType=t,this.eventName=s}createBehavior(e){const t=super.createBehavior(e);return t.originalBind=t.bind,t.originalUnbind=t.unbind,t.keyAttr=this.keyAttr,t.bind=o,t.unbind=a,t.changeEvent=function(e,t){var s;const i=e.tagName;return"default"===t?null!==(s=r.get(i))&&void 0!==s?s:"change":t}(e,this.eventName),t.changeHandler=()=>{const e="boolean"===this.conversionType?t.target.checked:t.target.value;if(this.keyAttr){const s=t.bindingObserver.last,i=t.target[this.keyAttr];s.propertySource[s.propertyName][i]=this.convert(e)}else{const s=t.bindingObserver.last;s.propertySource[s.propertyName]=this.convert(e)}},t}convert(e){if(null==e)return e;switch(this.conversionType){case"time":const t=new Date(e).getTime();return isNaN(t)?void 0:t;case"number":return e.length?Number(e):void 0;case"string":return String(e);case"boolean":return Boolean(e);default:return e}}}function d(e,t="string",s="default",i){return new c(e,t,s,i)}},84686(e,t,s){s.d(t,{Be:()=>S,H6:()=>C,OB:()=>n,PF:()=>o,Tp:()=>a,aW:()=>A,vN:()=>d});var i=s(77679);let r="webpack";try{r="webpack"}catch(e){}let n="/";try{n="auto".replace(/\/$/,"")}catch(e){}let o,a,c="gwf";try{"undefined"!=typeof SOCKET_EXT&&(c=SOCKET_EXT)}catch(e){}try{o=FORCE_HTTP}catch(e){}try{a=FORCE_HTTP_REQREP}catch(e){}const d=`${location.protocol.replace("http","ws")}//${location.host}${n}/${c}/`;let h,l,u,E,g=`${"true"===o||(0,i.m4)("forceHttp")?location.protocol:location.protocol.replace("http","ws")}//${location.host}/${c}/`;try{"undefined"!=typeof API_HOST&&(g=API_HOST)}catch(e){}try{h=""}catch(e){}try{l=DEFAULT_ORGANISATION}catch(e){}try{u=DEFAULT_PASSWORD}catch(e){}try{E=DEFAULT_USER}catch(e){}let A="gwf/event-login-auth";"undefined"!=typeof GENX_LOGIN_URL&&(A=GENX_LOGIN_URL);let v="gwf/event-login-auth";"undefined"!=typeof GENX_LOGIN_REFRESH_URL&&(v=GENX_LOGIN_REFRESH_URL);let S="gwf/event-login-details";"undefined"!=typeof GENX_LOGIN_DETAILS_URL&&(S=GENX_LOGIN_DETAILS_URL);let R="gwf/event-logout";"undefined"!=typeof GENX_LOGOUT_URL&&(R=GENX_LOGOUT_URL);let p="gwf/event-change-user-password";"undefined"!=typeof GENX_CHANGE_PASSWORD_URL&&(p=GENX_CHANGE_PASSWORD_URL);let f="gwf/event-self-service-password-reset";"undefined"!=typeof GENX_FORGOT_PASSWORD_URL&&(f=GENX_FORGOT_PASSWORD_URL);let I="gwf/event-password-reset-action";"undefined"!=typeof GENX_RESET_PASSWORD_URL&&(I=GENX_RESET_PASSWORD_URL);let m="gwf/sso/list";"undefined"!=typeof GENX_SSO_LIST_URL&&(m=GENX_SSO_LIST_URL);let T="gwf/{type}/login?idp={id}";"undefined"!=typeof GENX_SSO_LOGIN_URL&&(T=GENX_SSO_LOGIN_URL);let C="default";"undefined"!=typeof GENX_ENVIRONMENT_LEVEL&&(C=GENX_ENVIRONMENT_LEVEL);let _="gwf/auth/accept-terms";"undefined"!=typeof GENX_ACCEPT_TERMS_URL&&(_=GENX_ACCEPT_TERMS_URL)},77679(e,t,s){s.d(t,{m4:()=>r});const i="feature.",r=e=>((e,t)=>{if(!t)return!1;const s=`${i}${t}`.toLowerCase(),r=new URLSearchParams(e);for(const[e]of r.entries())if(e.toLowerCase()===s)return!0;return!1})(window.location.search,e)},12066(e,t,s){s.d(t,{CL:()=>i,Ey:()=>n,h5:()=>a,zT:()=>r});function i(e){return!e||isNaN(e)?null:new Date(e).toISOString().slice(0,10)}function r(e){return!e||isNaN(e)?null:new Date(e).toISOString().slice(0,19).replace("T"," ")}function n(e,t){return t?r(e):i(e)}const o={year:"numeric",month:"2-digit",day:"2-digit",timeZone:"UTC"};function a(e="en-GB",t=o){return s=>s&&"number"==typeof s.value?new Intl.DateTimeFormat(e,t).format(s.value):""}},17190(e,t,s){s.d(t,{j:()=>r,r:()=>i});const i=()=>{let e=[];return{subscribe:t=>(e.push(t),()=>e=e.filter(e=>e!==t)),publish(t){e.forEach(e=>e(t))}}},r=(e,t)=>{const s={root:document.documentElement},i=new IntersectionObserver(e=>{e.forEach(e=>{t(e.intersectionRatio>0)})},s);return i.observe(e),()=>{i.disconnect()}}},49229(e,t,s){s.d(t,{b_:()=>u});var i=s(55823),r=s(38370),n=s(88474),o=s(52776),a=s(30630);const c=r.DI.createInterface();function d(e){return Number.isSafeInteger(+e)?Number(e):(0,n.Fq)(e)?BigInt.asIntN(64,e):parseFloat(e)}const h={parse:e=>(0,o.qg)(e,null,d),stringify:e=>(0,a.A)(e)};let l=class{constructor(e=h){this.config=e,this.serialize=e=>this.config.stringify(e)}deserialize(e){return e?"string"==typeof e?this.config.parse(e):e&&e.ok?e.text().then(e=>this.config.parse(e)):(e&&e.data&&(e=e.data),this.config.parse(e)):Promise.resolve({})}};l=(0,i.Cg)([(0,i.Qj)(0,(0,r.optional)(c))],l);const u=r.DI.createInterface(e=>e.singleton(l))},20633(e,t,s){s.d(t,{N:()=>i});const i=(...e)=>{var t;null==(t=()=>{e.forEach(e=>{})})||t()}},32808(e,t,s){s.d(t,{k:()=>c});var i=s(55823),r=s(38370),n=s(31261),o=s(28745);class a{constructor(){}createId(e=!1){const t=(0,n.A)();return e&&o.v.debug(`UUID.createID ${t}`),t}createRemoteId(){return(0,i.sH)(this,arguments,void 0,function*(e=!1){const t=(0,n.A)();return e&&o.v.debug(`UUID.createRemoteID ${t}`),t})}}const c=r.DI.createInterface(e=>e.singleton(a))}}]);
|
|
2
|
+
//# sourceMappingURL=226.a5310f150eee4f2698a4c6558f7d34bc.js.map
|