@genesislcap/foundation-rapid-cdn 14.456.1 → 14.456.2

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.
@@ -52,7 +52,7 @@ function Fd(e,t,i,c){var o,s=arguments.length,n=s<3?t:null===c?c=Object.getOwnPr
52
52
  Click "Continue Session" to stay logged in, or "Logout Now" to end your session immediately.
53
53
  </p></div><div class="dialog-actions"><${e}-button appearance="accent" @click=${e=>e.handleContinue()}class="continue-button">
54
54
  Continue Session </${e}-button><${e}-button appearance="outline" @click=${e=>e.handleLogout()}class="logout-button">
55
- Logout Now </${e}-button></div></div></${e}-card></div>`)(eg(e,"rapid").prefix)} `,styles:xe` .inactivity-overlay{position: fixed;inset: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.6);display: flex;align-items: center;justify-content: center;z-index: 9999;backdrop-filter: blur(2px)}.dialog-card{height: 260px;max-height: 260px;max-width: 520px;width: 92%}.card-body{padding: 24px;box-sizing: border-box}.dialog-header{display: flex;align-items: center;gap: 12px;margin-bottom: 16px}.warning-icon{color: var(--accent-fill-rest);font-size: 24px}.dialog-header h2{margin: 0;color: var(--neutral-foreground-rest);font-size: 20px;font-weight: 600}.dialog-content{margin-bottom: 24px}.dialog-content p{margin: 0 0 12px 0;color: var(--neutral-foreground-rest);line-height: 1.5}.dialog-content p:last-child{margin-bottom: 0}.dialog-content strong{color: var(--accent-foreground-rest);font-weight: 600}.dialog-actions{display: flex;gap: 12px;justify-content: flex-end}.continue-button{min-width: 140px}.logout-button{min-width: 120px}@media (max-width: 480px){.card-body{padding: 20px}.dialog-actions{flex-direction: column}.continue-button, .logout-button{width: 100%}}`})],Nz);class Az{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=Qm()}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:i}=location,c=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(c))return this.pathHistory.push(c),c}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=ft.getOrCreateDOMContainer().get(Zm);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){m.notify(this,"username")}get username(){return m.track(this,"username"),this.userName}permissionChanged(){m.notify(this,"permissions")}get permissions(){return m.track(this,"permissions"),this.permission}profileChanged(){m.notify(this,"profiles")}get profiles(){return m.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}Nu([Km],Az.prototype,"config",void 0),Nu([g],Az.prototype,"pathHistory",void 0),Nu([g],Az.prototype,"actionHistory",void 0),Nu([g],Az.prototype,"isAuthenticated",void 0),Nu([g],Az.prototype,"userKVs",void 0),Nu([g],Az.prototype,"details",void 0),Nu([g],Az.prototype,"permission",void 0),Nu([g],Az.prototype,"profile",void 0),Nu([g],Az.prototype,"sourceRef",void 0),Nu([g],Az.prototype,"userName",void 0),Nu([g],Az.prototype,"rawProperties",void 0);const Oz=ft.createInterface(e=>e.singleton(Az));class Tz{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null}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}}const Rz=ft.createInterface(e=>e.singleton(Tz));var Iz;!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"}(Iz||(Iz={}));const Dz={STRING:Iz.STRING,ENUM:Iz.ENUM,BOOLEAN:Iz.BOOLEAN,INT:Iz.NUMBER,LONG:Iz.NUMBER,DOUBLE:Iz.NUMBER,BIGDECIMAL:Iz.NUMBER,DATE:Iz.DATE,DATETIME:Iz.DATETIME,NANO_TIMESTAMP:Iz.NANO_TIMESTAMP};var Fz;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(Fz||(Fz={}));const Hz="datasource-status-changed",_z=e=>e?e.map(e=>{const t={name:e.NAME,type:Dz[e.TYPE]||Iz.STRING};if(e.TYPE===Iz.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){Pm.error(e),t.enumOptions=[]}return t}):null,Pz=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===Fz.DATASERVER)return e.FIELD||[];if(i===Fz.REQUEST_SERVER)return e.REPLY_FIELD||(null===(t=e.REPLY)||void 0===t?void 0:t.FIELD)||[];throw new Error(`Unsupported resource type: ${i}`)};class Vz{constructor(){this.streamListeners=Qm(),this.streamCompleteListeners=Qm(),this.streamErrorListeners=Qm(),this.commitListeners=Qm(),this.metadataListeners=Qm(),this.commitResponseListeners=Qm()}addStreamListener(e,t,i){var c,o,s;const n=null===(c=this.streamListeners)||void 0===c?void 0:c.subscribe(e),a=null===(o=this.streamCompleteListeners)||void 0===o?void 0:o.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,c){var o;null===(o=this.streamListeners)||void 0===o||o.publish(new CustomEvent("connect-stream-event",{detail:{functions:c,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var c;null===(c=this.streamErrorListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:i}}))}onStreamCompleteEvent(e,t){var i;null===(i=this.streamCompleteListeners)||void 0===i||i.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 i;null===(i=this.commitListeners)||void 0===i||i.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,i){var c;null===(c=this.metadataListeners)||void 0===c||c.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:i}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var i;null===(i=this.commitResponseListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const Bz=ft.createInterface(e=>e.singleton(Vz)),Uz=ft.createInterface(e=>e.aliasTo(Bz)),jz={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:Vm},qz=ft.createInterface(e=>e.instance(jz));var Gz={ACCEPTED:202,BAD_GATEWAY:502,BAD_REQUEST:400,CONFLICT:409,CONTINUE:100,CREATED:201,EXPECTATION_FAILED:417,FORBIDDEN:403,GATEWAY_TIMEOUT:504,GONE:410,HTTP_VERSION_NOT_SUPPORTED:505,IM_A_TEAPOT:418,INSUFFICIENT_SPACE_ON_RESOURCE:419,INSUFFICIENT_STORAGE:507,INTERNAL_SERVER_ERROR:500,LENGTH_REQUIRED:411,LOCKED:423,METHOD_FAILURE:420,METHOD_NOT_ALLOWED:405,MOVED_PERMANENTLY:301,MOVED_TEMPORARILY:302,MULTI_STATUS:207,MULTIPLE_CHOICES:300,NETWORK_AUTHENTICATION_REQUIRED:511,NO_CONTENT:204,NON_AUTHORITATIVE_INFORMATION:203,NOT_ACCEPTABLE:406,NOT_FOUND:404,NOT_IMPLEMENTED:501,NOT_MODIFIED:304,OK:200,PARTIAL_CONTENT:206,PAYMENT_REQUIRED:402,PERMANENT_REDIRECT:308,PRECONDITION_FAILED:412,PRECONDITION_REQUIRED:428,PROCESSING:102,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_HEADER_FIELDS_TOO_LARGE:431,REQUEST_TIMEOUT:408,REQUEST_TOO_LONG:413,REQUEST_URI_TOO_LONG:414,REQUESTED_RANGE_NOT_SATISFIABLE:416,RESET_CONTENT:205,SEE_OTHER:303,SERVICE_UNAVAILABLE:503,SWITCHING_PROTOCOLS:101,TEMPORARY_REDIRECT:307,TOO_MANY_REQUESTS:429,UNAUTHORIZED:401,UNPROCESSABLE_ENTITY:422,UNSUPPORTED_MEDIA_TYPE:415,USE_PROXY:305},Wz={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",103:"Early Hints",426:"Upgrade Required",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy",421:"Misdirected Request"},Yz={Accepted:202,"Bad Gateway":502,"Bad Request":400,Conflict:409,Continue:100,Created:201,"Expectation Failed":417,"Failed Dependency":424,Forbidden:403,"Gateway Timeout":504,Gone:410,"HTTP Version Not Supported":505,"I'm a teapot":418,"Insufficient Space on Resource":419,"Insufficient Storage":507,"Internal Server Error":500,"Length Required":411,Locked:423,"Method Failure":420,"Method Not Allowed":405,"Moved Permanently":301,"Moved Temporarily":302,"Multi-Status":207,"Multiple Choices":300,"Network Authentication Required":511,"No Content":204,"Non Authoritative Information":203,"Not Acceptable":406,"Not Found":404,"Not Implemented":501,"Not Modified":304,OK:200,"Partial Content":206,"Payment Required":402,"Permanent Redirect":308,"Precondition Failed":412,"Precondition Required":428,Processing:102,"Early Hints":103,"Upgrade Required":426,"Proxy Authentication Required":407,"Request Header Fields Too Large":431,"Request Timeout":408,"Request Entity Too Large":413,"Request-URI Too Long":414,"Requested Range Not Satisfiable":416,"Reset Content":205,"See Other":303,"Service Unavailable":503,"Switching Protocols":101,"Temporary Redirect":307,"Too Many Requests":429,Unauthorized:401,"Unavailable For Legal Reasons":451,"Unprocessable Entity":422,"Unsupported Media Type":415,"Use Proxy":305,"Misdirected Request":421};var Kz,Zz,Qz=function(e){var t=Wz[e.toString()];if(!t)throw new Error("Status code does not exist: "+e);return t};!function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.MOVED_TEMPORARILY=302]="MOVED_TEMPORARILY",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"}(Kz||(Kz={})),function(e){e.ACCEPTED="Accepted",e.BAD_GATEWAY="Bad Gateway",e.BAD_REQUEST="Bad Request",e.CONFLICT="Conflict",e.CONTINUE="Continue",e.CREATED="Created",e.EXPECTATION_FAILED="Expectation Failed",e.FAILED_DEPENDENCY="Failed Dependency",e.FORBIDDEN="Forbidden",e.GATEWAY_TIMEOUT="Gateway Timeout",e.GONE="Gone",e.HTTP_VERSION_NOT_SUPPORTED="HTTP Version Not Supported",e.IM_A_TEAPOT="I'm a teapot",e.INSUFFICIENT_SPACE_ON_RESOURCE="Insufficient Space on Resource",e.INSUFFICIENT_STORAGE="Insufficient Storage",e.INTERNAL_SERVER_ERROR="Internal Server Error",e.LENGTH_REQUIRED="Length Required",e.LOCKED="Locked",e.METHOD_FAILURE="Method Failure",e.METHOD_NOT_ALLOWED="Method Not Allowed",e.MOVED_PERMANENTLY="Moved Permanently",e.MOVED_TEMPORARILY="Moved Temporarily",e.MULTI_STATUS="Multi-Status",e.MULTIPLE_CHOICES="Multiple Choices",e.NETWORK_AUTHENTICATION_REQUIRED="Network Authentication Required",e.NO_CONTENT="No Content",e.NON_AUTHORITATIVE_INFORMATION="Non Authoritative Information",e.NOT_ACCEPTABLE="Not Acceptable",e.NOT_FOUND="Not Found",e.NOT_IMPLEMENTED="Not Implemented",e.NOT_MODIFIED="Not Modified",e.OK="OK",e.PARTIAL_CONTENT="Partial Content",e.PAYMENT_REQUIRED="Payment Required",e.PERMANENT_REDIRECT="Permanent Redirect",e.PRECONDITION_FAILED="Precondition Failed",e.PRECONDITION_REQUIRED="Precondition Required",e.PROCESSING="Processing",e.EARLY_HINTS="Early Hints",e.UPGRADE_REQUIRED="Upgrade Required",e.PROXY_AUTHENTICATION_REQUIRED="Proxy Authentication Required",e.REQUEST_HEADER_FIELDS_TOO_LARGE="Request Header Fields Too Large",e.REQUEST_TIMEOUT="Request Timeout",e.REQUEST_TOO_LONG="Request Entity Too Large",e.REQUEST_URI_TOO_LONG="Request-URI Too Long",e.REQUESTED_RANGE_NOT_SATISFIABLE="Requested Range Not Satisfiable",e.RESET_CONTENT="Reset Content",e.SEE_OTHER="See Other",e.SERVICE_UNAVAILABLE="Service Unavailable",e.SWITCHING_PROTOCOLS="Switching Protocols",e.TEMPORARY_REDIRECT="Temporary Redirect",e.TOO_MANY_REQUESTS="Too Many Requests",e.UNAUTHORIZED="Unauthorized",e.UNAVAILABLE_FOR_LEGAL_REASONS="Unavailable For Legal Reasons",e.UNPROCESSABLE_ENTITY="Unprocessable Entity",e.UNSUPPORTED_MEDIA_TYPE="Unsupported Media Type",e.USE_PROXY="Use Proxy",e.MISDIRECTED_REQUEST="Misdirected Request"}(Zz||(Zz={}));var Xz=this&&this.__assign||function(){return Xz=Object.assign||function(e){for(var t,i=1,c=arguments.length;i<c;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Xz.apply(this,arguments)};Xz(Xz({},Gz),{getStatusCode:function(e){var t=Yz[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:Qz});class Jz{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:i}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const c=`${"/"!==e?e:""}`;this.returnUrl=`${c}${t}${i}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,i){"local"===i?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 eC=ft.createInterface(e=>e.singleton(Jz));function tC(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}let iC=class{constructor(e){this.serializer=e}get(e,t){return Ou(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"GET"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw tC(i);return(t.serializer||this.serializer).deserialize(i)})}post(e,t){return Ou(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"POST"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw tC(i);return(t.serializer||this.serializer).deserialize(i)})}};iC=Nu([Au(0,Jv)],iC);const cC=ft.createInterface(e=>e.singleton(iC)),oC={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},xg&&xg.length?JSON.parse(xg):{})},sC=ft.createInterface(e=>e.instance(oC));var nC,aC,rC,lC;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(nC||(nC={}));class dC extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,dC.prototype)}isIgnorableError(){var e,t,i,c,o,s,n,a;return!!(null===(c=null===(i=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===i?void 0:i.toLowerCase())||void 0===c?void 0:c.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(o=this.received)||void 0===o?void 0:o.DETAILS)||void 0===s?void 0:s.ERROR)||void 0===n?void 0:n.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,i,c;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(c=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===c?void 0:c.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,i;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(i=this.received)||void 0===i?void 0:i.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}!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"}(aC||(aC={})),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"}(rC||(rC={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(lC||(lC={}));const hC=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,c;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(c=e.STATUS_CODE)||void 0===c?void 0:c.includes(`${t}`))}));let uC=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case nC.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case nC.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case nC.SSO:t={SSO_TOKEN:e.ssoToken};break;case nC.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(i=e.sessionId)&&void 0!==i?i:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:rC.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:rC.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=rC.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:rC.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken"),MFA_CODE:this.session.getSessionStorageItem("mfaToken")}}}createChangePasswordMessage(e,t,i){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:i}}}createForgotPasswordMessage(e,t,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,c=e){return{USER_NAME:c,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:i}}}createMoreRowsMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:aC.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:aC.MORE_COLUMNS})}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const i={"Content-type":t};return e.SOURCE_REF&&(i["source-ref"]=e.SOURCE_REF,i.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(i["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===rC.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:aC.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};uC=Nu([Au(0,eC),Au(1,Ez)],uC);const fC=ft.createInterface(e=>e.singleton(uC));function pC(e,t,i){const c=e=>"function"==typeof e?e:()=>e,o=c(t),s=c(i);return(t,i)=>e(t,i)?o(t,i):s(t,i)}class mC{constructor(e){this.path=e}}const gC=new Set,vC=Object.freeze({register(e){gC.add(e)},unregister(e){gC.delete(e)}}),bC=/^([a-z][a-z0-9+\-.]*:)?\/\//i,yC=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let c="config"in e?e:KC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromPath(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t=!0){e&&bC.test(e)?location.href=e:(history.pushState({},document.title,e),t&&yC.path.trigger(e))},replace(e,t=!0){e&&bC.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&yC.path.trigger(e))},trigger(e){const t=new mC(e);for(const e of gC)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let c="config"in e?e:KC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromName(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t,i={},c=!0){return Ou(this,void 0,void 0,function*(){const o=yield yC.name.generateRoute(e,t,i);null!==o&&yC.path.push(o,c)})},replace(e,t,i={},c=!0){return Ou(this,void 0,void 0,function*(){const o=yield yC.name.generateRoute(e,t,i);null!==o&&yC.path.replace(o,c)})},trigger(e,t,i={}){return Ou(this,void 0,void 0,function*(){const c=yield yC.name.generateRoute(e,t,i);null!==c&&yC.path.trigger(c)})}})});class zC{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new mC(yC.path.current)),window.addEventListener("popstate",this),vC.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),vC.unregister(this)}receive(){return null!==this.promise||(this.promise=new Promise(e=>this.resolve=e),Promise.resolve().then(()=>this.tryDequeue())),this.promise}enqueue(e){this.queue.push(e),this.tryDequeue()}tryDequeue(){if(null===this.resolve||0===this.queue.length)return;const e=this.queue[this.queue.length-1],t=this.resolve;this.queue.length=0,this.promise=null,this.resolve=null,t(e)}handleEvent(e){this.enqueue(new mC(yC.path.current))}}const CC=encodeURIComponent,xC=e=>CC(e).replace("%24","$");function LC(e,t,i){let c=[];if(null==t)return c;if(Array.isArray(t))for(let o=0,s=t.length;o<s;o++)if(i)c.push(`${xC(e)}=${CC(t[o])}`);else{const i=e+"["+("object"==typeof t[o]&&null!==t[o]?o:"")+"]";c=c.concat(LC(i,t[o]))}else if("object"!=typeof t||i)c.push(`${xC(e)}=${CC(t)}`);else for(const i in t)c=c.concat(LC(e+"["+i+"]",t[i]));return c}function MC(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function wC(e,t,i){let c=e;const o=t.length-1;for(let e=0;e<=o;e++){const s=""===t[e]?c.length:t[e];if(e<o){const i=c[s]&&"object"!=typeof c[s]?[c[s]]:c[s];c=c[s]=i||(isNaN(t[e+1])?{}:[])}else c=c[s]=i}}const SC=Object.freeze({get current(){return location.search},build(e,t){let i=[];const c=Object.keys(e||{}).sort();for(let o=0,s=c.length;o<s;o++){const s=c[o];i=i.concat(LC(s,e[s],t))}return 0===i.length?"":i.join("&")},separate(e){const t=e.indexOf("?");let i="";return-1!==t&&(i=e.substr(t+1,e.length),e=e.substr(0,t)),{path:e,queryString:i}},parse(e){const t={};if(!e||"string"!=typeof e)return t;let i=e;"?"===i.charAt(0)&&(i=i.substr(1));const c=i.replace(/\+/g," ").split("&");for(let e=0;e<c.length;e++){const i=c[e].split("="),o=decodeURIComponent(i[0]);if(!o)continue;let s=o.split("]["),n=s.length-1;if(/\[/.test(s[0])&&/\]$/.test(s[n])?(s[n]=s[n].replace(/\]$/,""),s=s.shift().split("[").concat(s),n=s.length-1):n=0,i.length>=2){const e=i[1]?decodeURIComponent(i[1]):"";n?wC(t,s,e):t[o]=MC(t[o],e)}else t[o]=!0}return t}}),kC=e=>e;class $C{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class EC{constructor(e,t,i,c){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=c}get path(){return this.route.path}}class NC{constructor(e,t,i,c){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=c,this.allParams=Object.assign(Object.assign({},t),c),this.allTypedParams=Object.assign(Object.assign({},i),c)}get settings(){return this.endpoint.settings}}class AC{constructor(e,t,i,c){var o;this.chars=e,this.states=t,this.skippedStates=i,this.result=c,this.head=t[t.length-1],this.endpoint=null===(o=this.head)||void 0===o?void 0:o.endpoint}advance(e){const{chars:t,states:i,skippedStates:c,result:o}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:o.add(new AC(t.concat(e),i.concat(l),null===d?c:c.concat(d),o))),null===a.segment&&l.isOptional&&null!==l.nextStates){if(l.nextStates.length>1)throw new Error(`${l.nextStates.length} nextStates`);const e=l.nextStates[0];if(!e.isSeparator)throw new Error("Not a separator");if(null!==e.nextStates)for(const t of e.nextStates)r(t,l)}}if(a.isDynamic&&r(a,null),null!==a.nextStates)for(const e of a.nextStates)r(e,null);null!==s&&(i.push(this.head=s),t.push(e),null!==s.endpoint&&(this.endpoint=s.endpoint)),0===n&&o.remove(this)}finalize(){!function e(t,i){const c=i.nextStates;if(null!==c)if(1===c.length&&null===c[0].segment)e(t,c[0]);else for(const i of c)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const c of i.nextStates)e(t,c);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,c={};for(const e of i.paramNames)c[e]=void 0;for(let i=0,o=e.length;i<o;++i){const o=e[i];if(o.isDynamic){const e=o.segment.name;void 0===c[e]?c[e]=t[i]:c[e]+=t[i]}}return c}compareTo(e){const t=this.states,i=e.states;for(let e=0,c=0,o=Math.max(t.length,i.length);e<o;++e){let o=t[e];if(void 0===o)return 1;let s=i[c];if(void 0===s)return-1;let n=o.segment,a=s.segment;if(null===n){if(null===a){++c;continue}if(void 0===(o=t[++e]))return 1;n=o.segment}else if(null===a){if(void 0===(s=i[++c]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++c}const c=this.skippedStates,o=e.skippedStates,s=c.length,n=o.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=c[e],i=o[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function OC(e){return null!==e.head.endpoint}function TC(e,t){return e.compareTo(t)}class RC{constructor(e){this.candidates=[],this.candidates=[new AC([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(OC);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(TC),e[0]}add(e){this.candidates.push(e)}remove(e){this.candidates.splice(this.candidates.indexOf(e),1)}advance(e){const t=this.candidates.slice();for(const i of t)i.advance(e)}}class IC{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new DC(null,null,"")}add(e,t){if(e instanceof Array)for(const i of e)this.$add(i,t);else this.$add(e,t)}$add(e,t){const i=e.path,c=new $C(e.path,e.name||"",!0===e.caseSensitive),o=""===i?[""]:i.split("/").filter(FC),s=[],n=[];let a=this.rootState;const r=[];for(const e of o)switch(a=a.append(null,"/"),e.charAt(0)){case"{":{const t=e.slice(1,-1).split(":").map(e=>e.trim());2===t.length?n.push(t[1]):n.push("string");const i=t[0].endsWith("?"),c=i?t[0].slice(0,-1):t[0];s.push(c);const o=new _C(c,i);r.push(o),a=o.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new PC(t);r.push(i),a=i.appendTo(a);break}default:{const t=new HC(e,c.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new EC(c,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Ou(this,void 0,void 0,function*(){const i=SC.separate(e),c=SC.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const o=new RC(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(o.advance(i),o.isEmpty)return null}const s=o.getSolution();if(null===s)return null;const{endpoint:n}=s,a=n.paramNames,r=n.paramTypes,l=s.getParams(),d={};for(let e=0,i=a.length;e<i;++e){const i=a[e],c=t[r[e]]||kC,o=l[i],s=yield c(o);d[i]=s}return new NC(n,l,d,c)})}generateFromName(e,t){return this.generate(this.names.get(e),t)}generateFromPath(e,t){return this.generate(this.paths.get(e),t)}generate(e,t){if(!e)return null;const i=Object.assign({},t),c={};let o="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,c);if(null==n){if(s instanceof _C&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else o+="/",o+=n}"/"!==o.charAt(0)&&(o="/"+o);for(const e in c)delete i[e];const s=SC.build(i);return o+=s?`?${s}`:"",o}}class DC{constructor(e,t,i){switch(this.prevState=e,this.segment=t,this.value=i,this.nextStates=null,this.endpoint=null,null==t?void 0:t.kind){case 2:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=t.optional;break;case 1:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=!1;break;case 3:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!1,this.isOptional=!1;break;case void 0:this.length=null===e?0:e.length,this.isSeparator=!0,this.isDynamic=!1,this.isOptional=!1}}append(e,t){let i,c=this.nextStates;return null===c?(i=void 0,c=this.nextStates=[]):i=null===e?c.find(e=>e.value===t):c.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&c.push(i=new DC(this,e,t)),i}setEndpoint(e){if(null!==this.endpoint)throw new Error(`Cannot add ambiguous route. The pattern '${e.route.path}' clashes with '${this.endpoint.route.path}'`);this.endpoint=e,this.isOptional&&(this.prevState.setEndpoint(e),this.prevState.isSeparator&&null!==this.prevState.prevState&&this.prevState.prevState.setEndpoint(e))}isMatch(e){const t=this.segment;switch(null==t?void 0:t.kind){case 2:return!this.value.includes(e);case 1:return!0;case 3:case void 0:return this.value.includes(e)}}}function FC(e){return e.length>0}class HC{constructor(e,t){this.value=e,this.caseSensitive=t}get kind(){return 3}appendTo(e){const{value:t,value:{length:i}}=this;if(this.caseSensitive)for(let c=0;c<i;++c)e=e.append(this,t.charAt(c));else for(let c=0;c<i;++c){const i=t.charAt(c);e=e.append(this,i.toUpperCase()+i.toLowerCase())}return e}generate(){return this.value}equals(e){return 3===e.kind&&e.caseSensitive===this.caseSensitive&&e.value===this.value}}class _C{constructor(e,t){this.name=e,this.optional=t}get kind(){return 2}appendTo(e){return e=e.append(this,"/")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 2===e.kind&&e.optional===this.optional&&e.name===this.name}}class PC{constructor(e){this.name=e}get kind(){return 1}appendTo(e){return e=e.append(this,"")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 1===e.kind&&e.name===this.name}}const VC="fast-child-route";function BC(e,t){return"command"in t?t.command:"redirect"in t?new ax(t.redirect):hx.fromDefinition(e,t)}const UC=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},jC={number:e=>void 0===e?NaN:parseFloat(e),float:e=>void 0===e?NaN:parseFloat(e),int:e=>void 0===e?NaN:parseInt(e),integer:e=>void 0===e?NaN:parseInt(e),Date:e=>void 0===e?new Date(Date.now()):new Date(e),boolean:UC,bool:UC};class qC{constructor(e){this.owner=e,this._recognizer=null,this.pathToCommand=new Map,this.fallbackCommand=null,this.fallbackSettings=null,this.converters={}}get recognizer(){return null===this._recognizer&&(this._recognizer=this.owner.createRouteRecognizer()),this._recognizer}ignore(e){"string"==typeof e&&(e={path:e}),this.pathToCommand.set(e.path,new nx),this.recognizer.add(e,e.settings)}map(...e){for(const t of e){if("children"in t){const e=this.owner.createTitleBuilder(),i=t.children.map(i=>{const c=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const o=t.title||"",s=i.title||"";c.title=e.joinTitles(o,s)}if("name"in i){const e=t.name?t.name+"/":"";c.name=e+i.name}return c.children===t.children&&delete c.children,c});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new ax(t.redirect):hx.fromDefinition(this.owner,t),this.pathToCommand.set(t.path,e),this.recognizer.add(t,t.settings),"childRouters"in t&&t.childRouters){const i=Object.assign(Object.assign({},t),{path:t.path+`/*${VC}`});this.pathToCommand.set(i.path,e),this.recognizer.add(i,i.settings)}}}fallback(e){const t=this.owner;this.fallbackCommand="function"==typeof e?{createContributor(i,c){return Ou(this,void 0,void 0,function*(){const o=yield e();return BC(t,o).createContributor(i,c)})}}:BC(t,e)}converter(e,t){let i;i="convert"in t?t.convert.bind(t):t.prototype&&"convert"in t.prototype?e=>this.owner.construct(t).convert(e):t,this.converters[e]=i}recognize(e){return Ou(this,void 0,void 0,function*(){const t=yield this.recognizer.recognize(e,this.aggregateConverters());if(null!==t)return{route:t,command:this.pathToCommand.get(t.endpoint.path)};if(null!==this.fallbackCommand){const t=SC.separate(e),i=SC.parse(t.queryString);return{route:new NC(new EC(new $C("*","",!1),[],[],this.fallbackSettings),{},{},i),command:this.fallbackCommand}}return null})}generateFromName(e,t){return this.recognizer.generateFromName(e,t)}generateFromPath(e,t){return this.recognizer.generateFromPath(e,t)}aggregateConverters(){return null===this.owner.parent?Object.assign(Object.assign({},jC),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const GC="$router";function WC(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function YC(e){let t=e;for(;t=WC(t);)if(GC in t)return t[GC];return null}const KC=Object.freeze({getOrCreateFor(e){const t=e[GC];return void 0!==t?t:e[GC]=new ZC(e)},find:e=>e[GC]||YC(e),from(e){class t extends e{constructor(){super(),KC.getOrCreateFor(this)}get config(){return this[GC].config}set config(e){this[GC].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[GC].connect()}}else i.connectedCallback=function(){this[GC].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[GC].disconnect()}}else i.disconnectedCallback=function(){this[GC].disconnect()};return t}});class ZC{constructor(e){this.host=e,this.parentRouter=void 0,this.contributors=new Set,this.navigationQueue=null,this.linkHandler=null,this.newView=null,this.newRoute=null,this.childCommandContributor=null,this.childRoute=null,this.isConnected=!1,this.routerConfig=null,this.view=null,this.route=null,this.onNavigationMessage=e=>Ou(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[GC]=this}get config(){return this.routerConfig}set config(e){this.routerConfig=e,this.tryConnect()}get parent(){if(void 0===this.parentRouter){if(!this.isConnected)return null;this.parentRouter=YC(this.host)}return this.parentRouter||null}get level(){return null===this.parent?0:this.parent.level+1}shouldRender(e){var t;if(this.route&&this.route.endpoint.path===e.endpoint.path){const i=null==e?void 0:e.allParams,c=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(c)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Ou(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,QC.create(this)),this.newView.appendTo(this.host),yield t.transition.begin(this.host,this.view,this.newView),{commit:this.renderOperationCommit.bind(this,t.layout,t.transition),rollback:this.renderOperationRollback.bind(this,t.transition)}})}connect(){this.isConnected=!0,this.tryConnect()}disconnect(){null===this.parent?(null!==this.navigationQueue&&(this.navigationQueue.disconnect(),this.navigationQueue=null),null!==this.linkHandler&&(this.linkHandler.disconnect(),this.linkHandler=null)):this.parent.removeContributor(this),this.isConnected=!1,this.parentRouter=void 0}addContributor(e){this.contributors.add(e)}removeContributor(e){this.contributors.delete(e)}tryConnect(){null!==this.config&&this.isConnected&&(null===this.parent?(null!==this.navigationQueue&&this.navigationQueue.disconnect(),this.navigationQueue=this.config.createNavigationQueue(),this.navigationQueue.connect(),this.navigationQueue.receive().then(this.onNavigationMessage),null!==this.linkHandler&&this.linkHandler.disconnect(),this.linkHandler=this.config.createLinkHandler(),this.linkHandler.connect()):(this.config.parent=this.parent.config,this.parent.addContributor(this)))}renderOperationCommit(e,t){return Ou(this,void 0,void 0,function*(){yield e.beforeCommit(this.host),yield t.commit(this.host,this.view,this.newView),yield e.afterCommit(this.host),null!==this.view&&this.view.dispose(),this.route=this.newRoute,this.view=this.newView,this.newRoute=null,this.newView=null})}renderOperationRollback(e){return Ou(this,void 0,void 0,function*(){null!==this.newView&&(yield e.rollback(this.host,this.view,this.newView),this.newView.dispose(),this.newRoute=null,this.newView=null)})}navigate(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}leave(e){return Ou(this,void 0,void 0,function*(){if(yield this.tunnel(e),!e.canceled){const t=this.contributors;this.contributors=new Set,e.onCancel(()=>this.contributors=t)}})}construct(e){return Ou(this,void 0,void 0,function*(){if(null!==this.parent){const t=e.route.allParams[VC]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new mC(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}commit(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}tunnel(e){return Ou(this,void 0,void 0,function*(){const t=this.childRoute,i=this.childCommandContributor;if(t&&i&&(yield e.evaluateContributor(i,t,this)),e.canceled)return;const c=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of c)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const QC=Object.freeze({create:e=>Object.create(z,{router:{value:e}})}),XC=Object.freeze({default:Object.freeze({begin(e,t,i){return Ou(this,void 0,void 0,function*(){})},rollback(e,t,i){return Ou(this,void 0,void 0,function*(){})},commit(e,t,i){return Ou(this,void 0,void 0,function*(){})}})});class JC{constructor(e=null,t=null,i=!0){this.template=e,this.runBeforeCommit=i,this.styles=null==t?null:Array.isArray(t)?Y.create(t):t instanceof Y?t:Y.create([t])}beforeCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit&&this.apply(e)})}afterCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit||this.apply(e)})}apply(e){e instanceof be&&(e.$fastController.template!==this.template&&(e.$fastController.template=this.template),e.$fastController.styles!==this.styles&&(e.$fastController.styles=this.styles))}}const ex=Object.freeze({default:new JC(W`<slot></slot>`)});function tx(e,t){return t in e}const ix={lifecycle:!0,parameters:!0};class cx extends C{constructor(e){super(),this.options=e}createPlaceholder(e){return u.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new ox(e,this.options)}}class ox{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||KC.find(this.contributor),this.router.addContributor(this.contributor)),this.options.parameters){const t=this.contributor,i=e;for(const e in i)t[e]=i[e]}}unbind(e){null!==this.router&&this.router.removeContributor(this.contributor)}}function sx(e){return new cx(Object.assign({},ix,e))}class nx{createContributor(){return Ou(this,void 0,void 0,function*(){return{navigate(e){return Ou(this,void 0,void 0,function*(){e.cancel()})}}})}}class ax{constructor(e){this.redirect=e}createContributor(){return Ou(this,void 0,void 0,function*(){const e=this.redirect;return{navigate(t){return Ou(this,void 0,void 0,function*(){const i=t.router.config,c=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===c)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Ou(this,void 0,void 0,function*(){return yC.path.replace(c)}))})}}})}}function rx(e){return W`<${e} ${sx()}></${e}>`}function lx(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new j(t,[sx().createBehavior(e)]);return{create:()=>i}}class dx{constructor(e,t,i){this.router=e,this.route=t,this.command=i}construct(e){return Ou(this,void 0,void 0,function*(){this.router.shouldRender(this.route)?(this.operation=yield this.router.beginRender(this.route,this.command),e.onCancel(()=>this.operation.rollback())):e.cancel()})}commit(e){return Ou(this,void 0,void 0,function*(){yield this.operation.commit(),this.command.title&&e.setTitle(this.command.title)})}}class hx{constructor(e,t){this.owner=e,this.createView=t,this._layout=null,this._transition=null,this.title=""}get transition(){return this._transition||this.owner.defaultTransition}set transition(e){this._transition=e}get layout(){return this._layout||this.owner.defaultLayout}set layout(e){this._layout=e}createContributor(e,t){return Ou(this,void 0,void 0,function*(){return new dx(e,t,this)})}static fromDefinition(e,t){let i;i="template"in t?()=>Ou(this,void 0,void 0,function*(){let e=t.template;return"function"==typeof e&&(e=yield e()),e.create()}):()=>Ou(this,void 0,void 0,function*(){let e=t.element,i=null;if(t.factory)i=t.factory;else if("function"==typeof e){let t=ue.forType(e);if(t)i=rx(t.name);else if(e=yield e(),"string"==typeof e)i=rx(e);else if(e instanceof HTMLElement)i=lx(e);else{if(t=ue.forType(e),!t)throw new Error("Invalid value for element in route config.");i=rx(t.name)}}else e instanceof HTMLElement?t.factory=i=lx(e):t.factory=i=rx(e);return i.create()});const c=new hx(e,i);return t.layout&&(t.layout instanceof q?c.layout=new JC(t.layout):c.layout=t.layout),t.transition&&(c.transition=t.transition),t.title&&(c.title=t.title),c}}class ux{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),yC.path.push(i))}}connect(){window.addEventListener("click",this.handler,!0)}disconnect(){window.removeEventListener("click",this.handler)}getEventInfo(e){const t={shouldHandleEvent:!1,href:null,anchor:null},i=this.findClosestAnchor(e);if(!i||!this.targetIsThisWindow(i))return t;if(i.hasAttribute("download")||i.hasAttribute("router-ignore")||i.hasAttribute("data-router-ignore"))return t;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return t;const c=i.getAttribute("href");t.anchor=i,t.href=c;const o=1===e.which,s=c&&!("#"===c.charAt(0)||/^[a-z]+:/i.test(c));return t.shouldHandleEvent=o&&!!s,t}findClosestAnchor(e){const t=e.composedPath();for(let e=0,i=t.length;e<i;++e){const i=t[e];if("A"===i.tagName)return i}return e.target}targetIsThisWindow(e){const t=e.getAttribute("target");return!t||t===window.name||"_self"===t}}class fx{constructor(e,t,i,c,o){this.name=e,this.commitActions=c,this.cancelActions=o,this.routes=[],this.routers=[],this.canceled=!1,this.titles=[],this.routes.push(t),this.routers.push(i)}get route(){return this.routes[this.routes.length-1]}get router(){return this.routers[this.routers.length-1]}cancel(e){this.canceled=!0,e&&this.cancelActions.push(e)}onCommit(e){this.commitActions.push(e)}onCancel(e){this.cancelActions.push(e)}setTitle(e){const t=this.router.level;for(;this.titles.length<t+1;)this.titles.push([]);this.titles[t].push(e)}evaluateContributor(e,t=this.route,i=this.router){return Ou(this,void 0,void 0,function*(){tx(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class px{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Ou(this,void 0,void 0,function*(){const i=e.config.createEventSink(),c=yield e.config.recognizeRoute(t.path);if(null===c)return void i.onUnhandledNavigationMessage(e,t);const o=c.route,s=c.command;i.onNavigationBegin(e,o,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,o),e,this];for(const t of this.phases){const c=new fx(t,o,e,n,a);if(i.onPhaseBegin(c),c.canceled)r=a;else for(const e of l)if(yield c.evaluateContributor(e),c.canceled){r=a;break}if(i.onPhaseEnd(c),c.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,o,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class mx{constructor(e=" - ",t=":"){this.segmentSeparator=e,this.fragmentSeparator=t}joinTitles(e,t){return""===e?t:""===t?e:`${e}${this.segmentSeparator}${t}`}buildTitle(e,t){let i=e;for(const e of t){i&&(i+=this.segmentSeparator);let t="";for(const i of e)t&&(t+=this.fragmentSeparator),t+=i;i+=t}return i}}class gx{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class vx{constructor(){this.isConfigured=!1,this.routes=new qC(this),this.contributors=[],this.defaultLayout=ex.default,this.defaultTransition=XC.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(zC)}createLinkHandler(){return this.construct(ux)}createNavigationProcess(){return new px}createEventSink(){return this.construct(gx)}createTitleBuilder(){return this.construct(mx)}createRouteRecognizer(){return this.construct(IC)}construct(e){return null!==this.parent?this.parent.construct(e):new e}recognizeRoute(e){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.recognize(e)})}generateRouteFromName(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromName(e,t)})}generateRouteFromPath(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromPath(e,t)})}findContributors(e){return this.contributors.filter(t=>tx(t,e))}cached(e){let t=null;return()=>Ou(this,void 0,void 0,function*(){return null===t&&(t=new e),t})}ensureConfigured(){return Ou(this,void 0,void 0,function*(){this.isConfigured||(yield this.configure(),this.isConfigured=!0)})}}let bx=class extends(KC.from(be)){};bx=Nu([ye("fast-router")],bx);const yx=[];setTimeout(()=>{yx.length&&console.warn(`${yx.length} attribute deprecation notice(s):\n ${yx.join("\n")}`)},5e3);const zx="reauthActionLock";var Cx;function xx(){return Ou(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(zx)||"0");Date.now()-e>3e4&&localStorage.removeItem(zx)}(),localStorage.getItem(zx)||(localStorage.setItem(zx,Date.now().toString()),0))return Cx.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Ou(this,void 0,void 0,function*(){const e=yield fetch($g,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return Cx.ALREADY_VALID;return(yield function(){return Ou(this,void 0,void 0,function*(){const e=ft.getOrCreateDOMContainer().get(cC);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post(kg,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?Cx.SUCCESS:(t&&window.location.reload(),Cx.FAILED)}finally{localStorage.removeItem(zx)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(Cx||(Cx={}));const Lx=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const c=i.DETAILS.ROW_REF,o=i.DETAILS.OPERATION;"INSERT"===o&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c})||e.unshift(i)),"DELETE"===o&&(e=e.filter(e=>{var i,c;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(c=e.DETAILS)||void 0===c?void 0:c.ROW_REF)})),"MODIFY"===o&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var Mx;let wx=Mx=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,c,o,s){var n;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=c,this.serializer=o,this.config=s,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new Rb(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.ongoingRefresh=null}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>Ou(this,void 0,void 0,function*(){const e=this.host;this.disconnect();let t=yield xx();return t===Cx.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,Mx.REAUTH_WAIT_MS)}),t=yield xx()),(t===Cx.SUCCESS||t===Cx.ALREADY_VALID)&&(this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return Ou(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:aC.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===aC.HEARTBEAT_PONG)}catch(e){return Pm.error(e),!1}})}send(e,t){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot send message: session refresh failed")}return this.http.post(Mx.getUrl(this.host,e),{body:Mx.getBody(e),headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}httpMode(){return!0}setValidSession(e){Pm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return Ou(this,void 0,void 0,function*(){return this.host=e,this.host.startsWith("ws")&&(this.host=this.host.replace("ws","http")),this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e))})}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Pm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>Pm.error(e)),e))})}stream(e,t,i,c){var o,s;const n=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(o=this.config.polling)||void 0===o?void 0:o.POLLING_INTERVAL_MAP)||void 0===s?void 0:s[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(a,{SOURCE_REF:a,POLLING_FREQUENCY:new Rb(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=Vy(Sy(this.send(n)),l.pipe(Uy(()=>"visible"===document.visibilityState)).pipe(Gy(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=Jb),t<0&&(t=0),By(t,t,i);var t,i})).pipe(Gy(()=>Sy(this.getMessage(n))))).pipe(Wy(()=>this.streams.has(a)),function(e){var t;void 0===e&&(e=1/0);var i=(t=e&&"object"==typeof e?e:{count:e}).count,c=void 0===i?1/0:i,o=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return c<=0?Cb:wb(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Sb(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<c){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=o){var l="number"==typeof o?By(o):yy(o(e,s)),d=Sb(t,function(){d.unsubscribe(),n()},function(){t.complete()});l.subscribe(d)}else n()}else t.error(e)})),r&&(i.unsubscribe(),i=null,a())};a()})}({count:Mx.MAX_RETRIES,delay:(e,t)=>{const i=e;Pm.error(`Retry ${t}/${Mx.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=Kz.BAD_REQUEST&&i.status<Kz.INTERNAL_SERVER_ERROR))throw e;return i.status===Kz.NOT_FOUND&&this.streams.delete(a),i.status===Kz.UNAUTHORIZED?Sy(this.handleSessionRefresh()):By(Mx.RETRY_DELAY_MS)}}),(h=()=>{Pm.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},wb(function(e,t){try{e.subscribe(t)}finally{t.add(h)}})));var h;return this.streams.get(a).STREAM=d,d}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(jy(Lx,o))}streamWithoutAutoTeardown(e,t,i,c){return Pm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,c)}getMessage(e){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot get message: session refresh failed")}return this.http.get(Mx.getUrl(this.host,e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}getMoreRows(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return Pm.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(Pm.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasMetadataFor(e))return Pm.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);Pm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const c=yield this.send(i).then(e=>e.DETAILS);return Object.keys(c).length&&this.metaCache.setMetadataFor(e,c),c})}getJSONSchema(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,rC.JSON_SCHEMA_REQUEST);return Pm.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (request server) message created -> `,i);let c=Mx.getUrl(this.host,i);const o=[];return i.REQUEST&&Object.keys(i.REQUEST).length>0&&Object.keys(i.REQUEST).forEach(e=>{const t=i.REQUEST[e];null==t||Number.isNaN(t)||o.push(`REQUEST.${e}=${encodeURIComponent(String(t))}`)}),i.DETAILS&&Object.keys(i.DETAILS).forEach(e=>{const t=i.DETAILS[e];null==t||Number.isNaN(t)||o.push(`${e}=${encodeURIComponent(String(t))}`)}),o.length>0&&(c=`${c}?${o.join("&")}`),Pm.debug(`HTTP MODE! - REQUEST_SERVER GET URL: ${c}`),this.http.get(c,{headers:this.messageBuilder.createHTTPHeadersFromMessage(i)})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Pm.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const c=yield this.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (commit) message created -> `,i),this.send(i).then(t=>(this.maybeTurbo(e,t),t))})}maybeTurbo(e,t){var i;if(!(null===(i=null==t?void 0:t.MESSAGE_TYPE)||void 0===i?void 0:i.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void Pm.debug(`${e} polling frequency is already accelerated.`);const c=this.config.polling.POLLING_MAP[e];if(!(null==c?void 0:c.TEMP_FREQUENCY)||!c.AMOUNT_OF_POLLS)return;const o=c.TEMP_FREQUENCY,s=o*c.AMOUNT_OF_POLLS,n=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 c.QUERIES)a[e]=o,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);Pm.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${o}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{Pm.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:n}}),this.ongoingTurbo[e]=!1},s)}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 i=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=i,Pm.debug(`Setting polling frequency for ${t} = ${i}`),[...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(i)})}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let c=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===rC.DATA_LOGON&&(c=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${c}`}};wx.REAUTH_WAIT_MS=5e3,wx.RETRY_DELAY_MS=1e3,wx.MAX_RETRIES=3,Nu([g],wx.prototype,"host",void 0),Nu([g],wx.prototype,"isWorking",void 0),Nu([g],wx.prototype,"_isConnected",void 0),Nu([v],wx.prototype,"isConnected",null),wx=Mx=Nu([Au(0,cC),Au(1,fC),Au(2,eC),Au(3,Rz),Au(4,Jv),Au(5,sC)],wx);const Sx=ft.createInterface(e=>e.singleton(wx));var kx={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},$x=function(e){function t(t,i){var c=e.call(this)||this;if(c._socket=null,t instanceof xb)c.destination=i,c.source=t;else{var o=c._config=$u({},kx);if(c._output=new Ob,"string"==typeof t)o.url=t;else for(var s in t)t.hasOwnProperty(s)&&(o[s]=t[s]);if(!o.WebSocketCtor&&WebSocket)o.WebSocketCtor=WebSocket;else if(!o.WebSocketCtor)throw new Error("no WebSocket constructor can be found");c.destination=new Db}return c}return ku(t,e),t.prototype.lift=function(e){var i=new t(this._config,this.destination);return i.operator=e,i.source=this,i},t.prototype._resetState=function(){this._socket=null,this.source||(this.destination=new Db),this._output=new Ob},t.prototype.multiplex=function(e,t,i){var c=this;return new xb(function(o){try{c.next(e())}catch(e){o.error(e)}var s=c.subscribe({next:function(e){try{i(e)&&o.next(e)}catch(e){o.error(e)}},error:function(e){return o.error(e)},complete:function(){return o.complete()}});return function(){try{c.next(t())}catch(e){o.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,c=t.protocol,o=t.url,s=t.binaryType,n=this._output,a=null;try{a=c?new i(o,c):new i(o),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new ob(function(){e._socket=null,a&&1===a.readyState&&a.close()});a.onopen=function(t){if(!e._socket)return a.close(),void e._resetState();var i=e._config.openObserver;i&&i.next(t);var c=e.destination;e.destination=fb.create(function(t){if(1===a.readyState)try{var i=e._config.serializer;a.send(i(t))}catch(t){e.destination.error(t)}},function(t){var i=e._config.closingObserver;i&&i.next(void 0),t&&t.code?a.close(t.code,t.reason):n.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),e._resetState()},function(){var t=e._config.closingObserver;t&&t.next(void 0),a.close(),e._resetState()}),c&&c instanceof Db&&r.add(c.subscribe(e.destination))},a.onerror=function(t){e._resetState(),n.error(t)},a.onclose=function(t){a===e._socket&&e._resetState();var i=e._config.closeObserver;i&&i.next(t),t.wasClean?n.complete():n.error(t)},a.onmessage=function(t){try{var i=e._config.deserializer;n.next(i(t))}catch(e){n.error(e)}}},t.prototype._subscribe=function(e){var t=this,i=this.source;return i?i.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(function(){var e=t._socket;0===t._output.observers.length&&(!e||1!==e.readyState&&0!==e.readyState||e.close(),t._resetState())}),e)},t.prototype.unsubscribe=function(){var t=this._socket;!t||1!==t.readyState&&0!==t.readyState||t.close(),this._resetState(),e.prototype.unsubscribe.call(this)},t}(Tb);const Ex=1e4,Nx=6e4;var Ax;!function(e){e.Linear="linear",e.Exponential="exponential"}(Ax||(Ax={}));const Ox=(e,t)=>{const{reconnectInterval:i=Ex}=e,c=i>Nx?Nx:i,o=Math.round(Math.log2(Nx/c));return c*Math.pow(2,t%o)},Tx=e=>{const{reconnectInterval:t=Ex}=e;return t>Nx?Nx:t};class Rx{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new Rb(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}}Nu([g],Rx.prototype,"isConfigured",void 0),Nu([g],Rx.prototype,"isConnecting",void 0),Nu([g],Rx.prototype,"isConnected",void 0),Nu([g],Rx.prototype,"isReconnecting",void 0),Nu([g],Rx.prototype,"reconnectionLimitReached",void 0),Nu([g],Rx.prototype,"closedCode",void 0),Nu([g],Rx.prototype,"closedReason",void 0),Nu([g],Rx.prototype,"closedClean",void 0),Nu([Oz],Rx.prototype,"user",void 0);const Ix=ft.createInterface(e=>e.singleton(Rx));class Dx{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 Fx extends Ob{constructor(){super()}}class Hx{constructor(e,t,i,c){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=c}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let _x=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 Pm.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){Pm.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:Cg}constructor(e,t,i,c,o,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=c,this.status=o,this.user=s,this.config=n,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.socketMessages=()=>this.wsMessages}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=Cg,t,i){var c;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(c=this.config.isWebSocketExpression)||void 0===c?void 0:c.test(this.host))?new Promise(e=>{var t,i,c,o;Pm.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`),this.status.isConnecting=!this.isReconnecting;(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(i=this.socketSubscription)||void 0===i||i.unsubscribe(),this.websocket=new $x({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),Pm.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.status.onClose(t),this.isDisconnectedByServer&&Pm.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(c=this.connectOptions)||void 0===c?void 0:c.connectObserver)&&void 0!==o?o:{next:e=>Ou(this,void 0,void 0,function*(){var t;const i=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,i);const{SOURCE_REF:c,MESSAGE_TYPE:o}=e,s=this.getMessageHandler(c,o);if(!s)return void(e.MESSAGE_TYPE===aC.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{Pm.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case rC.EVENT_LOGIN_AUTH_ACK:{const i=e.DETAILS;i.HEARTBEAT_INTERVAL_SECS&&void 0===(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatInterval)&&(this.heartbeatInterval=i.HEARTBEAT_INTERVAL_SECS*this.secondsMultiplier,this.prepareHeartbeat());break}case aC.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case aC.LOGON_ACK:return;case aC.LOGOFF_ACK:break;case aC.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(c);break;case aC.MSG_NACK:case aC.LOGON_NACK:n=!0}n?s.onReceivedError.call(this,{receivedMessage:e,sentMessage:s.sentMessage}):s.onReceivedMessage.call(this,e),this.wsMessages.next(e),s.isSubscription||this.removeMessageHandler(c)}),error:e=>{Pm.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():Pm.info("Connection is now closed")}}),this.status.isConfigured=!0}):(Pm.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void Pm.warn("Make sure the host url starts with wss:// or ws://"))}handleExpiredSession(){return Ou(this,void 0,void 0,function*(){if(this.session.getSessionStorageItem("refreshToken")){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);this.session.setAuthResult(t),this.updateSessionAndSubscriptions(t)}else yield this.handleCookieBasedReauth()})}handleCookieBasedReauth(){return Ou(this,void 0,void 0,function*(){const e=yield xx();e!==Cx.HANDLED_BY_OTHER_TAB?e!==Cx.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===zx&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===rC.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}prepareHeartbeat(){var e,t,i,c;this.heartbeatTicker&&this.heartbeatTicker.stop();const o=()=>Ou(this,void 0,void 0,function*(){var e,t,i;if(!this.isConnected)return;const c=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(c);const o=yield this.send(c);this.user.isAuthenticated&&!o.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(o),this.heartbeatIsEnabled=o.MESSAGE_TYPE===aC.HEARTBEAT_PONG&&o.SOURCE_REF===c.SOURCE_REF});if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(c=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==c?c:this.heartbeatInterval;this.heartbeatTicker=new Dx(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&Pm.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,c,o;const s=!(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||s)return;this.status.isReconnecting=!0;const n=(null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectStrategy)===Ax.Exponential?Ox:Tx,a=this.isConnectedSubject.asObservable().pipe(Gy(e=>e?ky(-1):((e,t)=>new xb(i=>{let c,o=0;return function s(){i.next(o),clearTimeout(c),c=setTimeout(s,t(e,o)),o+=1}(),()=>{clearTimeout(c)}}))(this.reconnectOptions,n).pipe(_y(e=>{var t,i,c;let o;return o=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(c=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==c?c:10,e<o?ky(e):(this.status.reconnectionLimitReached=!0,$y(()=>new Error(`Max reconnect attempts ${o} reached.`)))}))),Wy(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(o=null===(c=this.reconnectOptions)||void 0===c?void 0:c.reconnectObserver)&&void 0!==o?o:{next:e=>{Pm.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;Pm.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{Pm.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}reset(){this.status.isConnected=!1,this.status.isConfigured=!1,this.websocket&&this.websocket.complete(),this.websocket=null,this.cleanMessages()}cleanMessages(){this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new Fx,this.wsMessageHandlers=new Map}send(e,t=!0){if(!this.isConnected)return Promise.reject(new Error("WebSocket connection is closed"));const i=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,i),new Promise((i,c)=>{const o=e=>{i(e)},s=e=>{c(e)};t&&this.setMessageHandler(e,o,s),this.websocket.next(e)})}sendForStream(e,t,i,c){if(!this.isConnected)return $y(()=>new Error("WebSocket connection is closed"));const o=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,o),this.setMessageHandler(e,t,i,!0),u.queueUpdate(()=>this.websocket.next(e)),new xb(t=>{const i=new Ob;var o;return this.wsMessages.pipe(Uy(t=>t.SOURCE_REF===e.SOURCE_REF),(o=i,wb(function(e,t){yy(o).subscribe(Sb(t,function(){return t.complete()},hb)),!t.closed&&e.subscribe(t)}))).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}}),()=>{i.complete(),this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),c&&c()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return $y(()=>new Error("WebSocket connection is closed"));const c=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,c),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(Uy(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,c=!1){const o=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.debug,o),this.wsMessageHandlers.set(e.SOURCE_REF,new Hx(e,t,i,c))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1)}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const i=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,Pm.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case rC.DATA_LOGOFF:t(i);break;case aC.HEARTBEAT_PING:case aC.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Nu([g],_x.prototype,"websocket",void 0),Nu([g],_x.prototype,"wsMessages",void 0),Nu([g],_x.prototype,"wsMessageHandlers",void 0),Nu([cC],_x.prototype,"http",void 0),Nu([g],_x.prototype,"heartbeatIsEnabled",void 0),_x=Nu([Au(0,fC),Au(1,eC),Au(2,Jv),Au(3,Ez),Au(4,Ix),Au(5,Oz),Au(6,qz)],_x);const Px=ft.createInterface(e=>e.singleton(_x));let Vx=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,i,c,o){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=c,this.config=o,this.isWorking=!1}httpMode(){return!1}setValidSession(e){Pm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}send(e,t){return this.socket.send(e,t)}connect(){return Ou(this,arguments,void 0,function*(e=Cg){return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Pm.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,c){const o=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`${o.MESSAGE_TYPE} (stream) message created -> `,o);const s=performance.now();let n=null;const a=this.socket.sendForStream(o,(...i)=>{null===n&&(n=performance.now(),Pm.debug(`[stream:${e}] time to initial response: ${(n-s).toFixed(2)}ms`)),t(...i)},t=>{i(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,o,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(jy(Lx,o))}streamWithoutAutoTeardown(e,t,i,c){Pm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const o=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`${o.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,o);const s=this.socket.sendForStreamWithoutTeardown(o,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,o,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return Pm.debug(`${i.MESSAGE_TYPE} message created -> `,i),this.socket.send(i,!1)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return Pm.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasMetadataFor(e))return Pm.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const c=this.messageBuilder.createMetaRequestMessage(e);let o,s;Pm.debug(`${c.MESSAGE_TYPE} (metadata) message created -> `,c);try{this.isWorking=!0;const t=yield this.socket.send(c);o=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setMetadataFor(e,o)}catch(e){throw s=e,Pm.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,c,s),this.isWorking=!1}return o})}getJSONSchema(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return Pm.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const c=this.messageBuilder.createMetaRequestMessage(e,rC.JSON_SCHEMA_REQUEST);let o;Pm.debug(`${c.MESSAGE_TYPE} (json schema) message created -> `,c);try{this.isWorking=!0,o=null!==(i=yield this.socket.send(c))&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setJsonSchemaFor(e,o)}catch(e){Pm.error(e)}finally{this.isWorking=!1}return o})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);return Pm.debug(`${i.MESSAGE_TYPE} (request server) message created -> `,i),this.socket.send(i)}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Pm.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Pm.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const c=yield this.socket.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);Pm.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const c=this.socket.send(i);return this.events.onCommitEvent(e,i),c.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Nu([g],Vx.prototype,"isWorking",void 0),Vx=Nu([Au(0,Px),Au(1,fC),Au(2,Rz),Au(3,Uz),Au(4,qz)],Vx);const Bx="true"===yg||gg("forceHttp"),Ux=ft.createInterface(e=>e.singleton(Vx)),jx=ft.createInterface(e=>Bx?e.aliasTo(Sx):e.aliasTo(Ux));class qx{serialize(e){return Pm.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return Pm.deprecated("deserialize","Use `deserialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),e?"string"==typeof e?JSON.parse(e):e.data?JSON.parse(e.data):e.text().then(e=>JSON.parse(e)):Promise.resolve({})}}
55
+ Logout Now </${e}-button></div></div></${e}-card></div>`)(eg(e,"rapid").prefix)} `,styles:xe` .inactivity-overlay{position: fixed;inset: 0;width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0.6);display: flex;align-items: center;justify-content: center;z-index: 9999;backdrop-filter: blur(2px)}.dialog-card{height: 260px;max-height: 260px;max-width: 520px;width: 92%}.card-body{padding: 24px;box-sizing: border-box}.dialog-header{display: flex;align-items: center;gap: 12px;margin-bottom: 16px}.warning-icon{color: var(--accent-fill-rest);font-size: 24px}.dialog-header h2{margin: 0;color: var(--neutral-foreground-rest);font-size: 20px;font-weight: 600}.dialog-content{margin-bottom: 24px}.dialog-content p{margin: 0 0 12px 0;color: var(--neutral-foreground-rest);line-height: 1.5}.dialog-content p:last-child{margin-bottom: 0}.dialog-content strong{color: var(--accent-foreground-rest);font-weight: 600}.dialog-actions{display: flex;gap: 12px;justify-content: flex-end}.continue-button{min-width: 140px}.logout-button{min-width: 120px}@media (max-width: 480px){.card-body{padding: 20px}.dialog-actions{flex-direction: column}.continue-button, .logout-button{width: 100%}}`})],Nz);class Az{constructor(){this.pathHistory=[],this.actionHistory=[],this.isAuthenticated=!1,this.authenticationChangeListeners=Qm()}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:i}=location,c=`${`${"/"!==e?e:""}`}${t}${i}`;if(!this.config.trackPathExclusions.includes(c))return this.pathHistory.push(c),c}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=ft.getOrCreateDOMContainer().get(Zm);t.postMessage("user-authentication-change",this.isAuthenticated),t.close()}userNameChanged(){m.notify(this,"username")}get username(){return m.track(this,"username"),this.userName}permissionChanged(){m.notify(this,"permissions")}get permissions(){return m.track(this,"permissions"),this.permission}profileChanged(){m.notify(this,"profiles")}get profiles(){return m.track(this,"profiles"),this.profile}hasAdminProfile(){return this.isAdmin()}}Nu([Km],Az.prototype,"config",void 0),Nu([g],Az.prototype,"pathHistory",void 0),Nu([g],Az.prototype,"actionHistory",void 0),Nu([g],Az.prototype,"isAuthenticated",void 0),Nu([g],Az.prototype,"userKVs",void 0),Nu([g],Az.prototype,"details",void 0),Nu([g],Az.prototype,"permission",void 0),Nu([g],Az.prototype,"profile",void 0),Nu([g],Az.prototype,"sourceRef",void 0),Nu([g],Az.prototype,"userName",void 0),Nu([g],Az.prototype,"rawProperties",void 0);const Oz=ft.createInterface(e=>e.singleton(Az));class Tz{constructor(){this.cachedMetadata=new Map,this.cachedJsonSchema=new Map,this.cachedResources=null}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}}const Rz=ft.createInterface(e=>e.singleton(Tz));var Iz;!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"}(Iz||(Iz={}));const Dz={STRING:Iz.STRING,ENUM:Iz.ENUM,BOOLEAN:Iz.BOOLEAN,INT:Iz.NUMBER,LONG:Iz.NUMBER,DOUBLE:Iz.NUMBER,BIGDECIMAL:Iz.NUMBER,DATE:Iz.DATE,DATETIME:Iz.DATETIME,NANO_TIMESTAMP:Iz.NANO_TIMESTAMP};var Fz;!function(e){e.DATASERVER="DATASERVER",e.EVENT_HANDLER="EVENT_HANDLER",e.REQUEST_SERVER="REQUEST_SERVER"}(Fz||(Fz={}));const Hz="datasource-status-changed",_z=e=>e?e.map(e=>{const t={name:e.NAME,type:Dz[e.TYPE]||Iz.STRING};if(e.TYPE===Iz.ENUM&&e.VALID_VALUES)try{t.enumOptions=Array.isArray(e.VALID_VALUES)?e.VALID_VALUES:e.VALID_VALUES.split("|")}catch(e){Pm.error(e),t.enumOptions=[]}return t}):null,Pz=e=>{var t;const i=null==e?void 0:e.TYPE;if(i===Fz.DATASERVER)return e.FIELD||[];if(i===Fz.REQUEST_SERVER)return e.REPLY_FIELD||(null===(t=e.REPLY)||void 0===t?void 0:t.FIELD)||[];throw new Error(`Unsupported resource type: ${i}`)};class Vz{constructor(){this.streamListeners=Qm(),this.streamCompleteListeners=Qm(),this.streamErrorListeners=Qm(),this.commitListeners=Qm(),this.metadataListeners=Qm(),this.commitResponseListeners=Qm()}addStreamListener(e,t,i){var c,o,s;const n=null===(c=this.streamListeners)||void 0===c?void 0:c.subscribe(e),a=null===(o=this.streamCompleteListeners)||void 0===o?void 0:o.subscribe(t),r=null===(s=this.streamErrorListeners)||void 0===s?void 0:s.subscribe(i);return()=>{n(),a(),r()}}onStreamEvent(e,t,i,c){var o;null===(o=this.streamListeners)||void 0===o||o.publish(new CustomEvent("connect-stream-event",{detail:{functions:c,message:t,resourceName:e,stream:i}}))}onStreamErrorEvent(e,t,i){var c;null===(c=this.streamErrorListeners)||void 0===c||c.publish(new CustomEvent("connect-stream-error-event",{detail:{resourceName:e,stream:t,error:i}}))}onStreamCompleteEvent(e,t){var i;null===(i=this.streamCompleteListeners)||void 0===i||i.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 i;null===(i=this.commitListeners)||void 0===i||i.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,i){var c;null===(c=this.metadataListeners)||void 0===c||c.publish(new CustomEvent("connect-metadata-event",{detail:{resourceName:e,message:t,error:i}}))}addCommitResponseListener(e){var t;return null===(t=this.commitResponseListeners)||void 0===t?void 0:t.subscribe(e)}onCommitResponseEvent(e,t){var i;null===(i=this.commitResponseListeners)||void 0===i||i.publish(new CustomEvent("connect-commit-response-event",{detail:{eventName:e,response:t}}))}}const Bz=ft.createInterface(e=>e.singleton(Vz)),Uz=ft.createInterface(e=>e.aliasTo(Bz)),jz={connect:{alwaysOn:!1,enableHeartbeat:!0,enableHeartbeatLogging:!1,heartbeatInterval:1e4,verboseHeartbeat:!1,enableMessageLogging:!1},reconnect:{reconnectAttempts:10,reconnectInterval:1e4,reconnectStreams:!0},isWebSocketExpression:Vm},qz=ft.createInterface(e=>e.instance(jz));var Gz={ACCEPTED:202,BAD_GATEWAY:502,BAD_REQUEST:400,CONFLICT:409,CONTINUE:100,CREATED:201,EXPECTATION_FAILED:417,FORBIDDEN:403,GATEWAY_TIMEOUT:504,GONE:410,HTTP_VERSION_NOT_SUPPORTED:505,IM_A_TEAPOT:418,INSUFFICIENT_SPACE_ON_RESOURCE:419,INSUFFICIENT_STORAGE:507,INTERNAL_SERVER_ERROR:500,LENGTH_REQUIRED:411,LOCKED:423,METHOD_FAILURE:420,METHOD_NOT_ALLOWED:405,MOVED_PERMANENTLY:301,MOVED_TEMPORARILY:302,MULTI_STATUS:207,MULTIPLE_CHOICES:300,NETWORK_AUTHENTICATION_REQUIRED:511,NO_CONTENT:204,NON_AUTHORITATIVE_INFORMATION:203,NOT_ACCEPTABLE:406,NOT_FOUND:404,NOT_IMPLEMENTED:501,NOT_MODIFIED:304,OK:200,PARTIAL_CONTENT:206,PAYMENT_REQUIRED:402,PERMANENT_REDIRECT:308,PRECONDITION_FAILED:412,PRECONDITION_REQUIRED:428,PROCESSING:102,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_HEADER_FIELDS_TOO_LARGE:431,REQUEST_TIMEOUT:408,REQUEST_TOO_LONG:413,REQUEST_URI_TOO_LONG:414,REQUESTED_RANGE_NOT_SATISFIABLE:416,RESET_CONTENT:205,SEE_OTHER:303,SERVICE_UNAVAILABLE:503,SWITCHING_PROTOCOLS:101,TEMPORARY_REDIRECT:307,TOO_MANY_REQUESTS:429,UNAUTHORIZED:401,UNPROCESSABLE_ENTITY:422,UNSUPPORTED_MEDIA_TYPE:415,USE_PROXY:305},Wz={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",103:"Early Hints",426:"Upgrade Required",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy",421:"Misdirected Request"},Yz={Accepted:202,"Bad Gateway":502,"Bad Request":400,Conflict:409,Continue:100,Created:201,"Expectation Failed":417,"Failed Dependency":424,Forbidden:403,"Gateway Timeout":504,Gone:410,"HTTP Version Not Supported":505,"I'm a teapot":418,"Insufficient Space on Resource":419,"Insufficient Storage":507,"Internal Server Error":500,"Length Required":411,Locked:423,"Method Failure":420,"Method Not Allowed":405,"Moved Permanently":301,"Moved Temporarily":302,"Multi-Status":207,"Multiple Choices":300,"Network Authentication Required":511,"No Content":204,"Non Authoritative Information":203,"Not Acceptable":406,"Not Found":404,"Not Implemented":501,"Not Modified":304,OK:200,"Partial Content":206,"Payment Required":402,"Permanent Redirect":308,"Precondition Failed":412,"Precondition Required":428,Processing:102,"Early Hints":103,"Upgrade Required":426,"Proxy Authentication Required":407,"Request Header Fields Too Large":431,"Request Timeout":408,"Request Entity Too Large":413,"Request-URI Too Long":414,"Requested Range Not Satisfiable":416,"Reset Content":205,"See Other":303,"Service Unavailable":503,"Switching Protocols":101,"Temporary Redirect":307,"Too Many Requests":429,Unauthorized:401,"Unavailable For Legal Reasons":451,"Unprocessable Entity":422,"Unsupported Media Type":415,"Use Proxy":305,"Misdirected Request":421};var Kz,Zz,Qz=function(e){var t=Wz[e.toString()];if(!t)throw new Error("Status code does not exist: "+e);return t};!function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.MOVED_TEMPORARILY=302]="MOVED_TEMPORARILY",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"}(Kz||(Kz={})),function(e){e.ACCEPTED="Accepted",e.BAD_GATEWAY="Bad Gateway",e.BAD_REQUEST="Bad Request",e.CONFLICT="Conflict",e.CONTINUE="Continue",e.CREATED="Created",e.EXPECTATION_FAILED="Expectation Failed",e.FAILED_DEPENDENCY="Failed Dependency",e.FORBIDDEN="Forbidden",e.GATEWAY_TIMEOUT="Gateway Timeout",e.GONE="Gone",e.HTTP_VERSION_NOT_SUPPORTED="HTTP Version Not Supported",e.IM_A_TEAPOT="I'm a teapot",e.INSUFFICIENT_SPACE_ON_RESOURCE="Insufficient Space on Resource",e.INSUFFICIENT_STORAGE="Insufficient Storage",e.INTERNAL_SERVER_ERROR="Internal Server Error",e.LENGTH_REQUIRED="Length Required",e.LOCKED="Locked",e.METHOD_FAILURE="Method Failure",e.METHOD_NOT_ALLOWED="Method Not Allowed",e.MOVED_PERMANENTLY="Moved Permanently",e.MOVED_TEMPORARILY="Moved Temporarily",e.MULTI_STATUS="Multi-Status",e.MULTIPLE_CHOICES="Multiple Choices",e.NETWORK_AUTHENTICATION_REQUIRED="Network Authentication Required",e.NO_CONTENT="No Content",e.NON_AUTHORITATIVE_INFORMATION="Non Authoritative Information",e.NOT_ACCEPTABLE="Not Acceptable",e.NOT_FOUND="Not Found",e.NOT_IMPLEMENTED="Not Implemented",e.NOT_MODIFIED="Not Modified",e.OK="OK",e.PARTIAL_CONTENT="Partial Content",e.PAYMENT_REQUIRED="Payment Required",e.PERMANENT_REDIRECT="Permanent Redirect",e.PRECONDITION_FAILED="Precondition Failed",e.PRECONDITION_REQUIRED="Precondition Required",e.PROCESSING="Processing",e.EARLY_HINTS="Early Hints",e.UPGRADE_REQUIRED="Upgrade Required",e.PROXY_AUTHENTICATION_REQUIRED="Proxy Authentication Required",e.REQUEST_HEADER_FIELDS_TOO_LARGE="Request Header Fields Too Large",e.REQUEST_TIMEOUT="Request Timeout",e.REQUEST_TOO_LONG="Request Entity Too Large",e.REQUEST_URI_TOO_LONG="Request-URI Too Long",e.REQUESTED_RANGE_NOT_SATISFIABLE="Requested Range Not Satisfiable",e.RESET_CONTENT="Reset Content",e.SEE_OTHER="See Other",e.SERVICE_UNAVAILABLE="Service Unavailable",e.SWITCHING_PROTOCOLS="Switching Protocols",e.TEMPORARY_REDIRECT="Temporary Redirect",e.TOO_MANY_REQUESTS="Too Many Requests",e.UNAUTHORIZED="Unauthorized",e.UNAVAILABLE_FOR_LEGAL_REASONS="Unavailable For Legal Reasons",e.UNPROCESSABLE_ENTITY="Unprocessable Entity",e.UNSUPPORTED_MEDIA_TYPE="Unsupported Media Type",e.USE_PROXY="Use Proxy",e.MISDIRECTED_REQUEST="Misdirected Request"}(Zz||(Zz={}));var Xz=this&&this.__assign||function(){return Xz=Object.assign||function(e){for(var t,i=1,c=arguments.length;i<c;i++)for(var o in t=arguments[i])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Xz.apply(this,arguments)};Xz(Xz({},Gz),{getStatusCode:function(e){var t=Yz[e];if(!t)throw new Error("Reason phrase does not exist: "+e);return t},getStatusText:Qz});class Jz{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:i}=location;if(e&&(e.includes("/login")||e.includes("/auth")))return;const c=`${"/"!==e?e:""}`;this.returnUrl=`${c}${t}${i}`,this.setSessionStorageItem("returnUrl",this.returnUrl)}setItem(e,t,i){"local"===i?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 eC=ft.createInterface(e=>e.singleton(Jz));function tC(e){const t=new Error(`HTTP error: ${e.status} ${e.statusText}`);return t.status=e.status,t.message=e.statusText,t}let iC=class{constructor(e){this.serializer=e}get(e,t){return Ou(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"GET"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw tC(i);return(t.serializer||this.serializer).deserialize(i)})}post(e,t){return Ou(this,void 0,void 0,function*(){const i=yield fetch(e,Object.assign(Object.assign({credentials:"include",headers:{"Content-type":"application/json; charset=UTF-8"}},t),{method:"POST"}));if(i.redirected)return window.location.href=i.url,new Promise(()=>{});if(!i.ok)throw tC(i);return(t.serializer||this.serializer).deserialize(i)})}};iC=Nu([Au(0,Jv)],iC);const cC=ft.createInterface(e=>e.singleton(iC)),oC={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},xg&&xg.length?JSON.parse(xg):{})},sC=ft.createInterface(e=>e.instance(oC));var nC,aC,rC,lC;!function(e){e.BASIC="BASIC",e.SSO="SSO",e.JWT="JWT",e.REFRESH="REFRESH"}(nC||(nC={}));class dC extends Error{constructor(e,t,i="Auth Failed \n"){super(i),this.sent=e,this.received=t,Object.setPrototypeOf(this,dC.prototype)}isIgnorableError(){var e,t,i,c,o,s,n,a;return!!(null===(c=null===(i=null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)||void 0===i?void 0:i.toLowerCase())||void 0===c?void 0:c.includes("request needs the user to be logged"))||!!(null===(a=null===(n=null===(s=null===(o=this.received)||void 0===o?void 0:o.DETAILS)||void 0===s?void 0:s.ERROR)||void 0===n?void 0:n.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,i,c;return Array.isArray(null===(t=null===(e=this.received)||void 0===e?void 0:e.DETAILS)||void 0===t?void 0:t.ERROR)?null===(c=null===(i=this.received)||void 0===i?void 0:i.DETAILS)||void 0===c?void 0:c.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,i;return!!Array.isArray(null===(t=this.received)||void 0===t?void 0:t.ERROR)&&(null===(i=this.received)||void 0===i?void 0:i.ERROR.some(t=>t.CODE===e))}errorDetailFormatter(e){return`\n ${e.CODE}: \n ${e.TEXT}`}}!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"}(aC||(aC={})),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"}(rC||(rC={})),function(e){e.SESSION_NOT_FOUND="SESSION_NOT_FOUND",e.UNKNOWN_MESSAGE_TYPE="UNKNOWN_MESSAGE_TYPE"}(lC||(lC={}));const hC=(e,t)=>!!Array.isArray(null==e?void 0:e.ERROR)&&(null==e?void 0:e.ERROR.some(e=>{var i,c;return(null===(i=e.CODE)||void 0===i?void 0:i.includes(`${t}`))||(null===(c=e.STATUS_CODE)||void 0===c?void 0:c.includes(`${t}`))}));let uC=class{constructor(e,t){this.session=e,this.uuid=t}createLoginMessage(e){let t;switch(e.type){case nC.BASIC:t={USER_NAME:e.username,PASSWORD:e.password,MFA_CODE:e.mfaToken};break;case nC.REFRESH:t={USER_NAME:e.username,REFRESH_AUTH_TOKEN:e.refreshToken,MFA_CODE:e.mfaToken};break;case nC.SSO:t={SSO_TOKEN:e.ssoToken};break;case nC.JWT:t={JWT:e.jwt,DOMAIN:e.domain}}return{DETAILS:t,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_LOGIN_AUTH}}createLogoutMessage(e){var t,i;return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_LOGOUT,SESSION_AUTH_TOKEN:null!==(t=e.authToken)&&void 0!==t?t:this.session.getSessionStorageItem("authToken"),SESSION_ID:null!==(i=e.sessionId)&&void 0!==i?i:this.session.getSessionStorageItem("sessionId")}}createDataLogonMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.DATA_LOGON,DETAILS:Object.assign({DATASOURCE_NAME:e},t),SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}createDataLogoffMessage(e){return{SOURCE_REF:e,MESSAGE_TYPE:rC.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:rC.RESOURCES_REQUEST},e)}createMetaRequestMessage(e,t=rC.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:rC.EVENT_LOGIN_AUTH,DETAILS:{REFRESH_AUTH_TOKEN:this.session.getSessionStorageItem("refreshToken"),MFA_CODE:this.session.getSessionStorageItem("mfaToken")}}}createChangePasswordMessage(e,t,i){return{USER_NAME:e,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_CHANGE_USER_PASSWORD,DETAILS:{OLD_PASSWORD:t,NEW_PASSWORD:i}}}createForgotPasswordMessage(e,t,i=e){return{USER_NAME:i,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_SELF_SERVICE_PASSWORD_RESET,DETAILS:{USER_NAME:e,RETURN_URL:t}}}createForgotPasswordTokenMessage(e,t,i,c=e){return{USER_NAME:c,SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:rC.EVENT_PASSWORD_RESET_ACTION,DETAILS:{USER_NAME:e,RESET_TOKEN:t,NEW_PASSWORD:i}}}createMoreRowsMessage(e,t){return{SOURCE_REF:this.uuid.createId(),MESSAGE_TYPE:aC.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:aC.MORE_COLUMNS})}createHTTPHeadersFromMessage(e,t="application/json; charset=UTF-8"){const i={"Content-type":t};return e.SOURCE_REF&&(i["source-ref"]=e.SOURCE_REF,i.SOURCE_REF=e.SOURCE_REF),e.SESSION_AUTH_TOKEN&&(i["SESSION-AUTH-TOKEN"]=e.SESSION_AUTH_TOKEN),e.MESSAGE_TYPE===rC.EVENT_LOGOUT&&(i["SESSION-ID"]=e.SESSION_ID),i}createHeartbeatPingMessage(e=!1){return{MESSAGE_TYPE:aC.HEARTBEAT_PING,SOURCE_REF:this.uuid.createId(),VERBOSE:e,DETAILS:{},SESSION_AUTH_TOKEN:this.session.getSessionStorageItem("authToken")}}};uC=Nu([Au(0,eC),Au(1,Ez)],uC);const fC=ft.createInterface(e=>e.singleton(uC));function pC(e,t,i){const c=e=>"function"==typeof e?e:()=>e,o=c(t),s=c(i);return(t,i)=>e(t,i)?o(t,i):s(t,i)}class mC{constructor(e){this.path=e}}const gC=new Set,vC=Object.freeze({register(e){gC.add(e)},unregister(e){gC.delete(e)}}),bC=/^([a-z][a-z0-9+\-.]*:)?\/\//i,yC=Object.freeze({path:Object.freeze({get current(){return location.pathname+location.search},generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let c="config"in e?e:KC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromPath(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t=!0){e&&bC.test(e)?location.href=e:(history.pushState({},document.title,e),t&&yC.path.trigger(e))},replace(e,t=!0){e&&bC.test(e)?location.href=e:(history.replaceState({},document.title,e),t&&yC.path.trigger(e))},trigger(e){const t=new mC(e);for(const e of gC)e.enqueue(t)}}),name:Object.freeze({generateRoute(e,t,i={}){return Ou(this,void 0,void 0,function*(){let c="config"in e?e:KC.find(e);for(;null!==c;){const e=yield c.config.generateRouteFromName(t,i);if(null!==e)return e;c=c.parent}return null})},push(e,t,i={},c=!0){return Ou(this,void 0,void 0,function*(){const o=yield yC.name.generateRoute(e,t,i);null!==o&&yC.path.push(o,c)})},replace(e,t,i={},c=!0){return Ou(this,void 0,void 0,function*(){const o=yield yC.name.generateRoute(e,t,i);null!==o&&yC.path.replace(o,c)})},trigger(e,t,i={}){return Ou(this,void 0,void 0,function*(){const c=yield yC.name.generateRoute(e,t,i);null!==c&&yC.path.trigger(c)})}})});class zC{constructor(){this.queue=[],this.promise=null,this.resolve=null}connect(){this.enqueue(new mC(yC.path.current)),window.addEventListener("popstate",this),vC.register(this)}disconnect(){this.queue=[],this.promise=null,this.resolve=null,window.removeEventListener("popstate",this),vC.unregister(this)}receive(){return null!==this.promise||(this.promise=new Promise(e=>this.resolve=e),Promise.resolve().then(()=>this.tryDequeue())),this.promise}enqueue(e){this.queue.push(e),this.tryDequeue()}tryDequeue(){if(null===this.resolve||0===this.queue.length)return;const e=this.queue[this.queue.length-1],t=this.resolve;this.queue.length=0,this.promise=null,this.resolve=null,t(e)}handleEvent(e){this.enqueue(new mC(yC.path.current))}}const CC=encodeURIComponent,xC=e=>CC(e).replace("%24","$");function LC(e,t,i){let c=[];if(null==t)return c;if(Array.isArray(t))for(let o=0,s=t.length;o<s;o++)if(i)c.push(`${xC(e)}=${CC(t[o])}`);else{const i=e+"["+("object"==typeof t[o]&&null!==t[o]?o:"")+"]";c=c.concat(LC(i,t[o]))}else if("object"!=typeof t||i)c.push(`${xC(e)}=${CC(t)}`);else for(const i in t)c=c.concat(LC(e+"["+i+"]",t[i]));return c}function MC(e,t){return Array.isArray(e)?(e.push(t),e):void 0!==e?[e,t]:t}function wC(e,t,i){let c=e;const o=t.length-1;for(let e=0;e<=o;e++){const s=""===t[e]?c.length:t[e];if(e<o){const i=c[s]&&"object"!=typeof c[s]?[c[s]]:c[s];c=c[s]=i||(isNaN(t[e+1])?{}:[])}else c=c[s]=i}}const SC=Object.freeze({get current(){return location.search},build(e,t){let i=[];const c=Object.keys(e||{}).sort();for(let o=0,s=c.length;o<s;o++){const s=c[o];i=i.concat(LC(s,e[s],t))}return 0===i.length?"":i.join("&")},separate(e){const t=e.indexOf("?");let i="";return-1!==t&&(i=e.substr(t+1,e.length),e=e.substr(0,t)),{path:e,queryString:i}},parse(e){const t={};if(!e||"string"!=typeof e)return t;let i=e;"?"===i.charAt(0)&&(i=i.substr(1));const c=i.replace(/\+/g," ").split("&");for(let e=0;e<c.length;e++){const i=c[e].split("="),o=decodeURIComponent(i[0]);if(!o)continue;let s=o.split("]["),n=s.length-1;if(/\[/.test(s[0])&&/\]$/.test(s[n])?(s[n]=s[n].replace(/\]$/,""),s=s.shift().split("[").concat(s),n=s.length-1):n=0,i.length>=2){const e=i[1]?decodeURIComponent(i[1]):"";n?wC(t,s,e):t[o]=MC(t[o],e)}else t[o]=!0}return t}}),kC=e=>e;class $C{constructor(e,t,i){this.path=e,this.name=t,this.caseSensitive=i}}class EC{constructor(e,t,i,c){this.route=e,this.paramNames=t,this.paramTypes=i,this.settings=c}get path(){return this.route.path}}class NC{constructor(e,t,i,c){this.endpoint=e,this.params=t,this.typedParams=i,this.queryParams=c,this.allParams=Object.assign(Object.assign({},t),c),this.allTypedParams=Object.assign(Object.assign({},i),c)}get settings(){return this.endpoint.settings}}class AC{constructor(e,t,i,c){var o;this.chars=e,this.states=t,this.skippedStates=i,this.result=c,this.head=t[t.length-1],this.endpoint=null===(o=this.head)||void 0===o?void 0:o.endpoint}advance(e){const{chars:t,states:i,skippedStates:c,result:o}=this;let s=null,n=0;const a=i[i.length-1];function r(l,d){if(l.isMatch(e)&&(1===++n?s=l:o.add(new AC(t.concat(e),i.concat(l),null===d?c:c.concat(d),o))),null===a.segment&&l.isOptional&&null!==l.nextStates){if(l.nextStates.length>1)throw new Error(`${l.nextStates.length} nextStates`);const e=l.nextStates[0];if(!e.isSeparator)throw new Error("Not a separator");if(null!==e.nextStates)for(const t of e.nextStates)r(t,l)}}if(a.isDynamic&&r(a,null),null!==a.nextStates)for(const e of a.nextStates)r(e,null);null!==s&&(i.push(this.head=s),t.push(e),null!==s.endpoint&&(this.endpoint=s.endpoint)),0===n&&o.remove(this)}finalize(){!function e(t,i){const c=i.nextStates;if(null!==c)if(1===c.length&&null===c[0].segment)e(t,c[0]);else for(const i of c)if(i.isOptional&&null!==i.endpoint){if(t.push(i),null!==i.nextStates)for(const c of i.nextStates)e(t,c);break}}(this.skippedStates,this.head)}getParams(){const{states:e,chars:t,endpoint:i}=this,c={};for(const e of i.paramNames)c[e]=void 0;for(let i=0,o=e.length;i<o;++i){const o=e[i];if(o.isDynamic){const e=o.segment.name;void 0===c[e]?c[e]=t[i]:c[e]+=t[i]}}return c}compareTo(e){const t=this.states,i=e.states;for(let e=0,c=0,o=Math.max(t.length,i.length);e<o;++e){let o=t[e];if(void 0===o)return 1;let s=i[c];if(void 0===s)return-1;let n=o.segment,a=s.segment;if(null===n){if(null===a){++c;continue}if(void 0===(o=t[++e]))return 1;n=o.segment}else if(null===a){if(void 0===(s=i[++c]))return-1;a=s.segment}if(n.kind<a.kind)return 1;if(n.kind>a.kind)return-1;++c}const c=this.skippedStates,o=e.skippedStates,s=c.length,n=o.length;if(s<n)return 1;if(s>n)return-1;for(let e=0;e<s;++e){const t=c[e],i=o[e];if(t.length<i.length)return 1;if(t.length>i.length)return-1}return 0}}function OC(e){return null!==e.head.endpoint}function TC(e,t){return e.compareTo(t)}class RC{constructor(e){this.candidates=[],this.candidates=[new AC([""],[e],[],this)]}get isEmpty(){return 0===this.candidates.length}getSolution(){const e=this.candidates.filter(OC);if(0===e.length)return null;for(const t of e)t.finalize();return e.sort(TC),e[0]}add(e){this.candidates.push(e)}remove(e){this.candidates.splice(this.candidates.indexOf(e),1)}advance(e){const t=this.candidates.slice();for(const i of t)i.advance(e)}}class IC{constructor(){this.names=new Map,this.paths=new Map,this.rootState=new DC(null,null,"")}add(e,t){if(e instanceof Array)for(const i of e)this.$add(i,t);else this.$add(e,t)}$add(e,t){const i=e.path,c=new $C(e.path,e.name||"",!0===e.caseSensitive),o=""===i?[""]:i.split("/").filter(FC),s=[],n=[];let a=this.rootState;const r=[];for(const e of o)switch(a=a.append(null,"/"),e.charAt(0)){case"{":{const t=e.slice(1,-1).split(":").map(e=>e.trim());2===t.length?n.push(t[1]):n.push("string");const i=t[0].endsWith("?"),c=i?t[0].slice(0,-1):t[0];s.push(c);const o=new _C(c,i);r.push(o),a=o.appendTo(a);break}case"*":{const t=e.slice(1);s.push(t),n.push("string");const i=new PC(t);r.push(i),a=i.appendTo(a);break}default:{const t=new HC(e,c.caseSensitive);r.push(t),a=t.appendTo(a);break}}const l=new EC(c,s,n,t||null);a.setEndpoint(l),this.paths.set(i,r),e.name&&this.names.set(e.name,r)}recognize(e,t={}){return Ou(this,void 0,void 0,function*(){const i=SC.separate(e),c=SC.parse(i.queryString);(e=decodeURI(i.path)).startsWith("/")||(e=`/${e}`),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1));const o=new RC(this.rootState);for(let t=0,i=e.length;t<i;++t){const i=e.charAt(t);if(o.advance(i),o.isEmpty)return null}const s=o.getSolution();if(null===s)return null;const{endpoint:n}=s,a=n.paramNames,r=n.paramTypes,l=s.getParams(),d={};for(let e=0,i=a.length;e<i;++e){const i=a[e],c=t[r[e]]||kC,o=l[i],s=yield c(o);d[i]=s}return new NC(n,l,d,c)})}generateFromName(e,t){return this.generate(this.names.get(e),t)}generateFromPath(e,t){return this.generate(this.paths.get(e),t)}generate(e,t){if(!e)return null;const i=Object.assign({},t),c={};let o="";for(let t=0,s=e.length;t<s;t++){const s=e[t],n=s.generate(i,c);if(null==n){if(s instanceof _C&&!s.optional)throw new Error(`A value is required for route parameter '${s.name}'.`)}else o+="/",o+=n}"/"!==o.charAt(0)&&(o="/"+o);for(const e in c)delete i[e];const s=SC.build(i);return o+=s?`?${s}`:"",o}}class DC{constructor(e,t,i){switch(this.prevState=e,this.segment=t,this.value=i,this.nextStates=null,this.endpoint=null,null==t?void 0:t.kind){case 2:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=t.optional;break;case 1:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!0,this.isOptional=!1;break;case 3:this.length=e.length+1,this.isSeparator=!1,this.isDynamic=!1,this.isOptional=!1;break;case void 0:this.length=null===e?0:e.length,this.isSeparator=!0,this.isDynamic=!1,this.isOptional=!1}}append(e,t){let i,c=this.nextStates;return null===c?(i=void 0,c=this.nextStates=[]):i=null===e?c.find(e=>e.value===t):c.find(t=>{var i;return null===(i=t.segment)||void 0===i?void 0:i.equals(e)}),void 0===i&&c.push(i=new DC(this,e,t)),i}setEndpoint(e){if(null!==this.endpoint)throw new Error(`Cannot add ambiguous route. The pattern '${e.route.path}' clashes with '${this.endpoint.route.path}'`);this.endpoint=e,this.isOptional&&(this.prevState.setEndpoint(e),this.prevState.isSeparator&&null!==this.prevState.prevState&&this.prevState.prevState.setEndpoint(e))}isMatch(e){const t=this.segment;switch(null==t?void 0:t.kind){case 2:return!this.value.includes(e);case 1:return!0;case 3:case void 0:return this.value.includes(e)}}}function FC(e){return e.length>0}class HC{constructor(e,t){this.value=e,this.caseSensitive=t}get kind(){return 3}appendTo(e){const{value:t,value:{length:i}}=this;if(this.caseSensitive)for(let c=0;c<i;++c)e=e.append(this,t.charAt(c));else for(let c=0;c<i;++c){const i=t.charAt(c);e=e.append(this,i.toUpperCase()+i.toLowerCase())}return e}generate(){return this.value}equals(e){return 3===e.kind&&e.caseSensitive===this.caseSensitive&&e.value===this.value}}class _C{constructor(e,t){this.name=e,this.optional=t}get kind(){return 2}appendTo(e){return e=e.append(this,"/")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 2===e.kind&&e.optional===this.optional&&e.name===this.name}}class PC{constructor(e){this.name=e}get kind(){return 1}appendTo(e){return e=e.append(this,"")}generate(e,t){return t[this.name]=!0,e[this.name]}equals(e){return 1===e.kind&&e.name===this.name}}const VC="fast-child-route";function BC(e,t){return"command"in t?t.command:"redirect"in t?new ax(t.redirect):hx.fromDefinition(e,t)}const UC=e=>{if(null==e)return!1;switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;default:return!1}},jC={number:e=>void 0===e?NaN:parseFloat(e),float:e=>void 0===e?NaN:parseFloat(e),int:e=>void 0===e?NaN:parseInt(e),integer:e=>void 0===e?NaN:parseInt(e),Date:e=>void 0===e?new Date(Date.now()):new Date(e),boolean:UC,bool:UC};class qC{constructor(e){this.owner=e,this._recognizer=null,this.pathToCommand=new Map,this.fallbackCommand=null,this.fallbackSettings=null,this.converters={}}get recognizer(){return null===this._recognizer&&(this._recognizer=this.owner.createRouteRecognizer()),this._recognizer}ignore(e){"string"==typeof e&&(e={path:e}),this.pathToCommand.set(e.path,new nx),this.recognizer.add(e,e.settings)}map(...e){for(const t of e){if("children"in t){const e=this.owner.createTitleBuilder(),i=t.children.map(i=>{const c=Object.assign(Object.assign(Object.assign({},t),i),{path:`${t.path}/${i.path}`});if("title"in t||"title"in i){const o=t.title||"",s=i.title||"";c.title=e.joinTitles(o,s)}if("name"in i){const e=t.name?t.name+"/":"";c.name=e+i.name}return c.children===t.children&&delete c.children,c});this.map(...i);continue}let e;if(e="command"in t?t.command:"redirect"in t?new ax(t.redirect):hx.fromDefinition(this.owner,t),this.pathToCommand.set(t.path,e),this.recognizer.add(t,t.settings),"childRouters"in t&&t.childRouters){const i=Object.assign(Object.assign({},t),{path:t.path+`/*${VC}`});this.pathToCommand.set(i.path,e),this.recognizer.add(i,i.settings)}}}fallback(e){const t=this.owner;this.fallbackCommand="function"==typeof e?{createContributor(i,c){return Ou(this,void 0,void 0,function*(){const o=yield e();return BC(t,o).createContributor(i,c)})}}:BC(t,e)}converter(e,t){let i;i="convert"in t?t.convert.bind(t):t.prototype&&"convert"in t.prototype?e=>this.owner.construct(t).convert(e):t,this.converters[e]=i}recognize(e){return Ou(this,void 0,void 0,function*(){const t=yield this.recognizer.recognize(e,this.aggregateConverters());if(null!==t)return{route:t,command:this.pathToCommand.get(t.endpoint.path)};if(null!==this.fallbackCommand){const t=SC.separate(e),i=SC.parse(t.queryString);return{route:new NC(new EC(new $C("*","",!1),[],[],this.fallbackSettings),{},{},i),command:this.fallbackCommand}}return null})}generateFromName(e,t){return this.recognizer.generateFromName(e,t)}generateFromPath(e,t){return this.recognizer.generateFromPath(e,t)}aggregateConverters(){return null===this.owner.parent?Object.assign(Object.assign({},jC),this.converters):Object.assign(Object.assign({},this.owner.parent.routes.aggregateConverters()),this.converters)}}const GC="$router";function WC(e){const t=e.parentElement;if(t)return t;{const t=e.getRootNode();if(t.host instanceof HTMLElement)return t.host}return null}function YC(e){let t=e;for(;t=WC(t);)if(GC in t)return t[GC];return null}const KC=Object.freeze({getOrCreateFor(e){const t=e[GC];return void 0!==t?t:e[GC]=new ZC(e)},find:e=>e[GC]||YC(e),from(e){class t extends e{constructor(){super(),KC.getOrCreateFor(this)}get config(){return this[GC].config}set config(e){this[GC].config=e}}const i=t.prototype;if("connectedCallback"in i){const e=i.connectedCallback;i.connectedCallback=function(){e.call(this),this[GC].connect()}}else i.connectedCallback=function(){this[GC].connect()};if("disconnectedCallback"in i){const e=i.disconnectedCallback;i.disconnectedCallback=function(){e.call(this),this[GC].disconnect()}}else i.disconnectedCallback=function(){this[GC].disconnect()};return t}});class ZC{constructor(e){this.host=e,this.parentRouter=void 0,this.contributors=new Set,this.navigationQueue=null,this.linkHandler=null,this.newView=null,this.newRoute=null,this.childCommandContributor=null,this.childRoute=null,this.isConnected=!1,this.routerConfig=null,this.view=null,this.route=null,this.onNavigationMessage=e=>Ou(this,void 0,void 0,function*(){const t=this.config.createNavigationProcess();yield t.run(this,e),this.navigationQueue.receive().then(this.onNavigationMessage)}),e[GC]=this}get config(){return this.routerConfig}set config(e){this.routerConfig=e,this.tryConnect()}get parent(){if(void 0===this.parentRouter){if(!this.isConnected)return null;this.parentRouter=YC(this.host)}return this.parentRouter||null}get level(){return null===this.parent?0:this.parent.level+1}shouldRender(e){var t;if(this.route&&this.route.endpoint.path===e.endpoint.path){const i=null==e?void 0:e.allParams,c=null===(t=this.route)||void 0===t?void 0:t.allParams;if(JSON.stringify(c)===JSON.stringify(i))return!1}return!0}beginRender(e,t){return Ou(this,void 0,void 0,function*(){return this.newRoute=e,this.newView=yield t.createView(),this.newView.bind(e.allTypedParams,QC.create(this)),this.newView.appendTo(this.host),yield t.transition.begin(this.host,this.view,this.newView),{commit:this.renderOperationCommit.bind(this,t.layout,t.transition),rollback:this.renderOperationRollback.bind(this,t.transition)}})}connect(){this.isConnected=!0,this.tryConnect()}disconnect(){null===this.parent?(null!==this.navigationQueue&&(this.navigationQueue.disconnect(),this.navigationQueue=null),null!==this.linkHandler&&(this.linkHandler.disconnect(),this.linkHandler=null)):this.parent.removeContributor(this),this.isConnected=!1,this.parentRouter=void 0}addContributor(e){this.contributors.add(e)}removeContributor(e){this.contributors.delete(e)}tryConnect(){null!==this.config&&this.isConnected&&(null===this.parent?(null!==this.navigationQueue&&this.navigationQueue.disconnect(),this.navigationQueue=this.config.createNavigationQueue(),this.navigationQueue.connect(),this.navigationQueue.receive().then(this.onNavigationMessage),null!==this.linkHandler&&this.linkHandler.disconnect(),this.linkHandler=this.config.createLinkHandler(),this.linkHandler.connect()):(this.config.parent=this.parent.config,this.parent.addContributor(this)))}renderOperationCommit(e,t){return Ou(this,void 0,void 0,function*(){yield e.beforeCommit(this.host),yield t.commit(this.host,this.view,this.newView),yield e.afterCommit(this.host),null!==this.view&&this.view.dispose(),this.route=this.newRoute,this.view=this.newView,this.newRoute=null,this.newView=null})}renderOperationRollback(e){return Ou(this,void 0,void 0,function*(){null!==this.newView&&(yield e.rollback(this.host,this.view,this.newView),this.newView.dispose(),this.newRoute=null,this.newView=null)})}navigate(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}leave(e){return Ou(this,void 0,void 0,function*(){if(yield this.tunnel(e),!e.canceled){const t=this.contributors;this.contributors=new Set,e.onCancel(()=>this.contributors=t)}})}construct(e){return Ou(this,void 0,void 0,function*(){if(null!==this.parent){const t=e.route.allParams[VC]||"",i=yield this.config.recognizeRoute(t);if(null===i){return this.config.createEventSink().onUnhandledNavigationMessage(this,new mC(t)),void e.cancel()}this.childRoute=i.route,this.childCommandContributor=yield i.command.createContributor(this,i.route)}yield this.tunnel(e)})}enter(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}commit(e){return Ou(this,void 0,void 0,function*(){yield this.tunnel(e)})}tunnel(e){return Ou(this,void 0,void 0,function*(){const t=this.childRoute,i=this.childCommandContributor;if(t&&i&&(yield e.evaluateContributor(i,t,this)),e.canceled)return;const c=[...this.config.findContributors(e.name),...Array.from(this.contributors)];for(const t of c)if(yield e.evaluateContributor(t,void 0,this),e.canceled)return})}}const QC=Object.freeze({create:e=>Object.create(z,{router:{value:e}})}),XC=Object.freeze({default:Object.freeze({begin(e,t,i){return Ou(this,void 0,void 0,function*(){})},rollback(e,t,i){return Ou(this,void 0,void 0,function*(){})},commit(e,t,i){return Ou(this,void 0,void 0,function*(){})}})});class JC{constructor(e=null,t=null,i=!0){this.template=e,this.runBeforeCommit=i,this.styles=null==t?null:Array.isArray(t)?Y.create(t):t instanceof Y?t:Y.create([t])}beforeCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit&&this.apply(e)})}afterCommit(e){return Ou(this,void 0,void 0,function*(){this.runBeforeCommit||this.apply(e)})}apply(e){e instanceof be&&(e.$fastController.template!==this.template&&(e.$fastController.template=this.template),e.$fastController.styles!==this.styles&&(e.$fastController.styles=this.styles))}}const ex=Object.freeze({default:new JC(W`<slot></slot>`)});function tx(e,t){return t in e}const ix={lifecycle:!0,parameters:!0};class cx extends C{constructor(e){super(),this.options=e}createPlaceholder(e){return u.createCustomAttributePlaceholder("fast-navigation-contributor",e)}createBehavior(e){return new ox(e,this.options)}}class ox{constructor(e,t){this.contributor=e,this.options=t,this.router=null}bind(e,t){if(this.options.lifecycle&&(this.router=t.router||KC.find(this.contributor),this.router.addContributor(this.contributor)),this.options.parameters){const t=this.contributor,i=e;for(const e in i)t[e]=i[e]}}unbind(e){null!==this.router&&this.router.removeContributor(this.contributor)}}function sx(e){return new cx(Object.assign({},ix,e))}class nx{createContributor(){return Ou(this,void 0,void 0,function*(){return{navigate(e){return Ou(this,void 0,void 0,function*(){e.cancel()})}}})}}class ax{constructor(e){this.redirect=e}createContributor(){return Ou(this,void 0,void 0,function*(){const e=this.redirect;return{navigate(t){return Ou(this,void 0,void 0,function*(){const i=t.router.config,c=(yield i.generateRouteFromName(e,t.route.allParams))||(yield i.generateRouteFromPath(e,t.route.allParams));if(null===c)throw new Error(`Invalid redirect. Name or path not found: ${e}`);t.cancel(()=>Ou(this,void 0,void 0,function*(){return yC.path.replace(c)}))})}}})}}function rx(e){return W`<${e} ${sx()}></${e}>`}function lx(e){const t=document.createDocumentFragment();t.appendChild(e);const i=new j(t,[sx().createBehavior(e)]);return{create:()=>i}}class dx{constructor(e,t,i){this.router=e,this.route=t,this.command=i}construct(e){return Ou(this,void 0,void 0,function*(){this.router.shouldRender(this.route)?(this.operation=yield this.router.beginRender(this.route,this.command),e.onCancel(()=>this.operation.rollback())):e.cancel()})}commit(e){return Ou(this,void 0,void 0,function*(){yield this.operation.commit(),this.command.title&&e.setTitle(this.command.title)})}}class hx{constructor(e,t){this.owner=e,this.createView=t,this._layout=null,this._transition=null,this.title=""}get transition(){return this._transition||this.owner.defaultTransition}set transition(e){this._transition=e}get layout(){return this._layout||this.owner.defaultLayout}set layout(e){this._layout=e}createContributor(e,t){return Ou(this,void 0,void 0,function*(){return new dx(e,t,this)})}static fromDefinition(e,t){let i;i="template"in t?()=>Ou(this,void 0,void 0,function*(){let e=t.template;return"function"==typeof e&&(e=yield e()),e.create()}):()=>Ou(this,void 0,void 0,function*(){let e=t.element,i=null;if(t.factory)i=t.factory;else if("function"==typeof e){let t=ue.forType(e);if(t)i=rx(t.name);else if(e=yield e(),"string"==typeof e)i=rx(e);else if(e instanceof HTMLElement)i=lx(e);else{if(t=ue.forType(e),!t)throw new Error("Invalid value for element in route config.");i=rx(t.name)}}else e instanceof HTMLElement?t.factory=i=lx(e):t.factory=i=rx(e);return i.create()});const c=new hx(e,i);return t.layout&&(t.layout instanceof q?c.layout=new JC(t.layout):c.layout=t.layout),t.transition&&(c.transition=t.transition),t.title&&(c.title=t.title),c}}class ux{constructor(){this.handler=e=>{const{shouldHandleEvent:t,href:i}=this.getEventInfo(e);t&&(e.preventDefault(),yC.path.push(i))}}connect(){window.addEventListener("click",this.handler,!0)}disconnect(){window.removeEventListener("click",this.handler)}getEventInfo(e){const t={shouldHandleEvent:!1,href:null,anchor:null},i=this.findClosestAnchor(e);if(!i||!this.targetIsThisWindow(i))return t;if(i.hasAttribute("download")||i.hasAttribute("router-ignore")||i.hasAttribute("data-router-ignore"))return t;if(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return t;const c=i.getAttribute("href");t.anchor=i,t.href=c;const o=1===e.which,s=c&&!("#"===c.charAt(0)||/^[a-z]+:/i.test(c));return t.shouldHandleEvent=o&&!!s,t}findClosestAnchor(e){const t=e.composedPath();for(let e=0,i=t.length;e<i;++e){const i=t[e];if("A"===i.tagName)return i}return e.target}targetIsThisWindow(e){const t=e.getAttribute("target");return!t||t===window.name||"_self"===t}}class fx{constructor(e,t,i,c,o){this.name=e,this.commitActions=c,this.cancelActions=o,this.routes=[],this.routers=[],this.canceled=!1,this.titles=[],this.routes.push(t),this.routers.push(i)}get route(){return this.routes[this.routes.length-1]}get router(){return this.routers[this.routers.length-1]}cancel(e){this.canceled=!0,e&&this.cancelActions.push(e)}onCommit(e){this.commitActions.push(e)}onCancel(e){this.cancelActions.push(e)}setTitle(e){const t=this.router.level;for(;this.titles.length<t+1;)this.titles.push([]);this.titles[t].push(e)}evaluateContributor(e,t=this.route,i=this.router){return Ou(this,void 0,void 0,function*(){tx(e,this.name)&&(this.routes.push(t),this.routers.push(i),yield e[this.name](this),this.routes.pop(),this.routers.pop())})}}class px{constructor(){this.phases=["navigate","leave","construct","enter","commit"]}run(e,t){return Ou(this,void 0,void 0,function*(){const i=e.config.createEventSink(),c=yield e.config.recognizeRoute(t.path);if(null===c)return void i.onUnhandledNavigationMessage(e,t);const o=c.route,s=c.command;i.onNavigationBegin(e,o,s);const n=[],a=[];let r=n;const l=[yield s.createContributor(e,o),e,this];for(const t of this.phases){const c=new fx(t,o,e,n,a);if(i.onPhaseBegin(c),c.canceled)r=a;else for(const e of l)if(yield c.evaluateContributor(e),c.canceled){r=a;break}if(i.onPhaseEnd(c),c.canceled)break}yield Promise.all(r.map(e=>e())).then(()=>i.onNavigationEnd(e,o,s))})}commit(e){const t=e.router.config.createTitleBuilder();document.title=t.buildTitle(e.router.config.title,e.titles)}}class mx{constructor(e=" - ",t=":"){this.segmentSeparator=e,this.fragmentSeparator=t}joinTitles(e,t){return""===e?t:""===t?e:`${e}${this.segmentSeparator}${t}`}buildTitle(e,t){let i=e;for(const e of t){i&&(i+=this.segmentSeparator);let t="";for(const i of e)t&&(t+=this.fragmentSeparator),t+=i;i+=t}return i}}class gx{onUnhandledNavigationMessage(e,t){}onNavigationBegin(e,t,i){}onPhaseBegin(e){}onPhaseEnd(e){}onNavigationEnd(e,t,i){}}class vx{constructor(){this.isConfigured=!1,this.routes=new qC(this),this.contributors=[],this.defaultLayout=ex.default,this.defaultTransition=XC.default,this.title="",this.parent=null}createNavigationQueue(){return this.construct(zC)}createLinkHandler(){return this.construct(ux)}createNavigationProcess(){return new px}createEventSink(){return this.construct(gx)}createTitleBuilder(){return this.construct(mx)}createRouteRecognizer(){return this.construct(IC)}construct(e){return null!==this.parent?this.parent.construct(e):new e}recognizeRoute(e){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.recognize(e)})}generateRouteFromName(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromName(e,t)})}generateRouteFromPath(e,t){return Ou(this,void 0,void 0,function*(){return yield this.ensureConfigured(),this.routes.generateFromPath(e,t)})}findContributors(e){return this.contributors.filter(t=>tx(t,e))}cached(e){let t=null;return()=>Ou(this,void 0,void 0,function*(){return null===t&&(t=new e),t})}ensureConfigured(){return Ou(this,void 0,void 0,function*(){this.isConfigured||(yield this.configure(),this.isConfigured=!0)})}}let bx=class extends(KC.from(be)){};bx=Nu([ye("fast-router")],bx);const yx=[];setTimeout(()=>{yx.length&&console.warn(`${yx.length} attribute deprecation notice(s):\n ${yx.join("\n")}`)},5e3);const zx="reauthActionLock";var Cx;function xx(){return Ou(this,arguments,void 0,function*(e={}){const{reloadOnFailure:t=!0}=e;if(function(){const e=parseInt(localStorage.getItem(zx)||"0");Date.now()-e>3e4&&localStorage.removeItem(zx)}(),localStorage.getItem(zx)||(localStorage.setItem(zx,Date.now().toString()),0))return Cx.HANDLED_BY_OTHER_TAB;try{if(yield function(){return Ou(this,void 0,void 0,function*(){const e=yield fetch($g,{credentials:"include"});return"EVENT_LOGIN_DETAILS_ACK"===(yield e.json()).MESSAGE_TYPE})}())return Cx.ALREADY_VALID;return(yield function(){return Ou(this,void 0,void 0,function*(){const e=ft.getOrCreateDOMContainer().get(cC);return"EVENT_LOGIN_AUTH_ACK"===(yield e.post(kg,{body:JSON.stringify({DETAILS:{},MESSAGE_TYPE:"EVENT_LOGIN_AUTH"})})).MESSAGE_TYPE})}())?Cx.SUCCESS:(t&&window.location.reload(),Cx.FAILED)}finally{localStorage.removeItem(zx)}})}!function(e){e.SUCCESS="SUCCESS",e.FAILED="FAILED",e.HANDLED_BY_OTHER_TAB="HANDLED_BY_OTHER_TAB",e.ALREADY_VALID="ALREADY_VALID"}(Cx||(Cx={}));const Lx=(e,t)=>((null==t?void 0:t.ROW)&&e&&e.length>0?t.ROW.forEach(t=>{const i=t;if(i&&i.DETAILS){const c=i.DETAILS.ROW_REF,o=i.DETAILS.OPERATION;"INSERT"===o&&(e.find(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c})||e.unshift(i)),"DELETE"===o&&(e=e.filter(e=>{var i,c;return(null===(i=t.DETAILS)||void 0===i?void 0:i.ROW_REF)!==(null===(c=e.DETAILS)||void 0===c?void 0:c.ROW_REF)})),"MODIFY"===o&&(e=e.map(e=>{var t;return(null===(t=e.DETAILS)||void 0===t?void 0:t.ROW_REF)===c?Object.assign(Object.assign({},e),i):e}))}}):!t||e&&0!==e.length||(e=[...new Set(t.ROW)]),e);var Mx;let wx=Mx=class{get isConnected(){return this._isConnected}set isConnected(e){this._isConnected=e,this.isConnectedSubject.next(this._isConnected)}constructor(e,t,i,c,o,s){var n;this.http=e,this.messageBuilder=t,this.session=i,this.metaCache=c,this.serializer=o,this.config=s,this.isWorking=!1,this._isConnected=!1,this.isConnectedSubject=new Rb(this._isConnected),this.isConnected$=null===(n=this.isConnectedSubject)||void 0===n?void 0:n.asObservable(),this.ongoingTurbo={},this.streams=new Map,this.ongoingRefresh=null}handleSessionRefresh(){return this.ongoingRefresh||(this.ongoingRefresh=(()=>Ou(this,void 0,void 0,function*(){const e=this.host;this.disconnect();let t=yield xx();return t===Cx.HANDLED_BY_OTHER_TAB&&(yield new Promise(e=>{setTimeout(e,Mx.REAUTH_WAIT_MS)}),t=yield xx()),(t===Cx.SUCCESS||t===Cx.ALREADY_VALID)&&(this.connect(e),!0)}))().finally(()=>{this.ongoingRefresh=null})),this.ongoingRefresh}checkHost(){return Ou(this,void 0,void 0,function*(){try{return this.getMessage({MESSAGE_TYPE:aC.HEARTBEAT_PING,SOURCE_REF:"host check"}).then(e=>e.MESSAGE_TYPE===aC.HEARTBEAT_PONG)}catch(e){return Pm.error(e),!1}})}send(e,t){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot send message: session refresh failed")}return this.http.post(Mx.getUrl(this.host,e),{body:Mx.getBody(e),headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}httpMode(){return!0}setValidSession(e){Pm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}connect(e){return Ou(this,void 0,void 0,function*(){return this.host=e,this.host.startsWith("ws")&&(this.host=this.host.replace("ws","http")),this.host.endsWith("/")||(this.host=this.host.concat("/")),this.checkHost().then(e=>(this.isConnected=e,this.session.setSessionStorageItem("hostUrl",this.host),e))})}disconnect(){this.isConnected=!1,this.streams.clear(),this.ongoingTurbo={},this.host=void 0}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Pm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.send(i).then(e=>(this.dataLogoff(i.SOURCE_REF).catch(e=>Pm.error(e)),e))})}stream(e,t,i,c){var o,s;const n=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`HTTP MODE - ${n.MESSAGE_TYPE} (stream) message created -> `,n);const a=n.SOURCE_REF,r=(null===(s=null===(o=this.config.polling)||void 0===o?void 0:o.POLLING_INTERVAL_MAP)||void 0===s?void 0:s[e])||this.config.polling.POLLING_FREQUENCY;this.streams.set(a,{SOURCE_REF:a,POLLING_FREQUENCY:new Rb(r),RESOURCE_NAME:e});const l=this.streams.get(a).POLLING_FREQUENCY,d=Vy(Sy(this.send(n)),l.pipe(Uy(()=>"visible"===document.visibilityState)).pipe(Gy(e=>{return void 0===(t=e)&&(t=0),void 0===i&&(i=Jb),t<0&&(t=0),By(t,t,i);var t,i})).pipe(Gy(()=>Sy(this.getMessage(n))))).pipe(Wy(()=>this.streams.has(a)),function(e){var t;void 0===e&&(e=1/0);var i=(t=e&&"object"==typeof e?e:{count:e}).count,c=void 0===i?1/0:i,o=t.delay,s=t.resetOnSuccess,n=void 0!==s&&s;return c<=0?Cb:wb(function(e,t){var i,s=0,a=function(){var r=!1;i=e.subscribe(Sb(t,function(e){n&&(s=0),t.next(e)},void 0,function(e){if(s++<c){var n=function(){i?(i.unsubscribe(),i=null,a()):r=!0};if(null!=o){var l="number"==typeof o?By(o):yy(o(e,s)),d=Sb(t,function(){d.unsubscribe(),n()},function(){t.complete()});l.subscribe(d)}else n()}else t.error(e)})),r&&(i.unsubscribe(),i=null,a())};a()})}({count:Mx.MAX_RETRIES,delay:(e,t)=>{const i=e;Pm.error(`Retry ${t}/${Mx.MAX_RETRIES}:`,i.status,i);if(!(0===i.status||i.status&&i.status>=Kz.BAD_REQUEST&&i.status<Kz.INTERNAL_SERVER_ERROR))throw e;return i.status===Kz.NOT_FOUND&&this.streams.delete(a),i.status===Kz.UNAUTHORIZED?Sy(this.handleSessionRefresh()):By(Mx.RETRY_DELAY_MS)}}),(h=()=>{Pm.debug(`Terminating stream for ${e} - ${a}`),this.dataLogoff(a)},wb(function(e,t){try{e.subscribe(t)}finally{t.add(h)}})));var h;return this.streams.get(a).STREAM=d,d}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(jy(Lx,o))}streamWithoutAutoTeardown(e,t,i,c){return Pm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0"),this.stream(e,t,i,c)}getMessage(e){return Ou(this,void 0,void 0,function*(){if(this.ongoingRefresh){if(!(yield this.ongoingRefresh))throw new Error("Cannot get message: session refresh failed")}return this.http.get(Mx.getUrl(this.host,e),{headers:this.messageBuilder.createHTTPHeadersFromMessage(e)})})}getMoreRows(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreRowsMessage(e);return Pm.debug(`HTTP MODE - ${t.MESSAGE_TYPE} message created -> `,t),this.send(t)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return this.send(t).then(t=>(this.streams.has(e)&&(Pm.debug(`Removing stream ${e}`),this.streams.delete(e)),t))})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasMetadataFor(e))return Pm.debug(`HTTP MODE - Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const i=this.messageBuilder.createMetaRequestMessage(e);Pm.debug(`HTTP MODE - ${i.MESSAGE_TYPE} (metadata) message created -> `,i);const c=yield this.send(i).then(e=>e.DETAILS);return Object.keys(c).length&&this.metaCache.setMetadataFor(e,c),c})}getJSONSchema(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMetaRequestMessage(e,rC.JSON_SCHEMA_REQUEST);return Pm.debug(`HTTP MODE! - ${t.MESSAGE_TYPE} (json schema) message created -> `,t),this.send(t)})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (request server) message created -> `,i);let c=Mx.getUrl(this.host,i);const o=[];return i.REQUEST&&Object.keys(i.REQUEST).length>0&&Object.keys(i.REQUEST).forEach(e=>{const t=i.REQUEST[e];null==t||Number.isNaN(t)||o.push(`REQUEST.${e}=${encodeURIComponent(String(t))}`)}),i.DETAILS&&Object.keys(i.DETAILS).forEach(e=>{const t=i.DETAILS[e];null==t||Number.isNaN(t)||o.push(`${e}=${encodeURIComponent(String(t))}`)}),o.length>0&&(c=`${c}?${o.join("&")}`),Pm.debug(`HTTP MODE! - REQUEST_SERVER GET URL: ${c}`),this.http.get(c,{headers:this.messageBuilder.createHTTPHeadersFromMessage(i)})}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Pm.debug("HTTP MODE - Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (getResources) message created -> `,i);const c=yield this.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);return Pm.debug(`HTTP MODE! - ${i.MESSAGE_TYPE} (commit) message created -> `,i),this.send(i).then(t=>(this.maybeTurbo(e,t),t))})}maybeTurbo(e,t){var i;if(!(null===(i=null==t?void 0:t.MESSAGE_TYPE)||void 0===i?void 0:i.endsWith("_ACK")))return;if(this.ongoingTurbo[e])return void Pm.debug(`${e} polling frequency is already accelerated.`);const c=this.config.polling.POLLING_MAP[e];if(!(null==c?void 0:c.TEMP_FREQUENCY)||!c.AMOUNT_OF_POLLS)return;const o=c.TEMP_FREQUENCY,s=o*c.AMOUNT_OF_POLLS,n=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 c.QUERIES)a[e]=o,n[e]||(n[e]=this.config.polling.POLLING_FREQUENCY);Pm.debug(`${e} TRIGGERED -> ENFORCING TURBO | FREQUENCY=${o}ms DURATION=${s}`),this.ongoingTurbo[e]=!0,this.updateIntervals({polling:{POLLING_INTERVAL_MAP:a}}),setTimeout(()=>{Pm.debug(`RESTORED ORIGINAL POLLING INTERVALS FOR ${e}`),this.updateIntervals({polling:{POLLING_INTERVAL_MAP:n}}),this.ongoingTurbo[e]=!1},s)}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 i=e[t];this.config.polling.POLLING_INTERVAL_MAP[t]=i,Pm.debug(`Setting polling frequency for ${t} = ${i}`),[...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(i)})}}static getBody(e){return JSON.stringify(e)}static getUrl(e,t){const i=t.MESSAGE_TYPE;let c=t.MESSAGE_TYPE.replace(/_/g,"-").toLowerCase();return i===rC.DATA_LOGON&&(c=t.DETAILS.DATASOURCE_NAME.replace(/_/g,"-").toLowerCase()),`${e}${c}`}};wx.REAUTH_WAIT_MS=5e3,wx.RETRY_DELAY_MS=1e3,wx.MAX_RETRIES=3,Nu([g],wx.prototype,"host",void 0),Nu([g],wx.prototype,"isWorking",void 0),Nu([g],wx.prototype,"_isConnected",void 0),Nu([v],wx.prototype,"isConnected",null),wx=Mx=Nu([Au(0,cC),Au(1,fC),Au(2,eC),Au(3,Rz),Au(4,Jv),Au(5,sC)],wx);const Sx=ft.createInterface(e=>e.singleton(wx));var kx={url:"",deserializer:function(e){return JSON.parse(e.data)},serializer:function(e){return JSON.stringify(e)}},$x=function(e){function t(t,i){var c=e.call(this)||this;if(c._socket=null,t instanceof xb)c.destination=i,c.source=t;else{var o=c._config=$u({},kx);if(c._output=new Ob,"string"==typeof t)o.url=t;else for(var s in t)t.hasOwnProperty(s)&&(o[s]=t[s]);if(!o.WebSocketCtor&&WebSocket)o.WebSocketCtor=WebSocket;else if(!o.WebSocketCtor)throw new Error("no WebSocket constructor can be found");c.destination=new Db}return c}return ku(t,e),t.prototype.lift=function(e){var i=new t(this._config,this.destination);return i.operator=e,i.source=this,i},t.prototype._resetState=function(){this._socket=null,this.source||(this.destination=new Db),this._output=new Ob},t.prototype.multiplex=function(e,t,i){var c=this;return new xb(function(o){try{c.next(e())}catch(e){o.error(e)}var s=c.subscribe({next:function(e){try{i(e)&&o.next(e)}catch(e){o.error(e)}},error:function(e){return o.error(e)},complete:function(){return o.complete()}});return function(){try{c.next(t())}catch(e){o.error(e)}s.unsubscribe()}})},t.prototype._connectSocket=function(){var e=this,t=this._config,i=t.WebSocketCtor,c=t.protocol,o=t.url,s=t.binaryType,n=this._output,a=null;try{a=c?new i(o,c):new i(o),this._socket=a,s&&(this._socket.binaryType=s)}catch(e){return void n.error(e)}var r=new ob(function(){e._socket=null,a&&1===a.readyState&&a.close()});a.onopen=function(t){if(!e._socket)return a.close(),void e._resetState();var i=e._config.openObserver;i&&i.next(t);var c=e.destination;e.destination=fb.create(function(t){if(1===a.readyState)try{var i=e._config.serializer;a.send(i(t))}catch(t){e.destination.error(t)}},function(t){var i=e._config.closingObserver;i&&i.next(void 0),t&&t.code?a.close(t.code,t.reason):n.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),e._resetState()},function(){var t=e._config.closingObserver;t&&t.next(void 0),a.close(),e._resetState()}),c&&c instanceof Db&&r.add(c.subscribe(e.destination))},a.onerror=function(t){e._resetState(),n.error(t)},a.onclose=function(t){a===e._socket&&e._resetState();var i=e._config.closeObserver;i&&i.next(t),t.wasClean?n.complete():n.error(t)},a.onmessage=function(t){try{var i=e._config.deserializer;n.next(i(t))}catch(e){n.error(e)}}},t.prototype._subscribe=function(e){var t=this,i=this.source;return i?i.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(function(){var e=t._socket;0===t._output.observers.length&&(!e||1!==e.readyState&&0!==e.readyState||e.close(),t._resetState())}),e)},t.prototype.unsubscribe=function(){var t=this._socket;!t||1!==t.readyState&&0!==t.readyState||t.close(),this._resetState(),e.prototype.unsubscribe.call(this)},t}(Tb);const Ex=1e4,Nx=6e4;var Ax;!function(e){e.Linear="linear",e.Exponential="exponential"}(Ax||(Ax={}));const Ox=(e,t)=>{const{reconnectInterval:i=Ex}=e,c=i>Nx?Nx:i,o=Math.round(Math.log2(Nx/c));return c*Math.pow(2,t%o)},Tx=e=>{const{reconnectInterval:t=Ex}=e;return t>Nx?Nx:t};class Rx{constructor(){this.isConfigured=!1,this.isConnecting=!1,this.isConnected=!1,this.isReconnecting=!1,this.reconnectionLimitReached=!1,this.isConnectedSubject=new Rb(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}}Nu([g],Rx.prototype,"isConfigured",void 0),Nu([g],Rx.prototype,"isConnecting",void 0),Nu([g],Rx.prototype,"isConnected",void 0),Nu([g],Rx.prototype,"isReconnecting",void 0),Nu([g],Rx.prototype,"reconnectionLimitReached",void 0),Nu([g],Rx.prototype,"closedCode",void 0),Nu([g],Rx.prototype,"closedReason",void 0),Nu([g],Rx.prototype,"closedClean",void 0),Nu([Oz],Rx.prototype,"user",void 0);const Ix=ft.createInterface(e=>e.singleton(Rx));class Dx{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 Fx extends Ob{constructor(){super()}}class Hx{constructor(e,t,i,c){this._message=e,this._onMessage=t,this._onError=i,this._isSubscription=c}get sentMessage(){return this._message}get onReceivedMessage(){return this._onMessage}get onReceivedError(){return this._onError}get isSubscription(){return this._isSubscription}}let _x=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 Pm.deprecated("get hasValidSession","Use `User.isAuthenticated` from `@genesislcap/foundation-user` instead.","15.0.0"),this.user.isAuthenticated}set hasValidSession(e){Pm.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:Cg}constructor(e,t,i,c,o,s,n){this.messageBuilder=e,this.session=t,this.serializer=i,this.uuid=c,this.status=o,this.user=s,this.config=n,this.defaultInterval=1e4,this.secondsMultiplier=1e3,this.heartbeatIsEnabled=!0,this.heartbeatInterval=this.defaultInterval,this.socketMessages=()=>this.wsMessages}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=Cg,t,i){var c;return this.url=e,this.connectOptions=null!=t?t:this.config.connect,this.reconnectOptions=null!=i?i:this.config.reconnect,(null===(c=this.config.isWebSocketExpression)||void 0===c?void 0:c.test(this.host))?new Promise(e=>{var t,i,c,o;Pm.info(`${this.isReconnecting?"Reconnecting":"Connecting"} to ${this.url}`),this.status.isConnecting=!this.isReconnecting;(!this.isReconnecting||!(null===(t=this.reconnectOptions)||void 0===t?void 0:t.reconnectStreams))&&this.cleanMessages(),null===(i=this.socketSubscription)||void 0===i||i.unsubscribe(),this.websocket=new $x({url:this.url,openObserver:{next:()=>{this.session.setSessionStorageItem("hostUrl",this.url),this.status.isConnected=!0,this.prepareHeartbeat(),Pm.info("WebSocket connection is now open"),e(this.isConnected)}},closeObserver:{next:t=>{this.status.onClose(t),this.isDisconnectedByServer&&Pm.info(`WebSocket connection was closed due an error - Code: ${t.code} ${t.reason?" | Reason: "+t.reason:""}`),e(this.isConnected)}},serializer:e=>this.serializer.serialize(e),deserializer:e=>this.serializer.deserialize(e)});this.socketSubscription=this.websocket.subscribe(null!==(o=null===(c=this.connectOptions)||void 0===c?void 0:c.connectObserver)&&void 0!==o?o:{next:e=>Ou(this,void 0,void 0,function*(){var t;const i=`Response Message received for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,i);const{SOURCE_REF:c,MESSAGE_TYPE:o}=e,s=this.getMessageHandler(c,o);if(!s)return void(e.MESSAGE_TYPE===aC.MSG_NACK&&e.ERROR&&e.ERROR.forEach(t=>{Pm.error(`MessageType: ${e.MESSAGE_TYPE} | Error Details:`,t)}));let n=!1;switch(e.MESSAGE_TYPE){case rC.EVENT_LOGIN_AUTH_ACK:{const i=e.DETAILS;i.HEARTBEAT_INTERVAL_SECS&&void 0===(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatInterval)&&(this.heartbeatInterval=i.HEARTBEAT_INTERVAL_SECS*this.secondsMultiplier,this.prepareHeartbeat());break}case aC.LOGOUT_ACK:return s.onReceivedMessage.call(this,e),void this.cleanMessages();case aC.LOGON_ACK:return;case aC.LOGOFF_ACK:break;case aC.QUERY_UPDATE:s.isSubscription||this.sendDataLogoff(c);break;case aC.MSG_NACK:case aC.LOGON_NACK:n=!0}n?s.onReceivedError.call(this,{receivedMessage:e,sentMessage:s.sentMessage}):s.onReceivedMessage.call(this,e),this.wsMessages.next(e),s.isSubscription||this.removeMessageHandler(c)}),error:e=>{Pm.debug("Error found: ",e),this.reconnect()},complete:()=>{var e;this.isDisconnectedByServer&&(null===(e=this.connectOptions)||void 0===e?void 0:e.alwaysOn)?this.reconnect():Pm.info("Connection is now closed")}}),this.status.isConfigured=!0}):(Pm.error(`Specified host (${this.host}) is not valid WebSocket url. Connection will not proceed.`),void Pm.warn("Make sure the host url starts with wss:// or ws://"))}handleExpiredSession(){return Ou(this,void 0,void 0,function*(){if(this.session.getSessionStorageItem("refreshToken")){const e=this.messageBuilder.createRefreshTokenMessage(),t=yield this.send(e);this.session.setAuthResult(t),this.updateSessionAndSubscriptions(t)}else yield this.handleCookieBasedReauth()})}handleCookieBasedReauth(){return Ou(this,void 0,void 0,function*(){const e=yield xx();e!==Cx.HANDLED_BY_OTHER_TAB?e!==Cx.FAILED&&(yield this.connect()):function(e){const t=i=>{i.key===zx&&null===i.newValue&&(e(),window.removeEventListener("storage",t))};window.addEventListener("storage",t)}(()=>this.connect())})}updateSessionAndSubscriptions(e){(null==e?void 0:e.MESSAGE_TYPE)===rC.EVENT_LOGIN_AUTH_ACK&&this.wsMessageHandlers.forEach(t=>{t.isSubscription&&(t.sentMessage.SESSION_AUTH_TOKEN=e.SESSION_AUTH_TOKEN,this.websocket.next(t.sentMessage))})}prepareHeartbeat(){var e,t,i,c;this.heartbeatTicker&&this.heartbeatTicker.stop();const o=()=>Ou(this,void 0,void 0,function*(){var e,t,i;if(!this.isConnected)return;const c=this.messageBuilder.createHeartbeatPingMessage(null===(e=this.connectOptions)||void 0===e?void 0:e.verboseHeartbeat);(null===(t=this.connectOptions)||void 0===t?void 0:t.heartbeatPingCallback)&&this.connectOptions.heartbeatPingCallback(c);const o=yield this.send(c);this.user.isAuthenticated&&!o.IS_AUTHENTICATED&&this.handleExpiredSession(),(null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatPongCallback)&&this.connectOptions.heartbeatPongCallback(o),this.heartbeatIsEnabled=o.MESSAGE_TYPE===aC.HEARTBEAT_PONG&&o.SOURCE_REF===c.SOURCE_REF});if(null!==(t=null===(e=this.connectOptions)||void 0===e?void 0:e.enableHeartbeat)&&void 0!==t?t:this.heartbeatIsEnabled){const e=null!==(c=null===(i=this.connectOptions)||void 0===i?void 0:i.heartbeatInterval)&&void 0!==c?c:this.heartbeatInterval;this.heartbeatTicker=new Dx(e),this.heartbeatTicker.start(()=>{this.websocket&&this.isConnected&&(o(),this.heartbeatLoggingIsEnabled&&Pm.debug(`Sending a heartbeat ping every ${e} ms`))})}}reconnect(){var e,t,i,c,o;const s=!(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||s)return;this.status.isReconnecting=!0;const n=(null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectStrategy)===Ax.Exponential?Ox:Tx,a=this.isConnectedSubject.asObservable().pipe(Gy(e=>e?ky(-1):((e,t)=>new xb(i=>{let c,o=0;return function s(){i.next(o),clearTimeout(c),c=setTimeout(s,t(e,o)),o+=1}(),()=>{clearTimeout(c)}}))(this.reconnectOptions,n).pipe(_y(e=>{var t,i,c;let o;return o=(null===(t=this.connectOptions)||void 0===t?void 0:t.alwaysOn)?e+1:null!==(c=null===(i=this.reconnectOptions)||void 0===i?void 0:i.reconnectAttempts)&&void 0!==c?c:10,e<o?ky(e):(this.status.reconnectionLimitReached=!0,$y(()=>new Error(`Max reconnect attempts ${o} reached.`)))}))),Wy(()=>this.websocket&&!this.isConnected));a.subscribe(null!==(o=null===(c=this.reconnectOptions)||void 0===c?void 0:c.reconnectObserver)&&void 0!==o?o:{next:e=>{Pm.debug(`Attempt no. ${e+1} to reconnect`),this.websocket.complete(),this.connect(this.url,this.connectOptions,this.reconnectOptions)},error:e=>{var t;Pm.debug(e),null===(t=this.socketSubscription)||void 0===t||t.unsubscribe(),this.status.isReconnecting=!1},complete:()=>{Pm.info(this.isConnected?"Reconnected":"Disconnected"),this.status.isReconnecting=!1,this.wsMessageHandlers.forEach(e=>{e.isSubscription&&this.websocket.next(e.sentMessage)})}})}reset(){this.status.isConnected=!1,this.status.isConfigured=!1,this.websocket&&this.websocket.complete(),this.websocket=null,this.cleanMessages()}cleanMessages(){this.wsMessages&&this.wsMessages.complete(),this.wsMessages=new Fx,this.wsMessageHandlers=new Map}send(e,t=!0){if(!this.isConnected)return Promise.reject(new Error("WebSocket connection is closed"));const i=`Sending Message for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,i),new Promise((i,c)=>{const o=e=>{i(e)},s=e=>{c(e)};t&&this.setMessageHandler(e,o,s),this.websocket.next(e)})}sendForStream(e,t,i,c){if(!this.isConnected)return $y(()=>new Error("WebSocket connection is closed"));const o=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,o),this.setMessageHandler(e,t,i,!0),u.queueUpdate(()=>this.websocket.next(e)),new xb(t=>{const i=this.wsMessages.pipe(Uy(t=>t.SOURCE_REF===e.SOURCE_REF)).subscribe({next:e=>{t.next(e)},error:e=>{t.error(e)},complete:()=>{t.complete()}});return()=>{i.unsubscribe(),this.sendDataLogoff(e.SOURCE_REF),this.removeMessageHandler(e.SOURCE_REF),c&&c()}})}sendForStreamWithoutTeardown(e,t,i){if(!this.isConnected)return $y(()=>new Error("WebSocket connection is closed"));const c=`Sending Message (stream) for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;return this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.info,c),this.setMessageHandler(e,t,i,!0),this.websocket.next(e),this.wsMessages.pipe(Uy(t=>t.SOURCE_REF===e.SOURCE_REF))}setMessageHandler(e,t,i,c=!1){const o=`Setting Message Handler for SourceRef: ${e.SOURCE_REF} | MessageType: ${e.MESSAGE_TYPE}`;this.logMessageTypeFlow(e.MESSAGE_TYPE,Pm.debug,o),this.wsMessageHandlers.set(e.SOURCE_REF,new Hx(e,t,i,c))}sendDataLogoff(e){this.send(this.messageBuilder.createDataLogoffMessage(e),!1)}removeMessageHandler(e){this.wsMessageHandlers.delete(e)}getMessageHandler(e,t){const i=`Getting Message Handler for SourceRef: ${e} | MessageType: ${t}`;return this.logMessageTypeFlow(t,Pm.debug,i),this.wsMessageHandlers.get(e)}logMessageTypeFlow(e,t,i){switch(e){case rC.DATA_LOGOFF:t(i);break;case aC.HEARTBEAT_PING:case aC.HEARTBEAT_PONG:this.heartbeatLoggingIsEnabled&&t(i);break;default:this.messageLoggingIsEnabled&&t(i)}}};Nu([g],_x.prototype,"websocket",void 0),Nu([g],_x.prototype,"wsMessages",void 0),Nu([g],_x.prototype,"wsMessageHandlers",void 0),Nu([cC],_x.prototype,"http",void 0),Nu([g],_x.prototype,"heartbeatIsEnabled",void 0),_x=Nu([Au(0,fC),Au(1,eC),Au(2,Jv),Au(3,Ez),Au(4,Ix),Au(5,Oz),Au(6,qz)],_x);const Px=ft.createInterface(e=>e.singleton(_x));let Vx=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,i,c,o){this.socket=e,this.messageBuilder=t,this.metaCache=i,this.events=c,this.config=o,this.isWorking=!1}httpMode(){return!1}setValidSession(e){Pm.deprecated("setValidSession","Please refrain from calling this API as this state is managed internally.","15.0.0")}send(e,t){return this.socket.send(e,t)}connect(){return Ou(this,arguments,void 0,function*(e=Cg){return this.socket.reset(),this.socket.connect(e,this.config.connect,this.config.reconnect)})}disconnect(){this.socket.reset()}snapshot(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createDataLogonMessage(e,t);return Pm.debug(`${i.MESSAGE_TYPE} (snapshot) message created -> `,i),this.socket.send(i)})}stream(e,t,i,c){const o=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`${o.MESSAGE_TYPE} (stream) message created -> `,o);const s=performance.now();let n=null;const a=this.socket.sendForStream(o,(...i)=>{null===n&&(n=performance.now(),Pm.debug(`[stream:${e}] time to initial response: ${(n-s).toFixed(2)}ms`)),t(...i)},t=>{i(t),this.events.onStreamErrorEvent(e,a,t)},()=>{this.events.onStreamCompleteEvent(e,a)});return this.events.onStreamEvent(e,o,a,{onMessage:t,onError:i}),a}streamState(e,t=()=>{},i=()=>{},c,o=[]){return this.stream(e,t,i,c).pipe(jy(Lx,o))}streamWithoutAutoTeardown(e,t,i,c){Pm.deprecated("streamWithoutAutoTeardown","Please use 'stream' api instead.","15.0.0");const o=this.messageBuilder.createDataLogonMessage(e,c);Pm.debug(`${o.MESSAGE_TYPE} (stream without auto-teardown) message created -> `,o);const s=this.socket.sendForStreamWithoutTeardown(o,t,t=>{i(t),this.events.onStreamErrorEvent(e,s,t)});return this.events.onStreamEvent(e,o,s,{onMessage:t,onError:i}),s}getMoreRows(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createMoreRowsMessage(e,t);return Pm.debug(`${i.MESSAGE_TYPE} message created -> `,i),this.socket.send(i,!1)})}getMoreColumns(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createMoreColumnsMessage(e);return this.socket.send(t)})}dataLogoff(e){return Ou(this,void 0,void 0,function*(){const t=this.messageBuilder.createDataLogoffMessage(e);return Pm.debug(`${t.MESSAGE_TYPE} message created -> `,t),this.socket.send(t)})}getMetadata(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasMetadataFor(e))return Pm.debug(`Cached metadata retrieved for ${e}`),this.metaCache.getMetadataFor(e);const c=this.messageBuilder.createMetaRequestMessage(e);let o,s;Pm.debug(`${c.MESSAGE_TYPE} (metadata) message created -> `,c);try{this.isWorking=!0;const t=yield this.socket.send(c);o=null!==(i=null==t?void 0:t.DETAILS)&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setMetadataFor(e,o)}catch(e){throw s=e,Pm.error(e),e instanceof Error?e:new Error(String(e))}finally{this.events.onMetadataEvent(e,c,s),this.isWorking=!1}return o})}getJSONSchema(e){return Ou(this,arguments,void 0,function*(e,t=!0){var i;if(t&&this.metaCache.hasJsonSchemaFor(e))return Pm.debug(`Cached JsonSchema retrieved for ${e}`),this.metaCache.getJsonSchemaFor(e);const c=this.messageBuilder.createMetaRequestMessage(e,rC.JSON_SCHEMA_REQUEST);let o;Pm.debug(`${c.MESSAGE_TYPE} (json schema) message created -> `,c);try{this.isWorking=!0,o=null!==(i=yield this.socket.send(c))&&void 0!==i?i:{},Object.keys(o).length&&this.metaCache.setJsonSchemaFor(e,o)}catch(e){Pm.error(e)}finally{this.isWorking=!1}return o})}request(e,t){const i=this.messageBuilder.createRequestMessage(e,t);return Pm.debug(`${i.MESSAGE_TYPE} (request server) message created -> `,i),this.socket.send(i)}getAvailableResources(e){return Ou(this,arguments,void 0,function*(e,t=!0){if(t&&this.metaCache.hasResources())return Pm.debug("Cached resources retrieved"),this.metaCache.getResources();const i=this.messageBuilder.createResourcesMessage(e);Pm.debug(`${i.MESSAGE_TYPE} (resources) message created -> `,i);const c=yield this.socket.send(i);return this.metaCache.setResources(c),c})}commitEvent(e,t){return Ou(this,void 0,void 0,function*(){const i=this.messageBuilder.createCommitMessage(e,t);Pm.debug(`${i.MESSAGE_TYPE} (commit) message created -> `,i);const c=this.socket.send(i);return this.events.onCommitEvent(e,i),c.then(t=>(this.events.onCommitResponseEvent(e,t),t))})}};Nu([g],Vx.prototype,"isWorking",void 0),Vx=Nu([Au(0,Px),Au(1,fC),Au(2,Rz),Au(3,Uz),Au(4,qz)],Vx);const Bx="true"===yg||gg("forceHttp"),Ux=ft.createInterface(e=>e.singleton(Vx)),jx=ft.createInterface(e=>Bx?e.aliasTo(Sx):e.aliasTo(Ux));class qx{serialize(e){return Pm.deprecated("serialize","Use `serialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),JSON.stringify(e)}deserialize(e){return Pm.deprecated("deserialize","Use `deserialize` from `JSONSerializer` from `@genesislcap/foundation-utils` instead."),e?"string"==typeof e?JSON.parse(e):e.data?JSON.parse(e.data):e.text().then(e=>JSON.parse(e)):Promise.resolve({})}}
56
56
  /*! js-cookie v3.0.7 | MIT */
57
57
  function Gx(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var c in i)"__proto__"!==c&&(e[c]=i[c])}return e}ft.createInterface(e=>e.singleton(qx));var Wx={read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};var Yx=function e(t,i){function c(e,c,o){if("undefined"!=typeof document){"number"==typeof(o=Gx({},i,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var n in o)o[n]&&(s+="; "+n,!0!==o[n]&&(s+="="+o[n].split(";")[0]));return document.cookie=e+"="+t.write(c,e)+s}}return Object.create({set:c,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var i=document.cookie?document.cookie.split("; "):[],c={},o=0;o<i.length;o++){var s=i[o].split("="),n=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(a in c||(c[a]=t.read(n,a)),e===a)break}catch{}}return e?c[e]:c}},remove:function(e,t){c(e,"",Gx({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,Gx({},this.attributes,t))},withConverter:function(t){return e(Gx({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(i)},converter:{value:Object.freeze(t)}})}(Wx,{path:"/"});const Kx=ft.createInterface();function Zx(){return(null===navigator||void 0===navigator?void 0:navigator.credentials)?"PasswordCredential"in window||(Pm.warn("PasswordCredential not available in this browser."),!1):(Pm.warn("CredentialsContainer not available in this browser."),!1)}const Qx=":";function Xx(e="",t=Qx,i){return e.split(t,i).map(e=>e.trim()).filter(e=>""!==e)}function Jx(e,t=Qx){const i="string"==typeof e&&e.trim();return!!i&&i.includes(t)}function eL(e,t=Qx){return"string"==typeof e&&e.trim()?(e.match(new RegExp(t,"g"))||[]).length:0}function tL(e,t=Qx){for(const i of e)if(Jx(i,t))return i;return e.find(e=>"string"==typeof e&&""!==e.trim())}function iL(e,t,i){const c="string"==typeof e&&e.trim();return!c||i&&!c.includes(i)||eL(c)>1?i&&t&&i!==t?`${t}:${i}`:t||i:c}function cL(e="credential"){Pm.warn(`Unable to migrate legacy ${e} to latest format. Please remove from your browser.`)}const oL={password:!0,mediation:"optional"},sL={cookie:{path:"/",name:"credentials",expires:7300,storePasswords:!1}};let nL=class{constructor(e,t=sL){this.session=e,this.config=t}createBasicCredentials(e){return{type:nC.BASIC,username:e.username,password:e.password,mfaToken:this.getMFAToken()}}createRefreshCredentials(e){var t,i,c;return{type:nC.REFRESH,username:null!==(t=null==e?void 0:e.username)&&void 0!==t?t:this.getUsername(),refreshToken:null!==(i=null==e?void 0:e.refreshToken)&&void 0!==i?i:this.getRefreshToken(),mfaToken:null!==(c=null==e?void 0:e.mfaToken)&&void 0!==c?c:this.getMFAToken()}}createSSOCredentials(e){var t;return{type:nC.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 i=e&&!!e.id&&!!e.name&&!e.name.includes(Qx)&&eL(e.id)<=1;return t?i&&!!e.password:i}normaliseLegacyCredentialData(e,t){if(this.validateUserCredentialData(e,!0))return[e,!0];if(this.validateUserCredentialData(t))return[t,!1];if(e)try{const t=e,[i]=Xx(t.name||t.id),[c,o]=Xx(tL([t.id,t.name]));return[{id:iL(t.id||t.name,i,o),name:i,password:t.password||""},!0]}catch(e){cL("PasswordCredential")}if(t)try{const e=t,[i]=Xx(e.name||e.username||e.organisation),[c,o]=Xx(tL([e.organisation||e.username||e.name]));return[{id:iL(e.id||e.username||e.name,i,o),name:i,password:e.password||""},!1]}catch(e){cL("cookie")}return[void 0,!1]}storeCredentialsInContainer(e){return Ou(this,void 0,void 0,function*(){if(!Zx())return;const t=new PasswordCredential(e);return Pm.debug("Storing credentials in CredentialsContainer"),navigator.credentials.store(t)})}getCredentialsFromContainer(){return Ou(this,arguments,void 0,function*(e=oL){if(Zx())return Pm.debug("Getting credentials from CredentialsContainer"),yield navigator.credentials.get(e)})}storeCredentialsInCookie(e){const t=Eu(e,["password"]),i=this.config.cookie.storePasswords?e:t;return Pm.debug("Storing credentials in cookie"),!!Yx.set(this.config.cookie.name,JSON.stringify(i),{expires:this.config.cookie.expires,domain:location.hostname,path:this.config.cookie.path,secure:!0})}getCredentialsFromCookie(){Pm.debug("Getting credentials from cookie");const e=Yx.get(this.config.cookie.name);return e?JSON.parse(e):void 0}storeCredentials(e){return Ou(this,void 0,void 0,function*(){if(Zx()){const t=yield this.storeCredentialsInContainer(e);return Promise.resolve(!!t)}return Promise.resolve(this.storeCredentialsInCookie(e))})}getCredentials(e){return Ou(this,void 0,void 0,function*(){return Zx()?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(){Yx.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 Zx()&&navigator.credentials.preventSilentAccess()}};nL=Nu([Au(0,eC),Au(1,vt(Kx))],nL);const aL=ft.createInterface(e=>e.singleton(nL)),rL=e=>Array.isArray(e)?e.map(e=>null!=e?e:""):[],lL=e=>{try{if("EVENT_LOGIN_AUTH_ACK"===(null==e?void 0:e.MESSAGE_TYPE)){const{DETAILS:c}=e,o={messageType:e.MESSAGE_TYPE,sourceRef:e.SOURCE_REF,userName:e.USER_NAME,updateQueue:e.UPDATE_QUEUE,zeroMqProxyModeEnabled:e.ZERO_MQ_PROXY_MODE_ENABLED,zeroMqProxyInboundPort:e.ZERO_MQ_PROXY_INBOUND_PORT,zeroMqProxyOutboundPort:e.ZERO_MQ_PROXY_OUTBOUND_PORT,userKVs:e.USER,details:c?{system:(i=c.SYSTEM,i?{date:i.DATE}:null),heartbeatIntervalSecs:c.HEARTBEAT_INTERVAL_SECS,failedLoginAttempts:c.FAILED_LOGIN_ATTEMPTS,rejectedLoginAttempts:c.REJECTED_LOGIN_ATTEMPTS,lastLoginDatetime:c.LAST_LOGIN_DATETIME,daysToPasswordExpiry:c.DAYS_TO_PASSWORD_EXPIRY,product:(t=c.PRODUCT,t?t.map(e=>({name:e.NAME,version:e.VERSION})):[])}:null,permission:rL(e.PERMISSION),profile:rL(e.PROFILE)};return o}throw new Error("No Entity mapping implementation for provided DTO")}catch(e){throw Pm.error(e),e}var t,i};let dL=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,i,c,o){this.session=e,this.connect=t,this.messageBuilder=i,this.credentialManager=c,this.currentUser=o,this.isWorking=!1,this.isLoggedInSubject=new Rb(this.isLoggedIn),this.currentUser.addAuthenticationChangeListener(e=>{var t;null===(t=this.isLoggedInSubject)||void 0===t||t.next(e.detail)})}login(e){return Ou(this,void 0,void 0,function*(){var t;this.isWorking=!0;try{const i=this.messageBuilder.createLoginMessage(e),c=yield this.connect.send(i);if(!c||c.ERROR||(null===(t=c.DETAILS)||void 0===t?void 0:t.ERROR))throw new dC(i,c);this.applyAuthResults({authToken:c.SESSION_AUTH_TOKEN,refreshToken:c.REFRESH_AUTH_TOKEN,profiles:c.PROFILE,username:c.USER_NAME,permissions:c.PERMISSION,sessionId:c.SESSION_ID}),this.currentUser.set(lL(c)),this.session.setAuthResult(c),Pm.debug("Login Authentication Result:",c)}catch(e){if(Pm.error("Login Authentication Error:",e),!(e instanceof dC&&e.isIgnorableError()))throw this.removeAuthResults(),this.currentUser.unset(),e;Pm.warn("Ignoring authentication error as it is a known edge case.")}finally{this.isWorking=!1}return this.loggedUserResult})}logout(){return Ou(this,void 0,void 0,function*(){var e;this.isWorking=!0;let t={success:!1};try{const i=this.messageBuilder.createLogoutMessage(this.loggedUserResult);this.session.deleteUserFromSessionStorage();const{CODE:c,DETAILS:o,ERROR:s,MESSAGE_TYPE:n,OIDC_LOGOUT_URL:a}=yield this.connect.send(i),r=null!==(e=null==o?void 0:o.ERROR)&&void 0!==e?e:s,l=n===aC.LOGOUT_NACK;l&&Pm.warn("Unexpected Logout NACK received during logout.",r),t={success:n===aC.LOGOUT_ACK||c===lC.SESSION_NOT_FOUND||!l,error:r},a&&window.open(a,"_self")}catch(e){const i=new dC(e.sentMessage,e.receivedMessage);if(Pm.error("Logout Authentication Error:",i),!i.isIgnorableError())throw e;Pm.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 Ou(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)===rC.EVENT_LOGIN_AUTH_ACK)return this.session.setAuthResult(t),this.currentUser.set(lL(t)),this.applyAuthResults(this.getLoggedUserFromMessage(t)),!0}return this.session.deleteUserFromSessionStorage(),this.currentUser.unset(),!1})}ensureConnection(){return Ou(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,i=e.SESSION_AUTH_TOKEN,c=e.REFRESH_AUTH_TOKEN;return t&&i&&c?{username:t,authToken:i,refreshToken:c,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}};Nu([g],dL.prototype,"isWorking",void 0),Nu([g],dL.prototype,"loggedUserResult",void 0),dL=Nu([Au(0,eC),Au(1,jx),Au(2,fC),Au(3,aL),Au(4,Oz)],dL);const hL=ft.createInterface(e=>e.singleton(dL));function uL(e,t){const i=new Date(e),c=i.getUTCFullYear(),o=String(i.getUTCMonth()+1).padStart(2,"0"),s=String(i.getUTCDate()).padStart(2,"0");if(t)return`${c}${o}${s}`;return`${c}${o}${s}-${String(i.getUTCHours()).padStart(2,"0")}:${String(i.getUTCMinutes()).padStart(2,"0")}`}function fL(e,t="ROW_REF"){const i=e=>{const i=Object.assign(Object.assign({},e),{[t]:e.DETAILS[t]});return delete i.DETAILS,i},c=[],o=[],s=[];for(const t of e.ROW)if(t.DETAILS)switch(t.DETAILS.OPERATION){case"INSERT":c.push(i(t));break;case"MODIFY":s.push(i(t));break;case"DELETE":o.push(i(t));break;default:Pm.error(`Unsupported operation type: '${t.DETAILS.OPERATION}'`)}return{inserts:c,deletes:o,updates:s,SOURCE_REF:e.SOURCE_REF}}class pL{}pL.MAX_ROWS_250=250,pL.MAX_VIEW_1000=1e3,pL.REQ_REP_POLLING_INTERVAL_MS=1e4,pL.DATASERVER_ROW_ID="ROW_REF",pL.REQUEST_SERVER_ROW_ID="RECORD_ID",pL.DEFAULT_PAGINATION_PAGE_SIZE=25,pL.DEFAULT_REQ_REP_OFFSET=0;const mL={options:{criteria:"",isSnapshot:!1,maxRows:pL.MAX_ROWS_250,maxView:pL.MAX_VIEW_1000,pollingInterval:pL.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()),i={};return t.forEach(e=>{if(e)if(e.startsWith("Expr"))!function(e,t){const i=e.match(/Expr\.(\w+)\(/);if(i)switch(i[1]){case"dateIsToday":{const i=/Expr\.dateIsToday\((\w+)\)/,c=e.match(i);if(c){const[,e]=c,i=new Date;t[`${e}_FROM`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`,i.setDate(i.getDate()+1),t[`${e}_TO`]=`${i.toISOString().replace(/-/g,"").split("T")[0]}-00:00`}break}case"dateTimeIsGreaterEqual":{const i=/Expr\.dateTimeIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateTimeIsLessEqual":{const i=/Expr\.dateTimeIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"dateIsGreaterEqual":{const i=/Expr\.dateIsGreaterEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_FROM`]=i}break}case"dateIsLessEqual":{const i=/Expr\.dateIsLessEqual\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[`${e}_TO`]=i}break}case"containsIgnoreCase":{const i=/Expr\.containsIgnoreCase\((\w+), ?['"](.+)['"]\)/,c=e.match(i);if(c){const[,e,i]=c;t[e]=`*${i}*`}break}}}(e,i);else if(/[A-Z_]+\s*(>=|<=)\s*\d+/.test(e)){const t=e.match(/([A-Z_]+)\s*>=\s*(\d+)/);if(t){const[,e,c]=t,o=parseInt(c,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_FROM`]=uL(o,n)}const c=e.match(/([A-Z_]+)\s*<=\s*(\d+)/);if(c){const[,e,t]=c,o=parseInt(t,10),s=e.toUpperCase(),n=s.includes("DATE")&&!s.includes("DATETIME");i[`${e}_TO`]=uL(o,n)}}else!function(e,t){const i=e.substr(0,e.indexOf("=")).trim().replace(/["']/g,""),c=e.substr(e.lastIndexOf("=")+1,e.length).trim().replace(/["']/g,"");t[i]=c}(e,i)}),i},dataServerResultFilter:fL},gL=ft.createInterface(e=>e.instance(mL)),vL=e=>{class t extends e{constructor(){super(),this.hasOwnProperty("onDatasourceStatusChanged")||(this.onDatasourceStatusChanged=e=>{var t;const i=void 0!==this.data;this.resourceName||i||Pm.warn("Target classes must have a resourceName or data property to use the DatasourceEventHandler mixin.");const c=e.detail;if(c.name===this.resourceName){const e=null!==(t=this.datasourceStatus)&&void 0!==t?t:{isInitialized:!1,hasMetadata:!1};(e.isInitialized!==c.isInitialized||c.metadataRequired&&e.hasMetadata!==c.hasMetadata)&&(this.datasourceStatus=c)}})}datasourceStatusChanged(e,t){Pm.debug("Target classes should override the datasourceStatusChanged method of the DatasourceEventHandler mixin to respond to changes in the target datasource.")}connectedCallback(){super.connectedCallback(),document.addEventListener(Hz,this.onDatasourceStatusChanged,{passive:!0,capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(Hz,this.onDatasourceStatusChanged,{capture:!0})}}return Nu([g],t.prototype,"datasourceStatus",void 0),t},bL={throwWhenUnavailable:!0,throwWhenUnknown:!1},yL=ft.createInterface(e=>e.instance(bL)),zL=Gm("genesis-resources");let CL=class{constructor(e,t){this.connect=e,this.config=t}isValidResource(e){return Ou(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 Ou(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 i=`${e} resource does not exist.`;if(Pm.error(i),this.config.throwWhenUnknown)throw new Error(i)})}getAllResources(){return Ou(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 Ou(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(Pm.error(e),this.config.throwWhenUnavailable)throw new Error(e)}this.postLoadedMessage(),this.resourcesPromise=void 0}})}postLoadedMessage(){const e=ft.getOrCreateDOMContainer().get(zL);e.postMessage("resources-loaded",this.resources),e.close()}};CL=Nu([Au(0,jx),Au(1,yL)],CL);const xL=ft.createInterface(e=>e.singleton(CL));let LL=class{get initialized(){var e;return!!(null===(e=this.status)||void 0===e?void 0:e.isInitialized)}constructor(e,t,i,c,o){this.connect=e,this.auth=t,this.resources=i,this.config=c,this.connectEvents=o,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.pollTrigger$=new Ob}triggerPoll(){this.pollTrigger$.next()}validResourceName(e){return Pm.deprecated("Datasource.validResourceName","Use `GenesisResources.isValidResource` instead."),!!e&&!!e.trim().length}init(e){return Ou(this,arguments,void 0,function*(e,t=this.fetchMetadataRequired,i=this.startStreamRequired){this.fetchMetadataRequired=t,this.options=Object.assign(Object.assign({},this.config.options),e),this.invalidateCache();const c=this.options.resourceName;if(!(this.connect.isConnected||(yield this.connect.connect())))return Pm.error(`Unable to connect to ${this.connect.host} to get ${c} datasource`),this.reportStatus(),!1;return(yield this.resources.isValidResource(c))?(this.resourceType=yield this.resources.getResourceTypeFor(c),this.resourceType?(this.fetchMetadataRequired&&(yield this.fetchAndApplyMetadata(this.options.resourceName),this._allParams=null),Pm.debug(`Initializing ${c} datasource from ${this.connect.host}`),!this.options.isSnapshot&&i&&(this.pollTrigger$=new Ob,this.stream=yield this.createStream()),Pm.debug(`${c} datasource initialization ${this.initialized?"was successful.":"has failed."}`),this.reportStatus(),this.initialized):(Pm.error(`Unable to get the resource type for ${c} datasource from ${this.connect.host}`),this.reportStatus(),!1)):(Pm.error(`${c} datasource does not exist on ${this.connect.host}`),this.reportStatus(),!1)})}startStream(){return Ou(this,void 0,void 0,function*(){this.options.isSnapshot||void 0!==this.stream||(this.stream=yield this.createStream())})}destroy(){var e,t;Pm.debug("Datasource.destroy",null===(e=this.options)||void 0===e?void 0:e.resourceName),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);Pm.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,DISABLE_POLLING:this.options.disablePolling,OFFSET:this.options.offset,POLLING_INTERVAL:this.options.pollingInterval,REQUEST:this.options.request},Pm.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}}get requestOnlyParams(){const e=this.allResourceParams,{REQUEST:t}=e,i=Eu(e,["REQUEST"]);return{DETAILS:{CRITERIA_MATCH:this.options.requestAutoSetup?void 0:i.CRITERIA_MATCH,MAX_ROWS:i.MAX_ROWS,OFFSET:i.OFFSET,ORDER_BY:i.ORDER_BY,VIEW_NUMBER:i.VIEW_NUMBER},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 Ou(this,void 0,void 0,function*(){switch(Pm.debug(`Requesting snapshot for ${this.options.resourceName} (${this.resourceType}).`),this.resourceType){case Fz.DATASERVER:return this.connect.snapshot(this.options.resourceName,Object.assign(Object.assign({},this.dataserverOnlyParams),e));case Fz.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 Ou(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(){return Ou(this,void 0,void 0,function*(){if(![Fz.DATASERVER,Fz.REQUEST_SERVER].includes(this.resourceType))throw new Error(`Streaming not supported for selected resource type: ${this.resourceType}`);return this.resourceType===Fz.DATASERVER?this.createDataserverStream():(Pm.debug(`Creating fake stream by polling ${this.options.resourceName} REQUEST_SERVER`),this.createReqRepStream())})}createDataserverStream(){return Ou(this,void 0,void 0,function*(){return this.connect.stream(this.options.resourceName,e=>{},e=>Pm.error(e),this.dataserverOnlyParams)})}createReqRepStream(){this.commitResponseUnsubscribe=this.connectEvents.addCommitResponseListener(e=>{var t;const{eventName:i,response:c}=e.detail;this.options.pollTriggerEvents&&this.options.pollTriggerEvents.includes(i)&&(null===(t=c.MESSAGE_TYPE)||void 0===t?void 0:t.endsWith("_ACK"))&&(Pm.debug(`Received commit response for ${i}, triggering poll.`),this.triggerPoll())});const e=this.allResourceParams.DISABLE_POLLING?void 0:this.allResourceParams.POLLING_INTERVAL,t=()=>{const e=this.requestOnlyParams;if(this.resourceType===Fz.REQUEST_SERVER&&this.loadMoreCount>0){const t=25,i=(this.options.maxRows||t)*(this.loadMoreCount+1);e.DETAILS.MAX_ROWS=i}return Fy([this.connect.isConnected$,this.auth.isLoggedIn$]).pipe(Wy(()=>this.connect.isConnected&&this.auth.isLoggedIn),Gy(()=>Sy(this.snapshot(e))))};return e?this.pollTrigger$.pipe(qy(0),Gy(()=>By(0,e).pipe(Gy(t)))):this.pollTrigger$.pipe(qy(0),Gy(t))}fetchAndApplyMetadata(e){return Ou(this,void 0,void 0,function*(){var t,i,c,o;try{Pm.debug(`Requesting metadata for ${this.options.resourceName} Datasource`);const e=yield this.connect.getMetadata(this.options.resourceName);e&&(this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Pz(e),this.fieldMetadata=_z(this.originalFieldDef),this.requestFields=e.REQUEST_FIELD||[],this.customRequestFields=e.FIELD||[],this.criteriaOnlyRequest=e.CRITERIA_ONLY_REQUEST||!1,this.fetchMetadataRequired=!1),this.status=this.normaliseStatus({isInitialized:!0,metadataRequired:!0,hasMetadata:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0})}catch(t){Pm.error(`Metadata Fetch failed for ${e}:`,t),this.status=this.normaliseStatus({isInitialized:!1,metadataRequired:!0,hasMetadata:!1})}})}reportStatus(e={}){var t;const i=null!==(t=this.config.eventEmitter)&&void 0!==t?t:document;this.status=this.normaliseStatus(e),Pm.debug(`Dispatching '${Hz}'`,this.status),null==i||i.dispatchEvent(new CustomEvent(Hz,{detail:this.status,bubbles:i!==document,composed:!0}))}normaliseStatus(e){var t,i,c,o,s;const n=null!==(t=e.isInitialized)&&void 0!==t?t:this.initialized,a=null!==(i=e.metadataRequired)&&void 0!==i?i:this.fetchMetadataRequired,r=null!==(c=e.hasMetadata)&&void 0!==c?c:(null===(o=this.fieldMetadata)||void 0===o?void 0:o.length)>0;return{name:null===(s=this.options)||void 0===s?void 0:s.resourceName,type:this.resourceType,isInitialized:n,metadataRequired:a,hasMetadata:r}}invalidateCache(){this._allParams=null}};Nu([g],LL.prototype,"status",void 0),Nu([g],LL.prototype,"fetchMetadataRequired",void 0),Nu([g],LL.prototype,"startStreamRequired",void 0),Nu([g],LL.prototype,"originalFieldDef",void 0),Nu([g],LL.prototype,"fieldMetadata",void 0),Nu([g],LL.prototype,"requestFields",void 0),Nu([g],LL.prototype,"customRequestFields",void 0),Nu([g],LL.prototype,"availableIndexes",void 0),Nu([g],LL.prototype,"availableSortableFields",void 0),Nu([g],LL.prototype,"availableCriteriaFields",void 0),Nu([g],LL.prototype,"criteriaOnlyRequest",void 0),Nu([g],LL.prototype,"loadMoreCount",void 0),Nu([g],LL.prototype,"readOnly",void 0),Nu([g],LL.prototype,"stream",void 0),LL=Nu([Au(0,jx),Au(1,hL),Au(2,xL),Au(3,gL),Au(4,Bz)],LL);const ML=ft.createInterface(e=>e.transient(LL));class wL extends LL{constructor(){super(...arguments),this.entityCache=[],this.entityMap=new Map,this.rowId="ROW_REF",this.initialize=e=>Ou(this,void 0,void 0,function*(){return this.disconnect(),this.options=Object.assign({},e.options),this.mapper=e.mapper,this.initialized=yield this.init(this.options,e.fetchMeta),this.initialized?(this.subscription=this.stream.subscribe(e=>{this.sourceRef=e.SOURCE_REF,this.subscriptionLoggedOff=e.MESSAGE_TYPE===aC.LOGOFF_ACK;const t=e.ROW;!this.subscriptionLoggedOff&&t&&this.updateCache(this.config.dataServerResultFilter(e,this.rowId))}),!0):(Pm.debug(`EntityDatasource init failed for ${this.options.resourceName}`),!1)}),this.disconnect=()=>{var e;null===(e=this.subscription)||void 0===e||e.unsubscribe(),this.entityCache=[]}}get initialized(){return this._initialized}set initialized(e){this._initialized=e}get cache(){if(!this.initialized)throw new Error("Please initialize EntityDatasource before querying.");return this.entityCache}get isEmpty(){return 0===this.entityCache.length}updateCache(e){var t;this.isEmpty,null===(t=e.deletes)||void 0===t||t.forEach(e=>{const t=e[this.rowId];this.entityMap.delete(t)}),this.processRowDataUpdate(e.inserts,!0),this.processRowDataUpdate(e.updates);this.entityCache=[{}].map(e=>this.mapper.fromDTO(e))}processRowDataUpdate(e,t=!1){e.forEach(e=>{const i=e[this.rowId],c=this.entityMap.get(i);if(c&&t)throw new Error("Existing entity found in map while inserting.");const o=this.mapper.fromDTO(e),s=c?Object.assign(Object.assign({},c),o):o;this.entityMap.set(i,s)})}}function SL(e,t=";"){return e?e.split(t).map(e=>e.trim()).sort((e,t)=>e.localeCompare(t)).join(t):e}ft.createInterface(e=>e.transient(wL));const kL="system-health-changed",$L={windowEvents:["online","offline","pageshow"],documentEvents:["visibilitychange"],genesisConnectEvents:["stream","commit"],ignoredGenesisResources:[],startDelay:5e3,checkInterval:1e4,checkTimeout:3e3,resourceChecks:e=>Ou(void 0,void 0,void 0,function*(){const t=ft.getOrCreateDOMContainer().get(jx),i=yield t.getMoreColumns(e),c=Date.now(),o=i;return{isConnected:i.MESSAGE_TYPE===aC.MORE_COLUMNS_ACK,lastUpdated:c,lastMessage:o}}),resourceDataLogon:({message:e,functions:t})=>{const{onMessage:i,onError:c}=t;ft.getOrCreateDOMContainer().get(Px).sendForStream(e,i,c)}},EL=ft.createInterface(e=>e.instance($L));var NL,AL={exports:{}};var OL,TL,RL=(NL||(NL=1,function(e){e.exports=function(e){var t={};function i(c){if(t[c])return t[c].exports;var o=t[c]={i:c,l:!1,exports:{}};return e[c].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,c){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:c})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var c=Object.create(null);if(i.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(c,o,function(t){return e[t]}.bind(null,o));return c},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=i(18),o=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});t.push(0);var i=t[0],c=t[1];if(10===i)switch(c){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}switch(i){case 11:return"Big Sur";case 12:return"Monterey";case 13:return"Ventura";case 14:return"Sonoma";case 15:return"Sequoia";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,c){void 0===c&&(c=!1);var o=e.getVersionPrecision(t),s=e.getVersionPrecision(i),n=Math.max(o,s),a=0,r=e.map([t,i],function(t){var i=n-e.getVersionPrecision(t),c=t+new Array(i+1).join(".0");return e.map(c.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(c&&(a=n-Math.min(o,s)),n-=1;n>=a;){if(r[0][n]>r[1][n])return 1;if(r[0][n]===r[1][n]){if(n===a)return 0;n-=1}else if(r[0][n]<r[1][n])return-1}},e.map=function(e,t){var i,c=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)c.push(t(e[i]));return c},e.find=function(e,t){var i,c;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,c=e.length;i<c;i+=1){var o=e[i];if(t(o,i))return o}},e.assign=function(e){for(var t,i,c=e,o=arguments.length,s=new Array(o>1?o-1:0),n=1;n<o;n++)s[n-1]=arguments[n];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var a=function(){var e=s[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){c[t]=e[t]})};for(t=0,i=s.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return c.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return c.BROWSER_MAP[e]||""},e}();t.default=o,e.exports=t.default},18:function(e,t,i){t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={AmazonBot:"amazonbot","Amazon Silk":"amazon_silk","Android Browser":"android",BaiduSpider:"baiduspider",Bada:"bada",BingCrawler:"bingcrawler",Brave:"brave",BlackBerry:"blackberry","ChatGPT-User":"chatgpt_user",Chrome:"chrome",ClaudeBot:"claudebot",Chromium:"chromium",Diffbot:"diffbot",DuckDuckBot:"duckduckbot",DuckDuckGo:"duckduckgo",Electron:"electron",Epiphany:"epiphany",FacebookExternalHit:"facebookexternalhit",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot",GPTBot:"gptbot","Internet Explorer":"ie",InternetArchiveCrawler:"internetarchivecrawler","K-Meleon":"k_meleon",LibreWolf:"librewolf",Linespider:"linespider",Maxthon:"maxthon","Meta-ExternalAds":"meta_externalads","Meta-ExternalAgent":"meta_externalagent","Meta-ExternalFetcher":"meta_externalfetcher","Meta-WebIndexer":"meta_webindexer","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver","OAI-SearchBot":"oai_searchbot",Omgilibot:"omgilibot",Opera:"opera","Opera Coast":"opera_coast","Pale Moon":"pale_moon",PerplexityBot:"perplexitybot","Perplexity-User":"perplexity_user",PhantomJS:"phantomjs",PingdomBot:"pingdombot",Puffin:"puffin",QQ:"qq",QQLite:"qqlite",QupZilla:"qupzilla",Roku:"roku",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SlackBot:"slackbot",SeaMonkey:"seamonkey",Sleipnir:"sleipnir","Sogou Browser":"sogou",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat",YahooSlurp:"yahooslurp","Yandex Browser":"yandex",YandexBot:"yandexbot",YouBot:"youbot"},t.BROWSER_MAP={amazonbot:"AmazonBot",amazon_silk:"Amazon Silk",android:"Android Browser",baiduspider:"BaiduSpider",bada:"Bada",bingcrawler:"BingCrawler",blackberry:"BlackBerry",brave:"Brave",chatgpt_user:"ChatGPT-User",chrome:"Chrome",claudebot:"ClaudeBot",chromium:"Chromium",diffbot:"Diffbot",duckduckbot:"DuckDuckBot",duckduckgo:"DuckDuckGo",edge:"Microsoft Edge",electron:"Electron",epiphany:"Epiphany",facebookexternalhit:"FacebookExternalHit",firefox:"Firefox",focus:"Focus",generic:"Generic",google_search:"Google Search",googlebot:"Googlebot",gptbot:"GPTBot",ie:"Internet Explorer",internetarchivecrawler:"InternetArchiveCrawler",k_meleon:"K-Meleon",librewolf:"LibreWolf",linespider:"Linespider",maxthon:"Maxthon",meta_externalads:"Meta-ExternalAds",meta_externalagent:"Meta-ExternalAgent",meta_externalfetcher:"Meta-ExternalFetcher",meta_webindexer:"Meta-WebIndexer",mz:"MZ Browser",naver:"NAVER Whale Browser",oai_searchbot:"OAI-SearchBot",omgilibot:"Omgilibot",opera:"Opera",opera_coast:"Opera Coast",pale_moon:"Pale Moon",perplexitybot:"PerplexityBot",perplexity_user:"Perplexity-User",phantomjs:"PhantomJS",pingdombot:"PingdomBot",puffin:"Puffin",qq:"QQ Browser",qqlite:"QQ Browser Lite",qupzilla:"QupZilla",roku:"Roku",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",slackbot:"SlackBot",sleipnir:"Sleipnir",sogou:"Sogou Browser",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yahooslurp:"YahooSlurp",yandex:"Yandex Browser",yandexbot:"YandexBot",youbot:"YouBot"},t.PLATFORMS_MAP={bot:"bot",desktop:"desktop",mobile:"mobile",tablet:"tablet",tv:"tv"},t.OS_MAP={Android:"Android",Bada:"Bada",BlackBerry:"BlackBerry",ChromeOS:"Chrome OS",HarmonyOS:"HarmonyOS",iOS:"iOS",Linux:"Linux",MacOS:"macOS",PlayStation4:"PlayStation 4",Roku:"Roku",Tizen:"Tizen",WebOS:"WebOS",Windows:"Windows",WindowsPhone:"Windows Phone"},t.ENGINE_MAP={Blink:"Blink",EdgeHTML:"EdgeHTML",Gecko:"Gecko",Presto:"Presto",Trident:"Trident",WebKit:"WebKit"}},90:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(91))&&c.__esModule?c:{default:c},s=i(18);function n(e,t){for(var i=0;i<t.length;i++){var c=t[i];c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(e,c.key,c)}}var a=function(){function e(){}var t,i,c;return e.getParser=function(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t,i)},e.parse=function(e,t){return void 0===t&&(t=null),new o.default(e,t).getResult()},t=e,c=[{key:"BROWSER_MAP",get:function(){return s.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return s.ENGINE_MAP}},{key:"OS_MAP",get:function(){return s.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return s.PLATFORMS_MAP}}],(i=null)&&n(t.prototype,i),c&&n(t,c),e}();t.default=a,e.exports=t.default},91:function(e,t,i){t.__esModule=!0,t.default=void 0;var c=r(i(92)),o=r(i(93)),s=r(i(94)),n=r(i(95)),a=r(i(17));function r(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e,t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e;var c=!1;"boolean"==typeof t?(c=t,this._hints=i):this._hints=null!=t&&"object"==typeof t?t:null,this.parsedResult={},!0!==c&&this.parse()}var t=e.prototype;return t.getHints=function(){return this._hints},t.hasBrand=function(e){if(!this._hints||!Array.isArray(this._hints.brands))return!1;var t=e.toLowerCase();return this._hints.brands.some(function(e){return e.brand&&e.brand.toLowerCase()===t})},t.getBrandVersion=function(e){if(this._hints&&Array.isArray(this._hints.brands)){var t=e.toLowerCase(),i=this._hints.brands.find(function(e){return e.brand&&e.brand.toLowerCase()===t});return i?i.version:void 0}},t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(c.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA(),this)),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(Array.isArray(t.test))return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},c=0,o={},s=0;if(Object.keys(e).forEach(function(t){var n=e[t];"string"==typeof n?(o[t]=n,s+=1):"object"==typeof n&&(i[t]=n,c+=1)}),c>0){var n=Object.keys(i),r=a.default.find(n,function(e){return t.isOS(e)});if(r){var l=this.satisfies(i[r]);if(void 0!==l)return l}var d=a.default.find(n,function(e){return t.isPlatform(e)});if(d){var h=this.satisfies(i[d]);if(void 0!==h)return h}}if(s>0){var u=Object.keys(o),f=a.default.find(u,function(e){return t.isBrowser(e,!0)});if(void 0!==f)return this.compareVersion(o[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),c=e.toLowerCase(),o=a.default.getBrowserTypeByAlias(c);return t&&o&&(c=o.toLowerCase()),c===i},t.compareVersion=function(e){var t=[0],i=e,c=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(c=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(c=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(o,i,c))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=l,e.exports=t.default},92:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=/version\/(\d+(\.?_?\d+)+)/i,n=[{test:[/gptbot/i],describe:function(e){var t={name:"GPTBot"},i=o.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chatgpt-user/i],describe:function(e){var t={name:"ChatGPT-User"},i=o.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/oai-searchbot/i],describe:function(e){var t={name:"OAI-SearchBot"},i=o.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(e){var t={name:"ClaudeBot"},i=o.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(e){var t={name:"Omgilibot"},i=o.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/diffbot/i],describe:function(e){var t={name:"Diffbot"},i=o.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexitybot/i],describe:function(e){var t={name:"PerplexityBot"},i=o.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/perplexity-user/i],describe:function(e){var t={name:"Perplexity-User"},i=o.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/youbot/i],describe:function(e){var t={name:"YouBot"},i=o.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-webindexer/i],describe:function(e){var t={name:"Meta-WebIndexer"},i=o.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalads/i],describe:function(e){var t={name:"Meta-ExternalAds"},i=o.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalagent/i],describe:function(e){var t={name:"Meta-ExternalAgent"},i=o.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/meta-externalfetcher/i],describe:function(e){var t={name:"Meta-ExternalFetcher"},i=o.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/linespider/i],describe:function(e){var t={name:"Linespider"},i=o.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/amazonbot/i],describe:function(e){var t={name:"AmazonBot"},i=o.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/bingbot/i],describe:function(e){var t={name:"BingCrawler"},i=o.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/baiduspider/i],describe:function(e){var t={name:"BaiduSpider"},i=o.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/duckduckbot/i],describe:function(e){var t={name:"DuckDuckBot"},i=o.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ia_archiver/i],describe:function(e){var t={name:"InternetArchiveCrawler"},i=o.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{name:"FacebookExternalHit"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(e){var t={name:"SlackBot"},i=o.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yahoo!?[\s/]*slurp/i],describe:function(){return{name:"YahooSlurp"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{name:"YandexBot"}}},{test:[/pingdom/i],describe:function(){return{name:"PingdomBot"}}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/PaleMoon/i],describe:function(e){var t={name:"Pale Moon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},i=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=o.default.getFirstMatch(s,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/librewolf/i],describe:function(e){var t={name:"LibreWolf"},i=o.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sogoumobilebrowser/i,/metasr/i,/se 2\.[x]/i],describe:function(e){var t={name:"Sogou Browser"},i=o.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i,e),c=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),s=o.default.getFirstMatch(/se ([\d.]+)x/i,e),n=i||c||s;return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return!!e.hasBrand("DuckDuckGo")||e.test(/\sDdg\/[\d.]+$/i)},describe:function(e,t){var i={name:"DuckDuckGo"};if(t){var c=t.getBrandVersion("DuckDuckGo");if(c)return i.version=c,i}var s=o.default.getFirstMatch(/\sDdg\/([\d.]+)$/i,e);return s&&(i.version=s),i}},{test:function(e){return e.hasBrand("Brave")},describe:function(e,t){var i={name:"Brave"};if(t){var c=t.getBrandVersion("Brave");if(c)return i.version=c,i}return i}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=o.default.getFirstMatch(s,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=n,e.exports=t.default},93:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=o.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:s.OS_MAP.iOS},i=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=o.default.getMacOSVersionName(t),c={name:s.OS_MAP.MacOS,version:t};return i&&(c.versionName=i),c}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:s.OS_MAP.iOS,version:t}}},{test:[/OpenHarmony/i],describe:function(e){var t=o.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.HarmonyOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=o.default.getAndroidVersionName(t),c={name:s.OS_MAP.Android,version:t};return i&&(c.versionName=i),c}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={name:s.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=n,e.exports=t.default},94:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:[/googlebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Google"}}},{test:[/linespider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Line"}}},{test:[/amazonbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Amazon"}}},{test:[/gptbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/chatgpt-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/oai-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"OpenAI"}}},{test:[/baiduspider/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Baidu"}}},{test:[/bingbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Bing"}}},{test:[/duckduckbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"DuckDuckGo"}}},{test:[/claudebot/i,/claude-web/i,/claude-user/i,/claude-searchbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Anthropic"}}},{test:[/omgilibot/i,/webzio-extended/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Webz.io"}}},{test:[/diffbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Diffbot"}}},{test:[/perplexitybot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/perplexity-user/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Perplexity AI"}}},{test:[/youbot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"You.com"}}},{test:[/ia_archiver/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Internet Archive"}}},{test:[/meta-webindexer/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalads/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalagent/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/meta-externalfetcher/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/facebookexternalhit/i,/facebookcatalog/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Meta"}}},{test:[/slackbot/i,/slack-imgProxy/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Slack"}}},{test:[/yahoo/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yahoo"}}},{test:[/yandexbot/i,/yandexmobilebot/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Yandex"}}},{test:[/pingdom/i],describe:function(){return{type:s.PLATFORMS_MAP.bot,vendor:"Pingdom"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:s.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/Nokia/i],describe:function(e){var t=o.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i,e),i={type:s.PLATFORMS_MAP.mobile,vendor:"Nokia"};return t&&(i.model=t),i}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:[/smart-?tv|smarttv/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:[/netcast/i],describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=n,e.exports=t.default},95:function(e,t,i){t.__esModule=!0,t.default=void 0;var c,o=(c=i(17))&&c.__esModule?c:{default:c},s=i(18),n=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},i=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},i=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},i=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},i=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=n,e.exports=t.default}})}(AL)),AL.exports),IL=Uu(RL);var DL,FL=function(){if(TL)return OL;TL=1,OL=s,s.default=s,s.stable=l,s.stableStringify=l;var e="[...]",t="[Circular]",i=[],c=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,s,n){var r;void 0===n&&(n=o()),a(e,"",0,[],void 0,0,n);try{r=0===c.length?JSON.stringify(e,t,s):JSON.stringify(e,h(t),s)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return r}function n(e,t,o,s){var n=Object.getOwnPropertyDescriptor(s,o);void 0!==n.get?n.configurable?(Object.defineProperty(s,o,{value:e}),i.push([s,o,t,n])):c.push([t,o,e]):(s[o]=e,i.push([s,o,t]))}function a(i,c,o,s,r,l,d){var h;if(l+=1,"object"==typeof i&&null!==i){for(h=0;h<s.length;h++)if(s[h]===i)return void n(t,i,c,r);if(void 0!==d.depthLimit&&l>d.depthLimit)return void n(e,i,c,r);if(void 0!==d.edgesLimit&&o+1>d.edgesLimit)return void n(e,i,c,r);if(s.push(i),Array.isArray(i))for(h=0;h<i.length;h++)a(i[h],h,h,s,i,l,d);else{var u=Object.keys(i);for(h=0;h<u.length;h++){var f=u[h];a(i[f],f,h,s,i,l,d)}}s.pop()}}function r(e,t){return e<t?-1:e>t?1:0}function l(e,t,s,n){void 0===n&&(n=o());var a,r=d(e,"",0,[],void 0,0,n)||e;try{a=0===c.length?JSON.stringify(r,t,s):JSON.stringify(r,h(t),s)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function d(c,o,s,a,l,h,u){var f;if(h+=1,"object"==typeof c&&null!==c){for(f=0;f<a.length;f++)if(a[f]===c)return void n(t,c,o,l);try{if("function"==typeof c.toJSON)return}catch(e){return}if(void 0!==u.depthLimit&&h>u.depthLimit)return void n(e,c,o,l);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void n(e,c,o,l);if(a.push(c),Array.isArray(c))for(f=0;f<c.length;f++)d(c[f],f,f,a,c,h,u);else{var p={},m=Object.keys(c).sort(r);for(f=0;f<m.length;f++){var g=m[f];d(c[g],g,f,a,c,h,u),p[g]=c[g]}if(void 0===l)return p;i.push([l,o,c]),l[o]=p}a.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,i){if(c.length>0)for(var o=0;o<c.length;o++){var s=c[o];if(s[1]===t&&s[0]===i){i=s[2],c.splice(o,1);break}}return e.call(this,t,i)}}return OL}(),HL=Uu(FL);const _L=_m("network-monitor",{level:Mm.info}),PL=Date.now(),VL=(null===(DL=window.navigator)||void 0===DL?void 0:DL.userAgent)?IL.parse(window.navigator.userAgent):void 0,BL=(e,t={depthLimit:10,edgesLimit:10})=>e instanceof Event?`'${e.type}' Event`:"string"==typeof e?e:HL(e,void 0,2,t);class UL{constructor(){this.unsubscribableObservers=[],this.runAllChecks=(e,t)=>Ou(this,void 0,void 0,function*(){if(!this.isReady||this.isRunningChecks&&!t)return;_L.info("Run health checks, triggered by",BL(e),"| Active resources",this.resources.size),this.isRunningChecks=!0,this.synchroniseCheckInterval();let i=this.getFormattedTimestamp(this.getNowTimestamp());const c=yield this.isOnlineCheck();c?_L.debug(`Network connected at ${i}`):_L.warn(`Network disconnected at ${i}`);const o=this.normaliseSerializedSocketStatus(this.socketStatus.serialize(),c),s=this.preFlightSocketChecks(o);if(s||_L.debug("Socket pre-flight checks failed"),!c||!s){_L.debug("Aborting remaining health checks");const e=[...this.resources].reduce((e,[t,i])=>{const o=e[i.resourceName];return o?(o.sourceRef=[...o.sourceRef,i.message.SOURCE_REF],e):Object.assign(Object.assign({},e),{[i.resourceName]:this.normaliseResourceHealth({name:i.resourceName,sourceRef:[i.message.SOURCE_REF],isConnected:i.isConnected,lastUpdated:i.lastUpdated},c)})},{});return this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:e,resourcesAllConnected:!1,socket:o}),void(this.isRunningChecks=!1)}let n=!0;const a=[];this.resources.forEach((e,t)=>{const{resourceName:c,message:o,functions:s}=e,{resourceChecks:r=this.config.resourceChecks,resourceDataLogon:l=this.config.resourceDataLogon}=s,{SOURCE_REF:d}=o;let h,u,f,p,m,g=!1;a.push((()=>Ou(this,void 0,void 0,function*(){var o,s,a;try{_L.debug(`Running health check against ${c}`);const e=yield Promise.race([r(d,t),(s=this.config.checkTimeout,a=()=>({isConnected:!1,lastUpdated:this.getNowTimestamp(),timeout:!0}),new Promise(e=>{setTimeout(()=>{e(a())},s)}))]);g=e.isConnected,h=e.lastUpdated,u=e.lastMessage,p=e.timeout}catch(e){g=!1,h=this.getNowTimestamp(),f=e,u=null!==(o=null==e?void 0:e.receivedMessage)&&void 0!==o?o:e}return m=(null==u?void 0:u.MESSAGE_TYPE)===aC.MSG_NACK||hC(u,Kz.NOT_FOUND),i=this.getFormattedTimestamp(null!=h?h:this.getNowTimestamp()),g?_L.debug(`${c} is healthy at ${i}`):_L.warn(`${c} is not healthy at ${i}`),u&&_L.debug(`${c} messaged at ${i}`,BL(u)),f&&_L.error(`${c} errored at ${i}`,BL(f)),p&&_L.warn(`${c} timed out at ${i}`),m&&(_L.error(`${c} issue, re-attempting data logon at ${i}`),l(e)),n&&(n=g),{name:c,sourceRef:[d],isConnected:g,lastUpdated:h,lastError:f}}))())});const r=(yield Promise.allSettled(a)).reduce((e,t)=>{if("fulfilled"===t.status){const i=e[t.value.name];return i?(i.sourceRef=[...i.sourceRef,...t.value.sourceRef],e):Object.assign(Object.assign({},e),{[t.value.name]:this.normaliseResourceHealth(t.value)})}return _L.warn("Unexpected promise rejection occurred. Please check any custom resourceChecks return MonitoredResourceChecksResult."),e},{});_L.debug("Health checks complete"),this.reportSystemHealth({isAuthenticated:this.user.isAuthenticated,isOnline:c,resources:r,resourcesAllConnected:n,socket:o}),this.isRunningChecks=!1}),void 0!==this.config.logLevel&&(_L.level=this.config.logLevel)}create(){this.resources?_L.warn("NetworkMonitor already created. If this is intentional, please call NetworkMonitor.destroy first."):(this.addListeners(),this.resources=new Map,setTimeout(()=>{this.isReady=!0,this.synchroniseCheckInterval(),this.runAllChecks("NetworkMonitor.create()")},this.config.startDelay))}destroy(){this.removeListeners(),clearInterval(this.internalId),this.resources.clear(),this.resources=void 0,this.status=void 0,this.isReady=void 0}isOnlineCheck(){return Promise.resolve(navigator.onLine)}addResource(e,t){this.resources||this.create(),this.resources.set(e,t)}removeResource(e){this.resources.delete(e)}addListeners(){var e,t;null===(e=this.config.windowEvents)||void 0===e||e.forEach(e=>window.addEventListener(e,this.runAllChecks)),null===(t=this.config.documentEvents)||void 0===t||t.forEach(e=>document.addEventListener(e,this.runAllChecks)),this.config.genesisConnectEvents.includes("stream")&&this.unsubscribableObservers.push(this.connectEvents.addStreamListener(({detail:e})=>{const{functions:t,message:i,resourceName:c,stream:o}=e;this.config.ignoredGenesisResources.includes(c)||this.addResource(o,{functions:t,message:i,resourceName:c})},({detail:e})=>{const{resourceName:t,stream:i}=e;this.config.ignoredGenesisResources.includes(t)||this.removeResource(i)},({detail:e})=>{var t;const{resourceName:i,stream:c,error:o}=e,s=null!==(t=o.receivedMessage)&&void 0!==t?t:o;let n="";hC(s,Kz.NOT_FOUND)?n="Please check the resource is running.":hC(s,Kz.FORBIDDEN)&&(n="You are not authorised to access this resource, removing it from monitoring.",this.removeResource(c)),_L.error(`${i} errored at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,n,o)})),this.config.genesisConnectEvents.includes("commit")&&this.unsubscribableObservers.push(this.connectEvents.addCommitListener(e=>{this.config.ignoredGenesisResources.includes(e.detail.eventName)||this.runAllChecks(e)})),this.unsubscribableObservers.push(this.connectEvents.addMetadataListener(({detail:e})=>{const{resourceName:t,error:i}=e;i&&_L.error(`${t} had an unrecoverable error at ${this.getFormattedTimestamp(this.getNowTimestamp())}.`,"Please check the resource is running.",i)}))}removeListeners(){var e,t;null===(e=this.config.windowEvents)||void 0===e||e.forEach(e=>window.removeEventListener(e,this.runAllChecks)),null===(t=this.config.documentEvents)||void 0===t||t.forEach(e=>document.removeEventListener(e,this.runAllChecks)),this.unsubscribableObservers.forEach(e=>e()),this.unsubscribableObservers.length=0}reportSystemHealth(e){var t;const i=null!==(t=this.config.eventEmitter)&&void 0!==t?t:document;this.status=this.normaliseEventDetail(e);(this.status.isHealthy?_L.debug:_L.warn)("Emitting 'system-health-changed' event",BL(this.status)),null==i||i.dispatchEvent(new CustomEvent(kL,{detail:this.status,bubbles:i!==document,composed:!0})),this.status.socket.reconnectionLimitReached&&(_L.debug("Network monitoring no longer required. Please check your network and reload your application."),this.destroy())}reportStabilityToGenesis(e){return Ou(this,void 0,void 0,function*(){return _L.debug("User requested report stability to Genesis."),_L.info("Please attach this data to your Genesis Support request: \n",JSON.stringify(e,null,2)),!0})}normaliseResourceHealth(e,t=!0){var i;const c=!!t&&e.isConnected,o=null!==(i=e.lastUpdated)&&void 0!==i?i:this.getNowTimestamp();return Object.assign(Object.assign({},e),{isConnected:c,lastUpdated:o})}normaliseSerializedSocketStatus(e,t=!0){const i=!!t&&e.isConnected,c=!i;return Object.assign(Object.assign({},e),{isConnected:i,isDisconnected:c})}normaliseEventDetail(e){var t,i,c,o;const s=!!((null===(t=e.socket)||void 0===t?void 0:t.isConfigured)?e.isOnline&&(null===(i=e.socket)||void 0===i?void 0:i.isConnected)&&e.resourcesAllConnected:e.isOnline),n=null!==(c=e.lastUpdated)&&void 0!==c?c:this.getNowTimestamp(),a=null!==(o=e.nextUpdate)&&void 0!==o?o:this.getNextTimestamp(),r=e.isAuthenticated&&this.user?this.user.username:void 0,l=Object.assign(Object.assign({},e),{browserInformation:VL,username:r,isHealthy:s,lastUpdated:n,nextUpdate:a,firstUpdated:PL,runAllChecks:()=>{_L.debug("User activated run checks command starting."),this.runAllChecks("user requested")},reportStabilityToGenesis:()=>this.reportStabilityToGenesis(l)});return l}preFlightSocketChecks(e){if(!e.isConfigured)return _L.debug("Socket not configured"),!1;if(e.isReconnecting)return _L.debug("Socket reconnecting"),!1;if(e.isConnecting)return _L.debug("Socket connecting"),!1;if(e.isDisconnected){const t=e.isDisconnectedByServer?`by the server, code: ${e.closedCode}, reason: ${e.closedReason}`:"";return _L.debug(`Socket disconnected ${t}`),e.reconnectionLimitReached&&_L.debug("Socket reconnection limit reached"),!1}const t=this.user.isAuthenticated?"with":"without";return _L.debug(`Socket connected ${t} valid session`),!0}getFormattedTimestamp(e){return Ag(e)}getNowTimestamp(){return Date.now()}getNextTimestamp(){return new Date(Date.now()+this.config.checkInterval).getTime()}synchroniseCheckInterval(){clearInterval(this.internalId),this.internalId=setInterval(()=>this.runAllChecks("check interval"),this.config.checkInterval)}}Nu([EL],UL.prototype,"config",void 0),Nu([Ix],UL.prototype,"socketStatus",void 0),Nu([Bz],UL.prototype,"connectEvents",void 0),Nu([Oz],UL.prototype,"user",void 0),Nu([g],UL.prototype,"status",void 0);const jL=ft.createInterface(e=>e.singleton(UL)),qL={account:"genesis",namespace:"default",authKey:"kv-default",authEmail:void 0},GL=ft.createInterface();var WL,YL;!function(e){e.REQ_KEY_VALUE_LIST="REQ_KEY_VALUE_LIST",e.REQ_KEY_VALUE_READ="REQ_KEY_VALUE_READ"}(WL||(WL={})),function(e){e.EVENT_KEY_VALUE_PUT="EVENT_KEY_VALUE_PUT",e.EVENT_KEY_VALUE_DELETE="EVENT_KEY_VALUE_DELETE"}(YL||(YL={}));let KL=class{constructor(e,t,i=qL){this.connect=e,this.user=t,this.kvStorageConfig=i}delete(e){return Ou(this,void 0,void 0,function*(){const t={DETAILS:{KEYS:e}},i=yield this.connect.commitEvent(YL.EVENT_KEY_VALUE_DELETE,t);return!(!i||"EVENT_ACK"!==i.MESSAGE_TYPE)||{ERROR:i.ERROR,WARNING:i.WARNING}})}get(e){return Ou(this,void 0,void 0,function*(){var t;const i={REQUEST:{USER_NAME:null!==(t=this.kvStorageConfig.authEmail)&&void 0!==t?t:this.user.userName,KEY:e}},c=yield this.connect.request(WL.REQ_KEY_VALUE_READ,i);if(c&&c.REPLY&&c.REPLY.length>0){const t=c.REPLY.map(e=>{const t=this.getDecodedValue(e.VALUE);return{kv:{key:e.KEY,value:t}}});return e?t[0]:t}return e?void 0:[]})}getDecodedValue(e){e.startsWith("str:")||e.startsWith("bin:")||(e=`str:${e}`);let t=pg(e);return"string"==typeof t&&t.startsWith("str:")&&(t=pg(t)),"string"==typeof t&&t.startsWith("bin:")&&(t=pg(t)),t}list(){return Ou(this,void 0,void 0,function*(){var e;const t={REQUEST:{USER_NAME:null!==(e=this.kvStorageConfig.authEmail)&&void 0!==e?e:this.user.userName}},i=yield this.connect.request(WL.REQ_KEY_VALUE_LIST,t);if(i&&i.REPLY&&i.REPLY.length>0){return i.REPLY.map(e=>e.KEY)}return[]})}put(e){return Ou(this,void 0,void 0,function*(){const t={DETAILS:{RECORDS:e.map(e=>({KEY:e.key,VALUE:e.base64?mg(e.value):e.value}))}},i=yield this.connect.commitEvent(YL.EVENT_KEY_VALUE_PUT,t);return!(!i||"EVENT_ACK"!==i.MESSAGE_TYPE)||{ERROR:i.ERROR,WARNING:i.WARNING}})}};KL=Nu([Au(0,jx),Au(1,Oz),Au(2,vt(GL))],KL),ft.createInterface(e=>e.singleton(KL));class ZL{constructor(){this.isWorking=!1,this.loggedUserResult=null,this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject=new Rb(!1)}get isLoggedIn$(){return this.isLoggedInSubject.asObservable()}login(e){return Ou(this,void 0,void 0,function*(){return Promise.resolve(this.nextLoginResult)})}logout(){return Ou(this,void 0,void 0,function*(){return Promise.resolve(this.nextLogoutResult)})}reAuthFromSession(){return Ou(this,void 0,void 0,function*(){return Promise.resolve(this.nextReAuthResult)})}setTestUser(e={}){this.currentUser=new Az,this.currentUser.set(Object.assign({userName:"JaneDee",profile:["USER"],permission:["CreateRules"]},e)),this.isLoggedIn=!0,this.isLoggedInSubject.next(!0)}resetTestUser(){this.currentUser=null,this.isLoggedIn=!1,this.isLoggedInSubject.next(!1)}}Nu([g],ZL.prototype,"isWorking",void 0),Nu([g],ZL.prototype,"loggedUserResult",void 0),Nu([g],ZL.prototype,"currentUser",void 0),Nu([g],ZL.prototype,"isLoggedIn",void 0);class QL{constructor(){this.fetchMetadataRequired=!0,this.fetchingMetadata=!1,this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.customRequestFields=[],this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.criteriaOnlyRequest=!1}init(e,t){return Promise.resolve(this.initialized)}startStream(){return Promise.resolve()}setMetadata(e){var t,i,c;this.availableIndexes=null!==(t=e.INDEXES)&&void 0!==t?t:[],this.availableSortableFields=null!==(i=e.SORTABLE_FIELDS)&&void 0!==i?i:[],this.availableCriteriaFields=null!==(c=e.CRITERIA_FIELDS)&&void 0!==c?c:[],this.originalFieldDef=Pz(e),this.fieldMetadata=_z(this.originalFieldDef),this.requestFields=e.REQUEST_FIELD||[],this.customRequestFields=e.FIELD||[],this.fetchMetadataRequired=!1}unsetMedata(){this.availableIndexes=[],this.availableSortableFields=[],this.availableCriteriaFields=[],this.originalFieldDef=[],this.fieldMetadata=[],this.requestFields=[],this.fetchMetadataRequired=!0}setStream(e){this.stream=Sy(Promise.resolve(e))}unsetStream(){this.stream=void 0}deinit(){}destroy(){}validResourceName(e){return!!e&&!!e.trim().length}getMetadata(e){return Promise.resolve(this.fieldMetadata)}snapshot(e){return Promise.resolve(null)}snapshotFiltered(e){return Promise.resolve(null)}updateData(e){return Promise.resolve()}dataHandler(e){return[]}addView(e){}dropView(e){}setFilter(e,t,i){return Promise.resolve()}clearFilter(e){return Promise.resolve()}createItem(e){return Promise.resolve("")}deleteItem(e){return Promise.resolve()}updateItem(e,t){return Promise.resolve()}get dataserverOnlyParams(){return{}}get requestOnlyParams(){return{}}updateLoadMoreCount(e){}}Nu([g],QL.prototype,"status",void 0),Nu([g],QL.prototype,"fetchMetadataRequired",void 0),Nu([g],QL.prototype,"originalFieldDef",void 0),Nu([g],QL.prototype,"fieldMetadata",void 0),Nu([g],QL.prototype,"requestFields",void 0),Nu([g],QL.prototype,"customRequestFields",void 0),Nu([g],QL.prototype,"availableIndexes",void 0),Nu([g],QL.prototype,"availableSortableFields",void 0),Nu([g],QL.prototype,"availableCriteriaFields",void 0),Nu([g],QL.prototype,"criteriaOnlyRequest",void 0),ft.createInterface(e=>e.aliasTo(Oz));const XL=_m("foundation-ui");class JL extends(vL(qt)){constructor(){super(...arguments),this.withGridInit=!0,this.isSnapshot=!1,this.maxRows=pL.MAX_ROWS_250,this.maxView=pL.MAX_VIEW_1000,this.resourceName="",this.reverse=!1,this.rowId="ROW_REF",this.withTimestampFormatting=!0,this.requiresFullDataRefresh=!0,this.rowsSyncedWithStream=new Map,this.dataSubWasLoggedOff=!1,this.criteriaFromFilters=new Map,this.update=new Rb(new Map),this.fetchGeneration=0}criteriaChanged(e,t){const i=e!==SL(t,";");this.refetchIfInitializedAndChanged(i)}dataChanged(e){e&&(this.clearData(),this.reset())}requestChanged(e,t){const i=JSON.stringify(e)!==JSON.stringify(t);this.refetchIfInitializedAndChanged(i)}refetchIfInitializedAndChanged(e){this.datasource.initialized&&e&&this.fetchGenesisData(null)}set datasourceConfig(e){e&&Object.keys(e).forEach(t=>{void 0!==e[t]&&(this[t]=e[t])})}disconnectedCallback(){var e,t;super.disconnectedCallback(),this.clearData(),null===(e=this.dataSub)||void 0===e||e.unsubscribe(),null===(t=this.update)||void 0===t||t.unsubscribe(),delete this.dataSub,delete this.update,this.datasource.destroy(),delete this.datasource}reset(){this.requiresFullDataRefresh=!0,this.fetchGenesisData()}fetchGenesisData(){return Ou(this,arguments,void 0,function*(e=!0){var t;null===(t=this.dataSub)||void 0===t||t.unsubscribe(),this.dataSub=void 0,this.fetchGeneration+=1;const i=this.fetchGeneration,c=()=>i!==this.fetchGeneration;if(this.data)return void this.syncComponentData(this.data);const o=e||!this.datasource.initialized;o||(this.connect.dataLogoff(this.sourceRef),this.clearData());const s=yield this.datasource.init(this.datasourceOptions(),o);if(!c())if(s){if(this.isSnapshot){const e=yield this.datasource.snapshotFiltered();if(c())return;return void this.syncComponentData(e)}XL.debug(`requesting stream for ${this.resourceName}`),this.dataSub=this.datasource.stream.subscribe(e=>{if(c())return;e.DISCONNECTED&&this.handleError({message:`Genesis Datasource disconnected for ${this.resourceName}`,loggerType:"error"}),this.sourceRef=e.SOURCE_REF;const t=e.MESSAGE_TYPE;if(t&&t===aC.LOGOFF_ACK)this.dataSubWasLoggedOff=!0;else if(this.dataSubWasLoggedOff=!1,e.ROW){const t=fL(e);this.handleStreamUpdate(t)}else this.handleStreamUpdate(e)})}else this.handleError({message:`Genesis Datasource init failed for ${this.resourceName}`,loggerType:"error"})})}initDatasource(){return Ou(this,void 0,void 0,function*(){yield this.datasource.init(this.datasourceOptions(),!0)})}datasourceOptions(){return{criteria:this.buildCriteria(),fields:this.fields,isSnapshot:this.isSnapshot,orderBy:this.orderBy,resourceName:this.resourceName,request:this.request,reverse:this.reverse,maxRows:this.maxRows,maxView:this.maxView}}handleStreamUpdate(e){if(!e)return;e.hasOwnProperty("REPLY")?this.applyRequestServerData(e):this.applyDataserverData(e)}applyRequestServerData(e){var t,i;if(!Array.isArray(e.REPLY)||!(null===(t=e.MESSAGE_TYPE)||void 0===t?void 0:t.startsWith("REP_")))return void this.handleError({message:"received invalid RequestServerResult",loggerType:"error",loggerArgs:[e]});if(this.requiresFullDataRefresh){"ROW_REF"!==this.rowId&&(null===(i=e.REPLY)||void 0===i||i.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)}));const t=this.rowsSyncedWithStream.size>0?Array.from(this.rowsSyncedWithStream.values()):e.REPLY;return void this.syncComponentData(t)}this.handleStreamInserts(e.REPLY);const c=Array.from(this.rowsSyncedWithStream.values()).filter(t=>!e.REPLY.includes(t));this.handleStreamDeletes(c)}applyDataserverData(e){var t,i,c,o;if(this.requiresFullDataRefresh){null===(t=e.inserts)||void 0===t||t.forEach(e=>{this.rowsSyncedWithStream.set(e[this.rowId],e)});const i=Array.from(this.rowsSyncedWithStream.values());return void this.syncComponentData(i)}(null===(i=e.inserts)||void 0===i?void 0:i.length)>0&&this.handleStreamInserts(e.inserts),(null===(c=e.deletes)||void 0===c?void 0:c.length)>0&&this.handleStreamDeletes(e.deletes),(null===(o=e.updates)||void 0===o?void 0:o.length)>0&&this.handleStreamUpdates(e.updates)}buildCriteria(){var e;return SL(((null===(e=this.criteria)||void 0===e?void 0:e.split(";"))||[]).join(" && "),";")}setFilter(e,t){this.criteriaFromFilters.set(e,t),this.update.next(this.criteriaFromFilters)}removeFilter(e){this.criteriaFromFilters.delete(e),this.update.next(this.criteriaFromFilters)}handleError(e={}){const{message:t,loggerType:i,loggerArgs:c=[]}=e;t&&XL[i](t,...c)}getFieldMetadata(e){var t;return null===(t=this.datasource.fieldMetadata)||void 0===t?void 0:t.find(t=>t.name===e)}getDefaultLabelFormat(e,t){return t===Iz.DATE||t===Iz.DATETIME?Og(e,t===Iz.DATETIME):e}}Nu([jx],JL.prototype,"connect",void 0),Nu([ML],JL.prototype,"datasource",void 0),Nu([re({mode:"boolean"})],JL.prototype,"withGridInit",void 0),Nu([re],JL.prototype,"criteria",void 0),Nu([g],JL.prototype,"data",void 0),Nu([re],JL.prototype,"fields",void 0),Nu([re({mode:"boolean"})],JL.prototype,"isSnapshot",void 0),Nu([re],JL.prototype,"maxRows",void 0),Nu([re],JL.prototype,"maxView",void 0),Nu([re],JL.prototype,"orderBy",void 0),Nu([re],JL.prototype,"request",void 0),Nu([re],JL.prototype,"resourceName",void 0),Nu([re({mode:"boolean"})],JL.prototype,"reverse",void 0),Nu([re],JL.prototype,"rowId",void 0),Nu([re({mode:"boolean",attribute:"with-timestamp-formatting"})],JL.prototype,"withTimestampFormatting",void 0);const eM=(e,t)=>!e.composedPath().includes(t),tM=(e,t)=>e.composedPath().includes(t),iM=e=>e.tagName.toLowerCase().split("-")[0];const cM=_m("foundation-criteria");var oM;!function(e){e.AND="&&",e.OR="||",e.NOT="!",e.GT=">",e.GE=">=",e.LT="<",e.LE="<=",e.NE="!=",e.EQ="=="}(oM||(oM={}));class sM{constructor(e){this.$$operator=e}static And(){return new sM(oM.AND)}static Or(){return new sM(oM.OR)}static Not(){return new sM(oM.NOT)}static GreaterThan(){return new sM(oM.GT)}static GreaterThanOrEqual(){return new sM(oM.GE)}static LessThan(){return new sM(oM.LT)}static LessThanOrEqual(){return new sM(oM.LE)}static NotEqual(){return new sM(oM.NE)}static Equal(){return new sM(oM.EQ)}get operator(){return this.$$operator}}const nM=e=>{const{value:t}=e;return e.valueGetter?e.valueGetter(t):"function"==typeof t?t(e):Array.isArray(t)?t.join(","):"string"==typeof t?`"${t}"`:t},aM=e=>t=>`${t.field} ${e} ${nM(t)}`,rM={AND:e=>aM(oM.AND)(e),OR:e=>aM(oM.OR)(e),NOT:e=>aM(oM.NOT)(e),GT:e=>aM(oM.GT)(e),GE:e=>aM(oM.GE)(e),LT:e=>aM(oM.LT)(e),LE:e=>aM(oM.LE)(e),NE:e=>aM(oM.NE)(e),EQ:e=>aM(oM.EQ)(e),equals:e=>`${e.field}.equals(${nM(e)})`,equalsIgnoreCase:e=>`${e.field}.equalsIgnoreCase(${nM(e)})`,contains:e=>`Expr.contains(${e.field}, ${nM(e)})`,fieldContains:e=>`${e.field}.contains(${nM(e)})`,containsIgnoreCase:e=>`Expr.containsIgnoreCase(${e.field}, ${nM(e)})`,startsWith:e=>`${e.field}.startsWith(${nM(e)})`,endsWith:e=>`${e.field}.endsWith(${nM(e)})`,dateIsToday:e=>`Expr.dateIsToday(${e.field})`,dateIsEqual:e=>`Expr.dateIsEqual(${e.field}, ${nM(e)})`,dateIsGreaterEqual:e=>`Expr.dateIsGreaterEqual(${e.field}, ${nM(e)})`,dateIsLessEqual:e=>`Expr.dateIsLessEqual(${e.field}, ${nM(e)})`,dateTimeIsGreaterEqual:e=>`Expr.dateTimeIsGreaterEqual(${e.field}, ${nM(e)})`,dateTimeIsLessEqual:e=>`Expr.dateTimeIsLessEqual(${e.field}, ${nM(e)})`},lM=e=>Array.isArray(e)?e:[e],dM="default";class hM{constructor(){this.expressions={},this.And=(e,t={})=>this.withExpression(e,t,sM.And()),this.Or=(e,t={})=>this.withExpression(e,t,sM.Or()),this.Not=(e,t={})=>this.withExpression(e,t,sM.Not())}withExpression(e,t={},i=sM.And()){const{condition:c,join:o,groupName:s}=t,n=(e,t=dM)=>{var s;const n=null!==(s=this.expressions[t])&&void 0!==s?s:[];this.expressions[t]=[...n,{join:i||o,condition:c,expression:e}]};if(Array.isArray(e))if(o){const t=e.filter(e=>{const t=e instanceof sM;return t&&cM.warn("Inline joins will be discarded when join is defined in ExpressionOptions"),!t});if(s)t.forEach(e=>{n(e,s)});else{const e=(a=o,t.flat().flatMap((e,t,i)=>i.length-1!==t?[e,a]:e));n(e,dM)}}else n(e,dM);else n(e,"string"==typeof e?dM:e.group);var a;return this}build(e){const t=Object.entries(this.expressions).reduce((e,[t,i])=>Object.assign(Object.assign({},e),{[t]:`(${i.filter(({condition:e})=>!e||e()).map(({expression:e,join:t},i,c)=>this.parseExpression(e,c[i-1],t)).join("")})`}),{});return e?e(t):`(${Object.values(t).join(" && ")})`}reset(){this.expressions={}}parseExpression(e,t,i){const c=[];return i&&t&&c.push(` ${i.operator} `),"string"==typeof e?c.push(e):Array.isArray(e)?(e.forEach((e,t,i)=>{if(e instanceof sM){if(i[t-1]instanceof sM)throw new Error("Adjacent Join operations detected")}}),c.push(`(${e.map(e=>this.parseExpression(e,void 0)).join("")})`)):e instanceof sM?c.push(` ${e.operator} `):e&&c.push(e.serialiser(e)),c.join("")}}class uM{constructor(e){this.serialiser=rM.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}}let fM=class extends be{constructor(){super(...arguments),this.criteriaOptions=[],this.createCriteria=e=>{const t=new hM,{field:i,serialiser:c,value:o}=e;return Array.isArray(i)||Array.isArray(o)?t.And(lM(o).map(e=>lM(i).map(t=>(new uM).withField(t).withValue(e).withSerialiser(c).build())),{join:sM.Or()}):t.And((new uM).withField(i).withValue(o).withSerialiser(c).build()),t}}valueChanged(){this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}selectedLabelChanged(){const e=this.criteriaOptions.find(e=>e.label===this.selectedLabel);this.value=e?this.createCriteria(e).build():""}itemClickHandler(e){this.selectedLabel===e&&(this.selectedLabel=void 0)}};function pM(e,t){var i;const c=new hM;c.withExpression((new uM).withField(null!==(i=e.labelField)&&void 0!==i?i:e.valueField).withValue(t).withSerialiser(rM.containsIgnoreCase).build()),e.baseCriteria?e.criteria=`${e.baseCriteria} && ${c.build()}`:e.criteria=c.build()}Nu([g],fM.prototype,"criteriaOptions",void 0),Nu([g],fM.prototype,"prefix",void 0),Nu([g],fM.prototype,"value",void 0),Nu([g],fM.prototype,"selectedLabel",void 0),fM=Nu([ye({name:"criteria-segmented-control",template:((e="rapid")=>W`<${e}-segmented-control :value="${hg(e=>e.selectedLabel)}"><slot name="label" slot='label'></slot>${qe(e=>e.criteriaOptions,W`<${e}-segmented-item @click=${(e,t)=>t.parent.itemClickHandler(e.label)}value=${e=>e.label}>${e=>e.label}</${e}-segmented-item>`)}</${e}-segmented-control>`)(),styles:xe``})],fM);const mM=(e,t,i)=>W`<${t}-icon tooltip="${()=>e}" name="${()=>i}"></${t}-icon>`,gM=e=>W`<${e}-button id="actiosnMenuTrigger" class="actions-opener${e=>e.open?" opened":""}" appearance="${e=>e.buttonAppearance}" part="actions-opener" @click=${e=>e.toggleActionsMenuVisibility()}>${e=>e.open?"✖":W` ${e.name} `}</${e}-button><${e}-menu ${Ie("actionsMenu")}class="actions-menu ${e=>e.classNames}" part="actions-menu">${qe(e=>e.allActions,W` ${_e((e,t)=>e.isDisabled&&e.isDisabled(t.parent.rowData),W`<${e}-menu-item class="menu-item" tabindex="${(e,t)=>t.index}" disabled style=${(e,t)=>t.parent.hideDisabled?"display:none":""}>${(e,t)=>t.parent.getLabel(e.name)}</${e}-menu-item>`)} ${_e((e,t)=>!e.isDisabled||!e.isDisabled(t.parent.rowData),W`<${e}-menu-item class="menu-item" tabindex="${(e,t)=>t.index}" @click=${(e,t)=>t.parent.onActionMenuItemClick(e.callback)}style="${e=>e.color?`color: ${e.color};`:""}">${(e,t)=>t.parent.getLabel(e.name)}</${e}-menu-item>`)} `,{positioning:!0})}</${e}-menu>`,vM=W`<div class="actions-container${e=>e.isVertical?" actions-vertical":""}" part="actions-container">${e=>e.getTemplate(iM(e))}</div>`;class bM extends qt{constructor(){super(...arguments),this.isVertical=!1,this.addDefaultActions=!0,this.autoCloseOnAction=!0,this.name="Actions",this.open=!1,this.hideDisabled=!1,this.hideMenuSingleOption=!1}definitionChanged(e,t){var i;this.actions=null!==(i=null==t?void 0:t.actions)&&void 0!==i?i:[],delete this.definition.actions,t.buttonText&&(this.name=t.buttonText,delete this.definition.customButtonText),t.isVertical&&(this.isVertical=t.isVertical,delete this.definition.isVertical),t.buttonAppearance&&(this.buttonAppearance=t.buttonAppearance,delete this.definition.buttonAppearance),t.hideMenuSingleOption&&(this.hideMenuSingleOption=t.hideMenuSingleOption,delete this.definition.hideMenuSingleOption)}openChanged(){this.classNames=Jt(["visible",this.open],["hidden",!this.open])}toggleActionsMenuVisibility(){this.open=!this.open}onActionMenuItemClick(e){this.autoCloseOnAction&&(this.open=!1),e(this.rowData)}get allActions(){var e;const t=[{name:"✖",callback:()=>this.open=!1}];return this.addDefaultActions?[...null!==(e=this.actions)&&void 0!==e?e:[],...t]:this.actions}get rowData(){if(!this.definition)return;const{node:e,data:t}=this.definition;return(null==e?void 0:e.data)||t}getLabel(e){return"function"==typeof e?e(this.rowData):e}getTemplate(e){if(!this.hideMenuSingleOption)return gM(e);const t=this.actions.filter(e=>!e.isDisabled||!e.isDisabled(this.rowData));return this.singleOption=null,0!==t.length?1===t.length?(this.singleOption=t[0],(e=>W`<${e}-button appearance="${e=>e.buttonAppearance}" part="actions-opener" class="actions-opener" @click=${e=>null==e?void 0:e.singleOption.callback(e.rowData)}?disabled=${e=>(null==e?void 0:e.singleOption.isDisabled)&&(null==e?void 0:e.singleOption.isDisabled(e.rowData))}>${e=>e.getLabel(null==e?void 0:e.singleOption.name)}</${e}-button>`)(e)):gM(e):void 0}}Nu([g],bM.prototype,"actions",void 0),Nu([re({attribute:"is-vertical",mode:"boolean"})],bM.prototype,"isVertical",void 0),Nu([re({attribute:"add-default-actions",mode:"boolean"})],bM.prototype,"addDefaultActions",void 0),Nu([re({attribute:"auto-close-on-action",mode:"boolean"})],bM.prototype,"autoCloseOnAction",void 0),Nu([g],bM.prototype,"classNames",void 0),Nu([g],bM.prototype,"definition",void 0),Nu([re],bM.prototype,"name",void 0),Nu([re({attribute:"open",mode:"boolean"})],bM.prototype,"open",void 0),Nu([re],bM.prototype,"buttonAppearance",void 0),Nu([re({attribute:"hide-disabled",mode:"boolean"})],bM.prototype,"hideDisabled",void 0),Nu([re({attribute:"hide-menu-single-option",mode:"boolean"})],bM.prototype,"hideMenuSingleOption",void 0),Nu([g],bM.prototype,"singleOption",void 0),bM.compose({baseName:"actions-menu",styles:(e,t)=>xe` ${wu()}`,template:vM});let yM=!1;try{"undefined"!=typeof GENX_ENABLE_AI&&(yM="true"===GENX_ENABLE_AI)}catch(DL){}const zM=()=>yM||gg("ai");function CM(){return"undefined"!=typeof window&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window)}_m("foundation-ai");class xM{getStatus(){return Ou(this,void 0,void 0,function*(){return{provider:"none",model:""}})}interpretCriteria(e,t){return Ou(this,void 0,void 0,function*(){return null})}}class LM{constructor(){this.noopProvider=new xM}get(e){return e===LM.DEFAULT_NAME?this.noopProvider:void 0}default(){return this.noopProvider}defaultName(){return LM.DEFAULT_NAME}names(){return[LM.DEFAULT_NAME]}getStatus(e){return Ou(this,void 0,void 0,function*(){var t,i,c;return void 0!==e&&e!==LM.DEFAULT_NAME?null:null!==(c=yield null===(i=(t=this.noopProvider).getStatus)||void 0===i?void 0:i.call(t))&&void 0!==c?c:null})}listStatuses(){return Ou(this,void 0,void 0,function*(){var e,t,i;const c=null!==(i=yield null===(t=(e=this.noopProvider).getStatus)||void 0===t?void 0:t.call(e))&&void 0!==i?i:null;return[{name:LM.DEFAULT_NAME,isDefault:!0,status:c}]})}}LM.DEFAULT_NAME="default";const MM=ft.createInterface(e=>e.singleton(LM)),wM=xe` :host{display: block;width: 800px}.ai-criteria-search{display: flex;flex-direction: column;gap: calc(${hr} * 2px)}.ai-criteria-search-row{display: flex;flex-direction: row;gap: calc(${hr} * 2px);align-items: center}.criteria-input{height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);flex: 1;min-width: 0}.criteria-chips-inline{height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);flex: 1;min-width: 0;display: flex;align-items: center;gap: calc(${hr} * 1px);overflow-x: auto;padding: 0 calc(${hr} * 2px);background: var(--neutral-fill-input-rest);border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);border-radius: calc(var(--control-corner-radius) * 1px);scrollbar-width: none}.criteria-chips-inline::-webkit-scrollbar{display: none}.mic-icon{color: var(--neutral-foreground-rest);fill: currentColor}.criteria-toggle-button, .criteria-clear-button{flex-shrink: 0}.criteria-chip{display: inline-flex;align-items: center;flex-shrink: 0;gap: calc(${hr} * 1px);padding: calc(${hr} * 0.5px) calc(${hr} * 2px);background: var(--neutral-fill-rest);border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);border-radius: calc(${hr} * 4px);font-size: var(--type-ramp-minus-1-font-size);color: var(--neutral-foreground-rest);white-space: nowrap}.criteria-chip-field{font-weight: 600}.criteria-chip-operator{color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));font-style: italic}.criteria-chip-remove{display: inline-flex;align-items: center;justify-content: center;width: 14px;height: 14px;padding: 0;margin-left: calc(${hr} * 0.5px);background: none;border: none;cursor: pointer;color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));font-size: 10px;border-radius: 50%;line-height: 1}.criteria-chip-remove:hover{background: var(--neutral-fill-hover);color: var(--neutral-foreground-rest)}`,SM=W` ${e=>(e=>W` ${_e(()=>zM(),W`<div class="ai-criteria-search"><div class="ai-criteria-search-row">${_e(e=>!e.showingChips,W`<${e}-text-area ${Ie("textAreaRef")}class="criteria-input" placeholder="${e=>e.placeholder}" ?disabled=${e=>e.disabled||e.isInterpreting}:value=${hg(e=>e.inputValue,"string","input")}@blur=${e=>e.handleBlur()}rows="1"></${e}-text-area>`)} ${_e(e=>e.showingChips,W`<div class="criteria-chips-inline">${qe(e=>e.criteriaChips,W`<span class="criteria-chip"><span class="criteria-chip-field">${e=>e.fieldLabel}</span><span class="criteria-chip-operator">${e=>e.operatorLabel}</span>${_e(e=>!!e.valueLabel,W`<span class="criteria-chip-value">${e=>e.valueLabel}</span>`)}<button class="criteria-chip-remove" aria-label="Remove filter" @click=${(e,t)=>t.parent.removeChip(e.groupIndex,e.clauseIndex)}>
58
58
  &#x2715;