{"version":3,"sources":["webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/BaseInteractionClient.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/StandardInteractionClient.js","webpack:///./node_modules/@azure/msal-browser/dist/error/BrowserConfigurationAuthError.js","webpack:///./node_modules/@azure/msal-browser/dist/encode/Base64Decode.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/SilentRefreshClient.js","webpack:///./node_modules/@azure/msal-browser/dist/event/EventHandler.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_handler/RedirectHandler.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/RedirectClient.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/SilentIframeClient.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_handler/PopupHandler.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/PopupClient.js","webpack:///./node_modules/@azure/msal-browser/dist/interaction_client/SilentCacheClient.js","webpack:///./node_modules/@azure/msal-browser/dist/event/EventType.js","webpack:///./node_modules/@azure/msal-browser/dist/error/BrowserAuthError.js","webpack:///./node_modules/@azure/msal-browser/dist/navigation/NavigationClient.js","webpack:///./node_modules/@azure/msal-browser/dist/encode/Base64Encode.js"],"names":["BaseInteractionClient","config","storageImpl","browserCrypto","logger","eventHandler","correlationId","this","browserStorage","networkClient","system","createNewGuid","clone","BrowserConstants","MSAL_SKU","prototype","clearCacheOnLogout","account","_a","label","AccountEntity","accountInfoIsEqual","getActiveAccount","verbose","setActiveAccount","trys","push","removeAccount","generateAccountCacheKey","sent","error","clear","clearKeystore","initializeBaseRequest","request","authority","auth","scopes","authenticationScheme","SSH","sshJwk","ClientConfigurationError","createMissingSshJwkError","sshKid","createMissingSshKidError","BEARER","validatedRequest","getRedirectUri","requestRedirectUri","redirectUri","BrowserUtils","getCurrentUri","UrlString","getAbsoluteUrl","initializeServerTelemetryManager","apiId","forceRefresh","telemetryPayload","clientId","wrapperSKU","getWrapperMetadata","wrapperVer","ServerTelemetryManager","_super","StandardInteractionClient","navigationClient","_this","call","initializeAuthorizationCodeRequest","generatedPkceParams","authCodeRequest","generatePkceCodes","code","codeVerifier","verifier","codeChallenge","challenge","codeChallengeMethod","Constants","S256_CODE_CHALLENGE_METHOD","initializeLogoutRequest","logoutRequest","isInteractionInProgress","BrowserAuthError","createInteractionInProgressError","validLogoutRequest","postLogoutRedirectUri","createAuthCodeClient","serverTelemetryManager","authorityUrl","clientConfig","getClientConfiguration","AuthorizationCodeClient","requestAuthority","discoveredAuthority","getDiscoveredAuthority","authOptions","clientCapabilities","systemOptions","tokenRenewalOffsetSeconds","preventCorsPreflight","loggerOptions","loggerCallback","piiLoggingEnabled","logLevel","cryptoInterface","networkInterface","storageInterface","libraryInfo","sku","version","cpu","os","validateAndExtractStateFromHash","hash","interactionType","requestCorrelationId","serverParams","getDeserializedHash","state","createHashDoesNotContainStateError","platformStateObj","BrowserProtocolUtils","extractBrowserRequestState","createUnableToParseStateError","createStateInteractionTypeMismatchError","authorityOptions","protocolMode","knownAuthorities","cloudDiscoveryMetadata","authorityMetadata","AuthorityFactory","createDiscoveredInstance","preflightInteractiveRequest","blockReloadInHiddenIframes","initializeAuthorizationRequest","browserState","ProtocolUtils","setRequestState","nonce","responseMode","FRAGMENT","verbosePii","StringUtils","isEmpty","loginHint","legacyLoginHint","getLegacyLoginHint","updateCacheEntries","BrowserConfigurationAuthErrorMessage","redirectUriNotSet","desc","postLogoutUriNotSet","storageNotSupportedError","noRedirectCallbacksSet","invalidCallbackObject","stubPcaInstanceCalled","inMemRedirectUnavailable","BrowserConfigurationAuthError","errorCode","errorMessage","name","Object","setPrototypeOf","createRedirectUriEmptyError","createPostLogoutRedirectUriEmptyError","createStorageNotSupportedError","givenStorageLocation","createRedirectCallbacksNotSetError","createStubPcaInstanceCalledError","createInMemoryRedirectUnavailableError","Base64Decode","decode","input","encodedString","replace","length","Error","inputUtf8Arr","base64DecToArr","utf8ArrToString","base64String","nBlockSize","sB64Enc","nInLen","nOutLen","Math","ceil","aBytes","Uint8Array","nMod3","nMod4","nUint24","nOutIdx","nInIdx","b64ToUint6","charCodeAt","charNum","SilentRefreshClient","apply","arguments","acquireToken","silentRequest","refreshTokenClient","acquireTokenSilent_silentFlow","createRefreshTokenClient","acquireTokenByRefreshToken","catch","e","setCorrelationId","cacheFailedRequest","logout","Promise","reject","createSilentLogoutUnsupportedError","EventHandler","eventCallbacks","Map","listeningToStorageEvents","handleAccountCacheChange","bind","addEventCallback","callback","window","callbackId","set","removeEventCallback","delete","enableAccountStorageEvents","addEventListener","disableAccountStorageEvents","removeEventListener","emitEvent","eventType","payload","message_1","timestamp","Date","now","info","forEach","cacheValue","newValue","oldValue","parsedValue","JSON","parse","isAccountEntity","accountEntity","toObject","accountInfo","getAccountInfo","ACCOUNT_ADDED","undefined","ACCOUNT_REMOVED","RedirectHandler","authCodeModule","browserRequestLogger","initiateAuthRequest","requestUrl","params","navigationOptions","navigate","redirectStartPage","setTemporaryCache","ORIGIN_URI","setInteractionInProgress","CORRELATION_ID","cacheCodeRequest","infoPii","acquireTokenRedirect","timeout","redirectTimeout","noHistory","onRedirectNavigate","navigateExternal","createEmptyNavigationUriError","handleCodeResponse","locationHash","networkModule","stateKey","requestState","authCodeResponse","nonceKey","cachedNonce","cachedCcsCred","tokenResponse","createEmptyHashError","generateStateKey","getTemporaryCache","ClientAuthError","createStateNotFoundError","authModule","handleFragmentResponse","generateNonceKey","cloud_instance_host_name","updateTokenEndpointAuthority","client_info","clientInfo","checkCcsCredentials","ccsCredential","ThrottlingUtils","removeThrottle","cleanRequestByState","InteractionHandler","RedirectClient","validRequest","authClient","interactionHandler","navigateUrl","e_1","Redirect","getAuthCodeUrl","getRedirectStartPage","redirectNavigationTimeout","AuthError","handleRedirectPromise","responseHash","loginRequestUrl","loginRequestUrlNormalized","currentUrlNormalized","handleHashResult","processHashOnRedirect","homepage","e_2","getRedirectResponseHash","location","cleanRequestByInteractionType","clearHash","removeHashFromUrl","href","navigateToLoginRequestUrl","handleHash","indexOf","replaceHash","isInIframe","allowRedirectInIframe","URL_HASH","getHomepage","warning","navigateInternal","isResponseHash","hashContainsKnownProperties","cachedHash","removeItem","generateCacheKey","cachedRequest","currentAuthority","getCachedRequest","getCachedAuthority","createNoCachedAuthorityError","logoutUri","e_3","EventType","LOGOUT_START","getLogoutUri","LOGOUT_SUCCESS","LOGOUT_FAILURE","LOGOUT_END","requestStartPage","cloudInstanceHostname","cloudInstanceAuthorityUri","cloudInstanceAuthority","tenant","options","updateAuthority","CCS_CREDENTIAL","errorPii","SilentHandler","navigateFrameWait","_b","loadFrame","loadFrameSync","monitorIframeForHash","iframe","resolve","nowMark","performance","timeoutMark","intervalId","setInterval","removeHiddenIframe","clearInterval","createMonitorIframeTimeoutError","EMPTY_STRING","contentWindow","contentHash","POLL_INTERVAL_MS","urlNavigate","frameHandle","createHiddenIframe","setTimeout","src","authFrame","document","createElement","style","visibility","position","width","height","border","setAttribute","getElementsByTagName","appendChild","body","parentNode","removeChild","SilentIframeClient","sid","username","prompt","NONE","createSilentPromptValueError","Silent","silentTokenHelper","silentHandler","msalFrame","iframeHashTimeout","PopupHandler","popupUtils","PopupUtils","openPopup","monitorPopupForHash","popupWindow","monitorPopupForSameOrigin","then","cleanPopup","createHashDoesNotContainKnownPropertiesError","PopupClient","Popup","popupName","generatePopupName","popupWindowAttributes","asyncPopups","acquireTokenPopupAsync","popup","openSizedPopup","generateLogoutPopupName","mainWindowRedirectUri","logoutPopupAsync","popupParameters","result","acquireTokenPopup","POPUP_OPENED","close","absoluteUrl","logoutPopup","SilentCacheClient","silentAuthClient","cachedToken","error_1","createSilentFlowClient","acquireCachedToken","ACQUIRE_TOKEN_SUCCESS","signingKeyNotFoundInStorage","initializeSilentRequest","BrowserAuthErrorMessage","pkceNotGenerated","cryptoDoesNotExist","httpMethodNotImplementedError","emptyNavigateUriError","hashEmptyError","hashDoesNotContainStateError","hashDoesNotContainKnownPropertiesError","unableToParseStateError","stateInteractionTypeMismatchError","interactionInProgress","popupWindowError","emptyWindowError","userCancelledError","monitorPopupTimeoutError","monitorIframeTimeoutError","redirectInIframeError","blockTokenRequestsInHiddenIframeError","blockAcquireTokenInPopupsError","iframeClosedPrematurelyError","silentLogoutUnsupportedError","noAccountError","silentPromptValueError","noTokenRequestCacheError","unableToParseTokenRequestCacheError","noCachedAuthorityError","authRequestNotSet","invalidCacheType","notInBrowserEnvironment","databaseNotOpen","noNetworkConnectivity","postRequestFailed","getRequestFailed","failedToParseNetworkResponse","unableToLoadTokenError","databaseUnavailable","createPkceNotGeneratedError","errDetail","createCryptoNotAvailableError","createHttpMethodNotImplementedError","method","hashValue","createPopupWindowError","createEmptyWindowCreatedError","createUserCancelledError","createMonitorPopupTimeoutError","createRedirectInIframeError","windowParentCheck","createBlockReloadInHiddenIframeError","createBlockAcquireTokenInPopupsError","createIframeClosedPrematurelyError","createNoAccountError","givenPrompt","createUnableToParseTokenRequestCacheError","createNoTokenRequestCacheError","createAuthRequestNotSetError","createInvalidCacheTypeError","createNonBrowserEnvironmentError","createDatabaseNotOpenError","createNoNetworkConnectivityError","createPostRequestFailedError","errorDesc","endpoint","split","createGetRequestFailedError","createFailedToParseNetworkResponseError","createUnableToLoadTokenError","errorDetail","createSigningKeyNotFoundInStorageError","keyId","createDatabaseUnavailableError","NavigationClient","url","defaultNavigateWindow","assign","Base64Encode","urlEncode","encodeURIComponent","encode","urlEncodeArr","inputArr","base64EncArr","stringToUtf8Arr","eqLen","nLen","nIdx","String","fromCharCode","uint6ToB64","substring","nUint6"],"mappings":"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","file":"js/chunk-vendors~a954e904.18fdd03a.js","sourcesContent":["/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __awaiter, __generator, __spread, __assign } from '../_virtual/_tslib.js';\nimport { AccountEntity, AuthenticationScheme, ClientConfigurationError, UrlString, ServerTelemetryManager } from '@azure/msal-common';\nimport { version } from '../packageMetadata.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BaseInteractionClient = /** @class */ (function () {\r\n function BaseInteractionClient(config, storageImpl, browserCrypto, logger, eventHandler, correlationId) {\r\n this.config = config;\r\n this.browserStorage = storageImpl;\r\n this.browserCrypto = browserCrypto;\r\n this.networkClient = this.config.system.networkClient;\r\n this.eventHandler = eventHandler;\r\n this.correlationId = correlationId || this.browserCrypto.createNewGuid();\r\n this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);\r\n }\r\n BaseInteractionClient.prototype.clearCacheOnLogout = function (account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!account) return [3 /*break*/, 5];\r\n if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {\r\n this.logger.verbose(\"Setting active account to null\");\r\n this.browserStorage.setActiveAccount(null);\r\n }\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account))];\r\n case 2:\r\n _a.sent();\r\n this.logger.verbose(\"Cleared cache items belonging to the account provided in the logout request.\");\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a.sent();\r\n this.logger.error(\"Account provided in logout request was not found. Local cache unchanged.\");\r\n return [3 /*break*/, 4];\r\n case 4: return [3 /*break*/, 9];\r\n case 5:\r\n _a.trys.push([5, 8, , 9]);\r\n // Clear all accounts and tokens\r\n return [4 /*yield*/, this.browserStorage.clear()];\r\n case 6:\r\n // Clear all accounts and tokens\r\n _a.sent();\r\n // Clear any stray keys from IndexedDB\r\n return [4 /*yield*/, this.browserCrypto.clearKeystore()];\r\n case 7:\r\n // Clear any stray keys from IndexedDB\r\n _a.sent();\r\n this.logger.verbose(\"No account provided in logout request, clearing all cache items.\");\r\n return [3 /*break*/, 9];\r\n case 8:\r\n _a.sent();\r\n this.logger.error(\"Attempted to clear all MSAL cache items and failed. Local cache unchanged.\");\r\n return [3 /*break*/, 9];\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initializer function for all request APIs\r\n * @param request\r\n */\r\n BaseInteractionClient.prototype.initializeBaseRequest = function (request) {\r\n this.logger.verbose(\"Initializing BaseAuthRequest\");\r\n var authority = request.authority || this.config.auth.authority;\r\n var scopes = __spread(((request && request.scopes) || []));\r\n // Set authenticationScheme to BEARER if not explicitly set in the request\r\n if (!request.authenticationScheme) {\r\n request.authenticationScheme = AuthenticationScheme.BEARER;\r\n this.logger.verbose(\"Authentication Scheme wasn't explicitly set in request, defaulting to \\\"Bearer\\\" request\");\r\n }\r\n else {\r\n if (request.authenticationScheme === AuthenticationScheme.SSH) {\r\n if (!request.sshJwk) {\r\n throw ClientConfigurationError.createMissingSshJwkError();\r\n }\r\n if (!request.sshKid) {\r\n throw ClientConfigurationError.createMissingSshKidError();\r\n }\r\n }\r\n this.logger.verbose(\"Authentication Scheme set to \\\"\" + request.authenticationScheme + \"\\\" as configured in Auth request\");\r\n }\r\n var validatedRequest = __assign(__assign({}, request), { correlationId: this.correlationId, authority: authority,\r\n scopes: scopes });\r\n return validatedRequest;\r\n };\r\n /**\r\n *\r\n * Use to get the redirect uri configured in MSAL or null.\r\n * @param requestRedirectUri\r\n * @returns Redirect URL\r\n *\r\n */\r\n BaseInteractionClient.prototype.getRedirectUri = function (requestRedirectUri) {\r\n this.logger.verbose(\"getRedirectUri called\");\r\n var redirectUri = requestRedirectUri || this.config.auth.redirectUri || BrowserUtils.getCurrentUri();\r\n return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());\r\n };\r\n /**\r\n *\r\n * @param apiId\r\n * @param correlationId\r\n * @param forceRefresh\r\n */\r\n BaseInteractionClient.prototype.initializeServerTelemetryManager = function (apiId, forceRefresh) {\r\n this.logger.verbose(\"initializeServerTelemetryManager called\");\r\n var telemetryPayload = {\r\n clientId: this.config.auth.clientId,\r\n correlationId: this.correlationId,\r\n apiId: apiId,\r\n forceRefresh: forceRefresh || false,\r\n wrapperSKU: this.browserStorage.getWrapperMetadata()[0],\r\n wrapperVer: this.browserStorage.getWrapperMetadata()[1]\r\n };\r\n return new ServerTelemetryManager(telemetryPayload, this.browserStorage);\r\n };\r\n return BaseInteractionClient;\r\n}());\n\nexport { BaseInteractionClient };\n//# sourceMappingURL=BaseInteractionClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { Constants, UrlString, AuthorizationCodeClient, AuthorityFactory, ProtocolUtils, ResponseMode, StringUtils } from '@azure/msal-common';\nimport { BaseInteractionClient } from './BaseInteractionClient.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { version } from '../packageMetadata.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { BrowserProtocolUtils } from '../utils/BrowserProtocolUtils.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Defines the class structure and helper functions used by the \"standard\", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))\r\n */\r\nvar StandardInteractionClient = /** @class */ (function (_super) {\r\n __extends(StandardInteractionClient, _super);\r\n function StandardInteractionClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, correlationId) || this;\r\n _this.navigationClient = navigationClient;\r\n return _this;\r\n }\r\n /**\r\n * Generates an auth code request tied to the url request.\r\n * @param request\r\n */\r\n StandardInteractionClient.prototype.initializeAuthorizationCodeRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var generatedPkceParams, authCodeRequest;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"initializeAuthorizationRequest called\", request.correlationId);\r\n return [4 /*yield*/, this.browserCrypto.generatePkceCodes()];\r\n case 1:\r\n generatedPkceParams = _a.sent();\r\n authCodeRequest = __assign(__assign({}, request), { redirectUri: request.redirectUri, code: \"\", codeVerifier: generatedPkceParams.verifier });\r\n request.codeChallenge = generatedPkceParams.challenge;\r\n request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;\r\n return [2 /*return*/, authCodeRequest];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initializer for the logout request.\r\n * @param logoutRequest\r\n */\r\n StandardInteractionClient.prototype.initializeLogoutRequest = function (logoutRequest) {\r\n this.logger.verbose(\"initializeLogoutRequest called\", logoutRequest === null || logoutRequest === void 0 ? void 0 : logoutRequest.correlationId);\r\n // Check if interaction is in progress. Throw error if true.\r\n if (this.browserStorage.isInteractionInProgress()) {\r\n throw BrowserAuthError.createInteractionInProgressError();\r\n }\r\n var validLogoutRequest = __assign({ correlationId: this.browserCrypto.createNewGuid() }, logoutRequest);\r\n /*\r\n * Only set redirect uri if logout request isn't provided or the set uri isn't null.\r\n * Otherwise, use passed uri, config, or current page.\r\n */\r\n if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {\r\n if (logoutRequest && logoutRequest.postLogoutRedirectUri) {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to uri set on logout request\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\r\n }\r\n else if (this.config.auth.postLogoutRedirectUri === null) {\r\n this.logger.verbose(\"postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect\", validLogoutRequest.correlationId);\r\n }\r\n else if (this.config.auth.postLogoutRedirectUri) {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to configured uri\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\r\n }\r\n else {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to current page\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(BrowserUtils.getCurrentUri(), BrowserUtils.getCurrentUri());\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"postLogoutRedirectUri passed as null, not setting post logout redirect uri\", validLogoutRequest.correlationId);\r\n }\r\n return validLogoutRequest;\r\n };\r\n /**\r\n * Creates an Authorization Code Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n StandardInteractionClient.prototype.createAuthCodeClient = function (serverTelemetryManager, authorityUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new AuthorizationCodeClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Creates a Client Configuration object with the given request authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n StandardInteractionClient.prototype.getClientConfiguration = function (serverTelemetryManager, requestAuthority) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var discoveredAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getClientConfiguration called\");\r\n return [4 /*yield*/, this.getDiscoveredAuthority(requestAuthority)];\r\n case 1:\r\n discoveredAuthority = _a.sent();\r\n return [2 /*return*/, {\r\n authOptions: {\r\n clientId: this.config.auth.clientId,\r\n authority: discoveredAuthority,\r\n clientCapabilities: this.config.auth.clientCapabilities\r\n },\r\n systemOptions: {\r\n tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,\r\n preventCorsPreflight: true\r\n },\r\n loggerOptions: {\r\n loggerCallback: this.config.system.loggerOptions.loggerCallback,\r\n piiLoggingEnabled: this.config.system.loggerOptions.piiLoggingEnabled,\r\n logLevel: this.config.system.loggerOptions.logLevel,\r\n correlationId: this.correlationId\r\n },\r\n cryptoInterface: this.browserCrypto,\r\n networkInterface: this.networkClient,\r\n storageInterface: this.browserStorage,\r\n serverTelemetryManager: serverTelemetryManager,\r\n libraryInfo: {\r\n sku: BrowserConstants.MSAL_SKU,\r\n version: version,\r\n cpu: \"\",\r\n os: \"\"\r\n }\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * @param hash\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.validateAndExtractStateFromHash = function (hash, interactionType, requestCorrelationId) {\r\n this.logger.verbose(\"validateAndExtractStateFromHash called\", requestCorrelationId);\r\n // Deserialize hash fragment response parameters.\r\n var serverParams = UrlString.getDeserializedHash(hash);\r\n if (!serverParams.state) {\r\n throw BrowserAuthError.createHashDoesNotContainStateError();\r\n }\r\n var platformStateObj = BrowserProtocolUtils.extractBrowserRequestState(this.browserCrypto, serverParams.state);\r\n if (!platformStateObj) {\r\n throw BrowserAuthError.createUnableToParseStateError();\r\n }\r\n if (platformStateObj.interactionType !== interactionType) {\r\n throw BrowserAuthError.createStateInteractionTypeMismatchError();\r\n }\r\n this.logger.verbose(\"Returning state from hash\", requestCorrelationId);\r\n return serverParams.state;\r\n };\r\n /**\r\n * Used to get a discovered version of the default authority.\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n StandardInteractionClient.prototype.getDiscoveredAuthority = function (requestAuthority) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authorityOptions;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getDiscoveredAuthority called\");\r\n authorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata\r\n };\r\n if (!requestAuthority) return [3 /*break*/, 2];\r\n this.logger.verbose(\"Creating discovered authority with request authority\");\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(requestAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2:\r\n this.logger.verbose(\"Creating discovered authority with configured authority\");\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(this.config.auth.authority, this.config.system.networkClient, this.browserStorage, authorityOptions)];\r\n case 3: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Helper to validate app environment before making a request.\r\n * @param request\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.preflightInteractiveRequest = function (request, interactionType) {\r\n this.logger.verbose(\"preflightInteractiveRequest called, validating app environment\", request === null || request === void 0 ? void 0 : request.correlationId);\r\n // block the reload if it occurred inside a hidden iframe\r\n BrowserUtils.blockReloadInHiddenIframes();\r\n // Check if interaction is in progress. Throw error if true.\r\n if (this.browserStorage.isInteractionInProgress(false)) {\r\n throw BrowserAuthError.createInteractionInProgressError();\r\n }\r\n return this.initializeAuthorizationRequest(request, interactionType);\r\n };\r\n /**\r\n * Helper to initialize required request parameters for interactive APIs and ssoSilent()\r\n * @param request\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.initializeAuthorizationRequest = function (request, interactionType) {\r\n this.logger.verbose(\"initializeAuthorizationRequest called\");\r\n var redirectUri = this.getRedirectUri(request.redirectUri);\r\n var browserState = {\r\n interactionType: interactionType\r\n };\r\n var state = ProtocolUtils.setRequestState(this.browserCrypto, (request && request.state) || \"\", browserState);\r\n var validatedRequest = __assign(__assign({}, this.initializeBaseRequest(request)), { redirectUri: redirectUri, state: state, nonce: request.nonce || this.browserCrypto.createNewGuid(), responseMode: ResponseMode.FRAGMENT });\r\n var account = request.account || this.browserStorage.getActiveAccount();\r\n if (account) {\r\n this.logger.verbose(\"Setting validated request account\");\r\n this.logger.verbosePii(\"Setting validated request account: \" + account);\r\n validatedRequest.account = account;\r\n }\r\n // Check for ADAL/MSAL v1 SSO\r\n if (StringUtils.isEmpty(validatedRequest.loginHint) && !account) {\r\n var legacyLoginHint = this.browserStorage.getLegacyLoginHint();\r\n if (legacyLoginHint) {\r\n validatedRequest.loginHint = legacyLoginHint;\r\n }\r\n }\r\n this.browserStorage.updateCacheEntries(validatedRequest.state, validatedRequest.nonce, validatedRequest.authority, validatedRequest.loginHint || \"\", validatedRequest.account || null);\r\n return validatedRequest;\r\n };\r\n return StandardInteractionClient;\r\n}(BaseInteractionClient));\n\nexport { StandardInteractionClient };\n//# sourceMappingURL=StandardInteractionClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar BrowserConfigurationAuthErrorMessage = {\r\n redirectUriNotSet: {\r\n code: \"redirect_uri_empty\",\r\n desc: \"A redirect URI is required for all calls, and none has been set.\"\r\n },\r\n postLogoutUriNotSet: {\r\n code: \"post_logout_uri_empty\",\r\n desc: \"A post logout redirect has not been set.\"\r\n },\r\n storageNotSupportedError: {\r\n code: \"storage_not_supported\",\r\n desc: \"Given storage configuration option was not supported.\"\r\n },\r\n noRedirectCallbacksSet: {\r\n code: \"no_redirect_callbacks\",\r\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\r\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\r\n },\r\n invalidCallbackObject: {\r\n code: \"invalid_callback_object\",\r\n desc: \"The object passed for the callback was invalid. \" +\r\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\r\n },\r\n stubPcaInstanceCalled: {\r\n code: \"stubbed_public_client_application_called\",\r\n desc: \"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\"\r\n },\r\n inMemRedirectUnavailable: {\r\n code: \"in_mem_redirect_unavailable\",\r\n desc: \"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.\"\r\n }\r\n};\r\n/**\r\n * Browser library error class thrown by the MSAL.js library for SPAs\r\n */\r\nvar BrowserConfigurationAuthError = /** @class */ (function (_super) {\r\n __extends(BrowserConfigurationAuthError, _super);\r\n function BrowserConfigurationAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n _this.name = \"BrowserConfigurationAuthError\";\r\n Object.setPrototypeOf(_this, BrowserConfigurationAuthError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when the redirect uri is empty (not set by caller)\r\n */\r\n BrowserConfigurationAuthError.createRedirectUriEmptyError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code, BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\r\n */\r\n BrowserConfigurationAuthError.createPostLogoutRedirectUriEmptyError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code, BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\r\n };\r\n /**\r\n * Creates error thrown when given storage location is not supported.\r\n * @param givenStorageLocation\r\n */\r\n BrowserConfigurationAuthError.createStorageNotSupportedError = function (givenStorageLocation) {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc + \" Given Location: \" + givenStorageLocation);\r\n };\r\n /**\r\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\r\n */\r\n BrowserConfigurationAuthError.createRedirectCallbacksNotSetError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\r\n };\r\n /**\r\n * Creates error thrown when the stub instance of PublicClientApplication is called.\r\n */\r\n BrowserConfigurationAuthError.createStubPcaInstanceCalledError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code, BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\r\n };\r\n /*\r\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\r\n */\r\n BrowserConfigurationAuthError.createInMemoryRedirectUnavailableError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\r\n };\r\n return BrowserConfigurationAuthError;\r\n}(AuthError));\n\nexport { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage };\n//# sourceMappingURL=BrowserConfigurationAuthError.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar Base64Decode = /** @class */ (function () {\r\n function Base64Decode() {\r\n }\r\n /**\r\n * Returns a URL-safe plaintext decoded string from b64 encoded input.\r\n * @param input\r\n */\r\n Base64Decode.prototype.decode = function (input) {\r\n var encodedString = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n switch (encodedString.length % 4) {\r\n case 0:\r\n break;\r\n case 2:\r\n encodedString += \"==\";\r\n break;\r\n case 3:\r\n encodedString += \"=\";\r\n break;\r\n default:\r\n throw new Error(\"Invalid base64 string\");\r\n }\r\n var inputUtf8Arr = this.base64DecToArr(encodedString);\r\n return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);\r\n };\r\n /**\r\n * Decodes base64 into Uint8Array\r\n * @param base64String\r\n * @param nBlockSize\r\n */\r\n Base64Decode.prototype.base64DecToArr = function (base64String, nBlockSize) {\r\n var sB64Enc = base64String.replace(/[^A-Za-z0-9\\+\\/]/g, \"\");\r\n var nInLen = sB64Enc.length;\r\n var nOutLen = nBlockSize ? Math.ceil((nInLen * 3 + 1 >>> 2) / nBlockSize) * nBlockSize : nInLen * 3 + 1 >>> 2;\r\n var aBytes = new Uint8Array(nOutLen);\r\n for (var nMod3 = void 0, nMod4 = void 0, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {\r\n nMod4 = nInIdx & 3;\r\n nUint24 |= this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 18 - 6 * nMod4;\r\n if (nMod4 === 3 || nInLen - nInIdx === 1) {\r\n for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {\r\n aBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;\r\n }\r\n nUint24 = 0;\r\n }\r\n }\r\n return aBytes;\r\n };\r\n /**\r\n * Base64 string to array decoding helper\r\n * @param charNum\r\n */\r\n Base64Decode.prototype.b64ToUint6 = function (charNum) {\r\n return charNum > 64 && charNum < 91 ?\r\n charNum - 65\r\n : charNum > 96 && charNum < 123 ?\r\n charNum - 71\r\n : charNum > 47 && charNum < 58 ?\r\n charNum + 4\r\n : charNum === 43 ?\r\n 62\r\n : charNum === 47 ?\r\n 63\r\n :\r\n 0;\r\n };\r\n return Base64Decode;\r\n}());\n\nexport { Base64Decode };\n//# sourceMappingURL=Base64Decode.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { AuthError, RefreshTokenClient } from '@azure/msal-common';\nimport { ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentRefreshClient = /** @class */ (function (_super) {\r\n __extends(SilentRefreshClient, _super);\r\n function SilentRefreshClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Exchanges the refresh token for new tokens\r\n * @param request\r\n */\r\n SilentRefreshClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRequest, serverTelemetryManager, refreshTokenClient;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n silentRequest = __assign(__assign({}, request), this.initializeBaseRequest(request));\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\r\n return [4 /*yield*/, this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority)];\r\n case 1:\r\n refreshTokenClient = _a.sent();\r\n this.logger.verbose(\"Refresh token client created\");\r\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\r\n return [2 /*return*/, refreshTokenClient.acquireTokenByRefreshToken(silentRequest).catch(function (e) {\r\n if (e instanceof AuthError) {\r\n e.setCorrelationId(_this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e);\r\n throw e;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentRefreshClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Creates a Refresh Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n SilentRefreshClient.prototype.createRefreshTokenClient = function (serverTelemetryManager, authorityUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new RefreshTokenClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n return SilentRefreshClient;\r\n}(StandardInteractionClient));\n\nexport { SilentRefreshClient };\n//# sourceMappingURL=SilentRefreshClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { AccountEntity, CacheManager } from '@azure/msal-common';\nimport { EventType } from './EventType.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventHandler = /** @class */ (function () {\r\n function EventHandler(logger, browserCrypto) {\r\n this.eventCallbacks = new Map();\r\n this.logger = logger;\r\n this.browserCrypto = browserCrypto;\r\n this.listeningToStorageEvents = false;\r\n this.handleAccountCacheChange = this.handleAccountCacheChange.bind(this);\r\n }\r\n /**\r\n * Adds event callbacks to array\r\n * @param callback\r\n */\r\n EventHandler.prototype.addEventCallback = function (callback) {\r\n if (typeof window !== \"undefined\") {\r\n var callbackId = this.browserCrypto.createNewGuid();\r\n this.eventCallbacks.set(callbackId, callback);\r\n this.logger.verbose(\"Event callback registered with id: \" + callbackId);\r\n return callbackId;\r\n }\r\n return null;\r\n };\r\n /**\r\n * Removes callback with provided id from callback array\r\n * @param callbackId\r\n */\r\n EventHandler.prototype.removeEventCallback = function (callbackId) {\r\n this.eventCallbacks.delete(callbackId);\r\n this.logger.verbose(\"Event callback \" + callbackId + \" removed.\");\r\n };\r\n /**\r\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n EventHandler.prototype.enableAccountStorageEvents = function () {\r\n if (typeof window === \"undefined\") {\r\n return;\r\n }\r\n if (!this.listeningToStorageEvents) {\r\n this.logger.verbose(\"Adding account storage listener.\");\r\n this.listeningToStorageEvents = true;\r\n window.addEventListener(\"storage\", this.handleAccountCacheChange);\r\n }\r\n else {\r\n this.logger.verbose(\"Account storage listener already registered.\");\r\n }\r\n };\r\n /**\r\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n EventHandler.prototype.disableAccountStorageEvents = function () {\r\n if (typeof window === \"undefined\") {\r\n return;\r\n }\r\n if (this.listeningToStorageEvents) {\r\n this.logger.verbose(\"Removing account storage listener.\");\r\n window.removeEventListener(\"storage\", this.handleAccountCacheChange);\r\n this.listeningToStorageEvents = false;\r\n }\r\n else {\r\n this.logger.verbose(\"No account storage listener registered.\");\r\n }\r\n };\r\n /**\r\n * Emits events by calling callback with event message\r\n * @param eventType\r\n * @param interactionType\r\n * @param payload\r\n * @param error\r\n */\r\n EventHandler.prototype.emitEvent = function (eventType, interactionType, payload, error) {\r\n var _this = this;\r\n if (typeof window !== \"undefined\") {\r\n var message_1 = {\r\n eventType: eventType,\r\n interactionType: interactionType || null,\r\n payload: payload || null,\r\n error: error || null,\r\n timestamp: Date.now()\r\n };\r\n this.logger.info(\"Emitting event: \" + eventType);\r\n this.eventCallbacks.forEach(function (callback, callbackId) {\r\n _this.logger.verbose(\"Emitting event to callback \" + callbackId + \": \" + eventType);\r\n callback.apply(null, [message_1]);\r\n });\r\n }\r\n };\r\n /**\r\n * Emit account added/removed events when cached accounts are changed in a different tab or frame\r\n */\r\n EventHandler.prototype.handleAccountCacheChange = function (e) {\r\n try {\r\n var cacheValue = e.newValue || e.oldValue;\r\n if (!cacheValue) {\r\n return;\r\n }\r\n var parsedValue = JSON.parse(cacheValue);\r\n if (typeof parsedValue !== \"object\" || !AccountEntity.isAccountEntity(parsedValue)) {\r\n return;\r\n }\r\n var accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);\r\n var accountInfo = accountEntity.getAccountInfo();\r\n if (!e.oldValue && e.newValue) {\r\n this.logger.info(\"Account was added to cache in a different window\");\r\n this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);\r\n }\r\n else if (!e.newValue && e.oldValue) {\r\n this.logger.info(\"Account was removed from cache in a different window\");\r\n this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);\r\n }\r\n }\r\n catch (e) {\r\n return;\r\n }\r\n };\r\n return EventHandler;\r\n}());\n\nexport { EventHandler };\n//# sourceMappingURL=EventHandler.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, ThrottlingUtils, ClientAuthError } from '@azure/msal-common';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { TemporaryCacheKeys, ApiId } from '../utils/BrowserConstants.js';\nimport { InteractionHandler } from './InteractionHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RedirectHandler = /** @class */ (function (_super) {\r\n __extends(RedirectHandler, _super);\r\n function RedirectHandler(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger, browserCrypto) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) || this;\r\n _this.browserCrypto = browserCrypto;\r\n return _this;\r\n }\r\n /**\r\n * Redirects window to given URL.\r\n * @param urlNavigate\r\n */\r\n RedirectHandler.prototype.initiateAuthRequest = function (requestUrl, params) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var navigationOptions, navigate;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest called\");\r\n if (!!StringUtils.isEmpty(requestUrl)) return [3 /*break*/, 7];\r\n // Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true\r\n if (params.redirectStartPage) {\r\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page\");\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, params.redirectStartPage, true);\r\n }\r\n // Set interaction status in the library.\r\n this.browserStorage.setInteractionInProgress(true);\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, this.authCodeRequest.correlationId, true);\r\n this.browserStorage.cacheCodeRequest(this.authCodeRequest, this.browserCrypto);\r\n this.browserRequestLogger.infoPii(\"RedirectHandler.initiateAuthRequest: Navigate to: \" + requestUrl);\r\n navigationOptions = {\r\n apiId: ApiId.acquireTokenRedirect,\r\n timeout: params.redirectTimeout,\r\n noHistory: false\r\n };\r\n if (!(typeof params.onRedirectNavigate === \"function\")) return [3 /*break*/, 4];\r\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback\");\r\n navigate = params.onRedirectNavigate(requestUrl);\r\n if (!(navigate !== false)) return [3 /*break*/, 2];\r\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating\");\r\n return [4 /*yield*/, params.navigationClient.navigateExternal(requestUrl, navigationOptions)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 2:\r\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation\");\r\n return [2 /*return*/];\r\n case 3: return [3 /*break*/, 6];\r\n case 4:\r\n // Navigate window to request URL\r\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: Navigating window to navigate url\");\r\n return [4 /*yield*/, params.navigationClient.navigateExternal(requestUrl, navigationOptions)];\r\n case 5:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 6: return [3 /*break*/, 8];\r\n case 7:\r\n // Throw error if request URL is empty.\r\n this.browserRequestLogger.info(\"RedirectHandler.initiateAuthRequest: Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Handle authorization code response in the window.\r\n * @param hash\r\n */\r\n RedirectHandler.prototype.handleCodeResponse = function (locationHash, state, authority, networkModule, clientId) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, authCodeResponse, nonceKey, cachedNonce, cachedCcsCred, tokenResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.browserRequestLogger.verbose(\"RedirectHandler.handleCodeResponse called\");\r\n // Check that location hash isn't empty.\r\n if (StringUtils.isEmpty(locationHash)) {\r\n throw BrowserAuthError.createEmptyHashError(locationHash);\r\n }\r\n // Interaction is completed - remove interaction status.\r\n this.browserStorage.setInteractionInProgress(false);\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\r\n nonceKey = this.browserStorage.generateNonceKey(requestState);\r\n cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\r\n // Assign code to request\r\n this.authCodeRequest.code = authCodeResponse.code;\r\n if (!authCodeResponse.cloud_instance_host_name) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n authCodeResponse.nonce = cachedNonce || undefined;\r\n authCodeResponse.state = requestState;\r\n // Add CCS parameters if available\r\n if (authCodeResponse.client_info) {\r\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\r\n }\r\n else {\r\n cachedCcsCred = this.checkCcsCredentials();\r\n if (cachedCcsCred) {\r\n this.authCodeRequest.ccsCredential = cachedCcsCred;\r\n }\r\n }\r\n // Remove throttle if it exists\r\n if (clientId) {\r\n ThrottlingUtils.removeThrottle(this.browserStorage, clientId, this.authCodeRequest);\r\n }\r\n return [4 /*yield*/, this.authModule.acquireToken(this.authCodeRequest, authCodeResponse)];\r\n case 3:\r\n tokenResponse = _a.sent();\r\n this.browserStorage.cleanRequestByState(state);\r\n return [2 /*return*/, tokenResponse];\r\n }\r\n });\r\n });\r\n };\r\n return RedirectHandler;\r\n}(InteractionHandler));\n\nexport { RedirectHandler };\n//# sourceMappingURL=RedirectHandler.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { AuthError, UrlString } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { InteractionType, ApiId, TemporaryCacheKeys } from '../utils/BrowserConstants.js';\nimport { RedirectHandler } from '../interaction_handler/RedirectHandler.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RedirectClient = /** @class */ (function (_super) {\r\n __extends(RedirectClient, _super);\r\n function RedirectClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Redirects the page to the /authorize endpoint of the IDP\r\n * @param request\r\n */\r\n RedirectClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var validRequest, serverTelemetryManager, authCodeRequest, authClient, interactionHandler, navigateUrl, redirectStartPage, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n validRequest = this.preflightInteractiveRequest(request, InteractionType.Redirect);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 6, , 7]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(validRequest)];\r\n case 2:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, validRequest.authority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.browserCrypto);\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(validRequest)];\r\n case 4:\r\n navigateUrl = _a.sent();\r\n redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);\r\n this.logger.verbosePii(\"Redirect start page: \" + redirectStartPage);\r\n return [4 /*yield*/, interactionHandler.initiateAuthRequest(navigateUrl, {\r\n navigationClient: this.navigationClient,\r\n redirectTimeout: this.config.system.redirectNavigationTimeout,\r\n redirectStartPage: redirectStartPage,\r\n onRedirectNavigate: request.onRedirectNavigate\r\n })];\r\n case 5: \r\n // Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.\r\n return [2 /*return*/, _a.sent()];\r\n case 6:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(validRequest.state);\r\n throw e_1;\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Checks if navigateToLoginRequestUrl is set, and:\r\n * - if true, performs logic to cache and navigate\r\n * - if false, handles hash string and parses response\r\n * @param hash\r\n */\r\n RedirectClient.prototype.handleRedirectPromise = function (hash) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, responseHash, state, loginRequestUrl, loginRequestUrlNormalized, currentUrlNormalized, handleHashResult, navigationOptions, processHashOnRedirect, homepage, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 10, , 11]);\r\n if (!this.browserStorage.isInteractionInProgress(true)) {\r\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n responseHash = this.getRedirectResponseHash(hash || window.location.hash);\r\n if (!responseHash) {\r\n // Not a recognized server response hash or hash not associated with a redirect request\r\n this.logger.info(\"handleRedirectPromise did not detect a response hash as a result of a redirect. Cleaning temporary cache.\");\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n return [2 /*return*/, null];\r\n }\r\n state = void 0;\r\n try {\r\n state = this.validateAndExtractStateFromHash(responseHash, InteractionType.Redirect);\r\n BrowserUtils.clearHash(window);\r\n this.logger.verbose(\"State extracted from hash\");\r\n }\r\n catch (e) {\r\n this.logger.info(\"handleRedirectPromise was unable to extract state due to: \" + e);\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n return [2 /*return*/, null];\r\n }\r\n loginRequestUrl = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, true) || \"\";\r\n loginRequestUrlNormalized = UrlString.removeHashFromUrl(loginRequestUrl);\r\n currentUrlNormalized = UrlString.removeHashFromUrl(window.location.href);\r\n if (!(loginRequestUrlNormalized === currentUrlNormalized && this.config.auth.navigateToLoginRequestUrl)) return [3 /*break*/, 3];\r\n // We are on the page we need to navigate to - handle hash\r\n this.logger.verbose(\"Current page is loginRequestUrl, handling hash\");\r\n return [4 /*yield*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n case 2:\r\n handleHashResult = _a.sent();\r\n if (loginRequestUrl.indexOf(\"#\") > -1) {\r\n // Replace current hash with non-msal hash, if present\r\n BrowserUtils.replaceHash(loginRequestUrl);\r\n }\r\n return [2 /*return*/, handleHashResult];\r\n case 3:\r\n if (!!this.config.auth.navigateToLoginRequestUrl) return [3 /*break*/, 4];\r\n this.logger.verbose(\"NavigateToLoginRequestUrl set to false, handling hash\");\r\n return [2 /*return*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n case 4:\r\n if (!(!BrowserUtils.isInIframe() || this.config.system.allowRedirectInIframe)) return [3 /*break*/, 9];\r\n /*\r\n * Returned from authority using redirect - need to perform navigation before processing response\r\n * Cache the hash to be retrieved after the next redirect\r\n */\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.URL_HASH, responseHash, true);\r\n navigationOptions = {\r\n apiId: ApiId.handleRedirectPromise,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: true\r\n };\r\n processHashOnRedirect = true;\r\n if (!(!loginRequestUrl || loginRequestUrl === \"null\")) return [3 /*break*/, 6];\r\n homepage = BrowserUtils.getHomepage();\r\n // Cache the homepage under ORIGIN_URI to ensure cached hash is processed on homepage\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, homepage, true);\r\n this.logger.warning(\"Unable to get valid login request url from cache, redirecting to home page\");\r\n return [4 /*yield*/, this.navigationClient.navigateInternal(homepage, navigationOptions)];\r\n case 5:\r\n processHashOnRedirect = _a.sent();\r\n return [3 /*break*/, 8];\r\n case 6:\r\n // Navigate to page that initiated the redirect request\r\n this.logger.verbose(\"Navigating to loginRequestUrl: \" + loginRequestUrl);\r\n return [4 /*yield*/, this.navigationClient.navigateInternal(loginRequestUrl, navigationOptions)];\r\n case 7:\r\n processHashOnRedirect = _a.sent();\r\n _a.label = 8;\r\n case 8:\r\n // If navigateInternal implementation returns false, handle the hash now\r\n if (!processHashOnRedirect) {\r\n return [2 /*return*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n }\r\n _a.label = 9;\r\n case 9: return [2 /*return*/, null];\r\n case 10:\r\n e_2 = _a.sent();\r\n if (e_2 instanceof AuthError) {\r\n e_2.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_2);\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n throw e_2;\r\n case 11: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Gets the response hash for a redirect request\r\n * Returns null if interactionType in the state value is not \"redirect\" or the hash does not contain known properties\r\n * @param hash\r\n */\r\n RedirectClient.prototype.getRedirectResponseHash = function (hash) {\r\n this.logger.verbose(\"getRedirectResponseHash called\");\r\n // Get current location hash from window or cache.\r\n var isResponseHash = UrlString.hashContainsKnownProperties(hash);\r\n var cachedHash = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.URL_HASH, true);\r\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.URL_HASH));\r\n if (isResponseHash) {\r\n this.logger.verbose(\"Hash contains known properties, returning response hash\");\r\n return hash;\r\n }\r\n this.logger.verbose(\"Hash does not contain known properties, returning cached hash\");\r\n return cachedHash;\r\n };\r\n /**\r\n * Checks if hash exists and handles in window.\r\n * @param hash\r\n * @param state\r\n */\r\n RedirectClient.prototype.handleHash = function (hash, state, serverTelemetryManager) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cachedRequest, currentAuthority, authClient, interactionHandler;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cachedRequest = this.browserStorage.getCachedRequest(state, this.browserCrypto);\r\n this.logger.verbose(\"handleHash called, retrieved cached request\");\r\n currentAuthority = this.browserStorage.getCachedAuthority(state);\r\n if (!currentAuthority) {\r\n throw BrowserAuthError.createNoCachedAuthorityError();\r\n }\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, currentAuthority)];\r\n case 1:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.browserCrypto);\r\n return [4 /*yield*/, interactionHandler.handleCodeResponse(hash, state, authClient.authority, this.networkClient, this.config.auth.clientId)];\r\n case 2: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\r\n * Default behaviour is to redirect the user to `window.location.href`.\r\n * @param logoutRequest\r\n */\r\n RedirectClient.prototype.logout = function (logoutRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var validLogoutRequest, serverTelemetryManager, navigationOptions, authClient, logoutUri, navigate, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"logoutRedirect called\");\r\n validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logout);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 10, , 11]);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Redirect, logoutRequest);\r\n // Clear cache on logout\r\n return [4 /*yield*/, this.clearCacheOnLogout(validLogoutRequest.account)];\r\n case 2:\r\n // Clear cache on logout\r\n _a.sent();\r\n navigationOptions = {\r\n apiId: ApiId.logout,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, logoutRequest && logoutRequest.authority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n logoutUri = authClient.getLogoutUri(validLogoutRequest);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Redirect, validLogoutRequest);\r\n if (!(logoutRequest && typeof logoutRequest.onRedirectNavigate === \"function\")) return [3 /*break*/, 7];\r\n navigate = logoutRequest.onRedirectNavigate(logoutUri);\r\n if (!(navigate !== false)) return [3 /*break*/, 5];\r\n this.logger.verbose(\"Logout onRedirectNavigate did not return false, navigating\");\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(logoutUri, navigationOptions)];\r\n case 4:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 5:\r\n this.logger.verbose(\"Logout onRedirectNavigate returned false, stopping navigation\");\r\n _a.label = 6;\r\n case 6: return [3 /*break*/, 9];\r\n case 7: return [4 /*yield*/, this.navigationClient.navigateExternal(logoutUri, navigationOptions)];\r\n case 8:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 9: return [3 /*break*/, 11];\r\n case 10:\r\n e_3 = _a.sent();\r\n if (e_3 instanceof AuthError) {\r\n e_3.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Redirect, null, e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\r\n throw e_3;\r\n case 11:\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Use to get the redirectStartPage either from request or use current window\r\n * @param requestStartPage\r\n */\r\n RedirectClient.prototype.getRedirectStartPage = function (requestStartPage) {\r\n var redirectStartPage = requestStartPage || window.location.href;\r\n return UrlString.getAbsoluteUrl(redirectStartPage, BrowserUtils.getCurrentUri());\r\n };\r\n return RedirectClient;\r\n}(StandardInteractionClient));\n\nexport { RedirectClient };\n//# sourceMappingURL=RedirectClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, ClientAuthError, AuthorityFactory } from '@azure/msal-common';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { TemporaryCacheKeys } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Abstract class which defines operations for a browser interaction handling class.\r\n */\r\nvar InteractionHandler = /** @class */ (function () {\r\n function InteractionHandler(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) {\r\n this.authModule = authCodeModule;\r\n this.browserStorage = storageImpl;\r\n this.authCodeRequest = authCodeRequest;\r\n this.browserRequestLogger = browserRequestLogger;\r\n }\r\n /**\r\n * Function to handle response parameters from hash.\r\n * @param locationHash\r\n */\r\n InteractionHandler.prototype.handleCodeResponse = function (locationHash, state, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, authCodeResponse, nonceKey, cachedNonce, cachedCcsCred, tokenResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.browserRequestLogger.verbose(\"InteractionHandler.handleCodeResponse called\");\r\n // Check that location hash isn't empty.\r\n if (StringUtils.isEmpty(locationHash)) {\r\n throw BrowserAuthError.createEmptyHashError(locationHash);\r\n }\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\r\n nonceKey = this.browserStorage.generateNonceKey(requestState);\r\n cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\r\n // Assign code to request\r\n this.authCodeRequest.code = authCodeResponse.code;\r\n if (!authCodeResponse.cloud_instance_host_name) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n authCodeResponse.nonce = cachedNonce || undefined;\r\n authCodeResponse.state = requestState;\r\n // Add CCS parameters if available\r\n if (authCodeResponse.client_info) {\r\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\r\n }\r\n else {\r\n cachedCcsCred = this.checkCcsCredentials();\r\n if (cachedCcsCred) {\r\n this.authCodeRequest.ccsCredential = cachedCcsCred;\r\n }\r\n }\r\n return [4 /*yield*/, this.authModule.acquireToken(this.authCodeRequest, authCodeResponse)];\r\n case 3:\r\n tokenResponse = _a.sent();\r\n this.browserStorage.cleanRequestByState(state);\r\n return [2 /*return*/, tokenResponse];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Updates authority based on cloudInstanceHostname\r\n * @param cloudInstanceHostname\r\n * @param authority\r\n * @param networkModule\r\n */\r\n InteractionHandler.prototype.updateTokenEndpointAuthority = function (cloudInstanceHostname, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cloudInstanceAuthorityUri, cloudInstanceAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cloudInstanceAuthorityUri = \"https://\" + cloudInstanceHostname + \"/\" + authority.tenant + \"/\";\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(cloudInstanceAuthorityUri, networkModule, this.browserStorage, authority.options)];\r\n case 1:\r\n cloudInstanceAuthority = _a.sent();\r\n this.authModule.updateAuthority(cloudInstanceAuthority);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Looks up ccs creds in the cache\r\n */\r\n InteractionHandler.prototype.checkCcsCredentials = function () {\r\n // Look up ccs credential in temp cache\r\n var cachedCcsCred = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, true);\r\n if (cachedCcsCred) {\r\n try {\r\n return JSON.parse(cachedCcsCred);\r\n }\r\n catch (e) {\r\n this.authModule.logger.error(\"Cache credential could not be parsed\");\r\n this.authModule.logger.errorPii(\"Cache credential could not be parsed: \" + cachedCcsCred);\r\n }\r\n }\r\n return null;\r\n };\r\n return InteractionHandler;\r\n}());\n\nexport { InteractionHandler };\n//# sourceMappingURL=InteractionHandler.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, Constants, UrlString } from '@azure/msal-common';\nimport { InteractionHandler } from './InteractionHandler.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { DEFAULT_IFRAME_TIMEOUT_MS } from '../config/Configuration.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentHandler = /** @class */ (function (_super) {\r\n __extends(SilentHandler, _super);\r\n function SilentHandler(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger, navigateFrameWait) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) || this;\r\n _this.navigateFrameWait = navigateFrameWait;\r\n return _this;\r\n }\r\n /**\r\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\r\n * @param urlNavigate\r\n * @param userRequestScopes\r\n */\r\n SilentHandler.prototype.initiateAuthRequest = function (requestUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (StringUtils.isEmpty(requestUrl)) {\r\n // Throw error if request URL is empty.\r\n this.browserRequestLogger.info(\"Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n }\r\n if (!this.navigateFrameWait) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.loadFrame(requestUrl)];\r\n case 1:\r\n _a = _b.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n _a = this.loadFrameSync(requestUrl);\r\n _b.label = 3;\r\n case 3: return [2 /*return*/, _a];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\r\n * @param iframe\r\n * @param timeout\r\n */\r\n SilentHandler.prototype.monitorIframeForHash = function (iframe, timeout) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\r\n _this.browserRequestLogger.warning(\"system.loadFrameTimeout or system.iframeHashTimeout set to lower (\" + timeout + \"ms) than the default (\" + DEFAULT_IFRAME_TIMEOUT_MS + \"ms). This may result in timeouts.\");\r\n }\r\n /*\r\n * Polling for iframes can be purely timing based,\r\n * since we don't need to account for interaction.\r\n */\r\n var nowMark = window.performance.now();\r\n var timeoutMark = nowMark + timeout;\r\n var intervalId = setInterval(function () {\r\n if (window.performance.now() > timeoutMark) {\r\n _this.removeHiddenIframe(iframe);\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\r\n return;\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n var contentWindow = iframe.contentWindow;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\r\n }\r\n catch (e) { }\r\n if (StringUtils.isEmpty(href)) {\r\n return;\r\n }\r\n var contentHash = contentWindow ? contentWindow.location.hash : Constants.EMPTY_STRING;\r\n if (UrlString.hashContainsKnownProperties(contentHash)) {\r\n // Success case\r\n _this.removeHiddenIframe(iframe);\r\n clearInterval(intervalId);\r\n resolve(contentHash);\r\n return;\r\n }\r\n }, BrowserConstants.POLL_INTERVAL_MS);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n * Loads iframe with authorization endpoint URL\r\n * @ignore\r\n */\r\n SilentHandler.prototype.loadFrame = function (urlNavigate) {\r\n /*\r\n * This trick overcomes iframe navigation in IE\r\n * IE does not load the page consistently in iframe\r\n */\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var frameHandle = _this.createHiddenIframe();\r\n setTimeout(function () {\r\n if (!frameHandle) {\r\n reject(\"Unable to load iframe\");\r\n return;\r\n }\r\n frameHandle.src = urlNavigate;\r\n resolve(frameHandle);\r\n }, _this.navigateFrameWait);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\r\n * @param urlNavigate\r\n * @param frameName\r\n * @param logger\r\n */\r\n SilentHandler.prototype.loadFrameSync = function (urlNavigate) {\r\n var frameHandle = this.createHiddenIframe();\r\n frameHandle.src = urlNavigate;\r\n return frameHandle;\r\n };\r\n /**\r\n * @hidden\r\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\r\n * @ignore\r\n */\r\n SilentHandler.prototype.createHiddenIframe = function () {\r\n var authFrame = document.createElement(\"iframe\");\r\n authFrame.style.visibility = \"hidden\";\r\n authFrame.style.position = \"absolute\";\r\n authFrame.style.width = authFrame.style.height = \"0\";\r\n authFrame.style.border = \"0\";\r\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\r\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\r\n return authFrame;\r\n };\r\n /**\r\n * @hidden\r\n * Removes a hidden iframe from the page.\r\n * @ignore\r\n */\r\n SilentHandler.prototype.removeHiddenIframe = function (iframe) {\r\n if (document.body === iframe.parentNode) {\r\n document.body.removeChild(iframe);\r\n }\r\n };\r\n return SilentHandler;\r\n}(InteractionHandler));\n\nexport { SilentHandler };\n//# sourceMappingURL=SilentHandler.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { AuthError, StringUtils, PromptValue } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionType } from '../utils/BrowserConstants.js';\nimport { SilentHandler } from '../interaction_handler/SilentHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentIframeClient = /** @class */ (function (_super) {\r\n __extends(SilentIframeClient, _super);\r\n function SilentIframeClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, correlationId) || this;\r\n _this.apiId = apiId;\r\n return _this;\r\n }\r\n /**\r\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none\r\n * @param request\r\n */\r\n SilentIframeClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRequest, serverTelemetryManager, authCodeRequest, authClient, navigateUrl, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"acquireTokenByIframe called\");\r\n // Check that we have some SSO data\r\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\r\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\r\n }\r\n // Check that prompt is set to none, throw error if it is set to anything else.\r\n if (request.prompt && request.prompt !== PromptValue.NONE) {\r\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\r\n }\r\n silentRequest = this.initializeAuthorizationRequest(__assign(__assign({}, request), { prompt: PromptValue.NONE }), InteractionType.Silent);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 6, , 7]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(silentRequest)];\r\n case 2:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(silentRequest)];\r\n case 4:\r\n navigateUrl = _a.sent();\r\n return [4 /*yield*/, this.silentTokenHelper(navigateUrl, authCodeRequest, authClient, this.logger)];\r\n case 5: return [2 /*return*/, _a.sent()];\r\n case 6:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(silentRequest.state);\r\n throw e_1;\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentIframeClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Helper which acquires an authorization code silently using a hidden iframe from given url\r\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\r\n * @param navigateUrl\r\n * @param userRequestScopes\r\n */\r\n SilentIframeClient.prototype.silentTokenHelper = function (navigateUrl, authCodeRequest, authClient, browserRequestLogger) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentHandler, msalFrame, hash, state;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, browserRequestLogger, this.config.system.navigateFrameWait);\r\n return [4 /*yield*/, silentHandler.initiateAuthRequest(navigateUrl)];\r\n case 1:\r\n msalFrame = _a.sent();\r\n return [4 /*yield*/, silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout)];\r\n case 2:\r\n hash = _a.sent();\r\n state = this.validateAndExtractStateFromHash(hash, InteractionType.Silent, authCodeRequest.correlationId);\r\n // Handle response from hash string\r\n return [2 /*return*/, silentHandler.handleCodeResponse(hash, state, authClient.authority, this.networkClient)];\r\n }\r\n });\r\n });\r\n };\r\n return SilentIframeClient;\r\n}(StandardInteractionClient));\n\nexport { SilentIframeClient };\n//# sourceMappingURL=SilentIframeClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { StringUtils, UrlString } from '@azure/msal-common';\nimport { InteractionHandler } from './InteractionHandler.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { PopupUtils } from '../utils/PopupUtils.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This class implements the interaction handler base class for browsers. It is written specifically for handling\r\n * popup window scenarios. It includes functions for monitoring the popup window for a hash.\r\n */\r\nvar PopupHandler = /** @class */ (function (_super) {\r\n __extends(PopupHandler, _super);\r\n function PopupHandler(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) || this;\r\n // Properly sets this reference for the unload event.\r\n _this.popupUtils = new PopupUtils(storageImpl, browserRequestLogger);\r\n return _this;\r\n }\r\n /**\r\n * Opens a popup window with given request Url.\r\n * @param requestUrl\r\n */\r\n PopupHandler.prototype.initiateAuthRequest = function (requestUrl, params) {\r\n // Check that request url is not empty.\r\n if (!StringUtils.isEmpty(requestUrl)) {\r\n // Set interaction status in the library.\r\n this.browserStorage.setInteractionInProgress(true);\r\n this.browserRequestLogger.infoPii(\"Navigate to: \" + requestUrl);\r\n // Open the popup window to requestUrl.\r\n return this.popupUtils.openPopup(requestUrl, params);\r\n }\r\n else {\r\n // Throw error if request URL is empty.\r\n this.browserRequestLogger.error(\"Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n }\r\n };\r\n /**\r\n * Monitors a window until it loads a url with a known hash, or hits a specified timeout.\r\n * @param popupWindow - window that is being monitored\r\n * @param timeout - milliseconds until timeout\r\n */\r\n PopupHandler.prototype.monitorPopupForHash = function (popupWindow) {\r\n var _this = this;\r\n return this.popupUtils.monitorPopupForSameOrigin(popupWindow).then(function () {\r\n var contentHash = popupWindow.location.hash;\r\n BrowserUtils.clearHash(popupWindow);\r\n _this.popupUtils.cleanPopup(popupWindow);\r\n if (!contentHash) {\r\n throw BrowserAuthError.createEmptyHashError(popupWindow.location.href);\r\n }\r\n if (UrlString.hashContainsKnownProperties(contentHash)) {\r\n return contentHash;\r\n }\r\n else {\r\n throw BrowserAuthError.createHashDoesNotContainKnownPropertiesError();\r\n }\r\n });\r\n };\r\n return PopupHandler;\r\n}(InteractionHandler));\n\nexport { PopupHandler };\n//# sourceMappingURL=PopupHandler.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { AuthError, ThrottlingUtils, UrlString } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { PopupUtils } from '../utils/PopupUtils.js';\nimport { EventType } from '../event/EventType.js';\nimport { InteractionType, ApiId } from '../utils/BrowserConstants.js';\nimport { PopupHandler } from '../interaction_handler/PopupHandler.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar PopupClient = /** @class */ (function (_super) {\r\n __extends(PopupClient, _super);\r\n function PopupClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Acquires tokens by opening a popup window to the /authorize endpoint of the authority\r\n * @param request\r\n */\r\n PopupClient.prototype.acquireToken = function (request) {\r\n try {\r\n var validRequest = this.preflightInteractiveRequest(request, InteractionType.Popup);\r\n var popupName = PopupUtils.generatePopupName(this.config.auth.clientId, validRequest);\r\n var popupWindowAttributes = request.popupWindowAttributes || {};\r\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\r\n if (this.config.system.asyncPopups) {\r\n this.logger.verbose(\"asyncPopups set to true, acquiring token\");\r\n // Passes on popup position and dimensions if in request\r\n return this.acquireTokenPopupAsync(validRequest, popupName, popupWindowAttributes);\r\n }\r\n else {\r\n // asyncPopups flag is set to false. Opens popup before acquiring token.\r\n this.logger.verbose(\"asyncPopup set to false, opening popup before acquiring token\");\r\n var popup = PopupUtils.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes, this.logger);\r\n return this.acquireTokenPopupAsync(validRequest, popupName, popupWindowAttributes, popup);\r\n }\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n };\r\n /**\r\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\r\n * @param logoutRequest\r\n */\r\n PopupClient.prototype.logout = function (logoutRequest) {\r\n try {\r\n this.logger.verbose(\"logoutPopup called\");\r\n var validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\r\n var popupName = PopupUtils.generateLogoutPopupName(this.config.auth.clientId, validLogoutRequest);\r\n var authority = logoutRequest && logoutRequest.authority;\r\n var mainWindowRedirectUri = logoutRequest && logoutRequest.mainWindowRedirectUri;\r\n var popupWindowAttributes = (logoutRequest === null || logoutRequest === void 0 ? void 0 : logoutRequest.popupWindowAttributes) || {};\r\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\r\n if (this.config.system.asyncPopups) {\r\n this.logger.verbose(\"asyncPopups set to true\");\r\n // Passes on popup position and dimensions if in request\r\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, undefined, mainWindowRedirectUri);\r\n }\r\n else {\r\n // asyncPopups flag is set to false. Opens popup before logging out.\r\n this.logger.verbose(\"asyncPopup set to false, opening popup\");\r\n var popup = PopupUtils.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes, this.logger);\r\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, popup, mainWindowRedirectUri);\r\n }\r\n }\r\n catch (e) {\r\n // Since this function is synchronous we need to reject\r\n return Promise.reject(e);\r\n }\r\n };\r\n /**\r\n * Helper which obtains an access_token for your API via opening a popup window in the user's browser\r\n * @param validRequest\r\n * @param popupName\r\n * @param popup\r\n * @param popupWindowAttributes\r\n *\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n PopupClient.prototype.acquireTokenPopupAsync = function (validRequest, popupName, popupWindowAttributes, popup) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, authCodeRequest, authClient, navigateUrl, interactionHandler, popupParameters, popupWindow, hash, state, result, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"acquireTokenPopupAsync called\");\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenPopup);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 7, , 8]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(validRequest)];\r\n case 2:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, validRequest.authority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(validRequest)];\r\n case 4:\r\n navigateUrl = _a.sent();\r\n interactionHandler = new PopupHandler(authClient, this.browserStorage, authCodeRequest, this.logger);\r\n popupParameters = {\r\n popup: popup,\r\n popupName: popupName,\r\n popupWindowAttributes: popupWindowAttributes\r\n };\r\n popupWindow = interactionHandler.initiateAuthRequest(navigateUrl, popupParameters);\r\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, { popupWindow: popupWindow }, null);\r\n return [4 /*yield*/, interactionHandler.monitorPopupForHash(popupWindow)];\r\n case 5:\r\n hash = _a.sent();\r\n state = this.validateAndExtractStateFromHash(hash, InteractionType.Popup, validRequest.correlationId);\r\n // Remove throttle if it exists\r\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, authCodeRequest);\r\n return [4 /*yield*/, interactionHandler.handleCodeResponse(hash, state, authClient.authority, this.networkClient)];\r\n case 6:\r\n result = _a.sent();\r\n return [2 /*return*/, result];\r\n case 7:\r\n e_1 = _a.sent();\r\n if (popup) {\r\n // Close the synchronous popup if an error is thrown before the window unload event is registered\r\n popup.close();\r\n }\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(validRequest.state);\r\n throw e_1;\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n *\r\n * @param validRequest\r\n * @param popupName\r\n * @param requestAuthority\r\n * @param popup\r\n * @param mainWindowRedirectUri\r\n * @param popupWindowAttributes\r\n */\r\n PopupClient.prototype.logoutPopupAsync = function (validRequest, popupName, popupWindowAttributes, requestAuthority, popup, mainWindowRedirectUri) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, authClient, logoutUri, popupUtils, popupWindow, e_2, navigationOptions, absoluteUrl, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"logoutPopupAsync called\");\r\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Popup, validRequest);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logoutPopup);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 8, , 9]);\r\n // Clear cache on logout\r\n return [4 /*yield*/, this.clearCacheOnLogout(validRequest.account)];\r\n case 2:\r\n // Clear cache on logout\r\n _a.sent();\r\n this.browserStorage.setInteractionInProgress(true);\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, requestAuthority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n logoutUri = authClient.getLogoutUri(validRequest);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Popup, validRequest);\r\n popupUtils = new PopupUtils(this.browserStorage, this.logger);\r\n popupWindow = popupUtils.openPopup(logoutUri, { popupName: popupName, popupWindowAttributes: popupWindowAttributes, popup: popup });\r\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, { popupWindow: popupWindow }, null);\r\n _a.label = 4;\r\n case 4:\r\n _a.trys.push([4, 6, , 7]);\r\n // Don't care if this throws an error (User Cancelled)\r\n return [4 /*yield*/, popupUtils.monitorPopupForSameOrigin(popupWindow)];\r\n case 5:\r\n // Don't care if this throws an error (User Cancelled)\r\n _a.sent();\r\n this.logger.verbose(\"Popup successfully redirected to postLogoutRedirectUri\");\r\n return [3 /*break*/, 7];\r\n case 6:\r\n e_2 = _a.sent();\r\n this.logger.verbose(\"Error occurred while monitoring popup for same origin. Session on server may remain active. Error: \" + e_2);\r\n return [3 /*break*/, 7];\r\n case 7:\r\n popupUtils.cleanPopup(popupWindow);\r\n if (mainWindowRedirectUri) {\r\n navigationOptions = {\r\n apiId: ApiId.logoutPopup,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n absoluteUrl = UrlString.getAbsoluteUrl(mainWindowRedirectUri, BrowserUtils.getCurrentUri());\r\n this.logger.verbose(\"Redirecting main window to url specified in the request\");\r\n this.logger.verbosePii(\"Redirecing main window to: \" + absoluteUrl);\r\n this.navigationClient.navigateInternal(absoluteUrl, navigationOptions);\r\n }\r\n else {\r\n this.logger.verbose(\"No main window navigation requested\");\r\n }\r\n return [3 /*break*/, 9];\r\n case 8:\r\n e_3 = _a.sent();\r\n if (popup) {\r\n // Close the synchronous popup if an error is thrown before the window unload event is registered\r\n popup.close();\r\n }\r\n if (e_3 instanceof AuthError) {\r\n e_3.setCorrelationId(this.correlationId);\r\n }\r\n this.browserStorage.setInteractionInProgress(false);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Popup, null, e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\r\n serverTelemetryManager.cacheFailedRequest(e_3);\r\n throw e_3;\r\n case 9:\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return PopupClient;\r\n}(StandardInteractionClient));\n\nexport { PopupClient };\n//# sourceMappingURL=PopupClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { SilentFlowClient } from '@azure/msal-common';\nimport { EventType } from '../event/EventType.js';\nimport { InteractionType, ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentCacheClient = /** @class */ (function (_super) {\r\n __extends(SilentCacheClient, _super);\r\n function SilentCacheClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Returns unexpired tokens from the cache, if available\r\n * @param silentRequest\r\n */\r\n SilentCacheClient.prototype.acquireToken = function (silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, silentAuthClient, cachedToken, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\r\n return [4 /*yield*/, this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority)];\r\n case 1:\r\n silentAuthClient = _a.sent();\r\n this.logger.verbose(\"Silent auth client created\");\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, silentAuthClient.acquireCachedToken(silentRequest)];\r\n case 3:\r\n cachedToken = _a.sent();\r\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Silent, cachedToken);\r\n return [2 /*return*/, cachedToken];\r\n case 4:\r\n error_1 = _a.sent();\r\n if (error_1 instanceof BrowserAuthError && error_1.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\r\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\r\n }\r\n throw error_1;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentCacheClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Creates an Silent Flow Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n SilentCacheClient.prototype.createSilentFlowClient = function (serverTelemetryManager, authorityUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new SilentFlowClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n SilentCacheClient.prototype.initializeSilentRequest = function (request, account) {\r\n return __assign(__assign(__assign({}, request), this.initializeBaseRequest(request)), { account: account, forceRefresh: request.forceRefresh || false });\r\n };\r\n return SilentCacheClient;\r\n}(StandardInteractionClient));\n\nexport { SilentCacheClient };\n//# sourceMappingURL=SilentCacheClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventType;\r\n(function (EventType) {\r\n EventType[\"ACCOUNT_ADDED\"] = \"msal:accountAdded\";\r\n EventType[\"ACCOUNT_REMOVED\"] = \"msal:accountRemoved\";\r\n EventType[\"LOGIN_START\"] = \"msal:loginStart\";\r\n EventType[\"LOGIN_SUCCESS\"] = \"msal:loginSuccess\";\r\n EventType[\"LOGIN_FAILURE\"] = \"msal:loginFailure\";\r\n EventType[\"ACQUIRE_TOKEN_START\"] = \"msal:acquireTokenStart\";\r\n EventType[\"ACQUIRE_TOKEN_SUCCESS\"] = \"msal:acquireTokenSuccess\";\r\n EventType[\"ACQUIRE_TOKEN_FAILURE\"] = \"msal:acquireTokenFailure\";\r\n EventType[\"ACQUIRE_TOKEN_NETWORK_START\"] = \"msal:acquireTokenFromNetworkStart\";\r\n EventType[\"SSO_SILENT_START\"] = \"msal:ssoSilentStart\";\r\n EventType[\"SSO_SILENT_SUCCESS\"] = \"msal:ssoSilentSuccess\";\r\n EventType[\"SSO_SILENT_FAILURE\"] = \"msal:ssoSilentFailure\";\r\n EventType[\"HANDLE_REDIRECT_START\"] = \"msal:handleRedirectStart\";\r\n EventType[\"HANDLE_REDIRECT_END\"] = \"msal:handleRedirectEnd\";\r\n EventType[\"POPUP_OPENED\"] = \"msal:popupOpened\";\r\n EventType[\"LOGOUT_START\"] = \"msal:logoutStart\";\r\n EventType[\"LOGOUT_SUCCESS\"] = \"msal:logoutSuccess\";\r\n EventType[\"LOGOUT_FAILURE\"] = \"msal:logoutFailure\";\r\n EventType[\"LOGOUT_END\"] = \"msal:logoutEnd\";\r\n})(EventType || (EventType = {}));\n\nexport { EventType };\n//# sourceMappingURL=EventType.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { StringUtils, AuthError } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar BrowserAuthErrorMessage = {\r\n pkceNotGenerated: {\r\n code: \"pkce_not_created\",\r\n desc: \"The PKCE code challenge and verifier could not be generated.\"\r\n },\r\n cryptoDoesNotExist: {\r\n code: \"crypto_nonexistent\",\r\n desc: \"The crypto object or function is not available.\"\r\n },\r\n httpMethodNotImplementedError: {\r\n code: \"http_method_not_implemented\",\r\n desc: \"The HTTP method given has not been implemented in this library.\"\r\n },\r\n emptyNavigateUriError: {\r\n code: \"empty_navigate_uri\",\r\n desc: \"Navigation URI is empty. Please check stack trace for more info.\"\r\n },\r\n hashEmptyError: {\r\n code: \"hash_empty_error\",\r\n desc: \"Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash.\"\r\n },\r\n hashDoesNotContainStateError: {\r\n code: \"no_state_in_hash\",\r\n desc: \"Hash does not contain state. Please verify that the request originated from msal.\"\r\n },\r\n hashDoesNotContainKnownPropertiesError: {\r\n code: \"hash_does_not_contain_known_properties\",\r\n desc: \"Hash does not contain known properites. Please verify that your redirectUri is not changing the hash.\"\r\n },\r\n unableToParseStateError: {\r\n code: \"unable_to_parse_state\",\r\n desc: \"Unable to parse state. Please verify that the request originated from msal.\"\r\n },\r\n stateInteractionTypeMismatchError: {\r\n code: \"state_interaction_type_mismatch\",\r\n desc: \"Hash contains state but the interaction type does not match the caller.\"\r\n },\r\n interactionInProgress: {\r\n code: \"interaction_in_progress\",\r\n desc: \"Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n popupWindowError: {\r\n code: \"popup_window_error\",\r\n desc: \"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"\r\n },\r\n emptyWindowError: {\r\n code: \"empty_window_error\",\r\n desc: \"window.open returned null or undefined window object.\"\r\n },\r\n userCancelledError: {\r\n code: \"user_cancelled\",\r\n desc: \"User cancelled the flow.\"\r\n },\r\n monitorPopupTimeoutError: {\r\n code: \"monitor_window_timeout\",\r\n desc: \"Token acquisition in popup failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n monitorIframeTimeoutError: {\r\n code: \"monitor_window_timeout\",\r\n desc: \"Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n redirectInIframeError: {\r\n code: \"redirect_in_iframe\",\r\n desc: \"Code flow is not supported inside an iframe. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.\"\r\n },\r\n blockTokenRequestsInHiddenIframeError: {\r\n code: \"block_iframe_reload\",\r\n desc: \"Request was blocked inside an iframe because MSAL detected an authentication response. For more visit: aka.ms/msaljs/browser-errors\"\r\n },\r\n blockAcquireTokenInPopupsError: {\r\n code: \"block_nested_popups\",\r\n desc: \"Request was blocked inside a popup because MSAL detected it was running in a popup.\"\r\n },\r\n iframeClosedPrematurelyError: {\r\n code: \"iframe_closed_prematurely\",\r\n desc: \"The iframe being monitored was closed prematurely.\"\r\n },\r\n silentLogoutUnsupportedError: {\r\n code: \"silent_logout_unsupported\",\r\n desc: \"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.\"\r\n },\r\n noAccountError: {\r\n code: \"no_account_error\",\r\n desc: \"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.\"\r\n },\r\n silentPromptValueError: {\r\n code: \"silent_prompt_value_error\",\r\n desc: \"The value given for the prompt value is not valid for silent requests - must be set to 'none'.\"\r\n },\r\n noTokenRequestCacheError: {\r\n code: \"no_token_request_cache_error\",\r\n desc: \"No token request found in cache.\"\r\n },\r\n unableToParseTokenRequestCacheError: {\r\n code: \"unable_to_parse_token_request_cache_error\",\r\n desc: \"The cached token request could not be parsed.\"\r\n },\r\n noCachedAuthorityError: {\r\n code: \"no_cached_authority_error\",\r\n desc: \"No cached authority found.\"\r\n },\r\n authRequestNotSet: {\r\n code: \"auth_request_not_set_error\",\r\n desc: \"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler\"\r\n },\r\n invalidCacheType: {\r\n code: \"invalid_cache_type\",\r\n desc: \"Invalid cache type\"\r\n },\r\n notInBrowserEnvironment: {\r\n code: \"non_browser_environment\",\r\n desc: \"Login and token requests are not supported in non-browser environments.\"\r\n },\r\n databaseNotOpen: {\r\n code: \"database_not_open\",\r\n desc: \"Database is not open!\"\r\n },\r\n noNetworkConnectivity: {\r\n code: \"no_network_connectivity\",\r\n desc: \"No network connectivity. Check your internet connection.\"\r\n },\r\n postRequestFailed: {\r\n code: \"post_request_failed\",\r\n desc: \"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'\"\r\n },\r\n getRequestFailed: {\r\n code: \"get_request_failed\",\r\n desc: \"Network request failed. Please check the network trace to determine root cause.\"\r\n },\r\n failedToParseNetworkResponse: {\r\n code: \"failed_to_parse_response\",\r\n desc: \"Failed to parse network response. Check network trace.\"\r\n },\r\n unableToLoadTokenError: {\r\n code: \"unable_to_load_token\",\r\n desc: \"Error loading token to cache.\"\r\n },\r\n signingKeyNotFoundInStorage: {\r\n code: \"crypto_key_not_found\",\r\n desc: \"Cryptographic Key or Keypair not found in browser storage.\"\r\n },\r\n databaseUnavailable: {\r\n code: \"database_unavailable\",\r\n desc: \"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.\"\r\n }\r\n};\r\n/**\r\n * Browser library error class thrown by the MSAL.js library for SPAs\r\n */\r\nvar BrowserAuthError = /** @class */ (function (_super) {\r\n __extends(BrowserAuthError, _super);\r\n function BrowserAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n Object.setPrototypeOf(_this, BrowserAuthError.prototype);\r\n _this.name = \"BrowserAuthError\";\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when PKCE is not implemented.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createPkceNotGeneratedError = function (errDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.pkceNotGenerated.code, BrowserAuthErrorMessage.pkceNotGenerated.desc + \" Detail:\" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when the crypto object is unavailable.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createCryptoNotAvailableError = function (errDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.cryptoDoesNotExist.code, BrowserAuthErrorMessage.cryptoDoesNotExist.desc + \" Detail:\" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when an HTTP method hasn't been implemented by the browser class.\r\n * @param method\r\n */\r\n BrowserAuthError.createHttpMethodNotImplementedError = function (method) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.httpMethodNotImplementedError.code, BrowserAuthErrorMessage.httpMethodNotImplementedError.desc + \" Given Method: \" + method);\r\n };\r\n /**\r\n * Creates an error thrown when the navigation URI is empty.\r\n */\r\n BrowserAuthError.createEmptyNavigationUriError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyNavigateUriError.code, BrowserAuthErrorMessage.emptyNavigateUriError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n * @param hashValue\r\n */\r\n BrowserAuthError.createEmptyHashError = function (hashValue) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashEmptyError.code, BrowserAuthErrorMessage.hashEmptyError.desc + \" Given Url: \" + hashValue);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n */\r\n BrowserAuthError.createHashDoesNotContainStateError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainStateError.code, BrowserAuthErrorMessage.hashDoesNotContainStateError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value does not contain known properties\r\n */\r\n BrowserAuthError.createHashDoesNotContainKnownPropertiesError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.code, BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n */\r\n BrowserAuthError.createUnableToParseStateError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseStateError.code, BrowserAuthErrorMessage.unableToParseStateError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the state value in the hash does not match the interaction type of the API attempting to consume it.\r\n */\r\n BrowserAuthError.createStateInteractionTypeMismatchError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.stateInteractionTypeMismatchError.code, BrowserAuthErrorMessage.stateInteractionTypeMismatchError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a browser interaction (redirect or popup) is in progress.\r\n */\r\n BrowserAuthError.createInteractionInProgressError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.interactionInProgress.code, BrowserAuthErrorMessage.interactionInProgress.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the popup window could not be opened.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createPopupWindowError = function (errDetail) {\r\n var errorMessage = BrowserAuthErrorMessage.popupWindowError.desc;\r\n errorMessage = !StringUtils.isEmpty(errDetail) ? errorMessage + \" Details: \" + errDetail : errorMessage;\r\n return new BrowserAuthError(BrowserAuthErrorMessage.popupWindowError.code, errorMessage);\r\n };\r\n /**\r\n * Creates an error thrown when window.open returns an empty window object.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createEmptyWindowCreatedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyWindowError.code, BrowserAuthErrorMessage.emptyWindowError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the user closes a popup.\r\n */\r\n BrowserAuthError.createUserCancelledError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.userCancelledError.code, BrowserAuthErrorMessage.userCancelledError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when monitorPopupFromHash times out for a given popup.\r\n */\r\n BrowserAuthError.createMonitorPopupTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorPopupTimeoutError.code, BrowserAuthErrorMessage.monitorPopupTimeoutError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when monitorIframeFromHash times out for a given iframe.\r\n */\r\n BrowserAuthError.createMonitorIframeTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorIframeTimeoutError.code, BrowserAuthErrorMessage.monitorIframeTimeoutError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when navigateWindow is called inside an iframe.\r\n * @param windowParentCheck\r\n */\r\n BrowserAuthError.createRedirectInIframeError = function (windowParentCheck) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.redirectInIframeError.code, BrowserAuthErrorMessage.redirectInIframeError.desc + \" (window.parent !== window) => \" + windowParentCheck);\r\n };\r\n /**\r\n * Creates an error thrown when an auth reload is done inside an iframe.\r\n */\r\n BrowserAuthError.createBlockReloadInHiddenIframeError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code, BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a popup attempts to call an acquireToken API\r\n * @returns\r\n */\r\n BrowserAuthError.createBlockAcquireTokenInPopupsError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.code, BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when an iframe is found to be closed before the timeout is reached.\r\n */\r\n BrowserAuthError.createIframeClosedPrematurelyError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.iframeClosedPrematurelyError.code, BrowserAuthErrorMessage.iframeClosedPrematurelyError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the logout API is called on any of the silent interaction clients\r\n */\r\n BrowserAuthError.createSilentLogoutUnsupportedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.silentLogoutUnsupportedError.code, BrowserAuthErrorMessage.silentLogoutUnsupportedError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the account object is not provided in the acquireTokenSilent API.\r\n */\r\n BrowserAuthError.createNoAccountError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noAccountError.code, BrowserAuthErrorMessage.noAccountError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a given prompt value is invalid for silent requests.\r\n */\r\n BrowserAuthError.createSilentPromptValueError = function (givenPrompt) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.silentPromptValueError.code, BrowserAuthErrorMessage.silentPromptValueError.desc + \" Given value: \" + givenPrompt);\r\n };\r\n /**\r\n * Creates an error thrown when the cached token request could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createUnableToParseTokenRequestCacheError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.code, BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the token request could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createNoTokenRequestCacheError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noTokenRequestCacheError.code, BrowserAuthErrorMessage.noTokenRequestCacheError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when handleCodeResponse is called before initiateAuthRequest (InteractionHandler)\r\n */\r\n BrowserAuthError.createAuthRequestNotSetError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authRequestNotSet.code, BrowserAuthErrorMessage.authRequestNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the authority could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createNoCachedAuthorityError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noCachedAuthorityError.code, BrowserAuthErrorMessage.noCachedAuthorityError.desc);\r\n };\r\n /**\r\n * Creates an error thrown if cache type is invalid.\r\n */\r\n BrowserAuthError.createInvalidCacheTypeError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.invalidCacheType.code, \"\" + BrowserAuthErrorMessage.invalidCacheType.desc);\r\n };\r\n /**\r\n * Create an error thrown when login and token requests are made from a non-browser environment\r\n */\r\n BrowserAuthError.createNonBrowserEnvironmentError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.notInBrowserEnvironment.code, BrowserAuthErrorMessage.notInBrowserEnvironment.desc);\r\n };\r\n /**\r\n * Create an error thrown when indexDB database is not open\r\n */\r\n BrowserAuthError.createDatabaseNotOpenError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseNotOpen.code, BrowserAuthErrorMessage.databaseNotOpen.desc);\r\n };\r\n /**\r\n * Create an error thrown when token fetch fails due to no internet\r\n */\r\n BrowserAuthError.createNoNetworkConnectivityError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noNetworkConnectivity.code, BrowserAuthErrorMessage.noNetworkConnectivity.desc);\r\n };\r\n /**\r\n * Create an error thrown when token fetch fails due to reasons other than internet connectivity\r\n */\r\n BrowserAuthError.createPostRequestFailedError = function (errorDesc, endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.postRequestFailed.code, BrowserAuthErrorMessage.postRequestFailed.desc + \" | Network client threw: \" + errorDesc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when get request fails due to reasons other than internet connectivity\r\n */\r\n BrowserAuthError.createGetRequestFailedError = function (errorDesc, endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.getRequestFailed.code, BrowserAuthErrorMessage.getRequestFailed.desc + \" | Network client threw: \" + errorDesc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when network client fails to parse network response\r\n */\r\n BrowserAuthError.createFailedToParseNetworkResponseError = function (endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.failedToParseNetworkResponse.code, BrowserAuthErrorMessage.failedToParseNetworkResponse.desc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when the necessary information is not available to sideload tokens\r\n */\r\n BrowserAuthError.createUnableToLoadTokenError = function (errorDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToLoadTokenError.code, BrowserAuthErrorMessage.unableToLoadTokenError.desc + \" | \" + errorDetail);\r\n };\r\n /**\r\n * Create an error thrown when the queried cryptographic key is not found in IndexedDB\r\n */\r\n BrowserAuthError.createSigningKeyNotFoundInStorageError = function (keyId) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code, BrowserAuthErrorMessage.signingKeyNotFoundInStorage.desc + \" | No match found for KeyId: \" + keyId);\r\n };\r\n /**\r\n * Create an error when IndexedDB is unavailable\r\n */\r\n BrowserAuthError.createDatabaseUnavailableError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseUnavailable.code, BrowserAuthErrorMessage.databaseUnavailable.desc);\r\n };\r\n return BrowserAuthError;\r\n}(AuthError));\n\nexport { BrowserAuthError, BrowserAuthErrorMessage };\n//# sourceMappingURL=BrowserAuthError.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NavigationClient = /** @class */ (function () {\r\n function NavigationClient() {\r\n }\r\n /**\r\n * Navigates to other pages within the same web application\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.prototype.navigateInternal = function (url, options) {\r\n return NavigationClient.defaultNavigateWindow(url, options);\r\n };\r\n /**\r\n * Navigates to other pages outside the web application i.e. the Identity Provider\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.prototype.navigateExternal = function (url, options) {\r\n return NavigationClient.defaultNavigateWindow(url, options);\r\n };\r\n /**\r\n * Default navigation implementation invoked by the internal and external functions\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.defaultNavigateWindow = function (url, options) {\r\n if (options.noHistory) {\r\n window.location.replace(url);\r\n }\r\n else {\r\n window.location.assign(url);\r\n }\r\n return new Promise(function (resolve) {\r\n setTimeout(function () {\r\n resolve(true);\r\n }, options.timeout);\r\n });\r\n };\r\n return NavigationClient;\r\n}());\n\nexport { NavigationClient };\n//# sourceMappingURL=NavigationClient.js.map\n","/*! @azure/msal-browser v2.19.0 2021-11-02 */\n'use strict';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar Base64Encode = /** @class */ (function () {\r\n function Base64Encode() {\r\n }\r\n /**\r\n * Returns URL Safe b64 encoded string from a plaintext string.\r\n * @param input\r\n */\r\n Base64Encode.prototype.urlEncode = function (input) {\r\n return encodeURIComponent(this.encode(input)\r\n .replace(/=/g, \"\")\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\"));\r\n };\r\n /**\r\n * Returns URL Safe b64 encoded string from an int8Array.\r\n * @param inputArr\r\n */\r\n Base64Encode.prototype.urlEncodeArr = function (inputArr) {\r\n return this.base64EncArr(inputArr)\r\n .replace(/=/g, \"\")\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\");\r\n };\r\n /**\r\n * Returns b64 encoded string from plaintext string.\r\n * @param input\r\n */\r\n Base64Encode.prototype.encode = function (input) {\r\n var inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);\r\n return this.base64EncArr(inputUtf8Arr);\r\n };\r\n /**\r\n * Base64 encode byte array\r\n * @param aBytes\r\n */\r\n Base64Encode.prototype.base64EncArr = function (aBytes) {\r\n var eqLen = (3 - (aBytes.length % 3)) % 3;\r\n var sB64Enc = \"\";\r\n for (var nMod3 = void 0, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {\r\n nMod3 = nIdx % 3;\r\n /* Uncomment the following line in order to split the output in lines 76-character long: */\r\n /*\r\n *if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += \"\\r\\n\"; }\r\n */\r\n nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);\r\n if (nMod3 === 2 || aBytes.length - nIdx === 1) {\r\n sB64Enc += String.fromCharCode(this.uint6ToB64(nUint24 >>> 18 & 63), this.uint6ToB64(nUint24 >>> 12 & 63), this.uint6ToB64(nUint24 >>> 6 & 63), this.uint6ToB64(nUint24 & 63));\r\n nUint24 = 0;\r\n }\r\n }\r\n return eqLen === 0 ? sB64Enc : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? \"=\" : \"==\");\r\n };\r\n /**\r\n * Base64 string to array encoding helper\r\n * @param nUint6\r\n */\r\n Base64Encode.prototype.uint6ToB64 = function (nUint6) {\r\n return nUint6 < 26 ?\r\n nUint6 + 65\r\n : nUint6 < 52 ?\r\n nUint6 + 71\r\n : nUint6 < 62 ?\r\n nUint6 - 4\r\n : nUint6 === 62 ?\r\n 43\r\n : nUint6 === 63 ?\r\n 47\r\n :\r\n 65;\r\n };\r\n return Base64Encode;\r\n}());\n\nexport { Base64Encode };\n//# sourceMappingURL=Base64Encode.js.map\n"],"sourceRoot":""}