PageSourceSearch

https://www.animalcareclinichomer.com/_next/static/chunks/5798.72407e6ff759299f.js

js animalcareclinichomer.com collected 2026-10-08 03:29:20 UTC 270,861 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5798],{84806:function(e,t,n){n.d(t,{L:function(){return l}});var r=n(40354),o=n(96196),i=n(81578),a=n(2979);class s{static loggerCallback(e,t){switch(e){case r.i.Error:return void console.error(t);case r.i.Info:return void console.info(t);case r.i.Verbose:return void console.debug(t);case r.i.Warning:return void console.warn(t);default:return void console.log(t)}}constructor(e){let t;this.browserEnvironment="undefined"!==typeof window,this.config=(0,o._7)(e,this.browserEnvironment);try{t=window[a.Ix.SessionStorage]}catch(d){}const n=t?.getItem(a.bg),c=t?.getItem(a.PK)?.toLowerCase(),h="true"===c||"false"!==c&&void 0,l={...this.config.system.loggerOptions},u=n&&Object.keys(r.i).includes(n)?r.i[n]:void 0;u&&(l.loggerCallback=s.loggerCallback,l.logLevel=u),void 0!==h&&(l.piiLoggingEnabled=h),this.logger=new r.Y(l,i.u,i.i),this.available=!1}getConfig(){return this.config}getLogger(){return this.logger}isAvailable(){return this.available}isBrowserEnvironment(){return this.browserEnvironment}}class c extends s{getModuleName(){return c.MODULE_NAME}getId(){return c.ID}async initialize(){return this.available="undefined"!==typeof window,this.available}}c.MODULE_NAME="",c.ID="StandardOperatingContext";var h=n(76310);class l{static async createPublicClientApplication(e){const t=await async function(e){const t=new c(e);return await t.initialize(),(await Promise.resolve().then(n.bind(n,76310))).StandardController.createController(t)}(e);return new l(e,t)}constructor(e,t){if(t)this.controller=t;else{const t=new c(e);this.controller=new h.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)}}},14759: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()}}},96196:function(e,t,n){n.d(t,{Is:function(){return I},_7:function(){return v}});var r=n(49279),o=n(10166),i=n(11105),a=n(40354),s=n(11796),c=n(24228),h=n(47752);const l={sendGetRequestAsync:()=>Promise.reject((0,c.zP)(h.M2)),sendPostRequestAsync:()=>Promise.reject((0,c.zP)(h.M2))};var u=n(90177);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(47115),m=n(32506),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 T=n(74133),y=n(40619);class A{async sendGetRequestAsync(e,t){let n;try{n=await fetch(e,{method:f.EC.GET,headers:this.getFetchHeaders(t)})}catch(r){throw window.navigator.onLine?(0,T.Z_)(y.C8):(0,T.Z_)(y.Mq)}try{return{headers:this.getHeaderDict(n.headers),body:await n.json(),status:n.status}}catch(r){throw(0,T.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(i){throw window.navigator.onLine?(0,T.Z_)(y.Dc):(0,T.Z_)(y.Mq)}try{return{headers:this.getHeaderDict(o.headers),body:await o.json(),status:o.status}}catch(i){throw(0,T.Z_)(y.w6)}}getFetchHeaders(e){const t=new Headers;if(!e||!e.headers)return t;const n=e.headers;
1return 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 I=1e4;function v({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},T={loggerCallback:()=>{},logLevel:a.i.Info,piiLoggingEnabled:!1},y={...{...s.z,loggerOptions:T,networkClient:h?new A:l,navigationClient:new C,loadFrameTimeout:0,windowHashTimeout:n?.loadFrameTimeout||6e4,iframeHashTimeout:n?.loadFrameTimeout||I,navigateFrameWait:0,redirectNavigationTimeout:3e4,asyncPopups:!1,allowRedirectInIframe:!1,allowNativeBroker:!1,nativeBrokerHandshakeTimeout:n?.nativeBrokerHandshakeTimeout||2e3,pollIntervalMilliseconds:f.qx.DEFAULT_POLL_INTERVAL_MS},...n,loggerOptions:n?.loggerOptions||T},v={application:{appName:r.gT.EMPTY_STRING,appVersion:r.gT.EMPTY_STRING},client:new g};if(e?.protocolMode!==o.A.OIDC&&e?.OIDCOptions){new a.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:{...v,...c}}}},76310:function(e,t,n){n.r(t),n.d(t,{StandardController:function(){return ct}});var r=n(69111),o=n(49566),i=n(4085);var a=n(88299),s=n(24228),c=n(49279),h=n(74842),l=n(47115),u=n(10166),d=n(11105);var g=n(90177);const p=(e,t,n,r,o)=>(...i)=>{n.trace(`Executing function ${t}`);const a=r?.startMeasurement(t,o);if(o){const e=t+"CallCount";r?.incrementFields({[e]:1},o)}try{const r=e(...i);return a?.end({success:!0}),n.trace(`Returning result from ${t}`),r}catch(s){n.trace(`Error occurred in ${t}`);try{n.trace(JSON.stringify(s))}catch(s){n.trace("Unable to print error message.")}throw a?.end({success:!1},s),s}},m=(e,t,n,r,o)=>(...i)=>{n.trace(`Executing function ${t}`);const a=r?.startMeasurement(t,o);if(o){const e=t+"CallCount";r?.incrementFields({[e]:1},o)}return r?.setPreQueueTime(t,o),e(...i).then((e=>(n.trace(`Returning result from ${t}`),a?.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 a?.end({success:!1},e),e}))};class f{constructor(e,t,n,r){this.networkInterface=e,this.logger=t,this.performanceClient=n,this.correlationId=r}async detectRegion(e,t){this.performanceClient?.addQueueMeasurement(g.Ak.RegionDiscoveryDetectRegion,this.correlationId);let n=e;if(n)t.region_source=c.W.ENVIRONMENT_VARIABLE;else{const e=f.IMDS_OPTIONS;try{const r=await m(this.getRegionFromIMDS.bind(this),g.Ak.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(c.gT.IMDS_VERSION,e);if(r.status===c.YY.httpSuccess&&(n=r.body,t.region_source=c.W.IMDS),r.status===c.YY.httpBadRequest){const r=await m(this.getCurrentVersion.bind(this),g.Ak.RegionDiscoveryGetCurrentVersion,this.logger,this.performanceClient,this.correlationId)(e);if(!r)return t.region_source=c.W.FAILED_AUTO_DETECTION,null;const o=await m(this.getRegionFromIMDS.bind(this),g.Ak.RegionDiscoveryGetRegionFromIMDS,this.logger,this.performanceClient,this.correlationId)(r,e);o.status===c.YY.httpSuccess&&(n=o.body,t.region_source=c.W.IMDS)}}catch(r){return t.region_source=c.W.FAILED_AUTO_DETECTION,null}}return n||(t.region_source=c.W.FAILED_AUTO_DETECTION),n||null}async getRegionFromIMDS(e,t){return this.performanceClient?.addQueueMeasurement(g.Ak.RegionDiscoveryGetRegionFromIMDS,this.correlationId),this.networkInterface.sendGetRequestAsync(`${c.gT.IMDS_ENDPOINT}?api-version=${e}&format=text`,t,c.gT.IMDS_TIMEOUT)}async getCurrentVersion(e){this.performanceClient?.addQueueMeasurement(g.Ak.RegionDiscoveryGetCurrentVersion,this.correlationId);try{const t=await this.networkInterface.sendGetRequestAsync(`${c.gT.IMDS_ENDPOINT}?format=json`,e);return t.status===c.YY.httpBadRequest&&t.body&&t.body["newest-versions"]&&t.body["newest-versions"].length>0?t.body["newest-versions"][0]:null}catch(t){return null}}}f.IMDS_OPTIONS={headers:{Metadata:"true"}};var C=n(10536),T=n(12548),y=n(47752),A=n(32506);class I{constructor(e,t,n,r,o,i,a){this.canonicalAuthority=e,this._canonicalAuthority.val
1idateAsUri(),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=a,this.correlationId=i,this.regionDiscovery=new f(t,this.logger,this.performanceClient,this.correlationId)}getAuthorityType(e){if(e.HostNameAndPort.endsWith(c.gT.CIAM_AUTH_URL))return i.a.Ciam;const t=e.PathSegments;if(t.length)switch(t[0].toLowerCase()){case c.gT.ADFS:return i.a.Adfs;case c.gT.DSTS:return i.a.Dsts}return i.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 a.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,s.zP)(y.HO)}get tokenEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint);throw(0,s.zP)(y.HO)}get deviceCodeEndpoint(){if(this.discoveryComplete())return this.replacePath(this.metadata.token_endpoint.replace("/token","/devicecode"));throw(0,s.zP)(y.HO)}get endSessionEndpoint(){if(this.discoveryComplete()){if(!this.metadata.end_session_endpoint)throw(0,s.zP)(y.ig);return this.replacePath(this.metadata.end_session_endpoint)}throw(0,s.zP)(y.HO)}get selfSignedJwtAudience(){if(this.discoveryComplete())return this.replacePath(this.metadata.issuer);throw(0,s.zP)(y.HO)}get jwksUri(){if(this.discoveryComplete())return this.replacePath(this.metadata.jwks_uri);throw(0,s.zP)(y.HO)}canReplaceTenant(e){return 1===e.PathSegments.length&&!I.reservedTenantDomains.has(e.PathSegments[0])&&this.getAuthorityType(e)===i.a.Default&&this.protocolMode===u.A.AAD}replaceTenant(e){return e.replace(/{tenant}|{tenantid}/g,this.tenant)}replacePath(e){let t=e;const n=new a.G(this.metadata.canonical_authority).getUrlComponents(),r=n.PathSegments;return this.canonicalAuthorityUrlComponents.PathSegments.forEach(((e,o)=>{let i=r[o];if(0===o&&this.canReplaceTenant(n)){const e=new a.G(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];i!==e&&(this.logger.verbose(`Replacing tenant domain name ${i} with id ${e}`),i=e)}e!==i&&(t=t.replace(`/${i}/`,`/${e}/`))})),this.replaceTenant(t)}get defaultOpenIdConfigurationEndpoint(){const e=this.hostnameAndPort;return this.canonicalAuthority.endsWith("v2.0/")||this.authorityType===i.a.Adfs||this.protocolMode!==u.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(g.Ak.AuthorityResolveEndpointsAsync,this.correlationId);const e=this.getCurrentMetadataEntity(),t=await m(this.updateCloudDiscoveryMetadata.bind(this),g.Ak.AuthorityUpdateCloudDiscoveryMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.canonicalAuthority=this.canonicalAuthority.replace(this.hostnameAndPort,e.preferred_network);const n=await m(this.updateEndpointMetadata.bind(this),g.Ak.AuthorityUpdateEndpointMetadata,this.logger,this.performanceClient,this.correlationId)(e);this.updateCachedMetadata(e,t,{source:n}),this.performanceClient?.addFields({cloudDiscoverySource:t,authorityEndpointSource:n},this.correlationId)}getCurrentMetadataEntity(){let e=this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);return e||(e={aliases:[],preferred_cache:this.hostnameAndPort,preferred_network:this.hostnameAndPort,canonical_authority:this.canonicalAuthority,authorization_endpoint:"",token_endpoint:"",end_session_endpoint:"",issuer:"",aliasesFromNetwork:!1,endpointsFromNetwork:!1,expiresAt:(0,T.Rw)(),jwks_uri:""}),e}updateCachedMetadata(e,t,n){t!==c.pQ.CACHE&&n?.source!==c.pQ.CACHE&&(e.expiresAt=(0,T.Rw)(),e.canonical_authority=this.canonicalAuthority);const r=this.cacheManager.generateAuthorityMetadataCacheKey(e.preferred_cache);this.cacheManager.setAuthorityMetadata(r,e),this.metadata=e}async updateEndpointMetadata(e){this.performanceClient?.addQueueMeasurement(g.Ak.AuthorityUpdateEndpointMetadata,this.correlationId);const t=this.updateEndpointMetadataFromLocalSources(e);if(t){if(t.source===c.pQ.HARDCODED_VALUES&&this.authorityOptions.azureRegionConfiguration?.azureRegion&&t.metadata){const n=await m(this.updateMetadataWithRegionalInformation.bind(this),g.Ak.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(t.metadata);(0,T.xc)(e,n,!1),e.canonical_authority=this.canonicalAuthority}return t.source}let n=await m(this.getEndpointMetadataFromNetwork.bind(this),g.Ak.AuthorityGetEndpointMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(n)return this.authorityOptions.azureRegionConfiguration?.azureRegion&&(n=await m(this.updateMetadataWithRegionalInformation.bind(this),g.Ak.AuthorityUpdateMetadataWithRegionalInformation,this.logger,this.performanceClient,this.correlationId)(n)),(0,T.xc)(e,n,!0),c.pQ.NETWORK;throw(0,s.zP)(y.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"),(0,T.xc)(e,t,!1),{source:c.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(0,T.xc)(e,t,!1),{source:c.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=(0,T.k5)(e);return this.isAuthoritySameType(e)&&e.endpointsFromNetwork&&!n?(this.logger.verbose("Found endpoint metadata in the cache."),{source:c.pQ.CACHE}):(n&&this.logger.verbose("The metadata entity is expired."),null)}isAuthoritySameType(e){return new a.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,l.ei)(A.zx)}return null}async getEndpointMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(g.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(n){return this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: ${n}`),null}}getEndpointMetadataFromHardcodedValues(){return this.hostnameAndPort in h.Qh?h.Qh[this.hostnameAndPort]:null}async updateMetadataWithRegionalInformation(e){this.performanceClient?.addQueueMeasurement(g.Ak.AuthorityUpdateMetadataWithRegionalInformation,this.correlationId);const t=this.authorityOptions.azureRegionConfiguration?.azureRegion;if(t){if(t!==c.gT.AZURE_REGION_AUTO_DISCOVER_FLAG)return this.regionDiscoveryMetadata.region_outcome=c.ki.CONFIGURED_NO_AUTO_DETECTION,this.regionDiscoveryMetadata.region_used=t,I.replaceWithRegionalInformation(e,t);const n=await m(this.regionDiscovery.detectRegion.bind(this.regionDiscovery),g.Ak.RegionDiscoveryDetectRegion,this.logger,this.performanceClient,this.correlationId)(this.authorityOptions.azureRegionConfiguration?.environmentRegion,this.regionDiscoveryMetadata);if(n)return this.regionDiscoveryMetadata.region_outcome=c.ki.AUTO_DETECTION_REQUESTED_SUCCESSFUL,this.regionDiscoveryMetadata.region_used=n,I.replaceWithRegionalInformation(e,n);this.regionDiscoveryMetadata.region_outcome=c.ki.AUTO_DETECTION_REQUESTED_FAILED}return e}async updateCloudDiscoveryMetadata(e){this.performanceClient?.addQueueMeasurement(g.Ak.AuthorityUpdateCloudDiscoveryMetadata,this.correlationId);const t=this.updateCloudDiscoveryMetadataFromLocalSources(e);if(t)return t;const n=await m(this.getCloudDiscoveryMetadataFromNetwork.bind(this),g.Ak.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.logger,this.performanceClient,this.correlationId)();if(n)return(0,T.Cd)(e,n,!0),c.pQ.NETWORK;throw(0,l.ei)(A.o_)}updateCloudDiscoveryMetadataFromLocalSources(e){this.logger.verbose("Attempting to get cloud discovery metadata  from authority configuration"),this.logger.verbosePii(`Known Authorities: ${this.authorityOptions.knownAuthorities||c.gT.NOT_APPLICABLE}`),this.logger.verbosePii(`Authority Metadata: ${this.authorityOptions.authorityMetadata||c.gT.NOT_APPLICABLE}`),this.logger.verbosePii(`Canonical Authority: ${e.canonical_authority||c.gT.NOT_APPLICABLE}`);const t=this.getCloudDiscoveryMetadataFromConfig();if(t)return this.logger.verbose("Found cloud discovery metadata in authority configuration"),(0,T.Cd)(e,t,!1),c.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,h.ix)(this.hostnameAndPort);if(t)return this.logger.verbose("Found cloud discovery metadata from hardcoded values."),(0,T.Cd)(e,t,!1),c.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=(0,T.k5)(e);return this.isAuthoritySameType(e)&&e.aliasesFromNetwork&&!n?(this.logger.verbose("Found cloud discovery metadata in the cache."),c.pQ.CACHE):(n&&this.logger.verbose("The metadata entity is expired."),null)}getCloudDiscoveryMetadataFromConfig(){if(this.authorityType===i.a.Ciam)return this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host."),I.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,h.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,l.ei)(A.E)}}return this.isInKnownAuthorities()?(this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host."),I.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)):null}async getCloudDiscoveryMetadataFromNetwork(){this.performanceClient?.addQueueMeasurement(g.Ak.AuthorityGetCloudDiscoveryMetadataFromNetwork,this.correlationId);const e=`${c.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===c.gT.INVALID_INSTANCE)return this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invali
1d_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,h.eM)(i,this.hostnameAndPort)}catch(r){if(r instanceof C.l4)this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata.\nError: ${r.errorCode}\nError Description: ${r.errorMessage}`);else{const e=r;this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata.\nError: ${e.name}\nError Description: ${e.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=I.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort)),n}isInKnownAuthorities(){return this.authorityOptions.knownAuthorities.filter((e=>e&&a.G.getDomainFromUrl(e).toLowerCase()===this.hostnameAndPort)).length>0}static generateAuthority(e,t){let n;if(t&&t.azureCloudInstance!==d.z.None){const e=t.tenant?t.tenant:c.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,s.zP)(y.HO)}isAlias(e){return this.metadata.aliases.indexOf(e)>-1}isAliasOfKnownMicrosoftAuthority(e){return h.wn.has(e)}static isPublicCloudAuthority(e){return c.gT.KNOWN_PUBLIC_CLOUDS.indexOf(e)>=0}static buildRegionalAuthorityString(e,t,n){const r=new a.G(e);r.validateAsUri();const o=r.getUrlComponents();let i=`${t}.${o.HostNameAndPort}`;this.isPublicCloudAuthority(o.HostNameAndPort)&&(i=`${t}.${c.gT.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`);const s=a.G.constructAuthorityUriFromObject({...r.getUrlComponents(),HostNameAndPort:i}).urlString;return n?`${s}?${n}`:s}static replaceWithRegionalInformation(e,t){const n={...e};return n.authorization_endpoint=I.buildRegionalAuthorityString(n.authorization_endpoint,t),n.token_endpoint=I.buildRegionalAuthorityString(n.token_endpoint,t),n.end_session_endpoint&&(n.end_session_endpoint=I.buildRegionalAuthorityString(n.end_session_endpoint,t)),n}static transformCIAMAuthority(e){let t=e;const n=new a.G(e).getUrlComponents();if(0===n.PathSegments.length&&n.HostNameAndPort.endsWith(c.gT.CIAM_AUTH_URL)){t=`${t}${n.HostNameAndPort.split(".")[0]}${c.gT.AAD_TENANT_DOMAIN_SUFFIX}`}return t}}function v(e){return e.endsWith(c.gT.FORWARD_SLASH)?e:`${e}${c.gT.FORWARD_SLASH}`}I.reservedTenantDomains=new Set(["{tenant}","{tenantid}",c.Nb.COMMON,c.Nb.CONSUMERS,c.Nb.ORGANIZATIONS]);var k=n(85152),_=n(36161),S=n(94016),w=n(31335),E=n(26159);class R{static setRequestState(e,t,n){const r=R.generateLibraryState(e,n);return t?`${r}${c.gT.RESOURCE_DELIM}${t}`:r}static generateLibraryState(e,t){if(!e)throw(0,s.zP)(y.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,s.zP)(y.QL);if(!t)throw(0,s.zP)(y.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),a=JSON.parse(i);return{userRequestState:o||c.gT.EMPTY_STRING,libraryState:a}}catch(n){throw(0,s.zP)(y.r8)}}}const b="home_account_id",P="UPN";var O=n(76831);class N{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 M=n(74133),q=n(2979),H=n(97598),L=n(37423);class U{constructor(e){this.validateWindowStorage(e),this.windowStorage=window[e]}validateWindowStorage(e){if(e!==q.Ix.LocalStorage&&e!==q.Ix.SessionStorage||!window[e])throw(0,H.Z1)(L.m4)}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 D=n(14759);function F(e,t){if(!t)return null;try{return R.parseRequestState(e,t).libraryState.meta}catch(n){throw(0,s.zP)(y.r8)}}var x=n(61237),K=n(91259),B=n(40619);class G extends w.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 D.k,this.browserStorage=this.setupBrowserStorage(this.cacheConfig.cacheLocation),this.temporaryCacheStorage=this.setupTemporaryCacheStorage(this.cacheConfig.temporaryCacheLocation,this.cacheConfig.cacheLocation),t.cac
1heMigrationEnabled&&(this.migrateCacheEntries(),this.createKeyMaps())}setupBrowserStorage(e){switch(e){case q.Ix.LocalStorage:case q.Ix.SessionStorage:try{return new U(e)}catch(t){this.logger.verbose(t);break}}return this.cacheConfig.cacheLocation=q.Ix.MemoryStorage,new D.k}setupTemporaryCacheStorage(e,t){switch(t){case q.Ix.LocalStorage:case q.Ix.SessionStorage:try{return new U(e||q.Ix.SessionStorage)}catch(n){return this.logger.verbose(n),this.internalStorage}case q.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].forEach(((e,t)=>{const n=o[t];n&&this.setTemporaryCache(e,n,!0)}))}createKeyMaps(){this.logger.trace("BrowserCacheManager - createKeyMaps called.");const e=this.getItem(q.Oq.ACCOUNT_KEYS),t=this.getItem(`${q.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(T.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(T.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(T.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&&_.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(t){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&&_.r.isAccountEntity(n)?w.L.toObject(new _.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(q.Oq.ACCOUNT_KEYS);return e?JSON.parse(e):(this.logger.verbose("BrowserCacheManager.getAccountKeys - No account keys found"),[])}
1addAccountKeyToMap(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(q.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(q.Oq.ACCOUNT_KEYS,JSON.stringify(t)),this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap account key removed")):this.logger.trace("BrowserCacheManager.removeAccountKeyFromMap key 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(`${q.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,s.zP)(y.cy)}this.setItem(`${q.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 invali
1d. CredentialType: ${t}`),(0,s.zP)(y.cy)}this.setItem(`${q.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&&T.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=T.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&&T.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=T.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&&T.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=T.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);return n&&T.ZL(e,n)?(this.logger.trace("BrowserCacheManager.getAppMetadata: cache hit"),n):(this.logger.trace("BrowserCacheManager.getAppMetadata: called, no cache hit"),null)}setAppMetadata(e){this.logger.trace("BrowserCacheManager.setAppMetadata called");const t=T.Ox(e);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&&T.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&&T.FK(e,n)?(this.logger.trace("BrowserCacheManager.getAuthorityMetadata: cache hit"),n):null}getAuthorityMetadataKeys(){return this.internalStorage.getKeys().filter((e=>this.isAuthorityMetadata(e)))}setWrapperMetadata(e,t){this.internalStorage.setItem(q.Bs.WRAPPER_SKU,e),this.internalStorage.setItem(q.Bs.WRAPPER_VER,t)}getWrapperMetadata(){return[this.internalStorage.getItem(q.Bs.WRAPPER_SKU)||c.gT.EMPTY_STRING,this.internalStorage.getItem(q.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&&T.VQ(e,n)?(this.logger.trace("BrowserCacheManager.getThrottlingCache: cache hit"),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===q.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)}removeTemporaryItem(e){this.temporaryCacheStorage.removeItem(e),this.cacheConfig.storeAuthStateInCookie&&(this.logger.trace("BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"),this.clearItem
1Cookie(e))}getKeys(){return this.browserStorage.getKeys()}async clear(){await this.removeAllAccounts(),this.removeAppMetadata(),this.temporaryCacheStorage.getKeys().forEach((e=>{-1===e.indexOf(c.gT.CACHE_PREFIX)&&-1===e.indexOf(this.clientId)||this.removeTemporaryItem(e)})),this.browserStorage.getKeys().forEach((e=>{-1===e.indexOf(c.gT.CACHE_PREFIX)&&-1===e.indexOf(this.clientId)||this.browserStorage.removeItem(e)})),this.internalStorage.clear()}async clearTokensAndKeysWithClaims(e){e.addQueueMeasurement(g.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 r=0;r<n.length;r++){let e=n[r];for(;" "===e.charAt(0);)e=e.substring(1);if(0===e.indexOf(t))return decodeURIComponent(e.substring(t.length,e.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()}generateCacheKey(e){return this.validateAndParseJson(e)?JSON.stringify(e):E.x.startsWith(e,c.gT.CACHE_PREFIX)||E.x.startsWith(e,c.Vi.ADAL_ID_TOKEN)?e:`${c.gT.CACHE_PREFIX}.${this.clientId}.${e}`}generateAuthorityKey(e){const{libraryState:{id:t}}=R.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${q.c4.AUTHORITY}.${t}`)}generateNonceKey(e){const{libraryState:{id:t}}=R.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${q.c4.NONCE_IDTOKEN}.${t}`)}generateStateKey(e){const{libraryState:{id:t}}=R.parseRequestState(this.cryptoImpl,e);return this.generateCacheKey(`${q.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 a=this.generateNonceKey(e);this.setTemporaryCache(a,t,!1);const s=this.generateAuthorityKey(e);if(this.setTemporaryCache(s,n,!1),o){const e={credential:o.homeAccountId,type:b};this.setTemporaryCache(q.c4.CCS_CREDENTIAL,JSON.stringify(e),!0)}else if(r){const e={credential:r,type:P};this.setTemporaryCache(q.c4.CCS_CREDENTIAL,JSON.stringify(e),!0)}}resetRequestCache(e){this.logger.trace("BrowserCacheManager.resetRequestCache called"),e&&(this.temporaryCacheStorage.getKeys().forEach((t=>{-1!==t.indexOf(e)&&this.removeTemporaryItem(t)})),this.removeTemporaryItem(this.generateStateKey(e)),this.removeTemporaryItem(this.generateNonceKey(e)),this.removeTemporaryItem(this.generateAuthorityKey(e))),this.removeTemporaryItem(this.generateCacheKey(q.c4.REQUEST_PARAMS)),this.removeTemporaryItem(this.generateCacheKey(q.c4.ORIGIN_URI)),this.removeTemporaryItem(this.generateCacheKey(q.c4.URL_HASH)),this.removeTemporaryItem(this.generateCacheKey(q.c4.CORRELATION_ID)),this.removeTemporaryItem(this.generateCacheKey(q.c4.CCS_CREDENTIAL)),this.removeTemporaryItem(this.generateCacheKey(q.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.temporaryCacheStorage.getKeys().forEac
1h((t=>{if(-1===t.indexOf(q.c4.REQUEST_STATE))return;const n=this.temporaryCacheStorage.getItem(t);if(!n)return;const r=F(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,K.h$)(JSON.stringify(e));this.setTemporaryCache(q.c4.REQUEST_PARAMS,t,!0)}getCachedRequest(e){this.logger.trace("BrowserCacheManager.getCachedRequest called");const t=this.getTemporaryCache(q.c4.REQUEST_PARAMS,!0);if(!t)throw(0,M.Z_)(B.QO);let n;try{n=JSON.parse((0,x.t)(t))}catch(r){throw this.logger.errorPii(`Attempted to parse: ${t}`),this.logger.error(`Parsing cached token request threw with error: ${r}`),(0,M.Z_)(B.e$)}if(this.removeTemporaryItem(this.generateCacheKey(q.c4.REQUEST_PARAMS)),!n.authority){const t=this.generateAuthorityKey(e),r=this.getTemporaryCache(t);if(!r)throw(0,M.Z_)(B.dT);n.authority=r}return n}getCachedNativeRequest(){this.logger.trace("BrowserCacheManager.getCachedNativeRequest called");const e=this.getTemporaryCache(q.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}.${q.c4.INTERACTION_STATUS_KEY}`;return this.getTemporaryCache(e,!1)}setInteractionInProgress(e){const t=`${c.gT.CACHE_PREFIX}.${q.c4.INTERACTION_STATUS_KEY}`;if(e){if(this.getInteractionInProgress())throw(0,M.Z_)(B.Ck);this.setTemporaryCache(t,this.clientId,!1)}else e||this.getInteractionInProgress()!==this.clientId||this.removeTemporaryItem(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.browserStorage.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=O.Z_(n,x.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=T.Mk(t);if(e!==n){const r=this.getItem(e);if(r)return this.browserStorage.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}async hydrateCache(e,t){const n=T.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=T.Ds(e.account?.homeAccountId,e.account.environment,e.accessToken,this.clientId,e.tenantId,e.scopes.join(" "),e.expiresOn?.getTime()||0,e.extExpiresOn?.getTime()||0,x.t,void 0,e.tokenType,void 0,t.sshKid,t.claims,r),i=new N(void 0,n,o);return this.saveCacheRecord(i)}}function z(){return window.parent!==window}function $(){return window.location.href.split("?")[0].split("#")[0]}function W(){if("undefined"!==typeof window&&window.opener&&window.opener!==window&&"string"===typeof window.name&&0===window.name.indexOf(`${q.qx.POPUP_NAME_PREFIX}.`))throw(0,M.Z_)(B.bj)}function Q(e){if(!e)throw(0,M.Z_)(B.al)}function Y(e){!function(){if("undefined"===typeof window)throw(0,M.Z_)(B.Dx)}(),function(){if(a.G.hashContainsKnownProperties(window.location.hash)&&z())throw(0,M.Z_)(B.xO)}(),W(),Q(e)}function V(e,t){if(Y(e),function(e){if(z()&&!e)throw(0,M.Z_)(B.b_)}
1(t.system.allowRedirectInIframe),t.cache.cacheLocation===q.Ix.MemoryStorage&&!t.cache.storeAuthStateInCookie)throw(0,H.Z1)(L.xC)}function j(e){const t=document.createElement("link");t.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(30882),Z=n(18896),X=n(32111);class ee{static generateThrottlingStorageKey(e){return`${c.bb.THROTTLING_PREFIX}.${JSON.stringify(e)}`}static preProcess(e,t){const n=ee.generateThrottlingStorageKey(t),r=e.getThrottlingCache(n);if(r){if(r.throttleTime<Date.now())return void e.removeItem(n);throw new X.n(r.errorCodes?.join(" ")||c.gT.EMPTY_STRING,r.errorMessage,r.subError)}}static postProcess(e,t,n){if(ee.checkResponseStatus(n)||ee.checkResponseForRetryAfter(n)){const r={throttleTime:ee.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(ee.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 te=n(11796);class ne{constructor(e,t){this.networkClient=e,this.cacheManager=t}async sendPostRequest(e,t,n){let r;ee.preProcess(this.cacheManager,e);try{r=await this.networkClient.sendPostRequestAsync(t,n)}catch(o){throw o instanceof C.l4?o:(0,s.zP)(y.EF)}return ee.postProcess(this.cacheManager,e,r),r}}var re=n(40354),oe=n(67564),ie=n(54903),ae=n(16468);async function se(e,t,n,r,o,i,a){a?.addQueueMeasurement(g.Ak.AuthorityFactoryCreateDiscoveredInstance,i);const c=I.transformCIAMAuthority(v(e)),h=new I(c,t,n,r,o,i,a);try{return await m(h.resolveEndpointsAsync.bind(h),g.Ak.AuthorityResolveEndpointsAsync,o,a,i)(),h}catch(l){throw(0,s.zP)(y.HO)}}class ce{constructor(e,t){this.config=(0,te.j6)(e),this.logger=new re.Y(this.config.loggerOptions,oe.u,oe.i),this.cryptoUtils=this.config.cryptoInterface,this.cacheManager=this.config.storageInterface,this.networkClient=this.config.networkInterface,this.networkManager=new ne(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 b:try{const n=(0,ie.j)(e.credential);t[c.SZ.CCS_HEADER]=`Oid:${n.uid}@${n.utid}`}catch(n){this.logger.verbose("Could not parse home account ID for CCS Header: "+n)}break;case P: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 a=await this.networkManager.sendPostRequest(r,e,{body:t,headers:n});return this.performanceClient?.addFields({refreshTokenSize:a.body.refresh_token?.length||0,httpVerToken:a.headers?.[c.SZ.X_MS_HTTP_VERSION]||""},o),this.config.serverTelemetryManager&&a.status<500&&429!==a.status&&this.config.serverTelemetryManager.clearTelemetryCache(),a}async updateAuthority(e,t){this.performanceClient?.addQueueMeasurement(g.Ak.UpdateTokenEndpointAuthority,t);const n=`https://${e}/${this.authority.tenant}/`,r=await se(n,this.networkClient,this.cacheManager,this.authority.options,this.logger,t,this.performanceClient);this.authority=r}createTokenQueryParameters(e){const t=new ae.H;return e.tokenQueryParameters&&t.addExtraQueryParameters(e.tokenQueryParameters),t.createQueryString()}}var he=n(59117),le=n(63570),ue=n(26516);const de="sw";class ge{constructor(e,t){this.cryptoUtils=e,this.performanceClient=t}async generateCnf(e,t){this.performanceClient?.addQueueMeasurement(g.Ak.PopTokenGenerateCnf,e.correlationId);const n=await m(this.generateKid.bind(this),g.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(g.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:c,shrOptions:h}=n,l=(i?new a.G(i):void 0)?.getUrlComponents();return this.cryptoUtils.signJwt({at:e,ts:(0,ue.HY)(),m:o?.toUpperCase(),u:l?.HostNameAndPort,nonce:c||this.cryptoUtils.createNewGuid(),p:l?.AbsolutePath,q:l?.QueryString?[[],l.QueryString]:void 0,client_claims:s||void 0,...r},t,h,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(72057),fe=n(62401);class Ce{constructor(e,t,n,r,o,i,a){this.clientId=e,this.cacheStorage=t,this.cryptoObj=n,this.logger=r,this.serializableCache=o,this.persistencePlugin=i,this.performanceClient=a}validateServerAuthorizationCodeResponse(e,t){if(!e.state||!t)throw e.state?(0,s.zP)(y.LV,"Cached State"):(0,s.zP)(y.LV,"Server State");let n,r;try{n=decodeURIComponent(e.state)}catch(o){throw(0,s.zP)(y.r8,e.state)}try{r=decodeURIComponent(t)}catch(o){throw(0,s.zP)(y.r8,e.state)}if(n!==r)throw(0,s.zP)(y.Tu);if(e.error||e.error_description||e.suberror){if((0,k.Cf)(e.error,e.error_description,e.suberror))throw new k.Yo(e.error||"",e.error_description,e.suberror,e.timestamp||"",e.trace_id||"",e.correlation_id||"",e.claims||"");throw new X.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 X.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,k.Cf)(e.error,e.error_description,e.suberror))throw new k.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 u,d;if(this.performanceClient?.addQueueMeasurement(g.Ak.HandleServerTokenResponse,e.correlation_id),e.id_token){if(u=(0,O.Z_)(e.id_token||c.gT.EMPTY_STRING,this.cryptoObj.base64Decode),o&&o.nonce&&u.nonce!==o.nonce)throw(0,s.zP)(y.vR);if(r.maxAge||0===r.maxAge){const e=u.auth_time;if(!e)throw(0,s.zP)(y.w7);(0,O.ky)(e,r.maxAge)}}this.homeAccountIdentifier=_.r.generateHomeAccountId(e.client_info||c.gT.EMPTY_STRING,t.authorityType,this.logger,this.cryptoObj,u),o&&o.state&&(d=R.parseRequestState(this.cryptoObj,o.state)),e.key_id=e.key_id||r.sshKid||void 0;const p=this.generateCacheRecord(e,t,n,r,u,i,o);let m;try{if(this.persistencePlugin&&this.serializableCache&&(this.logger.verbose("Persistence enabled, calling beforeCacheAccess"),m=new pe(this.serializableCache,!0),await this.persistencePlugin.beforeCacheAccess(m)),a&&!h&&p.account){const e=p.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,p,!1,r,u,d,void 0,l)}await this.cacheStorage.saveCacheRecord(p,r.storeInCache)}finally{this.persistencePlugin&&this.serializableCache&&m&&(this.logger.verbose("Persistence enabled, calling afterCacheAccess"),await this.persistencePlugin.afterCacheAccess(m))}return Ce.generateAuthenticationResult(this.cryptoObj,t,p,!1,r,u,d,e,l)}generateCacheRecord(e,t,n,r,o,i,a){const c=t.getPreferredCache();if(!c)throw(0,s.zP)(y.Q9);const h=(0,me.M)(o);let l,u;e.id_token&&o&&(l=(0,T.Md)(this.homeAccountIdentifier,c,e.id_token,this.clientId,h||""),u=Te(this.cacheStorage,t,this.homeAccountIdentifier,o,this.cryptoObj.base64Decode,e.client_info,c,h,a,void 0,this.logger));let d=null;if(e.access_token){const o=e.scope?le.i.fromString(e.scope):new le.i(r.scopes||[]),a=("string"===typeof e.expires_in?parseInt(e.expires_in,10):e.expires_in)||0,s=("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+a,g=u+s,p=l&&l>0?n+l:void 0;d=(0,T.Ds)(this.homeAccountIdentifier,c,e.access_token,this.clientId,h||t.tenant||"",o.printScopes(),u,g,this.cryptoObj.base64Decode,p,e.token_type,i,e.key_id,r.claims,r.requestedClaimsHash)}let g=null;if(e.refresh_token){let t;if(e.refresh_token_expires_in){t=n+("string"===typeof e.refresh_token_expires_in?parseInt(e.refresh_token_expires_in,10):e.refresh_token_expires_in)}g=(0,T.OJ)(this.homeAccountIdentifier,c,e.refresh_token,this.clientId,e.foci,i,t)}let p=null;return e.foci&&(p={clientId:this.clientId,environment:c,familyId:e.foci}),new N(u,l,d,g,p)}static async generateAuthenticationResult(e,t,n,r,o,i,a,h,l){let u,d,g=c.gT.EMPTY_STRING,p=[],m=null,f=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,s.zP)(y.Of);g=await t.signPopToken(r,i,o)}else g=n.accessToken.secret;p=le.i.fromString(n.accessToken.target).asArray(),m=new Date(1e3*Number(n.accessToken.expiresOn)),u=new Date(1e3*Number(n.accessToken.extendedExpiresOn)),n.accessToken.refreshOn&&(d=new Date(1e3*Number(n.accessToken.refreshOn)))}n.appMetadata&&(f=n.appMetadata.familyId===c.ch?c.ch:"");
1const C=i?.oid||i?.sub||"",T=i?.tid||"";h?.spa_accountid&&n.account&&(n.account.nativeAccountId=h?.spa_accountid);const A=n.account?(0,fe.$f)(n.account.getAccountInfo(),void 0,i,n.idToken?.secret):null;return{authority:t.canonicalAuthority,uniqueId:C,tenantId:T,scopes:p,account:A,idToken:n?.idToken?.secret||"",idTokenClaims:i||{},accessToken:g,fromCache:r,expiresOn:m,extExpiresOn:u,refreshOn:d,correlationId:o.correlationId,requestId:l||c.gT.EMPTY_STRING,familyId:f,tokenType:n.accessToken?.tokenType||c.gT.EMPTY_STRING,state:a?a.userRequestState:c.gT.EMPTY_STRING,cloudGraphHostName:n.account?.cloudGraphHostName||c.gT.EMPTY_STRING,msGraphHost:n.account?.msGraphHost||c.gT.EMPTY_STRING,code:h?.spa_code,fromNativeBroker:!1}}}function Te(e,t,n,r,o,i,a,s,c,h,l){l?.verbose("setCachedAccount called");const u=e.getAccountKeys().find((e=>e.startsWith(n)));let d=null;u&&(d=e.getAccount(u,l));const g=d||_.r.createAccount({homeAccountId:n,idTokenClaims:r,clientInfo:i,environment:a,cloudGraphHostName:c?.cloud_graph_host_name,msGraphHost:c?.msgraph_host,nativeAccountId:h},t,o),p=g.tenantProfiles||[];if(s&&!p.find((e=>e.tenantId===s))){const e=(0,fe.SI)(n,r);p.push(e)}return g.tenantProfiles=p,g}var ye=n(92707);class Ae 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(g.Ak.GetAuthCodeUrl,e.correlationId);const t=await m(this.createAuthCodeUrlQueryString.bind(this),g.Ak.AuthClientCreateQueryString,this.logger,this.performanceClient,e.correlationId)(e);return a.G.appendQueryString(this.authority.authorizationEndpoint,t)}async acquireToken(e,t){if(this.performanceClient?.addQueueMeasurement(g.Ak.AuthClientAcquireToken,e.correlationId),!e.code)throw(0,s.zP)(y.FU);const n=(0,ue.HY)(),r=await m(this.executeTokenRequest.bind(this),g.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),m(i.handleServerTokenResponse.bind(i),g.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,s.zP)(y.Zv);return e}getLogoutUri(e){if(!e)throw(0,l.ei)(A.$h);const t=this.createLogoutUrlQueryString(e);return a.G.appendQueryString(this.authority.endSessionEndpoint,t)}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(g.Ak.AuthClientExecuteTokenRequest,t.correlationId);const n=this.createTokenQueryParameters(t),r=a.G.appendQueryString(e.tokenEndpoint,n),o=await m(this.createTokenRequestBody.bind(this),g.Ak.AuthClientCreateTokenRequestBody,this.logger,this.performanceClient,t.correlationId)(t);let i;if(t.clientInfo)try{const e=(0,ie.B)(t.clientInfo,this.cryptoUtils.base64Decode);i={credential:`${e.uid}${c.Bv.CLIENT_INFO_SEPARATOR}${e.utid}`,type:b}}catch(l){this.logger.verbose("Could not parse client info for CCS Header: "+l)}const s=this.createTokenRequestHeaders(i||t.ccsCredential),h={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 m(this.executePostToTokenEndpoint.bind(this),g.Ak.AuthorizationCodeClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,t.correlationId)(r,o,s,h,t.correlationId,g.Ak.AuthorizationCodeClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(g.Ak.AuthClientCreateTokenRequestBody,e.correlationId);const t=new ae.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,te.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 m(n.generateCnf.bind(n),g.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,l.ei)(A.dK);t.addSshJwk(e.sshJwk)}const n=e.correlationId||this.config.cryptoInterface.createNewGuid();let r;if(t.addCorrelationId(n),(!E.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,ie.B)(e.clientInfo,this.cryptoUtils.base64Decode);r={credential:`${t.uid}${c.Bv.CLIENT_INFO_SEPARATOR}${t.utid}`,type:b}}catch(o){this.logger.verbose("Could not parse client info for CCS Header: "+o)}else r=e.ccsCredential;if(this.config.systemOptions.preventCorsPreflight&&r)switch(r.type){case b:try{const e=(0,ie.j)(r.credential);t.addCcsOid(e)}catch(o){this.logger.verbose("Could not parse home account ID for CCS Header: "+o)}break;case P: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(g.Ak.AuthClientCreateQueryString,e.correlationId);const t=new ae.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,te.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,ie.j)(e.account.homeAccountId);t.addCcsOid(n)}catch(o){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,ie.j)(e.account.homeAccountId);t.addCcsOid(n)}catch(o){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,ie.j)(e.account.homeAccountId);t.addCcsOid(n)}catch(o){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 m(n.generateCnf.bind(n),g.Ak.PopTokenGenerateCnf,this.logger,this.performanceClient,e.correlationId)(e,this.logger);t.addPopToken(r.reqCnfHash)}return t.createQueryString()}createLogoutUrlQueryString(e){const t=new ae.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 Ie{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=Ie.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 C.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=Ie.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,a=e.errors[t]||c.gT.EMPTY_STRING;if(r+=o.toString().length+i.toString().length+a.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 ve=n(81578),ke=n(3292);
1class _e{constructor(e,t,n,r,o,i,a,s,c){this.config=e,this.browserStorage=t,this.browserCrypto=n,this.networkClient=this.config.system.networkClient,this.eventHandler=o,this.navigationClient=i,this.nativeMessageHandler=s,this.correlationId=c||(0,ke.nn)(),this.logger=r.clone(q.qx.MSAL_SKU,ve.i,this.correlationId),this.performanceClient=a}async clearCacheOnLogout(e){if(e){_.r.accountInfoIsEqual(e,this.browserStorage.getActiveAccount(),!1)&&(this.logger.verbose("Setting active account to null"),this.browserStorage.setActiveAccount(null));try{await this.browserStorage.removeAccount(_.r.generateAccountCacheKey(e)),this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.")}catch(t){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(n){this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.")}}getRedirectUri(e){this.logger.verbose("getRedirectUri called");const t=e||this.config.auth.redirectUri||$();return a.G.getAbsoluteUrl(t,$())}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 Ie(n,this.browserStorage)}async getDiscoveredAuthority(e,t,n){this.performanceClient.addQueueMeasurement(g.Ak.StandardInteractionClientGetDiscoveredAuthority,this.correlationId);const r={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},o=e||this.config.auth.authority,i=I.generateAuthority(o,t||this.config.auth.azureCloudOptions),a=await m(se,g.Ak.AuthorityFactoryCreateDiscoveredInstance,this.logger,this.performanceClient,this.correlationId)(i,this.config.system.networkClient,this.browserStorage,r,this.logger,this.correlationId,this.performanceClient);if(n&&!a.isAlias(n.environment))throw(0,l.ei)(A.Hv);return a}}async function Se(e,t,n){e.addQueueMeasurement(g.Ak.GeneratePkceCodes,n);const r=p(we,g.Ak.GenerateCodeVerifier,t,e,n)(e,t,n);return{verifier:r,challenge:await m(Ee,g.Ak.GenerateCodeChallengeFromVerifier,t,e,n)(r,e,t,n)}}function we(e,t,n){try{const r=new Uint8Array(32);p(ke.PP,g.Ak.GetRandomValues,t,e,n)(r);return(0,K.Wy)(r)}catch(r){throw(0,M.Z_)(B.vD)}}async function Ee(e,t,n,r){t.addQueueMeasurement(g.Ak.GenerateCodeChallengeFromVerifier,r);try{const o=await m(ke.Fv,g.Ak.Sha256Digest,n,t,r)(e,t,r);return(0,K.Wy)(new Uint8Array(o))}catch(o){throw(0,M.Z_)(B.vD)}}async function Re(e,t,n,r){n.addQueueMeasurement(g.Ak.InitializeBaseRequest,e.correlationId);const o=e.authority||t.auth.authority,i=[...e&&e.scopes||[]],a={...e,correlationId:e.correlationId,authority:o,scopes:i};if(a.authenticationScheme){if(a.authenticationScheme===c.hO.SSH){if(!e.sshJwk)throw(0,l.ei)(A.dK);if(!e.sshKid)throw(0,l.ei)(A.hI)}r.verbose(`Authentication Scheme set to "${a.authenticationScheme}" as configured in Auth request`)}else a.authenticationScheme=c.hO.BEARER,r.verbose('Authentication Scheme wasn\'t explicitly set in request, defaulting to "Bearer" request');return t.cache.claimsBasedCachingEnabled&&e.claims&&!E.x.isEmptyObj(e.claims)&&(a.requestedClaimsHash=await(0,ke.Wu)(e.claims)),a}async function be(e,t,n,r,o){r.addQueueMeasurement(g.Ak.InitializeSilentRequest,e.correlationId);const i=await m(Re,g.Ak.InitializeBaseRequest,o,r,e.correlationId)(e,n,r,o);return{...e,...i,account:t,forceRefresh:e.forceRefresh||!1}}class Pe extends _e{async initializeAuthorizationCodeRequest(e){this.performanceClient.addQueueMeasurement(g.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.correlationId);const t=await m(Se,g.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}
1initializeLogoutRequest(e){this.logger.verbose("initializeLogoutRequest called",e?.correlationId);const t={correlationId:this.correlationId||(0,ke.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=a.G.getAbsoluteUrl(e.postLogoutRedirectUri,$())):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=a.G.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri,$())):(this.logger.verbose("Setting postLogoutRedirectUri to current page",t.correlationId),t.postLogoutRedirectUri=a.G.getAbsoluteUrl($(),$())),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,r){this.performanceClient.addQueueMeasurement(g.Ak.StandardInteractionClientCreateAuthCodeClient,this.correlationId);const o=await m(this.getClientConfiguration.bind(this),g.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e,t,n,r);return new Ae(o,this.performanceClient)}async getClientConfiguration(e,t,n,r){this.performanceClient.addQueueMeasurement(g.Ak.StandardInteractionClientGetClientConfiguration,this.correlationId);const o=await m(this.getDiscoveredAuthority.bind(this),g.Ak.StandardInteractionClientGetDiscoveredAuthority,this.logger,this.performanceClient,this.correlationId)(t,n,r),i=this.config.system.loggerOptions;return{authOptions:{clientId:this.config.auth.clientId,authority:o,clientCapabilities:this.config.auth.clientCapabilities},systemOptions:{tokenRenewalOffsetSeconds:this.config.system.tokenRenewalOffsetSeconds,preventCorsPreflight:!0},loggerOptions:{loggerCallback:i.loggerCallback,piiLoggingEnabled:i.piiLoggingEnabled,logLevel:i.logLevel,correlationId:this.correlationId},cacheOptions:{claimsBasedCachingEnabled:this.config.cache.claimsBasedCachingEnabled},cryptoInterface:this.browserCrypto,networkInterface:this.networkClient,storageInterface:this.browserStorage,serverTelemetryManager:e,libraryInfo:{sku:q.qx.MSAL_SKU,version:ve.i,cpu:c.gT.EMPTY_STRING,os:c.gT.EMPTY_STRING},telemetry:this.config.telemetry}}async initializeAuthorizationRequest(e,t){this.performanceClient.addQueueMeasurement(g.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.correlationId);const n=this.getRedirectUri(e.redirectUri),r={interactionType:t},o=R.setRequestState(this.browserCrypto,e&&e.state||c.gT.EMPTY_STRING,r),i={...await m(Re,g.Ak.InitializeBaseRequest,this.logger,this.performanceClient,this.correlationId)({...e,correlationId:this.correlationId},this.config,this.performanceClient,this.logger),redirectUri:n,state:o,nonce:e.nonce||(0,ke.nn)(),responseMode:this.config.auth.OIDCOptions.serverResponseType},a=e.account||this.browserStorage.getActiveAccount();if(a&&(this.logger.verbose("Setting validated request account",this.correlationId),this.logger.verbosePii(`Setting validated request account: ${a.homeAccountId}`,this.correlationId),i.account=a),!i.loginHint&&!a){const e=this.browserStorage.getLegacyLoginHint();e&&(i.loginHint=e)}return i}}var Oe=n(41886);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 C.l4{constructor(e,t,n){super(e,t),Object.setPrototypeOf(this,qe.prototype),this.name="NativeAuthError",this.ext=n}}function He(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 Le(e,t,n){if(n&&n.status)switch(n.status){case"ACCOUNT_UNAVAILABLE":return(0,k.ip)(S.QP);case"USER_INTERACTION_REQUIRED":return new k.Yo(e,t);case"USER_CANCEL":return(0,M.Z_)(B.h7);case"NO_NETWORK":return(0,M.Z_)(B.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(g.Ak.RefreshTokenClientAcquireToken,e.correlationId);const t=(0,ue.HY)(),n=await m(this.executeTokenRequest.bind(this),g.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),m(o.handleServerTokenResponse.bind(o),g.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,l.ei)(A.dL);if(this.performanceClient?.addQueueMeasurement(g.Ak.RefreshTokenClientAcquireTokenByRefreshToken,e.correlationId),!e.account)throw(0,s.zP)(y.D7);if(this.cacheManager.isAppMetadataFOCI(e.account.environment))try{return await m(this.acquireTokenWithCachedRefreshToken.bind(this),g.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!0)}catch(t){const n=t instanceof k.Yo&&t.errorCode===S.I2,r=t instanceof X.n&&t.errorCode===c.D1.INVALID_GRANT_ERROR&&t.subError===c.D1.CLIENT_MISMATCH_ERROR;if(n||r)return m(this.acquireTokenWithCachedRefreshToken.bind(this),g.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1);throw t}return m(this.acquireTokenWithCachedRefreshToken.bind(this),g.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,this.logger,this.performanceClient,e.correlationId)(e,!1)}async acquireTokenWithCachedRefreshToken(e,t){this.performanceClient?.addQueueMeasurement(g.Ak.RefreshTokenClientAcquireTokenWithCachedRefreshToken,e.correlationId);const n=p(this.cacheManager.getRefreshToken.bind(this.cacheManager),g.Ak.CacheManagerGetRefreshToken,this.logger,this.performanceClient,e.correlationId)(e.account,t,void 0,this.performanceClient,e.correlationId);if(!n)throw(0,k.ip)(S.I2);
1if(n.expiresOn&&(0,ue.pw)(n.expiresOn,e.refreshTokenExpirationOffsetSeconds||300))throw(0,k.ip)(S.Tw);const r={...e,refreshToken:n.secret,authenticationScheme:e.authenticationScheme||c.hO.BEARER,ccsCredential:{credential:e.account.homeAccountId,type:b}};try{return await m(this.acquireToken.bind(this),g.Ak.RefreshTokenClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(r)}catch(o){if(o instanceof k.Yo&&o.subError===S.nl){this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache");const e=(0,T.Mk)(n);this.cacheManager.removeRefreshToken(e)}throw o}}async executeTokenRequest(e,t){this.performanceClient?.addQueueMeasurement(g.Ak.RefreshTokenClientExecuteTokenRequest,e.correlationId);const n=this.createTokenQueryParameters(e),r=a.G.appendQueryString(t.tokenEndpoint,n),o=await m(this.createTokenRequestBody.bind(this),g.Ak.RefreshTokenClientCreateTokenRequestBody,this.logger,this.performanceClient,e.correlationId)(e),i=this.createTokenRequestHeaders(e.ccsCredential),s={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 m(this.executePostToTokenEndpoint.bind(this),g.Ak.RefreshTokenClientExecutePostToTokenEndpoint,this.logger,this.performanceClient,e.correlationId)(r,o,i,s,e.correlationId,g.Ak.RefreshTokenClientExecutePostToTokenEndpoint)}async createTokenRequestBody(e){this.performanceClient?.addQueueMeasurement(g.Ak.RefreshTokenClientCreateTokenRequestBody,e.correlationId);const t=e.correlationId,n=new ae.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,te.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 m(t.generateCnf.bind(t),g.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,l.ei)(A.dK);n.addSshJwk(e.sshJwk)}if((!E.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 b:try{const t=(0,ie.j)(e.ccsCredential.credential);n.addCcsOid(t)}catch(r){this.logger.verbose("Could not parse home account ID for CCS Header: "+r)}break;case P: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,scopes:e.scopes?.length?e.scopes:[...c.f_]});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 s.er&&t.errorCode===y.s$){return new Ue(this.config,this.performanceClient).acquireTokenByRefreshToken(e)}throw t}}async acquireCachedToken(e){this.performanceClient?.addQueueMeasurement(g.Ak.SilentFlowClientAcquireCachedToken,e.correlationId);let t=c.To.NOT_APPLICABLE;if(e.forceRefresh||!this.config.cacheOptions.claimsBasedCachingEnabled&&!E.x.isEmptyObj(e.claims))throw this.setCacheOutcome(c.To.FORCE_REFRESH_OR_CLAIMS,e.correlationId),(0,s.zP)(y.s$);if(!e.account)throw(0,s.zP)(y.D7);const n=e.account.tenantId||function(e){const t=new a.G(e).getUrlComponents().PathSegments.slice(-1)[0]?.toLowerCase();switch(t){case c.Nb.COMMON:case c.Nb.ORGANIZATIONS:case c.Nb.CONSUMERS:return;default:return t}}(e.authority),r=this.cacheManager.getTokenKeys(),o=this.cacheManager.getAccessToken(e.account,e,r,n,this.performanceClient,e.correlationId);if(!o)throw this.setCacheOutcome(c.To.NO_CACHED_ACCESS_TOKEN,e.correlationId),(0,s.zP)(y.s$);
1if((0,ue.jx)(o.cachedAt)||(0,ue.pw)(o.expiresOn,this.config.systemOptions.tokenRenewalOffsetSeconds))throw this.setCacheOutcome(c.To.CACHED_ACCESS_TOKEN_EXPIRED,e.correlationId),(0,s.zP)(y.s$);o.refreshOn&&(0,ue.pw)(o.refreshOn,0)&&(t=c.To.PROACTIVELY_REFRESHED);const i=e.authority||this.authority.getPreferredCache(),h={account:this.cacheManager.readAccountFromCache(e.account),accessToken:o,idToken:this.cacheManager.getIdToken(e.account,r,n,this.performanceClient,e.correlationId),refreshToken:null,appMetadata:this.cacheManager.readAppMetadataFromCache(i)};return this.setCacheOutcome(t,e.correlationId),this.config.serverTelemetryManager&&this.config.serverTelemetryManager.incrementCacheHits(),[await m(this.generateResultFromCacheRecord.bind(this),g.Ak.SilentFlowClientGenerateResultFromCacheRecord,this.logger,this.performanceClient,e.correlationId)(h,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(g.Ak.SilentFlowClientGenerateResultFromCacheRecord,t.correlationId),e.idToken&&(n=(0,O.Z_)(e.idToken.secret,this.config.cryptoInterface.base64Decode)),t.maxAge||0===t.maxAge){const e=n?.auth_time;if(!e)throw(0,s.zP)(y.w7);(0,O.ky)(e,t.maxAge)}return Ce.generateAuthenticationResult(this.cryptoUtils,this.authority,e,!0,t,n)}}class Fe extends Pe{async acquireToken(e){this.performanceClient.addQueueMeasurement(g.Ak.SilentCacheClientAcquireToken,e.correlationId);const t=this.initializeServerTelemetryManager(q.WN.acquireTokenSilent_silentFlow),n=await m(this.getClientConfiguration.bind(this),g.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(t,e.authority,e.azureCloudOptions,e.account),r=new De(n,this.performanceClient);this.logger.verbose("Silent auth client created");try{const t=(await m(r.acquireCachedToken.bind(r),g.Ak.SilentFlowClientAcquireCachedToken,this.logger,this.performanceClient,e.correlationId)(e))[0];return this.performanceClient.addFields({fromCache:!0},e.correlationId),t}catch(o){throw o instanceof M.Ut&&o.errorCode===B.XM&&this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair."),o}}logout(e){this.logger.verbose("logoutRedirect called");const t=this.initializeLogoutRequest(e);return this.clearCacheOnLogout(t?.account)}}const xe="brk_client_id",Ke="brk_redirect_uri";class Be extends _e{constructor(e,t,n,r,o,i,a,s,c,h,l,u){super(e,t,n,r,o,i,s,c,u),this.apiId=a,this.accountId=h,this.nativeMessageHandler=c,this.nativeStorageManager=l,this.silentCacheClient=new Fe(e,this.nativeStorageManager,n,r,o,i,s,c,u)}async acquireToken(e){this.performanceClient.addQueueMeasurement(g.Ak.NativeInteractionClientAcquireToken,e.correlationId),this.logger.trace("NativeInteractionClient - acquireToken called.");const t=this.performanceClient.startMeasurement(g.Ak.NativeInteractionClientAcquireToken,e.correlationId),n=ue.HY(),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(s){this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call")}const o={method:q.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,s.zP)(y.cX);const n=this.browserStorage.getBaseAccountInfo({nativeAccountId:e});if(!n)throw(0,s.zP)(y.cX);
1try{const e=this.createSilentCacheRequest(t,n),r=await this.silentCacheClient.acquireToken(e),o={...n,idTokenClaims:r?.idTokenClaims,idToken:r?.idToken};return{...r,account:o}}catch(r){throw r}}async acquireTokenRedirect(e){this.logger.trace("NativeInteractionClient - acquireTokenRedirect called.");const t=await this.initializeNativeRequest(e),n={method:q.Ky.GetToken,request:t};try{const e=await this.nativeMessageHandler.sendMessage(n);this.validateNativeResponse(e)}catch(i){if(i instanceof qe&&He(i))throw i}this.browserStorage.setTemporaryCache(q.c4.NATIVE_REQUEST,JSON.stringify(t),!0);const r={apiId:q.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(e,t){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 n=this.browserStorage.getCachedNativeRequest();if(!n)return this.logger.verbose("NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null."),e&&t&&e?.addFields({errorCode:"no_cached_request"},t),null;const{prompt:r,...o}=n;r&&this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, removing prompt from cached request to prevent second interaction with native broker window."),this.browserStorage.removeItem(this.browserStorage.generateCacheKey(q.c4.NATIVE_REQUEST));const i={method:q.Ky.GetToken,request:o},a=ue.HY();try{this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");const e=await this.nativeMessageHandler.sendMessage(i);this.validateNativeResponse(e);const t=this.handleNativeResponse(e,o,a);return this.browserStorage.setInteractionInProgress(!1),await t}catch(s){throw this.browserStorage.setInteractionInProgress(!1),s}}logout(){return this.logger.trace("NativeInteractionClient - logout called."),Promise.reject("Logout not implemented yet")}async handleNativeResponse(e,t,n){this.logger.trace("NativeInteractionClient - handleNativeResponse called.");const r=O.Z_(e.id_token,x.t),o=this.createHomeAccountIdentifier(e,r),i=this.browserStorage.getAccountInfoFilteredBy({nativeAccountId:t.accountId})?.homeAccountId;if(o!==i&&e.account.id!==t.accountId)throw Le(Ne);const a=await this.getDiscoveredAuthority(t.authority),s=Te(this.browserStorage,a,o,r,x.t,e.client_info,void 0,r.tid,void 0,e.account.id,this.logger),c=await this.generateAuthenticationResult(e,t,r,s,a.canonicalAuthority,n);return this.cacheAccount(s),this.cacheNativeTokens(e,t,o,r,c.accessToken,c.tenantId,n),c}createHomeAccountIdentifier(e,t){return _.r.generateHomeAccountId(e.client_info||c.gT.EMPTY_STRING,i.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,s.zP)(y.Of);return n.signPopToken(e.access_token,t.keyId,r)}return e.access_token}async generateAuthenticationResult(e,t,n,r,o,i){const a=this.addTelemetryFromNativeResponse(e),s=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,e.id_token);d.nativeAccountId!==e.account.id&&(d.nativeAccountId=e.account.id);const 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:s.asArray(),account:d,idToken:e.id_token,idTokenClaims:n,accessToken:g,fromCache:!!a&&this.isResponseFromCache(a),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,a){const s=T.Md(n,t.authority,e.id_token||"",t.clientId,r.tid||""),h=a+(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=T.Ds(n,t.authority,o,t.clientId,r.tid||i,l.printScopes(),h,0,x.t),d=new N(void 0,s,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_
1start,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,C.MD)(Oe.g,"Response missing expected properties.")}getMATSFromResponse(e){if(e.properties.MATS)try{return JSON.parse(e.properties.MATS)}catch(t){this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead")}return null}isResponseFromCache(e){return"undefined"===typeof 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.getDiscoveredAuthority(t,e.azureCloudOptions,e.account);const n=new a.G(t);n.validateAsUri();const{scopes:r,...o}=e,i=new le.i(r||[]);i.appendScopes(c.f_);const s={...o,accountId:this.accountId,clientId:this.config.auth.clientId,authority:n.urlString,scope:i.printScopes(),redirectUri:this.getRedirectUri(e.redirectUri),prompt:(()=>{switch(this.apiId){case q.WN.ssoSilent:case q.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,M.Z_)(B.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(s),s.extraParameters=s.extraParameters||{},s.extraParameters.telemetry=q.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 m(n.generateCnf.bind(n),g.Ak.PopTokenGenerateCnf,this.logger,this.performanceClient,this.correlationId)(t,this.logger);s.reqCnf=r.reqCnfHash,s.keyId=r.kid}return s}handleExtraBrokerParams(e){if(e.extraParameters&&e.extraParameters.hasOwnProperty(xe)&&e.extraParameters.hasOwnProperty(Ke)&&e.extraParameters.hasOwnProperty(he.Cx)){const t=e.extraParameters[he.Cx],n=e.redirectUri,r=e.extraParameters[Ke];e.extraParameters={child_client_id:t,child_redirect_uri:n},e.redirectUri=r}}}class Ge{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(g.Ak.NativeMessageHandlerHandshake)}async sendMessage(e){this.logger.trace("NativeMessageHandler - sendMessage called.");const t={channel:q.BD.CHANNEL_ID,extensionId:this.extensionId,responseId:(0,ke.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 Ge(e,t,n,q.BD.PREFERRED_EXTENSION_ID);
1return await r.sendHandshakeRequest(),r}catch(r){const o=new Ge(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:q.BD.CHANNEL_ID,extensionId:this.extensionId,responseId:(0,ke.nn)(),body:{method:q.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,M.Z_)(B.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===q.BD.CHANNEL_ID&&(!t.extensionId||t.extensionId===this.extensionId)&&t.body.method===q.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} 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,M.Z_)(B.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===q.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(Le(e.code,e.description,e.ext));else{if(!e.result)throw(0,C.MD)(Oe.g,"Event does not contain result.");e.result.code&&e.result.description?n.reject(Le(e.result.code,e.result.description,e.result.ext)):n.resolve(e.result)}this.resolvers.delete(t.responseId)}else if(e===q.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(o){this.logger.error("Error parsing response from WAM Extension"),this.logger.errorPii(`Error parsing response from WAM Extension: ${o}`),this.logger.errorPii(`Unable to parse ${e}`),n?n.reject(o):r&&r.reject(o)}}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 ze{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(g.Ak.HandleCodeResponse,t.correlationId);try{n=this.authModule.handleFragmentResponse(e,t.state)}catch(r){throw r instanceof X.n&&r.subError===B.h7?(0,M.Z_)(B.h7):r}return m(this.handleCodeResponseFromServer.bind(this),g.Ak.HandleCodeResponseFromServer,this.logger,this.performanceClient,t.correlationId)(n,t)}async handleCodeResponseFromServer(e,t,n=!0){if(this.performanceClient.addQueueMeasurement(g.Ak.HandleCodeResponseFromServer,t.correlationId),this.logger.trace("InteractionHandler.handleCodeResponseFromServer called"),this.authCodeRequest.code=e.code,e.cloud_instance_host_name&&await m(this.authModule.updateAuthority.bind(this.authModule),g.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 m(this.authModule.acquireToken.bind(this.authModule),g.Ak.AuthClientAcquireToken,this.logger,this.performanceClient,t.correlationId)(this.authCodeRequest,e)}createCcsCredentials(e){return e.account?{credential:e.account.homeAccountId,type:b}:e.loginHint?{credential:e.loginHint,type:P}:null}}var $e=n(1002);function We(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,M.Z_)(B.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,M.Z_)(B.nF));return r}class Qe extends Pe{constructor(e,t,n,r,o,i,a,s,c,h){super(e,t,n,r,o,i,a,c,h),this.unloadWindow=this.unloadWindow.bind(this),this.nativeStorage=s}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(t){return Promise.reject(t)}}logout(e){try{this.logger.verbose("logoutPopup called");
1const 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(t){return Promise.reject(t)}}async acquireTokenPopupAsync(e,t,n,r){this.logger.verbose("acquireTokenPopupAsync called");const o=this.initializeServerTelemetryManager(q.WN.acquireTokenPopup),i=await m(this.initializeAuthorizationRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,q.s_.Popup);j(i.authority);try{const a=await m(this.initializeAuthorizationCodeRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(i),s=await m(this.createAuthCodeClient.bind(this),g.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(o,i.authority,i.azureCloudOptions,i.account),c=Ge.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme);let h;c&&(h=this.performanceClient.startMeasurement(g.Ak.FetchAccountIdWithNativeBroker,e.correlationId));const l=await s.getAuthCodeUrl({...i,nativeBroker:c}),u=new ze(s,this.browserStorage,a,this.logger,this.performanceClient),d={popup:r,popupName:t,popupWindowAttributes:n},f=this.initiateAuthRequest(l,d);this.eventHandler.emitEvent(J.t.POPUP_OPENED,q.s_.Popup,{popupWindow:f},null);const C=await this.monitorPopupForHash(f),T=p(We,g.Ak.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(C,this.config.auth.OIDCOptions.serverResponseType,this.logger);if(ee.removeThrottle(this.browserStorage,this.config.auth.clientId,a),T.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),h&&h.end({success:!0,isNativeBroker:!0}),!this.nativeMessageHandler)throw(0,M.Z_)(B.V7);const e=new Be(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,q.WN.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,T.accountId,this.nativeStorage,i.correlationId),{userRequestState:t}=R.parseRequestState(this.browserCrypto,i.state);return await e.acquireToken({...i,state:t,prompt:void 0})}return await u.handleCodeResponse(T,i)}catch(a){throw r&&r.close(),a instanceof C.l4&&(a.setCorrelationId(this.correlationId),o.cacheFailedRequest(a)),a}}async logoutPopupAsync(e,t,n,r,o,i){this.logger.verbose("logoutPopupAsync called"),this.eventHandler.emitEvent(J.t.LOGOUT_START,q.s_.Popup,e);const s=this.initializeServerTelemetryManager(q.WN.logoutPopup);try{await this.clearCacheOnLogout(e.account);const c=await m(this.createAuthCodeClient.bind(this),g.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(s,r,void 0,e.account||void 0);try{c.authority.endSessionEndpoint}catch{if(e.account?.homeAccountId&&e.postLogoutRedirectUri&&c.authority.protocolMode===u.A.OIDC){if(this.browserStorage.removeAccount(e.account?.homeAccountId),this.eventHandler.emitEvent(J.t.LOGOUT_SUCCESS,q.s_.Popup,e),i){const e={apiId:q.WN.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=a.G.getAbsoluteUrl(i,$());await this.navigationClient.navigateInternal(t,e)}return void(o&&o.close())}}const h=c.getLogoutUri(e);this.eventHandler.emitEvent(J.t.LOGOUT_SUCCESS,q.s_.Popup,e);const l=this.openPopup(h,{popupName:t,popupWindowAttributes:n,popup:o});if(this.eventHandler.emitEvent(J.t.POPUP_OPENED,q.s_.Popup,{popupWindow:l},null),await this.monitorPopupForHash(l).catch((()=>{})),i){const e={apiId:q.WN.logoutPopup,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},t=a.G.getAbsoluteUrl(i,$());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(c){throw o&&o.close(),c instanceof C.l4&&(c.setCorrelationId(this.correlationId),s.cacheFailedRequest(c)),this.browserStorage.setInteractionInProgress(!1),this.eventHandler.emitEvent(J.t.LOGOUT_FAILURE,q.s_.Popup,null,c),this.eventHandler.emitEvent(J.t.LOGOUT_END,q.s_.Popup),c}this.eventHandler.emitEvent(J.t.LOGOUT_END,q.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,M.Z_)(B._c)}monitorPopupForHash(e){return new Promise(((t,n)=>{this.logger.verbose("PopupHandler.monitorPopupForHash - polling started");const r=setInterval((()=>
1{if(e.closed)return this.logger.error("PopupHandler.monitorPopupForHash - window closed"),clearInterval(r),void n((0,M.Z_)(B.h7));let o="";try{o=e.location.href}catch(s){}if(!o||"about:blank"===o)return;clearInterval(r);let i="";const a=this.config.auth.OIDCOptions.serverResponseType;e&&(i=a===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)):"undefined"===typeof t.popup&&(this.logger.verbosePii(`Opening popup window to: ${e}`),n=this.openSizedPopup(e,t.popupName,t.popupWindowAttributes)),!n)throw(0,M.Z_)(B.H);return n.focus&&n.focus(),this.currentWindow=n,window.addEventListener("beforeunload",this.unloadWindow),n}catch(n){throw this.logger.error("error opening popup "+n.message),this.browserStorage.setInteractionInProgress(!1),(0,M.Z_)(B.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,a=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;let s=n.popupSize?.width,c=n.popupSize?.height,h=n.popupPosition?.top,l=n.popupPosition?.left;return(!s||s<0||s>i)&&(this.logger.verbose("Default popup window width used. Window width not configured or invalid."),s=q.qx.POPUP_WIDTH),(!c||c<0||c>a)&&(this.logger.verbose("Default popup window height used. Window height not configured or invalid."),c=q.qx.POPUP_HEIGHT),(!h||h<0||h>a)&&(this.logger.verbose("Default popup window top position used. Window top not configured or invalid."),h=Math.max(0,a/2-q.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-q.qx.POPUP_WIDTH/2+r)),window.open(e,t,`width=${s}, height=${c}, top=${h}, left=${l}, scrollbars=yes`)}unloadWindow(e){this.browserStorage.cleanRequestByInteractionType(q.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`${q.qx.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${e.join("-")}.${t}.${this.correlationId}`}generateLogoutPopupName(e){const t=e.account&&e.account.homeAccountId;return`${q.qx.POPUP_NAME_PREFIX}.${this.config.auth.clientId}.${t}.${this.correlationId}`}}class Ye{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(q.c4.ORIGIN_URI,t.redirectStartPage,!0)),this.browserStorage.setTemporaryCache(q.c4.CORRELATION_ID,this.authCodeRequest.correlationId,!0),this.browserStorage.cacheCodeRequest(this.authCodeRequest),this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${e}`);const n={apiId:q.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,M.Z_)(B._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,s.zP)(y.LV,"Cached State");let o;try{o=this.authModule.handleFragmentResponse(e,r)}catch(h){throw h instanceof X.n&&h.subError===B.h7?(0,M.Z_)(B.h7):h}const i=this.browserStorage.generateNonceKey(r),a=this.browserStorage.getTemporaryCache(i);if(this.authCodeRequest.code=o.code,o.cloud_instance_host_name&&await m(this.authModule.updateAuthority.bind(this.authModule),g.Ak.UpdateTokenEndpointAuthority,this.logger,this.performanceClient,this.authCodeRequest.correlationId)(o.cloud_instance_host_name,this.authCodeRequest.correlationId),o.nonce=a||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 c=await this.authModule.acquireToken(this.authCodeRequest,o);return this.browserStorage.cleanRequestByState(t),c}checkCcsCredentials(){const e=this.browserStorage.getTemporaryCache(q.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 
1credential could not be parsed: ${e}`)}return null}}class Ve extends Pe{constructor(e,t,n,r,o,i,a,s,c,h){super(e,t,n,r,o,i,a,c,h),this.nativeStorage=s}async acquireToken(e){const t=await m(this.initializeAuthorizationRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,this.correlationId)(e,q.s_.Redirect);this.browserStorage.updateCacheEntries(t.state,t.nonce,t.authority,t.loginHint||"",t.account||null);const n=this.initializeServerTelemetryManager(q.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,q.s_.Redirect))};try{const o=await m(this.initializeAuthorizationCodeRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,this.correlationId)(t),i=await m(this.createAuthCodeClient.bind(this),g.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(n,t.authority,t.azureCloudOptions,t.account),a=new Ye(i,this.browserStorage,o,this.logger,this.performanceClient),s=await i.getAuthCodeUrl({...t,nativeBroker:Ge.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,e.authenticationScheme)}),c=this.getRedirectStartPage(e.redirectStartPage);return this.logger.verbosePii(`Redirect start page: ${c}`),window.addEventListener("pageshow",r),await a.initiateAuthRequest(s,{navigationClient:this.navigationClient,redirectTimeout:this.config.system.redirectNavigationTimeout,redirectStartPage:c,onRedirectNavigate:e.onRedirectNavigate})}catch(o){throw o instanceof C.l4&&(o.setCorrelationId(this.correlationId),n.cacheFailedRequest(o)),window.removeEventListener("pageshow",r),this.browserStorage.cleanRequestByState(t.state),o}}async handleRedirectPromise(e,t,n){const r=this.initializeServerTelemetryManager(q.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[o,i]=this.getRedirectResponse(e||"");if(!o)return this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache."),this.browserStorage.cleanRequestByInteractionType(q.s_.Redirect),t&&n&&t?.addFields({errorCode:"no_server_response"},n),null;const s=this.browserStorage.getTemporaryCache(q.c4.ORIGIN_URI,!0)||c.gT.EMPTY_STRING,h=a.G.removeHashFromUrl(s);if(h===a.G.removeHashFromUrl(window.location.href)&&this.config.auth.navigateToLoginRequestUrl){this.logger.verbose("Current page is loginRequestUrl, handling response"),s.indexOf("#")>-1&&function(e){const t=e.split("#");t.shift(),window.location.hash=t.length>0?t.join("#"):""}(s);return await this.handleResponse(o,r)}if(!this.config.auth.navigateToLoginRequestUrl)return this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response"),await this.handleResponse(o,r);if(!z()||this.config.system.allowRedirectInIframe){this.browserStorage.setTemporaryCache(q.c4.URL_HASH,i,!0);const e={apiId:q.WN.handleRedirectPromise,timeout:this.config.system.redirectNavigationTimeout,noHistory:!0};let t=!0;if(s&&"null"!==s)this.logger.verbose(`Navigating to loginRequestUrl: ${s}`),t=await this.navigationClient.navigateInternal(s,e);else{const n=function(){const e=new a.G(window.location.href).getUrlComponents();return`${e.Protocol}//${e.HostNameAndPort}/`}();this.browserStorage.setTemporaryCache(q.c4.ORIGIN_URI,n,!0),this.logger.warning("Unable to get valid login request url from cache, redirecting to home page"),t=await this.navigationClient.navigateInternal(n,e)}if(!t)return await this.handleResponse(o,r)}return null}catch(o){throw o instanceof C.l4&&(o.setCorrelationId(this.correlationId),r.cacheFailedRequest(o)),this.browserStorage.cleanRequestByInteractionType(q.s_.Redirect),o}}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,M.Z_)(B.Xk);const r=F(t,e.state);if(!r)throw(0,M.Z_)(B.$P);if(r.interactionType!==n)throw(0,M.Z_)(B.yK)}(n,this.browserCrypto,q.s_.Redirect)}catch(i){return i instanceof C.l4&&this.logger.error(`Interaction type validation failed due to ${i.errorCode}: ${i.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(q.c4.URL_HASH,!0);return this.browserStorage.removeItem(this.browserStorage.generateCacheKey(q.c4.URL_HASH)),o&&(n=$e.F(o),n)?(this.logger.verbose("Hash does not contain known properties, returning c
1ached hash"),[n,o]):[null,""]}async handleResponse(e,t){const n=e.state;if(!n)throw(0,M.Z_)(B.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,M.Z_)(B.V7);const t=new Be(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,q.WN.acquireTokenPopup,this.performanceClient,this.nativeMessageHandler,e.accountId,this.nativeStorage,r.correlationId),{userRequestState:o}=R.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,M.Z_)(B.dT);const i=await m(this.createAuthCodeClient.bind(this),g.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(t,o);ee.removeThrottle(this.browserStorage,this.config.auth.clientId,r);return new Ye(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(q.WN.logout);try{this.eventHandler.emitEvent(J.t.LOGOUT_START,q.s_.Redirect,e),await this.clearCacheOnLogout(t.account);const r={apiId:q.WN.logout,timeout:this.config.system.redirectNavigationTimeout,noHistory:!1},o=await m(this.createAuthCodeClient.bind(this),g.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,this.correlationId)(n,e&&e.authority,void 0,e&&e.account||void 0);if(o.authority.protocolMode===u.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,q.s_.Redirect,t)}const i=o.getLogoutUri(t);if(this.eventHandler.emitEvent(J.t.LOGOUT_SUCCESS,q.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(r){throw r instanceof C.l4&&(r.setCorrelationId(this.correlationId),n.cacheFailedRequest(r)),this.eventHandler.emitEvent(J.t.LOGOUT_FAILURE,q.s_.Redirect,null,r),this.eventHandler.emitEvent(J.t.LOGOUT_END,q.s_.Redirect),r}this.eventHandler.emitEvent(J.t.LOGOUT_END,q.s_.Redirect)}getRedirectStartPage(e){const t=e||window.location.href;return a.G.getAbsoluteUrl(t,$())}}var je=n(96196);async function Je(e,t,n,r,o){if(t.addQueueMeasurement(g.Ak.SilentHandlerInitiateAuthRequest,r),!e)throw n.info("Navigate url is empty"),(0,M.Z_)(B._c);return o?m(Xe,g.Ak.SilentHandlerLoadFrame,n,t,r)(e,o,t,r):p(et,g.Ak.SilentHandlerLoadFrameSync,n,t,r)(e)}async function Ze(e,t,n,r,o,i,a){return r.addQueueMeasurement(g.Ak.SilentHandlerMonitorIframeForHash,i),new Promise(((r,i)=>{t<je.Is&&o.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${t}ms) than the default (${je.Is}ms). This may result in timeouts.`);const s=window.setTimeout((()=>{window.clearInterval(h),i((0,M.Z_)(B.JA))}),t),h=window.setInterval((()=>{let t="";const n=e.contentWindow;try{t=n?n.location.href:""}catch(i){}if(!t||"about:blank"===t)return;let o="";n&&(o=a===c.rg.QUERY?n.location.search:n.location.hash),window.clearTimeout(s),window.clearInterval(h),r(o)}),n)})).finally((()=>{p(nt,g.Ak.RemoveHiddenIframe,o,r,i)(e)}))}function Xe(e,t,n,r){return n.addQueueMeasurement(g.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 Pe{constructor(e,t,n,r,o,i,a,s,c,h,l){super(e,t,n,r,o,i,s,h,l),this.apiId=a,this.nativeStorage=c}async acquireToken(e){this.performanceClient.addQueueMeasurement(g.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.");const t={...e};t.prompt?t.prompt!==c.NJ.NONE&&t.prompt!==c.NJ.NO_SESSION&&(this.logger.warning(`SilentIframeClient. Replacing invalid prompt ${t.prompt} with ${c.NJ.NONE}`),t.prompt=c.NJ.NONE):t.prompt=c.NJ.NONE;const n=await m(this.initializeAuthorizationRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(t,q.s_.Silent);j(n.authority);const r=this.initializeServerTelemetryManager(this.apiId);try{const t=await m(this.createAuthCodeClient.bind(this),g.Ak.StandardInteractionClientCreateAuthCodeClient,this.logger,this.performanceClient,e.correlationId)(r,n.authority,n.azureCloudOptions,n.account);return await m(this.silentTokenHelper.bind(this),g.Ak.SilentIframeClientTokenHelper,this.logger,this.performanceClient,e.correlationId)(t,n)}catch(o){throw o instanceof C.l4&&(o.setCorrelationId(this.correlationId),r.cacheFailedRequest(o)),o}}logout(){return Promise.reject((0,M.Z_)(B.I9))}async silentTokenHelper(e,t){const n=t.correlationId;this.performanceClient.addQueueMeasurement(g.Ak.SilentIframeClientTokenHelper,n);const r=await m(this.initializeAuthorizationCodeRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationCodeRequest,this.logger,this.performanceClient,n)(t),o=await m(e.getAuthCodeUrl.bind(e),g.Ak.GetAuthCodeUrl,this.logger,this.performanceClient,n)({...t,nativeBroker:Ge.isNativeAvailable(this.config,this.logger,this.nativeMessageHandler,t.authenticationScheme)}),i=new ze(e,this.browserStorage,r,this.logger,this.performanceClient),a=await m(Je,g.Ak.SilentHandlerInitiateAuthRequest,this.logger,this.performanceClient,n)(o,this.performanceClient,this.logger,n,this.config.system.navigateFrameWait),s=this.config.auth.OIDCOptions.serverResponseType,h=await m(Ze,g.Ak.SilentHandlerMonitorIframeForHash,this.logger,this.performanceClient,n)(a,this.config.system.iframeHashTimeout,this.config.system.pollIntervalMilliseconds,this.performanceClient,this.logger,n,s),l=p(We,g.Ak.DeserializeResponse,this.logger,this.performanceClient,this.correlationId)(h,s,this.logger);
1if(l.accountId){if(this.logger.verbose("Account id found in hash, calling WAM for token"),!this.nativeMessageHandler)throw(0,M.Z_)(B.V7);const e=new Be(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.apiId,this.performanceClient,this.nativeMessageHandler,l.accountId,this.browserStorage,n),{userRequestState:r}=R.parseRequestState(this.browserCrypto,t.state);return m(e.acquireToken.bind(e),g.Ak.NativeInteractionClientAcquireToken,this.logger,this.performanceClient,n)({...t,state:r,prompt:t.prompt||c.NJ.NONE})}return m(i.handleCodeResponse.bind(i),g.Ak.HandleCodeResponse,this.logger,this.performanceClient,n)(l,t)}}class ot extends Pe{async acquireToken(e){this.performanceClient.addQueueMeasurement(g.Ak.SilentRefreshClientAcquireToken,e.correlationId);const t=await m(Re,g.Ak.InitializeBaseRequest,this.logger,this.performanceClient,e.correlationId)(e,this.config,this.performanceClient,this.logger),n={...e,...t};e.redirectUri&&(n.redirectUri=this.getRedirectUri(e.redirectUri));const r=this.initializeServerTelemetryManager(q.WN.acquireTokenSilent_silentFlow),o=await this.createRefreshTokenClient(r,n.authority,n.azureCloudOptions,n.account);return m(o.acquireTokenByRefreshToken.bind(o),g.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,M.Z_)(B.I9))}async createRefreshTokenClient(e,t,n,r){const o=await m(this.getClientConfiguration.bind(this),g.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,this.correlationId)(e,t,n,r);return new Ue(o,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,M.Z_)(B.Jd);const r=O.Z_(t.id_token,x.t);let o,i,a;if(e.account)a=_.r.createFromAccountInfo(e.account),o=new N(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,M.Z_)(B.Jd);{const s=I.generateAuthority(e.authority,e.azureCloudOptions),c={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(i=new I(s,this.config.system.networkClient,this.storage,c,this.logger,e.correlationId||(0,ke.nn)()),n.clientInfo)this.logger.trace("TokenCache - homeAccountId from options"),a=this.loadAccount(r,i,n.clientInfo),o=new N(a,this.loadIdToken(t.id_token,a.homeAccountId,i.hostnameAndPort,i.tenant),this.loadAccessToken(e,t,a.homeAccountId,i.hostnameAndPort,i.tenant,n),this.loadRefreshToken(e,t,a.homeAccountId,i.hostnameAndPort));else{if(!t.client_info)throw(0,M.Z_)(B.Jd);this.logger.trace("TokenCache - homeAccountId from response"),a=this.loadAccount(r,i,t.client_info),o=new N(a,this.loadIdToken(t.id_token,a.homeAccountId,i.hostnameAndPort,i.tenant),this.loadAccessToken(e,t,a.homeAccountId,i.hostnameAndPort,i.tenant,n),this.loadRefreshToken(e,t,a.homeAccountId,i.hostnameAndPort))}}}return this.generateAuthenticationResult(e,r,o,a,i)}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=_.r.generateHomeAccountId(n,t.authorityType,this.logger,this.cryptoObj,e)),!o)throw(0,M.Z_)(B.Jd);const i=e.tid,a=Te(this.storage,t,o,e,x.t,n,t.hostnameAndPort,i,void 0,void 0,this.logger);return this.storage.setAccount(a),a}throw(0,M.Z_)(B.Jd)}loadIdToken(e,t,n,r){const o=T.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,M.Z_)(B.Jd)}
1loadAccessToken(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,M.Z_)(B.Jd);if(!i.extendedExpiresOn)throw(0,M.Z_)(B.Jd);const a=new le.i(e.scopes).printScopes(),s=i.expiresOn||t.expires_in+(new Date).getTime()/1e3,c=i.extendedExpiresOn,h=T.Ds(n,r,t.access_token,this.config.auth.clientId,o,a,s,c,x.t);if(this.isBrowserEnvironment)return this.logger.verbose("TokenCache - loading access token"),this.storage.setAccessTokenCredential(h),h;throw(0,M.Z_)(B.Jd)}loadRefreshToken(e,t,n,r){if(!t.refresh_token)return this.logger.verbose("TokenCache - No refresh token provided for caching"),null;const o=T.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,M.Z_)(B.Jd)}generateAuthenticationResult(e,t,n,r,o){let i,a=c.gT.EMPTY_STRING,s=[],h=null;n?.accessToken&&(a=n.accessToken.secret,s=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:s,account:r.getAccountInfo(),idToken:n.idToken?.secret||"",idTokenClaims:t||{},accessToken:a,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 at extends Ae{constructor(e){super(e),this.includeRedirectUri=!1}}class st extends Pe{constructor(e,t,n,r,o,i,a,s,c,h){super(e,t,n,r,o,i,s,c,h),this.apiId=a}async acquireToken(e){if(!e.code)throw(0,M.Z_)(B.Aj);const t=await m(this.initializeAuthorizationRequest.bind(this),g.Ak.StandardInteractionClientInitializeAuthorizationRequest,this.logger,this.performanceClient,e.correlationId)(e,q.s_.Silent),n=this.initializeServerTelemetryManager(this.apiId);try{const r={...t,code:e.code},o=await m(this.getClientConfiguration.bind(this),g.Ak.StandardInteractionClientGetClientConfiguration,this.logger,this.performanceClient,e.correlationId)(n,t.authority,t.azureCloudOptions,t.account),i=new at(o);this.logger.verbose("Auth code client created");const a=new ze(i,this.browserStorage,r,this.logger,this.performanceClient);return await m(a.handleCodeResponseFromServer.bind(a),g.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(r){throw r instanceof C.l4&&(r.setCorrelationId(this.correlationId),n.cacheFailedRequest(r)),r}}logout(){return Promise.reject((0,M.Z_)(B.I9))}}class ct{constructor(e){this.operatingContext=e,this.isBrowserEnvironment=this.operatingContext.isBrowserEnvironment(),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 Z.b(this.logger,this.browserCrypto),this.browserStorage=this.isBrowserEnvironment?new G(this.config.auth.clientId,this.config.cache,this.browserCrypto,this.logger,function(e){const t=e.cloudDiscoveryMetadata;let n;if(t)try{n=JSON.parse(t)}catch(r){throw(0,l.ei)(A.E)}return{canonicalAuthority:e.authority?v(e.authority):void 0,knownAuthorities:e.knownAuthorities,cloudDiscoveryMetadata:n}}(this.config.auth)):((e,t)=>{const n={cacheLocation:q.Ix.MemoryStorage,temporaryCacheLocation:q.Ix.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};return new G(e,n,o.d,t)})(this.config.auth.clientId,this.logger);const t={cacheLocation:q.Ix.MemoryStorage,temporaryCacheLocation:q.Ix.MemoryStorage,storeAuthStateInCookie:!1,secureCookies:!1,cacheMigrationEnabled:!1,claimsBasedCachingEnabled:!1};this.nativeInternalStorage=new G(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(e){e&&(this.logger.info("Perf: Visibility change detected"),this.performanceClient.incrementFields({visibilityChangeCount:1},e))}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(g.Ak.InitializeClientApplication);if(this.eventHandler.emitEvent(J.t.INITIALIZE_START),e)try{this.nativeExtensionProvider=await Ge.createProvider(this.logger,this.config.system.nativeBrokerHandshakeTimeout,this.performanceClient)}catch(n){this.logger.verbose(n)}this.config.cache.claimsBasedCachingEnabled||(this.logger.verbose("Claims-based caching is disabled. Clearing the previous cache with claims"),await m(this.browserStorage.clearTokensAndKeysWithClaims.bind(this.browserStorage),g.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("undefined"===typeof r){const o=this.browserStorage.getCachedNativeRequest(),i=o&&Ge.isNativeAvailable(this.config,this.logger,this.nativeExtensionProvider)&&this.nativeExtensionProvider&&!e,a=i?o?.correlationId:this.browserStorage.getTemporaryCache(q.c4.CORRELATION_ID,!0)||"",s=this.performanceClient.startMeasurement("acquireTokenRedirect",a);let c;if(this.eventHandler.emitEvent(J.t.HANDLE_REDIRECT_START,q.s_.Redirect),this.logger.verbose("handleRedirectPromise has been called for the first time, storing the promise"),i&&this.nativeExtensionProvider){this.logger.trace("handleRedirectPromise - acquiring token from native platform");const e=new Be(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,q.WN.handleRedirectPromise,this.performanceClient,this.nativeExtensionProvider,o.accountId,this.nativeInternalStorage,o.correlationId);c=m(e.handleRedirectPromise.bind(e),g.Ak.HandleNativeRedirectPromiseMeasurement,this.logger,this.performanceClient,s.event.correlationId)(this.performanceClient,s.event.correlationId)}else{this.logger.trace("handleRedirectPromise - acquiring token from web flow");const t=this.createRedirectClient(a);c=m(t.handleRedirectPromise.bind(t),g.Ak.HandleRedirectPromiseMeasurement,this.logger,this.performanceClient,s.event.correlationId)(e,this.performanceClient,s.event.correlationId)}r=c.then((e=>{if(e){t.length<this.getAllAccounts().length?(this.eventHandler.emitEvent(J.t.LOGIN_SUCCESS,q.s_.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, login success")):(this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_SUCCESS,q.s_.Redirect,e),this.logger.verbose("handleRedirectResponse returned result, acquire token success")),s.end({success:!0})}return this.eventHandler.emitEvent(J.t.HANDLE_REDIRECT_END,q.s_.Redirect),s.end({success:!1}),e})).catch((e=>{const n=e;throw t.length>0?this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_FAILURE,q.s_.Redirect,null,n):this.eventHandler.emitEvent(J.t.LOGIN_FAILURE,q.s_.Redirect,null,n),this.eventHandler.emitEvent(J.t.HANDLE_REDIRECT_END,q.s_.Redirect),s.end({success:!1},n),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),V(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0);const n=this.getAllAccounts().length>0;let r;if(n?this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_START,q.s_.Redirect,e):this.eventHandler.emitEvent(J.t.LOGIN_START,q.s_.Redirect,e),this.nativeExtensionProvider&&this.canUseNative(e)){r=new Be(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,q.WN.acquireTokenRedirect,this.performanceClient,this.nativeExtensionProvider,this.getNativeAccountId(e),this.nativeInternalStorage,t).acquireTokenRedirect(e).catch((n=>{if(n instanceof qe&&He(n)){this.nativeExtensionProvider=void 0;return this.createRedirectClient(t).acquireToken(e)}if(n instanceof k.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.browserStorage.setInteractionInProgress(!1),n}))}else{r=this.createRedirectClient(t).acquireToken(e)}return r.catch((e=>{throw n?this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_FAILURE,q.s_.Redirect,null,e):this.eventHandler.emitEvent(J.t.LOGIN_FAILURE,q.s_.Redirect,null,e),e}))}acquireTokenPopup(e){const t=this.getRequestCorrelationId(e),n=this.performanceClient.startMeasurement(g.Ak.AcquireTokenPopup,t);try{this.logger.verbose("acquireTokenPopup called",t),Y(this.initialized),this.browserStorage.setInteractionInProgress(!0)}catch(i){return Promise.reject(i)}const r=this.getAllAccounts();let o;if(r.length>0?this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_START,q.s_.Popup,e):this.eventHandler.emitEvent(J.t.LOGIN_START,q.s_.Popup,e),this.canUseNative(e))o=this.acquireTokenNative({...e,correlationId:t},q.WN.acquireTokenPopup).then((e=>(this.browserStorage.setInteractionInProgress(!1),n.end({success:!0,isNativeBroker:!0,requestId:e.requestId}),e))).catch((n=>{if(n instanceof qe&&He(n)){this.nativeExtensionProvider=void 0;return this.createPopupClient(t).acquireToken(e)}if(n instanceof k.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.browserStorage.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,q.s_.Popup,e):this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_SUCCESS,q.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,q.s_.Popup,null,e):this.eventHandler.emitEvent(J.t.LOGIN_FAILURE,q.s_.Popup,null,e),n.end({success:!1},e),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(Y(this.initialized),this.ssoSilentMeasurement=this.performanceClient.startMeasurement(g.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,q.s_.Silent,n),this.canUseNative(n))r=this.acquireTokenNative(n,q.WN.ssoSilent).catch((e=>{if(e instanceof qe&&He(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,q.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,q.s_.Silent,null,e),this.ssoSilentMeasurement?.end({success:!1},e),e})).finally((()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)}))}async acquireTokenByCode(e){const t=this.getRequestCorrelationId(e);this.logger.trace("acquireTokenByCode called",t),Y(this.initialized),this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_BY_CODE_START,q.s_.Silent,e);const n=this.performanceClient.startMeasurement(g.Ak.AcquireTokenByCode,t);try{if(e.code&&e.nativeAccountId)throw(0,M.Z_)(B.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,q.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,q.s_.Silent,null,e),n.end({success:!1},e),e})),this.hybridAuthCodeResponses.set(r,o)),await o}
1if(e.nativeAccountId){if(this.canUseNative(e,e.nativeAccountId))return await this.acquireTokenNative({...e,correlationId:t},q.WN.acquireTokenByCode,e.nativeAccountId).catch((e=>{throw e instanceof qe&&He(e)&&(this.nativeExtensionProvider=void 0),e}));throw(0,M.Z_)(B.KA)}throw(0,M.Z_)(B.Dy)}catch(r){throw this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_BY_CODE_FAILURE,q.s_.Silent,null,r),n.end({success:!1},r),r}}async acquireTokenByCodeAsync(e){this.logger.trace("acquireTokenByCodeAsync called",e.correlationId),this.acquireTokenByCodeAsyncMeasurement=this.performanceClient.startMeasurement(g.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({success:!1},e),e})).finally((()=>{document.removeEventListener("visibilitychange",this.trackPageVisibilityWithMeasurement)}))}async acquireTokenFromCache(e,t){switch(this.performanceClient.addQueueMeasurement(g.Ak.AcquireTokenFromCache,e.correlationId),t){case q.lu.Default:case q.lu.AccessToken:case q.lu.AccessTokenAndRefreshToken:const t=this.createSilentCacheClient(e.correlationId);return m(t.acquireToken.bind(t),g.Ak.SilentCacheClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw(0,s.zP)(y.s$)}}async acquireTokenByRefreshToken(e,t){switch(this.performanceClient.addQueueMeasurement(g.Ak.AcquireTokenByRefreshToken,e.correlationId),t){case q.lu.Default:case q.lu.AccessTokenAndRefreshToken:case q.lu.RefreshToken:case q.lu.RefreshTokenAndNetwork:const t=this.createSilentRefreshClient(e.correlationId);return m(t.acquireToken.bind(t),g.Ak.SilentRefreshClientAcquireToken,this.logger,this.performanceClient,e.correlationId)(e);default:throw(0,s.zP)(y.s$)}}async acquireTokenBySilentIframe(e){this.performanceClient.addQueueMeasurement(g.Ak.AcquireTokenBySilentIframe,e.correlationId);const t=this.createSilentIframeClient(e.correlationId);return m(t.acquireToken.bind(t),g.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);V(this.initialized,this.config),this.browserStorage.setInteractionInProgress(!0);return this.createRedirectClient(t).logout(e)}logoutPopup(e){try{const t=this.getRequestCorrelationId(e);Y(this.initialized),this.browserStorage.setInteractionInProgress(!0);return this.createPopupClient(t).logout(e)}catch(t){return Promise.reject(t)}}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=_.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)}async acquireTokenNative(e,t,n){if(this.logger.trace("acquireTokenNative called"),!this.nativeExtensionProvider)throw(0,M.Z_)(B.V7);return new Be(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"),!Ge.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 Qe(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createRedirectClient(e){return new Ve(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,q.WN.ssoSilent,this.performanceClient,this.nativeInternalStorage,this.nativeExtensionProvider,e)}createSilentCacheClient(e){return new Fe(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 st(this.config,this.browserStorage,this.browserCrypto,this.logger,this.eventHandler,this.navigationClient,q.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}isBrowserEnv(){return this.isBrowserEnvironment}getEventHandler(){return this.eventHandler}getRequestCorrelationId(e){return e?.correlationId?e.correlationId:this.isBrowserEnvironment?(0,ke.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||q.yo})}loginPopup(e){const t=this.getRequestCorrelationId(e);return this.logger.verbose("loginPopup called",t),this.acquireTokenPopup({correlationId:t,...e||q.yo})}async acquireTokenSilent(e){const t=this.getRequestCorrelationId(e),n=this.performanceClient.startMeasurement(g.Ak.AcquireTokenSilent,t);n.add({cacheLookupPolicy:e.cacheLookupPolicy}),Y(this.initialized),this.logger.verbose("acquireTokenSilent called",t);const r=e.account||this.getActiveAccount();if(!r)throw(0,M.Z_)(B.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),a=this.activeSilentTokenRequests.get(i);if("undefined"===typeof a){this.logger.verbose("acquireTokenSilent called for the first time, storing active request",t);const o=m(this.acquireTokenSilentAsync.bind(this),g.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({success:!1},e),e}));return this.activeSilentTokenRequests.set(i,o),{...await o,state:e.state}}return this.logger.verbose("acquireTokenSilent has been called previously, returning the result from the first call",t),n.discard(),{...await a,state:e.state}}async acquireTokenSilentAsync(e,t){let n;if(this.performanceClient.addQueueMeasurement(g.Ak.AcquireTokenSilentAsync,e.correlationId),this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_START,q.s_.Silent,e),e.correlationId&&this.performanceClient.incrementFields({visibilityChangeCount:0},e.correlationId),document.addEventListener("visibilitychange",(()=>this.trackPageVisibility(e.correlationId))),Ge.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,q.WN.acquireTokenSilent_silentFlow).catch((async t=>{if(t instanceof qe&&He(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=await m(be,g.Ak.InitializeSilentRequest,this.logger,this.performanceClient,e.correlationId)(e,t,this.config,this.performanceClient,this.logger),o=e.cacheLookupPolicy||q.lu.Default;n=m(this.acquireTokenFromCache.bind(this),g.Ak.AcquireTokenFromCache,this.logger,this.performanceClient,r.correlationId)(r,o).catch((t=>
1{if(e.cacheLookupPolicy===q.lu.AccessToken)throw t;return this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_NETWORK_START,q.s_.Silent,r),m(this.acquireTokenByRefreshToken.bind(this),g.Ak.AcquireTokenByRefreshToken,this.logger,this.performanceClient,r.correlationId)(r,o).catch((e=>{const t=function(e,t,n){const r=!(e instanceof k.Yo&&e.subError!==S.nl),o=e.errorCode===q.qx.INVALID_GRANT_ERROR||e.errorCode===y.s$,i=r&&o||e.errorCode===S.I2||e.errorCode===S.Tw,a=q.se.includes(n);return i&&a}(e,0,o);if(t)return this.logger.verbose("Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.",r.correlationId),m(this.acquireTokenBySilentIframe.bind(this),g.Ak.AcquireTokenBySilentIframe,this.logger,this.performanceClient,r.correlationId)(r);throw e}))}))}return n.then((t=>(this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_SUCCESS,q.s_.Silent,t),e.correlationId&&this.performanceClient.addFields({fromCache:t.fromCache,isNativeBroker:t.fromNativeBroker,requestId:t.requestId},e.correlationId),t))).catch((e=>{throw this.eventHandler.emitEvent(J.t.ACQUIRE_TOKEN_FAILURE,q.s_.Silent,null,e),e})).finally((()=>{document.removeEventListener("visibilitychange",(()=>this.trackPageVisibility(e.correlationId)))}))}}},3292:function(e,t,n){n.d(t,{$5:function(){return A},Au:function(){return T},Fv:function(){return p},Mg:function(){return y},PP:function(){return m},Wu:function(){return v},Xx:function(){return I},nn:function(){return C},qz:function(){return g}});var r=n(74133),o=n(90177),i=n(2979),a=n(91259),s=n(40619);const c="SHA-256",h=new Uint8Array([1,0,1]),l="0123456789abcdef",u=new Uint32Array(1),d={name:"RSASSA-PKCS1-v1_5",hash:c,modulusLength:2048,publicExponent:h};function g(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 p(e,t,n){t?.addQueueMeasurement(o.Ak.Sha256Digest,n);const r=(new TextEncoder).encode(e);return window.crypto.subtle.digest(c,r)}function m(e){return window.crypto.getRandomValues(e)}function f(){return window.crypto.getRandomValues(u),u[0]}function C(){const e=Date.now(),t=1024*f()+(1023&f()),n=new Uint8Array(16),r=Math.trunc(t/2**30),o=t&2**30-1,i=f();n[0]=e/2**40,n[1]=e/2**32,n[2]=e/2**24,n[3]=e/65536,n[4]=e/256,n[5]=e,n[6]=112|r>>>8,n[7]=r,n[8]=128|o>>>24,n[9]=o>>>16,n[10]=o>>>8,n[11]=o,n[12]=i>>>24,n[13]=i>>>16,n[14]=i>>>8,n[15]=i;let a="";for(let s=0;s<n.length;s++)a+=l.charAt(n[s]>>>4),a+=l.charAt(15&n[s]),3!==s&&5!==s&&7!==s&&9!==s||(a+="-");return a}async function T(e,t){return window.crypto.subtle.generateKey(d,e,t)}async function y(e){return window.crypto.subtle.exportKey(i.Mm,e)}async function A(e,t,n){return window.crypto.subtle.importKey(i.Mm,e,d,t,n)}async function I(e,t){return window.crypto.subtle.sign(d,e,t)}async function v(e){const t=await p(e),n=new Uint8Array(t);return(0,a.Wy)(n)}},69111:function(e,t,n){n.d(t,{Q:function(){return I}});var r=n(90177),o=n(10536);const i="missing_kid_error",a="missing_alg_error",s={[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.",[a]:"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,s[e])}var l=n(49279);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(a);const t=new u({typ:e.typ||l.xd.Pop,kid:e.kid,alg:e.alg});return JSON.stringify(t)}}var d=n(91259),g=n(61237),p=n(3292),m=n(74133),f=n(2979),C=n(40619);class T{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;
1this.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),r=setTimeout((()=>t(!1)),200);n.addEventListener("success",(()=>(clearTimeout(r),e(!0)))),n.addEventListener("blocked",(()=>(clearTimeout(r),e(!0)))),n.addEventListener("error",(()=>(clearTimeout(r),t(!1))))}))}}var y=n(14759);class A{constructor(e){this.inMemoryCache=new y.k,this.indexedDBCache=new T,this.logger=e}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(n){this.handleDatabaseAccessError(n)}return t}async setItem(e,t){this.inMemoryCache.setItem(e,t);try{await this.indexedDBCache.setItem(e,t)}catch(n){this.handleDatabaseAccessError(n)}}async removeItem(e){this.inMemoryCache.removeItem(e);try{await this.indexedDBCache.removeItem(e)}catch(t){this.handleDatabaseAccessError(t)}}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(t){this.handleDatabaseAccessError(t)}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(n){this.handleDatabaseAccessError(n)}return t}clearInMemory(){this.logger.verbose("Deleting in-memory keystore"),this.inMemoryCache.clear(),this.logger.verbose("In-memory keystore deleted")}async 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}}}class I{constructor(e,t){this.logger=e,(0,p.qz)(e),this.cache=new A(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)(I.EXTRACTABLE,I.POP_KEY_USAGES),o=await(0,p.Mg)(n.publicKey),i=v({e:o.e,kty:o.kty,n:o.n}),a=await this.hashString(i),s=await(0,p.Mg)(n.privateKey),c=await(0,p.$5)(s,!1,["sign"]);return await this.cache.setItem(a,{privateKey:c,publicKey:n.publicKey,requestMethod:e.resourceRequestMethod,requestUri:e.resourceRequestUri}),t&&t.end({success:!0}),a}async removeTokenBindingKey(e){await this.cache.removeItem(e);return!(await this.cache.containsKey(e))}async clearKeystore(){this.cache.clearInMemory();
1try{return await this.cache.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}}async signJwt(e,t,n,o){const i=this.performanceClient?.startMeasurement(r.Ak.CryptoOptsSignJwt,o),a=await this.cache.getItem(t);if(!a)throw(0,m.Z_)(C.XM);const s=await(0,p.Mg)(a.publicKey),c=v(s),h=(0,d._j)(JSON.stringify({kid:t})),l=u.getShrHeaderString({...n?.header,alg:s.alg,kid:h}),g=(0,d._j)(l);e.cnf={jwk:JSON.parse(c)};const f=`${g}.${(0,d._j)(JSON.stringify(e))}`,T=(new TextEncoder).encode(f),y=await(0,p.Xx)(a.privateKey,T),A=`${f}.${(0,d.Wy)(new Uint8Array(y))}`;return i&&i.end({success:!0}),A}async hashString(e){return(0,p.Wu)(e)}}function v(e){return JSON.stringify(e,Object.keys(e).sort())}I.POP_KEY_USAGES=["sign","verify"],I.EXTRACTABLE=!0},61237:function(e,t,n){n.d(t,{t:function(){return i}});var r=n(74133),o=n(40619);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))}},91259:function(e,t,n){function r(e){return encodeURIComponent(i(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"))}function o(e){return a(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function i(e){return a((new TextEncoder).encode(e))}function a(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}})},74133:function(e,t,n){n.d(t,{Ut:function(){return s},Z_:function(){return c}});var r=n(10536),o=n(40619);const i="For more visit: aka.ms/msaljs/browser-errors",a={[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}`,[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;class s extends r.l4{constructor(e){super(e,a[e]),Object.setPrototypeOf(this,s.prototype),this.name="BrowserAuthError"}}function c(e){return new s(e)}},40619:function(e,t,n){n.d(t,{$P:function(){return h},Aj:function(){return U},BO:function(){return E},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 I},IL:function(){return P},JA:function(){return f},Jd:function(){return H},KA:function(){return K},LL:function(){return F},Mq:function(){return O},Pi:function(){return x},QO:function(){return _},S_:function(){return c},TR:function(){return o},Ut:function(){return R},V7:function(){return z},WQ:function(){return k},Wb:function(){return G},XM:function(){return L},Xk:function(){return s},ZT:function(){return m},_c:function(){return i},al:function(){return $},b_:function(){return C},bj:function(){return y},dT:function(){return w},e$:function(){return S},h7:function(){return p},h8:function(){return A},hR:function(){return B},lZ:function(){return Q},nF:function(){return a},o9:function(){return W},vD:function(){return r},w6:function(){return q},wH:function(){return v},xO:function(){return T},yK:function(){return l}});const r="pkce_not_created",o="crypto_nonexistent",i="empty_navigate_uri",a="hash_empty_error",s="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",T="block_iframe_reload",y="block_nested_popups",A="iframe_closed_prematurely",I="silent_logout_unsupported",v="no_account_error",k="silent_prompt_value_error",_="no_token_request_cache_error",S="unable_to_parse_token_request_cache_error",w="no_cached_authority_error",E="auth_request_not_set_error",R="invalid_cache_type",b="non_browser_environment",P="database_not_open",O="no_network_connectivity",N="post_request_failed",M="get_request_failed",q="failed_to_parse_response",H="unable_to_load_token",L="crypto_key_not_found",U="auth_code_required",D="auth_code_or_nativeAccountId_required",F="spa_code_and_nativeAccountId_present",x="database_unavailable",K="unable_to_acquire_token_from_native_platform",B="native_handshake_timeout",G="native_extension_not_installed",z="native_connection_not_established",$="uninitialized_public_client_application",W="native_prompt_not_supported",Q="invalid_base64_string"},97598:function(e,t,n){n.d(t,{Z1:function(){return s}});var r=n(10536),o=n(37423);const i={[o.m4]:"Given storage configuration option was not supported.",[o.hJ]:"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.xC]:"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."};o.m4,o.m4,o.hJ,o.hJ,o.xC,o.xC;class a extends r.l4{constructor(e,t){super(e,t),this.name="BrowserConfigurationAuthError",Object.setPrototypeOf(this,a.prototype)}}function s(e){return new a(e,i[e])}},37423:function(e,t,n){n.d(t,{hJ:function(){return o},m4:function(){return r},xC:function(){return i}});const r="storage_not_supported",o="stubbed_public_client_application_called",i="in_mem_redirect_unavailable"},18896:function(e,t,n){n.d(t,{b:function(){return c}});var r=n(49279),o=n(36161),i=n(31335),a=n(30882),s=n(3292);class c{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{e.key?.includes(r.Vi.ACTIVE_ACCOUNT_FILTERS)&&this.emitEvent(a.t.ACTIVE_ACCOUNT_CHANGED);const t=e.newValue||e.oldValue;if(!t)return;const n=JSON.parse(t);if("object"!==typeof n||!o.r.isAccountEntity(n))return;const s=i.L.toObject(new o.r,n).getAccountInfo();!e.oldValue&&e.newValue?(this.logger.info("Account was added to cache in a different window"),this.emitEvent(a.t.ACCOUNT_ADDED,void 0,s)):!e.newValue&&e.oldValue&&(this.logger.info("Account was removed from cache in a different window"),this.emitEvent(a.t.ACCOUNT_REMOVED,void 0,s))}catch(e){return}}}},30882: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",ACTIVE_ACCOUNT_CHANGED:"msal:activeAccountChanged",LOGIN_START:"msal:loginStart",LOGIN_SUCCESS:"msal:loginSuccess",
1LOGIN_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"}},81578:function(e,t,n){n.d(t,{i:function(){return o},u:function(){return r}});const r="@azure/msal-browser",o="3.11.1"},2979:function(e,t,n){n.d(t,{$H:function(){return p},BD:function(){return i},Bs:function(){return u},EC:function(){return c},Gv:function(){return A},H4:function(){return T},Ix:function(){return s},Ky:function(){return a},Mm:function(){return f},Oq:function(){return l},PK:function(){return _},WN:function(){return d},bg:function(){return k},c4:function(){return h},kd:function(){return y},lA:function(){return C},lu:function(){return I},qx:function(){return o},s_:function(){return g},se:function(){return v},yo:function(){return m}});var r=n(49279);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"},a={HandshakeRequest:"Handshake",HandshakeResponse:"HandshakeResponse",GetToken:"GetToken",Response:"Response"},s={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={Startup:"startup",Login:"login",Logout:"logout",AcquireToken:"acquireToken",SsoSilent:"ssoSilent",HandleRedirect:"handleRedirect",None:"none"},m={scopes:r.f_},f="jwk",C={React:"@azure/msal-react",Angular:"@azure/msal-angular"},T="msal.db",y=1,A=`${T}.keys`,I={Default:0,AccessToken:1,AccessTokenAndRefreshToken:2,RefreshToken:3,RefreshTokenAndNetwork:4,Skip:5},v=[I.Default,I.Skip,I.RefreshTokenAndNetwork],k="msal.browser.log.level",_="msal.browser.log.pii"},62401: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:a,tfp:s,acr:c}=t,h=i||s||c||"";return{tenantId:h,localAccountId:n||o||"",name:a,isHomeTenant:r(h,e)}}function i(e,t,n,r){let i=e;if(t){const{isHomeTenant:n,...r}=t;i={...e,...r}}if(n){const{isHomeTenant:t,...a}=o(e.homeAccountId,n);return i={...i,...a,idTokenClaims:n,idToken:r},i}return i}n.d(t,{$f:function(){return i},Hc:function(){return r},SI:function(){return o}})},76831:function(e,t,n){n.d(t,{Z_:function(){return i},ky:function(){return a}});var r=n(24228),o=n(47752);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(i){throw(0,r.zP)(o.GH)}}function a(e,t){if(0===t||Date.now()-3e5>e+t)throw(0,r.zP)(o.Ao)}},54903:function(e,t,n){n.d(t,{B:function(){return a},j:function(){return s}});var r=n(24228),o=n(49279),i=n(47752);function a(e,t){if(!e)throw(0,r.zP)(i.S7);try{const n=t(e);return JSON.parse(n)}catch(n){throw(0,r.zP)(i.ZE)}}function s(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]}}},72057: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}})},74842: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 s}});var r=n(88299),o=n(49279);const i={"login.microsoftonline.com":{token_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.com/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.com/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/logout"},"login.chinacloudapi.cn":{token_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.chinacloudapi.cn/{tenantid}/discovery/v2.0/keys",issuer:"https://login.partner.microsoftonline.cn/{tenantid}/v2.0",authorization_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.chinacloudapi.cn/{tenantid}/oauth2/v2.0/logout"},"login.microsoftonline.us":{token_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/token",jwks_uri:"https://login.microsoftonline.us/{tenantid}/discovery/v2.0/keys",issuer:"https://login.microsoftonline.us/{tenantid}/v2.0",authorization_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",end_session_endpoint:"https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout"}},a={tenant_discovery_endpoint:"https://{canonicalAuthority}/v2.0/.well-known/openid-configuration",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"]}]},s=new Set;function c(e,t){let n;const i=e.canonicalAuthority;if(i){const s=new r.G(i).getUrlComponents().HostNameAndPort;n=h(s,e.cloudDiscoveryMetadata?.metadata,o.pQ.CONFIG,t)||h(s,a.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);
1if(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(a.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}a.metadata.forEach((e=>{e.aliases.forEach((e=>{s.add(e)}))}))},11105: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}},10166:function(e,t,n){n.d(t,{A:function(){return r}});const r={AAD:"AAD",OIDC:"OIDC"}},31335:function(e,t,n){n.d(t,{L:function(){return g},w:function(){return p}});var r=n(49279),o=n(12548),i=n(63570),a=n(36161),s=n(24228),c=n(62401),h=n(76831),l=n(67564),u=n(74842),d=n(47752);class g{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 a=this.getIdToken(e,t,n.tenantId);return a&&(o=(0,h.Z_)(a.secret,this.cryptoImpl.base64Decode),!this.idTokenClaimsMatchTenantProfileFilter(o,r))?null:(i=(0,c.$f)(e,n,o,a?.secret),i)}getTenantProfilesFromAccountEntity(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 a=[];return o.forEach((e=>{const t=this.getTenantedAccountInfoByFilter(r,i,e,n);t&&a.push(t)})),a}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,s.zP)(d.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){const t=this.getKeys(),n={};return t.forEach((t=>{if(!this.isAppMetadata(t))return;const r=this.getAppMetadata(t);r&&(e.environment&&!this.matchEnvironment(r,e.environment)||e.clientId&&!this.matchClientId(r,e.clientId)||(n[t]=r))})),n}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=[];
1t.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 s=g.toObject(new a.r,{...i}),h=s.generateAccountKey();return r.forEach((t=>{t!==h&&this.removeOutdatedAccount(e)})),this.setAccount(s),n?.verbose("Updated an outdated account entity in the cache"),s}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(n){throw(0,s.zP)(d.ol)}}return this.removeItem(e)}}removeAppMetadata(){return this.getKeys().forEach((e=>{this.isAppMetadata(e)&&this.removeItem(e)})),!0}readAccountFromCache(e){const t=a.r.generateAccountCacheKey(e);return this.getAccount(t,this.commonLogger)}getIdToken(e,t,n,o,i){this.commonLogger.trace("CacheManager - getIdToken called");const a={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:r.d3.ID_TOKEN,clientId:this.clientId,realm:n},s=this.getIdTokensByFilter(a,t),c=s.size;if(c<1)return this.commonLogger.info("CacheManager:getIdToken - No token found"),null;if(c>1){let t=s;if(!n){const n=new Map;s.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"),s.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:s.size},i),null}return this.commonLogger.info("CacheManager:getIdToken - Returning ID token"),s.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();return(!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,a,s,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:a||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))})),s&&c&&s.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=[];
1return 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 a=t?r.ch:void 0,s={homeAccountId:e.homeAccountId,environment:e.environment,credentialType:r.d3.REFRESH_TOKEN,clientId:this.clientId,familyId:a},c=n&&n.refreshToken||this.getTokenKeys().refreshToken,h=[];c.forEach((e=>{if(this.refreshTokenKeyMatchesFilter(e,s)){const t=this.getRefreshTokenCredential(e);t&&this.credentialMatchesFilter(t,s)&&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,s.zP)(d.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,u._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 p extends g{setAccount(){throw(0,s.zP)(d.M2)}getAccount(){throw(0,s.zP)(d.M2)}getCachedAccountEntity(){throw(0,s.zP)(d.M2)}setIdTokenCredential(){throw(0,s.zP)(d.M2)}getIdTokenCredential(){throw(0,s.zP)(d.M2)}setAccessTokenCredential(){throw(0,s.zP)(d.M2)}getAccessTokenCredential(){throw(0,s.zP)(d.M2)}setRefreshTokenCredential(){throw(0,s.zP)(d.M2)}getRefreshTokenCredential(){throw(0,s.zP)(d.M2)}setAppMetadata(){throw(0,s.zP)(d.M2)}getAppMetadata(){throw(0,s.zP)(d.M2)}setServerTelemetry(){throw(0,s.zP)(d.M2)}getServerTelemetry(){throw(0,s.zP)(d.M2)}setAuthorityMetadata(){throw(0,s.zP)(d.M2)}getAuthorityMetadata(){throw(0,s.zP)(d.M2)}getAuthorityMetadataKeys(){throw(0,s.zP)(d.M2)}setThrottlingCache(){throw(0,s.zP)(d.M2)}getThrottlingCache(){throw(0,s.zP)(d.M2)}removeItem(){throw(0,s.zP)(d.M2)}getKeys(){throw(0,s.zP)(d.M2)}getAccountKeys(){throw(0,s.zP)(d.M2)}getTokenKeys(){throw(0,s.zP)(d.M2)}async clear(){throw(0,s.zP)(d.M2)}updateCredentialCacheKey(){throw(0,s.zP)(d.M2)}removeOutdatedAccount(){throw(0,s.zP)(d.M2)}}},36161:function(e,t,n){n.d(t,{r:function(){return u}});var r=n(49279),o=n(54903),i=n(62401),a=n(24228),s=n(4085),c=n(72057),h=n(10166),l=n(47752);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===s.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
1IC_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,a.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!==s.a.Adfs&&t!==s.a.Dsts){if(e)try{const t=(0,o.B)(e,r.base64Decode);if(t.uid&&t.utid)return`${t.uid}.${t.utid}`}catch(a){}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}}},12548:function(e,t,n){n.d(t,{Bq:function(){return p},Cd:function(){return R},Ds:function(){return l},FK:function(){return S},Js:function(){return I},Md:function(){return h},Mk:function(){return c},OJ:function(){return u},Om:function(){return g},Ox:function(){return k},Rw:function(){return w},VQ:function(){return v},ZL:function(){return _},k5:function(){return b},x4:function(){return m},xc:function(){return E}});var r=n(76831),o=n(24228),i=n(49279),a=n(26516),s=n(47752);function c(e){return[f(e),C(e),T(e),y(e),A(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,T,y){const A={homeAccountId:e,credentialType:i.d3.ACCESS_TOKEN,secret:n,cachedAt:(0,a.HY)().toString(),expiresOn:u.toString(),extendedExpiresOn:d.toString(),environment:t,clientId:c,realm:h,target:l,tokenType:m||i.hO.BEARER};if(f&&(A.userAssertionHash=f),p&&(A.refreshOn=p.toString()),T&&(A.requestedClaims=T,A.requestedClaimsHash=y),A.tokenType?.toLowerCase()!==i.hO.BEARER.toLowerCase())switch(A.credentialType=i.d3.ACCESS_TOKEN_WITH_AUTH_SCHEME,A.tokenType){case i.hO.POP:const e=(0,r.Z_)(n,g);if(!e?.cnf?.kid)throw(0,o.zP)(s.P_);A.keyId=e.cnf.kid;break;case i.hO.SSH:A.keyId=C}return A}function u(e,t,n,r,o,a,s){const c={credentialType:i.d3.REFRESH_TOKEN,homeAccountId:e,environment:t,clientId:r,secret:n};return a&&(c.userAssertionHash=a),o&&(c.familyId=o),s&&(c.expiresOn=s.toString()),c}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.fam
1ilyId||e.clientId;return[e.credentialType,t,e.realm||""].join(i.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}function T(e){return(e.target||"").toLowerCase()}function y(e){return(e.requestedClaimsHash||"").toLowerCase()}function A(e){return e.tokenType&&e.tokenType.toLowerCase()!==i.hO.BEARER.toLowerCase()?e.tokenType.toLowerCase():""}function I(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}function v(e,t){let n=!1;e&&(n=0===e.indexOf(i.bb.THROTTLING_PREFIX));let r=!0;return t&&(r=t.hasOwnProperty("throttleTime")),n&&r}function k({environment:e,clientId:t}){return[i.dg,e,t].join(i.Bv.CACHE_KEY_SEPARATOR).toLowerCase()}function _(e,t){return!!t&&(0===e.indexOf(i.dg)&&t.hasOwnProperty("clientId")&&t.hasOwnProperty("environment"))}function S(e,t){return!!t&&(0===e.indexOf(i.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"))}function w(){return(0,a.HY)()+i.QU.REFRESH_TIME_SECONDS}function E(e,t,n){e.authorization_endpoint=t.authorization_endpoint,e.token_endpoint=t.token_endpoint,e.end_session_endpoint=t.end_session_endpoint,e.issuer=t.issuer,e.endpointsFromNetwork=n,e.jwks_uri=t.jwks_uri}function R(e,t,n){e.aliases=t.aliases,e.preferred_cache=t.preferred_cache,e.preferred_network=t.preferred_network,e.aliasesFromNetwork=n}function b(e){return e.expiresAt<=(0,a.HY)()}},11796:function(e,t,n){n.d(t,{j6:function(){return A},lh:function(){return I},z:function(){return d}});var r=n(49566),o=n(40354),i=n(49279),a=n(67564),s=n(11105),c=n(31335),h=n(10166),l=n(24228),u=n(47752);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:a.i,cpu:i.gT.EMPTY_STRING,os:i.gT.EMPTY_STRING},C={clientSecret:i.gT.EMPTY_STRING,clientAssertion:void 0},T={azureCloudInstance:s.z.None,tenant:`${i.gT.DEFAULT_COMMON_TENANT}`},y={application:{appName:"",appVersion:""}};function A({authOptions:e,systemOptions:t,loggerOptions:n,cacheOptions:i,storageInterface:a,networkInterface:s,cryptoInterface:h,clientCredentials:l,libraryInfo:u,telemetry:A,serverTelemetryManager:I,persistencePlugin:v,serializableCache:k}){const _={...g,...n};return{authOptions:(S=e,{clientCapabilities:[],azureCloudOptions:T,skipAuthorityMetadataCache:!1,...S}),systemOptions:{...d,...t},loggerOptions:_,cacheOptions:{...p,...i},storageInterface:a||new c.w(e.clientId,r.d,new o.Y(_)),networkInterface:s||m,cryptoInterface:h||r.d,clientCredentials:l||C,libraryInfo:{...f,...u},telemetry:{...y,...A},serverTelemetryManager:I||null,persistencePlugin:v||null,serializableCache:k||null};var S}function I(e){return e.authOptions.authority.options.protocolMode===h.A.OIDC}},59117:function(e,t,n){n.d(t,{C2:function(){return m},Cx:function(){return r},DN:function(){return O},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 a},O4:function(){return F},PU:function(){return x},PY:function(){return H},Pe:function(){return I},RJ:function(){return M},RO:function(){return G},Rl:function(){return v},US:function(){return B},Zb:function(){return D},bJ:function(){return A},bP:function(){return k},by:function(){return g},cO:function(){return p},ct:function(){return c},ed:function(){return u},fC:function(){return y},hR:function(){return _},hf:function(){return L},ib:function(){return b},j5:function(){return S},ki:function(){return E}
1,ko:function(){return s},nZ:function(){return T},q0:function(){return P},s4:function(){return C},sI:function(){return N},x5:function(){return K},yO:function(){return i},z6:function(){return l},zl:function(){return U},zm:function(){return w}});const r="client_id",o="redirect_uri",i="response_type",a="response_mode",s="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",T="client-request-id",y="x-client-SKU",A="x-client-VER",I="x-client-OS",v="x-client-CPU",k="x-client-current-telemetry",_="x-client-last-telemetry",S="x-ms-lib-capability",w="x-app-name",E="x-app-ver",R="post_logout_redirect_uri",b="id_token_hint",P="device_code",O="client_secret",N="client_assertion",M="client_assertion_type",q="token_type",H="req_cnf",L="assertion",U="requested_token_use",D="return_spa_code",F="nativebroker",x="logout_hint",K="sid",B="login_hint",G="domain_hint"},49566:function(e,t,n){n.d(t,{d:function(){return i}});var r=n(24228),o=n(47752);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)}}},10536:function(e,t,n){n.d(t,{MD:function(){return s},l4:function(){return a}});var r=n(49279),o=n(41886);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,o.g,o.D,o.D;class a extends Error{constructor(e,t,n){super(t?`${e}: ${t}`:e),Object.setPrototypeOf(this,a.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 s(e,t){return new a(e,t?`${i[e]} ${t}`:i[e])}},41886:function(e,t,n){n.d(t,{D:function(){return o},g:function(){return r}});const r="unexpected_error",o="post_request_failed"},24228:function(e,t,n){n.d(t,{er:function(){return a},zP:function(){return s}});var r=n(10536),o=n(47752);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 
1in 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.cX,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 a extends r.l4{constructor(e,t){super(e,t?`${i[e]}: ${t}`:i[e]),this.name="ClientAuthError",Object.setPrototypeOf(this,a.prototype)}}function s(e,t){return new a(e,t)}},47752:function(e,t,n){n.d(t,{$R:function(){return G},Ao:function(){return f},Ce:function(){return h},D7:function(){return E},EC:function(){return y},EF:function(){return c},FU:function(){return A},GH:function(){return i},HO:function(){return s},Jk:function(){return _},LV:function(){return g},Ls:function(){return W},M2:function(){return $},MU:function(){return C},Mq:function(){return B},Of:function(){return K},PM:function(){return a},P_:function(){return U},Q9:function(){return b},QL:function(){return O},RH:function(){return T},S:function(){return k},S7:function(){return o},SX:function(){return q},Tu:function(){return d},ZE:function(){return r},ZT:function(){return w},Zv:function(){return D},aE:function(){return M},b4:function(){return l},cX:function(){return P},cy:function(){return N},f4:function(){return v},ig:function(){return x},k7:function(){return z},mj:function(){return R},nQ:function(){return L},ol:function(){return F},r8:function(){return u},s$:function(){return H},tS:function(){return S},v1:function(){return I},vR:function(){return p},w7:function(){return m}});const r="client_info_decoding_error",o="client_info_empty_error",i="token_parsing_error",a="null_or_empty_token",s="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",T="multiple_matching_accounts",y="multiple_matching_appMetadata",A="request_cannot_be_made",I="cannot_remove_empty_scope",v="cannot_append_scopeset",k="empty_input_scopeset",_="device_code_polling_cancelled",S="device_code_expired",w="device_code_unknown_error",E="no_account_in_silent_request",R="invalid_cache_record",b="invalid_cache_environment",P="no_account_found",O="no_crypto_object",N="unexpected_credential_type",M="invalid_assertion",q="invalid_client_credential",H="token_refresh_required",L="user_timeout_reached",U="token_claims_cnf_required_for_signedjwt",D="authorization_code_missing_from_server_response",F="binding_key_not_removed",x="end_session_endpoint_not_supported",K="key_id_missing",B="no_network_connectivity",G="user_canceled",z="missing_tenant_id_error",$="method_not_implemented",W="nested_app_auth_bridge_disabled"},47115:function(e,t,n){n.d(t,{ei:function(){return s}});var r=n(10536),o=n(32506);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
1/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 a extends r.l4{constructor(e){super(e,i[e]),this.name="ClientConfigurationError",Object.setPrototypeOf(this,a.prototype)}}function s(e){return new a(e)}},32506:function(e,t,n){n.d(t,{$h:function(){return d},E:function(){return m},Hv:function(){return _},LB:function(){return o},Ol:function(){return k},Oz:function(){return i},RV:function(){return r},TU:function(){return p},To:function(){return s},U9:function(){return A},d6:function(){return g},dK:function(){return T},dL:function(){return u},hI:function(){return y},i1:function(){return I},nm:function(){return l},o_:function(){return C},qz:function(){return v},vE:function(){return c},yH:function(){return a},z_:function(){return h},zx:function(){return f}});const r="redirect_uri_empty",o="claims_request_parsing_error",i="authority_uri_insecure",a="url_parse_error",s="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",T="missing_ssh_jwk",y="missing_ssh_kid",A="missing_nonce_authentication_header",I="invalid_authentication_header",v="cannot_set_OIDCOptions",k="cannot_allow_native_broker",_="authority_mismatch"},85152:function(e,t,n){n.d(t,{Cf:function(){return l},Yo:function(){return h},ip:function(){return u}});var r=n(49279),o=n(10536),i=n(94016);const a=[i.tZ,i.Mo,i.kk,i.nl],s=["message_only","additional_action","basic_action","user_password_expired","consent_required","bad_token"],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.Tw]:"Refresh token has expired.",[i.nl]:"Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve."};i.I2,i.I2,i.QP,i.QP,i.nl,i.nl;class h extends o.l4{constructor(e,t,n,o,i,a,s){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=a||r.gT.EMPTY_STRING,this.claims=s||r.gT.EMPTY_STRING,this.name="InteractionRequiredAuthError"}}function l(e,t,n){const r=!!e&&a.indexOf(e)>-1,o=!!n&&s.indexOf(n)>-1,i=!!t&&a.some((e=>t.indexOf(e)>-1));return r||i||o}function u(e){return new h(e,c[e])}},94016:function(e,t,n){n.d(t,{I2:function(){return r},Mo:function(){return s},QP:function(){return o},Tw:function(){return i},kk:function(){return c},nl:function(){return h},tZ:function(){return a}});const r="no_tokens_found",o="native_account_unavailable",i="refresh_token_expired",a="interaction_required",s="consent_required",c="login_required",h="bad_token"},32111:function(e,t,n){n.d(t,{n:function(){return o}});var r=n(10536);class o extends r.l4{constructor(e,t,n){super(e,t,n),this.name="ServerError",Object.setPrototypeOf(this,o.prototype)}}},40354:function(e,t,n){n.d(t,{Y:function(){return i},i:function(){return r}});var r,o=n(49279);!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 a=e||i.createDefaultLoggerOptions();this.localCallback=a.loggerCallback||(()=>{}),this.piiLoggingEnabled=a.piiLoggingEnabled||!1,this.level="number"===typeof a.logLevel?a.logLevel:r.Info,this.correlationId=a.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}}},67564:function(e,t,n){n.d(t,{i:function(){return o},u:function(){return r}});const r="@azure/msal-common",o="14.8.1"},16468:function(e,t,n){n.d(t,{H:function(){return h}});var r=n(49279),o=n(59117),i=n(63570),a=n(47115),s=n(92707),c=n(32506);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 a=t?[...e||[],...n]:e||[],s=new i.i(a);this.parameters.set(o.IC,encodeURIComponent(s.printScopes()))}addClientId(e){this.parameters.set(o.Cx,encodeURIComponent(e))}addRedirectUri(e){s.D.validateRedirectUri(e),this.parameters.set(o.He,encodeURIComponent(e))}addPostLogoutRedirectUri(e){s.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);s.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)}
1addPrompt(e){s.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(s.D.validateCodeChallengeParams(e,t),!e||!t)throw(0,a.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=s.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(o){throw(0,a.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("&")}}},92707:function(e,t,n){n.d(t,{D:function(){return a}});var r=n(47115),o=n(49279),i=n(32506);class a{static validateRedirectUri(e){if(!e)throw(0,r.ei)(i.RV)}static validatePrompt(e){const t=[];for(const n in o.NJ)t.push(o.NJ[n]);if(t.indexOf(e)<0)throw(0,r.ei)(i.z_)}static validateClaims(e){try{JSON.parse(e)}catch(t){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])))):{}}}},63570:function(e,t,n){n.d(t,{i:function(){return h}});var r=n(47115),o=n(26159),i=n(24228),a=n(49279),s=n(32506),c=n(47752);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||a.gT.EMPTY_STRING).split(" ");return new h(t)}static createSearchScopes(e){const t=new h(e);return t.containsOnlyOIDCScopes()?t.removeScope(a.gT.OFFLINE_ACCESS_SCOPE):t.removeOIDCScopes(),t}validateInputScopes(e){if(!e||e.length<1)throw(0,r.ei)(s.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 a.$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(t){throw(0,i.zP)(c.f4)}}removeScope(e){if(!e)throw(0,i.zP)(c.v1);this.scopes.delete(e.trim())}removeOIDCScopes(){a.$f.forEach((e=>{this.scopes.delete(e)}))}unionScopeSets(e){if(!e)throw(0,i.zP)(c.S);const t=new Set;
1return 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 a.gT.EMPTY_STRING}printScopesLowerCase(){return this.printScopes().toLowerCase()}}},90177: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",AcquireTokenRedirect:"acquireTokenRedirect",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:"handleRedirectPromise",HandleNativeRedirectPromiseMeasurement:"handleNativeRedirectPromise",UpdateCloudDiscoveryMetadataMeasurement:"updateCloudDiscoveryMetadataMeasurement",UsernamePasswordCl
1ientAcquireToken:"usernamePasswordClientAcquireToken",NativeMessageHandlerHandshake:"nativeMessageHandlerHandshake",NativeGenerateAuthResult:"nativeGenerateAuthResult",RemoveHiddenIframe:"removeHiddenIframe",ClearTokensAndKeysWithClaims:"clearTokensAndKeysWithClaims",CacheManagerGetRefreshToken:"cacheManagerGetRefreshToken",GeneratePkceCodes:"generatePkceCodes",GenerateCodeVerifier:"generateCodeVerifier",GenerateCodeChallengeFromVerifier:"generateCodeChallengeFromVerifier",Sha256Digest:"sha256Digest",GetRandomValues:"getRandomValues"},o=(new Map([[r.AcquireTokenByCode,"ATByCode"],[r.AcquireTokenByRefreshToken,"ATByRT"],[r.AcquireTokenSilent,"ATS"],[r.AcquireTokenSilentAsync,"ATSAsync"],[r.AcquireTokenPopup,"ATPopup"],[r.AcquireTokenRedirect,"ATRedirect"],[r.CryptoOptsGetPublicKeyThumbprint,"CryptoGetPKThumb"],[r.CryptoOptsSignJwt,"CryptoSignJwt"],[r.SilentCacheClientAcquireToken,"SltCacheClientAT"],[r.SilentIframeClientAcquireToken,"SltIframeClientAT"],[r.SilentRefreshClientAcquireToken,"SltRClientAT"],[r.SsoSilent,"SsoSlt"],[r.StandardInteractionClientGetDiscoveredAuthority,"StdIntClientGetDiscAuth"],[r.FetchAccountIdWithNativeBroker,"FetchAccIdWithNtvBroker"],[r.NativeInteractionClientAcquireToken,"NtvIntClientAT"],[r.BaseClientCreateTokenRequestHeaders,"BaseClientCreateTReqHead"],[r.RefreshTokenClientExecutePostToTokenEndpoint,"RTClientExecPost"],[r.AuthorizationCodeClientExecutePostToTokenEndpoint,"AuthCodeClientExecPost"],[r.BrokerHandhshake,"BrokerHandshake"],[r.AcquireTokenByRefreshTokenInBroker,"ATByRTInBroker"],[r.AcquireTokenByBroker,"ATByBroker"],[r.RefreshTokenClientExecuteTokenRequest,"RTClientExecTReq"],[r.RefreshTokenClientAcquireToken,"RTClientAT"],[r.RefreshTokenClientAcquireTokenWithCachedRefreshToken,"RTClientATWithCachedRT"],[r.RefreshTokenClientAcquireTokenByRefreshToken,"RTClientATByRT"],[r.RefreshTokenClientCreateTokenRequestBody,"RTClientCreateTReqBody"],[r.AcquireTokenFromCache,"ATFromCache"],[r.SilentFlowClientAcquireCachedToken,"SltFlowClientATCached"],[r.SilentFlowClientGenerateResultFromCacheRecord,"SltFlowClientGenResFromCache"],[r.AcquireTokenBySilentIframe,"ATBySltIframe"],[r.InitializeBaseRequest,"InitBaseReq"],[r.InitializeSilentRequest,"InitSltReq"],[r.InitializeClientApplication,"InitClientApplication"],[r.SilentIframeClientTokenHelper,"SIClientTHelper"],[r.SilentHandlerInitiateAuthRequest,"SHandlerInitAuthReq"],[r.SilentHandlerMonitorIframeForHash,"SltHandlerMonitorIframeForHash"],[r.SilentHandlerLoadFrame,"SHandlerLoadFrame"],[r.SilentHandlerLoadFrameSync,"SHandlerLoadFrameSync"],[r.StandardInteractionClientCreateAuthCodeClient,"StdIntClientCreateAuthCodeClient"],[r.StandardInteractionClientGetClientConfiguration,"StdIntClientGetClientConf"],[r.StandardInteractionClientInitializeAuthorizationRequest,"StdIntClientInitAuthReq"],[r.StandardInteractionClientInitializeAuthorizationCodeRequest,"StdIntClientInitAuthCodeReq"],[r.GetAuthCodeUrl,"GetAuthCodeUrl"],[r.HandleCodeResponseFromServer,"HandleCodeResFromServer"],[r.HandleCodeResponse,"HandleCodeResp"],[r.UpdateTokenEndpointAuthority,"UpdTEndpointAuth"],[r.AuthClientAcquireToken,"AuthClientAT"],[r.AuthClientExecuteTokenRequest,"AuthClientExecTReq"],[r.AuthClientCreateTokenRequestBody,"AuthClientCreateTReqBody"],[r.AuthClientCreateQueryString,"AuthClientCreateQueryStr"],[r.PopTokenGenerateCnf,"PopTGenCnf"],[r.PopTokenGenerateKid,"PopTGenKid"],[r.HandleServerTokenResponse,"HandleServerTRes"],[r.DeserializeResponse,"DeserializeRes"],[r.AuthorityFactoryCreateDiscoveredInstance,"AuthFactCreateDiscInst"],[r.AuthorityResolveEndpointsAsync,"AuthResolveEndpointsAsync"],[r.AuthorityResolveEndpointsFromLocalSources,"AuthResolveEndpointsFromLocal"],[r.AuthorityGetCloudDiscoveryMetadataFromNetwork,"AuthGetCDMetaFromNet"],[r.AuthorityUpdateCloudDiscoveryMetadata,"AuthUpdCDMeta"],[r.AuthorityGetEndpointMetadataFromNetwork,"AuthUpdCDMetaFromNet"],[r.AuthorityUpdateEndpointMetadata,"AuthUpdEndpointMeta"],[r.AuthorityUpdateMetadataWithRegionalInformation,"AuthUpdMetaWithRegInfo"],[r.RegionDiscoveryDetectRegion,"RegDiscDetectReg"],[r.RegionDiscoveryGetRegionFromIMDS,"RegDiscGetRegFromIMDS"],[r.RegionDiscoveryGetCurrentVersion,"RegDiscGetCurrentVer"],[r.AcquireTokenByCodeAsync,"ATByCodeAsync"],[r.GetEndpointMetadataFromNetwork,"GetEndpointMetaFromNet"],[r.GetCloudDiscoveryMetadataFromNetworkMeasurement,"GetCDMetaFromNet"],[r.HandleRedirectPromiseMeasurement,"HandleRedirectPromise"],[r.HandleNativeRedirectPromiseMeasurement,"HandleNtvRedirectPromise"],[r.UpdateCloudDiscoveryMetadataMeasurement,"UpdateCDMeta"],[r.UsernamePasswordCl
1ientAcquireToken,"UserPassClientAT"],[r.NativeMessageHandlerHandshake,"NtvMsgHandlerHandshake"],[r.NativeGenerateAuthResult,"NtvGenAuthRes"],[r.RemoveHiddenIframe,"RemoveHiddenIframe"],[r.ClearTokensAndKeysWithClaims,"ClearTAndKeysWithClaims"],[r.CacheManagerGetRefreshToken,"CacheManagerGetRT"],[r.GeneratePkceCodes,"GenPkceCodes"],[r.GenerateCodeVerifier,"GenCodeVerifier"],[r.GenerateCodeChallengeFromVerifier,"GenCodeChallengeFromVerifier"],[r.Sha256Digest,"Sha256Digest"],[r.GetRandomValues,"GetRandomValues"]]),{NotStarted:0,InProgress:1,Completed:2});new Set(["accessTokenSize","durationMs","idTokenSize","matsSilentStatus","matsHttpStatus","refreshTokenSize","queuedTimeMs","startTimeMs","status","multiMatchedAT","multiMatchedID","multiMatchedRT"])},88299:function(e,t,n){n.d(t,{G:function(){return c}});var r=n(47115),o=n(26159),i=n(49279),a=n(1002),s=n(32506);class c{get urlString(){return this._urlString}constructor(e){if(this._urlString=e,!this._urlString)throw(0,r.ei)(s.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.
1slice(0,-2)),o.x.endsWith(t,"/")||(t+="/"),t}return e}validateAsUri(){let e;try{e=this.getUrlComponents()}catch(t){throw(0,r.ei)(s.yH)}if(!e.HostNameAndPort||!e.PathSegments)throw(0,r.ei)(s.yH);if(!e.Protocol||"https:"!==e.Protocol.toLowerCase())throw(0,r.ei)(s.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)(s.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)(s.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,a.F)(e)}}},49279:function(e,t,n){n.d(t,{$f:function(){return a},As:function(){return l},Bv:function(){return C},D1:function(){return E},Ge:function(){return R},HN:function(){return _},NJ:function(){return u},Nb:function(){return h},QU:function(){return v},SZ:function(){return s},To:function(){return N},VX:function(){return d},Vi:function(){return c},W:function(){return P},YY:function(){return b},bb:function(){return w},ch:function(){return I},d3:function(){return T},dg:function(){return y},f_:function(){return i},gT:function(){return r},hO:function(){return S},iR:function(){return f},ki:function(){return O},oj:function(){return o},pQ:function(){return k},qJ:function(){return m},rg:function(){return g},sR:function(){return A},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],a=[...i,r.EMAIL_SCOPE],s={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
1n: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:"."},T={ID_TOKEN:"IdToken",ACCESS_TOKEN:"AccessToken",ACCESS_TOKEN_WITH_AUTH_SCHEME:"AccessToken_With_AuthScheme",REFRESH_TOKEN:"RefreshToken"},y="appmetadata",A="client_info",I="1",v={CACHE_KEY:"authority-metadata",REFRESH_TIME_SECONDS:86400},k={CONFIG:"config",CACHE:"cache",NETWORK:"network",HARDCODED_VALUES:"hardcoded_values"},_={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"},S={BEARER:"Bearer",POP:"pop",SSH:"ssh-cert"},w={DEFAULT_THROTTLE_TIME_SECONDS:60,DEFAULT_MAX_THROTTLE_TIME_SECONDS:3600,THROTTLING_PREFIX:"throttling",X_MS_LIB_CAPABILITY_VALUE:"retry-after, h429"},E={INVALID_GRANT_ERROR:"invalid_grant",CLIENT_MISMATCH_ERROR:"client_mismatch"},R={username:"username",password:"password"},b={httpSuccess:200,httpBadRequest:400},P={FAILED_AUTO_DETECTION:"1",INTERNAL_CACHE:"2",ENVIRONMENT_VARIABLE:"3",IMDS:"4"},O={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"}},26159: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(t){}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(t){return null}}static matchPattern(e,t){return new RegExp(e.replace(/\\/g,"\\\\").replace(/\*/g,"[^ ]*").replace(/\?/g,"\\?")).test(t)}}},26516:function(e,t,n){function r(){return Math.round((new Date).getTime()/1e3)}function o(e,t){const n=Number(e)||0;return r()+t>n}function i(e){return Number(e)>r()}n.d(t,{HY:function(){return r},jx:function(){return i},pw:function(){return o}})},1002:function(e,t,n){n.d(t,{F:function(){return a},q:function(){return i}});var r=n(24228),o=n(47752);function i(e){return e.startsWith("#/")?e.substring(2):e.startsWith("#")||e.startsWith("?")?e.substring(1):e}function a(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(t){throw(0,r.zP)(o.b4)}return null}},85854:function(e,t,n){n.d(t,{NY:function(){return v},rL:function(){return T},ae:function(){return k},Fp:function(){return y}});var r=n(67294),o=n(97598),i=n(37423);const a={initialize:()=>Promise.reject((0,o.Z1)(i.hJ)),acquireTokenPopup:()=>Promise.reject((0,o.Z1)(i.hJ)),acquireTokenRedirect:()=>Promise.reject((0,o.Z1)(i.hJ)),acquireTokenSilent:()=>Promise.reject((0,o.Z1)(i.hJ)),acquireTokenByCode:()=>Promise.reject((0,o.Z1)(i.hJ)),getAllAccounts:()=>[],getAccountByHomeId:()=>null,getAccountByUsername:()=>null,getAccountByLocalId:()=>null,handleRedirectPromise:()=>Promise.reject((0,o.Z1)(i.hJ)),loginPopup:()=>Promise.reject((0,o.Z1)(i.hJ)),loginRedirect:()=>Promise.reject((0,o.Z1)(i.hJ)),logout:()=>Promise.reject((0,o.Z1)(i.hJ)),logoutRedirect:()=>Promise.reject((0,o.Z1)(i.hJ)),logoutPopup:()=>Promise.reject((0,o.Z1)(i.hJ)),ssoSilent:()=>Promise.reject((0,o.Z1)(i.hJ)),addEventCallback:()=>null,removeEventCallback:()=>{},addPerformanceCallback:()=>"",removePerformanceCallback:()=>!1,enableAccountStorageEvents:()=>{},disableAccountStorageEvents:()=>{},getTokenCache:()=>{throw(0,o.Z1)(i.hJ)},getLogger:()=>{throw(0,o.Z1)(i.hJ)},setLogger:()=>{},setActiveAccount:()=>{},getActiveAccount:()=>null,initializeWrapperLibrary:()=>{},setNavigationClient:()=>{},getConfiguration:()=>{throw(0,o.Z1)(i.hJ)},hydrateCache:()=>Promise.reject((0,o.Z1)(i.hJ)),clearCache:()=>Promise.reject((0,o.Z1)(i.hJ))};var s=n(2979),c=n(40354);const h={instance:a,inProgress:s.$H.None,accounts:[],logger:new c.Y({})},l=r.createContext(h);l.Consumer;var u=n(30882);function d(e,t){return"function"===typeof e?e(t):e}function g(e,t){if(e.length!==t.length)return!1;const n=[...t];return e.every((e=>{const t=n.shift();return!(!e||!t)&&(e.homeAccountId===t.homeAccountId&&e.localAccountId===t.localAccountId&&e.username===t.username)}))}const p="2.0.14",m="UNBLOCK_INPROGRESS",f="EVENT",C=(e,t)=>{const{type:n,payload:r}=t;let o=e.inProgress;switch(n){case m:e.inProgress===s.$H.Startup&&(o=s.$H.None,r.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"));break;case f:const t=r.message,i=class{static getInteractionStatusFromEvent(e,t){switch(e.eventType){case u.t.LOGIN_START:return s.$H.Login;case u.t.SSO_SILENT_START:return s.$H.SsoSilent;case u.t.ACQUIRE_TOKEN_START:if(e.interactionType===s.s_.Redirect||e.
1interactionType===s.s_.Popup)return s.$H.AcquireToken;break;case u.t.HANDLE_REDIRECT_START:return s.$H.HandleRedirect;case u.t.LOGOUT_START:return s.$H.Logout;case u.t.SSO_SILENT_SUCCESS:case u.t.SSO_SILENT_FAILURE:if(t&&t!==s.$H.SsoSilent)break;return s.$H.None;case u.t.LOGOUT_END:if(t&&t!==s.$H.Logout)break;return s.$H.None;case u.t.HANDLE_REDIRECT_END:if(t&&t!==s.$H.HandleRedirect)break;return s.$H.None;case u.t.LOGIN_SUCCESS:case u.t.LOGIN_FAILURE:case u.t.ACQUIRE_TOKEN_SUCCESS:case u.t.ACQUIRE_TOKEN_FAILURE:case u.t.RESTORE_FROM_BFCACHE:if(e.interactionType===s.s_.Redirect||e.interactionType===s.s_.Popup){if(t&&t!==s.$H.Login&&t!==s.$H.AcquireToken)break;return s.$H.None}}return null}}.getInteractionStatusFromEvent(t,e.inProgress);i&&(r.logger.info(`MsalProvider - ${t.eventType} results in setting inProgress from ${e.inProgress} to ${i}`),o=i);break;default:throw new Error(`Unknown action type: ${n}`)}const i=r.instance.getAllAccounts();return o===e.inProgress||g(i,e.accounts)?o!==e.inProgress?{...e,inProgress:o}:g(i,e.accounts)?e:{...e,accounts:i}:{...e,inProgress:o,accounts:i}};function T({instance:e,children:t}){(0,r.useEffect)((()=>{e.initializeWrapperLibrary(s.lA.React,p)}),[e]);const n=(0,r.useMemo)((()=>e.getLogger().clone("@azure/msal-react",p)),[e]),[o,i]=(0,r.useReducer)(C,void 0,(()=>({inProgress:s.$H.Startup,accounts:e.getAllAccounts()})));(0,r.useEffect)((()=>{const t=e.addEventCallback((t=>{i({payload:{instance:e,logger:n,message:t},type:f})}));return n.verbose(`MsalProvider - Registered event callback with id: ${t}`),e.initialize().then((()=>{e.handleRedirectPromise().catch((()=>{})).finally((()=>{i({payload:{instance:e,logger:n},type:m})}))})).catch((()=>{})),()=>{t&&(n.verbose(`MsalProvider - Removing event callback ${t}`),e.removeEventCallback(t))}}),[e,n]);const a={instance:e,inProgress:o.inProgress,accounts:o.accounts,logger:n};return r.createElement(l.Provider,{value:a},t)}const y=()=>(0,r.useContext)(l);function A(e,t){return t&&(t.username||t.homeAccountId||t.localAccountId)?!!function(e,t){if(e.length>0&&(t.homeAccountId||t.localAccountId||t.username))return e.filter((e=>(!t.username||t.username.toLowerCase()===e.username.toLowerCase())&&(!t.homeAccountId||t.homeAccountId.toLowerCase()===e.homeAccountId.toLowerCase())&&(!t.localAccountId||t.localAccountId.toLowerCase()===e.localAccountId.toLowerCase())))[0]||null;return null}(e,t):e.length>0}function I(e){const{accounts:t,inProgress:n}=y(),[o,i]=(0,r.useState)((()=>n!==s.$H.Startup&&A(t,e)));return(0,r.useEffect)((()=>{i(A(t,e))}),[t,e]),o}function v({username:e,homeAccountId:t,localAccountId:n,children:o}){const i=y();return I((0,r.useMemo)((()=>({username:e,homeAccountId:t,localAccountId:n})),[e,t,n]))&&i.inProgress!==s.$H.Startup?r.createElement(r.Fragment,null,d(o,i)):null}function k({username:e,homeAccountId:t,localAccountId:n,children:o}){const i=y();return I((0,r.useMemo)((()=>({username:e,homeAccountId:t,localAccountId:n})),[e,t,n]))||i.inProgress===s.$H.Startup||i.inProgress===s.$H.HandleRedirect?null:r.createElement(r.Fragment,null,d(o,i))}}}]);

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.