PageSourceSearch

https://visitqatar.com/etc.clientlibs/visitqatar/clientlibs/genera…t.lc-56cdb96afde836cf749f797fb6541d0c-lc.js

js visitqatar.com collected 2026-09-24 18:18:49 UTC 285,813 bytes, 2 lines download raw bytes

1/*! For license information please see account-1e3f43e518deed5cbea2.js.LICENSE.txt */
2!function(){"use strict";var e,t,n={4759:function(e,t,n){n.d(t,{k:function(){return r}});class r{constructor(){this.cache=new Map}getItem(e){return this.cache.get(e)||null}setItem(e,t){this.cache.set(e,t)}removeItem(e){this.cache.delete(e)}getKeys(){const e=[];return this.cache.forEach(((t,n)=>{e.push(n)})),e}containsKey(e){return this.cache.has(e)}clear(){this.cache.clear()}}},9222:function(e,t,n){n.d(t,{Is:function(){return A},_7:function(){return k}});var r=n(9279),o=n(166),i=n(1105),s=n(354),a=n(1796),c=n(5385),h=n(7752);const l={sendGetRequestAsync:()=>Promise.reject((0,c.zP)(h.M2)),sendPostRequestAsync:()=>Promise.reject((0,c.zP)(h.M2))};var u=n(177);class d{startMeasurement(){}endMeasurement(){}flushMeasurement(){return null}}class g{generateId(){return"callback-id"}startMeasurement(e,t){return{end:()=>null,discard:()=>{},add:()=>{},increment:()=>{},event:{eventId:this.generateId(),status:u.$L.InProgress,authority:"",libraryName:"",libraryVersion:"",clientId:"",name:e,startTimeMs:Date.now(),correlationId:t||""},measurement:new d}}startPerformanceMeasurement(){return new d}calculateQueuedTime(){return 0}addQueueMeasurement(){}setPreQueueTime(){}endMeasurement(){return null}discardMeasurements(){}removePerformanceCallback(){return!0}addPerformanceCallback(){return""}emitEvents(){}addFields(){}incrementFields(){}cacheEventByCorrelationId(){}}var p=n(7115),m=n(2506),f=n(2979);class C{navigateInternal(e,t){return C.defaultNavigateWindow(e,t)}navigateExternal(e,t){return C.defaultNavigateWindow(e,t)}static defaultNavigateWindow(e,t){return t.noHistory?window.location.replace(e):window.location.assign(e),new Promise((e=>{setTimeout((()=>{e(!0)}),t.timeout)}))}}var _=n(4133),y=n(619);class T{async sendGetRequestAsync(e,t){let n;try{n=await fetch(e,{method:f.EC.GET,headers:this.getFetchHeaders(t)})}catch(e){throw window.navigator.onLine?(0,_.Z_)(y.C8):(0,_.Z_)(y.Mq)}try{return{headers:this.getHeaderDict(n.headers),body:await n.json(),status:n.status}}catch(e){throw(0,_.Z_)(y.w6)}}async sendPostRequestAsync(e,t){const n=t&&t.body||r.gT.EMPTY_STRING;let o;try{o=await fetch(e,{method:f.EC.POST,headers:this.getFetchHeaders(t),body:n})}catch(e){throw window.navigator.onLine?(0,_.Z_)(y.Dc):(0,_.Z_)(y.Mq)}try{return{headers:this.getHeaderDict(o.headers),body:await o.json(),status:o.status}}catch(e){throw(0,_.Z_)(y.w6)}}getFetchHeaders(e){const t=new Headers;if(!e||!e.headers)return t;const n=e.headers;return Object.keys(n).forEach((e=>{t.append(e,n[e])})),t}getHeaderDict(e){const t={};return e.forEach(((e,n)=>{t[n]=e})),t}}const v=6e4,A=1e4,I=3e4,w=2e3;function k({auth:e,cache:t,system:n,telemetry:c},h){const u={clientId:r.gT.EMPTY_STRING,authority:`${r.gT.DEFAULT_AUTHORITY}`,knownAuthorities:[],cloudDiscoveryMetadata:r.gT.EMPTY_STRING,authorityMetadata:r.gT.EMPTY_STRING,redirectUri:r.gT.EMPTY_STRING,postLogoutRedirectUri:r.gT.EMPTY_STRING,navigateToLoginRequestUrl:!0,clientCapabilities:[],protocolMode:o.A.AAD,OIDCOptions:{serverResponseType:r.rg.FRAGMENT,defaultScopes:[r.gT.OPENID_SCOPE,r.gT.PROFILE_SCOPE,r.gT.OFFLINE_ACCESS_SCOPE]},azureCloudOptions:{azureCloudInstance:i.z.None,tenant:r.gT.EMPTY_STRING},skipAuthorityMetadataCache:!1,supportsNestedAppAuth:!1},d={cacheLocation:f.Ix.SessionStorage,temporaryCacheLocation:f.Ix.SessionStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!(!t||t.cacheLocation!==f.Ix.LocalStorage),claimsBasedCachingEnabled:!1},_={loggerCallback:()=>{},logLevel:s.i.Info,piiLoggingEnabled:!1},y={...{...a.z,loggerOptions:_,networkClient:h?new T:l,navigationClient:new C,loadFrameTimeout:0,windowHashTimeout:n?.loadFrameTimeout||v,iframeHashTimeout:n?.loadFrameTimeout||A,navigateFrameWait:0,redirectNavigationTimeout:I,asyncPopups:!1,allowRedirectInIframe:!1,allowNativeBroker:!1,nativeBrokerHandshakeTimeout:n?.nativeBrokerHandshakeTimeout||w,pollIntervalMilliseconds:f.qx.DEFAULT_POLL_INTERVAL_MS},...n,loggerOptions:n?.loggerOptions||_},k={application:{appName:r.gT.EMPTY_STRING,appVersion:r.gT.EMPTY_STRING},client:new g};
2if(e?.protocolMode!==o.A.OIDC&&e?.OIDCOptions){new s.Y(y.loggerOptions).warning(JSON.stringify((0,p.ei)(m.qz)))}if(e?.protocolMode&&e.protocolMode!==o.A.AAD&&y?.allowNativeBroker)throw(0,p.ei)(m.Ol);return{auth:{...u,...e,OIDCOptions:{...u.OIDCOptions,...e?.OIDCOptions}},cache:{...d,...t},system:y,telemetry:{...k,...c}}}},6709:function(e,t,n){n.r(t),n.d(t,{StandardController:function(){return ct}});var r=n(5830),o=n(9566),i=n(3301),s=n(177),a=n(8892),c=n(9279),h=n(5152),l=n(536),u=n(5385),d=n(7752),g=n(6161),p=n(4016),m=n(1335),f=n(2548);class C{generateAppMetadataKey(){return C.generateAppMetadataCacheKey(this.environment,this.clientId)}static generateAppMetadataCacheKey(e,t){return[c.dg,e,t].join(c.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}static createAppMetadataEntity(e,t,n){const r=new C;return r.clientId=e,r.environment=t,n&&(r.familyId=n),r}static isAppMetadataEntity(e,t){return!!t&&(0===e.indexOf(c.dg)&&t.hasOwnProperty("clientId")&&t.hasOwnProperty("environment"))}}var _=n(6342);class y{static isThrottlingEntity(e,t){let n=!1;e&&(n=0===e.indexOf(c.bb.THROTTLING_PREFIX));let r=!0;return t&&(r=t.hasOwnProperty("throttleTime")),n&&r}}var T=n(6159);class v{static setRequestState(e,t,n){const r=v.generateLibraryState(e,n);return t?`${r}${c.gT.RESOURCE_DELIM}${t}`:r}static generateLibraryState(e,t){if(!e)throw(0,u.zP)(d.QL);const n={id:e.createNewGuid()};t&&(n.meta=t);const r=JSON.stringify(n);return e.base64Encode(r)}static parseRequestState(e,t){if(!e)throw(0,u.zP)(d.QL);if(!t)throw(0,u.zP)(d.r8);try{const n=t.split(c.gT.RESOURCE_DELIM),r=n[0],o=n.length>1?n.slice(1).join(c.gT.RESOURCE_DELIM):c.gT.EMPTY_STRING,i=e.base64Decode(r),s=JSON.parse(i);return{userRequestState:o||c.gT.EMPTY_STRING,libraryState:s}}catch(e){throw(0,u.zP)(d.r8)}}}const A="home_account_id",I="UPN";var w=n(6831);class k{constructor(e,t,n,r,o){this.account=e||null,this.idToken=t||null,this.accessToken=n||null,this.refreshToken=r||null,this.appMetadata=o||null}}var E=n(4133),S=n(2979);const R="storage_not_supported",b="stubbed_public_client_application_called",O="in_mem_redirect_unavailable",P={[R]:"Given storage configuration option was not supported.",[b]:"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors",[O]:"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true."};class N extends l.l4{constructor(e,t){super(e,t),this.name="BrowserConfigurationAuthError",Object.setPrototypeOf(this,N.prototype)}}function M(e){return new N(e,P[e])}class q{constructor(e){this.validateWindowStorage(e),this.windowStorage=window[e]}validateWindowStorage(e){if(e!==S.Ix.LocalStorage&&e!==S.Ix.SessionStorage||!window[e])throw M(R)}getItem(e){return this.windowStorage.getItem(e)}setItem(e,t){this.windowStorage.setItem(e,t)}removeItem(e){this.windowStorage.removeItem(e)}getKeys(){return Object.keys(this.windowStorage)}containsKey(e){return this.windowStorage.hasOwnProperty(e)}}var L=n(4759);function H(e,t){if(!t)return null;try{return v.parseRequestState(e,t).libraryState.meta}catch(e){throw(0,u.zP)(d.r8)}}var U=n(1237),D=n(1259),x=n(619);class K extends m.L{constructor(e,t,n,r,o){super(e,n,r,o),this.COOKIE_LIFE_MULTIPLIER=864e5,this.cacheConfig=t,this.logger=r,this.internalStorage=new L.k,this.browserStorage=this.setupBrowserStorage(this.cacheConfig.cacheLocation),this.temporaryCacheStorage=this.setupTemporaryCacheStorage(this.cacheConfig.temporaryCacheLocation,this.cacheConfig.cacheLocation),t.cacheMigrationEnabled&&(this.migrateCacheEntries(),this.createKeyMaps())}setupBrowserStorage(e){switch(e){case S.Ix.LocalStorage:case S.Ix.SessionStorage:try{return new q(e)}catch(e){this.logger.verbose(e);break}}return this.cacheConfig.cacheLocation=S.Ix.MemoryStorage,new L.k}setupTemporaryCacheStorage(e,t){switch(t){case S.Ix.LocalStorage:case S.Ix.SessionStorage:try{return new q(e||S.Ix.SessionStorage)}catch(e){return this.logger.verbose(e),this.internalStorage}case S.Ix.MemoryStorage:default:return this.internalStorage}}migrateCacheEntries(){const e=`${c.gT.CACHE_PREFIX}.${c.Vi.ID_TOKEN}`,t=`${c.gT.CACHE_PREFIX}.${c.Vi.CLIENT_INFO}`,n=`${c.gT.CACHE_PREFIX}.${c.Vi.ERROR}`,r=`${c.gT.CACHE_PREFIX}.${c.Vi.ERROR_DESC}`,o=[this.browserStorage.getItem(e),this.browserStorage.getItem(t),this.browserStorage.getItem(n),this.browserStorage.getItem(r)];[c.Vi.ID_TOKEN,c.Vi.CLIENT_INFO,c.Vi.ERROR,c.Vi.ERROR_DESC].forEac
2h(((e,t)=>this.migrateCacheEntry(e,o[t])))}migrateCacheEntry(e,t){t&&this.setTemporaryCache(e,t,!0)}createKeyMaps(){this.logger.trace("BrowserCacheManager - createKeyMaps called.");const e=this.getItem(S.Oq.ACCOUNT_KEYS),t=this.getItem(`${S.Oq.TOKEN_KEYS}.${this.clientId}`);if(e&&t)return void this.logger.verbose("BrowserCacheManager:createKeyMaps - account and token key maps already exist, skipping migration.");this.browserStorage.getKeys().forEach((e=>{if(this.isCredentialKey(e)){const t=this.getItem(e);if(t){const n=this.validateAndParseJson(t);if(n&&n.hasOwnProperty("credentialType"))switch(n.credentialType){case c.d3.ID_TOKEN:if(f.Bq(n)){this.logger.trace("BrowserCacheManager:createKeyMaps - idToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - idToken with key: ${e} found, saving key to token key map`);const t=n,r=this.updateCredentialCacheKey(e,t);return void this.addTokenKey(r,c.d3.ID_TOKEN)}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching idToken schema with value containing idToken credentialType field but value failed IdTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed idToken validation on key: ${e}`);break;case c.d3.ACCESS_TOKEN:case c.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME:if(f.Om(n)){this.logger.trace("BrowserCacheManager:createKeyMaps - accessToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - accessToken with key: ${e} found, saving key to token key map`);const t=n,r=this.updateCredentialCacheKey(e,t);return void this.addTokenKey(r,c.d3.ACCESS_TOKEN)}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching accessToken schema with value containing accessToken credentialType field but value failed AccessTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed accessToken validation on key: ${e}`);break;case c.d3.REFRESH_TOKEN:if(f.x4(n)){this.logger.trace("BrowserCacheManager:createKeyMaps - refreshToken found, saving key to token key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - refreshToken with key: ${e} found, saving key to token key map`);const t=n,r=this.updateCredentialCacheKey(e,t);return void this.addTokenKey(r,c.d3.REFRESH_TOKEN)}this.logger.trace("BrowserCacheManager:createKeyMaps - key found matching refreshToken schema with value containing refreshToken credentialType field but value failed RefreshTokenEntity validation, skipping."),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed refreshToken validation on key: ${e}`)}}}if(this.isAccountKey(e)){const t=this.getItem(e);if(t){const n=this.validateAndParseJson(t);n&&g.r.isAccountEntity(n)&&(this.logger.trace("BrowserCacheManager:createKeyMaps - account found, saving key to account key map"),this.logger.tracePii(`BrowserCacheManager:createKeyMaps - account with key: ${e} found, saving key to account key map`),this.addAccountKeyToMap(e))}}}))}validateAndParseJson(e){try{const t=JSON.parse(e);return t&&"object"==typeof t?t:null}catch(e){return null}}getItem(e){return this.browserStorage.getItem(e)}setItem(e,t){this.browserStorage.setItem(e,t)}getAccount(e,t){this.logger.trace("BrowserCacheManager.getAccount called");const n=this.getCachedAccountEntity(e);return this.updateOutdatedCachedAccount(e,n,t)}getCachedAccountEntity(e){const t=this.getItem(e);if(!t)return this.removeAccountKeyFromMap(e),null;const n=this.validateAndParseJson(t);return n&&g.r.isAccountEntity(n)?m.L.toObject(new g.r,n):(this.removeAccountKeyFromMap(e),null)}setAccount(e){this.logger.trace("BrowserCacheManager.setAccount called");const t=e.generateAccountKey();this.setItem(t,JSON.stringify(e)),this.addAccountKeyToMap(t)}getAccountKeys(){this.logger.trace("BrowserCacheManager.getAccountKeys called");const e=this.getItem(S.Oq.ACCOUNT_KEYS);return e?JSON.parse(e):(this.logger.verbose("BrowserCacheManager.getAccountKeys - No account keys found"),[])}addAccountKeyToMap(e){this.logger.trace("BrowserCacheManager.addAccountKeyToMap called"),this.logger.tracePii(`BrowserCacheManager.addAccountKeyToMap called with key: ${e}`);const t=this.getAccountKeys();-1===t.indexOf(e)?(t.push(e),this.setItem(S.Oq.ACCOUNT_KEYS,JSON.stringify(t)),this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key added")):this.logger.verbose("BrowserCacheManager.addAccountKeyToMap account key already exists in map")}removeAccountKeyFromMap(e){this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap called"),this.logger.tracePii(`BrowserCacheManager.removeAccountKeyFromMap called with key: ${e}`);const t=this.getAccountKeys(),n=t.indexOf(e);n>-1?(t.splice(n,1),this.setItem(S.Oq.ACCOUNT_KEYS,JSON.stringify(t)),this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap account key removed")):this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap ke
2y not found in existing map")}async removeAccount(e){super.removeAccount(e),this.removeAccountKeyFromMap(e)}removeOutdatedAccount(e){this.removeItem(e),this.removeAccountKeyFromMap(e)}removeIdToken(e){super.removeIdToken(e),this.removeTokenKey(e,c.d3.ID_TOKEN)}async removeAccessToken(e){super.removeAccessToken(e),this.removeTokenKey(e,c.d3.ACCESS_TOKEN)}removeRefreshToken(e){super.removeRefreshToken(e),this.removeTokenKey(e,c.d3.REFRESH_TOKEN)}getTokenKeys(){this.logger.trace("BrowserCacheManager.getTokenKeys called");const e=this.getItem(`${S.Oq.TOKEN_KEYS}.${this.clientId}`);if(e){const t=this.validateAndParseJson(e);if(t&&t.hasOwnProperty("idToken")&&t.hasOwnProperty("accessToken")&&t.hasOwnProperty("refreshToken"))return t;this.logger.error("BrowserCacheManager.getTokenKeys - Token keys found but in an unknown format. Returning empty key map.")}else this.logger.verbose("BrowserCacheManager.getTokenKeys - No token keys found");return{idToken:[],accessToken:[],refreshToken:[]}}addTokenKey(e,t){this.logger.trace("BrowserCacheManager addTokenKey called");const n=this.getTokenKeys();switch(t){case c.d3.ID_TOKEN:-1===n.idToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - idToken added to map"),n.idToken.push(e));break;case c.d3.ACCESS_TOKEN:-1===n.accessToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - accessToken added to map"),n.accessToken.push(e));break;case c.d3.REFRESH_TOKEN:-1===n.refreshToken.indexOf(e)&&(this.logger.info("BrowserCacheManager: addTokenKey - refreshToken added to map"),n.refreshToken.push(e));break;default:throw this.logger.error(`BrowserCacheManager:addTokenKey - CredentialType provided invalid. CredentialType: ${t}`),(0,u.zP)(d.cy)}this.setItem(`${S.Oq.TOKEN_KEYS}.${this.clientId}`,JSON.stringify(n))}removeTokenKey(e,t){this.logger.trace("BrowserCacheManager removeTokenKey called");const n=this.getTokenKeys();switch(t){case c.d3.ID_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove idToken with key: ${e} from map`);const r=n.idToken.indexOf(e);r>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - idToken removed from map"),n.idToken.splice(r,1)):this.logger.info("BrowserCacheManager: removeTokenKey - idToken does not exist in map. Either it was previously removed or it was never added.");break;case c.d3.ACCESS_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove accessToken with key: ${e} from map`);const o=n.accessToken.indexOf(e);o>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - accessToken removed from map"),n.accessToken.splice(o,1)):this.logger.info("BrowserCacheManager: removeTokenKey - accessToken does not exist in map. Either it was previously removed or it was never added.");break;case c.d3.REFRESH_TOKEN:this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove refreshToken with key: ${e} from map`);const i=n.refreshToken.indexOf(e);i>-1?(this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken removed from map"),n.refreshToken.splice(i,1)):this.logger.info("BrowserCacheManager: removeTokenKey - refreshToken does not exist in map. Either it was previously removed or it was never added.");break;default:throw this.logger.error(`BrowserCacheManager:removeTokenKey - CredentialType provided invalid. CredentialType: ${t}`),(0,u.zP)(d.cy)}this.setItem(`${S.Oq.TOKEN_KEYS}.${this.clientId}`,JSON.stringify(n))}getIdTokenCredential(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),this.removeTokenKey(e,c.d3.ID_TOKEN),null;const n=this.validateAndParseJson(t);return n&&f.Bq(n)?(this.logger.trace("BrowserCacheManager.getIdTokenCredential: cache hit"),n):(this.logger.trace("BrowserCacheManager.getIdTokenCredential: called, no cache hit"),this.removeTokenKey(e,c.d3.ID_TOKEN),null)}setIdTokenCredential(e){this.logger.trace("BrowserCacheManager.setIdTokenCredential called");const t=f.Mk(e);this.setItem(t,JSON.stringify(e)),this.addTokenKey(t,c.d3.ID_TOKEN)}getAccessTokenCredential(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),this.removeTokenKey(e,c.d3.ACCESS_TOKEN),null;const n=this.validateAndParseJson(t);return n&&f.Om(n)?(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: cache hit"),n):(this.logger.trace("BrowserCacheManager.getAccessTokenCredential: called, no cache hit"),this.removeTokenKey(e,c.d3.ACCESS_TOKEN),null)}setAccessTokenCredential(e){this.logger.trace("BrowserCacheManager.setAccessTokenCredential called");const t=f.Mk(e);this.setItem(t,JSON.stringify(e)),this.addTokenKey(t,c.d3.ACCESS_TOKEN)}getRefreshTokenCredential(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),this.removeTokenKey(e,c.d3.REFRESH_TOKEN),null;const n=this.validateAndParseJson(t);return n&&f.x4(n)?(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: cache hit"),n):(this.logger.trace("BrowserCacheManager.getRefreshTokenCredential: called, no cache hit"),this.removeTokenKey(e,c.d3.REFRESH_TOKEN),null)}setRefreshTokenCredential(e){this.logger.trace("BrowserCacheManager.setRefreshTokenCredential called");const t=f.Mk(e);this.setItem(t,JSON.stringify(e)),this.addTokenKey(t,c.d3.REFRESH_TOKEN)}getAppMetadata(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null;const n=this.validateAndParseJson(t);
2return n&&C.isAppMetadataEntity(e,n)?(this.logger.trace("BrowserCacheManager.getAppMetadata: cache hit"),m.L.toObject(new C,n)):(this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null)}setAppMetadata(e){this.logger.trace("BrowserCacheManager.setAppMetadata called");const t=e.generateAppMetadataKey();this.setItem(t,JSON.stringify(e))}getServerTelemetry(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&f.Js(e,n)?(this.logger.trace("BrowserCacheManager.getServerTelemetry: cache hit"),n):(this.logger.trace("BrowserCacheManager.getServerTelemetry: called, no cache hit"),null)}setServerTelemetry(e,t){this.logger.trace("BrowserCacheManager.setServerTelemetry called"),this.setItem(e,JSON.stringify(t))}getAuthorityMetadata(e){const t=this.internalStorage.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getAuthorityMetadata: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&_.l.isAuthorityMetadataEntity(e,n)?(this.logger.trace("BrowserCacheManager.getAuthorityMetadata: cache hit"),m.L.toObject(new _.l,n)):null}getAuthorityMetadataKeys(){return this.internalStorage.getKeys().filter((e=>this.isAuthorityMetadata(e)))}setWrapperMetadata(e,t){this.internalStorage.setItem(S.Bs.WRAPPER_SKU,e),this.internalStorage.setItem(S.Bs.WRAPPER_VER,t)}getWrapperMetadata(){return[this.internalStorage.getItem(S.Bs.WRAPPER_SKU)||c.gT.EMPTY_STRING,this.internalStorage.getItem(S.Bs.WRAPPER_VER)||c.gT.EMPTY_STRING]}setAuthorityMetadata(e,t){this.logger.trace("BrowserCacheManager.setAuthorityMetadata called"),this.internalStorage.setItem(e,JSON.stringify(t))}getActiveAccount(){const e=this.generateCacheKey(c.Vi.ACTIVE_ACCOUNT_FILTERS),t=this.getItem(e);if(!t){this.logger.trace("BrowserCacheManager.getActiveAccount: No active account filters cache schema found, looking for legacy schema");const e=this.generateCacheKey(c.Vi.ACTIVE_ACCOUNT),t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null;const n=this.getAccountInfoFilteredBy({localAccountId:t});return n?(this.logger.trace("BrowserCacheManager.getActiveAccount: Legacy active account cache schema found"),this.logger.trace("BrowserCacheManager.getActiveAccount: Adding active account filters cache schema"),this.setActiveAccount(n),n):null}const n=this.validateAndParseJson(t);return n?(this.logger.trace("BrowserCacheManager.getActiveAccount: Active account filters schema found"),this.getAccountInfoFilteredBy({homeAccountId:n.homeAccountId,localAccountId:n.localAccountId,tenantId:n.tenantId})):(this.logger.trace("BrowserCacheManager.getActiveAccount: No active account found"),null)}setActiveAccount(e){const t=this.generateCacheKey(c.Vi.ACTIVE_ACCOUNT_FILTERS),n=this.generateCacheKey(c.Vi.ACTIVE_ACCOUNT);if(e){this.logger.verbose("setActiveAccount: Active account set");const r={homeAccountId:e.homeAccountId,localAccountId:e.localAccountId,tenantId:e.tenantId};this.browserStorage.setItem(t,JSON.stringify(r)),this.browserStorage.setItem(n,e.localAccountId)}else this.logger.verbose("setActiveAccount: No account passed, active account not set"),this.browserStorage.removeItem(t),this.browserStorage.removeItem(n)}getThrottlingCache(e){const t=this.getItem(e);if(!t)return this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null;const n=this.validateAndParseJson(t);return n&&y.isThrottlingEntity(e,n)?(this.logger.trace("BrowserCacheManager.getThrottlingCache: cache hit"),m.L.toObject(new y,n)):(this.logger.trace("BrowserCacheManager.getThrottlingCache: called, no cache hit"),null)}setThrottlingCache(e,t){this.logger.trace("BrowserCacheManager.setThrottlingCache called"),this.setItem(e,JSON.stringify(t))}getTemporaryCache(e,t){const n=t?this.generateCacheKey(e):e;if(this.cacheConfig.storeAuthStateInCookie){const e=this.getItemCookie(n);if(e)return this.logger.trace("BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies"),e}const r=this.temporaryCacheStorage.getItem(n);if(!r){if(this.cacheConfig.cacheLocation===S.Ix.LocalStorage){const e=this.browserStorage.getItem(n);if(e)return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage"),e}return this.logger.trace("BrowserCacheManager.getTemporaryCache: No cache item found in local storage"),null}return this.logger.trace("BrowserCacheManager.getTemporaryCache: Temporary cache item returned"),r}setTemporaryCache(e,t,n){const r=n?this.generateCacheKey(e):e;this.temporaryCacheStorage.setItem(r,t),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie"),this.setItemCookie(r,t))}removeItem(e){this.browserStorage.removeItem(e),this.temporaryCacheStorage.removeItem(e),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"),this.clearItem
2Cookie(e))}containsKey(e){return this.browserStorage.containsKey(e)||this.temporaryCacheStorage.containsKey(e)}getKeys(){return[...this.browserStorage.getKeys(),...this.temporaryCacheStorage.getKeys()]}async clear(){await this.removeAllAccounts(),this.removeAppMetadata(),this.getKeys().forEach((e=>{!this.browserStorage.containsKey(e)&&!this.temporaryCacheStorage.containsKey(e)||-1===e.indexOf(c.gT.CACHE_PREFIX)&&-1===e.indexOf(this.clientId)||this.removeItem(e)})),this.internalStorage.clear()}async clearTokensAndKeysWithClaims(e){e.addQueueMeasurement(s.Ak.ClearTokensAndKeysWithClaims);const t=this.getTokenKeys(),n=[];t.accessToken.forEach((e=>{const t=this.getAccessTokenCredential(e);t?.requestedClaimsHash&&e.includes(t.requestedClaimsHash.toLowerCase())&&n.push(this.removeAccessToken(e))})),await Promise.all(n),n.length>0&&this.logger.warning(`${n.length} access tokens with claims in the cache keys have been removed from the cache.`)}setItemCookie(e,t,n){let r=`${encodeURIComponent(e)}=${encodeURIComponent(t)};path=/;SameSite=Lax;`;if(n){r+=`expires=${this.getCookieExpirationTime(n)};`}this.cacheConfig.secureCookies&&(r+="Secure;"),document.cookie=r}getItemCookie(e){const t=`${encodeURIComponent(e)}=`,n=document.cookie.split(";");for(let e=0;e<n.length;e++){let r=n[e];for(;" "===r.charAt(0);)r=r.substring(1);if(0===r.indexOf(t))return decodeURIComponent(r.substring(t.length,r.length))}return c.gT.EMPTY_STRING}clearMsalCookies(){const e=`${c.gT.CACHE_PREFIX}.${this.clientId}`;document.cookie.split(";").forEach((t=>{for(;" "===t.charAt(0);)t=t.substring(1);if(0===t.indexOf(e)){const e=t.split("=")[0];this.clearItemCookie(e)}}))}clearItemCookie(e){this.setItemCookie(e,c.gT.EMPTY_STRING,-1)}getCookieExpirationTime(e){const t=new Date;return new Date(t.getTime()+e*this.COOKIE_LIFE_MULTIPLIER).toUTCString()}getCache(){return this.browserStorage}setCache(){}generateCacheKey(e){return this.validateAndParseJson(e)?JSON.stringify(e):T.x.startsWith(e,c.gT.CACHE_PREFIX)||T.x.startsWith(e,c.Vi.ADAL_ID_TOKEN)?e:`${c.gT.CACHE_PREFIX}.${this.clientId}.${e}`}generateAuthorityKey(e){const{libraryState:{id:t}}=v.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${S.c4.AUTHORITY}.${t}`)}generateNonceKey(e){const{libraryState:{id:t}}=v.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${S.c4.NONCE_IDTOKEN}.${t}`)}generateStateKey(e){const{libraryState:{id:t}}=v.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${S.c4.REQUEST_STATE}.${t}`)}getCachedAuthority(e){const t=this.generateStateKey(e),n=this.getTemporaryCache(t);if(!n)return null;const r=this.generateAuthorityKey(n);return this.getTemporaryCache(r)}updateCacheEntries(e,t,n,r,o){this.logger.trace("BrowserCacheManager.updateCacheEntries called");const i=this.generateStateKey(e);this.setTemporaryCache(i,e,!1);const s=this.generateNonceKey(e);this.setTemporaryCache(s,t,!1);const a=this.generateAuthorityKey(e);if(this.setTemporaryCache(a,n,!1),o){const e={credential:o.homeAccountId,type:A};this.setTemporaryCache(S.c4.CCS_CREDENTIAL,JSON.stringify(e),!0)}else if(r){const e={credential:r,type:I};this.setTemporaryCache(S.c4.CCS_CREDENTIAL,JSON.stringify(e),!0)}}resetRequestCache(e){this.logger.trace("BrowserCacheManager.resetRequestCache called"),e&&(this.getKeys().forEach((t=>{-1!==t.indexOf(e)&&this.removeItem(t)})),this.removeItem(this.generateStateKey(e)),this.removeItem(this.generateNonceKey(e)),this.removeItem(this.generateAuthorityKey(e))),this.removeItem(this.generateCacheKey(S.c4.REQUEST_PARAMS)),this.removeItem(this.generateCacheKey(S.c4.ORIGIN_URI)),this.removeItem(this.generateCacheKey(S.c4.URL_HASH)),this.removeItem(this.generateCacheKey(S.c4.CORRELATION_ID)),this.removeItem(this.generateCacheKey(S.c4.CCS_CREDENTIAL)),this.removeItem(this.generateCacheKey(S.c4.NATIVE_REQUEST)),this.setInteractionInProgress(!1)}cleanRequestByState(e){if(this.logger.trace("BrowserCacheManager.cleanRequestByState called"),e){const t=this.generateStateKey(e),n=this.temporaryCacheStorage.getItem(t);this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${n}`),this.resetRequestCache(n||c.gT.EMPTY_STRING)}this.clearMsalCookies()}cleanRequestByInteractionType(e){this.logger.trace("BrowserCacheManager.cleanRequestByInteractionType called"),this.getKeys().forEac
2h((t=>{if(-1===t.indexOf(S.c4.REQUEST_STATE))return;const n=this.temporaryCacheStorage.getItem(t);if(!n)return;const r=H(this.cryptoImpl,n);r&&r.interactionType===e&&(this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${n}`),this.resetRequestCache(n))})),this.clearMsalCookies(),this.setInteractionInProgress(!1)}cacheCodeRequest(e){this.logger.trace("BrowserCacheManager.cacheCodeRequest called");const t=(0,D.h$)(JSON.stringify(e));this.setTemporaryCache(S.c4.REQUEST_PARAMS,t,!0)}getCachedRequest(e){this.logger.trace("BrowserCacheManager.getCachedRequest called");const t=this.getTemporaryCache(S.c4.REQUEST_PARAMS,!0);if(!t)throw(0,E.Z_)(x.QO);let n;try{n=JSON.parse((0,U.t)(t))}catch(e){throw this.logger.errorPii(`Attempted to parse: ${t}`),this.logger.error(`Parsing cached token request threw with error: ${e}`),(0,E.Z_)(x.e$)}if(this.removeItem(this.generateCacheKey(S.c4.REQUEST_PARAMS)),!n.authority){const t=this.generateAuthorityKey(e),r=this.getTemporaryCache(t);if(!r)throw(0,E.Z_)(x.dT);n.authority=r}return n}getCachedNativeRequest(){this.logger.trace("BrowserCacheManager.getCachedNativeRequest called");const e=this.getTemporaryCache(S.c4.NATIVE_REQUEST,!0);if(!e)return this.logger.trace("BrowserCacheManager.getCachedNativeRequest: No cached native request found"),null;const t=this.validateAndParseJson(e);return t||(this.logger.error("BrowserCacheManager.getCachedNativeRequest: Unable to parse native request"),null)}isInteractionInProgress(e){const t=this.getInteractionInProgress();return e?t===this.clientId:!!t}getInteractionInProgress(){const e=`${c.gT.CACHE_PREFIX}.${S.c4.INTERACTION_STATUS_KEY}`;return this.getTemporaryCache(e,!1)}setInteractionInProgress(e){const t=`${c.gT.CACHE_PREFIX}.${S.c4.INTERACTION_STATUS_KEY}`;if(e){if(this.getInteractionInProgress())throw(0,E.Z_)(x.Ck);this.setTemporaryCache(t,this.clientId,!1)}else e||this.getInteractionInProgress()!==this.clientId||this.removeItem(t)}getLegacyLoginHint(){const e=this.getTemporaryCache(c.Vi.ADAL_ID_TOKEN);e&&(this.browserStorage.removeItem(c.Vi.ADAL_ID_TOKEN),this.logger.verbose("Cached ADAL id token retrieved."));const t=this.getTemporaryCache(c.Vi.ID_TOKEN,!0);t&&(this.removeItem(this.generateCacheKey(c.Vi.ID_TOKEN)),this.logger.verbose("Cached MSAL.js v1 id token retrieved"));const n=t||e;if(n){const e=w.Z_(n,U.t);if(e.preferred_username)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint"),e.preferred_username;if(e.upn)return this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint"),e.upn;this.logger.verbose("No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.")}return null}updateCredentialCacheKey(e,t){const n=f.Mk(t);if(e!==n){const r=this.getItem(e);if(r)return this.removeItem(e),this.setItem(n,r),this.logger.verbose(`Updated an outdated ${t.credentialType} cache key`),n;this.logger.error(`Attempted to update an outdated ${t.credentialType} cache key but no item matching the outdated key was found in storage`)}return e}getRedirectRequestContext(){return this.getTemporaryCache(S.c4.REDIRECT_CONTEXT,!0)}setRedirectRequestContext(e){this.setTemporaryCache(S.c4.REDIRECT_CONTEXT,e,!0)}async hydrateCache(e,t){const n=f.Md(e.account?.homeAccountId,e.account?.environment,e.idToken,this.clientId,e.tenantId);let r;t.claims&&(r=await this.cryptoImpl.hashString(t.claims));const o=f.Ds(e.account?.homeAccountId,e.account.environment,e.accessToken,this.clientId,e.tenantId,e.scopes.join(" "),e.expiresOn?.getTime()||0,e.extExpiresOn?.getTime()||0,U.t,void 0,e.tokenType,void 0,t.sshKid,t.claims,r),i=new k(void 0,n,o);return this.saveCacheRecord(i)}}var B=n(8299);function F(){return window.parent!==window}function z(){return window.location.href.split("?")[0].split("#")[0]}function G(){if(B.G.hashContainsKnownProperties(window.location.hash)&&F())throw(0,E.Z_)(x.xO)}function $(){if("undefined"!=typeof window&&window.opener&&window.opener!==window&&"string"==typeof window.name&&0===window.name.indexOf(`${S.qx.POPUP_NAME_PREFIX}.`))throw(0,E.Z_)(x.bj)}function Q(e){if(!e)throw(0,E.Z_)(x.al)}function W(e){const t=document.createElement("link");
2t.rel="preconnect",t.href=new URL(e).origin,t.crossOrigin="anonymous",document.head.appendChild(t),window.setTimeout((()=>{try{document.head.removeChild(t)}catch{}}),1e4)}var j=n(882),Y=n(8896),V=n(2111);class J{static generateThrottlingStorageKey(e){return`${c.bb.THROTTLING_PREFIX}.${JSON.stringify(e)}`}static preProcess(e,t){const n=J.generateThrottlingStorageKey(t),r=e.getThrottlingCache(n);if(r){if(r.throttleTime<Date.now())return void e.removeItem(n);throw new V.n(r.errorCodes?.join(" ")||c.gT.EMPTY_STRING,r.errorMessage,r.subError)}}static postProcess(e,t,n){if(J.checkResponseStatus(n)||J.checkResponseForRetryAfter(n)){const r={throttleTime:J.calculateThrottleTime(parseInt(n.headers[c.SZ.RETRY_AFTER])),error:n.body.error,errorCodes:n.body.error_codes,errorMessage:n.body.error_description,subError:n.body.suberror};e.setThrottlingCache(J.generateThrottlingStorageKey(t),r)}}static checkResponseStatus(e){return 429===e.status||e.status>=500&&e.status<600}static checkResponseForRetryAfter(e){return!!e.headers&&(e.headers.hasOwnProperty(c.SZ.RETRY_AFTER)&&(e.status<200||e.status>=300))}static calculateThrottleTime(e){const t=e<=0?0:e,n=Date.now()/1e3;return Math.floor(1e3*Math.min(n+(t||c.bb.DEFAULT_THROTTLE_TIME_SECONDS),n+c.bb.DEFAULT_MAX_THROTTLE_TIME_SECONDS))}static removeThrottle(e,t,n,r){const o={clientId:t,authority:n.authority,scopes:n.scopes,homeAccountIdentifier:r,claims:n.claims,authenticationScheme:n.authenticationScheme,resourceRequestMethod:n.resourceRequestMethod,resourceRequestUri:n.resourceRequestUri,shrClaims:n.shrClaims,sshKid:n.sshKid},i=this.generateThrottlingStorageKey(o);e.removeItem(i)}}var Z=n(166),X=n(1796);class ee{constructor(e,t){this.networkClient=e,this.cacheManager=t}async sendPostRequest(e,t,n){let r;J.preProcess(this.cacheManager,e);try{r=await this.networkClient.sendPostRequestAsync(t,n)}catch(e){throw e instanceof l.l4?e:(0,u.zP)(d.EF)}return J.postProcess(this.cacheManager,e,r),r}}var te=n(354),ne=n(7564),re=n(4903),oe=n(6468),ie=n(7115),se=n(2506);class ae{static async createDiscoveredInstance(e,t,n,r,o,c,h){c?.addQueueMeasurement(s.Ak.AuthorityFactoryCreateDiscoveredInstance,h);const l=i.WU.transformCIAMAuthority((0,i.Dm)(e)),g=ae.createInstance(l,t,n,r,o,c,h);try{return await(0,a.i)(g.resolveEndpointsAsync.bind(g),s.Ak.AuthorityResolveEndpointsAsync,o,c,h)(),g}catch(e){throw(0,u.zP)(d.HO)}}static createInstance(e,t,n,r,o,s,a){if(!e)throw(0,ie.ei)(se.To);return new i.WU(e,t,n,r,o,s,a)}}class ce{constructor(e,t){this.config=(0,X.j6)(e),this.logger=new te.Y(this.config.loggerOptions,ne.u,ne.i),this.cryptoUtils=this.config.cryptoInterface,this.cacheManager=this.config.storageInterface,this.networkClient=this.config.networkInterface,this.networkManager=new ee(this.networkClient,this.cacheManager),this.serverTelemetryManager=this.config.serverTelemetryManager,this.authority=this.config.authOptions.authority,this.performanceClient=t}createTokenRequestHeaders(e){const t={};if(t[c.SZ.CONTENT_TYPE]=c.gT.URL_FORM_CONTENT_TYPE,!this.config.systemOptions.preventCorsPreflight&&e)switch(e.type){case A:try{const n=(0,re.j)(e.credential);t[c.SZ.CCS_HEADER]=`Oid:${n.uid}@${n.utid}`}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case I:t[c.SZ.CCS_HEADER]=`UPN: ${e.credential}`}return t}async executePostToTokenEndpoint(e,t,n,r,o,i){i&&this.performanceClient?.addQueueMeasurement(i,o);const s=await this.networkManager.sendPostRequest(r,e,{body:t,headers:n});return this.performanceClient?.addFields({refreshTokenSize:s.body.refresh_token?.length||0,httpVerToken:s.headers?.[c.SZ.X_MS_HTTP_VERSION]||""},o),this.config.serverTelemetryManager&&s.status<500&&429!==s.status&&this.config.serverTelemetryManager.clearTelemetryCache(),s}async updateAuthority(e,t){this.performanceClient?.addQueueMeasurement(s.Ak.UpdateTokenEndpointAuthority,t);const n=`https://${e}/${this.authority.tenant}/`,r=await ae.createDiscoveredInstance(n,this.networkClient,this.cacheManager,this.authority.options,this.logger,this.performanceClient,t);this.authority=r}createTokenQueryParameters(e){const t=new oe.H;return e.tokenQueryParameters&&t.addExtraQueryParameters(e.tokenQueryParameters),t.createQueryString()}}var he=n(9117),le=n(3570),ue=n(6516);const de="sw";class ge{constructor(e,t){this.cryptoUtils=e,this.performanceClient=t}async generateCnf(e,t){this.performanceClient?.addQueueMeasurement(s.Ak.PopTokenGenerateCnf,e.correlationId);const n=await(0,a.i)(this.generateKid.bind(this),s.Ak.PopTokenGenerateCnf,t,this.performanceClient,e.correlationId)(e),r=this.cryptoUtils.base64Encode(JSON.stringify(n));return{kid:n.kid,reqCnfString:r,reqCnfHash:await this.cryptoUtils.hashString(r)}}async generateKid(e){this.performanceClient?.addQueueMeasurement(s.Ak.PopTokenGenerateKid,e.correlationId);return{kid:await this.cryptoUtils.getPublicKeyThumbprint(e),xms_ksl:de}}async signPopToken(e,t,n){return this.signPayload(e,t,n)}async signPayload(e,t,n,r){const{resourceRequestMethod:o,resourceRequestUri:i,shrClaims:s,shrNonce:a,shrOptions:c}=n,h=i?new B.G(i):void 0,l=h?.getUrlComponents();return this.cryptoUtils.signJwt({at:e,ts:ue.I.nowSeconds(),m:o?.toUpperCase(),u:l?.HostNameAndPort,nonce:a||this.cryptoUtils.createNewGuid(),p:l?.AbsolutePath,q:l?.QueryString?[[],l.QueryString]:void 0,client_claims:s||void 0,...r},t,c,n.correlationId)}}class pe{constructor(e,t){this.cache=e,this.hasChanged=t}get cacheHasChanged(){return this.hasChanged}get tokenCache(){return this.cache}}var me=n(2057),fe=n(2401);class Ce{constructor(e,t,n,r,o,i,s){this.clientId=e,this.cacheStorage=t,this.cryptoObj=n,this.logger=r,this.serializableCache=o,this.persistencePlugin=i,this.performanceClient=s}validateServerAuthorizationCodeResponse(e,t){if(!e.state||!t)throw e.state?(0,u.zP)(d.LV,"Cached State"):(0,u.zP)(d.LV,"Server State");let n,r;try{n=decodeURIComponent(e.state)}catch(t){throw(0,u.zP)(d.r8,e.state)}try{r=decodeURIComponent(t)}catch(t){throw(0,u.zP)(d.r8,e.state)}if(n!==r)throw(0,u.zP)(d.Tu);if(e.error||e.error_description||e.suberror){if((0,h.Cf)(e.error,e.error_description,e.suberror))throw new h.Yo(e.error||"",e.error_description,e.suberror,e.timestamp||"",e.trace_id||"",e.correlation_id||"",e.claims||"");throw new V.n(e.error||"",e.error_description,e.suberror)}}validateTokenResponse(e,t){if(e.error||e.error_description||e.suberror){const n=`${e.error_codes} - [${e.timestamp}]: ${e.error_description} - Correlation ID: ${e.correlation_id} - Trace ID: ${e.trace_id}`,r=new V.n(e.error,n,e.suberror);if(t&&e.status&&e.status>=c.oj.SERVER_ERROR_RANGE_START&&e.status<=c.oj.SERVER_ERROR_RANGE_END)return void this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed.\n${r}`);if(t&&e.status&&e.status>=c.oj.CLIENT_ERROR_RANGE_START&&e.status<=c.oj.CLIENT_ERROR_RANGE_END)return void this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token.\n${r}`);if((0,h.Cf)(e.error,e.error_description,e.suberror))throw new h.Yo(e.error,e.error_description,e.suberror,e.timestamp||c.gT.EMPTY_STRING,e.trace_id||c.gT.EMPTY_STRING,e.correlation_id||c.gT.EMPTY_STRING,e.claims||c.gT.EMPTY_STRING);throw r}}async handleServerTokenResponse(e,t,n,r,o,i,a,h,l){let p,m;if(this.performanceClient?.addQueueMeasurement(s.Ak.HandleServerTokenResponse,e.correlation_id),e.id_token){if(p=(0,w.Z_)(e.id_token||c.gT.EMPTY_STRING,this.cryptoObj.base64Decode),o&&o.nonce&&p.nonce!==o.nonce)throw(0,u.zP)(d.vR);if(r.maxAge||0===r.maxAge){const e=p.auth_time;if(!e)throw(0,u.zP)(d.w7);(0,w.ky)(e,r.maxAge)}}this.homeAccountIdentifier=g.r.generateHomeAccountId(e.client_info||c.gT.EMPTY_STRING,t.authorityType,this.logger,this.cryptoObj,p),o&&o.state&&(m=v.parseRequestState(this.cryptoObj,o.state)),e.key_id=e.key_id||r.sshKid||void 0;const f=this.generateCacheRecord(e,t,n,r,p,i,o);let C;try{if(this.persistencePlugin&&this.serializableCache&&(this.logger.verbose("Persistence enabled, calling beforeCacheAccess"),C=new pe(this.serializableCache,!0),await this.persistencePlugin.beforeCacheAccess(C)),a&&!h&&f.account){const e=f.account.generateAccountKey();if(!this.cacheStorage.getAccount(e,this.logger))return this.logger.warning("Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache"),await Ce.generateAuthenticationResult(this.cryptoObj,t,f,!1,r,p,m,void 0,l)}await this.cacheStorage.saveCacheRecord(f,r.storeInCache)}finally{this.persistencePlugin&&this.serializableCache&&C&&(this.logger.verbose("Persistence enabled, calling afterCacheAccess"),await this.persistencePlugin.afterCacheAccess(C))}return Ce.generateAuthenticationResult(this.cryptoObj,t,f,!1,r,p,m,e,l)}generateCacheRecord(e,t,n,r,o,i,s){const a=t.getPreferredCache();if(!a)throw(0,u.zP)(d.Q9);const c=(0,me.M)(o);let h,l;e.id_token&&o&&(h=(0,f.Md)(this.homeAccountIdentifier,a,e.id_token,this.clientId,c||""),l=_e(this.cacheStorage,t,this.homeAccountIdentifier,o,this.cryptoObj.base64Decode,e.client_info,c,s,void 0,this.logger));let g=null;if(e.access_token){const o=e.scope?le.i.fromString(e.scope):new le.i(r.scopes||[]),s=("string"==typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0,h=("string"==typeof e.ext_expires_in?parseInt(e.ext_expires_in,10):e.ext_expires_in)||0,l=("string"==typeof e.refresh_in?parseInt(e.refresh_in,10):e.refresh_in)||void 0,u=n+s,d=u+h,p=l&&l>0?n+l:void 0;g=(0,f.Ds)(this.homeAccountIdentifier,a,e.access_token,this.clientId,c||t.tenant,o.printScopes(),u,d,this.cryptoObj.base64Decode,p,e.token_type,i,e.key_id,r.claims,r.requestedClaimsHash)}let p=null;e.refresh_token&&(p=(0,f.OJ)(this.homeAccountIdentifier,a,e.refresh_token,this.clientId,e.foci,i));let m=null;return e.foci&&(m=C.createAppMetadataEntity(this.clientId,a,e.foci)),new k(l,h,g,p,m)}static async generateAuthenticationResult(e,t,n,r,o,i,s,a,h){let l,g,p=c.gT.EMPTY_STRING,m=[],f=null,C=c.gT.EMPTY_STRING;if(n.accessToken){if(n.accessToken.tokenType===c.hO.POP){const t=new ge(e),{secret:r,keyId:i}=n.accessToken;if(!i)throw(0,u.zP)(d.Of);p=await t.signPopToken(r,i,o)}else p=n.accessToken.secret;m=le.i.fromString(n.accessToken.target).asArray(),f=new Date(1e3*Number(n.accessToken.expiresOn)),l=new Date(1e3*Number(n.accessToken.extendedExpiresOn)),n.accessToken.refreshOn&&(g=new Date(1e3*Number(n.accessToken.refreshOn)))}n.appMetadata&&(C=n.appMetadata.familyId===c.ch?c.ch:"");const _=i?.oid||i?.sub||"",y=i?.tid||"";a?.spa_accountid&&n.account&&(n.account.nativeAccountId=a?.spa_accountid);const T=n.account?(0,fe.$f)(n.account.getAccountInfo(),void 0,i):null;return{authority:t.canonicalAuthority,uniqueId:_,tenantId:y,scopes:m,account:T,idToken:n?.idToken?.secret||"",idTokenClaims:i||{},accessToken:p,fromCache:r,expiresOn:f,extExpiresOn:l,refreshOn:g,correlationId:o.correlationId,requestId:h||c.gT.EMPTY_STRING,familyId:C,tokenType:n.accessToken?.tokenType||c.gT.EMPTY_STRING,state:s?s.userRequestState:c.gT.EMPTY_STRING,cloudGraphHostName:n.account?.cloudGraphHostName||c.gT.EMPTY_STRING,msGraphHost:n.account?.msGraphHost||c.gT.EMPTY_STRING,code:a?.spa_code,fromNativeBroker:!1}}}function _e(e,t,n,r,o,i,s,a,c,h){h?.verbose("setCachedAccount called");const l=e.getAccountKeys().find((e=>
2e.startsWith(n)));let u=null;l&&(u=e.getAccount(l,h));const d=u||g.r.createAccount({homeAccountId:n,idTokenClaims:r,clientInfo:i,cloudGraphHostName:a?.cloud_graph_host_name,msGraphHost:a?.msgraph_host,nativeAccountId:c},t,o),p=d.tenantProfiles||[];if(s&&!p.find((e=>e.tenantId===s))){const e=(0,fe.SI)(n,r);p.push(e)}return d.tenantProfiles=p,d}var ye=n(2707);class Te extends ce{constructor(e,t){super(e,t),this.includeRedirectUri=!0,this.oidcDefaultScopes=this.config.authOptions.authority.options.OIDCOptions?.defaultScopes}async getAuthCodeUrl(e){this.performanceClient?.addQueueMeasurement(s.Ak.GetAuthCodeUrl,e.correlationId);const t=await(0,a.i)(this.createAuthCodeUrlQueryString.bind(this),s.Ak.AuthClientCreateQueryString,this.logger,this.performanceClient,e.correlationId)(e);return B.G.appendQueryString(this.authority.authorizationEndpoint,t)}async acquireToken(e,t){if(this.performanceClient?.addQueueMeasurement(s.Ak.AuthClientAcquireToken,e.correlationId),!e.code)throw(0,u.zP)(d.FU);const n=ue.I.nowSeconds(),r=await(0,a.i)(this.executeTokenRequest.bind(this),s.Ak.AuthClientExecuteTokenRequest,this.logger,this.performanceClient,e.correlationId)(this.authority,e),o=r.headers?.[c.SZ.X_MS_REQUEST_ID],i=new Ce(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin,this.performanceClient);return i.validateTokenResponse(r.body),(0,a.i)(i.handleServerTokenResponse.bind(i),s.Ak.HandleServerTokenResponse,this.logger,this.performanceClient,e.correlationId)(r.body,this.authority,n,e,t,void 0,void 0,void 0,o)}handleFragmentResponse(e,t){if(new Ce(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,null,null).validateServerAuthorizationCodeResponse(e,t),!e.code)throw(0,u.zP)(d.Zv);return e}getLogoutUri(e){if(!e)throw(0,ie.ei)(se.$h);const t=this.createLogoutUrlQueryString(e);return B.G.appendQueryString(this.authority.endSessionEndpoint,t)}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(s.Ak.AuthClientExecuteTokenRequest,t.correlationId);const n=this.createTokenQueryParameters(t),r=B.G.appendQueryString(e.tokenEndpoint,n),o=await(0,a.i)(this.createTokenRequestBody.bind(this),s.Ak.AuthClientCreateTokenRequestBody,this.logger,this.performanceClient,t.correlationId)(t);let i;if(t.clientInfo)try{const e=(0,re.B)(t.clientInfo,this.cryptoUtils.base64Decode);i={credential:`${e.uid}${c.Bv.CLIENT_INFO_SEPARATOR}${e.utid}`,type:A}}catch(e){this.logger.verbose("Could not parse client info for CCS Header: "+e)}const h=this.createTokenRequestHeaders(i||t.ccsCredential),l={clientId:t.tokenBodyParameters?.clientId||this.config.authOptions.clientId,authority:e.canonicalAuthority,scopes:t.scopes,claims:t.claims,authenticationScheme:t.authenticationScheme,resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,sshKid:t.sshKid};return(0,a.i)(this.executePostToTokenEndpoint.bind(this),s.Ak.AuthorizationCodeClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,t.correlationId)(r,o,h,l,t.correlationId,s.Ak.AuthorizationCodeClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(s.Ak.AuthClientCreateTokenRequestBody,e.correlationId);const t=new oe.H;if(t.addClientId(e.tokenBodyParameters?.[he.Cx]||this.config.authOptions.clientId),this.includeRedirectUri?t.addRedirectUri(e.redirectUri):ye.D.validateRedirectUri(e.redirectUri),t.addScopes(e.scopes,!0,this.oidcDefaultScopes),t.addAuthorizationCode(e.code),t.addLibraryInfo(this.config.libraryInfo),t.addApplicationTelemetry(this.config.telemetry.application),t.addThrottling(),this.serverTelemetryManager&&!(0,X.lh)(this.config)&&t.addServerTelemetry(this.serverTelemetryManager),e.codeVerifier&&t.addCodeVerifier(e.codeVerifier),this.config.clientCredentials.clientSecret&&t.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const e=this.config.clientCredentials.clientAssertion;t.addClientAssertion(e.assertion),t.addClientAssertionType(e.assertionType)}if(t.addGrantType(c.qJ.AUTHORIZATION_CODE_GRANT),t.addClientInfo(),e.authenticationScheme===c.hO.POP){const n=new ge(this.cryptoUtils,this.performanceClient),r=await(0,a.i)(n.generateCnf.bind(n),s.Ak.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger);t.addPopToken(r.reqCnfString)}else if(e.authenticationScheme===c.hO.SSH){if(!e.sshJwk)throw(0,ie.ei)(se.dK);t.addSshJwk(e.sshJwk)}const n=e.correlationId||this.config.cryptoInterface.createNewGuid();let r;if(t.addCorrelationId(n),(!T.x.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&t.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.clientInfo)try{const t=(0,re.B)(e.clientInfo,this.cryptoUtils.base64Decode);r={credential:`${t.uid}${c.Bv.CLIENT_INFO_SEPARATOR}${t.utid}`,type:A}}catch(e){this.logger.verbose("Could not parse client info for CCS Header: "+e)}else r=e.ccsCredential;if(this.config.systemOptions.preventCorsPreflight&&r)switch(r.type){case A:try{const e=(0,re.j)(r.credential);t.addCcsOid(e)}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case I:t.addCcsUpn(r.credential)}return e.tokenBodyParameters&&t.addExtraQueryParameters(e.tokenBodyParameters),!e.enableSpaAuthorizationCode||e.tokenBodyParameters&&e.tokenBodyParameters[he.Zb]||t.addExtraQueryParameters({[he.Zb]:"1"}),t.createQueryString()}async createAuthCodeUrlQueryString(e){this.performanceClient?.addQueueMeasurement(s.Ak.AuthClientCreateQueryString,e.correlationId);const t=new oe.H;t.addClientId(e.extraQueryParameters?.[he.Cx]||this.config.authOptions.clientId);const n=[...e.scopes||[],...e.extraScopesToConsent||[]];t.addScopes(n,!0,this.oidcDefaultScopes),t.addRedirectUri(e.redirectUri);const r=e.correlationId||this.config.cryptoInterface.createNewGuid();if(t.addCorrelationId(r),t.addResponseMode(e.responseMode),t.addResponseTypeCode(),t.addLibraryInfo(this.config.libraryInfo),(0,X.lh)(this.config)||t.addApplicationTelemetry(this.config.telemetry.application),t.addClientInfo(),e.codeChallenge&&e.codeChallengeMethod&&t.addCodeChallengeParams(e.codeChallenge,e.codeChallengeMethod),e.prompt&&t.addPrompt(e.prompt),e.domainHint&&t.addDomainHint(e.domainHint),e.prompt!==c.NJ.SELECT_ACCOUNT)if(e.sid&&e.prompt===c.NJ.NONE)this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request"),t.addSid(e.sid);else if(e.account){const n=this.extractAccountSid(e.account),r=this.extractLoginHint(e.account);if(r){this.logger.verbose("createAuthCodeUrlQueryString: login_hint claim present on account"),t.addLoginHint(r);try{const n=(0,re.j)(e.account.homeAccountId);t.addCcsOid(n)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(n&&e.prompt===c.NJ.NONE){this.logger.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account"),t.addSid(n);try{const n=(0,re.j)(e.account.homeAccountId);t.addCcsOid(n)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}else if(e.loginHint)this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from request"),t.addLoginHint(e.loginHint),t.addCcsUpn(e.loginHint);else if(e.account.username){this.logger.verbose("createAuthCodeUrlQueryString: Adding login_hint from account"),t.addLoginHint(e.account.username);try{const n=(0,re.j)(e.account.homeAccountId);t.addCcsOid(n)}catch(e){this.logger.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header")}}}else e.loginHint&&(this.logger.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request"),t.addLoginHint(e.loginHint),t.addCcsUpn(e.loginHint));else this.logger.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints");if(e.nonce&&t.addNonce(e.nonce),e.state&&t.addState(e.state),(e.claims||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&t.addClaims(e.claims,this.config.authOptions.clientCapabilities),e.extraQueryParameters&&t.addExtraQueryParameters(e.extraQueryParameters),e.nativeBroker&&(t.addNativeBroker(),e.authenticationScheme===c.hO.POP)){const n=new ge(this.cryptoUtils),r=await(0,a.i)(n.generateCnf.bind(n),s.Ak.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger);t.addPopToken(r.reqCnfHash)}return t.createQueryString()}createLogoutUrlQueryString(e){const t=new oe.H;return e.postLogoutRedirectUri&&t.addPostLogoutRedirectUri(e.postLogoutRedirectUri),e.correlationId&&t.addCorrelationId(e.correlationId),e.idTokenHint&&t.addIdTokenHint(e.idTokenHint),e.state&&t.addState(e.state),e.logoutHint&&t.addLogoutHint(e.logoutHint),e.extraQueryParameters&&t.addExtraQueryParameters(e.extraQueryParameters),t.createQueryString()}extractAccountSid(e){return e.idTokenClaims?.sid||null}extractLoginHint(e){return e.idTokenClaims?.login_hint||null}}class ve{constructor(e,t){this.cacheOutcome=c.To.NOT_APPLICABLE,this.cacheManager=t,this.apiId=e.apiId,this.correlationId=e.correlationId,this.wrapperSKU=e.wrapperSKU||c.gT.EMPTY_STRING,this.wrapperVer=e.wrapperVer||c.gT.EMPTY_STRING,this.telemetryCacheKey=c.HN.CACHE_KEY+c.Bv.CACHE_KEY_SEPARATOR+e.clientId}generateCurrentRequestHeaderValue(){const e=`${this.apiId}${c.HN.VALUE_SEPARATOR}${this.cacheOutcome}`,t=[this.wrapperSKU,this.wrapperVer].join(c.HN.VALUE_SEPARATOR),n=[e,this.getRegionDiscoveryFields()].join(c.HN.VALUE_SEPARATOR);return[c.HN.SCHEMA_VERSION,n,t].join(c.HN.CATEGORY_SEPARATOR)}generateLastRequestHeaderValue(){const e=this.getLastRequests(),t=ve.maxErrorsToSend(e),n=e.failedRequests.slice(0,2*t).join(c.HN.VALUE_SEPARATOR),r=e.errors.slice(0,t).join(c.HN.VALUE_SEPARATOR),o=e.errors.length,i=[o,t<o?c.HN.OVERFLOW_TRUE:c.HN.OVERFLOW_FALSE].join(c.HN.VALUE_SEPARATOR);return[c.HN.SCHEMA_VERSION,e.cacheHits,n,r,i].join(c.HN.CATEGORY_SEPARATOR)}cacheFailedRequest(e){const t=this.getLastRequests();t.errors.length>=c.HN.MAX_CACHED_ERRORS&&(t.failedRequests.shift(),t.failedRequests.shift(),t.errors.shift()),t.failedRequests.push(this.apiId,this.correlationId),e instanceof Error&&e&&e.toString()?e instanceof l.l4?e.subError?t.errors.push(e.subError):e.errorCode?t.errors.push(e.errorCode):t.errors.push(e.toString()):t.errors.push(e.toString()):t.errors.push(c.HN.UNKNOWN_ERROR),this.cacheManager.setServerTelemetry(this.telemetryCacheKey,t)}incrementCacheHits(){const e=this.getLastRequests();return e.cacheHits+=1,this.cacheManager.setServerTelemetry(this.telemetryCacheKey,e),e.cacheHits}getLastRequests(){return this.cacheManager.getServerTelemetry(this.telemetryCacheKey)||{failedRequests:[],errors:[],cacheHits:0}}clearTelemetryCache(){const e=this.getLastRequests(),t=ve.maxErrorsToSend(e);if(t===e.errors.length)this.cacheManager.removeItem(this.telemetryCacheKey);else{const n={failedRequests:e.failedRequests.slice(2*t),errors:e.errors.slice(t),cacheHits:0};this.cacheManager.setServerTelemetry(this.telemetryCacheKey,n)}}static maxErrorsToSend(e){let t,n=0,r=0;const o=e.errors.length;for(t=0;t<o;t++){const o=e.failedRequests[2*t]||c.gT.EMPTY_STRING,i=e.failedRequests[2*t+1]||c.gT.EMPTY_STRING,s=e.errors[t]||c.gT.EMPTY_STRING;if(r+=o.toString().length+i.toString().length+s.length+3,!(r<c.HN.MAX_LAST_HEADER_BYTES))break;n+=1}return n}getRegionDiscoveryFields(){const e=[];return e.push(this.regionUsed||c.gT.EMPTY_STRING),e.push(this.regionSource||c.gT.EMPTY_STRING),e.push(this.regionOutcome||c.gT.EMPTY_STRING),e.join(",")}updateRegionDiscoveryMetadata(e){this.regionUsed=e.region_used,this.regionSource=e.region_source,this.regionOutcome=e.region_outcome}setCacheOutcome(e){this.cacheOutcome=e}}var Ae=n(1578),Ie=n(3292);class we{constructor(e,t,n,r,o,i,s,a,c){this.config=e,this.browserStorage=t,this.browserCrypto=n,this.networkClient=this.config.system.networkClient,this.eventHandler=o,this.navigationClient=i,this.nativeMessageHandler=a,this.correlationId=c||(0,Ie.nn)(),this.logger=r.clone(S.qx.MSAL_SKU,Ae.i,this.correlationId),this.performanceClient=s}async clearCacheOnLogout(e){if(e){g.r.accountInfoIsEqual(e,this.browserStorage.getActiveAccount(),!1)&&(this.logger.verbose("Setting active account to null"),this.browserStorage.setActiveAccount(null));try{await this.browserStorage.removeAccount(g.r.generateAccountCacheKey(e)),this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.")}catch(e){this.logger.error("Account provided in logout request was not found. Local cache unchanged.")}}else try{this.logger.verbose("No account provided in logout request, clearing all cache items.",this.correlationId),await this.browserStorage.clear(),await this.browserCrypto.clearKeystore()}catch(e){this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.")}}
2async initializeBaseRequest(e,t){this.performanceClient.addQueueMeasurement(s.Ak.InitializeBaseRequest,this.correlationId);const n=e.authority||this.config.auth.authority;t&&await this.validateRequestAuthority(n,t);const r=[...e&&e.scopes||[]],o={...e,correlationId:this.correlationId,authority:n,scopes:r};if(o.authenticationScheme){if(o.authenticationScheme===c.hO.SSH){if(!e.sshJwk)throw(0,ie.ei)(se.dK);if(!e.sshKid)throw(0,ie.ei)(se.hI)}this.logger.verbose(`Authentication Scheme set to "${o.authenticationScheme}" as configured in Auth request`)}else o.authenticationScheme=c.hO.BEARER,this.logger.verbose('Authentication Scheme wasn\'t explicitly set in request, defaulting to "Bearer" request');return this.config.cache.claimsBasedCachingEnabled&&e.claims&&!T.x.isEmptyObj(e.claims)&&(o.requestedClaimsHash=await this.browserCrypto.hashString(e.claims)),o}getRedirectUri(e){this.logger.verbose("getRedirectUri called");const t=e||this.config.auth.redirectUri||z();return B.G.getAbsoluteUrl(t,z())}async validateRequestAuthority(e,t){if(!(await this.getDiscoveredAuthority(e)).isAlias(t.environment))throw(0,ie.ei)(se.Hv)}initializeServerTelemetryManager(e,t){this.logger.verbose("initializeServerTelemetryManager called");const n={clientId:this.config.auth.clientId,correlationId:this.correlationId,apiId:e,forceRefresh:t||!1,wrapperSKU:this.browserStorage.getWrapperMetadata()[0],wrapperVer:this.browserStorage.getWrapperMetadata()[1]};return new ve(n,this.browserStorage)}async getDiscoveredAuthority(e){this.logger.verbose("getDiscoveredAuthority called");const t={protocolMode:this.config.auth.protocolMode,OIDCOptions:this.config.auth.OIDCOptions,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata};return e?(this.logger.verbose("Creating discovered authority with request authority"),ae.createDiscoveredInstance(e,this.config.system.networkClient,this.browserStorage,t,this.logger)):(this.logger.verbose("Creating discovered authority with configured authority"),ae.createDiscoveredInstance(this.config.auth.authority,this.config.system.networkClient,this.browserStorage,t,this.logger))}}const ke=32;async function Ee(e,t,n){e.addQueueMeasurement(s.Ak.GeneratePkceCodes,n);const r=(0,a.d)(Se,s.Ak.GenerateCodeVerifier,t,e,n)(e,t,n);return{verifier:r,challenge:await(0,a.i)(Re,s.Ak.GenerateCodeChallengeFromVerifier,t,e,n)(r,e,t,n)}}function Se(e,t,n){try{const r=new Uint8Array(ke);(0,a.d)(Ie.PP,s.Ak.GetRandomValues,t,e,n)(r);return(0,D.Wy)(r)}catch(e){throw(0,E.Z_)(x.vD)}}async function Re(e,t,n,r){t.addQueueMeasurement(s.Ak.GenerateCodeChallengeFromVerifier,r);try{const o=await(0,a.i)(Ie.Fv,s.Ak.Sha256Digest,n,t,r)(e,t,r);return(0,D.Wy)(new Uint8Array(o))}catch(e){throw(0,E.Z_)(x.vD)}}class be extends we{async initializeAuthorizationCodeRequest(e){this.performanceClient.addQueueMeasurement(s.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.correlationId);const t=await(0,a.i)(Ee,s.Ak.GeneratePkceCodes,this.logger,this.performanceClient,this.correlationId)(this.performanceClient,this.logger,this.correlationId),n={...e,redirectUri:e.redirectUri,code:c.gT.EMPTY_STRING,codeVerifier:t.verifier};return e.codeChallenge=t.challenge,e.codeChallengeMethod=c.gT.S256_CODE_CHALLENGE_METHOD,n}initializeLogoutRequest(e){this.logger.verbose("initializeLogoutRequest called",e?.correlationId);const t={correlationId:this.correlationId||(0,Ie.nn)(),...e};if(e)if(e.logoutHint)this.logger.verbose("logoutHint has already been set in logoutRequest");else if(e.account){const n=this.getLogoutHintFromIdTokenClaims(e.account);n&&(this.logger.verbose("Setting logoutHint to login_hint ID Token Claim value for the account provided"),t.logoutHint=n)}else this.logger.verbose("logoutHint was not set and account was not passed into logout request, logoutHint will not be set");else this.logger.verbose("logoutHint will not be set since no logout request was configured");return e&&null===e.postLogoutRedirectUri?this.logger.verbose("postLogoutRedirectUri passed as null, not setting post logout redirect uri",t.correlationId):e&&e.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to uri set on logout request",t.correlationId),t.postLogoutRedirectUri=B.G.getAbsoluteUrl(e.postLogoutRedirectUri,z())):null===this.config.auth.postLogoutRedirectUri?this.logger.verbose("postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect",t.correlationId):this.config.auth.postLogoutRedirectUri?(this.logger.verbose("Setting postLogoutRedirectUri to configured uri",t.correlationId),t.postLogoutRedirectUri=B.G.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri,z())):(this.logger.verbose("Setting postLogoutRedirectUri to current page",t.correlationId),t.postLogoutRedirectUri=B.G.getAbsoluteUrl(z(),z())),t}getLogoutHintFromIdTokenClaims(e){const t=e.idTokenClaims;if(t){if(t.login_hint)return t.login_hint;this.logger.verbose("The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request")}else this.logger.verbose("The provided account does not contain ID Token Claims, logoutHint will not be added to logout request");return null}async createAuthCodeClient(e,t,n){this.performanceClient.addQueueMeasurement(s.Ak.StandardInteractionClientCreateAuthCodeClient,this.correlationId);const r=await(0,a.i)(this.getClientConfiguration.bind(this),s.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e,t,n);return new Te(r,this.performanceClient)}async getClientConfiguration(e,t,n){this.performanceClient.addQueueMeasurement(s.Ak.StandardInteractionClientGetClientConfiguration,this.correlationId);const r=await(0,a.i)(this.getDiscoveredAuthority.bind(this),s.Ak.StandardInteractionClientGetDiscoveredAuthority,this.logger,this.performanceClient,this.correlationId)(t,n),o=this.config.system.loggerOptions;return{authOptions:{clientId:this.config.auth.clientId,authority:r,clientCapabilities:this.config.auth.clientCapabilities},systemOptions:{tokenRenewalOffsetSeconds:this.config.system.tokenRenewalOffsetSeconds,preventCorsPreflight:!0},loggerOptions:{loggerCallback:o.loggerCallback,piiLoggingEnabled:o.piiLoggingEnabled,logLevel:o.logLevel,correlationId:this.correlationId},cacheOptions:{claimsBasedCachingEnabled:this.config.cache.claimsBasedCachingEnabled},cryptoInterface:this.browserCrypto,networkInterface:this.networkClient,storageInterface:this.browserStorage,serverTelemetryManager:e,libraryInfo:{sku:S.qx.MSAL_SKU,version:Ae.i,cpu:c.gT.EMPTY_STRING,os:c.gT.EMPTY_STRING},telemetry:this.config.telemetry}}async getDiscoveredAuthority(e,t){this.performanceClient.addQueueMeasurement(s.Ak.StandardInteractionClientGetDiscoveredAuthority,this.correlationId);const n={protocolMode:this.config.auth.protocolMode,OIDCOptions:this.config.auth.OIDCOptions,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache},r=e||this.config.auth.authority,o=i.WU.generateAuthority(r,t||this.config.auth.azureCloudOptions);return(0,a.i)(ae.createDiscoveredInstance.bind(ae),s.Ak.AuthorityFactoryCreateDiscoveredInstance,this.logger,this.performanceClient,this.correlationId)(o,this.config.system.networkClient,this.browserStorage,n,this.logger,this.performanceClient,this.correlationId)}async initializeAuthorizationRequest(e,t){this.performanceClient.addQueueMeasurement(s.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.correlationId);const n=this.getRedirectUri(e.redirectUri),r={interactionType:t},o=v.setRequestState(this.browserCrypto,e&&e.state||c.gT.EMPTY_STRING,r),i={...await(0,a.i)(this.initializeBaseRequest.bind(this),s.Ak.InitializeBaseRequest,this.logger,this.performanceClient,this.correlationId)(e),redirectUri:n,state:o,nonce:e.nonce||(0,Ie.nn)(),responseMode:this.config.auth.OIDCOptions.serverResponseType},h=e.account||this.browserStorage.getActiveAccount();if(h&&(this.logger.verbose("Setting validated request account",this.correlationId),this.logger.verbosePii(`Setting validated request account: ${h.homeAccountId}`,this.correlationId),i.account=h),!i.loginHint&&!h){const e=this.browserStorage.getLegacyLoginHint();e&&(i.loginHint=e)}return i}}var Oe=n(4085),Pe=n(1886);const Ne="user_switch",Me={[Ne]:"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again."};class qe extends l.l4{constructor(e,t,n){super(e,t),Object.setPrototypeOf(this,qe.prototype),this.name="NativeAuthError",this.ext=n}}function Le(e){return!(!e.ext||!e.ext.status||"PERSISTENT_ERROR"!==e.ext.status&&"DISABLED"!==e.ext.status)||(!(!e.ext||!e.ext.error||-2147186943!==e.ext.error)||"ContentError"===e.errorCode)}function He(e,t,n){if(n&&n.status)switch(n.status){case"ACCOUNT_UNAVAILABLE":return(0,h.ip)(p.QP);case"USER_INTERACTION_REQUIRED":return new h.Yo(e,t);case"USER_CANCEL":return(0,E.Z_)(x.h7);case"NO_NETWORK":return(0,E.Z_)(x.Mq)}return new qe(e,Me[e]||t,n)}class Ue extends ce{constructor(e,t){super(e,t)}async acquireToken(e){this.performanceClient?.addQueueMeasurement(s.Ak.RefreshTokenClientAcquireToken,e.correlationId);const t=ue.I.nowSeconds(),n=await(0,a.i)(this.executeTokenRequest.bind(this),s.Ak.RefreshTokenClientExecuteTokenRequest,this.logger,this.performanceClient,e.correlationId)(e,this.authority),r=n.headers?.[c.SZ.X_MS_REQUEST_ID],o=new Ce(this.config.authOptions.clientId,this.cacheManager,this.cryptoUtils,this.logger,this.config.serializableCache,this.config.persistencePlugin);return o.validateTokenResponse(n.body),(0,a.i)(o.handleServerTokenResponse.bind(o),s.Ak.HandleServerTokenResponse,this.logger,this.performanceClient,e.correlationId)(n.body,this.authority,t,e,void 0,void 0,!0,e.forceCache,r)}async acquireTokenByRefreshToken(e){if(!e)throw(0,ie.ei)(se.dL);if(this.performanceClient?.addQueueMeasurement(s.Ak.RefreshTokenClientAcquireTokenByRefreshToken,e.correlationId),!e.account)throw(0,u.zP)(d.D7);if(this.cacheManager.isAppMetadataFOCI(e.account.environment))try{return await(0,a.i)(this.acquireTokenWithCachedRefreshToken.bind(this),s.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!0)}catch(t){const n=t instanceof h.Yo&&t.errorCode===p.I2,r=t instanceof V.n&&t.errorCode===c.D1.INVALID_GRANT_ERROR&&t.subError===c.D1.CLIENT_MISMATCH_ERROR;if(n||r)return(0,a.i)(this.acquireTokenWithCachedRefreshToken.bind(this),s.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1);throw t}return(0,a.i)(this.acquireTokenWithCachedRefreshToken.bind(this),s.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1)}async acquireTokenWithCachedRefreshToken(e,t){this.performanceClient?.addQueueMeasurement(s.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,e.correlationId);const n=(0,a.d)(this.cacheManager.getRefreshToken.bind(this.cacheManager),s.Ak.CacheManagerGetRefreshToken,this.logger,this.performanceClient,e.correlationId)(e.account,t,void 0,this.performanceClient,e.correlationId);if(!n)throw(0,h.ip)(p.I2);const r={...e,refreshToken:n.secret,authenticationScheme:e.authenticationScheme||c.hO.BEARER,ccsCredential:{credential:e.account.homeAccountId,type:A}};return(0,a.i)(this.acquireToken.bind(this),s.Ak.RefreshTokenClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(r)}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(s.Ak.RefreshTokenClientExecuteTokenRequest,e.correlationId);const n=this.createTokenQueryParameters(e),r=B.G.appendQueryString(t.tokenEndpoint,n),o=await(0,a.i)(this.createTokenRequestBody.bind(this),s.Ak.RefreshTokenClientCreateTokenRequestBody,this.logger,this.performanceClient,e.correlationId)(e),i=this.createTokenRequestHeaders(e.ccsCredential),c={clientId:e.tokenBodyParameters?.clientId||this.config.authOptions.clientId,authority:t.canonicalAuthority,scopes:e.scopes,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid};return(0,a.i)(this.executePostToTokenEndpoint.bind(this),s.Ak.RefreshTokenClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,e.correlationId)(r,o,i,c,e.correlationId,s.Ak.RefreshTokenClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(s.Ak.RefreshTokenClientCreateTokenRequestBody,e.correlationId);const t=e.correlationId,n=new oe.H;if(n.addClientId(e.tokenBodyParameters?.[he.Cx]||this.config.authOptions.clientId),e.redirectUri&&n.addRedirectUri(e.redirectUri),n.addScopes(e.scopes,!0,this.config.authOptions.authority.options.OIDCOptions?.defaultScopes),n.addGrantType(c.qJ.REFRESH_TOKEN_GRANT),n.addClientInfo(),n.addLibraryInfo(this.config.libraryInfo),n.addApplicationTelemetry(this.config.telemetry.application),n.addThrottling(),this.serverTelemetryManager&&!(0,X.lh)(this.config)&&n.addServerTelemetry(this.serverTelemetryManager),n.addCorrelationId(t),n.addRefreshToken(e.refreshToken),this.config.clientCredentials.clientSecret&&n.addClientSecret(this.config.clientCredentials.clientSecret),this.config.clientCredentials.clientAssertion){const e=this.config.clientCredentials.clientAssertion;n.addClientAssertion(e.assertion),n.addClientAssertionType(e.assertionType)}if(e.authenticationScheme===c.hO.POP){const t=new ge(this.cryptoUtils,this.performanceClient),r=await(0,a.i)(t.generateCnf.bind(t),s.Ak.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger);n.addPopToken(r.reqCnfString)}else if(e.authenticationScheme===c.hO.SSH){if(!e.sshJwk)throw(0,ie.ei)(se.dK);n.addSshJwk(e.sshJwk)}if((!T.x.isEmptyObj(e.claims)||this.config.authOptions.clientCapabilities&&this.config.authOptions.clientCapabilities.length>0)&&n.addClaims(e.claims,this.config.authOptions.clientCapabilities),this.config.systemOptions.preventCorsPreflight&&e.ccsCredential)switch(e.ccsCredential.type){case A:try{const t=(0,re.j)(e.ccsCredential.credential);n.addCcsOid(t)}catch(e){this.logger.verbose("Could not parse home account ID for CCS Header: "+e)}break;case I:n.addCcsUpn(e.ccsCredential.credential)}return e.tokenBodyParameters&&n.addExtraQueryParameters(e.tokenBodyParameters),n.createQueryString()}}class De extends ce{constructor(e,t){super(e,t)}async acquireToken(e){try{const[t,n]=await this.acquireCachedToken(e);if(n===c.To.PROACTIVELY_REFRESHED){this.logger.info("SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed.");new Ue(this.config,this.performanceClient).acquireTokenByRefreshToken(e).catch((()=>{}))}return t}catch(t){if(t instanceof u.er&&t.errorCode===d.s$){return new Ue(this.config,this.performanceClient).acquireTokenByRefreshToken(e)}throw t}}async acquireCachedToken(e){this.performanceClient?.addQueueMeasurement(s.Ak.SilentFlowClientAcquireCachedToken,e.correlationId);let t=c.To.NOT_APPLICABLE;if(e.forceRefresh||!this.config.cacheOptions.claimsBasedCachingEnabled&&!T.x.isEmptyObj(e.claims))throw this.setCacheOutcome(c.To.FORCE_REFRESH_OR_CLAIMS,e.correlationId),(0,u.zP)(d.s$);if(!e.account)throw(0,u.zP)(d.D7);const n=e.authority||this.authority.getPreferredCache(),r=this.cacheManager.readCacheRecord(e.account,e,n,this.performanceClient,e.correlationId);if(!r.accessToken)throw this.setCacheOutcome(c.To.NO_CACHED_ACCESS_TOKEN,e.correlationId),(0,u.zP)(d.s$);if(ue.I.wasClockTurnedBack(r.accessToken.cachedAt)||ue.I.isTokenExpired(r.accessToken.expiresOn,this.config.systemOptions.tokenRenewalOffsetSeconds))throw this.setCacheOutcome(c.To.CACHED_ACCESS_TOKEN_EXPIRED,e.correlationId),(0,u.zP)(d.s$);return r.accessToken.refreshOn&&ue.I.isTokenExpired(r.accessToken.refreshOn,0)&&(t=c.To.PROACTIVELY_REFRESHED),this.setCacheOutcome(t,e.correlationId),this.config.serverTelemetryManager&&this.config.serverTelemetryManager.incrementCacheHits(),[await(0,a.i)(this.generateResultFromC
2acheRecord.bind(this),s.Ak.SilentFlowClientGenerateResultFromCacheRecord,this.logger,this.performanceClient,e.correlationId)(r,e),t]}setCacheOutcome(e,t){this.serverTelemetryManager?.setCacheOutcome(e),this.performanceClient?.addFields({cacheOutcome:e},t),e!==c.To.NOT_APPLICABLE&&this.logger.info(`Token refresh is required due to cache outcome: ${e}`)}async generateResultFromCacheRecord(e,t){let n;if(this.performanceClient?.addQueueMeasurement(s.Ak.SilentFlowClientGenerateResultFromCacheRecord,t.correlationId),e.idToken&&(n=(0,w.Z_)(e.idToken.secret,this.config.cryptoInterface.base64Decode)),t.maxAge||0===t.maxAge){const e=n?.auth_time;if(!e)throw(0,u.zP)(d.w7);(0,w.ky)(e,t.maxAge)}return Ce.generateAuthenticationResult(this.cryptoUtils,this.authority,e,!0,t,n)}}class xe extends be{async acquireToken(e){this.performanceClient.addQueueMeasurement(s.Ak.SilentCacheClientAcquireToken,e.correlationId);const t=this.initializeServerTelemetryManager(S.WN.acquireTokenSilent_silentFlow),n=await this.createSilentFlowClient(t,e.authority,e.azureCloudOptions);this.logger.verbose("Silent auth client created");try{const t=(await(0,a.i)(n.acquireCachedToken.bind(n),s.Ak.SilentFlowClientAcquireCachedToken,this.logger,this.performanceClient,e.correlationId)(e))[0];return this.performanceClient.addFields({fromCache:!0},e.correlationId),t}catch(e){throw e instanceof E.Ut&&e.errorCode===x.XM&&this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair."),e}}logout(e){this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e);return this.clearCacheOnLogout(t?.account)}async createSilentFlowClient(e,t,n){const r=await(0,a.i)(this.getClientConfiguration.bind(this),s.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e,t,n);return new De(r,this.performanceClient)}async initializeSilentRequest(e,t){this.performanceClient.addQueueMeasurement(s.Ak.InitializeSilentRequest,this.correlationId);const n=await(0,a.i)(this.initializeBaseRequest.bind(this),s.Ak.InitializeBaseRequest,this.logger,this.performanceClient,this.correlationId)(e,t);return{...e,...n,account:t,forceRefresh:e.forceRefresh||!1}}}const Ke="brk_client_id",Be="brk_redirect_uri";class Fe extends we{constructor(e,t,n,r,o,i,s,a,c,h,l,u){super(e,t,n,r,o,i,a,c,u),this.apiId=s,this.accountId=h,this.nativeMessageHandler=c,this.nativeStorageManager=l,this.silentCacheClient=new xe(e,this.nativeStorageManager,n,r,o,i,a,c,u)}async acquireToken(e){this.performanceClient.addQueueMeasurement(s.Ak.NativeInteractionClientAcquireToken,e.correlationId),this.logger.trace("NativeInteractionClient - acquireToken called.");const t=this.performanceClient.startMeasurement(s.Ak.NativeInteractionClientAcquireToken,e.correlationId),n=ue.I.nowSeconds(),r=await this.initializeNativeRequest(e);try{const e=await this.acquireTokensFromCache(this.accountId,r);return t.end({success:!0,isNativeBroker:!1,fromCache:!0}),e}catch(e){this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call")}const o={method:S.Ky.GetToken,request:r},i=await this.nativeMessageHandler.sendMessage(o),a=this.validateNativeResponse(i);return this.handleNativeResponse(a,r,n).then((e=>(t.end({success:!0,isNativeBroker:!0,requestId:e.requestId}),e))).catch((e=>{throw t.end({success:!1,errorCode:e.errorCode,subErrorCode:e.subError,isNativeBroker:!0}),e}))}createSilentCacheRequest(e,t){return{authority:e.authority,correlationId:this.correlationId,scopes:le.i.fromString(e.scope).asArray(),account:t,forceRefresh:!1}}async acquireTokensFromCache(e,t){if(!e)throw this.logger.warning("NativeInteractionClient:acquireTokensFromCache - No nativeAccountId provided"),(0,u.zP)(d.cX);const n=this.browserStorage.getBaseAccountInfo({nativeAccountId:e});if(!n)throw(0,u.zP)(d.cX);try{const e=this.createSilentCacheRequest(t,n),r=await this.silentCacheClient.acquireToken(e),o={...n,idTokenClaims:r?.idTokenClaims};return{...r,account:o}}catch(e){throw e}}async acquireTokenRedirect(e){this.logger.trace("NativeInteractionClient - acquireTokenRedirect called.");const t=await this.initializeNativeRequest(e),n={method:S.Ky.GetToken,request:t};try{const e=await this.nativeMessageHandler.sendMessage(n);this.validateNativeResponse(e)}catch(e){if(e instanceof qe&&Le(e))throw e}this.browserStorage.setTemporaryCache(S.c4.NATIVE_REQUEST,JSON.stringify(t),!0);const r={apiId:S.WN.acquireTokenRedirect,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},o=this.config.auth.navigateToLoginRequestUrl?window.location.href:this.getRedirectUri(e.redirectUri);await this.navigationClient.navigateExternal(o,r)}async handleRedirectPromise(){if(this.logger.trace("NativeInteractionClient - handleRedirectPromise called."),!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const e=this.browserStorage.getCachedNativeRequest();if(!e)return this.logger.verbose("NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null."),null;const{prompt:t,...n}=e;t&&this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, remov
2ing prompt from cached request to prevent second interaction with native broker window."),this.browserStorage.removeItem(this.browserStorage.generateCacheKey(S.c4.NATIVE_REQUEST));const r={method:S.Ky.GetToken,request:n},o=ue.I.nowSeconds();try{this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");const e=await this.nativeMessageHandler.sendMessage(r);this.validateNativeResponse(e);const t=this.handleNativeResponse(e,n,o);return this.browserStorage.setInteractionInProgress(!1),await t}catch(e){throw this.browserStorage.setInteractionInProgress(!1),e}}logout(){return this.logger.trace("NativeInteractionClient - logout called."),Promise.reject("Logout not implemented yet")}async handleNativeResponse(e,t,n){if(this.logger.trace("NativeInteractionClient - handleNativeResponse called."),e.account.id!==t.accountId)throw He(Ne);const r=await this.getDiscoveredAuthority(t.authority),o=w.Z_(e.id_token,U.t),i=this.createHomeAccountIdentifier(e,o),s=_e(this.browserStorage,r,i,o,U.t,e.client_info,o.tid,void 0,e.account.id,this.logger),a=await this.generateAuthenticationResult(e,t,o,s,r.canonicalAuthority,n);return this.cacheAccount(s),this.cacheNativeTokens(e,t,i,o,a.accessToken,a.tenantId,n),a}createHomeAccountIdentifier(e,t){return g.r.generateHomeAccountId(e.client_info||c.gT.EMPTY_STRING,Oe.a.Default,this.logger,this.browserCrypto,t)}generateScopes(e,t){return e.scope?le.i.fromString(e.scope):le.i.fromString(t.scope)}async generatePopAccessToken(e,t){if(t.tokenType===c.hO.POP){if(e.shr)return this.logger.trace("handleNativeServerResponse: SHR is enabled in native layer"),e.shr;const n=new ge(this.browserCrypto),r={resourceRequestMethod:t.resourceRequestMethod,resourceRequestUri:t.resourceRequestUri,shrClaims:t.shrClaims,shrNonce:t.shrNonce};if(!t.keyId)throw(0,u.zP)(d.Of);return n.signPopToken(e.access_token,t.keyId,r)}return e.access_token}async generateAuthenticationResult(e,t,n,r,o,i){const s=this.addTelemetryFromNativeResponse(e),a=e.scope?le.i.fromString(e.scope):le.i.fromString(t.scope),h=e.account.properties||{},l=h.UID||n.oid||n.sub||c.gT.EMPTY_STRING,u=h.TenantId||n.tid||c.gT.EMPTY_STRING,d=(0,fe.$f)(r.getAccountInfo(),void 0,n),g=await this.generatePopAccessToken(e,t),p=t.tokenType===c.hO.POP?c.hO.POP:c.hO.BEARER;return{authority:o,uniqueId:l,tenantId:u,scopes:a.asArray(),account:d,idToken:e.id_token,idTokenClaims:n,accessToken:g,fromCache:!!s&&this.isResponseFromCache(s),expiresOn:new Date(1e3*Number(i+e.expires_in)),tokenType:p,correlationId:this.correlationId,state:e.state,fromNativeBroker:!0}}cacheAccount(e){this.browserStorage.setAccount(e),this.browserStorage.removeAccountContext(e).catch((e=>{this.logger.error(`Error occurred while removing account context from browser storage. ${e}`)}))}cacheNativeTokens(e,t,n,r,o,i,s){const a=f.Md(n,t.authority,e.id_token||"",t.clientId,r.tid||""),h=s+(t.tokenType===c.hO.POP?c.gT.SHR_NONCE_VALIDITY:("string"==typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0),l=this.generateScopes(e,t),u=f.Ds(n,t.authority,o,t.clientId,r.tid||i,l.printScopes(),h,0,U.t),d=new k(void 0,a,u);this.nativeStorageManager.saveCacheRecord(d,t.storeInCache)}addTelemetryFromNativeResponse(e){const t=this.getMATSFromResponse(e);return t?(this.performanceClient.addFields({extensionId:this.nativeMessageHandler.getExtensionId(),extensionVersion:this.nativeMessageHandler.getExtensionVersion(),matsBrokerVersion:t.broker_version,matsAccountJoinOnStart:t.account_join_on_start,matsAccountJoinOnEnd:t.account_join_on_end,matsDeviceJoin:t.device_join,matsPromptBehavior:t.prompt_behavior,matsApiErrorCode:t.api_error_code,matsUiVisible:t.ui_visible,matsSilentCode:t.silent_code,matsSilentBiSubCode:t.silent_bi_sub_code,matsSilentMessage:t.silent_message,matsSilentStatus:t.silent_status,matsHttpStatus:t.http_status,matsHttpEventCount:t.http_event_count},this.correlationId),t):null}validateNativeResponse(e){if(e.hasOwnProperty("access_token")&&e.hasOwnProperty("id_token")&&e.hasOwnProperty("client_info")&&e.hasOwnProperty("account")&&e.hasOwnProperty("scope")&&e.hasOwnProperty("expires_in"))return e;throw(0,l.MD)(Pe.g,"Response missing expected properties.")}getMATSFromResponse(e){if(e.properties.MATS)try{return JSON.parse(e.properties.MATS)}catch(e){this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead")}return null}isResponseFromCache(e){return void 0===e.is_cached?(this.logger.verbose("NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false."),!1):!!e.is_cached}async initializeNativeRequest(e){this.logger.trace("NativeInteractionClient - initializeNativeRequest called");const t=e.authority||this.config.auth.authority;e.account&&await this.validateRequestAuthority(t,e.account);const n=new B.G(t);n.validateAsUri();const{scopes:r,...o}=e,i=new le.i(r||[]);i.appendScopes(c.f_);const h={...o,accountId:this.accountId,clientId:this.config.auth.clientId,authority:n.urlString,
2scope:i.printScopes(),redirectUri:this.getRedirectUri(e.redirectUri),prompt:(()=>{switch(this.apiId){case S.WN.ssoSilent:case S.WN.acquireTokenSilent_silentFlow:return this.logger.trace("initializeNativeRequest: silent request sets prompt to none"),c.NJ.NONE}if(e.prompt)switch(e.prompt){case c.NJ.NONE:case c.NJ.CONSENT:case c.NJ.LOGIN:return this.logger.trace("initializeNativeRequest: prompt is compatible with native flow"),e.prompt;default:throw this.logger.trace(`initializeNativeRequest: prompt = ${e.prompt} is not compatible with native flow`),(0,E.Z_)(x.o9)}else this.logger.trace("initializeNativeRequest: prompt was not provided")})(),correlationId:this.correlationId,tokenType:e.authenticationScheme,windowTitleSubstring:document.title,extraParameters:{...e.extraQueryParameters,...e.tokenQueryParameters},extendedExpiryToken:!1};if(this.handleExtraBrokerParams(h),h.extraParameters=h.extraParameters||{},h.extraParameters.telemetry=S.BD.MATS_TELEMETRY,e.authenticationScheme===c.hO.POP){const t={resourceRequestUri:e.resourceRequestUri,resourceRequestMethod:e.resourceRequestMethod,shrClaims:e.shrClaims,shrNonce:e.shrNonce},n=new ge(this.browserCrypto),r=await(0,a.i)(n.generateCnf.bind(n),s.Ak.PopTokenGenerateCnf,this.logger,this.performanceClient,this.correlationId)(t,this.logger);h.reqCnf=r.reqCnfHash,h.keyId=r.kid}return h}handleExtraBrokerParams(e){if(e.extraParameters&&e.extraParameters.hasOwnProperty(Ke)&&e.extraParameters.hasOwnProperty(Be)&&e.extraParameters.hasOwnProperty(he.Cx)){const t=e.extraParameters[he.Cx],n=e.redirectUri,r=e.extraParameters[Be];e.extraParameters={child_client_id:t,child_redirect_uri:n},e.redirectUri=r}}}class ze{constructor(e,t,n,r){this.logger=e,this.handshakeTimeoutMs=t,this.extensionId=r,this.resolvers=new Map,this.handshakeResolvers=new Map,this.messageChannel=new MessageChannel,this.windowListener=this.onWindowMessage.bind(this),this.performanceClient=n,this.handshakeEvent=n.startMeasurement(s.Ak.NativeMessageHandlerHandshake)}async sendMessage(e){this.logger.trace("NativeMessageHandler - sendMessage called.");const t={channel:S.BD.CHANNEL_ID,extensionId:this.extensionId,responseId:(0,Ie.nn)(),body:e};return this.logger.trace("NativeMessageHandler - Sending request to browser extension"),this.logger.tracePii(`NativeMessageHandler - Sending request to browser extension: ${JSON.stringify(t)}`),this.messageChannel.port1.postMessage(t),new Promise(((e,n)=>{this.resolvers.set(t.responseId,{resolve:e,reject:n})}))}static async createProvider(e,t,n){e.trace("NativeMessageHandler - createProvider called.");try{const r=new ze(e,t,n,S.BD.PREFERRED_EXTENSION_ID);return await r.sendHandshakeRequest(),r}catch(r){const o=new ze(e,t,n);return await o.sendHandshakeRequest(),o}}async sendHandshakeRequest(){this.logger.trace("NativeMessageHandler - sendHandshakeRequest called."),window.addEventListener("message",this.windowListener,!1);const e={channel:S.BD.CHANNEL_ID,extensionId:this.extensionId,responseId:(0,Ie.nn)(),body:{method:S.Ky.HandshakeRequest}};return this.handshakeEvent.add({extensionId:this.extensionId,extensionHandshakeTimeoutMs:this.handshakeTimeoutMs}),this.messageChannel.port1.onmessage=e=>{this.onChannelMessage(e)},window.postMessage(e,window.origin,[this.messageChannel.port2]),new Promise(((t,n)=>{this.handshakeResolvers.set(e.responseId,{resolve:t,reject:n}),this.timeoutId=window.setTimeout((()=>{window.removeEventListener("message",this.windowListener,!1),this.messageChannel.port1.close(),this.messageChannel.port2.close(),this.handshakeEvent.end({extensionHandshakeTimedOut:!0,success:!1}),n((0,E.Z_)(x.hR)),this.handshakeResolvers.delete(e.responseId)}),this.handshakeTimeoutMs)}))}onWindowMessage(e){if(this.logger.trace("NativeMessageHandler - onWindowMessage called"),e.source!==window)return;const t=e.data;if(t.channel&&t.channel===S.BD.CHANNEL_ID&&(!t.extensionId||t.extensionId===this.extensionId)&&t.body.method===S.Ky.HandshakeRequest){const e=this.handshakeResolvers.get(t.responseId);if(!e)return void this.logger.trace(`NativeMessageHandler.onWindowMessage - resolver can't be found for request ${t.responseId}`);this.logger.verbose(t.extensionId?`Extension with id: ${t.extensionId}
2 not installed`:"No extension installed"),clearTimeout(this.timeoutId),this.messageChannel.port1.close(),this.messageChannel.port2.close(),window.removeEventListener("message",this.windowListener,!1),this.handshakeEvent.end({success:!1,extensionInstalled:!1}),e.reject((0,E.Z_)(x.Wb))}}onChannelMessage(e){this.logger.trace("NativeMessageHandler - onChannelMessage called.");const t=e.data,n=this.resolvers.get(t.responseId),r=this.handshakeResolvers.get(t.responseId);try{const e=t.body.method;if(e===S.Ky.Response){if(!n)return;const e=t.body.response;if(this.logger.trace("NativeMessageHandler - Received response from browser extension"),this.logger.tracePii(`NativeMessageHandler - Received response from browser extension: ${JSON.stringify(e)}`),"Success"!==e.status)n.reject(He(e.code,e.description,e.ext));else{if(!e.result)throw(0,l.MD)(Pe.g,"Event does not contain result.");e.result.code&&e.result.description?n.reject(He(e.result.code,e.result.description,e.result.ext)):n.resolve(e.result)}this.resolvers.delete(t.responseId)}else if(e===S.Ky.HandshakeResponse){if(!r)return void this.logger.trace(`NativeMessageHandler.onChannelMessage - resolver can't be found for request ${t.responseId}`);clearTimeout(this.timeoutId),window.removeEventListener("message",this.windowListener,!1),this.extensionId=t.extensionId,this.extensionVersion=t.body.version,this.logger.verbose(`NativeMessageHandler - Received HandshakeResponse from extension: ${this.extensionId}`),this.handshakeEvent.end({extensionInstalled:!0,success:!0}),r.resolve(),this.handshakeResolvers.delete(t.responseId)}}catch(t){this.logger.error("Error parsing response from WAM Extension"),this.logger.errorPii(`Error parsing response from WAM Extension: ${t}`),this.logger.errorPii(`Unable to parse ${e}`),n?n.reject(t):r&&r.reject(t)}}getExtensionId(){return this.extensionId}getExtensionVersion(){return this.extensionVersion}static isNativeAvailable(e,t,n,r){if(t.trace("isNativeAvailable called"),!e.system.allowNativeBroker)return t.trace("isNativeAvailable: allowNativeBroker is not enabled, returning false"),!1;if(!n)return t.trace("isNativeAvailable: WAM extension provider is not initialized, returning false"),!1;if(r)switch(r){case c.hO.BEARER:case c.hO.POP:return t.trace("isNativeAvailable: authenticationScheme is supported, returning true"),!0;default:return t.trace("isNativeAvailable: authenticationScheme is not supported, returning false"),!1}return!0}}class Ge{constructor(e,t,n,r,o){this.authModule=e,this.browserStorage=t,this.authCodeRequest=n,this.logger=r,this.performanceClient=o}async handleCodeResponse(e,t){let n;this.performanceClient.addQueueMeasurement(s.Ak.HandleCodeResponse,t.correlationId);try{n=this.authModule.handleFragmentResponse(e,t.state)}catch(e){throw e instanceof V.n&&e.subError===x.h7?(0,E.Z_)(x.h7):e}return(0,a.i)(this.handleCodeResponseFromServer.bind(this),s.Ak.HandleCodeResponseFromServer,this.logger,this.performanceClient,t.correlationId)(n,t)}async handleCodeResponseFromServer(e,t,n=!0){if(this.performanceClient.addQueueMeasurement(s.Ak.HandleCodeResponseFromServer,t.correlationId),this.logger.trace("InteractionHandler.handleCodeResponseFromServer called"),this.authCodeRequest.code=e.code,e.cloud_instance_host_name&&await(0,a.i)(this.authModule.updateAuthority.bind(this.authModule),s.Ak.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,t.correlationId)(e.cloud_instance_host_name,t.correlationId),n&&(e.nonce=t.nonce||void 0),e.state=t.state,e.client_info)this.authCodeRequest.clientInfo=e.client_info;else{const e=this.createCcsCredentials(t);e&&(this.authCodeRequest.ccsCredential=e)}return await(0,a.i)(this.authModule.acquireToken.bind(this.authModule),s.Ak.AuthClientAcquireToken,this.logger,this.performanceClient,t.correlationId)(this.authCodeRequest,e)}createCcsCredentials(e){return e.account?{credential:e.account.homeAccountId,type:A}:e.loginHint?{credential:e.loginHint,type:I}:null}}var $e=n(1002);function Qe(e,t,n){const r=$e.F(e);if(!r)throw $e.q(e)?(n.error(`A ${t} is present in the iframe but it does not contain known properties. It's likely that the ${t} has been replaced by code running on the redirectUri page.`),n.errorPii(`The ${t} detected is: ${e}`),(0,E.Z_)(x.S_)):(n.error(`The request has returned to the redirectUri but a ${t} is not present. It's likely that the ${t} has been removed or the page has been redirected by code running on the redirectUri page.`),(0,E.Z_)(x.nF));return r}class We extends be{constructor(e,t,n,r,o,i,s,a,c,h){super(e,t,n,r,o,i,s,c,h),this.unloadWindow=this.unloadWindow.bind(this),this.nativeStorage=a}acquireToken(e){try{const t=this.generatePopupName(e.scopes||c.f_,e.authority||this.config.auth.authority),n=e.popupWindowAttributes||{};if(this.config.system.asyncPopups)return this.logger.verbose("asyncPopups set to true, acquiring token"),this.acquireTokenPopupAsync(e,t,n);{this.logger.verbose("asyncPopup set to false, opening popup before acquiring token");const r=this.openSizedPopup("about:blank",t,n);return this.acquireTokenPopupAsync(e,t,n,r)}}catch(e){return Promise.reject(e)}}logout(e){try{this.logger.verbose("logoutPopup called");
2const t=this.initializeLogoutRequest(e),n=this.generateLogoutPopupName(t),r=e&&e.authority,o=e&&e.mainWindowRedirectUri,i=e?.popupWindowAttributes||{};if(this.config.system.asyncPopups)return this.logger.verbose("asyncPopups set to true"),this.logoutPopupAsync(t,n,i,r,void 0,o);{this.logger.verbose("asyncPopup set to false, opening popup");const e=this.openSizedPopup("about:blank",n,i);return this.logoutPopupAsync(t,n,i,r,e,o)}}catch(e){return Promise.reject(e)}}async acquireTokenPopupAsync(e,t,n,r){this.logger.verbose("acquireTokenPopupAsync called");const o=this.initializeServerTelemetryManager(S.WN.acquireTokenPopup),i=await(0,a.i)(this.initializeAuthorizationRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,S.s_.Popup);W(i.authority);try{const c=await(0,a.i)(this.initializeAuthorizationCodeRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(i),h=await(0,a.i)(this.createAuthCodeClient.bind(this),s.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(o,i.authority,i.azureCloudOptions),l=ze.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme);let u;l&&(u=this.performanceClient.startMeasurement(s.Ak.FetchAccountIdWithNativeBroker,e.correlationId));const d=await h.getAuthCodeUrl({...i,nativeBroker:l}),g=new Ge(h,this.browserStorage,c,this.logger,this.performanceClient),p={popup:r,popupName:t,popupWindowAttributes:n},m=this.initiateAuthRequest(d,p);this.eventHandler.emitEvent(j.t.POPUP_OPENED,S.s_.Popup,{popupWindow:m},null);const f=await this.monitorPopupForHash(m),C=(0,a.d)(Qe,s.Ak.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(f,this.config.auth.OIDCOptions.serverResponseType,this.logger);if(J.removeThrottle(this.browserStorage,this.config.auth.clientId,c),C.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),u&&u.end({success:!0,isNativeBroker:!0}),!this.nativeMessageHandler)throw(0,E.Z_)(x.V7);const e=new Fe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,S.WN.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,C.accountId,this.nativeStorage,i.correlationId),{userRequestState:t}=v.parseRequestState(this.browserCrypto,i.state);return await e.acquireToken({...i,state:t,prompt:void 0})}return await g.handleCodeResponse(C,i)}catch(e){throw r&&r.close(),e instanceof l.l4&&(e.setCorrelationId(this.correlationId),o.cacheFailedRequest(e)),e}}async logoutPopupAsync(e,t,n,r,o,i){this.logger.verbose("logoutPopupAsync called"),this.eventHandler.emitEvent(j.t.LOGOUT_START,S.s_.Popup,e);const c=this.initializeServerTelemetryManager(S.WN.logoutPopup);try{await this.clearCacheOnLogout(e.account);const h=await(0,a.i)(this.createAuthCodeClient.bind(this),s.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(c,r);try{h.authority.endSessionEndpoint}catch{if(e.account?.homeAccountId&&e.postLogoutRedirectUri&&h.authority.protocolMode===Z.A.OIDC){if(this.browserStorage.removeAccount(e.account?.homeAccountId),this.eventHandler.emitEvent(j.t.LOGOUT_SUCCESS,S.s_.Popup,e),i){const e={apiId:S.WN.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=B.G.getAbsoluteUrl(i,z());await this.navigationClient.navigateInternal(t,e)}return void(o&&o.close())}}const l=h.getLogoutUri(e);this.eventHandler.emitEvent(j.t.LOGOUT_SUCCESS,S.s_.Popup,e);const u=this.openPopup(l,{popupName:t,popupWindowAttributes:n,popup:o});if(this.eventHandler.emitEvent(j.t.POPUP_OPENED,S.s_.Popup,{popupWindow:u},null),await this.monitorPopupForHash(u).catch((()=>{})),i){const e={apiId:S.WN.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=B.G.getAbsoluteUrl(i,z());this.logger.verbose("Redirecting main window to url specified in the request"),this.logger.verbosePii(`Redirecting main window to: ${t}`),await this.navigationClient.navigateInternal(t,e)}else this.logger.verbose("No main window navigation requested")}catch(e){throw o&&o.close(),e instanceof l.l4&&(e.setCorrelationId(this.correlationId),c.cacheFailedRequest(e)),this.browserStorage.setInteractionInProgress(!1),this.eventHandler.emitEvent(j.t.LOGOUT_FAILURE,S.s_.Popup,null,e),this.eventHandler.emitEvent(j.t.LOGOUT_END,S.s_.Popup),e}this.eventHandler.emitEvent(j.t.LOGOUT_END,S.s_.Popup)}initiateAuthRequest(e,t){if(e)return this.logger.infoPii(`Navigate to: ${e}`),this.openPopup(e,t);throw this.logger.error("Navigate url is empty"),(0,E.Z_)(x._c)}monitorPopupForHash(e){return new Promise(((t,n)=>{this.logger.verbose("PopupHandler.monitorPopupForHash - polling started");const r=setInterval((()=>
2{if(e.closed)return this.logger.error("PopupHandler.monitorPopupForHash - window closed"),clearInterval(r),void n((0,E.Z_)(x.h7));let o="";try{o=e.location.href}catch(e){}if(!o||"about:blank"===o)return;clearInterval(r);let i="";const s=this.config.auth.OIDCOptions.serverResponseType;e&&(i=s===c.rg.QUERY?e.location.search:e.location.hash),this.logger.verbose("PopupHandler.monitorPopupForHash - popup window is on same origin as caller"),t(i)}),this.config.system.pollIntervalMilliseconds)})).finally((()=>{this.cleanPopup(e)}))}openPopup(e,t){try{let n;if(t.popup?(n=t.popup,this.logger.verbosePii(`Navigating popup window to: ${e}`),n.location.assign(e)):void 0===t.popup&&(this.logger.verbosePii(`Opening popup window to: ${e}`),n=this.openSizedPopup(e,t.popupName,t.popupWindowAttributes)),!n)throw(0,E.Z_)(x.H);return n.focus&&n.focus(),this.currentWindow=n,window.addEventListener("beforeunload",this.unloadWindow),n}catch(e){throw this.logger.error("error opening popup "+e.message),this.browserStorage.setInteractionInProgress(!1),(0,E.Z_)(x.E)}}openSizedPopup(e,t,n){const r=window.screenLeft?window.screenLeft:window.screenX,o=window.screenTop?window.screenTop:window.screenY,i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,s=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;let a=n.popupSize?.width,c=n.popupSize?.height,h=n.popupPosition?.top,l=n.popupPosition?.left;return(!a||a<0||a>i)&&(this.logger.verbose("Default popup window width used. Window width not configured or invalid."),a=S.qx.POPUP_WIDTH),(!c||c<0||c>s)&&(this.logger.verbose("Default popup window height used. Window height not configured or invalid."),c=S.qx.POPUP_HEIGHT),(!h||h<0||h>s)&&(this.logger.verbose("Default popup window top position used. Window top not configured or invalid."),h=Math.max(0,s/2-S.qx.POPUP_HEIGHT/2+o)),(!l||l<0||l>i)&&(this.logger.verbose("Default popup window left position used. Window left not configured or invalid."),l=Math.max(0,i/2-S.qx.POPUP_WIDTH/2+r)),window.open(e,t,`width=${a}, height=${c}, top=${h}, left=${l}, scrollbars=yes`)}unloadWindow(e){this.browserStorage.cleanRequestByInteractionType(S.s_.Popup),this.currentWindow&&this.currentWindow.close(),e.preventDefault()}cleanPopup(e){e&&e.close(),window.removeEventListener("beforeunload",this.unloadWindow),this.browserStorage.setInteractionInProgress(!1)}generatePopupName(e,t){return`${S.qx.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${e.join("-")}.${t}.${this.correlationId}`}generateLogoutPopupName(e){const t=e.account&&e.account.homeAccountId;return`${S.qx.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${t}.${this.correlationId}`}}class je{constructor(e,t,n,r,o){this.authModule=e,this.browserStorage=t,this.authCodeRequest=n,this.logger=r,this.performanceClient=o}async initiateAuthRequest(e,t){if(this.logger.verbose("RedirectHandler.initiateAuthRequest called"),e){t.redirectStartPage&&(this.logger.verbose("RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page"),this.browserStorage.setTemporaryCache(S.c4.ORIGIN_URI,t.redirectStartPage,!0)),this.browserStorage.setTemporaryCache(S.c4.CORRELATION_ID,this.authCodeRequest.correlationId,!0),this.browserStorage.cacheCodeRequest(this.authCodeRequest),this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${e}`);const n={apiId:S.WN.acquireTokenRedirect,timeout:t.redirectTimeout,noHistory:!1};if("function"==typeof t.onRedirectNavigate){this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback");return!1!==t.onRedirectNavigate(e)?(this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating"),void await t.navigationClient.navigateExternal(e,n)):void this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation")}return this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url"),void await t.navigationClient.navigateExternal(e,n)}throw this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty"),(0,E.Z_)(x._c)}async handleCodeResponse(e,t){this.logger.verbose("RedirectHandler.handleCodeResponse called"),this.browserStorage.setInteractionInProgress(!1);const n=this.browserStorage.generateStateKey(t),r=this.browserStorage.getTemporaryCache(n);if(!r)throw(0,u.zP)(d.LV,"Cached State");let o;try{o=this.authModule.handleFragmentResponse(e,r)}catch(e){throw e instanceof V.n&&e.subError===x.h7?(0,E.Z_)(x.h7):e}const i=this.browserStorage.generateNonceKey(r),c=this.browserStorage.getTemporaryCache(i);if(this.authCodeRequest.code=o.code,o.cloud_instance_host_name&&await(0,a.i)(this.authModule.updateAuthority.bind(this.authModule),s.Ak.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,this.authCodeRequest.correlationId)(o.cloud_instance_host_name,this.authCodeRequest.correlationId),o.nonce=c||void 0,o.state=r,o.client_info)this.authCodeRequest.clientInfo=o.client_info;else{const e=this.checkCcsCredentials();e&&(this.authCodeRequest.ccsCredential=e)}const h=await this.authModule.acquireToken(this.authCodeRequest,o);return this.browserStorage.cleanRequestByState(t),h}checkCcsCredentials(){const e=this.browserStorage.getTemporaryCache(S.c4.CCS_CREDENTIAL,!0);if(e)try{return JSON.parse(e)}catch(t){this.authModule.logger.error("Cache credential could not be parsed"),this.authModule.logger.errorPii(`Cache 
2credential could not be parsed: ${e}`)}return null}}class Ye extends be{constructor(e,t,n,r,o,i,s,a,c,h){super(e,t,n,r,o,i,s,c,h),this.nativeStorage=a}async acquireToken(e){const t=await(0,a.i)(this.initializeAuthorizationRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,S.s_.Redirect);this.browserStorage.updateCacheEntries(t.state,t.nonce,t.authority,t.loginHint||"",t.account||null);const n=this.initializeServerTelemetryManager(S.WN.acquireTokenRedirect),r=e=>{e.persisted&&(this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache."),this.browserStorage.cleanRequestByState(t.state),this.eventHandler.emitEvent(j.t.RESTORE_FROM_BFCACHE,S.s_.Redirect))};try{const o=await(0,a.i)(this.initializeAuthorizationCodeRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(t),i=await(0,a.i)(this.createAuthCodeClient.bind(this),s.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(n,t.authority,t.azureCloudOptions),c=new je(i,this.browserStorage,o,this.logger,this.performanceClient),h=await i.getAuthCodeUrl({...t,nativeBroker:ze.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme)}),l=this.getRedirectStartPage(e.redirectStartPage);return this.logger.verbosePii(`Redirect start page: ${l}`),window.addEventListener("pageshow",r),await c.initiateAuthRequest(h,{navigationClient:this.navigationClient,redirectTimeout:this.config.system.redirectNavigationTimeout,redirectStartPage:l,onRedirectNavigate:e.onRedirectNavigate})}catch(e){throw e instanceof l.l4&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),window.removeEventListener("pageshow",r),this.browserStorage.cleanRequestByState(t.state),e}}async handleRedirectPromise(e){const t=this.initializeServerTelemetryManager(S.WN.handleRedirectPromise);try{if(!this.browserStorage.isInteractionInProgress(!0))return this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null."),null;const[n,r]=this.getRedirectResponse(e||"");if(!n)return this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache."),this.browserStorage.cleanRequestByInteractionType(S.s_.Redirect),null;const o=this.browserStorage.getTemporaryCache(S.c4.ORIGIN_URI,!0)||c.gT.EMPTY_STRING,i=B.G.removeHashFromUrl(o);if(i===B.G.removeHashFromUrl(window.location.href)&&this.config.auth.navigateToLoginRequestUrl){this.logger.verbose("Current page is loginRequestUrl, handling response"),o.indexOf("#")>-1&&function(e){const t=e.split("#");t.shift(),window.location.hash=t.length>0?t.join("#"):""}(o);return await this.handleResponse(n,t)}if(!this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response"),await this.handleResponse(n,t);if(!F()||this.config.system.allowRedirectInIframe){this.browserStorage.setTemporaryCache(S.c4.URL_HASH,r,!0);const e={apiId:S.WN.handleRedirectPromise,timeout:this.config.system.redirectNavigationTimeout,noHistory:!0};let i=!0;if(o&&"null"!==o)this.logger.verbose(`Navigating to loginRequestUrl: ${o}`),i=await this.navigationClient.navigateInternal(o,e);else{const t=function(){const e=new B.G(window.location.href).getUrlComponents();return`${e.Protocol}//${e.HostNameAndPort}/`}();this.browserStorage.setTemporaryCache(S.c4.ORIGIN_URI,t,!0),this.logger.warning("Unable to get valid login request url from cache, redirecting to home page"),i=await this.navigationClient.navigateInternal(t,e)}if(!i)return await this.handleResponse(n,t)}return null}catch(e){throw e instanceof l.l4&&(e.setCorrelationId(this.correlationId),t.cacheFailedRequest(e)),this.browserStorage.cleanRequestByInteractionType(S.s_.Redirect),e}}getRedirectResponse(e){this.logger.verbose("getRedirectResponseHash called");let t=e;t||(t=this.config.auth.OIDCOptions.serverResponseType===c.rg.QUERY?window.location.search:window.location.hash);let n=$e.F(t);if(n){try{!function(e,t,n){if(!e.state)throw(0,E.Z_)(x.Xk);const r=H(t,e.state);if(!r)throw(0,E.Z_)(x.$P);if(r.interactionType!==n)throw(0,E.Z_)(x.yK)}(n,this.browserCrypto,S.s_.Redirect)}catch(e){return e instanceof l.l4&&this.logger.error(`Interaction type validation failed due to ${e.errorCode}: ${e.errorMessage}`),[null,""]}return(r=window).location.hash="","function"==typeof r.history.replaceState&&r.history.replaceState(null,"",`${r.location.origin}${r.location.pathname}${r.location.search}`),this.logger.verbose("Hash contains known properties, returning response hash"),[n,t]}var r;const o=this.browserStorage.getTemporaryCache(S.c4.URL_HASH,!0);return this.browserStorage.removeItem(this.browserStorage.generateCacheKey(S.c4.URL_HASH)),o&&(n=$e.F(o),n)?(this.logger.verbose("Hash does not contain known properties, returning c
2ached hash"),[n,o]):[null,""]}async handleResponse(e,t){const n=e.state;if(!n)throw(0,E.Z_)(x.Xk);const r=this.browserStorage.getCachedRequest(n);if(this.logger.verbose("handleResponse called, retrieved cached request"),e.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw(0,E.Z_)(x.V7);const t=new Fe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,S.WN.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,e.accountId,this.nativeStorage,r.correlationId),{userRequestState:o}=v.parseRequestState(this.browserCrypto,n);return t.acquireToken({...r,state:o,prompt:void 0}).finally((()=>{this.browserStorage.cleanRequestByState(n)}))}const o=this.browserStorage.getCachedAuthority(n);if(!o)throw(0,E.Z_)(x.dT);const i=await(0,a.i)(this.createAuthCodeClient.bind(this),s.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(t,o);J.removeThrottle(this.browserStorage,this.config.auth.clientId,r);return new je(i,this.browserStorage,r,this.logger,this.performanceClient).handleCodeResponse(e,n)}async logout(e){this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e),n=this.initializeServerTelemetryManager(S.WN.logout);try{this.eventHandler.emitEvent(j.t.LOGOUT_START,S.s_.Redirect,e),await this.clearCacheOnLogout(t.account);const r={apiId:S.WN.logout,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},o=await(0,a.i)(this.createAuthCodeClient.bind(this),s.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(n,e&&e.authority);if(o.authority.protocolMode===Z.A.OIDC)try{o.authority.endSessionEndpoint}catch{if(t.account?.homeAccountId)return this.browserStorage.removeAccount(t.account?.homeAccountId),void this.eventHandler.emitEvent(j.t.LOGOUT_SUCCESS,S.s_.Redirect,t)}const i=o.getLogoutUri(t);if(this.eventHandler.emitEvent(j.t.LOGOUT_SUCCESS,S.s_.Redirect,t),!e||"function"!=typeof e.onRedirectNavigate)return this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),void await this.navigationClient.navigateExternal(i,r);if(!1!==e.onRedirectNavigate(i))return this.logger.verbose("Logout onRedirectNavigate did not return false, navigating"),this.browserStorage.getInteractionInProgress()||this.browserStorage.setInteractionInProgress(!0),void await this.navigationClient.navigateExternal(i,r);this.browserStorage.setInteractionInProgress(!1),this.logger.verbose("Logout onRedirectNavigate returned false, stopping navigation")}catch(e){throw e instanceof l.l4&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),this.eventHandler.emitEvent(j.t.LOGOUT_FAILURE,S.s_.Redirect,null,e),this.eventHandler.emitEvent(j.t.LOGOUT_END,S.s_.Redirect),e}this.eventHandler.emitEvent(j.t.LOGOUT_END,S.s_.Redirect)}getRedirectStartPage(e){const t=e||window.location.href;
2return B.G.getAbsoluteUrl(t,z())}}var Ve=n(9222);async function Je(e,t,n,r,o){if(t.addQueueMeasurement(s.Ak.SilentHandlerInitiateAuthRequest,r),!e)throw n.info("Navigate url is empty"),(0,E.Z_)(x._c);return o?(0,a.i)(Xe,s.Ak.SilentHandlerLoadFrame,n,t,r)(e,o,t,r):(0,a.d)(et,s.Ak.SilentHandlerLoadFrameSync,n,t,r)(e)}async function Ze(e,t,n,r,o,i,h){return r.addQueueMeasurement(s.Ak.SilentHandlerMonitorIframeForHash,i),new Promise(((r,i)=>{t<Ve.Is&&o.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${t}ms) than the default (${Ve.Is}ms). This may result in timeouts.`);const s=window.setTimeout((()=>{window.clearInterval(a),i((0,E.Z_)(x.JA))}),t),a=window.setInterval((()=>{let t="";const n=e.contentWindow;try{t=n?n.location.href:""}catch(e){}if(!t||"about:blank"===t)return;let o="";n&&(o=h===c.rg.QUERY?n.location.search:n.location.hash),window.clearTimeout(s),window.clearInterval(a),r(o)}),n)})).finally((()=>{(0,a.d)(nt,s.Ak.RemoveHiddenIframe,o,r,i)(e)}))}function Xe(e,t,n,r){return n.addQueueMeasurement(s.Ak.SilentHandlerLoadFrame,r),new Promise(((n,r)=>{const o=tt();window.setTimeout((()=>{o?(o.src=e,n(o)):r("Unable to load iframe")}),t)}))}function et(e){const t=tt();return t.src=e,t}function tt(){const e=document.createElement("iframe");return e.style.visibility="hidden",e.style.position="absolute",e.style.width=e.style.height="0",e.style.border="0",e.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),document.body.appendChild(e),e}function nt(e){document.body===e.parentNode&&document.body.removeChild(e)}class rt extends be{constructor(e,t,n,r,o,i,s,a,c,h,l){super(e,t,n,r,o,i,a,h,l),this.apiId=s,this.nativeStorage=c}async acquireToken(e){if(this.performanceClient.addQueueMeasurement(s.Ak.SilentIframeClientAcquireToken,e.correlationId),e.loginHint||e.sid||e.account&&e.account.username||this.logger.warning("No user hint provided. The authorization server may need more information to complete this request."),e.prompt&&e.prompt!==c.NJ.NONE&&e.prompt!==c.NJ.NO_SESSION)throw(0,E.Z_)(x.WQ);const t=await(0,a.i)(this.initializeAuthorizationRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)({...e,prompt:e.prompt||c.NJ.NONE},S.s_.Silent);W(t.authority);const n=this.initializeServerTelemetryManager(this.apiId);try{const r=await(0,a.i)(this.createAuthCodeClient.bind(this),s.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,e.correlationId)(n,t.authority,t.azureCloudOptions);return await(0,a.i)(this.silentTokenHelper.bind(this),s.Ak.SilentIframeClientTokenHelper,this.logger,this.performanceClient,e.correlationId)(r,t)}catch(e){throw e instanceof l.l4&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),e}}logout(){return Promise.reject((0,E.Z_)(x.I9))}async silentTokenHelper(e,t){const n=t.correlationId;this.performanceClient.addQueueMeasurement(s.Ak.SilentIframeClientTokenHelper,n);const r=await(0,a.i)(this.initializeAuthorizationCodeRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,n)(t),o=await(0,a.i)(e.getAuthCodeUrl.bind(e),s.Ak.GetAuthCodeUrl,this.logger,this.performanceClient,n)({...t,nativeBroker:ze.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,t.authenticationScheme)}),i=new Ge(e,this.browserStorage,r,this.logger,this.performanceClient),h=await(0,a.i)(Je,s.Ak.SilentHandlerInitiateAuthRequest,this.logger,this.performanceClient,n)(o,this.performanceClient,this.logger,n,this.config.system.navigateFrameWait),l=this.config.auth.OIDCOptions.serverResponseType,u=await(0,a.i)(Ze,s.Ak.SilentHandlerMonitorIframeForHash,this.logger,this.performanceClient,n)(h,this.config.system.iframeHashTimeout,this.config.system.pollIntervalMilliseconds,this.performanceClient,this.logger,n,l),d=(0,a.d)(Qe,s.Ak.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(u,l,this.logger);if(d.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw(0,E.Z_)(x.V7);const e=new Fe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.apiId,this.performanceClient,this.nativeMessageHandler,d.accountId,this.browserStorage,n),{userRequestState:r}=v.parseRequestState(this.browserCrypto,t.state);return(0,a.i)(e.acquireToken.bind(e),s.Ak.NativeInteractionClientAcquireToken,this.logger,this.performanceClient,n)({...t,state:r,prompt:t.prompt||c.NJ.NONE})}return(0,a.i)(i.handleCodeResponse.bind(i),s.Ak.HandleCodeResponse,this.logger,this.performanceClient,n)(d,t)}}class ot extends be{async acquireToken(e){this.performanceClient.addQueueMeasurement(s.Ak.SilentRefreshClientAcquireToken,e.correlationId);const t=await(0,a.i)(this.initializeBaseRequest.bind(this),s.Ak.InitializeBaseRequest,this.logger,this.performanceClient,e.correlationId)(e,e.account),n={...e,...t},r=this.initializeServerTelemetryManager(S.WN.acquireTokenSilent_silentFlow),o=await this.createRefreshTokenClient(r,n.authority,n.azureCloudOptions);return(0,a.i)(o.acquireTokenByRefreshToken.bind(o),s.Ak.RefreshTokenClientAcquireTokenByRefreshToken,this.logger,this.performanceClient,e.correlationId)(n).catch((e=>{throw e.setCorrelationId(this.correlationId),r.cacheFailedRequest(e),e}))}logout(){return Promise.reject((0,E.Z_)(x.I9))}async createRefreshTokenClient(e,t,n){const r=await(0,a.i)(this.getClientConfiguration.bind(this),s.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e,t,n);return new Ue(r,this.performanceClient)}}class it{constructor(e,t,n,r){this.isBrowserEnvironment="undefined"!=typeof window,this.config=e,this.storage=t,this.logger=n,this.cryptoObj=r}loadExternalTokens(e,t,n){if(this.logger.info("TokenCache - loadExternalTokens called"),!t.id_token)throw(0,E.Z_)(x.Jd);
2const r=w.Z_(t.id_token,U.t);let o,s,a;if(e.account)a=g.r.createFromAccountInfo(e.account),o=new k(a,this.loadIdToken(t.id_token,a.homeAccountId,e.account.environment,e.account.tenantId),this.loadAccessToken(e,t,a.homeAccountId,e.account.environment,e.account.tenantId,n),this.loadRefreshToken(e,t,a.homeAccountId,e.account.environment));else{if(!e.authority)throw(0,E.Z_)(x.Jd);{const c=i.WU.generateAuthority(e.authority,e.azureCloudOptions),h={protocolMode:this.config.auth.protocolMode,knownAuthorities:this.config.auth.knownAuthorities,cloudDiscoveryMetadata:this.config.auth.cloudDiscoveryMetadata,authorityMetadata:this.config.auth.authorityMetadata,skipAuthorityMetadataCache:this.config.auth.skipAuthorityMetadataCache};if(s=new i.WU(c,this.config.system.networkClient,this.storage,h,this.logger),n.clientInfo)this.logger.trace("TokenCache - homeAccountId from options"),a=this.loadAccount(r,s,n.clientInfo),o=new k(a,this.loadIdToken(t.id_token,a.homeAccountId,s.hostnameAndPort,s.tenant),this.loadAccessToken(e,t,a.homeAccountId,s.hostnameAndPort,s.tenant,n),this.loadRefreshToken(e,t,a.homeAccountId,s.hostnameAndPort));else{if(!t.client_info)throw(0,E.Z_)(x.Jd);this.logger.trace("TokenCache - homeAccountId from response"),a=this.loadAccount(r,s,t.client_info),o=new k(a,this.loadIdToken(t.id_token,a.homeAccountId,s.hostnameAndPort,s.tenant),this.loadAccessToken(e,t,a.homeAccountId,s.hostnameAndPort,s.tenant,n),this.loadRefreshToken(e,t,a.homeAccountId,s.hostnameAndPort))}}}return this.generateAuthenticationResult(e,r,o,a,s)}loadAccount(e,t,n,r){if(this.isBrowserEnvironment){let o;if(this.logger.verbose("TokenCache - loading account"),r?o=r:void 0!==t.authorityType&&n&&(o=g.r.generateHomeAccountId(n,t.authorityType,this.logger,this.cryptoObj,e)),!o)throw(0,E.Z_)(x.Jd);const i=e.tid,s=_e(this.storage,t,o,e,U.t,n,i,void 0,void 0,this.logger);return this.storage.setAccount(s),s}throw(0,E.Z_)(x.Jd)}loadIdToken(e,t,n,r){const o=f.Md(t,n,e,this.config.auth.clientId,r);if(this.isBrowserEnvironment)return this.logger.verbose("TokenCache - loading id token"),this.storage.setIdTokenCredential(o),o;throw(0,E.Z_)(x.Jd)}loadAccessToken(e,t,n,r,o,i){if(!t.access_token)return this.logger.verbose("TokenCache - No access token provided for caching"),null;if(!t.expires_in)throw(0,E.Z_)(x.Jd);if(!i.extendedExpiresOn)throw(0,E.Z_)(x.Jd);const s=new le.i(e.scopes).printScopes(),a=i.expiresOn||t.expires_in+(new Date).getTime()/1e3,c=i.extendedExpiresOn,h=f.Ds(n,r,t.access_token,this.config.auth.clientId,o,s,a,c,U.t);if(this.isBrowserEnvironment)return this.logger.verbose("TokenCache - loading access token"),this.storage.setAccessTokenCredential(h),h;throw(0,E.Z_)(x.Jd)}loadRefreshToken(e,t,n,r){if(!t.refresh_token)return this.logger.verbose("TokenCache - No refresh token provided for caching"),null;const o=f.OJ(n,r,t.refresh_token,this.config.auth.clientId);if(this.isBrowserEnvironment)return this.logger.verbose("TokenCache - loading refresh token"),this.storage.setRefreshTokenCredential(o),o;throw(0,E.Z_)(x.Jd)}generateAuthenticationResult(e,t,n,r,o){let i,s=c.gT.EMPTY_STRING,a=[],h=null;n?.accessToken&&(s=n.accessToken.secret,a=le.i.fromString(n.accessToken.target).asArray(),h=new Date(1e3*Number(n.accessToken.expiresOn)),i=new Date(1e3*Number(n.accessToken.extendedExpiresOn)));const l=t.oid||t.sub||c.gT.EMPTY_STRING,u=t.tid||c.gT.EMPTY_STRING;return{authority:o?o.canonicalAuthority:c.gT.EMPTY_STRING,uniqueId:l,tenantId:u,scopes:a,account:r.getAccountInfo(),idToken:n.idToken?.secret||"",idTokenClaims:t||{},accessToken:s,fromCache:!0,expiresOn:h,correlationId:e.correlationId||c.gT.EMPTY_STRING,requestId:c.gT.EMPTY_STRING,extExpiresOn:i,familyId:c.gT.EMPTY_STRING,tokenType:n?.accessToken?.tokenType||c.gT.EMPTY_STRING,state:c.gT.EMPTY_STRING,cloudGraphHostName:r.cloudGraphHostName||c.gT.EMPTY_STRING,msGraphHost:r.msGraphHost||c.gT.EMPTY_STRING,code:void 0,fromNativeBroker:!1}}}class st extends Te{constructor(e){super(e),this.includeRedirectUri=!1}}class at extends be{constructor(e,t,n,r,o,i,s,a,c,h){super(e,t,n,r,o,i,a,c,h),this.apiId=s}async acquireToken(e){if(!e.code)throw(0,E.Z_)(x.Aj);const t=await(0,a.i)(this.initializeAuthorizationRequest.bind(this),s.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(e,S.s_.Silent),n=this.initializeServerTelemetryManager(this.apiId);try{const r={...t,code:e.code},o=await(0,a.i)(this.getClientConfiguration.bind(this),s.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,e.correlationId)(n,t.authority),i=new st(o);this.logger.verbose("Auth code client created");const c=new Ge(i,this.browserStorage,r,this.logger,this.performanceClient);return await(0,a.i)(c.handleCodeResponseFromServer.bind(c),s.Ak.HandleCodeResponseFromServer,this.logger,this.performanceClient,e.correlationId)({code:e.code,msgraph_host:e.msGraphHost,cloud_graph_host_name:e.cloudGraphHostName,cloud_instance_host_name:e.cloudInstanceHostName},t,!1)}catch(e){throw e instanceof l.l4&&(e.setCorrelationId(this.correlationId),n.cacheFailedRequest(e)),e}}logout(){return Promise.reject((0,E.Z_)(x.I9))}}class ct{constructor(e){this.atsAsyncMeasurement=void 0,this.operatingContext=e,this.isBrowserEnvironment=this.operatingContext.
2isBrowserEnvironment(),this.config=e.getConfig(),this.initialized=!1,this.logger=this.operatingContext.getLogger(),this.networkClient=this.config.system.networkClient,this.navigationClient=this.config.system.navigationClient,this.redirectResponse=new Map,this.hybridAuthCodeResponses=new Map,this.performanceClient=this.config.telemetry.client,this.browserCrypto=this.isBrowserEnvironment?new r.Q(this.logger,this.performanceClient):o.d,this.eventHandler=new Y.b(this.logger,this.browserCrypto),this.browserStorage=this.isBrowserEnvironment?new K(this.config.auth.clientId,this.config.cache,this.browserCrypto,this.logger,(0,i.Ct)(this.config.auth)):((e,t)=>{const n={cacheLocation:S.Ix.MemoryStorage,temporaryCacheLocation:S.Ix.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};return new K(e,n,o.d,t)})(this.config.auth.clientId,this.logger);const t={cacheLocation:S.Ix.MemoryStorage,temporaryCacheLocation:S.Ix.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};this.nativeInternalStorage=new K(this.config.auth.clientId,t,this.browserCrypto,this.logger),this.tokenCache=new it(this.config,this.browserStorage,this.logger,this.browserCrypto),this.activeSilentTokenRequests=new Map,this.trackPageVisibility=this.trackPageVisibility.bind(this),this.trackPageVisibilityWithMeasurement=this.trackPageVisibilityWithMeasurement.bind(this)}static async createController(e){const t=new ct(e);return await t.initialize(),t}trackPageVisibility(){this.atsAsyncMeasurement&&(this.logger.info("Perf: Visibility change detected"),this.atsAsyncMeasurement.increment({visibilityChangeCount:1}))}async initialize(){if(this.logger.trace("initialize called"),this.initialized)return void this.logger.info("initialize has already been called, exiting early.");const e=this.config.system.allowNativeBroker,t=this.performanceClient.startMeasurement(s.Ak.InitializeClientApplication);if(this.eventHandler.emitEvent(j.t.INITIALIZE_START),e)try{this.nativeExtensionProvider=await ze.createProvider(this.logger,this.config.system.nativeBrokerHandshakeTimeout,this.performanceClient)}catch(e){this.logger.verbose(e)}this.config.cache.claimsBasedCachingEnabled||(this.logger.verbose("Claims-based caching is disabled. Clearing the previous cache with claims"),await(0,a.i)(this.browserStorage.clearTokensAndKeysWithClaims.bind(this.browserStorage),s.Ak.ClearTokensAndKeysWithClaims,this.logger,this.performanceClient)(this.performanceClient)),this.initialized=!0,this.eventHandler.emitEvent(j.t.INITIALIZE_END),t.end({allowNativeBroker:e,success:!0})}async handleRedirectPromise(e){this.logger.verbose("handleRedirectPromise called"),Q(this.initialized);const t=this.getAllAccounts();if(this.isBrowserEnvironment){const n=e||"";let r=this.redirectResponse.get(n);if(void 0===r){this.eventHandler.emitEvent(j.t.HANDLE_REDIRECT_START,S.s_.Redirect),this.logger.verbose("handleRedirectPromise has been called for the first time, storing the promise");const o=this.browserStorage.getCachedNativeRequest();let i;if(o&&ze.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider)&&this.nativeExtensionProvider&&!e){this.logger.trace("handleRedirectPromise - acquiring token from native platform");i=new Fe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,S.WN.handleRedirectPromise,this.performanceClient,this.nativeExtensionProvider,o.accountId,this.nativeInternalStorage,o.correlationId).handleRedirectPromise()}else{this.logger.trace("handleRedirectPromise - acquiring token from web flow");const t=this.browserStorage.getTemporaryCache(S.c4.CORRELATION_ID,!0)||c.gT.EMPTY_STRING;i=this.createRedirectClient(t).handleRedirectPromise(e)}r=i.then((e=>{if(e){t.length<this.getAllAccounts().length?(this.eventHandler.emitEvent(j.t.LOGIN_SUCCESS,S.s_.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, login success")):(this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_SUCCESS,S.s_.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, acquire token success"))}return this.eventHandler.emitEvent(j.t.HANDLE_REDIRECT_END,S.s_.Redirect),e})).catch((e=>{throw t.length>0?this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_FAILURE,S.s_.Redirect,null,e):this.eventHandler.emitEvent(j.t.LOGIN_FAILURE,S.s_.Redirect,null,e),this.eventHandler.emitEvent(j.t.HANDLE_REDIRECT_END,S.s_.Redirect),e})),this.redirectResponse.set(n,r)}else this.logger.verbose("handleRedirectPromise has been called previously, returning the result from the first call");return r}return this.logger.verbose("handleRedirectPromise returns null, not browser environment"),null}async acquireTokenRedirect(e){const t=this.getRequestCorrelationId(e);this.logger.verbose("acquireTokenRedirect called",t),this.preflightBrowserEnvironmentCheck(S.s_.Redirect);const n=this.getAllAccounts().length>0;let r;if(n?this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_START,S.s_.Redirect,e):this.eventHandler.emitEvent(j.t.LOGIN_START,S.s_.Redirect,e),this.nativeExtensionProvider&&this.canUseNative(e)){r=new Fe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,S.WN.acquireTokenRedirect,this.performanceClient,this.nativeExtensionProvider,this.getNativeAccountId(e),this.nativeInternalStorage,t).acquireTokenRedirect(e).catch((n=>{if(n instanceof qe&&Le(n)){this.nativeExtensionProvider=void 0;return this.createRedirectClient(t).acquireToken(e)}if(n instanceof h.Yo){this.logger.verbose("acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow");return this.createRedirectClient(t).acquireToken(e)}throw this.getBrowserStorage().setInteractionInProgress(!1),n}))}else{r=this.createRedirectClient(t).acquireToken(e)}return r.catch((e=>{throw n?this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_FAILURE,S.s_.Redirect,null,e):this.eventHandler.emitEvent(j.t.LOGIN_FAILURE,S.s_.Redirect,null,e),e}))}acquireTokenPopup(e){const t=this.getRequestCorrelationId(e),n=this.performanceClient.startMeasurement(s.Ak.AcquireTokenPopup,t);try{this.logger.verbose("acquireTokenPopup called",t),this.preflightBrowserEnvironmentCheck(S.s_.Popup)}catch(e){return Promise.reject(e)}const r=this.getAllAccounts();let o;if(r.length>0?this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_START,S.s_.Popup,e):this.eventHandler.emitEvent(j.t.LOGIN_START,S.s_.Popup,e),this.canUseNative(e))o=this.acquireTokenNative({...e,correlationId:t},S.WN.acquireTokenPopup).then((e=>(this.getBrowserStorage().setInteractionInProgress(!1),n.end({success:!0,isNativeBroker:!0,requestId:e.requestId}),e))).catch((n=>{if(n instanceof qe&&Le(n)){this.nativeExtensionProvider=void 0;return this.createPopupClient(t).acquireToken(e)}if(n instanceof h.Yo){this.logger.verbose("acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow");return this.createPopupClient(t).acquireToken(e)}throw this.getBrowserStorage().setInteractionInProgress(!1),n}));else{o=this.createPopupClient(t).acquireToken(e)}return o.then((e=>(r.length<this.getAllAccounts().length?this.eventHandler.emitEvent(j.t.LOGIN_SUCCESS,S.s_.Popup,e):this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_SUCCESS,S.s_.Popup,e),n.add({accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length}),n.end({success:!0,requestId:e.requestId}),e))).catch((e=>(r.length>0?this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_FAILURE,S.s_.Popup,null,e):this.eventHandler.emitEvent(j.t.LOGIN_FAILURE,S.s_.Popup,null,e),n.end({errorCode:e.errorCode,subErrorCode:e.subError,success:!1}),Promise.reject(e))))}trackPageVisibilityWithMeasurement(){const e=this.ssoSilentMeasurement||this.acquireTokenByCodeAsyncMeasurement;e&&(this.logger.info("Perf: Visibility change detected in ",e.event.name),e.increment({visibilityChangeCount:1}))}async ssoSilent(e){const t=this.getRequestCorrelationId(e),n={...e,prompt:e.prompt,correlationId:t};let r;if(this.preflightBrowserEnvironmentCheck(S.s_.Silent),this.ssoSilentMeasurement=this.performanceClient.startMeasurement(s.Ak.SsoSilent,t),this.ssoSilentMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement),this.logger.verbose("ssoSilent called",t),this.eventHandler.emitEvent(j.t.SSO_SILENT_START,S.s_.Silent,n),this.canUseNative(n))r=this.acquireTokenNative(n,S.WN.ssoSilent).catch((e=>{if(e instanceof qe&&Le(e)){this.nativeExtensionProvider=void 0;return this.createSilentIframeClient(n.correlationId).acquireToken(n)}throw e}));else{r=this.createSilentIframeClient(n.correlationId).acquireToken(n)}return r.then((e=>(this.eventHandler.emitEvent(j.t.SSO_SILENT_SUCCESS,S.s_.Silent,e),this.ssoSilentMeasurement?.add({accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length}),this.ssoSilentMeasurement?.end({success:!0,isNativeBroker:e.fromNativeBroker,requestId:e.requestId}),e))).catch((e=>{throw this.eventHandler.emitEvent(j.t.SSO_SILENT_FAILURE,S.s_.Silent,null,e),this.ssoSilentMeasurement?.end({errorCode:e.errorCode,subErrorCode:e.subError,success:!1}),e})).finally((()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)}))}async acquireTokenByCode(e){const t=this.getRequestCorrelationId(e);this.preflightBrowserEnvironmentCheck(S.s_.Silent),this.logger.trace("acquireTokenByCode called",t),this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_BY_CODE_START,S.s_.Silent,e);const n=this.performanceClient.startMeasurement(s.Ak.AcquireTokenByCode,t);try{if(e.code&&e.nativeAccountId)throw(0,E.Z_)(x.LL);if(e.code){const r=e.code;let o=this.hybridAuthCodeResponses.get(r);return o?(this.logger.verbose("Existing acquireTokenByCode request found",t),n.discard()):(this.logger.verbose("Initiating new acquireTokenByCode request",t),o=this.acquireTokenByCodeAsync({...e,correlationId:t}).then((e=>(this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_BY_CODE_SUCCESS,S.s_.Silent,e),this.hybridAuthCodeResponses.delete(r),n.add({accessTokenSize:e.accessToken.length,idTokenSize:e.idToken.length}),n.end({success:!0,isNativeBroker:e.fromNativeBroker,requestId:e.requestId}),e))).catch((e=>{throw this.hybridAuthCodeResponses.delete(r),this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_BY_CODE_FAILURE,S.s_.Silent,null,e),n.end({errorCode:e.errorCode,subErrorCode:e.subError,success:!1}),e})),this.hybridAuthCodeResponses.set(r,o)),await o}
2if(e.nativeAccountId){if(this.canUseNative(e,e.nativeAccountId))return await this.acquireTokenNative({...e,correlationId:t},S.WN.acquireTokenByCode,e.nativeAccountId).catch((e=>{throw e instanceof qe&&Le(e)&&(this.nativeExtensionProvider=void 0),e}));throw(0,E.Z_)(x.KA)}throw(0,E.Z_)(x.Dy)}catch(e){throw this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_BY_CODE_FAILURE,S.s_.Silent,null,e),n.end({errorCode:e instanceof l.l4&&e.errorCode||void 0,subErrorCode:e instanceof l.l4&&e.subError||void 0,success:!1}),e}}async acquireTokenByCodeAsync(e){this.logger.trace("acquireTokenByCodeAsync called",e.correlationId),this.acquireTokenByCodeAsyncMeasurement=this.performanceClient.startMeasurement(s.Ak.AcquireTokenByCodeAsync,e.correlationId),this.acquireTokenByCodeAsyncMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement);const t=this.createSilentAuthCodeClient(e.correlationId);return await t.acquireToken(e).then((e=>(this.acquireTokenByCodeAsyncMeasurement?.end({success:!0,fromCache:e.fromCache,isNativeBroker:e.fromNativeBroker,requestId:e.requestId}),e))).catch((e=>{throw this.acquireTokenByCodeAsyncMeasurement?.end({errorCode:e.errorCode,subErrorCode:e.subError,success:!1}),e})).finally((()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)}))}async acquireTokenFromCache(e,t,n){switch(this.performanceClient.addQueueMeasurement(s.Ak.AcquireTokenFromCache,t.correlationId),n){case S.lu.Default:case S.lu.AccessToken:case S.lu.AccessTokenAndRefreshToken:return(0,a.i)(e.acquireToken.bind(e),s.Ak.SilentCacheClientAcquireToken,this.logger,this.performanceClient,t.correlationId)(t);default:throw(0,u.zP)(d.s$)}}async acquireTokenByRefreshToken(e,t){switch(this.performanceClient.addQueueMeasurement(s.Ak.AcquireTokenByRefreshToken,e.correlationId),t){case S.lu.Default:case S.lu.AccessTokenAndRefreshToken:case S.lu.RefreshToken:case S.lu.RefreshTokenAndNetwork:const t=this.createSilentRefreshClient(e.correlationId);return(0,a.i)(t.acquireToken.bind(t),s.Ak.SilentRefreshClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw(0,u.zP)(d.s$)}}async acquireTokenBySilentIframe(e){this.performanceClient.addQueueMeasurement(s.Ak.AcquireTokenBySilentIframe,e.correlationId);const t=this.createSilentIframeClient(e.correlationId);return(0,a.i)(t.acquireToken.bind(t),s.Ak.SilentIframeClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e)}async logout(e){const t=this.getRequestCorrelationId(e);return this.logger.warning("logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.",t),this.logoutRedirect({correlationId:t,...e})}async logoutRedirect(e){const t=this.getRequestCorrelationId(e);this.preflightBrowserEnvironmentCheck(S.s_.Redirect);return this.createRedirectClient(t).logout(e)}logoutPopup(e){try{const t=this.getRequestCorrelationId(e);this.preflightBrowserEnvironmentCheck(S.s_.Popup);return this.createPopupClient(t).logout(e)}catch(e){return Promise.reject(e)}}async clearCache(e){const t=this.getRequestCorrelationId(e);return this.createSilentCacheClient(t).logout(e)}getAllAccounts(e){return this.logger.verbose("getAllAccounts called"),this.isBrowserEnvironment?this.browserStorage.getAllAccounts(e):[]}getAccount(e){if(this.logger.trace("getAccount called"),0===Object.keys(e).length)return this.logger.warning("getAccount: No accountFilter provided"),null;const t=this.browserStorage.getAccountInfoFilteredBy(e);return t?(this.logger.verbose("getAccount: Account matching provided filter found, returning"),t):(this.logger.verbose("getAccount: No matching account found, returning null"),null)}getAccountByUsername(e){if(this.logger.trace("getAccountByUsername called"),!e)return this.logger.warning("getAccountByUsername: No username provided"),null;const t=this.browserStorage.getAccountInfoFilteredBy({username:e});return t?(this.logger.verbose("getAccountByUsername: Account matching username found, returning"),this.logger.verbosePii(`getAccountByUsername: Returning signed-in accounts matching username: ${e}`),t):(this.logger.verbose("getAccountByUsername: No matching account found, returning null"),null)}getAccountByHomeId(e){if(this.logger.trace("getAccountByHomeId called"),!e)return this.logger.warning("getAccountByHomeId: No homeAccountId provided"),null;const t=this.browserStorage.getAccountInfoFilteredBy({homeAccountId:e});return t?(this.logger.verbose("getAccountByHomeId: Account matching homeAccountId found, returning"),this.logger.verbosePii(`getAccountByHomeId: Returning signed-in accounts matching homeAccountId: ${e}`),t):(this.logger.verbose("getAccountByHomeId: No matching account found, returning null"),null)}getAccountByLocalId(e){if(this.logger.trace("getAccountByLocalId called"),!e)return this.logger.warning("getAccountByLocalId: No localAccountId provided"),null;const t=this.browserStorage.getAccountInfoFilteredBy({localAccountId:e});return t?(this.logger.verbose("getAccountByLocalId: Account matching localAccountId found, returning"),this.logger.verbosePii(`getAccountByLocalId: Returning signed-in accounts matching localAccountId: ${e}`),t):(this.logger.verbose("getAccountByLocalId: No matching account found, returning null"),null)}setActiveAccount(e){this.browserStorage.setActiveAccount(e)}getActiveAccount(){return this.browserStorage.getActiveAccount()}async hydrateCache(e,t){this.logger.verbose("hydrateCache called");const n=g.r.createFromAccountInfo(e.account,e.cloudGraphHostName,e.msGraphHost);return this.browserStorage.setAccount(n),e.fromNativeBroker?(this.logger.verbose("Response was from native broker, storing in-memory"),this.nativeInternalStorage.hydrateCache(e,t)):this.browserStorage.hydrateCache(e,t)}preflightBrowserEnvironmentCheck(e,t=!1){if(this.logger.verbose("preflightBrowserEnvironmentCheck started"),function(e){if(!e)throw(0,E.Z_)(x.Dx)}(this.isBrowserEnvironment),function(e,t){const n=F();if(e===S.s_.Redirect&&n&&!t)throw(0,E.Z_)(x.b_)}(e,this.config.system.allowRedirectInIframe),G(),$(),Q(this.initialized),e===S.s_.Redirect&&this.config.cache.cac
2heLocation===S.Ix.MemoryStorage&&!this.config.cache.storeAuthStateInCookie)throw M(O);e!==S.s_.Redirect&&e!==S.s_.Popup||this.preflightInteractiveRequest(!t)}preflightInteractiveRequest(e){this.logger.verbose("preflightInteractiveRequest called, validating app environment"),G(),e&&this.getBrowserStorage().setInteractionInProgress(!0)}async acquireTokenNative(e,t,n){if(this.logger.trace("acquireTokenNative called"),!this.nativeExtensionProvider)throw(0,E.Z_)(x.V7);return new Fe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,t,this.performanceClient,this.nativeExtensionProvider,n||this.getNativeAccountId(e),this.nativeInternalStorage,e.correlationId).acquireToken(e)}canUseNative(e,t){if(this.logger.trace("canUseNative called"),!ze.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme))return this.logger.trace("canUseNative: isNativeAvailable returned false, returning false"),!1;if(e.prompt)switch(e.prompt){case c.NJ.NONE:case c.NJ.CONSENT:case c.NJ.LOGIN:this.logger.trace("canUseNative: prompt is compatible with native flow");break;default:return this.logger.trace(`canUseNative: prompt = ${e.prompt} is not compatible with native flow, returning false`),!1}return!(!t&&!this.getNativeAccountId(e))||(this.logger.trace("canUseNative: nativeAccountId is not available, returning false"),!1)}getNativeAccountId(e){const t=e.account||this.getAccount({loginHint:e.loginHint,sid:e.sid})||this.getActiveAccount();return t&&t.nativeAccountId||""}createPopupClient(e){return new We(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createRedirectClient(e){return new Ye(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentIframeClient(e){return new rt(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,S.WN.ssoSilent,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentCacheClient(e){return new xe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentRefreshClient(e){return new ot(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeExtensionProvider,e)}createSilentAuthCodeClient(e){return new at(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,S.WN.acquireTokenByCode,this.performanceClient,this.nativeExtensionProvider,e)}addEventCallback(e){return this.eventHandler.addEventCallback(e)}removeEventCallback(e){this.eventHandler.removeEventCallback(e)}addPerformanceCallback(e){return this.performanceClient.addPerformanceCallback(e)}removePerformanceCallback(e){return this.performanceClient.removePerformanceCallback(e)}enableAccountStorageEvents(){this.eventHandler.enableAccountStorageEvents()}disableAccountStorageEvents(){this.eventHandler.disableAccountStorageEvents()}getTokenCache(){return this.tokenCache}getLogger(){return this.logger}setLogger(e){this.logger=e}initializeWrapperLibrary(e,t){this.browserStorage.setWrapperMetadata(e,t)}setNavigationClient(e){this.navigationClient=e}getConfiguration(){return this.config}getPerformanceClient(){return this.performanceClient}getBrowserStorage(){return this.browserStorage}isBrowserEnv(){return this.isBrowserEnvironment}getEventHandler(){return this.eventHandler}getRequestCorrelationId(e){return e?.correlationId?e.correlationId:this.isBrowserEnvironment?(0,Ie.nn)():c.gT.EMPTY_STRING}async loginRedirect(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginRedirect called",t),this.acquireTokenRedirect({correlationId:t,...e||S.yo})}loginPopup(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginPopup called",t),this.acquireTokenPopup({correlationId:t,...e||S.yo})}async acquireTokenSilent(e){const t=this.getRequestCorrelationId(e),n=this.performanceClient.startMeasurement(s.Ak.AcquireTokenSilent,t);n.add({cacheLookupPolicy:e.cacheLookupPolicy}),this.preflightBrowserEnvironmentCheck(S.s_.Silent),this.logger.verbose("acquireTokenSilent called",t);const r=e.account||this.getActiveAccount();if(!r)throw(0,E.Z_)(x.wH);const o={clientId:this.config.auth.clientId,authority:e.authority||c.gT.EMPTY_STRING,scopes:e.scopes,homeAccountIdentifier:r.homeAccountId,claims:e.claims,authenticationScheme:e.authenticationScheme,resourceRequestMethod:e.resourceRequestMethod,resourceRequestUri:e.resourceRequestUri,shrClaims:e.shrClaims,sshKid:e.sshKid,shrOptions:e.shrOptions},i=JSON.stringify(o),h=this.activeSilentTokenRequests.get(i);if(void 0===h){this.logger.verbose("acquireTokenSilent called for the first time, storing active request",t);const o=(0,a.i)(this.acquireTokenSilentAsync.bind(this),s.Ak.AcquireTokenSilentAsync,this.logger,this.performanceClient,t)({...e,correlationId:t},r).then((t=>(this.activeSilentTokenRequests.delete(i),n.add({accessTokenSize:t.accessToken.length,idTokenSize:t.idToken.length}),n.end({success:!0,fromCache:t.fromCache,isNativeBroker:t.fromNativeBroker,cacheLookupPolicy:e.cacheLookupPolicy,requestId:t.requestId}),t))).catch((e=>{throw this.activeSilentTokenRequests.delete(i),n.end({errorCode:e.errorCode,subErrorCode:e.subError,success:!1}),e}));return this.activeSilentTokenRequests.set(i,o),o}return this.logger.verbose("acquireTokenSilent has been called previously, returning the result from the first call",t),n.discard(),h}async acquireTokenSilentAsync(e,t){let n;if(this.performanceClient.addQueueMeasurement(s.Ak.AcquireTokenSilentAsync,e.correlationId),this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_START,S.s_.Silent,e),this.atsAsyncMeasurement=this.performanceClient.startMeasurement(s.Ak.AcquireTokenSilentAsync,e.correlationId),this.atsAsyncMeasurement?.increment({visibilityChangeCount:0}),document.addEventListener("visibilitychange",this.trackPageVisibility),ze.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider,e.authenticationScheme)&&t.nativeAccountId){this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform");const r={...e,account:t};n=this.acquireTokenNative(r,S.WN.acquireTokenSilent_silentFlow).catch((async t=>{if(t instanceof qe&&Le(t)){this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow"),this.nativeExtensionProvider=void 0;return this.createSilentIframeClient(e.correlationId).acquireToken(e)}throw t}))}else{this.logger.verbose("acquireTokenSilent - attempting to acquire token from web flow");const r=this.createSilentCacheClient(e.correlationId),o=await(0,a.i)(r.initializeSilentRequest.bind(r),s.Ak.InitializeSilentRequest,this.logger,this.performanceClient,e.correlationId)(e,t),i=e.cacheLookupPolicy||S.lu.Default;n=(0,a.i)(this.acquireTokenFromCache.bind(this),s.Ak.AcquireTokenFromCache,this.logger,this.performanceClient,o.correlationId)(r,o,i).catch((t=>
2{if(e.cacheLookupPolicy===S.lu.AccessToken)throw t;return G(),this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_NETWORK_START,S.s_.Silent,o),(0,a.i)(this.acquireTokenByRefreshToken.bind(this),s.Ak.AcquireTokenByRefreshToken,this.logger,this.performanceClient,o.correlationId)(o,i).catch((t=>{const n=!(t instanceof h.Yo)&&(t.errorCode===S.qx.INVALID_GRANT_ERROR||t.errorCode===d.s$)||t.errorCode===p.I2,r=i===S.lu.Default||i===S.lu.Skip||i===S.lu.RefreshTokenAndNetwork;if(n&&r)return this.logger.verbose("Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.",e.correlationId),(0,a.i)(this.acquireTokenBySilentIframe.bind(this),s.Ak.AcquireTokenBySilentIframe,this.logger,this.performanceClient,o.correlationId)(o);throw t}))}))}return n.then((e=>(this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_SUCCESS,S.s_.Silent,e),this.atsAsyncMeasurement?.end({success:!0,fromCache:e.fromCache,isNativeBroker:e.fromNativeBroker,requestId:e.requestId}),e))).catch((e=>{throw this.eventHandler.emitEvent(j.t.ACQUIRE_TOKEN_FAILURE,S.s_.Silent,null,e),this.atsAsyncMeasurement?.end({errorCode:e.errorCode,subErrorCode:e.subError,success:!1}),e})).finally((()=>{document.removeEventListener("visibilitychange",this.trackPageVisibility)}))}}},3292:function(e,t,n){n.d(t,{$5:function(){return f},Au:function(){return p},Fv:function(){return u},Mg:function(){return m},PP:function(){return d},Xx:function(){return C},nn:function(){return g},qz:function(){return l}});var r=n(4133),o=n(177),i=n(2979),s=n(619);const a="SHA-256",c=new Uint8Array([1,0,1]),h={name:"RSASSA-PKCS1-v1_5",hash:a,modulusLength:2048,publicExponent:c};function l(e){if(!("crypto"in window))throw e.error("BrowserCrypto: crypto interface is unavailable"),(0,r.Z_)(s.TR);e.verbose("BrowserCrypto: modern crypto interface available")}async function u(e,t,n){t?.addQueueMeasurement(o.Ak.Sha256Digest,n);const r=(new TextEncoder).encode(e);return window.crypto.subtle.digest(a,r)}function d(e){return window.crypto.getRandomValues(e)}function g(){return window.crypto.randomUUID()}async function p(e,t){return window.crypto.subtle.generateKey(h,e,t)}async function m(e){return window.crypto.subtle.exportKey(i.Mm,e)}async function f(e,t,n){return window.crypto.subtle.importKey(i.Mm,e,h,t,n)}async function C(e,t){return window.crypto.subtle.sign(h,e,t)}},5830:function(e,t,n){n.d(t,{Q:function(){return w}});var r=n(177),o=n(536);const i="missing_kid_error",s="missing_alg_error",a={[i]:"The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.",[s]:"The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided."};class c extends o.l4{constructor(e,t){super(e,t),this.name="JoseHeaderError",Object.setPrototypeOf(this,c.prototype)}}function h(e){return new c(e,a[e])}var l=n(9279);class u{constructor(e){this.typ=e.typ,this.alg=e.alg,this.kid=e.kid}static getShrHeaderString(e){if(!e.kid)throw h(i);if(!e.alg)throw h(s);const t=new u({typ:e.typ||l.xd.Pop,kid:e.kid,alg:e.alg});return JSON.stringify(t)}}var d=n(1259),g=n(1237),p=n(3292),m=n(4133),f=n(2979),C=n(619);class _{constructor(){this.dbName=f.H4,this.version=f.kd,this.tableName=f.Gv,this.dbOpen=!1}async open(){return new Promise(((e,t)=>{const n=window.indexedDB.open(this.dbName,this.version);n.addEventListener("upgradeneeded",(e=>{e.target.result.createObjectStore(this.tableName)})),n.addEventListener("success",(t=>{const n=t;this.db=n.target.result,this.dbOpen=!0,e()})),n.addEventListener("error",(()=>t((0,m.Z_)(C.Pi))))}))}closeConnection(){const e=this.db;e&&this.dbOpen&&(e.close(),this.dbOpen=!1)}async validateDbIsOpen(){if(!this.dbOpen)return this.open()}async getItem(e){return await this.validateDbIsOpen(),new Promise(((t,n)=>{if(!this.db)return n((0,m.Z_)(C.IL));const r=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).get(e);r.addEventListener("success",(e=>{const n=e;this.closeConnection(),t(n.target.result)})),r.addEventListener("error",(e=>{this.closeConnection(),n(e)}))}))}async setItem(e,t){return await this.validateDbIsOpen(),new Promise(((n,r)=>{if(!this.db)return r((0,m.Z_)(C.IL));const o=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).put(t,e);o.addEventListener("success",(()=>{this.closeConnection(),n()})),o.addEventListener("error",(e=>{this.closeConnection(),r(e)}))}))}async removeItem(e){return await this.validateDbIsOpen(),new Promise(((t,n)=>{if(!this.db)return n((0,m.Z_)(C.IL));const r=this.db.transaction([this.tableName],"readwrite").objectStore(this.tableName).delete(e);r.addEventListener("success",(()=>{this.closeConnection(),t()})),r.addEventListener("error",(e=>{this.closeConnection(),n(e)}))}))}async getKeys(){return await this.validateDbIsOpen(),new Promise(((e,t)=>{if(!this.db)return t((0,m.Z_)(C.IL));const n=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).getAllKeys();n.addEventListener("success",(t=>{const n=t;this.closeConnection(),e(n.target.result)})),n.addEventListener("error",(e=>{this.closeConnection(),t(e)}))}))}async containsKey(e){return await this.validateDbIsOpen(),new Promise(((t,n)=>{if(!this.db)return n((0,m.Z_)(C.IL));const r=this.db.transaction([this.tableName],"readonly").objectStore(this.tableName).count(e);r.addEventListener("success",(e=>{const n=e;this.closeConnection(),t(1===n.target.result)})),r.addEventListener("error",(e=>{this.closeConnection(),n(e)}))}))}async deleteDatabase(){return this.db&&this.dbOpen&&this.closeConnection(),new Promise(((e,t)=>{const n=window.indexedDB.deleteDatabase(f.H4);n.addEventListener("success",(()=>e(!0))),n.addEventListener("blocked",(()=>e(!0))),n.addEventListener("error",(()=>t(!1)))}))}}var y=n(4759);class T{constructor(e,t){this.inMemoryCache=new y.k,this.indexedDBCache=new _,this.logger=e,this.storeName=t}handleDatabaseAccessError(e){if(!(e instanceof m.Ut&&e.errorCode===C.Pi))throw e;this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.")}async getItem(e){const t=this.inMemoryCache.getItem(e);if(!t)try{return this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.getItem(e)}catch(e){this.handleDatabaseAccessError(e)}return t}async setItem(e,t){this.inMemoryCache.setItem(e,t);try{await this.indexedDBCache.setItem(e,t)}catch(e){this.handleDatabaseAccessError(e)}}async removeItem(e){this.inMemoryCache.removeItem(e);try{await this.indexedDBCache.removeItem(e)}catch(e){this.handleDatabaseAccessError(e)}}async getKeys(){const e=this.inMemoryCache.getKeys();if(0===e.length)try{return this.logger.verbose("In-memory cache is empty, now querying persistent storage."),await this.indexedDBCache.getKeys()}catch(e){this.handleDatabaseAccessError(e)}return e}async containsKey(e){const t=this.inMemoryCache.containsKey(e);if(!t)try{return this.logger.verbose("Key not found in in-memory cache, now querying persistent storage."),await this.indexedDBCache.containsKey(e)}catch(e){this.handleDatabaseAccessError(e)}return t}clearInMemory(){this.logger.verbose(`Deleting in-memory keystore ${this.storeName}`),this.inMemoryCache.clear(),this.logger.verbose(`In-memory keystore ${this.storeName} deleted`)}
2async clearPersistent(){try{this.logger.verbose("Deleting persistent keystore");const e=await this.indexedDBCache.deleteDatabase();return e&&this.logger.verbose("Persistent keystore deleted"),e}catch(e){return this.handleDatabaseAccessError(e),!1}}}const v="asymmetricKeys",A="symmetricKeys";class I{constructor(e){this.logger=e,this.asymmetricKeys=new T(this.logger,v),this.symmetricKeys=new T(this.logger,A)}async clear(){this.asymmetricKeys.clearInMemory(),this.symmetricKeys.clearInMemory();try{return await this.asymmetricKeys.clearPersistent(),!0}catch(e){return e instanceof Error?this.logger.error(`Clearing keystore failed with error: ${e.message}`):this.logger.error("Clearing keystore failed with unknown error"),!1}}}class w{constructor(e,t){this.logger=e,(0,p.qz)(e),this.cache=new I(this.logger),this.performanceClient=t}createNewGuid(){return(0,p.nn)()}base64Encode(e){return(0,d.h$)(e)}base64Decode(e){return(0,g.t)(e)}async getPublicKeyThumbprint(e){const t=this.performanceClient?.startMeasurement(r.Ak.CryptoOptsGetPublicKeyThumbprint,e.correlationId),n=await(0,p.Au)(w.EXTRACTABLE,w.POP_KEY_USAGES),o=await(0,p.Mg)(n.publicKey),i=k({e:o.e,kty:o.kty,n:o.n}),s=await this.hashString(i),a=await(0,p.Mg)(n.privateKey),c=await(0,p.$5)(a,!1,["sign"]);return await this.cache.asymmetricKeys.setItem(s,{privateKey:c,publicKey:n.publicKey,requestMethod:e.resourceRequestMethod,requestUri:e.resourceRequestUri}),t&&t.end({success:!0}),s}async removeTokenBindingKey(e){await this.cache.asymmetricKeys.removeItem(e);return!await this.cache.asymmetricKeys.containsKey(e)}async clearKeystore(){return this.cache.clear()}async signJwt(e,t,n,o){const i=this.performanceClient?.startMeasurement(r.Ak.CryptoOptsSignJwt,o),s=await this.cache.asymmetricKeys.getItem(t);if(!s)throw(0,m.Z_)(C.XM);const a=await(0,p.Mg)(s.publicKey),c=k(a),h=(0,d._j)(JSON.stringify({kid:t})),l=u.getShrHeaderString({...n?.header,alg:a.alg,kid:h}),g=(0,d._j)(l);e.cnf={jwk:JSON.parse(c)};const f=`${g}.${(0,d._j)(JSON.stringify(e))}`,_=(new TextEncoder).encode(f),y=await(0,p.Xx)(s.privateKey,_),T=`${f}.${(0,d.Wy)(new Uint8Array(y))}`;return i&&i.end({success:!0}),T}async hashString(e){const t=await(0,p.Fv)(e),n=new Uint8Array(t);return(0,d.Wy)(n)}}function k(e){return JSON.stringify(e,Object.keys(e).sort())}w.POP_KEY_USAGES=["sign","verify"],w.EXTRACTABLE=!0},1237:function(e,t,n){n.d(t,{t:function(){return i}});var r=n(4133),o=n(619);function i(e){return(new TextDecoder).decode(function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw(0,r.Z_)(o.lZ)}const n=atob(t);return Uint8Array.from(n,(e=>e.codePointAt(0)||0))}(e))}},1259:function(e,t,n){function r(e){return encodeURIComponent(i(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"))}function o(e){return s(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function i(e){return s((new TextEncoder).encode(e))}function s(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}n.d(t,{Wy:function(){return o},_j:function(){return r},h$:function(){return i}})},4133:function(e,t,n){n.d(t,{Ut:function(){return a},Z_:function(){return c}});var r=n(536),o=n(619);const i="For more visit: aka.ms/msaljs/browser-errors",s={[o.vD]:"The PKCE code challenge and verifier could not be generated.",[o.TR]:"The crypto object or function is not available.",[o._c]:"Navigation URI is empty. Please check stack trace for more info.",[o.nF]:`Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. ${i}`,[o.Xk]:"Hash does not contain state. Please verify that the request originated from msal.",[o.S_]:`Hash does not contain known properites. Please verify that your redirectUri is not changing the hash.  ${i}`,[o.$P]:"Unable to parse state. Please verify that the request originated from msal.",[o.yK]:"Hash contains state but the interaction type does not match the caller.",[o.Ck]:`Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API.   ${i}`,[o.E]:"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.",[o.H]:"window.open returned null or undefined window object.",[o.h7]:"User cancelled the flow.",[o.ZT]:`Token acquisition in popup failed due to timeout.  ${i}`,[o.JA]:`Token acquisition in iframe failed due to timeout.  ${i}
2`,[o.b_]:"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.",[o.xO]:`Request was blocked inside an iframe because MSAL detected an authentication response.  ${i}`,[o.bj]:"Request was blocked inside a popup because MSAL detected it was running in a popup.",[o.h8]:"The iframe being monitored was closed prematurely.",[o.I9]:"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.",[o.wH]:"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.",[o.WQ]:"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.",[o.QO]:"No token request found in cache.",[o.e$]:"The cached token request could not be parsed.",[o.dT]:"No cached authority found.",[o.BO]:"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler",[o.Ut]:"Invalid cache type",[o.Dx]:"Login and token requests are not supported in non-browser environments.",[o.IL]:"Database is not open!",[o.Mq]:"No network connectivity. Check your internet connection.",[o.Dc]:"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'",[o.C8]:"Network request failed. Please check the network trace to determine root cause.",[o.w6]:"Failed to parse network response. Check network trace.",[o.Jd]:"Error loading token to cache.",[o.XM]:"Cryptographic Key or Keypair not found in browser storage.",[o.Aj]:"An authorization code must be provided (as the `code` property on the request) to this flow.",[o.Dy]:"An authorization code or nativeAccountId must be provided to this flow.",[o.LL]:"Request cannot contain both spa code and native account id.",[o.Pi]:"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.",[o.KA]:`Unable to acquire token from native platform.  ${i}`,[o.hR]:"Timed out while attempting to establish connection to browser extension",[o.Wb]:"Native extension is not installed. If you think this is a mistake call the initialize function.",[o.V7]:`Connection to native platform has not been established. Please install a compatible browser extension and run initialize().  ${i}`,[o.al]:`You must call and await the initialize function before attempting to call any other MSAL API.  ${i}`,[o.o9]:"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.",[o.lZ]:"Invalid base64 encoded string."};o.vD,o.vD,o.TR,o.TR,o._c,o._c,o.nF,o.nF,o.Xk,o.Xk,o.S_,o.S_,o.$P,o.$P,o.yK,o.yK,o.Ck,o.Ck,o.E,o.E,o.H,o.H,o.h7,o.h7,o.ZT,o.ZT,o.JA,o.JA,o.b_,o.b_,o.xO,o.xO,o.bj,o.bj,o.h8,o.h8,o.I9,o.I9,o.wH,o.wH,o.WQ,o.WQ,o.QO,o.QO,o.e$,o.e$,o.dT,o.dT,o.BO,o.BO,o.Ut,o.Ut,o.Dx,o.Dx,o.IL,o.IL,o.Mq,o.Mq,o.Dc,o.Dc,o.C8,o.C8,o.w6,o.w6,o.Jd,o.Jd,o.XM,o.XM,o.Aj,o.Aj,o.Dy,o.Dy,o.LL,o.LL,o.Pi,o.Pi,o.KA,o.KA,o.hR,o.hR,o.Wb,o.Wb,o.V7,o.V7,o.al,o.al,o.o9,o.o9,o.lZ,o.lZ;
2class a extends r.l4{constructor(e){super(e,s[e]),Object.setPrototypeOf(this,a.prototype),this.name="BrowserAuthError"}}function c(e){return new a(e)}},619:function(e,t,n){n.d(t,{$P:function(){return h},Aj:function(){return U},BO:function(){return S},C8:function(){return M},Ck:function(){return u},Dc:function(){return N},Dx:function(){return b},Dy:function(){return D},E:function(){return d},H:function(){return g},I9:function(){return v},IL:function(){return O},JA:function(){return f},Jd:function(){return L},KA:function(){return B},LL:function(){return x},Mq:function(){return P},Pi:function(){return K},QO:function(){return w},S_:function(){return c},TR:function(){return o},Ut:function(){return R},V7:function(){return G},WQ:function(){return I},Wb:function(){return z},XM:function(){return H},Xk:function(){return a},ZT:function(){return m},_c:function(){return i},al:function(){return $},b_:function(){return C},bj:function(){return y},dT:function(){return E},e$:function(){return k},h7:function(){return p},h8:function(){return T},hR:function(){return F},lZ:function(){return W},nF:function(){return s},o9:function(){return Q},vD:function(){return r},w6:function(){return q},wH:function(){return A},xO:function(){return _},yK:function(){return l}});const r="pkce_not_created",o="crypto_nonexistent",i="empty_navigate_uri",s="hash_empty_error",a="no_state_in_hash",c="hash_does_not_contain_known_properties",h="unable_to_parse_state",l="state_interaction_type_mismatch",u="interaction_in_progress",d="popup_window_error",g="empty_window_error",p="user_cancelled",m="monitor_popup_timeout",f="monitor_window_timeout",C="redirect_in_iframe",_="block_iframe_reload",y="block_nested_popups",T="iframe_closed_prematurely",v="silent_logout_unsupported",A="no_account_error",I="silent_prompt_value_error",w="no_token_request_cache_error",k="unable_to_parse_token_request_cache_error",E="no_cached_authority_error",S="auth_request_not_set_error",R="invalid_cache_type",b="non_browser_environment",O="database_not_open",P="no_network_connectivity",N="post_request_failed",M="get_request_failed",q="failed_to_parse_response",L="unable_to_load_token",H="crypto_key_not_found",U="auth_code_required",D="auth_code_or_nativeAccountId_required",x="spa_code_and_nativeAccountId_present",K="database_unavailable",B="unable_to_acquire_token_from_native_platform",F="native_handshake_timeout",z="native_extension_not_installed",G="native_connection_not_established",$="uninitialized_public_client_application",Q="native_prompt_not_supported",W="invalid_base64_string"},8896:function(e,t,n){n.d(t,{b:function(){return a}});var r=n(6161),o=n(1335),i=n(882),s=n(3292);class a{constructor(e,t){this.eventCallbacks=new Map,this.logger=e,this.browserCrypto=t,this.listeningToStorageEvents=!1,this.handleAccountCacheChange=this.handleAccountCacheChange.bind(this)}addEventCallback(e){if("undefined"!=typeof window){const t=(0,s.nn)();return this.eventCallbacks.set(t,e),this.logger.verbose(`Event callback registered with id: ${t}`),t}return null}removeEventCallback(e){this.eventCallbacks.delete(e),this.logger.verbose(`Event callback ${e} removed.`)}enableAccountStorageEvents(){"undefined"!=typeof window&&(this.listeningToStorageEvents?this.logger.verbose("Account storage listener already registered."):(this.logger.verbose("Adding account storage listener."),this.listeningToStorageEvents=!0,window.addEventListener("storage",this.handleAccountCacheChange)))}disableAccountStorageEvents(){"undefined"!=typeof window&&(this.listeningToStorageEvents?(this.logger.verbose("Removing account storage listener."),window.removeEventListener("storage",this.handleAccountCacheChange),this.listeningToStorageEvents=!1):this.logger.verbose("No account storage listener registered."))}emitEvent(e,t,n,r){if("undefined"!=typeof window){const o={eventType:e,interactionType:t||null,payload:n||null,error:r||null,timestamp:Date.now()};this.logger.info(`Emitting event: ${e}`),this.eventCallbacks.forEach(((t,n)=>{this.logger.verbose(`Emitting event to callback ${n}: ${e}`),t.apply(null,[o])}))}}handleAccountCacheChange(e){try{const t=e.newValue||e.oldValue;if(!t)return;const n=JSON.parse(t);if("object"!=typeof n||!r.r.isAccountEntity(n))return;const s=o.L.toObject(new r.r,n).getAccountInfo();!e.oldValue&&e.newValue?(this.logger.info("Account was added to cache in a different window"),this.emitEvent(i.t.ACCOUNT_ADDED,void 0,s)):!e.newValue&&e.oldValue&&(this.logger.info("Account was removed from cache in a different window"),this.emitEvent(i.t.ACCOUNT_REMOVED,void 0,s))}catch(e){return}}}},882:function(e,t,n){n.d(t,{t:function(){return r}});const r={INITIALIZE_START:"msal:initializeStart",INITIALIZE_END:"msal:initializeEnd",ACCOUNT_ADDED:"msal:accountAdded",ACCOUNT_REMOVED:"msal:accountRemoved",LOGIN_START:"msal:loginStart",LOGIN_SUCCESS:"msal:loginSuccess",
2LOGIN_FAILURE:"msal:loginFailure",ACQUIRE_TOKEN_START:"msal:acquireTokenStart",ACQUIRE_TOKEN_SUCCESS:"msal:acquireTokenSuccess",ACQUIRE_TOKEN_FAILURE:"msal:acquireTokenFailure",ACQUIRE_TOKEN_NETWORK_START:"msal:acquireTokenFromNetworkStart",SSO_SILENT_START:"msal:ssoSilentStart",SSO_SILENT_SUCCESS:"msal:ssoSilentSuccess",SSO_SILENT_FAILURE:"msal:ssoSilentFailure",ACQUIRE_TOKEN_BY_CODE_START:"msal:acquireTokenByCodeStart",ACQUIRE_TOKEN_BY_CODE_SUCCESS:"msal:acquireTokenByCodeSuccess",ACQUIRE_TOKEN_BY_CODE_FAILURE:"msal:acquireTokenByCodeFailure",HANDLE_REDIRECT_START:"msal:handleRedirectStart",HANDLE_REDIRECT_END:"msal:handleRedirectEnd",POPUP_OPENED:"msal:popupOpened",LOGOUT_START:"msal:logoutStart",LOGOUT_SUCCESS:"msal:logoutSuccess",LOGOUT_FAILURE:"msal:logoutFailure",LOGOUT_END:"msal:logoutEnd",RESTORE_FROM_BFCACHE:"msal:restoreFromBFCache"}},1578:function(e,t,n){n.d(t,{i:function(){return o},u:function(){return r}});const r="@azure/msal-browser",o="3.6.0"},2979:function(e,t,n){n.d(t,{BD:function(){return i},Bs:function(){return u},EC:function(){return c},Gv:function(){return _},H4:function(){return f},Ix:function(){return a},Ky:function(){return s},Mm:function(){return m},Oq:function(){return l},WN:function(){return d},c4:function(){return h},kd:function(){return C},lu:function(){return y},qx:function(){return o},s_:function(){return g},yo:function(){return p}});var r=n(9279);const o={INTERACTION_IN_PROGRESS_VALUE:"interaction_in_progress",INVALID_GRANT_ERROR:"invalid_grant",POPUP_WIDTH:483,POPUP_HEIGHT:600,POPUP_NAME_PREFIX:"msal",DEFAULT_POLL_INTERVAL_MS:30,MSAL_SKU:"msal.js.browser"},i={CHANNEL_ID:"53ee284d-920a-4b59-9d30-a60315b26836",PREFERRED_EXTENSION_ID:"ppnbnpeolgkicgegkbkbjmhlideopiji",MATS_TELEMETRY:"MATS"},s={HandshakeRequest:"Handshake",HandshakeResponse:"HandshakeResponse",GetToken:"GetToken",Response:"Response"},a={LocalStorage:"localStorage",SessionStorage:"sessionStorage",MemoryStorage:"memoryStorage"},c={GET:"GET",POST:"POST"},h={AUTHORITY:"authority",ACQUIRE_TOKEN_ACCOUNT:"acquireToken.account",SESSION_STATE:"session.state",REQUEST_STATE:"request.state",NONCE_IDTOKEN:"nonce.id_token",ORIGIN_URI:"request.origin",RENEW_STATUS:"token.renew.status",URL_HASH:"urlHash",REQUEST_PARAMS:"request.params",SCOPES:"scopes",INTERACTION_STATUS_KEY:"interaction.status",CCS_CREDENTIAL:"ccs.credential",CORRELATION_ID:"request.correlationId",NATIVE_REQUEST:"request.native",REDIRECT_CONTEXT:"request.redirect.context"},l={ACCOUNT_KEYS:"msal.account.keys",TOKEN_KEYS:"msal.token.keys"},u={WRAPPER_SKU:"wrapper.sku",WRAPPER_VER:"wrapper.version"},d={acquireTokenRedirect:861,acquireTokenPopup:862,ssoSilent:863,acquireTokenSilent_authCode:864,handleRedirectPromise:865,acquireTokenByCode:866,acquireTokenSilent_silentFlow:61,logout:961,logoutPopup:962};var g;!function(e){e.Redirect="redirect",e.Popup="popup",e.Silent="silent",e.None="none"}(g||(g={}));const p={scopes:r.f_},m="jwk",f="msal.db",C=1,_=`${f}.keys`,y={Default:0,AccessToken:1,AccessTokenAndRefreshToken:2,RefreshToken:3,RefreshTokenAndNetwork:4,Skip:5}},2401:function(e,t,n){function r(e,t){return!!e&&!!t&&e===t.split(".")[1]}function o(e,t){const{oid:n,sub:o,tid:i,name:s,tfp:a,acr:c}=t,h=i||a||c||"";return{tenantId:h,localAccountId:n||o||"",name:s,isHomeTenant:r(h,e)}}function i(e,t,n){let r=e;if(t){const{isHomeTenant:n,...o}=t;r={...e,...o}}if(n){const{isHomeTenant:t,...i}=o(e.homeAccountId,n);return r={...r,...i,idTokenClaims:n},r}return r}n.d(t,{$f:function(){return i},Hc:function(){return r},SI:function(){return o}})},6831:function(e,t,n){n.d(t,{Z_:function(){return i},ky:function(){return s}});var r=n(5385),o=n(7752);function i(e,t){const n=function(e){if(!e)throw(0,r.zP)(o.PM);const t=/^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/.exec(e);if(!t||t.length<4)throw(0,r.zP)(o.GH);return t[2]}(e);try{const e=t(n);return JSON.parse(e)}catch(e){throw(0,r.zP)(o.GH)}}function s(e,t){if(0===t||Date.now()-3e5>e+t)throw(0,r.zP)(o.Ao)}},4903:function(e,t,n){n.d(t,{B:function(){return s},j:function(){return a}});var r=n(5385),o=n(9279),i=n(7752);function s(e,t){if(!e)throw(0,r.zP)(i.S7);try{const n=t(e);return JSON.parse(n)}catch(e){throw(0,r.zP)(i.ZE)}}function a(e){if(!e)throw(0,r.zP)(i.ZE);const t=e.split(o.Bv.CLIENT_INFO_SEPARATOR,2);return{uid:t[0],utid:t.length<2?o.gT.EMPTY_STRING:t[1]}}},2057:function(e,t,n){function r(e){if(e){return e.tid||e.tfp||e.acr||null}return null}n.d(t,{M:function(){return r}})},3301:function(e,t,n){n.d(t,{WU:function(){return _},Ct:function(){return v},Dm:function(){return T},Mh:function(){return y}});var r=n(4085);var o=n(8299),i=n(5385),s=n(9279),a=n(4842),c=n(7115),h=n(166),l=n(6342),u=n(1105);var d=n(177),g=n(8892);class p{constructor(e,t,n,r){this.networkInterface=e,this.logger=t,this.performanceClient=n,this.correlationId=r}async detectRegion(e,t){this.performanceClient?.addQueueMeasurement(d.Ak.RegionDiscoveryDetectRegion,this.correlationId);let n=e;if(n)t.region_source=s.W.ENVIRONMENT_VARIABLE;else{const e=p.IMDS_OPTIONS;try{const r=await(0,g.i)(this.getRegionFromIMDS.bind(this),d.Ak.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(s.gT.IMDS_VERSION,e);if(r.status===s.YY.httpSuccess&&(n=r.body,t.region_source=s.W.IMDS),r.status===s.YY.httpBadRequest){const r=await(0,g.i)(this.getCurrentVersion.bind(this),d.Ak.RegionDiscoveryGetCurrentVersion,this.logger,this.performanceClient,this.correlationId)(e);if(!r)return t.region_source=s.W.FAILED_AUTO_DETECTION,null;const o=await(0,g.i)(this.getRegionFromIMDS.bind(this),d.Ak.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(r,e);o.status===s.YY.httpSuccess&&(n=o.body,t.region_source=s.W.IMDS)}}catch(e){return t.region_source=s.W.FAILED_AUTO_DETECTION,null}}return n||(t.region_source=s.W.FAILED_AUTO_DETECTION),n||null}async getRegionFromIMDS(e,t){return this.performanceClient?.addQueueMeasurement(d.Ak.RegionDiscoveryGetRegionFromIMDS,this.correlationId),this.networkInterface.sendGetRequestAsync(`${s.gT.IMDS_ENDPOINT}?api-version=${e}&format=text`,t,s.gT.IMDS_TIMEOUT)}async getCurrentVersion(e){this.performanceClient?.addQueueMeasurement(d.Ak.RegionDiscoveryGetCurrentVersion,this.correlationId);try{const t=await this.networkInterface.sendGetRequestAsync(`${s.gT.IMDS_ENDPOINT}?format=json`,e);return t.status===s.YY.httpBadRequest&&t.body&&t.body["newest-versions"]&&t.body["newest-versions"].length>0?t.body["newest-versions"][0]:null}catch(e){return null}}}p.IMDS_OPTIONS={headers:{Metadata:"true"}};var m=n(536),f=n(7752),C=n(2506);class _{constructor(e,t,n,r,o,i,s){this.canonicalAuthority=e,this._canonicalAuthority.val
2idateAsUri(),this.networkInterface=t,this.cacheManager=n,this.authorityOptions=r,this.regionDiscoveryMetadata={region_used:void 0,region_source:void 0,region_outcome:void 0},this.logger=o,this.performanceClient=i,this.correlationId=s,this.regionDiscovery=new p(t,this.logger,this.performanceClient,this.correlationId)}getAuthorityType(e){if(e.HostNameAndPort.endsWith(s.gT.CIAM_AUTH_URL))return r.a.Ciam;const t=e.PathSegments;if(t.length)switch(t[0].toLowerCase()){case s.gT.ADFS:return r.a.Adfs;case s.gT.DSTS:return r.a.Dsts}return r.a.Default}get authorityType(){return this.getAuthorityType(this.canonicalAuthorityUrlComponents)}get protocolMode(){return this.authorityOptions.protocolMode}get options(){return this.authorityOptions}get canonicalAuthority(){return this._canonicalAuthority.urlString}set canonicalAuthority(e){this._canonicalAuthority=new o.G(e),this._canonicalAuthority.validateAsUri(),this._canonicalAuthorityUrlComponents=null}get canonicalAuthorityUrlComponents(){return this._canonicalAuthorityUrlComponents||(this._canonicalAuthorityUrlComponents=this._canonicalAuthority.getUrlComponents()),this._canonicalAuthorityUrlComponents}get hostnameAndPort(){return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase()}get tenant(){return this.canonicalAuthorityUrlComponents.PathSegments[0]}get authorizationEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.authorization_endpoint);throw(0,i.zP)(f.HO)}get tokenEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint);throw(0,i.zP)(f.HO)}get deviceCodeEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint.replace("/token","/devicecode"));throw(0,i.zP)(f.HO)}get endSessionEndpoint(){if(this.discoveryComplete()){if(!this.metadata.end_session_endpoint)throw(0,i.zP)(f.ig);return this.replacePath(this.metadata.end_session_endpoint)}throw(0,i.zP)(f.HO)}get selfSignedJwtAudience(){if(this.discoveryComplete())return this.replacePath(this.metadata.issuer);throw(0,i.zP)(f.HO)}get jwksUri(){if(this.discoveryComplete())return this.replacePath(this.metadata.jwks_uri);throw(0,i.zP)(f.HO)}canReplaceTenant(e){return 1===e.PathSegments.length&&!_.reservedTenantDomains.has(e.PathSegments[0])&&this.getAuthorityType(e)===r.a.Default&&this.protocolMode===h.A.AAD}replaceTenant(e){return e.replace(/{tenant}|{tenantid}/g,this.tenant)}replacePath(e){let t=e;const n=new o.G(this.metadata.canonical_authority).getUrlComponents(),r=n.PathSegments;return this.canonicalAuthorityUrlComponents.PathSegments.forEach(((e,i)=>{let s=r[i];if(0===i&&this.canReplaceTenant(n)){const e=new o.G(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];s!==e&&(this.logger.verbose(`Replacing tenant domain name ${s} with id ${e}`),s=e)}e!==s&&(t=t.replace(`/${s}/`,`/${e}/`))})),this.replaceTenant(t)}get defaultOpenIdConfigurationEndpoint(){const e=this.hostnameAndPort;return this.canonicalAuthority.endsWith("v2.0/")||this.authorityType===r.a.Adfs||this.protocolMode!==h.A.AAD&&!this.isAliasOfKnownMicrosoftAuthority(e)?`${this.canonicalAuthority}.well-known/openid-configuration`:`${this.canonicalAuthority}v2.0/.well-known/openid-configuration`}discoveryComplete(){return!!this.metadata}async resolveEndpointsAsync(){this.performanceClient?.addQueueMeasurement(d.Ak.AuthorityResolveEndpointsAsync,this.correlationId);const e=this.getCurrentMetadataEntity(),t=await(0,g.i)(this.updateCloudDiscoveryMetadata.bind(this),d.Ak.AuthorityUpdateCloudDiscoveryMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.canonicalAuthority=this.canonicalAuthority.replace(this.hostnameAndPort,e.preferred_network);const n=await(0,g.i)(this.updateEndpointMetadata.bind(this),d.Ak.AuthorityUpdateEndpointMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.updateCachedMetadata(e,t,{source:n})}getCurrentMetadataEntity(){let e=this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);return e||(e=new l.l,e.updateCanonicalAuthority(this.canonicalAuthority)),e}updateCachedMetadata(e,t,n){t!==s.pQ.CACHE&&n?.source!==s.pQ.CACHE&&(e.resetExpiresAt(),e.updateCanonicalAuthority(this.canonicalAuthority));const r=this.cacheManager.generateAuthorityMetadataCacheKey(e.preferred_cache);this.cacheManager.setAuthorityMetadata(r,e),this.metadata=e}async updateEndpointMetadata(e){this.performanceClient?.addQueueMeasurement(d.Ak.AuthorityUpdateEndpointMetadata,this.correlationId);const t=this.updateEndpointMetadataFromLocalSources(e);if(t){if(t.source===s.pQ.HARDCODED_VALUES&&this.authorityOptions.azureRegionConfiguration?.azureRegion&&t.metadata){const n=await(0,g.i)(this.updateMetadataWithRegionalInformation.bind(this),d.Ak.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(t.metadata);e.updateEndpointMetadata(n,!1)}return t.source}let n=await(0,g.i)(this.getEndpointMetadataFromNetwork.bind(this),d.Ak.AuthorityGetEndpointMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(n)return this.authorityOptions.azureRegionConfiguration?.azureRegion&&(n=await(0,g.i)(this.updateMetadataWithRegionalInformation.bind(this),d.Ak.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(n)),e.updateEndpointMetadata(n,!0),s.pQ.NETWORK;throw(0,i.zP)(f.Ce,this.defaultOpenIdConfigurationEndpoint)}updateEndpointMetadataFromLocalSources(e){this.logger.verbose("Attempting to get endpoint metadata from authority configuration");const t=this.getEndpointMetadataFromConfig();if(t)return this.logger.verbose("Found endpoint metadata in authority configuration"),e.updateEndpointMetadata(t,!1),{source:s.pQ.CONFIG};if(this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values."),this.authorityOptions.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get endpoint metadata from the network metadata cache.");else{const t=this.getEndpointMetadataFromHardcodedValues();if(t)return e.updateEndpointMetadata(t,!1),{source:s.pQ.HARDCODED_VALUES,metadata:t};this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.")}const n=e.isExpired();return this.isAuthoritySameType(e)&&e.endpointsFromNetwork&&!n?(this.logger.verbose("Found endpoint metadata in the cache."),{source:s.pQ.CACHE}):(n&&this.logger.verbose("The metadata entity is expired."),null)}isAuthoritySameType(e){return new o.G(e.canonical_authority).getUrlComponents().PathSegments.length===this.canonicalAuthorityUrlComponents.PathSegments.length}getEndpointMetadataFromConfig(){if(this.authorityOptions.authorityMetadata)try{return JSON.parse(this.authorityOptions.authorityMetadata)}catch(e){throw(0,c.ei)(C.zx)}return null}async getEndpointMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(d.Ak.AuthorityGetEndpointMetadataFromNetwork,this.correlationId);const e={},t=this.defaultOpenIdConfigurationEndpoint;this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from ${t}`);try{const n=await this.networkInterface.sendGetRequestAsync(t,e),r=function(e){return e.hasOwnProperty("authorization_endpoint")&&e.hasOwnProperty("token_endpoint")&&e.hasOwnProperty("issuer")&&e.hasOwnProperty("jwks_uri")}(n.body);return r?n.body:(this.logger.verbose("Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration"),null)}catch(e){return this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${e}`),null}}getEndpointMetadataFromHardcodedValues(){return this.canonicalAuthority in a.Qh?a.Qh[this.canonicalAuthority]:null}async updateMetadataWithRegionalInformation(e){this.performanceClient?.addQueueMeasurement(d.Ak.AuthorityUpdateMetadataWithRegionalInformation,this.correlationId);const t=this.authorityOptions.azureRegionConfiguration?.azureRegion;if(t){if(t!==s.gT.AZURE_REGION_AUTO_DISCOVER_FLAG)return this.regionDiscoveryMetadata.region_outcome=s.ki.CONFIGURED_NO_AUTO_DETECTION,this.regionDiscoveryMetadata.region_used=t,_.replaceWithRegionalInformation(e,t);const n=await(0,g.i)(this.regionDiscovery.detectRegion.bind(this.regionDiscovery),d.Ak.RegionDiscoveryDetectRegion,this.logger,this.performanceClient,this.correlationId)(this.authorityOptions.azureRegionConfiguration?.environmentRegion,this.regionDiscoveryMetadata);if(n)return this.regionDiscoveryMetadata.region_outcome=s.ki.AUTO_DETECTION_REQUESTED_SUCCESSFUL,this.regionDiscoveryMetadata.region_used=n,_.replaceWithRegionalInformation(e,n);this.regionDiscoveryMetadata.region_outcome=s.ki.AUTO_DETECTION_REQUESTED_FAILED}return e}async updateCloudDiscoveryMetadata(e){this.performanceClient?.addQueueMeasurement(d.Ak.AuthorityUpdateCloudDiscoveryMetadata,this.correlationId);const t=this.updateCloudDiscoveryMetadataFromLocalSources(e);if(t)return t;const n=await(0,g.i)(this.getCloudDiscoveryMetadataFromNetwork.bind(this),d.Ak.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(n)return e.updateCloudDiscoveryMetadata(n,!0),s.pQ.NETWORK;throw(0,c.ei)(C.o_)}updateCloudDiscoveryMetadataFromLocalSources(e){this.logger.verbose("Attempting to get cloud discovery metadata  from authority configuration"),this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities||s.gT.NOT_APPLICABLE}`),this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata||s.gT.NOT_APPLICABLE}`),this.logger.verbosePii(`Canonical Authority: ${e.canonical_authority||s.gT.NOT_APPLICABLE}`);const t=this.getCloudDiscoveryMetadataFromConfig();if(t)return this.logger.verbose("Found cloud discovery metadata in authority configuration"),e.updateCloudDiscoveryMetadata(t,!1),s.pQ.CONFIG;if(this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values."),this.options.skipAuthorityMetadataCache)this.logger.verbose("Skipping hardcoded cloud discovery metadata cache since skipAuthorityMetadataCache is set to true. Attempting to get cloud discovery metadata from the network metadata cache.");else{const t=(0,a.ix)(this.hostnameAndPort);if(t)return this.logger.verbose("Found cloud discovery metadata from hardcoded values."),e.updateCloudDiscoveryMetadata(t,!1),s.pQ.HARDCODED_VALUES;this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.")}const n=e.isExpired();return this.isAuthoritySameType(e)&&e.aliasesFromNetwork&&!n?(this.logger.verbose("Found cloud discovery metadata in the cache."),s.pQ.CACHE):(n&&this.logger.verbose("The metadata entity is expired."),null)}getCloudDiscoveryMetadataFromConfig(){if(this.authorityType===r.a.Ciam)return this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host."),_.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);if(this.authorityOptions.cloudDiscoveryMetadata){this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.");try{this.logger.verbose("Attempting to parse the cloud discovery metadata.");const e=JSON.parse(this.authorityOptions.cloudDiscoveryMetadata),t=(0,a.eM)(e.metadata,this.hostnameAndPort);if(this.logger.verbose("Parsed the cloud discovery metadata."),t)return this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata."),t;this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.")}catch(e){throw this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error."),(0,c.ei)(C.E)}}return this.isInKnownAuthorities()?(this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host."),_.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)):null}async getCloudDiscoveryMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(d.Ak.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.correlationId);const e=`${s.gT.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`,t={};let n=null;try{const r=await this.networkInterface.sendGetRequestAsync(e,t);let o,i;if(function(e){return e.hasOwnProperty("tenant_discovery_endpoint")&&e.hasOwnProperty("metadata")}(r.body))o=r.body,i=o.metadata,this.logger.verbosePii(`tenant_discovery_endpoint is: ${o.tenant_discovery_endpoint}`);else{if(!function(e){return e.hasOwnProperty("error")&&e.hasOwnProperty("error_description")}(r.body))return this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse"),null;if(this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: ${r.status}`),o=r.body,o.error===s.gT.INVALID_INSTANCE)return this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invali
2d_instance."),null;this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is ${o.error}`),this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is ${o.error_description}`),this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []"),i=[]}this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request."),n=(0,a.eM)(i,this.hostnameAndPort)}catch(e){if(e instanceof m.l4)this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata.\nError: ${e.errorCode}\nError Description: ${e.errorMessage}`);else{const t=e;this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata.\nError: ${t.name}\nError Description: ${t.message}`)}return null}return n||(this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request."),this.logger.verbose("Creating custom Authority for custom domain scenario."),n=_.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)),n}isInKnownAuthorities(){return this.authorityOptions.knownAuthorities.filter((e=>e&&o.G.getDomainFromUrl(e).toLowerCase()===this.hostnameAndPort)).length>0}static generateAuthority(e,t){let n;if(t&&t.azureCloudInstance!==u.z.None){const e=t.tenant?t.tenant:s.gT.DEFAULT_COMMON_TENANT;n=`${t.azureCloudInstance}/${e}/`}return n||e}static createCloudDiscoveryMetadataFromHost(e){return{preferred_network:e,preferred_cache:e,aliases:[e]}}getPreferredCache(){if(this.discoveryComplete())return this.metadata.preferred_cache;throw(0,i.zP)(f.HO)}isAlias(e){return this.metadata.aliases.indexOf(e)>-1}isAliasOfKnownMicrosoftAuthority(e){return a.wn.has(e)}static isPublicCloudAuthority(e){return s.gT.KNOWN_PUBLIC_CLOUDS.indexOf(e)>=0}static buildRegionalAuthorityString(e,t,n){const r=new o.G(e);r.validateAsUri();const i=r.getUrlComponents();let a=`${t}.${i.HostNameAndPort}`;this.isPublicCloudAuthority(i.HostNameAndPort)&&(a=`${t}.${s.gT.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`);const c=o.G.constructAuthorityUriFromObject({...r.getUrlComponents(),HostNameAndPort:a}).urlString;return n?`${c}?${n}`:c}static replaceWithRegionalInformation(e,t){const n={...e};return n.authorization_endpoint=_.buildRegionalAuthorityString(n.authorization_endpoint,t),n.token_endpoint=_.buildRegionalAuthorityString(n.token_endpoint,t),n.end_session_endpoint&&(n.end_session_endpoint=_.buildRegionalAuthorityString(n.end_session_endpoint,t)),n}static transformCIAMAuthority(e){let t=e;const n=new o.G(e).getUrlComponents();if(0===n.PathSegments.length&&n.HostNameAndPort.endsWith(s.gT.CIAM_AUTH_URL)){t=`${t}${n.HostNameAndPort.split(".")[0]}${s.gT.AAD_TENANT_DOMAIN_SUFFIX}`}return t}}function y(e){const t=new o.G(e).getUrlComponents().PathSegments.slice(-1)[0].toLowerCase();switch(t){case s.Nb.COMMON:case s.Nb.ORGANIZATIONS:case s.Nb.CONSUMERS:return;default:return t}}function T(e){return e.endsWith(s.gT.FORWARD_SLASH)?e:`${e}${s.gT.FORWARD_SLASH}`}function v(e){const t=e.cloudDiscoveryMetadata;let n;if(t)try{n=JSON.parse(t)}catch(e){throw(0,c.ei)(C.E)}return{canonicalAuthority:e.authority?T(e.authority):void 0,knownAuthorities:e.knownAuthorities,cloudDiscoveryMetadata:n}}_.reservedTenantDomains=new Set(["{tenant}","{tenantid}",s.Nb.COMMON,s.Nb.CONSUMERS,s.Nb.ORGANIZATIONS])},4842:function(e,t,n){n.d(t,{Qh:function(){return i},_u:function(){return c},eM:function(){return u},ix:function(){return l},wn:function(){return a}});var r=n(8299),o=n(9279);const i={"https://login.microsoftonline.com/common/":{token_endpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.microsoftonline.com/common/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://graph.microsoft.com/oidc/userinfo",authorization_endpoint:"https://login.microsoftonline.com/common/o
2auth2/v2.0/authorize",device_authorization_endpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.microsoftonline.com/common/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.microsoftonline.com/common/kerberos",tenant_region_scope:null,cloud_instance_name:"microsoftonline.com",cloud_graph_host_name:"graph.windows.net",msgraph_host:"graph.microsoft.com",rbac_url:"https://pas.windows.net"},"https://login.chinacloudapi.cn/common/":{token_endpoint:"https://login.chinacloudapi.cn/common/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.chinacloudapi.cn/common/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo",authorization_endpoint:"https://login.chinacloudapi.cn/common/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.chinacloudapi.cn/common/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.chinacloudapi.cn/common/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.chinacloudapi.cn/common/kerberos",tenant_region_scope:null,cloud_instance_name:"partner.microsoftonline.cn",cloud_graph_host_name:"graph.chinacloudapi.cn",msgraph_host:"microsoftgraph.chinacloudapi.cn",rbac_url:"https://pas.chinacloudapi.cn"},"https://login.microsoftonline.us/common/":{token_endpoint:"https://login.microsoftonline.us/common/o
2auth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.microsoftonline.us/common/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://graph.microsoft.com/oidc/userinfo",authorization_endpoint:"https://login.microsoftonline.us/common/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.microsoftonline.us/common/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.microsoftonline.us/common/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.microsoftonline.us/common/kerberos",tenant_region_scope:null,cloud_instance_name:"microsoftonline.us",cloud_graph_host_name:"graph.windows.net",msgraph_host:"graph.microsoft.com",rbac_url:"https://pasff.usgovcloudapi.net"},"https://login.microsoftonline.com/consumers/":{token_endpoint:"https://login.microsoftonline.com/consumers/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.microsoftonline.com/consumers/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://graph.microsoft.com/oidc/userinfo",authorization_endpoint:"https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.microsoftonline.com/consumers/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.microsoftonline.com/consumers/kerberos",tenant_region_scope:null,cloud_instance_name:"microsoftonline.com",cloud_graph_host_name:"graph.windows.net",msgraph_host:"graph.microsoft.com",rbac_url:"https://pas.windows.net"},"https://login.chinacloudapi.cn/consumers/":{token_endpoint:"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.chinacloudapi.cn/consumers/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.partner.microsoftonline.cn/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo",authorization_endpoint:"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgra
2ph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.chinacloudapi.cn/consumers/kerberos",tenant_region_scope:null,cloud_instance_name:"partner.microsoftonline.cn",cloud_graph_host_name:"graph.chinacloudapi.cn",msgraph_host:"microsoftgraph.chinacloudapi.cn",rbac_url:"https://pas.chinacloudapi.cn"},"https://login.microsoftonline.us/consumers/":{token_endpoint:"https://login.microsoftonline.us/consumers/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.microsoftonline.us/consumers/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.microsoftonline.us/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://graph.microsoft.com/oidc/userinfo",authorization_endpoint:"https://login.microsoftonline.us/consumers/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.microsoftonline.us/consumers/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.microsoftonline.us/consumers/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.microsoftonline.us/consumers/kerberos",tenant_region_scope:null,cloud_instance_name:"microsoftonline.us",cloud_graph_host_name:"graph.windows.net",msgraph_host:"graph.microsoft.com",rbac_url:"https://pasff.usgovcloudapi.net"},"https://login.microsoftonline.com/organizations/":{token_endpoint:"https://login.microsoftonline.com/organizations/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.microsoftonline.com/organizations/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://graph.microsoft.com/oidc/userinfo",authorization_endpoint:"https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.microsoftonline.com/organizations/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.microsoftonline.com/organizations/kerberos",tenant_region_scope:null,cloud_instance_name:"microsoftonline.com",cloud_graph_host_name:"graph.windows.net",msgraph_host:"graph.microsoft.com",rbac_url:"https://pas.windows.net"},"https://login.chinacloudapi.cn/organizations/":{token_endpoint:"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.chinacloudapi.cn/organizations/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo",authorization_endpoint:"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgra
2ph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.chinacloudapi.cn/organizations/kerberos",tenant_region_scope:null,cloud_instance_name:"partner.microsoftonline.cn",cloud_graph_host_name:"graph.chinacloudapi.cn",msgraph_host:"microsoftgraph.chinacloudapi.cn",rbac_url:"https://pas.chinacloudapi.cn"},"https://login.microsoftonline.us/organizations/":{token_endpoint:"https://login.microsoftonline.us/organizations/oauth2/v2.0/token",token_endpoint_auth_methods_supported:["client_secret_post","private_key_jwt","client_secret_basic"],jwks_uri:"https://login.microsoftonline.us/organizations/discovery/v2.0/keys",response_modes_supported:["query","fragment","form_post"],subject_types_supported:["pairwise"],id_token_signing_alg_values_supported:["RS256"],response_types_supported:["code","id_token","code id_token","id_token token"],scopes_supported:["openid","profile","email","offline_access"],issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",request_uri_parameter_supported:!1,userinfo_endpoint:"https://graph.microsoft.com/oidc/userinfo",authorization_endpoint:"https://login.microsoftonline.us/organizations/oauth2/v2.0/authorize",device_authorization_endpoint:"https://login.microsoftonline.us/organizations/oauth2/v2.0/devicecode",http_logout_supported:!0,frontchannel_logout_supported:!0,end_session_endpoint:"https://login.microsoftonline.us/organizations/oauth2/v2.0/logout",claims_supported:["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],kerberos_endpoint:"https://login.microsoftonline.us/organizations/kerberos",tenant_region_scope:null,cloud_instance_name:"microsoftonline.us",cloud_graph_host_name:"graph.windows.net",msgraph_host:"graph.microsoft.com",rbac_url:"https://pasff.usgovcloudapi.net"}},s={tenant_discovery_endpoint:"https://{canonicalAuthority}/v2.0/.well-known/openid-configuration","api-version":"1.1",metadata:[{preferred_network:"login.microsoftonline.com",preferred_cache:"login.windows.net",aliases:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"]},{preferred_network:"login.partner.microsoftonline.cn",preferred_cache:"login.partner.microsoftonline.cn",aliases:["login.partner.microsoftonline.cn","login.chinacloudapi.cn"]},{preferred_network:"login.microsoftonline.de",preferred_cache:"login.microsoftonline.de",aliases:["login.microsoftonline.de"]},{preferred_network:"login.microsoftonline.us",preferred_cache:"login.microsoftonline.us",aliases:["login.microsoftonline.us","login.usgovcloudapi.net"]},{preferred_network:"login-us.microsoftonline.com",preferred_cache:"login-us.microsoftonline.com",aliases:["login-us.microsoftonline.com"]}]},a=new Set;function c(e,t){let n;const i=e.canonicalAuthority;if(i){const a=new r.G(i).getUrlComponents().HostNameAndPort;n=h(a,e.cloudDiscoveryMetadata?.metadata,o.pQ.CONFIG,t)||h(a,s.metadata,o.pQ.HARDCODED_VALUES,t)||e.knownAuthorities}return n||[]}function h(e,t,n,r){if(r?.trace(`getAliasesFromMetadata called with source: ${n}`),e&&t){const o=u(t,e);if(o)return r?.trace(`getAliasesFromMetadata: found cloud discovery metadata in ${n}, returning aliases`),o.aliases;r?.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in ${n}`)}return null}function l(e){return u(s.metadata,e)}function u(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(r.aliases.includes(t))return r}return null}s.metadata.forEach((e=>{e.aliases.forEach((e=>{a.add(e)}))}))},1105:function(e,t,n){n.d(t,{z:function(){return r}});const r={None:"none",AzurePublic:"https://login.microsoftonline.com",AzurePpe:"https://login.windows-ppe.net",AzureChina:"https://login.chinacloudapi.cn",AzureGermany:"https://login.microsoftonline.de",AzureUsGovernment:"https://login.microsoftonline.us"}},4085:function(e,t,n){n.d(t,{a:function(){return r}});const r={Default:0,Adfs:1,Dsts:2,Ciam:3}},166:function(e,t,n){n.d(t,{A:function(){return r}});const r={AAD:"AAD",OIDC:"OIDC"}},1335:function(e,t,n){n.d(t,{L:function(){return p},w:function(){return m}});var r=n(9279),o=n(2548),i=n(3570),s=n(6161),a=n(5385),c=n(2401),h=n(6831),l=n(7564),u=n(3301),d=n(4842),g=n(7752);class p{constructor(e,t,n,r){this.clientId=e,this.cryptoImpl=t,this.commonLogger=n.clone(l.u,l.i),this.staticAuthorityOptions=r}getAllAccounts(e){return this.buildTenantProfiles(this.getAccountsFilteredBy(e||{}),e)}getAccountInfoFilteredBy(e){const t=this.getAllAccounts(e);if(t.length>1){return t.sort((e=>e.idTokenClaims?-1:1))[0]}return 1===t.length?t[0]:null}getBaseAccountInfo(e){const t=this.getAccountsFilteredBy(e);return t.length>0?t[0].getAccountInfo():null}buildTenantProfiles(e,t){return e.flatMap((e=>this.getAccountInfoForTenantProfiles(e,t)))}getAccountInfoForTenantProfiles(e,t){return this.getTenantProfilesFromAccountEntity(e,t?.tenantId,t)}getTenantedAccountInfoByFilter(e,t,n,r){let o,i=null;if(r&&!this.tenantProfileMatchesFilter(n,r))return null;const s=this.getIdToken(e,t,n.tenantId);return s&&(o=(0,h.Z_)(s.secret,this.cryptoImpl.base64Decode),!this.idTokenClaimsMatchTenantProfileFilter(o,r))?null:(i=(0,c.$f)(e,n,o),i)}
2getTenantProfilesFromAccountEntity(e,t,n){const r=e.getAccountInfo();let o=r.tenantProfiles||new Map;const i=this.getTokenKeys();if(t){const e=o.get(t);if(!e)return[];o=new Map([[t,e]])}const s=[];return o.forEach((e=>{const t=this.getTenantedAccountInfoByFilter(r,i,e,n);t&&s.push(t)})),s}tenantProfileMatchesFilter(e,t){return!(t.localAccountId&&!this.matchLocalAccountIdFromTenantProfile(e,t.localAccountId))&&((!t.name||e.name===t.name)&&(void 0===t.isHomeTenant||e.isHomeTenant===t.isHomeTenant))}idTokenClaimsMatchTenantProfileFilter(e,t){if(t){if(t.localAccountId&&!this.matchLocalAccountIdFromTokenClaims(e,t.localAccountId))return!1;if(t.loginHint&&!this.matchLoginHintFromTokenClaims(e,t.loginHint))return!1;if(t.username&&!this.matchUsername(e.preferred_username,t.username))return!1;if(t.name&&!this.matchName(e,t.name))return!1;if(t.sid&&!this.matchSid(e,t.sid))return!1}return!0}async saveCacheRecord(e,t){if(!e)throw(0,a.zP)(g.mj);e.account&&this.setAccount(e.account),e.idToken&&!1!==t?.idToken&&this.setIdTokenCredential(e.idToken),e.accessToken&&!1!==t?.accessToken&&await this.saveAccessToken(e.accessToken),e.refreshToken&&!1!==t?.refreshToken&&this.setRefreshTokenCredential(e.refreshToken),e.appMetadata&&this.setAppMetadata(e.appMetadata)}async saveAccessToken(e){const t={clientId:e.clientId,credentialType:e.credentialType,environment:e.environment,homeAccountId:e.homeAccountId,realm:e.realm,tokenType:e.tokenType,requestedClaimsHash:e.requestedClaimsHash},n=this.getTokenKeys(),r=i.i.fromString(e.target),o=[];n.accessToken.forEach((e=>{if(!this.accessTokenKeyMatchesFilter(e,t,!1))return;const n=this.getAccessTokenCredential(e);if(n&&this.credentialMatchesFilter(n,t)){i.i.fromString(n.target).intersectingScopeSets(r)&&o.push(this.removeAccessToken(e))}})),await Promise.all(o),this.setAccessTokenCredential(e)}getAccountsFilteredBy(e){const t=this.getAccountKeys(),n=[];return t.forEach((t=>{if(!this.isAccountKey(t,e.homeAccountId))return;const r=this.getAccount(t,this.commonLogger);if(!r)return;if(e.homeAccountId&&!this.matchHomeAccountId(r,e.homeAccountId))return;if(e.username&&!this.matchUsername(r.username,e.username))return;if(e.environment&&!this.matchEnvironment(r,e.environment))return;if(e.realm&&!this.matchRealm(r,e.realm))return;if(e.nativeAccountId&&!this.matchNativeAccountId(r,e.nativeAccountId))return;if(e.authorityType&&!this.matchAuthorityType(r,e.authorityType))return;const o={localAccountId:e?.localAccountId,name:e?.name},i=r.tenantProfiles?.filter((e=>this.tenantProfileMatchesFilter(e,o)));i&&0===i.length||n.push(r)})),n}isAccountKey(e,t,n){return!(e.split(r.Bv.CACHE_KEY_SEPARATOR).length<3)&&(!(t&&!e.toLowerCase().includes(t.toLowerCase()))&&!(n&&!e.toLowerCase().includes(n.toLowerCase())))}isCredentialKey(e){if(e.split(r.Bv.CACHE_KEY_SEPARATOR).length<6)return!1;const t=e.toLowerCase();if(-1===t.indexOf(r.d3.ID_TOKEN.toLowerCase())&&-1===t.indexOf(r.d3.ACCESS_TOKEN.toLowerCase())&&-1===t.indexOf(r.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())&&-1===t.indexOf(r.d3.REFRESH_TOKEN.toLowerCase()))return!1;if(t.indexOf(r.d3.REFRESH_TOKEN.toLowerCase())>-1){const e=`${r.d3.REFRESH_TOKEN}${r.Bv.CACHE_KEY_SEPARATOR}${this.clientId}${r.Bv.CACHE_KEY_SEPARATOR}`,n=`${r.d3.REFRESH_TOKEN}${r.Bv.CACHE_KEY_SEPARATOR}${r.ch}${r.Bv.CACHE_KEY_SEPARATOR}`;if(-1===t.indexOf(e.toLowerCase())&&-1===t.indexOf(n.toLowerCase()))return!1}else if(-1===t.indexOf(this.clientId.toLowerCase()))return!1;return!0}credentialMatchesFilter(e,t){if(t.clientId&&!this.matchClientId(e,t.clientId))return!1;if(t.userAssertionHash&&!this.matchUserAssertionHash(e,t.userAssertionHash))return!1;if("string"==typeof t.homeAccountId&&!this.matchHomeAccountId(e,t.homeAccountId))return!1;if(t.environment&&!this.matchEnvironment(e,t.environment))return!1;if(t.realm&&!this.matchRealm(e,t.realm))return!1;if(t.credentialType&&!this.matchCredentialType(e,t.credentialType))return!1;if(t.familyId&&!this.matchFamilyId(e,t.familyId))return!1;if(t.target&&!this.matchTarget(e,t.target))return!1;if((t.requestedClaimsHash||e.requestedClaimsHash)&&e.requestedClaimsHash!==t.requestedClaimsHash)return!1;if(e.credentialType===r.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME){if(t.tokenType&&!this.matchTokenType(e,t.tokenType))return!1;if(t.tokenType===r.hO.SSH&&t.keyId&&!this.matchKeyId(e,t.keyId))return!1}return!0}getAppMetadataFilteredBy(e){return this.getAppMetadataFilteredByInternal(e.environment,e.clientId)}getAppMetadataFilteredByInternal(e,t){const n=this.getKeys(),r={};
2return n.forEach((n=>{if(!this.isAppMetadata(n))return;const o=this.getAppMetadata(n);o&&(e&&!this.matchEnvironment(o,e)||t&&!this.matchClientId(o,t)||(r[n]=o))})),r}getAuthorityMetadataByAlias(e){const t=this.getAuthorityMetadataKeys();let n=null;return t.forEach((t=>{if(!this.isAuthorityMetadata(t)||-1===t.indexOf(this.clientId))return;const r=this.getAuthorityMetadata(t);r&&-1!==r.aliases.indexOf(e)&&(n=r)})),n}async removeAllAccounts(){const e=this.getAccountKeys(),t=[];e.forEach((e=>{t.push(this.removeAccount(e))})),await Promise.all(t)}async removeAccount(e){const t=this.getAccount(e,this.commonLogger);t&&(await this.removeAccountContext(t),this.removeItem(e))}async removeAccountContext(e){const t=this.getTokenKeys(),n=e.generateAccountId(),r=[];t.idToken.forEach((e=>{0===e.indexOf(n)&&this.removeIdToken(e)})),t.accessToken.forEach((e=>{0===e.indexOf(n)&&r.push(this.removeAccessToken(e))})),t.refreshToken.forEach((e=>{0===e.indexOf(n)&&this.removeRefreshToken(e)})),await Promise.all(r)}updateOutdatedCachedAccount(e,t,n){if(t&&t.isSingleTenant()){this.commonLogger?.verbose("updateOutdatedCachedAccount: Found a single-tenant (outdated) account entity in the cache, migrating to multi-tenant account entity");const r=this.getAccountKeys().filter((e=>e.startsWith(t.homeAccountId))),o=[];r.forEach((e=>{const t=this.getCachedAccountEntity(e);t&&o.push(t)}));const i=o.find((e=>(0,c.Hc)(e.realm,e.homeAccountId)))||o[0];i.tenantProfiles=o.map((e=>({tenantId:e.realm,localAccountId:e.localAccountId,name:e.name,isHomeTenant:(0,c.Hc)(e.realm,e.homeAccountId)})));const a=p.toObject(new s.r,{...i}),h=a.generateAccountKey();return r.forEach((t=>{t!==h&&this.removeOutdatedAccount(e)})),this.setAccount(a),n?.verbose("Updated an outdated account entity in the cache"),a}return t}async removeAccessToken(e){const t=this.getAccessTokenCredential(e);if(t){if(t.credentialType.toLowerCase()===r.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()&&t.tokenType===r.hO.POP){const e=t.keyId;if(e)try{await this.cryptoImpl.removeTokenBindingKey(e)}catch(e){throw(0,a.zP)(g.ol)}}return this.removeItem(e)}}removeAppMetadata(){return this.getKeys().forEach((e=>{this.isAppMetadata(e)&&this.removeItem(e)})),!0}readCacheRecord(e,t,n,r,o){const i=e.tenantId||(0,u.Mh)(t.authority),s=this.getTokenKeys();return{account:this.readAccountFromCache(e),idToken:this.getIdToken(e,s,i,r,o),accessToken:this.getAccessToken(e,t,s,i,r,o),refreshToken:this.getRefreshToken(e,!1,s,r,o),appMetadata:this.readAppMetadataFromCache(n)}}readAccountFromCache(e){const t=s.r.generateAccountCacheKey(e);return this.getAccount(t,this.commonLogger)}getIdToken(e,t,n,o,i){this.commonLogger.trace("CacheManager - getIdToken called");const s={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:r.d3.ID_TOKEN,clientId:this.clientId,realm:n},a=this.getIdTokensByFilter(s,t),c=a.size;if(c<1)return this.commonLogger.info("CacheManager:getIdToken - No token found"),null;if(c>1){let t=a;if(!n){const n=new Map;a.forEach(((t,r)=>{t.realm===e.tenantId&&n.set(r,t)}));const r=n.size;if(r<1)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result"),a.values().next().value;if(1===r)return this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile"),n.values().next().value;t=n}return this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them"),t.forEach(((e,t)=>{this.removeIdToken(t)})),o&&i&&o.addFields({multiMatchedID:a.size},i),null}return this.commonLogger.info("CacheManager:getIdToken - Returning ID token"),a.values().next().value}getIdTokensByFilter(e,t){const n=t&&t.idToken||this.getTokenKeys().idToken,r=new Map;return n.forEach((t=>{if(!this.idTokenKeyMatchesFilter(t,{clientId:this.clientId,...e}))return;const n=this.getIdTokenCredential(t);n&&this.credentialMatchesFilter(n,e)&&r.set(t,n)})),r}idTokenKeyMatchesFilter(e,t){const n=e.toLowerCase();
2return(!t.clientId||-1!==n.indexOf(t.clientId.toLowerCase()))&&(!t.homeAccountId||-1!==n.indexOf(t.homeAccountId.toLowerCase()))}removeIdToken(e){this.removeItem(e)}removeRefreshToken(e){this.removeItem(e)}getAccessToken(e,t,n,s,a,c){this.commonLogger.trace("CacheManager - getAccessToken called");const h=i.i.createSearchScopes(t.scopes),l=t.authenticationScheme||r.hO.BEARER,u=l&&l.toLowerCase()!==r.hO.BEARER.toLowerCase()?r.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME:r.d3.ACCESS_TOKEN,d={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:u,clientId:this.clientId,realm:s||e.tenantId,target:h,tokenType:l,keyId:t.sshKid,requestedClaimsHash:t.requestedClaimsHash},g=n&&n.accessToken||this.getTokenKeys().accessToken,p=[];g.forEach((e=>{if(this.accessTokenKeyMatchesFilter(e,d,!0)){const t=this.getAccessTokenCredential(e);t&&this.credentialMatchesFilter(t,d)&&p.push(t)}}));const m=p.length;return m<1?(this.commonLogger.info("CacheManager:getAccessToken - No token found"),null):m>1?(this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them"),p.forEach((e=>{this.removeAccessToken((0,o.Mk)(e))})),a&&c&&a.addFields({multiMatchedAT:p.length},c),null):(this.commonLogger.info("CacheManager:getAccessToken - Returning access token"),p[0])}accessTokenKeyMatchesFilter(e,t,n){const r=e.toLowerCase();if(t.clientId&&-1===r.indexOf(t.clientId.toLowerCase()))return!1;if(t.homeAccountId&&-1===r.indexOf(t.homeAccountId.toLowerCase()))return!1;if(t.realm&&-1===r.indexOf(t.realm.toLowerCase()))return!1;if(t.requestedClaimsHash&&-1===r.indexOf(t.requestedClaimsHash.toLowerCase()))return!1;if(t.target){const e=t.target.asArray();for(let t=0;t<e.length;t++){if(n&&!r.includes(e[t].toLowerCase()))return!1;if(!n&&r.includes(e[t].toLowerCase()))return!0}}return!0}getAccessTokensByFilter(e){const t=this.getTokenKeys(),n=[];return t.accessToken.forEach((t=>{if(!this.accessTokenKeyMatchesFilter(t,e,!0))return;const r=this.getAccessTokenCredential(t);r&&this.credentialMatchesFilter(r,e)&&n.push(r)})),n}getRefreshToken(e,t,n,o,i){this.commonLogger.trace("CacheManager - getRefreshToken called");const s=t?r.ch:void 0,a={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:r.d3.REFRESH_TOKEN,clientId:this.clientId,familyId:s},c=n&&n.refreshToken||this.getTokenKeys().refreshToken,h=[];c.forEach((e=>{if(this.refreshTokenKeyMatchesFilter(e,a)){const t=this.getRefreshTokenCredential(e);t&&this.credentialMatchesFilter(t,a)&&h.push(t)}}));const l=h.length;return l<1?(this.commonLogger.info("CacheManager:getRefreshToken - No refresh token found."),null):(l>1&&o&&i&&o.addFields({multiMatchedRT:l},i),this.commonLogger.info("CacheManager:getRefreshToken - returning refresh token"),h[0])}refreshTokenKeyMatchesFilter(e,t){const n=e.toLowerCase();return(!t.familyId||-1!==n.indexOf(t.familyId.toLowerCase()))&&(!(!t.familyId&&t.clientId&&-1===n.indexOf(t.clientId.toLowerCase()))&&(!t.homeAccountId||-1!==n.indexOf(t.homeAccountId.toLowerCase())))}readAppMetadataFromCache(e){const t={environment:e,clientId:this.clientId},n=this.getAppMetadataFilteredBy(t),r=Object.keys(n).map((e=>n[e])),o=r.length;if(o<1)return null;if(o>1)throw(0,a.zP)(g.EC);return r[0]}isAppMetadataFOCI(e){const t=this.readAppMetadataFromCache(e);return!(!t||t.familyId!==r.ch)}matchHomeAccountId(e,t){return!("string"!=typeof e.homeAccountId||t!==e.homeAccountId)}matchLocalAccountIdFromTokenClaims(e,t){return t===(e.oid||e.sub)}matchLocalAccountIdFromTenantProfile(e,t){return e.localAccountId===t}matchName(e,t){return!(t.toLowerCase()!==e.name?.toLowerCase())}matchUsername(e,t){return!(!e||"string"!=typeof e||t?.toLowerCase()!==e.toLowerCase())}matchUserAssertionHash(e,t){return!(!e.userAssertionHash||t!==e.userAssertionHash)}matchEnvironment(e,t){if(this.staticAuthorityOptions){const n=(0,d._u)(this.staticAuthorityOptions,this.commonLogger);if(n.includes(t)&&n.includes(e.environment))return!0}const n=this.getAuthorityMetadataByAlias(t);return!!(n&&n.aliases.indexOf(e.environment)>-1)}matchCredentialType(e,t){return e.credentialType&&t.toLowerCase()===e.credentialType.toLowerCase()}matchClientId(e,t){return!(!e.clientId||t!==e.clientId)}matchFamilyId(e,t){return!(!e.familyId||t!==e.familyId)}matchRealm(e,t){return!(e.realm?.toLowerCase()!==t.toLowerCase())}matchNativeAccountId(e,t){return!(!e.nativeAccountId||t!==e.nativeAccountId)}matchLoginHintFromTokenClaims(e,t){return e.login_hint===t||(e.preferred_username===t||e.upn===t)}matchSid(e,t){return e.sid===t}matchAuthorityType(e,t){return!(!e.authorityType||t.toLowerCase()!==e.authorityType.toLowerCase())}matchTarget(e,t){if(e.credentialType!==r.d3.ACCESS_TOKEN&&e.credentialType!==r.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME||!e.target)return!1;return i.i.fromString(e.target).containsScopeSet(t)}matchTokenType(e,t){return!(!e.tokenType||e.tokenType!==t)}matchKeyId(e,t){return!(!e.keyId||e.keyId!==t)}isAppMetadata(e){return-1!==e.indexOf(r.dg)}isAuthorityMetadata(e){return-1!==e.indexOf(r.QU.CACHE_KEY)}generateAuthorityMetadataCacheKey(e){return`${r.QU.CACHE_KEY}-${this.clientId}-${e}`}static toObject(e,t){for(const n in t)e[n]=t[n];return e}}class m extends p{setAccount(){throw(0,a.zP)(g.M2)}getAccount(){throw(0,a.zP)(g.M2)}getCachedAccountEntity(){throw(0,a.zP)(g.M2)}setIdTokenCredential(){throw(0,a.zP)(g.M2)}getIdTokenCredential(){throw(0,a.zP)(g.M2)}setAccessTokenCredential(){throw(0,a.zP)(g.M2)}getAccessTokenCredential(){throw(0,a.zP)(g.M2)}setRefreshTokenCredential(){throw(0,a.zP)(g.M2)}getRefreshTokenCredential(){throw(0,a.zP)(g.M2)}setAppMetadata(){throw(0,a.zP)(g.M2)}getAppMetadata(){throw(0,a.zP)(g.M2)}setServerTelemetry(){throw(0,a.zP)(g.M2)}getServerTelemetry(){throw(0,a.zP)(g.M2)}setAuthorityMetadata(){throw(0,a.zP)(g.M2)}getAuthorityMetadata(){throw(0,a.zP)(g.M2)}getAuthorityMetadataKeys(){throw(0,a.zP)(g.M2)}setThrottlingCache(){throw(0,a.zP)(g.M2)}getThrottlingCache(){throw(0,a.zP)(g.M2)}removeItem(){throw(0,a.zP)(g.M2)}containsKey(){throw(0,a.zP)(g.M2)}getKeys(){throw(0,a.zP)(g.M2)}getAccountKeys(){throw(0,a.zP)(g.M2)}getTokenKeys(){throw(0,a.zP)(g.M2)}async clear(){throw(0,a.zP)(g.M2)}updateCredentialCacheKey(){throw(0,a.zP)(g.M2)}removeOutdatedAccount(){throw(0,a.zP)(g.M2)}}},6161:function(e,t,n){n.d(t,{r:function(){return u}});var r=n(9279),o=n(4903),i=n(2401),s=n(5385),a=n(4085),c=n(2057),h=n(166),l=n(7752);class u{generateAccountId(){return[this.homeAccountId,this.environment].join(r.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}generateAccountKey(){return u.generateAccountCacheKey({homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId})}getAccountInfo(){return{homeAccountId:this.homeAccountId,environment:this.environment,tenantId:this.realm,username:this.username,localAccountId:this.localAccountId,name:this.name,nativeAccountId:this.nativeAccountId,authorityType:this.authorityType,tenantProfiles:new Map((this.tenantProfiles||[]).map((e=>[e.tenantId,e])))}}isSingleTenant(){return!this.tenantProfiles}static generateAccountCacheKey(e){const t=e.homeAccountId.split(".")[1];return[e.homeAccountId,e.environment||"",t||e.tenantId||""].join(r.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}static createAccount(e,t,n){const d=new u;let g;t.authorityType===a.a.Adfs?d.authorityType=r.iR.ADFS_ACCOUNT_TYPE:t.protocolMode===h.A.AAD?d.authorityType=r.iR.MSSTS_ACCOUNT_TYPE:d.authorityType=r.iR.GENER
2IC_ACCOUNT_TYPE,e.clientInfo&&n&&(g=(0,o.B)(e.clientInfo,n)),d.clientInfo=e.clientInfo,d.homeAccountId=e.homeAccountId,d.nativeAccountId=e.nativeAccountId;const p=e.environment||t&&t.getPreferredCache();if(!p)throw(0,s.zP)(l.Q9);d.environment=p,d.realm=g?.utid||(0,c.M)(e.idTokenClaims)||"",d.localAccountId=g?.uid||e.idTokenClaims.oid||e.idTokenClaims.sub||"";const m=e.idTokenClaims.preferred_username||e.idTokenClaims.upn,f=e.idTokenClaims.emails?e.idTokenClaims.emails[0]:null;if(d.username=m||f||"",d.name=e.idTokenClaims.name,d.cloudGraphHostName=e.cloudGraphHostName,d.msGraphHost=e.msGraphHost,e.tenantProfiles)d.tenantProfiles=e.tenantProfiles;else{const t=[];if(e.idTokenClaims){const n=(0,i.SI)(e.homeAccountId,e.idTokenClaims);t.push(n)}d.tenantProfiles=t}return d}static createFromAccountInfo(e,t,n){const o=new u;return o.authorityType=e.authorityType||r.iR.GENERIC_ACCOUNT_TYPE,o.homeAccountId=e.homeAccountId,o.localAccountId=e.localAccountId,o.nativeAccountId=e.nativeAccountId,o.realm=e.tenantId,o.environment=e.environment,o.username=e.username,o.name=e.name,o.cloudGraphHostName=t,o.msGraphHost=n,o.tenantProfiles=Array.from(e.tenantProfiles?.values()||[]),o}static generateHomeAccountId(e,t,n,r,i){if(t!==a.a.Adfs&&t!==a.a.Dsts){if(e)try{const t=(0,o.B)(e,r.base64Decode);if(t.uid&&t.utid)return`${t.uid}.${t.utid}`}catch(e){}n.warning("No client info in response")}return i?.sub||""}static isAccountEntity(e){return!!e&&(e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("realm")&&e.hasOwnProperty("localAccountId")&&e.hasOwnProperty("username")&&e.hasOwnProperty("authorityType"))}static accountInfoIsEqual(e,t,n){if(!e||!t)return!1;let r=!0;if(n){const n=e.idTokenClaims||{},o=t.idTokenClaims||{};r=n.iat===o.iat&&n.nonce===o.nonce}return e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username&&e.tenantId===t.tenantId&&e.environment===t.environment&&e.nativeAccountId===t.nativeAccountId&&r}}},6342:function(e,t,n){n.d(t,{l:function(){return i}});var r=n(9279),o=n(6516);class i{constructor(){this.expiresAt=o.I.nowSeconds()+r.QU.REFRESH_TIME_SECONDS}updateCloudDiscoveryMetadata(e,t){this.aliases=e.aliases,this.preferred_cache=e.preferred_cache,this.preferred_network=e.preferred_network,this.aliasesFromNetwork=t}updateEndpointMetadata(e,t){this.authorization_endpoint=e.authorization_endpoint,this.token_endpoint=e.token_endpoint,this.end_session_endpoint=e.end_session_endpoint,this.issuer=e.issuer,this.endpointsFromNetwork=t,this.jwks_uri=e.jwks_uri}updateCanonicalAuthority(e){this.canonical_authority=e}resetExpiresAt(){this.expiresAt=o.I.nowSeconds()+r.QU.REFRESH_TIME_SECONDS}isExpired(){return this.expiresAt<=o.I.nowSeconds()}static isAuthorityMetadataEntity(e,t){return!!t&&(0===e.indexOf(r.QU.CACHE_KEY)&&t.hasOwnProperty("aliases")&&t.hasOwnProperty("preferred_cache")&&t.hasOwnProperty("preferred_network")&&t.hasOwnProperty("canonical_authority")&&t.hasOwnProperty("authorization_endpoint")&&t.hasOwnProperty("token_endpoint")&&t.hasOwnProperty("issuer")&&t.hasOwnProperty("aliasesFromNetwork")&&t.hasOwnProperty("endpointsFromNetwork")&&t.hasOwnProperty("expiresAt")&&t.hasOwnProperty("jwks_uri"))}}},2548:function(e,t,n){n.d(t,{Bq:function(){return p},Ds:function(){return l},Js:function(){return v},Md:function(){return h},Mk:function(){return c},OJ:function(){return u},Om:function(){return g},x4:function(){return m}});var r=n(6831),o=n(5385),i=n(9279),s=n(6516),a=n(7752);function c(e){return[f(e),C(e),_(e),y(e),T(e)].join(i.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}function h(e,t,n,r,o){return{credentialType:i.d3.ID_TOKEN,homeAccountId:e,environment:t,clientId:r,secret:n,realm:o}}function l(e,t,n,c,h,l,u,d,g,p,m,f,C,_,y){const T={homeAccountId:e,credentialType:i.d3.ACCESS_TOKEN,secret:n,cachedAt:s.I.nowSeconds().toString(),expiresOn:u.toString(),extendedExpiresOn:d.toString(),environment:t,clientId:c,realm:h,target:l,tokenType:m||i.hO.BEARER};if(f&&(T.userAssertionHash=f),p&&(T.refreshOn=p.toString()),_&&(T.requestedClaims=_,T.requestedClaimsHash=y),T.tokenType?.toLowerCase()!==i.hO.BEARER.toLowerCase())switch(T.credentialType=i.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME,T.tokenType){case i.hO.POP:const e=(0,r.Z_)(n,g);
2if(!e?.cnf?.kid)throw(0,o.zP)(a.P_);T.keyId=e.cnf.kid;break;case i.hO.SSH:T.keyId=C}return T}function u(e,t,n,r,o,s){const a={credentialType:i.d3.REFRESH_TOKEN,homeAccountId:e,environment:t,clientId:r,secret:n};return s&&(a.userAssertionHash=s),o&&(a.familyId=o),a}function d(e){return e.hasOwnProperty("homeAccountId")&&e.hasOwnProperty("environment")&&e.hasOwnProperty("credentialType")&&e.hasOwnProperty("clientId")&&e.hasOwnProperty("secret")}function g(e){return!!e&&(d(e)&&e.hasOwnProperty("realm")&&e.hasOwnProperty("target")&&(e.credentialType===i.d3.ACCESS_TOKEN||e.credentialType===i.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME))}function p(e){return!!e&&(d(e)&&e.hasOwnProperty("realm")&&e.credentialType===i.d3.ID_TOKEN)}function m(e){return!!e&&(d(e)&&e.credentialType===i.d3.REFRESH_TOKEN)}function f(e){return[e.homeAccountId,e.environment].join(i.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}function C(e){const t=e.credentialType===i.d3.REFRESH_TOKEN&&e.familyId||e.clientId;return[e.credentialType,t,e.realm||""].join(i.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}function _(e){return(e.target||"").toLowerCase()}function y(e){return(e.requestedClaimsHash||"").toLowerCase()}function T(e){return e.tokenType&&e.tokenType.toLowerCase()!==i.hO.BEARER.toLowerCase()?e.tokenType.toLowerCase():""}function v(e,t){const n=0===e.indexOf(i.HN.CACHE_KEY);let r=!0;return t&&(r=t.hasOwnProperty("failedRequests")&&t.hasOwnProperty("errors")&&t.hasOwnProperty("cacheHits")),n&&r}},1796:function(e,t,n){n.d(t,{j6:function(){return T},lh:function(){return v},z:function(){return d}});var r=n(9566),o=n(354),i=n(9279),s=n(7564),a=n(1105),c=n(1335),h=n(166),l=n(5385),u=n(7752);const d={tokenRenewalOffsetSeconds:300,preventCorsPreflight:!1},g={loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:o.i.Info,correlationId:i.gT.EMPTY_STRING},p={claimsBasedCachingEnabled:!1},m={async sendGetRequestAsync(){throw(0,l.zP)(u.M2)},async sendPostRequestAsync(){throw(0,l.zP)(u.M2)}},f={sku:i.gT.SKU,version:s.i,cpu:i.gT.EMPTY_STRING,os:i.gT.EMPTY_STRING},C={clientSecret:i.gT.EMPTY_STRING,clientAssertion:void 0},_={azureCloudInstance:a.z.None,tenant:`${i.gT.DEFAULT_COMMON_TENANT}`},y={application:{appName:"",appVersion:""}};function T({authOptions:e,systemOptions:t,loggerOptions:n,cacheOptions:i,storageInterface:s,networkInterface:a,cryptoInterface:h,clientCredentials:l,libraryInfo:u,telemetry:T,serverTelemetryManager:v,persistencePlugin:A,serializableCache:I}){const w={...g,...n};return{authOptions:(k=e,{clientCapabilities:[],azureCloudOptions:_,skipAuthorityMetadataCache:!1,...k}),systemOptions:{...d,...t},loggerOptions:w,cacheOptions:{...p,...i},storageInterface:s||new c.w(e.clientId,r.d,new o.Y(w)),networkInterface:a||m,cryptoInterface:h||r.d,clientCredentials:l||C,libraryInfo:{...f,...u},telemetry:{...y,...T},serverTelemetryManager:v||null,persistencePlugin:A||null,serializableCache:I||null};var k}function v(e){return e.authOptions.authority.options.protocolMode===h.A.OIDC}},9117:function(e,t,n){n.d(t,{C2:function(){return m},Cx:function(){return r},DN:function(){return P},DW:function(){return f},GQ:function(){return R},He:function(){return o},IC:function(){return h},Im:function(){return d},KR:function(){return q},Lm:function(){return s},O4:function(){return x},PU:function(){return K},PY:function(){return L},Pe:function(){return v},RJ:function(){return M},RO:function(){return z},Rl:function(){return A},US:function(){return F},Zb:function(){return D},bJ:function(){return T},bP:function(){return I},by:function(){return g},cO:function(){return p},ct:function(){return c},ed:function(){return u},fC:function(){return y},hR:function(){return w},hf:function(){return H},ib:function(){return b},j5:function(){return k},ki:function(){return S},ko:function(){return a},nZ:function(){return _},q0:function(){return O},s4:function(){return C},sI:function(){return N},x5:function(){return B},yO:function(){return i},z6:function(){return l},zl:function(){return U},zm:function(){return E}});const r="client_id",o="redirect_uri",i="response_type",s="response_mode",a="grant_type",c="claims",h="scope",l="refresh_token",u="state",d="nonce",g="prompt",p="code",m="code_challenge",f="code_challenge_method",C="code_verifier",_="client-request-id",y="x-client-SKU",T="x-cl
2ient-VER",v="x-client-OS",A="x-client-CPU",I="x-client-current-telemetry",w="x-client-last-telemetry",k="x-ms-lib-capability",E="x-app-name",S="x-app-ver",R="post_logout_redirect_uri",b="id_token_hint",O="device_code",P="client_secret",N="client_assertion",M="client_assertion_type",q="token_type",L="req_cnf",H="assertion",U="requested_token_use",D="return_spa_code",x="nativebroker",K="logout_hint",B="sid",F="login_hint",z="domain_hint"},9566:function(e,t,n){n.d(t,{d:function(){return i}});var r=n(5385),o=n(7752);const i={createNewGuid:()=>{throw(0,r.zP)(o.M2)},base64Decode:()=>{throw(0,r.zP)(o.M2)},base64Encode:()=>{throw(0,r.zP)(o.M2)},async getPublicKeyThumbprint(){throw(0,r.zP)(o.M2)},async removeTokenBindingKey(){throw(0,r.zP)(o.M2)},async clearKeystore(){throw(0,r.zP)(o.M2)},async signJwt(){throw(0,r.zP)(o.M2)},async hashString(){throw(0,r.zP)(o.M2)}}},536:function(e,t,n){n.d(t,{MD:function(){return a},l4:function(){return s}});var r=n(9279),o=n(1886);const i={[o.g]:"Unexpected error in authentication.",[o.D]:"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details."};o.g,i[o.g],o.D,i[o.D];class s extends Error{constructor(e,t,n){super(t?`${e}: ${t}`:e),Object.setPrototypeOf(this,s.prototype),this.errorCode=e||r.gT.EMPTY_STRING,this.errorMessage=t||r.gT.EMPTY_STRING,this.subError=n||r.gT.EMPTY_STRING,this.name="AuthError"}setCorrelationId(e){this.correlationId=e}}function a(e,t){return new s(e,t?`${i[e]} ${t}`:i[e])}},1886:function(e,t,n){n.d(t,{D:function(){return o},g:function(){return r}});const r="unexpected_error",o="post_request_failed"},5385:function(e,t,n){n.d(t,{er:function(){return s},zP:function(){return a}});var r=n(536),o=n(7752);const i={[o.ZE]:"The client info could not be parsed/decoded correctly",[o.S7]:"The client info was empty",[o.GH]:"Token cannot be parsed",[o.PM]:"The token is null or empty",[o.HO]:"Endpoints cannot be resolved",[o.EF]:"Network request failed",[o.Ce]:"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.",[o.b4]:"The hash parameters could not be deserialized",[o.r8]:"State was not the expected format",[o.Tu]:"State mismatch error",[o.LV]:"State not found",[o.vR]:"Nonce mismatch error",[o.w7]:"Max Age was requested and the ID token is missing the auth_time variable. auth_time is an optional claim and is not enabled by default - it must be enabled. See https://aka.ms/msaljs/optional-claims for more information.",[o.Ao]:"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.",[o.MU]:"The cache contains multiple tokens satisfying the requirements. Call AcquireToken again providing more requirements such as authority or account.",[o.RH]:"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account",[o.EC]:"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata",[o.FU]:"Token request cannot be made without authorization code or refresh token.",[o.v1]:"Cannot remove null or empty scope from ScopeSet",[o.f4]:"Cannot append ScopeSet",[o.S]:"Empty input ScopeSet cannot be processed",[o.Jk]:"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.",[o.tS]:"Device code is expired.",[o.ZT]:"Device code stopped polling for unknown reasons.",[o.D7]:"Please pass an account object, silent flow is not supported without account information",[o.mj]:"Cache record object was null or undefined.",[o.Q9]:"Invalid environment when attempting to create cache entry",[o.cX]:"No account found in cache for given key.",[o.QL]:"No crypto object detected.",[o.cy]:"Unexpected credential type.",[o.aE]:"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515",[o.SX]:"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential",[o.s$]:"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.",[o.nQ]:"User defined timeout for device code polling reached",[o.P_]:"Cannot generate a POP jwt if the token_claims are not populated",[o.Zv]:"Server response does not contain an authorization code to proceed",[o.ol]:"Could not remove the credential's binding key from storage.",[o.ig]:"The provided authority does not support logout",[o.Of]:"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.",[o.Mq]:"No network connectivity. Check your internet connection.",[o.$R]:"User cancelled the flow.",[o.k7]:"A tenant id - not common, organizations, or consumers - must be specified when using the client_credentials flow.",[o.M2]:"This method has not been implemented",[o.Ls]:"The nested app auth bridge is disabled"};o.ZE,o.ZE,o.S7,o.S7,o.GH,o.GH,o.PM,o.PM,o.HO,o.HO,o.EF,o.EF,o.Ce,o.Ce,o.b4,o.b4,o.r8,o.r8,o.Tu,o.Tu,o.LV,o.LV,o.vR,o.vR,o.w7,o.w7,o.Ao,o.Ao,o.MU,o.MU,o.RH,o.RH,o.EC,o.EC,o.FU,o.FU,o.v1,o.v1,o.f4,o.f4,o.S,o.S,o.Jk,o.Jk,o.tS,o.tS,o.ZT,o.ZT,o.D7,o.D7,o.mj,o.mj,o.Q9,o.Q9,o.
2cX,o.cX,o.QL,o.QL,o.cy,o.cy,o.aE,o.aE,o.SX,o.SX,o.s$,o.s$,o.nQ,o.nQ,o.P_,o.P_,o.Zv,o.Zv,o.ol,o.ol,o.ig,o.ig,o.Of,o.Of,o.Mq,o.Mq,o.$R,o.$R,o.k7,o.k7,o.Ls,o.Ls;class s extends r.l4{constructor(e,t){super(e,t?`${i[e]}: ${t}`:i[e]),this.name="ClientAuthError",Object.setPrototypeOf(this,s.prototype)}}function a(e,t){return new s(e,t)}},7752:function(e,t,n){n.d(t,{$R:function(){return z},Ao:function(){return f},Ce:function(){return h},D7:function(){return S},EC:function(){return y},EF:function(){return c},FU:function(){return T},GH:function(){return i},HO:function(){return a},Jk:function(){return w},LV:function(){return g},Ls:function(){return Q},M2:function(){return $},MU:function(){return C},Mq:function(){return F},Of:function(){return B},PM:function(){return s},P_:function(){return U},Q9:function(){return b},QL:function(){return P},RH:function(){return _},S:function(){return I},S7:function(){return o},SX:function(){return q},Tu:function(){return d},ZE:function(){return r},ZT:function(){return E},Zv:function(){return D},aE:function(){return M},b4:function(){return l},cX:function(){return O},cy:function(){return N},f4:function(){return A},ig:function(){return K},k7:function(){return G},mj:function(){return R},nQ:function(){return H},ol:function(){return x},r8:function(){return u},s$:function(){return L},tS:function(){return k},v1:function(){return v},vR:function(){return p},w7:function(){return m}});const r="client_info_decoding_error",o="client_info_empty_error",i="token_parsing_error",s="null_or_empty_token",a="endpoints_resolution_error",c="network_error",h="openid_config_error",l="hash_not_deserialized",u="invalid_state",d="state_mismatch",g="state_not_found",p="nonce_mismatch",m="auth_time_not_found",f="max_age_transpired",C="multiple_matching_tokens",_="multiple_matching_accounts",y="multiple_matching_appMetadata",T="request_cannot_be_made",v="cannot_remove_empty_scope",A="cannot_append_scopeset",I="empty_input_scopeset",w="device_code_polling_cancelled",k="device_code_expired",E="device_code_unknown_error",S="no_account_in_silent_request",R="invalid_cache_record",b="invalid_cache_environment",O="no_account_found",P="no_crypto_object",N="unexpected_credential_type",M="invalid_assertion",q="invalid_client_credential",L="token_refresh_required",H="user_timeout_reached",U="token_claims_cnf_required_for_signedjwt",D="authorization_code_missing_from_server_response",x="binding_key_not_removed",K="end_session_endpoint_not_supported",B="key_id_missing",F="no_network_connectivity",z="user_canceled",G="missing_tenant_id_error",$="method_not_implemented",Q="nested_app_auth_bridge_disabled"},7115:function(e,t,n){n.d(t,{ei:function(){return a}});var r=n(536),o=n(2506);const i={[o.RV]:"A redirect URI is required for all calls, and none has been set.",[o.LB]:"Could not parse the given claims request object.",[o.Oz]:"Authority URIs must use https.  Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options",[o.yH]:"URL could not be parsed into appropriate segments.",[o.To]:"URL was empty or null.",[o.vE]:"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.",[o.z_]:"Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest",[o.nm]:"Given claims parameter must be a stringified JSON object.",[o.dL]:"Token request was empty and not found in cache.",[o.$h]:"The logout request was null or undefined.",[o.d6]:'code_challenge_method passed is invalid. Valid values are "plain" and "S256".',[o.TU]:"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request",[o.E]:"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields",[o.zx]:"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.",[o.o_]:"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.",[o.dK]:"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.",[o.hI]:"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.",[o.U9]:"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.",[o.i1]:"Invalid authentication header provided",[o.qz]:"Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",[o.Ol]:"Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",[o.Hv]:"Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority."};o.RV,o.RV,o.LB,o.LB,o.Oz,o.Oz,o.yH,o.yH,o.To,o.To,o.vE,o.vE,o.z_,o.z_,o.nm,o.nm,o.dL,o.dL,o.$h,o.$h,o.d6,o.d6,o.TU,o.TU,o.E,o.E,o.zx,o.zx,o.o_,o.o_,o.dK,o.dK,o.hI,o.hI,o.U9,o.U9,o.i1,o.i1,o.qz,o.qz,o.Ol,o.Ol,o.Hv,o.Hv;class s extends r.l4{constructor(e){super(e,i[e]),this.name="ClientConfigurationError",Object.setPrototypeOf(this,s.prototype)}}function a(e){return new s(e)}},2506:function(e,t,n){n.d(t,{$h:function(){return d},E:function(){return m},Hv:function(){return w},LB:function(){return o},Ol:function(){return I},Oz:function(){return i},RV:function(){return r},TU:function(){return p},To:function(){return a},U9:function(){return T},d6:function(){return g},dK:function(){return _},dL:function(){return u},hI:function(){return y},i1:function(){return v},nm:function(){return l},o_:function(){return C},qz:function(){return A},vE:function(){return c},yH:function(){return s},z_:function(){return h},zx:function(){return f}});const r="redirect_uri_empty",o="claims_request_parsing_error",i="authority_uri_insecure",s="url_parse_error",a="empty_url_error",c="empty_input_scopes_error",h="invalid_prompt_value",l="invalid_claims",u="token_request_empty",d="logout_request_empty",g="invalid_code_challenge_method",p="pkce_params_missing",m="invalid_cloud_discovery_metadata",f="invalid_authority_metadata",C="untrusted_authority",_="missing_ssh_jwk",y="missing_ssh_kid",T="missing_nonce_authentication_header",v="invalid_authentication_header",A="cannot_set_OIDCOptions",I="cannot_allow_native_broker",w="authority_mismatch"},5152:function(e,t,n){n.d(t,{Cf:function(){return l},Yo:function(){return h},ip:function(){return u}});var r=n(9279),o=n(536),i=n(4016);const s=[i.tZ,i.Mo,i.kk],a=["message_only","additional_action","basic_action","user_password_expired","consent_required"],c={[i.I2]:"No refresh token found in the cache. Please sign-in.",[i.QP]:"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API."};i.I2,c[i.I2],i.QP,c[i.QP];class h extends o.l4{constructor(e,t,n,o,i,s,a){super(e,t,n),Object.setPrototypeOf(this,h.prototype),this.timestamp=o||r.gT.EMPTY_STRING,this.traceId=i||r.gT.EMPTY_STRING,this.correlationId=s||r.gT.EMPTY_STRING,this.claims=a||r.gT.EMPTY_STRING,this.name="InteractionRequiredAuthError"}}function l(e,t,n){const r=!!e&&s.indexOf(e)>-1,o=!!n&&a.indexOf(n)>-1,i=!!t&&s.some((e=>t.indexOf(e)>-1));return r||i||o}function u(e){return new h(e,c[e])}},4016:function(e,t,n){n.d(t,{I2:function(){return r},Mo:function(){return s},QP:function(){return o},kk:function(){return a},tZ:function(){return i}});const r="no_tokens_found",o="native_account_unavailable",i="interaction_required",s="consent_required",a="login_required"},2111:function(e,t,n){n.d(t,{n:function(){return o}});var r=n(536);class o extends r.l4{constructor(e,t,n){super(e,t,n),this.name="ServerError",Object.setPrototypeOf(this,o.prototype)}}},354:function(e,t,n){n.d(t,{Y:function(){return i},i:function(){return r}});var r,o=n(9279);!function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Info=2]="Info",e[e.Verbose=3]="Verbose",e[e.Trace=4]="Trace"}(r||(r={}));class i{constructor(e,t,n){this.level=r.Info;const s=e||i.createDefaultLoggerOptions();this.localCallback=s.loggerCallback||(()=>{}),this.piiLoggingEnabled=s.piiLoggingEnabled||!1,this.level="number"==typeof s.logLevel?s.logLevel:r.Info,this.correlationId=s.correlationId||o.gT.EMPTY_STRING,this.packageName=t||o.gT.EMPTY_STRING,this.packageVersion=n||o.gT.EMPTY_STRING}static createDefaultLoggerOptions(){return{loggerCallback:()=>{},piiLoggingEnabled:!1,logLevel:r.Info}}clone(e,t,n){return new i({loggerCallback:this.localCallback,piiLoggingEnabled:this.piiLoggingEnabled,logLevel:this.level,correlationId:n||this.correlationId},e,t)}logMessage(e,t){if(t.logLevel>this.level||!this.piiLoggingEnabled&&t.containsPii)return;const n=`${`[${(new Date).toUTCString()}] : [${t.correlationId||this.correlationId||""}]`} : ${this.packageName}@${this.packageVersion} : ${r[t.logLevel]} - ${e}`;this.executeCallback(t.logLevel,n,t.containsPii||!1)}executeCallback(e,t,n){this.localCallback&&this.localCallback(e,t,n)}error(e,t){this.logMessage(e,{logLevel:r.Error,containsPii:!1,correlationId:t||o.gT.EMPTY_STRING})}errorPii(e,t){this.logMessage(e,{logLevel:r.Error,containsPii:!0,correlationId:t||o.gT.EMPTY_STRING})}warning(e,t){this.logMessage(e,{logLevel:r.Warning,containsPii:!1,correlationId:t||o.gT.EMPTY_STRING})}warningPii(e,t){this.logMessage(e,{logLevel:r.Warning,containsPii:!0,correlationId:t||o.gT.EMPTY_STRING})}info(e,t){this.logMessage(e,{logLevel:r.Info,containsPii:!1,correlationId:t||o.gT.EMPTY_STRING})}infoPii(e,t){this.logMessage(e,{logLevel:r.Info,containsPii:!0,correlationId:t||o.gT.EMPTY_STRING})}verbose(e,t){this.logMessage(e,{logLevel:r.Verbose,containsPii:!1,correlationId:t||o.gT.EMPTY_STRING})}verbosePii(e,t){this.logMessage(e,{logLevel:r.Verbose,containsPii:!0,correlationId:t||o.gT.EMPTY_STRING})}trace(e,t){this.logMessage(e,{logLevel:r.Trace,containsPii:!1,correlationId:t||o.gT.EMPTY_STRING})}tracePii(e,t){this.logMessage(e,{logLevel:r.Trace,containsPii:!0,correlationId:t||o.gT.EMPTY_STRING})}isPiiLoggingEnabled(){return this.piiLoggingEnabled||!1}}},7564:function(e,t,n){n.d(t,{i:function(){return o},u:function(){return r}});const r="@azure/msal-common",o="14.5.0"},6468:function(e,t,n){n.d(t,{H:function(){return h}});var r=n(9279),o=n(9117),i=n(3570),s=n(7115),a=n(2707),c=n(2506);class h{constructor(){this.parameters=new Map}addResponseTypeCode(){this.parameters.set(o.yO,encodeURIComponent(r.gT.CODE_RESPONSE_TYPE))}addResponseTypeForTokenAndIdToken(){this.parameters.set(o.yO,encodeURIComponent(`${r.gT.TOKEN_RESPONSE_TYPE} ${r.gT.ID_TOKEN_RESPONSE_TYPE}`))}addResponseMode(e){this.parameters.set(o.Lm,encodeURIComponent(e||r.vw.QUERY))}addNativeBroker(){this.parameters.set(o.O4,encodeURIComponent("1"))}addScopes(e,t=!0,n=r.f_){!t||n.includes("openid")||e.includes("openid")||n.push("openid");const s=t?[...e||[],...n]:e||[],a=new i.i(s);this.parameters.set(o.IC,encodeURIComponent(a.printScopes()))}addClientId(e){this.parameters.set(o.Cx,encodeURIComponent(e))}addRedirectUri(e){a.D.validateRedirectUri(e),this.parameters.set(o.He,encodeURIComponent(e))}addPostLogoutRedirectUri(e){a.D.validateRedirectUri(e),this.parameters.set(o.GQ,encodeURIComponent(e))}addIdTokenHint(e){this.parameters.set(o.ib,encodeURIComponent(e))}addDomainHint(e){this.parameters.set(o.RO,encodeURIComponent(e))}addLoginHint(e){this.parameters.set(o.US,encodeURIComponent(e))}addCcsUpn(e){this.parameters.set(r.SZ.CCS_HEADER,encodeURIComponent(`UPN:${e}`))}addCcsOid(e){this.parameters.set(r.SZ.CCS_HEADER,encodeURIComponent(`Oid:${e.uid}@${e.utid}`))}addSid(e){this.parameters.set(o.x5,encodeURIComponent(e))}addClaims(e,t){const n=this.addClientCapabilitiesToClaims(e,t);a.D.validateClaims(n),this.parameters.set(o.ct,encodeURIComponent(n))}addCorrelationId(e){this.parameters.set(o.nZ,encodeURIComponent(e))}addLibraryInfo(e){this.parameters.set(o.fC,e.sku),this.parameters.set(o.bJ,e.version),e.os&&this.parameters.set(o.Pe,e.os),e.cpu&&this.parameters.set(o.Rl,e.cpu)}addApplicationTelemetry(e){e?.appName&&this.parameters.set(o.zm,e.appName),e?.appVersion&&this.parameters.set(o.ki,e.appVersion)}
2addPrompt(e){a.D.validatePrompt(e),this.parameters.set(`${o.by}`,encodeURIComponent(e))}addState(e){e&&this.parameters.set(o.ed,encodeURIComponent(e))}addNonce(e){this.parameters.set(o.Im,encodeURIComponent(e))}addCodeChallengeParams(e,t){if(a.D.validateCodeChallengeParams(e,t),!e||!t)throw(0,s.ei)(c.TU);this.parameters.set(o.C2,encodeURIComponent(e)),this.parameters.set(o.DW,encodeURIComponent(t))}addAuthorizationCode(e){this.parameters.set(o.cO,encodeURIComponent(e))}addDeviceCode(e){this.parameters.set(o.q0,encodeURIComponent(e))}addRefreshToken(e){this.parameters.set(o.z6,encodeURIComponent(e))}addCodeVerifier(e){this.parameters.set(o.s4,encodeURIComponent(e))}addClientSecret(e){this.parameters.set(o.DN,encodeURIComponent(e))}addClientAssertion(e){e&&this.parameters.set(o.sI,encodeURIComponent(e))}addClientAssertionType(e){e&&this.parameters.set(o.RJ,encodeURIComponent(e))}addOboAssertion(e){this.parameters.set(o.hf,encodeURIComponent(e))}addRequestTokenUse(e){this.parameters.set(o.zl,encodeURIComponent(e))}addGrantType(e){this.parameters.set(o.ko,encodeURIComponent(e))}addClientInfo(){this.parameters.set(r.sR,"1")}addExtraQueryParameters(e){const t=a.D.sanitizeEQParams(e,this.parameters);Object.keys(t).forEach((t=>{this.parameters.set(t,e[t])}))}addClientCapabilitiesToClaims(e,t){let n;if(e)try{n=JSON.parse(e)}catch(e){throw(0,s.ei)(c.nm)}else n={};return t&&t.length>0&&(n.hasOwnProperty(r.As.ACCESS_TOKEN)||(n[r.As.ACCESS_TOKEN]={}),n[r.As.ACCESS_TOKEN][r.As.XMS_CC]={values:t}),JSON.stringify(n)}addUsername(e){this.parameters.set(r.Ge.username,encodeURIComponent(e))}addPassword(e){this.parameters.set(r.Ge.password,encodeURIComponent(e))}addPopToken(e){e&&(this.parameters.set(o.KR,r.hO.POP),this.parameters.set(o.PY,encodeURIComponent(e)))}addSshJwk(e){e&&(this.parameters.set(o.KR,r.hO.SSH),this.parameters.set(o.PY,encodeURIComponent(e)))}addServerTelemetry(e){this.parameters.set(o.bP,e.generateCurrentRequestHeaderValue()),this.parameters.set(o.hR,e.generateLastRequestHeaderValue())}addThrottling(){this.parameters.set(o.j5,r.bb.X_MS_LIB_CAPABILITY_VALUE)}addLogoutHint(e){this.parameters.set(o.PU,encodeURIComponent(e))}createQueryString(){const e=new Array;return this.parameters.forEach(((t,n)=>{e.push(`${n}=${t}`)})),e.join("&")}}},2707:function(e,t,n){n.d(t,{D:function(){return s}});var r=n(7115),o=n(9279),i=n(2506);class s{static validateRedirectUri(e){if(!e)throw(0,r.ei)(i.RV)}static validatePrompt(e){const t=[];for(const e in o.NJ)t.push(o.NJ[e]);if(t.indexOf(e)<0)throw(0,r.ei)(i.z_)}static validateClaims(e){try{JSON.parse(e)}catch(e){throw(0,r.ei)(i.nm)}}static validateCodeChallengeParams(e,t){if(!e||!t)throw(0,r.ei)(i.TU);this.validateCodeChallengeMethod(t)}static validateCodeChallengeMethod(e){if([o.VX.PLAIN,o.VX.S256].indexOf(e)<0)throw(0,r.ei)(i.d6)}static sanitizeEQParams(e,t){return e?(t.forEach(((t,n)=>{e[n]&&delete e[n]})),Object.fromEntries(Object.entries(e).filter((e=>""!==e[1])))):{}}}},3570:function(e,t,n){n.d(t,{i:function(){return h}});var r=n(7115),o=n(6159),i=n(5385),s=n(9279),a=n(2506),c=n(7752);class h{constructor(e){const t=e?o.x.trimArrayEntries([...e]):[],n=t?o.x.removeEmptyStringsFromArray(t):[];this.validateInputScopes(n),this.scopes=new Set,n.forEach((e=>this.scopes.add(e)))}static fromString(e){const t=(e||s.gT.EMPTY_STRING).split(" ");return new h(t)}static createSearchScopes(e){const t=new h(e);return t.containsOnlyOIDCScopes()?t.removeScope(s.gT.OFFLINE_ACCESS_SCOPE):t.removeOIDCScopes(),t}validateInputScopes(e){if(!e||e.length<1)throw(0,r.ei)(a.vE)}containsScope(e){const t=this.printScopesLowerCase().split(" "),n=new h(t);return!!e&&n.scopes.has(e.toLowerCase())}containsScopeSet(e){return!(!e||e.scopes.size<=0)&&(this.scopes.size>=e.scopes.size&&e.asArray().every((e=>this.containsScope(e))))}containsOnlyOIDCScopes(){let e=0;return s.$f.forEach((t=>{this.containsScope(t)&&(e+=1)})),this.scopes.size===e}appendScope(e){e&&this.scopes.add(e.trim())}appendScopes(e){try{e.forEach((e=>this.appendScope(e)))}catch(e){throw(0,i.zP)(c.f4)}}removeScope(e){if(!e)throw(0,i.zP)(c.v1);this.scopes.delete(e.trim())}removeOIDCScopes(){s.$f.forEach((e=>{this.scopes.delete(e)}))}unionScopeSets(e){if(!e)throw(0,i.zP)(c.S);const t=new Set;
2return e.scopes.forEach((e=>t.add(e.toLowerCase()))),this.scopes.forEach((e=>t.add(e.toLowerCase()))),t}intersectingScopeSets(e){if(!e)throw(0,i.zP)(c.S);e.containsOnlyOIDCScopes()||e.removeOIDCScopes();const t=this.unionScopeSets(e),n=e.getScopeCount(),r=this.getScopeCount();return t.size<r+n}getScopeCount(){return this.scopes.size}asArray(){const e=[];return this.scopes.forEach((t=>e.push(t))),e}printScopes(){if(this.scopes){return this.asArray().join(" ")}return s.gT.EMPTY_STRING}printScopesLowerCase(){return this.printScopes().toLowerCase()}}},177:function(e,t,n){n.d(t,{$L:function(){return o},Ak:function(){return r}});const r={AcquireTokenByCode:"acquireTokenByCode",AcquireTokenByRefreshToken:"acquireTokenByRefreshToken",AcquireTokenSilent:"acquireTokenSilent",AcquireTokenSilentAsync:"acquireTokenSilentAsync",AcquireTokenPopup:"acquireTokenPopup",CryptoOptsGetPublicKeyThumbprint:"cryptoOptsGetPublicKeyThumbprint",CryptoOptsSignJwt:"cryptoOptsSignJwt",SilentCacheClientAcquireToken:"silentCacheClientAcquireToken",SilentIframeClientAcquireToken:"silentIframeClientAcquireToken",SilentRefreshClientAcquireToken:"silentRefreshClientAcquireToken",SsoSilent:"ssoSilent",StandardInteractionClientGetDiscoveredAuthority:"standardInteractionClientGetDiscoveredAuthority",FetchAccountIdWithNativeBroker:"fetchAccountIdWithNativeBroker",NativeInteractionClientAcquireToken:"nativeInteractionClientAcquireToken",BaseClientCreateTokenRequestHeaders:"baseClientCreateTokenRequestHeaders",RefreshTokenClientExecutePostToTokenEndpoint:"refreshTokenClientExecutePostToTokenEndpoint",AuthorizationCodeClientExecutePostToTokenEndpoint:"authorizationCodeClientExecutePostToTokenEndpoint",BrokerHandhshake:"brokerHandshake",AcquireTokenByRefreshTokenInBroker:"acquireTokenByRefreshTokenInBroker",AcquireTokenByBroker:"acquireTokenByBroker",RefreshTokenClientExecuteTokenRequest:"refreshTokenClientExecuteTokenRequest",RefreshTokenClientAcquireToken:"refreshTokenClientAcquireToken",RefreshTokenClientAcquireTokenWithCachedRefreshToken:"refreshTokenClientAcquireTokenWithCachedRefreshToken",RefreshTokenClientAcquireTokenByRefreshToken:"refreshTokenClientAcquireTokenByRefreshToken",RefreshTokenClientCreateTokenRequestBody:"refreshTokenClientCreateTokenRequestBody",AcquireTokenFromCache:"acquireTokenFromCache",SilentFlowClientAcquireCachedToken:"silentFlowClientAcquireCachedToken",SilentFlowClientGenerateResultFromCacheRecord:"silentFlowClientGenerateResultFromCacheRecord",AcquireTokenBySilentIframe:"acquireTokenBySilentIframe",InitializeBaseRequest:"initializeBaseRequest",InitializeSilentRequest:"initializeSilentRequest",InitializeClientApplication:"initializeClientApplication",SilentIframeClientTokenHelper:"silentIframeClientTokenHelper",SilentHandlerInitiateAuthRequest:"silentHandlerInitiateAuthRequest",SilentHandlerMonitorIframeForHash:"silentHandlerMonitorIframeForHash",SilentHandlerLoadFrame:"silentHandlerLoadFrame",SilentHandlerLoadFrameSync:"silentHandlerLoadFrameSync",StandardInteractionClientCreateAuthCodeClient:"standardInteractionClientCreateAuthCodeClient",StandardInteractionClientGetClientConfiguration:"standardInteractionClientGetClientConfiguration",StandardInteractionClientInitializeAuthorizationRequest:"standardInteractionClientInitializeAuthorizationRequest",StandardInteractionClientInitializeAuthorizationCodeRequest:"standardInteractionClientInitializeAuthorizationCodeRequest",GetAuthCodeUrl:"getAuthCodeUrl",HandleCodeResponseFromServer:"handleCodeResponseFromServer",HandleCodeResponse:"handleCodeResponse",UpdateTokenEndpointAuthority:"updateTokenEndpointAuthority",AuthClientAcquireToken:"authClientAcquireToken",AuthClientExecuteTokenRequest:"authClientExecuteTokenRequest",AuthClientCreateTokenRequestBody:"authClientCreateTokenRequestBody",AuthClientCreateQueryString:"authClientCreateQueryString",PopTokenGenerateCnf:"popTokenGenerateCnf",PopTokenGenerateKid:"popTokenGenerateKid",HandleServerTokenResponse:"handleServerTokenResponse",DeserializeResponse:"deserializeResponse",AuthorityFactoryCreateDiscoveredInstance:"authorityFactoryCreateDiscoveredInstance",AuthorityResolveEndpointsAsync:"authorityResolveEndpointsAsync",AuthorityResolveEndpointsFromLocalSources:"authorityResolveEndpointsFromLocalSources",AuthorityGetCloudDiscoveryMetadataFromNetwork:"authorityGetCloudDiscoveryMetadataFromNetwork",AuthorityUpdateCloudDiscoveryMetadata:"authorityUpdateCloudDiscoveryMetadata",AuthorityGetEndpointMetadataFromNetwork:"authorityGetEndpointMetadataFromNetwork",AuthorityUpdateEndpointMetadata:"authorityUpdateEndpointMetadata",AuthorityUpdateMetadataWithRegionalInformation:"authorityUpdateMetadataWithRegionalInformation",RegionDiscoveryDetectRegion:"regionDiscoveryDetectRegion",RegionDiscoveryGetRegionFromIMDS:"regionDiscoveryGetRegionFromIMDS",RegionDiscoveryGetCurrentVersion:"regionDiscoveryGetCurrentVersion",AcquireTokenByCodeAsync:"acquireTokenByCodeAsync",GetEndpointMetadataFromNetwork:"getEndpointMetadataFromNetwork",GetCloudDiscoveryMetadataFromNetworkMeasurement:"getCloudDiscoveryMetadataFromNetworkMeasurement",HandleRedirectPromiseMeasurement:"handleRedirectPromiseMeasurement",Upd
2ateCloudDiscoveryMetadataMeasurement:"updateCloudDiscoveryMetadataMeasurement",UsernamePasswordClientAcquireToken:"usernamePasswordClientAcquireToken",NativeMessageHandlerHandshake:"nativeMessageHandlerHandshake",NativeGenerateAuthResult:"nativeGenerateAuthResult",RemoveHiddenIframe:"removeHiddenIframe",ClearTokensAndKeysWithClaims:"clearTokensAndKeysWithClaims",CacheManagerGetRefreshToken:"cacheManagerGetRefreshToken",GeneratePkceCodes:"generatePkceCodes",GenerateCodeVerifier:"generateCodeVerifier",GenerateCodeChallengeFromVerifier:"generateCodeChallengeFromVerifier",Sha256Digest:"sha256Digest",GetRandomValues:"getRandomValues"},o={NotStarted:0,InProgress:1,Completed:2};new Set(["accessTokenSize","durationMs","idTokenSize","matsSilentStatus","matsHttpStatus","refreshTokenSize","queuedTimeMs","startTimeMs","status","multiMatchedAT","multiMatchedID","multiMatchedRT"])},8299:function(e,t,n){n.d(t,{G:function(){return c}});var r=n(7115),o=n(6159),i=n(9279),s=n(1002),a=n(2506);class c{get urlString(){return this._urlString}constructor(e){if(this._urlString=e,!this._urlString)throw(0,r.ei)(a.To);e.includes("#")||(this._urlString=c.canonicalizeUri(e))}static canonicalizeUri(e){if(e){let t=e.toLowerCase();return o.x.endsWith(t,"?")?t=t.slice(0,-1):o.x.endsWith(t,"?/")&&(t=t.
2slice(0,-2)),o.x.endsWith(t,"/")||(t+="/"),t}return e}validateAsUri(){let e;try{e=this.getUrlComponents()}catch(e){throw(0,r.ei)(a.yH)}if(!e.HostNameAndPort||!e.PathSegments)throw(0,r.ei)(a.yH);if(!e.Protocol||"https:"!==e.Protocol.toLowerCase())throw(0,r.ei)(a.Oz)}static appendQueryString(e,t){return t?e.indexOf("?")<0?`${e}?${t}`:`${e}&${t}`:e}static removeHashFromUrl(e){return c.canonicalizeUri(e.split("#")[0])}replaceTenantPath(e){const t=this.getUrlComponents(),n=t.PathSegments;return!e||0===n.length||n[0]!==i.Nb.COMMON&&n[0]!==i.Nb.ORGANIZATIONS||(n[0]=e),c.constructAuthorityUriFromObject(t)}getUrlComponents(){const e=RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"),t=this.urlString.match(e);if(!t)throw(0,r.ei)(a.yH);const n={Protocol:t[1],HostNameAndPort:t[4],AbsolutePath:t[5],QueryString:t[7]};let o=n.AbsolutePath.split("/");return o=o.filter((e=>e&&e.length>0)),n.PathSegments=o,n.QueryString&&n.QueryString.endsWith("/")&&(n.QueryString=n.QueryString.substring(0,n.QueryString.length-1)),n}static getDomainFromUrl(e){const t=RegExp("^([^:/?#]+://)?([^/?#]*)"),n=e.match(t);if(!n)throw(0,r.ei)(a.yH);return n[2]}static getAbsoluteUrl(e,t){if(e[0]===i.gT.FORWARD_SLASH){const n=new c(t).getUrlComponents();return n.Protocol+"//"+n.HostNameAndPort+e}return e}static constructAuthorityUriFromObject(e){return new c(e.Protocol+"//"+e.HostNameAndPort+"/"+e.PathSegments.join("/"))}static hashContainsKnownProperties(e){return!!(0,s.F)(e)}}},9279:function(e,t,n){n.d(t,{$f:function(){return s},As:function(){return l},Bv:function(){return C},D1:function(){return S},Ge:function(){return R},HN:function(){return w},NJ:function(){return u},Nb:function(){return h},QU:function(){return A},SZ:function(){return a},To:function(){return N},VX:function(){return d},Vi:function(){return c},W:function(){return O},YY:function(){return b},bb:function(){return E},ch:function(){return v},d3:function(){return _},dg:function(){return y},f_:function(){return i},gT:function(){return r},hO:function(){return k},iR:function(){return f},ki:function(){return P},oj:function(){return o},pQ:function(){return I},qJ:function(){return m},rg:function(){return g},sR:function(){return T},vw:function(){return p},xd:function(){return M}});const r={LIBRARY_NAME:"MSAL.JS",SKU:"msal.js.common",CACHE_PREFIX:"msal",DEFAULT_AUTHORITY:"https://login.microsoftonline.com/common/",DEFAULT_AUTHORITY_HOST:"login.microsoftonline.com",DEFAULT_COMMON_TENANT:"common",ADFS:"adfs",DSTS:"dstsv2",AAD_INSTANCE_DISCOVERY_ENDPT:"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=",CIAM_AUTH_URL:".ciamlogin.com",AAD_TENANT_DOMAIN_SUFFIX:".onmicrosoft.com",RESOURCE_DELIM:"|",NO_ACCOUNT:"NO_ACCOUNT",CLAIMS:"claims",CONSUMER_UTID:"9188040d-6c67-4c5b-b112-36a304b66dad",OPENID_SCOPE:"openid",PROFILE_SCOPE:"profile",OFFLINE_ACCESS_SCOPE:"offline_access",EMAIL_SCOPE:"email",CODE_RESPONSE_TYPE:"code",CODE_GRANT_TYPE:"authorization_code",RT_GRANT_TYPE:"refresh_token",FRAGMENT_RESPONSE_MODE:"fragment",S256_CODE_CHALLENGE_METHOD:"S256",URL_FORM_CONTENT_TYPE:"application/x-www-form-urlencoded;charset=utf-8",AUTHORIZATION_PENDING:"authorization_pending",NOT_DEFINED:"not_defined",EMPTY_STRING:"",NOT_APPLICABLE:"N/A",FORWARD_SLASH:"/",IMDS_ENDPOINT:"http://169.254.169.254/metadata/instance/compute/location",IMDS_VERSION:"2020-06-01",IMDS_TIMEOUT:2e3,AZURE_REGION_AUTO_DISCOVER_FLAG:"TryAutoDetect",REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX:"login.microsoft.com",KNOWN_PUBLIC_CLOUDS:["login.microsoftonline.com","login.windows.net","login.microsoft.com","sts.windows.net"],TOKEN_RESPONSE_TYPE:"token",ID_TOKEN_RESPONSE_TYPE:"id_token",SHR_NONCE_VALIDITY:240,INVALID_INSTANCE:"invalid_instance"},o={SUCCESS_RANGE_START:200,SUCCESS_RANGE_END:299,REDIRECT:302,CLIENT_ERROR_RANGE_START:400,CLIENT_ERROR_RANGE_END:499,SERVER_ERROR_RANGE_START:500,SERVER_ERROR_RANGE_END:599},i=[r.OPENID_SCOPE,r.PROFILE_SCOPE,r.OFFLINE_ACCESS_SCOPE],s=[...i,r.EMAIL_SCOPE],a={CONTENT_TYPE:"Content-Type",RETRY_AFTER:"Retry-After",CCS_HEADER:"X-AnchorMailbox",WWWAuthenticate:"WWW-Authenticate",AuthenticationInfo:"Authentication-Info",X_MS_REQUEST_ID:"x-ms-request-id",X_MS_HTTP_VERSION:"x-ms-httpver"},c={ID_TOKEN:"idtoken",CLIENT_INFO:"client.info",ADAL_ID_TOKEN:"adal.idtoken",ERROR:"error",ERROR_DESC:"error.description",ACTIVE_ACCOUNT:"active-account",ACTIVE_ACCOUNT_FILTERS:"active-account-filters"},h={COMMON:"common",ORGANIZATIONS:"organizations",CONSUMERS:"consumers"},l={ACCESS_TOKEN:"access_token",XMS_CC:"xms_cc"},u={LOGIN:"login",SELECT_ACCOUNT:"select_account",CONSENT:"consent",NONE:"none",CREATE:"create",NO_SESSION:"no_session"},d={PLAIN:"plain",S256:"S256"},g={QUERY:"query",FRAGMENT:"fragment"},p={...g,FORM_POST:"form_post"},m={IMPLICIT_GRANT:"implicit",AUTHORIZATION_CODE_GRANT:"authorization_code",CLIENT_CREDENTIALS_GRANT:"client_credentials",RESOURCE_OWNER_PASSWORD_GRANT:"password",REFRESH_TOKEN_GRANT:"refresh_token",DEVICE_CODE_GRANT:"device_code",JWT_BEARER:"ur
2n:ietf:params:oauth:grant-type:jwt-bearer"},f={MSSTS_ACCOUNT_TYPE:"MSSTS",ADFS_ACCOUNT_TYPE:"ADFS",MSAV1_ACCOUNT_TYPE:"MSA",GENERIC_ACCOUNT_TYPE:"Generic"},C={CACHE_KEY_SEPARATOR:"-",CLIENT_INFO_SEPARATOR:"."},_={ID_TOKEN:"IdToken",ACCESS_TOKEN:"AccessToken",ACCESS_TOKEN_WITH_AUTH_SCHEME:"AccessToken_With_AuthScheme",REFRESH_TOKEN:"RefreshToken"},y="appmetadata",T="client_info",v="1",A={CACHE_KEY:"authority-metadata",REFRESH_TIME_SECONDS:86400},I={CONFIG:"config",CACHE:"cache",NETWORK:"network",HARDCODED_VALUES:"hardcoded_values"},w={SCHEMA_VERSION:5,MAX_CUR_HEADER_BYTES:80,MAX_LAST_HEADER_BYTES:330,MAX_CACHED_ERRORS:50,CACHE_KEY:"server-telemetry",CATEGORY_SEPARATOR:"|",VALUE_SEPARATOR:",",OVERFLOW_TRUE:"1",OVERFLOW_FALSE:"0",UNKNOWN_ERROR:"unknown_error"},k={BEARER:"Bearer",POP:"pop",SSH:"ssh-cert"},E={DEFAULT_THROTTLE_TIME_SECONDS:60,DEFAULT_MAX_THROTTLE_TIME_SECONDS:3600,THROTTLING_PREFIX:"throttling",X_MS_LIB_CAPABILITY_VALUE:"retry-after, h429"},S={INVALID_GRANT_ERROR:"invalid_grant",CLIENT_MISMATCH_ERROR:"client_mismatch"},R={username:"username",password:"password"},b={httpSuccess:200,httpBadRequest:400},O={FAILED_AUTO_DETECTION:"1",INTERNAL_CACHE:"2",ENVIRONMENT_VARIABLE:"3",IMDS:"4"},P={CONFIGURED_MATCHES_DETECTED:"1",CONFIGURED_NO_AUTO_DETECTION:"2",CONFIGURED_NOT_DETECTED:"3",AUTO_DETECTION_REQUESTED_SUCCESSFUL:"4",AUTO_DETECTION_REQUESTED_FAILED:"5"},N={NOT_APPLICABLE:"0",FORCE_REFRESH_OR_CLAIMS:"1",NO_CACHED_ACCESS_TOKEN:"2",CACHED_ACCESS_TOKEN_EXPIRED:"3",PROACTIVELY_REFRESHED:"4"},M={Jwt:"JWT",Jwk:"JWK",Pop:"pop"}},8892:function(e,t,n){n.d(t,{d:function(){return r},i:function(){return o}});const r=(e,t,n,r,o)=>(...i)=>{n.trace(`Executing function ${t}`);const s=r?.startMeasurement(t,o);try{const r=e(...i);return s?.end({success:!0}),n.trace(`Returning result from ${t}`),r}catch(e){n.trace(`Error occurred in ${t}`);try{n.trace(JSON.stringify(e))}catch(e){n.trace("Unable to print error message.")}throw s?.end({success:!1}),e}},o=(e,t,n,r,o)=>(...i)=>{n.trace(`Executing function ${t}`);const s=r?.startMeasurement(t,o);return r?.setPreQueueTime(t,o),e(...i).then((e=>(n.trace(`Returning result from ${t}`),s?.end({success:!0}),e))).catch((e=>{n.trace(`Error occurred in ${t}`);try{n.trace(JSON.stringify(e))}catch(e){n.trace("Unable to print error message.")}throw s?.end({success:!1}),e}))}},6159:function(e,t,n){n.d(t,{x:function(){return r}});class r{static isEmptyObj(e){if(e)try{const t=JSON.parse(e);return 0===Object.keys(t).length}catch(e){}return!0}static startsWith(e,t){return 0===e.indexOf(t)}static endsWith(e,t){return e.length>=t.length&&e.lastIndexOf(t)===e.length-t.length}static queryStringToObject(e){const t={},n=e.split("&"),r=e=>decodeURIComponent(e.replace(/\+/g," "));return n.forEach((e=>{if(e.trim()){const[n,o]=e.split(/=(.+)/g,2);n&&o&&(t[r(n)]=r(o))}})),t}static trimArrayEntries(e){return e.map((e=>e.trim()))}static removeEmptyStringsFromArray(e){return e.filter((e=>!!e))}static jsonParseHelper(e){try{return JSON.parse(e)}catch(e){return null}}static matchPattern(e,t){return new RegExp(e.replace(/\\/g,"\\\\").replace(/\*/g,"[^ ]*").replace(/\?/g,"\\?")).test(t)}}},6516:function(e,t,n){n.d(t,{I:function(){return r}});class r{static nowSeconds(){return Math.round((new Date).getTime()/1e3)}static isTokenExpired(e,t){const n=Number(e)||0;return r.nowSeconds()+t>n}static wasClockTurnedBack(e){return Number(e)>r.nowSeconds()}static delay(e,t){return new Promise((n=>setTimeout((()=>n(t)),e)))}}},1002:function(e,t,n){n.d(t,{F:function(){return s},q:function(){return i}});var r=n(5385),o=n(7752);function i(e){return e.startsWith("#/")?e.substring(2):e.startsWith("#")||e.startsWith("?")?e.substring(1):e}function s(e){if(!e||e.indexOf("=")<0)return null;try{const t=i(e),n=Object.fromEntries(new URLSearchParams(t));if(n.code||n.error||n.error_description||n.state)return n}catch(e){throw(0,r.zP)(o.b4)}return null}}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return n[e](i,i.exports,o),i.exports}o.m=n,o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.f={},o.e=function(e){return Promise.all(Object.keys(o.f).reduce((function(t,n){return o.f[n](e,t),t}),[]))},o.u=function(e){return"clientlib-chunks/resources/"+e+"-"+o.h()+".js"},o.miniCssF=function(e){},o.h=function(){return"1e3f43e518deed5cbea2"},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},e={},t="ui.frontend:",o.l=function(n,r,i,s){if(e[n])e[n].push(r);else{var a,c;if(void 0!==i)for(var h=document.getElementsByTagName("script"),l=0;l<h.length;l++){var u=h[l];if(u.getAttribute("src")==n||u.getAttribute("data-webpack")==t+i){a=u;break}}a||(c=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,o.nc&&a.setAttribute("nonce",o.nc),a.setAttribute("data-webpack",t+i),a.src=n),e[n]=[r];var d=function(t,r){a.onerror=a.onload=null,clearTimeout(g);var o=e[n];if(delete e[n],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((function(e){return e(r)})),t)return t(r)},g=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}
2),Object.defineProperty(e,"__esModule",{value:!0})},o.p="/etc.clientlibs/visitqatar/clientlibs/generated/",function(){var e={1809:0};o.f.j=function(t,n){var r=o.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise((function(n,o){r=e[t]=[n,o]}));n.push(r[2]=i);var s=o.p+o.u(t),a=new Error;o.l(s,(function(n){if(o.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+s+")",a.name="ChunkLoadError",a.type=i,a.request=s,r[1](a)}}),"chunk-"+t,t)}};var t=function(t,n){var r,i,s=n[0],a=n[1],c=n[2],h=0;if(s.some((function(t){return 0!==e[t]}))){for(r in a)o.o(a,r)&&(o.m[r]=a[r]);if(c)c(o)}for(t&&t(n);h<s.length;h++)i=s[h],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0},n=self.webpackChunkui_frontend=self.webpackChunkui_frontend||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}(),function(){var e,t,n,r,i,s,a,c,h,l;const u=null!==(t=null===(e=window.VQ_B2C_CONFIG)||void 0===e?void 0:e.BASE_URL)&&void 0!==t?t:"",d=null!==(r=null===(n=window.VQ_B2C_CONFIG)||void 0===n?void 0:n.SUBSCRIPTION_KEY)&&void 0!==r?r:"",g=null!==(s=null===(i=window.VQ_B2C_CONFIG)||void 0===i?void 0:i.CLIENT_ID)&&void 0!==s?s:"",p=null!==(c=null===(a=window.VQ_B2C_CONFIG)||void 0===a?void 0:a.LOGIN_REDIRECT_URL)&&void 0!==c?c:"",m=null!==(l=null===(h=window.VQ_B2C_CONFIG)||void 0===h?void 0:h.LOGOUT_REDIRECT_URL)&&void 0!==l?l:"",f=window.location.pathname===p,C=window.location.pathname===m,_=f||C;var y;const T=null===(y=document.querySelector("html"))||void 0===y?void 0:y.lang;var v=T||"en";class A extends EventTarget{constructor(){super(),this.token=null,this.storage={},this.storageLang=sessionStorage.getItem("vq.profile.auth.lang"),T&&this.storageLang!==T&&(sessionStorage.removeItem("vq.profile.auth.storage"),sessionStorage.setItem("vq.profile.auth.lang",T),this.storageLang=T);const e=sessionStorage.getItem("vq.profile.auth.storage");try{e&&(this.storage=JSON.parse(e))}catch(e){sessionStorage.setItem("vq.profile.auth.storage","{}")}}isLoggedIn(){return!!this.token}getToken(){return this.token}setToken(e){this.token=e,this.updateStorage()}getAccountId(){var e;return null===(e=this.token)||void 0===e?void 0:e.account.homeAccountId}getProp(e){return this.storage[e]}setProp(e,t){this.storage[e]=t,this.updateStorage()}deleteProp(e){delete this.storage[e],this.updateStorage()}clean(){this.storage={},this.updateStorage()}updateStorage(){try{sessionStorage.setItem("vq.profile.auth.storage",JSON.stringify(this.storage)),this.dispatchEvent(new Event("update"))}catch(e){sessionStorage.setItem("vq.profile.auth.storage","{}")}}getParam(e){var t;return null!==(t=sessionStorage.getItem(e))&&void 0!==t?t:""}setParam(e,t){sessionStorage.setItem(e,t)}getLang(){return this.storageLang}}const I=new A;var w=o(354),k=o(9222),E=o(1578);class S{constructor(e){this.browserEnvironment="undefined"!=typeof window,this.config=(0,k._7)(e,this.browserEnvironment),this.logger=new w.Y(this.config.system.loggerOptions,E.u,E.i),this.available=!1}getConfig(){return this.config}getLogger(){return this.logger}isAvailable(){return this.available}isBrowserEnvironment(){return this.browserEnvironment}}class R extends S{getModuleName(){return R.MODULE_NAME}getId(){return R.ID}async initialize(){return this.available="undefined"!=typeof window,this.available}}R.MODULE_NAME="",R.ID="StandardOperatingContext";var b,O,P,N=o(6709);class M{static async createPublicClientApplication(e){const t=await async function(e){const t=new R(e);return await t.initialize(),(await Promise.resolve().then(o.bind(o,6709))).StandardController.createController(t)}(e);return new M(e,t)}constructor(e,t){if(t)this.controller=t;else{const t=new R(e);this.controller=new N.StandardController(t)}}async initialize(){return this.controller.initialize()}async acquireTokenPopup(e){return this.controller.acquireTokenPopup(e)}acquireTokenRedirect(e){return this.controller.acquireTokenRedirect(e)}acquireTokenSilent(e){return this.controller.acquireTokenSilent(e)}acquireTokenByCode(e){return this.controller.acquireTokenByCode(e)}addEventCallback(e){return this.controller.addEventCallback(e)}removeEventCallback(e){return this.controller.removeEventCallback(e)}addPerformanceCallback(e){return this.controller.addPerformanceCallback(e)}removePerformanceCallback(e){return this.controller.removePerformanceCallback(e)}enableAccountStorageEvents(){this.controller.enableAccountStorageEvents()}disableAccountStorageEvents(){this.controller.disableAccountStorageEvents()}getAccount(e){return this.controller.getAccount(e)}getAccountByHomeId(e){return this.controller.getAccountByHomeId(e)}getAccountByLocalId(e){return this.controller.getAccountByLocalId(e)}getAccountByUsername(e){return this.controller.getAccountByUsername(e)}getAllAccounts(e){return this.controller.getAllAccounts(e)}handleRedirectPromise(e){return this.controller.handleRedirectPromise(e)}loginPopup(e){return this.controller.loginPopup(e)}loginRedirect(e){return this.controller.loginRedirect(e)}logout(e){return this.controller.logout(e)}logoutRedirect(e){return this.controller.logoutRedirect(e)}logoutPopup(e){return this.controller.logoutPopup(e)}ssoSilent(e){return this.controller.ssoSilent(e)}getTokenCache(){return this.controller.getTokenCache()}getLogger(){return this.controller.getLogger()}setLogger(e){this.controller.setLogger(e)}setActiveAccount(e){this.controller.setActiveAccount(e)}getActiveAccount(){return this.controller.getActiveAccount()}initializeWrapperLibrary(e,t){return this.controller.initializeWrapperLibrary(e,t)}setNavigationClient(e){this.controller.setNavigationClient(e)}getConfiguration(){return this.controller.getConfiguration()}async hydrateCache(e,t){return this.controller.hydrateCache(e,t)}clearCache(e){return this.controller.clearCache(e)}}
2!function(e){e.LOGIN="signin",e.REGISTER="signup",e.RESET="passwordReset"}(b||(b={})),function(e){e.LOGIN="login",e.LOGOUT="logout",e.REGISTER="register"}(O||(O={})),function(e){e.LOGIN_DISABLED="login_disabled",e.INIT_FAILED="init_failed",e.LOGIN_FAILED="login_failed",e.REGISTRATION_FAILED="registration_failed",e.USER_INTERACTION_REQUIRED="user_interaction_required",e.NO_ACTIVE_ACCOUNT="no_active_account",e.NO_ACCESS_TOKEN="no_access_token",e.PREFERENCES_FETCH_FAILED="preferences_fetch_failed"}(P||(P={}));var q=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};const L=(e,t)=>q(void 0,void 0,void 0,(function*(){var n,r;const o=Object.assign(Object.assign({},null!=t?t:{}),{headers:Object.assign(Object.assign({"Content-Type":"application/json","X-language-locale":null!==(n=I.getLang())&&void 0!==n?n:"en"},null!==(r=null==t?void 0:t.headers)&&void 0!==r?r:{}),{"Ocp-Apim-Subscription-Key":d})}),i=yield fetch(`${u}${e}`,o);if(!i.ok)throw i;{const e=yield i.text();try{return JSON.parse(e)}catch(e){}}})),H=(e,t)=>{document.cookie=`VQCFAT=${e}; Expires=${t.toUTCString()}; Path=/; SameSite=Lax; Secure`},U=()=>q(void 0,void 0,void 0,(function*(){var e;const t=I.getToken(),n={languageCode:v,channel:"web"};try{yield L("/profile/create",{body:JSON.stringify(n),method:"POST",headers:t?{Authorization:`${t.tokenType} ${t.accessToken}`}:{}}),sessionStorage.setItem("isNewUser","true")}catch(e){if(e instanceof Response&&409!==e.status)return null}try{return null!==(e=yield L("/profile",{headers:t?{Authorization:`${t.tokenType} ${t.accessToken}`}:{}}))&&void 0!==e?e:null}catch(e){return null}})),D=()=>q(void 0,void 0,void 0,(function*(){const e=sessionStorage.getItem("VQB2C_ACTION"),t=I.getProp("account_info");if(I.getToken())return e===O.REGISTER?U().then((e=>{I.setProp("account_info",e)})):e!==O.LOGIN&&t?void 0:q(void 0,void 0,void 0,(function*(){const e=I.getToken();try{const t=yield L("/profile",{headers:e?{Authorization:`${e.tokenType} ${e.accessToken}`}:{}});return t?(sessionStorage.setItem("isNewUser","false"),t):null}catch(e){if(e instanceof Response&&404===e.status)return yield U()}return null})).then((e=>{I.setProp("account_info",e)}));I.deleteProp("account_info")})),x=()=>{const e=I.getProp("account_info");if(!e)return{};const{emailAddress:t,newsletterSubscription:n,userId:r}=e;return{user_id:r,user_email:t,optin_status:n}},K={1:"culture",2:"adventure-and-sport",3:"romance",4:"family-break",5:"sun-sea-and-sand",6:"dining",7:"shopping",8:"wellness"},B=(e,t)=>{window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push({event:e,eventInfo:t||x()})};var F=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};const z=(()=>{const e=I.getParam("vq.profile.auth.settings");if(e)try{return Promise.resolve(JSON.parse(e))}catch(e){}return L("/auth/settings")})().then((e=>e?(I.setParam("vq.profile.auth.settings",JSON.stringify(e)),t=>({auth:{clientId:g,authority:`${e.baseUrl}/${e.policies[t]}`,knownAuthorities:[e.baseUrl],navigateToLoginRequestUrl:!1,redirectUri:p,postLogoutRedirectUri:m},cache:{cacheLocation:"localStorage"}})):()=>null)).catch((()=>()=>null)),G=e=>F(void 0,void 0,void 0,(function*(){const t=yield(n=e,F(void 0,void 0,void 0,(function*(){return(yield z)(n)})));var n;if(null===t)throw new Error(P.INIT_FAILED);return M.createPublicClientApplication(t)}));var $=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};const Q=(e,t)=>{sessionStorage.setItem("VQB2C_ACTION",e),sessionStorage.setItem("VQB2C_REDIRECT_PAGE",null!=t?t:""),sessionStorage.setItem("VQB2C_BACK_PAGE",window.location.href)};
2class W extends EventTarget{constructor(){var e;super(),this._msal=null,this.repository=I,this.initialized=!1;let t=null!==(e=sessionStorage.getItem("VQB2C_REDIRECT_PAGE"))&&void 0!==e?e:"/";this.initMsal().then((()=>this._msal.handleRedirectPromise())).catch((e=>{var n;sessionStorage.removeItem("isRedirectingToLoginOrRegister"),_&&(t=null!==(n=sessionStorage.getItem("VQB2C_BACK_PAGE"))&&void 0!==n?n:"/")})).then((()=>q(void 0,void 0,void 0,(function*(){const e=sessionStorage.getItem("VQB2C_ACTION"),t=yield G(e===O.REGISTER?b.REGISTER:b.LOGIN),n=t.getAllAccounts();try{return n.length>0?(t.setActiveAccount(n[0]),yield t.acquireTokenSilent({scopes:[g]})):yield t.ssoSilent({scopes:[g]})}catch(e){return null}})))).then((e=>{this.repository.setToken(e),e&&e.expiresOn?H("true",e.expiresOn):H("",new Date(Date.now()-864e5))})).then((()=>{this.repository.getToken()||this.repository.clean()})).then((()=>D())).then((()=>q(void 0,void 0,void 0,(function*(){const e=I.getToken(),t=I.getProp("preferences");if(I.getToken())return t?void 0:L("/profile/preferences",{headers:e?{Authorization:`${e.tokenType} ${e.accessToken}`}:{}}).then((e=>{I.setProp("preferences",e)}));I.deleteProp("preferences")})))).catch((e=>{})).then((()=>{_||(this.sendAAEvents(this.repository.getToken()),sessionStorage.removeItem("isNewUser"),"true"===sessionStorage.getItem("isRedirectingToLoginOrRegister")&&sessionStorage.removeItem("isRedirectingToLoginOrRegister")),sessionStorage.removeItem("VQB2C_ACTION"),sessionStorage.removeItem("VQB2C_REDIRECT_PAGE"),sessionStorage.removeItem("VQB2C_BACK_PAGE"),this.initialized=!0,this.dispatchEvent(new Event("init"))})).then((()=>{var e,t;if(!_||!this.repository.getToken())return;if(localStorage.getItem("qntc-user-interests"))return;const n=null!==(t=null===(e=this.repository.getProp("preferences"))||void 0===e?void 0:e.interests)&&void 0!==t?t:[];(null==n?void 0:n.length)&&localStorage.setItem("qntc-user-interests",JSON.stringify(n.filter((e=>e.selected&&Object.prototype.hasOwnProperty.call(K,e.id))).map((e=>K[String(e.id)]))))})).then((()=>{var e;this.repository.getToken()&&B("page-authenticated"),_&&window.location.replace(null!==(e=null!=t?t:I.getToken()?p:m)&&void 0!==e?e:"/")}))}initMsal(){return $(this,void 0,void 0,(function*(){this._msal=yield G(b.LOGIN)}))}callApi(e,t){var n;return $(this,void 0,void 0,(function*(){yield this.awaitInit();const r=this.repository.getToken();if(!r)throw new Error(P.NO_ACTIVE_ACCOUNT);if(!r.accessToken)throw new Error(P.NO_ACCESS_TOKEN);const o=Object.assign(Object.assign({},null!=t?t:{}),{headers:Object.assign(Object.assign({},null!==(n=null==t?void 0:t.headers)&&void 0!==n?n:{}),{Authorization:`${r.tokenType} ${r.accessToken}`})});return L(e,o)}))}callApiUnsafe(e,t){return L(e,t)}login(e){return $(this,void 0,void 0,(function*(){if(yield this.awaitInit(),!this._msal)throw new Error(P.INIT_FAILED);Q(O.LOGIN,null!=e?e:p);try{sessionStorage.setItem("isRedirectingToLoginOrRegister","true"),yield this._msal.loginRedirect({scopes:[],extraQueryParameters:{ui_locales:v}})}catch(e){}}))}register(e){return $(this,void 0,void 0,(function*(){if(yield this.awaitInit(),!this._msal)throw new Error(P.INIT_FAILED);Q(O.REGISTER,null!=e?e:p);try{const e=yield G(b.REGISTER);sessionStorage.setItem("isRedirectingToLoginOrRegister","true"),yield e.loginRedirect({scopes:[],extraQueryParameters:{ui_locales:v}})}catch(e){}}))}logout(e){return $(this,void 0,void 0,(function*(){if(yield this.awaitInit(),!this._msal)throw new Error(P.INIT_FAILED);B("logged-out"),Q(O.LOGOUT,e||m);try{yield this._msal.logoutRedirect()}catch(e){}}))}sendAAEvents(e){var t;e&&("true"===sessionStorage.getItem("isNewUser")?B("user_registration:success"):"false"===sessionStorage.getItem("isNewUser")&&B("user_login:success"),(null===(t=e.idTokenClaims)||void 0===t?void 0:t.isForgotPassword)&&B("user_password_recovery:success"))}awaitInit(){return new Promise((e=>{if(this.initialized)e();else{const t=()=>{this.removeEventListener("init",t),e()};this.addEventListener("init",t)}}))}}window.VQ_B2C=new W}()}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.