@dereekb/dbx-firebase 9.5.5 → 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,7 +2,7 @@ import { filterMaybe, isNot, timeoutStartWith } from '@dereekb/rxjs';
|
|
|
2
2
|
import { Injectable, Optional } from '@angular/core';
|
|
3
3
|
import { loggedOutObsFromIsLoggedIn, loggedInObsFromIsLoggedIn, authUserIdentifier } from '@dereekb/dbx-core';
|
|
4
4
|
import { Auth, authState, idToken, GoogleAuthProvider, signInWithPopup, signInAnonymously, signInWithEmailAndPassword, FacebookAuthProvider, GithubAuthProvider, TwitterAuthProvider, createUserWithEmailAndPassword } from '@angular/fire/auth';
|
|
5
|
-
import { of, distinctUntilChanged, shareReplay, map, switchMap, firstValueFrom } from 'rxjs';
|
|
5
|
+
import { of, distinctUntilChanged, shareReplay, map, switchMap, firstValueFrom, catchError } from 'rxjs';
|
|
6
6
|
import { AUTH_ADMIN_ROLE, cachedGetter } from '@dereekb/util';
|
|
7
7
|
import { authUserInfoFromAuthUser, firebaseAuthTokenFromUser } from '../auth';
|
|
8
8
|
import { sendPasswordResetEmail } from 'firebase/auth';
|
|
@@ -52,7 +52,7 @@ export class DbxFirebaseAuthService {
|
|
|
52
52
|
this.currentAuthContextInfo$ = this.currentAuthUser$.pipe(switchMap((x) => this.loadAuthContextInfoForUser(x)), shareReplay(1));
|
|
53
53
|
this.authContextInfo$ = this.currentAuthContextInfo$.pipe(filterMaybe());
|
|
54
54
|
delegate = delegate ?? DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE;
|
|
55
|
-
const delegateAuthUserStateObs = delegate.authUserStateObs(this).pipe(distinctUntilChanged(), shareReplay(1));
|
|
55
|
+
const delegateAuthUserStateObs = delegate.authUserStateObs(this).pipe(catchError(() => of('error')), distinctUntilChanged(), shareReplay(1));
|
|
56
56
|
if (delegate.fullControlOfAuthUserState) {
|
|
57
57
|
this.authUserState$ = delegateAuthUserStateObs;
|
|
58
58
|
}
|
|
@@ -177,4 +177,4 @@ export class DbxFirebaseAuthContextInfo {
|
|
|
177
177
|
return this._token();
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBb0Msa0JBQWtCLEVBQUUsZUFBZSxFQUF1QyxpQkFBaUIsRUFBRSwwQkFBMEIsRUFBa0Isb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4VSxPQUFPLEVBQUUsRUFBRSxFQUFjLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RyxPQUFPLEVBQW9FLGVBQWUsRUFBRSxZQUFZLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFnQix3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVFwRixpQkFBaUI7QUFDakIsTUFBTSxPQUFnQiw4QkFBOEI7SUFBcEQ7UUFDRSwrQkFBMEIsR0FBYSxLQUFLLENBQUM7SUFTL0MsQ0FBQztDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQW1DO0lBQ3hGLGdCQUFnQixFQUFFLDRDQUE0QyxFQUFFO0lBQ2hFLFlBQVksQ0FBQyxzQkFBOEM7UUFDekQsT0FBTyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUNELFdBQVcsQ0FBQyxzQkFBOEM7UUFDeEQsT0FBTyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELG9CQUFvQixDQUFDLFdBQXdCO1FBQzNDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YsQ0FBQztBQUVGLGdCQUFnQjtBQUVoQixNQUFNLE9BQU8sc0JBQXNCO0lBZ0RqQyxZQUFxQixZQUFrQixFQUFjLFFBQXdDO1FBQXhFLGlCQUFZLEdBQVosWUFBWSxDQUFNO1FBL0M5QixnQkFBVyxHQUE0QixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBFLHFCQUFnQixHQUE0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkoseUJBQW9CLEdBQW9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5SSxjQUFTLEdBQXFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4RSxrQkFBYSxHQUE2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBRTdGLGlCQUFZLEdBQXdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3RCLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBQ08scUJBQWdCLEdBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNsRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFDekIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFDTyx3QkFBbUIsR0FBd0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRS9FLGdCQUFXLEdBQXdCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFckQsbUJBQWMsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRSxhQUFRLEdBQXFCLHlCQUF5QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RSxjQUFTLEdBQXFCLDBCQUEwQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRSxvQkFBZSxHQUFtQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNySCxTQUFJLEdBQW1DLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFNUQsMEJBQXFCLEdBQThCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUMzRyxtQkFBYyxHQUF1QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDcEYsbUJBQWMsR0FBOEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEosWUFBTyxHQUE0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLDRCQUF1QixHQUFrRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUMxRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUNPLHFCQUFnQixHQUFrRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFVMUgsUUFBUSxHQUFHLFFBQVEsSUFBSSwwQ0FBMEMsQ0FBQztRQUVsRSxNQUFNLHdCQUF3QixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RyxJQUFJLFFBQVEsQ0FBQywwQkFBMEIsRUFBRTtZQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLHdCQUF3QixDQUFDO1NBQ2hEO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN6QyxvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDZCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7b0JBQ2IsT0FBTyx3QkFBd0IsQ0FBQztpQkFDakM7cUJBQU07b0JBQ0wsT0FBTyxFQUFFLENBQUMsTUFBdUIsQ0FBQyxDQUFDO2lCQUNwQztZQUNILENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUM3RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUUzQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBZ0QsTUFBcUI7UUFDakYsSUFBSSxNQUFtQixDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxpSEFBaUgsQ0FBQyxDQUFDO1lBQ2hJLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsS0FBSyxDQUFDLDBCQUEwQixDQUFDLElBQWlCO1FBQ2hELElBQUksTUFBeUMsQ0FBQztRQUU5QyxJQUFJLElBQUksRUFBRTtZQUNSLE1BQU0sUUFBUSxHQUFrQixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzlELE1BQU0sR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDL0Q7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsMkRBQTJEO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLG9EQUFvRDtJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXNCLEVBQUUsUUFBZ0M7UUFDckUsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELDRCQUE0QixDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUMxRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQ3ZELE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7O21IQXBLVSxzQkFBc0Isc0NBZ0Q4Qiw4QkFBOEI7dUhBaERsRixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs2RUFpRHNELDhCQUE4QjswQkFBbkQsUUFBUTs7QUF1SHBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFxQixPQUErQixFQUFXLElBQVUsRUFBVyxRQUF1QjtRQUF0RixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUFXLFNBQUksR0FBSixJQUFJLENBQU07UUFBVyxhQUFRLEdBQVIsUUFBUSxDQUFlO1FBSm5HLFdBQU0sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEUsV0FBTSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNFLGFBQVEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXNCLENBQUM7SUFFL0csSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQXVCLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyTWF5YmUsIGlzTm90LCB0aW1lb3V0U3RhcnRXaXRoIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFVzZXJTdGF0ZSwgRGJ4QXV0aFNlcnZpY2UsIGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluLCBsb2dnZWRJbk9ic0Zyb21Jc0xvZ2dlZEluLCBBdXRoVXNlcklkZW50aWZpZXIsIGF1dGhVc2VySWRlbnRpZmllciB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEF1dGgsIGF1dGhTdGF0ZSwgaWRUb2tlbiwgVXNlciwgSWRUb2tlblJlc3VsdCwgUGFyc2VkVG9rZW4sIEdvb2dsZUF1dGhQcm92aWRlciwgc2lnbkluV2l0aFBvcHVwLCBBdXRoUHJvdmlkZXIsIFBvcHVwUmVkaXJlY3RSZXNvbHZlciwgc2lnbkluQW5vbnltb3VzbHksIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLCBVc2VyQ3JlZGVudGlhbCwgRmFjZWJvb2tBdXRoUHJvdmlkZXIsIEdpdGh1YkF1dGhQcm92aWRlciwgVHdpdHRlckF1dGhQcm92aWRlciwgY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IG9mLCBPYnNlcnZhYmxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc2hhcmVSZXBsYXksIG1hcCwgc3dpdGNoTWFwLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aENsYWltcywgQXV0aENsYWltc09iamVjdCwgQXV0aFJvbGVDbGFpbXNTZXJ2aWNlLCBBdXRoUm9sZVNldCwgQVVUSF9BRE1JTl9ST0xFLCBjYWNoZWRHZXR0ZXIsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBdXRoVXNlckluZm8sIGF1dGhVc2VySW5mb0Zyb21BdXRoVXNlciwgZmlyZWJhc2VBdXRoVG9rZW5Gcm9tVXNlciB9IGZyb20gJy4uL2F1dGgnO1xuaW1wb3J0IHsgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCB9IGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuaW1wb3J0IHsgYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24gfSBmcm9tICcuL2ZpcmViYXNlLmF1dGgucnhqcyc7XG5pbXBvcnQgeyBGaXJlYmFzZUF1dGhDb250ZXh0SW5mbywgRmlyZWJhc2VBdXRoVG9rZW4gfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgcmV0dXJucyB0aGUgc3RhdGUgb2YgdGhlXG4gKi9cbmV4cG9ydCB0eXBlIEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbiA9IChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKSA9PiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuXG4vLyBNQVJLOiBEZWxlZ2F0ZVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSB7XG4gIGZ1bGxDb250cm9sT2ZBdXRoVXNlclN0YXRlPzogYm9vbGVhbiA9IGZhbHNlO1xuICBhYnN0cmFjdCBhdXRoVXNlclN0YXRlT2JzOiBBdXRoVXNlclN0YXRlT2JzRnVuY3Rpb247XG4gIGFic3RyYWN0IGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD47XG4gIGFic3RyYWN0IGlzT25ib2FyZGVkKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGlucHV0IHJvbGVzIGltcGx5IHRoZSBhZG1pbiBwcml2aWxlZGdlcy5cbiAgICovXG4gIGFic3RyYWN0IGlzQWRtaW5JbkF1dGhSb2xlU2V0KGF1dGhSb2xlU2V0OiBBdXRoUm9sZVNldCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGF1dGhSb2xlQ2xhaW1zU2VydmljZT86IE1heWJlPEF1dGhSb2xlQ2xhaW1zU2VydmljZTxBdXRoQ2xhaW1zT2JqZWN0Pj47XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEU6IERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSA9IHtcbiAgYXV0aFVzZXJTdGF0ZU9iczogYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlRnVuY3Rpb24oKSxcbiAgYXV0aFJvbGVzT2JzKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PiB7XG4gICAgcmV0dXJuIGRieEZpcmViYXNlQXV0aFNlcnZpY2UuYXV0aFVzZXJTdGF0ZSQucGlwZShtYXAoKHgpID0+ICh4ID09PSAndXNlcicgPyBuZXcgU2V0KFsndXNlciddKSA6IG5ldyBTZXQoKSkpKTtcbiAgfSxcbiAgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4ID09PSAndXNlcicpKTtcbiAgfSxcbiAgaXNBZG1pbkluQXV0aFJvbGVTZXQoYXV0aFJvbGVTZXQ6IEF1dGhSb2xlU2V0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGF1dGhSb2xlU2V0LmhhcyhBVVRIX0FETUlOX1JPTEUpO1xuICB9XG59O1xuXG4vLyBNQVJLOiBTZXJ2aWNlXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VBdXRoU2VydmljZSBpbXBsZW1lbnRzIERieEF1dGhTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgX2F1dGhTdGF0ZSQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gYXV0aFN0YXRlKHRoaXMuZmlyZWJhc2VBdXRoKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aFVzZXIkOiBPYnNlcnZhYmxlPE1heWJlPFVzZXI+PiA9IHRoaXMuX2F1dGhTdGF0ZSQucGlwZSh0aW1lb3V0U3RhcnRXaXRoKG51bGwgYXMgTWF5YmU8VXNlcj4sIDEwMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudEF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8QXV0aFVzZXJJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShtYXAoKHgpID0+ICh4ID8gYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyKHgpIDogdW5kZWZpbmVkKSkpO1xuXG4gIHJlYWRvbmx5IGF1dGhVc2VyJDogT2JzZXJ2YWJsZTxVc2VyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKGZpbHRlck1heWJlKCkpO1xuICByZWFkb25seSBhdXRoVXNlckluZm8kOiBPYnNlcnZhYmxlPEF1dGhVc2VySW5mbz4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKG1hcChhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIpKTtcblxuICByZWFkb25seSBoYXNBdXRoVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgaXNBbm9ueW1vdXNVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmlzQW5vbnltb3VzKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGlzTm90QW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmlzQW5vbnltb3VzVXNlciQucGlwZShpc05vdCgpKTtcblxuICByZWFkb25seSBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzQXV0aFVzZXIkO1xuXG4gIHJlYWRvbmx5IGlzTm90TG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0xvZ2dlZEluJC5waXBlKGlzTm90KCkpO1xuICByZWFkb25seSBvbkxvZ0luJDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4odGhpcy5pc0xvZ2dlZEluJCk7XG4gIHJlYWRvbmx5IG9uTG9nT3V0JDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuICByZWFkb25seSB1c2VySWRlbnRpZmllciQ6IE9ic2VydmFibGU8QXV0aFVzZXJJZGVudGlmaWVyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCgoeCkgPT4gYXV0aFVzZXJJZGVudGlmaWVyKHg/LnVpZCkpKTtcbiAgcmVhZG9ubHkgdWlkJDogT2JzZXJ2YWJsZTxBdXRoVXNlcklkZW50aWZpZXI+ID0gdGhpcy51c2VySWRlbnRpZmllciQ7XG5cbiAgcmVhZG9ubHkgY3VycmVudElkVG9rZW5TdHJpbmckOiBPYnNlcnZhYmxlPE1heWJlPHN0cmluZz4+ID0gaWRUb2tlbih0aGlzLmZpcmViYXNlQXV0aCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgaWRUb2tlblN0cmluZyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuY3VycmVudElkVG9rZW5TdHJpbmckLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IGlkVG9rZW5SZXN1bHQkOiBPYnNlcnZhYmxlPElkVG9rZW5SZXN1bHQ+ID0gdGhpcy5hdXRoVXNlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHRoaXMuaWRUb2tlblN0cmluZyQucGlwZShzd2l0Y2hNYXAoKHkpID0+IHguZ2V0SWRUb2tlblJlc3VsdCgpKSkpKTtcblxuICByZWFkb25seSBjbGFpbXMkOiBPYnNlcnZhYmxlPFBhcnNlZFRva2VuPiA9IHRoaXMuaWRUb2tlblJlc3VsdCQucGlwZShtYXAoKHgpID0+IHguY2xhaW1zKSk7XG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoQ29udGV4dEluZm8kOiBPYnNlcnZhYmxlPE1heWJlPERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvPj4gPSB0aGlzLmN1cnJlbnRBdXRoVXNlciQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHRoaXMubG9hZEF1dGhDb250ZXh0SW5mb0ZvclVzZXIoeCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IGF1dGhDb250ZXh0SW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhDb250ZXh0SW5mbyQucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSBhdXRoVXNlclN0YXRlJDogT2JzZXJ2YWJsZTxBdXRoVXNlclN0YXRlPjtcbiAgcmVhZG9ubHkgYXV0aFJvbGVzJDogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD47XG4gIHJlYWRvbmx5IGlzT25ib2FyZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcml2YXRlIF9hdXRoUm9sZUNsYWltc1NlcnZpY2U/OiBNYXliZTxBdXRoUm9sZUNsYWltc1NlcnZpY2U8QXV0aENsYWltc09iamVjdD4+O1xuICByZWFkb25seSBpc0FkbWluSW5BdXRoUm9sZVNldDogKGF1dGhSb2xlU2V0OiBBdXRoUm9sZVNldCkgPT4gYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlYmFzZUF1dGg6IEF1dGgsIEBPcHRpb25hbCgpIGRlbGVnYXRlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUpIHtcbiAgICBkZWxlZ2F0ZSA9IGRlbGVnYXRlID8/IERFRkFVTFRfREJYX0ZJUkVCQVNFX0FVVEhfU0VSVklDRV9ERUxFR0FURTtcblxuICAgIGNvbnN0IGRlbGVnYXRlQXV0aFVzZXJTdGF0ZU9icyA9IGRlbGVnYXRlLmF1dGhVc2VyU3RhdGVPYnModGhpcykucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgICBpZiAoZGVsZWdhdGUuZnVsbENvbnRyb2xPZkF1dGhVc2VyU3RhdGUpIHtcbiAgICAgIHRoaXMuYXV0aFVzZXJTdGF0ZSQgPSBkZWxlZ2F0ZUF1dGhVc2VyU3RhdGVPYnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0aFVzZXJTdGF0ZSQgPSB0aGlzLl9hdXRoU3RhdGUkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgICAgIGlmICh4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWxlZ2F0ZUF1dGhVc2VyU3RhdGVPYnM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZignbm9uZScgYXMgQXV0aFVzZXJTdGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dGhSb2xlcyQgPSBkZWxlZ2F0ZS5hdXRoUm9sZXNPYnModGhpcyk7XG4gICAgdGhpcy5pc09uYm9hcmRlZCQgPSBkZWxlZ2F0ZS5pc09uYm9hcmRlZCh0aGlzKTtcbiAgICB0aGlzLl9hdXRoUm9sZUNsYWltc1NlcnZpY2UgPSBkZWxlZ2F0ZS5hdXRoUm9sZUNsYWltc1NlcnZpY2U7XG4gICAgdGhpcy5pc0FkbWluSW5BdXRoUm9sZVNldCA9IGRlbGVnYXRlLmlzQWRtaW5JbkF1dGhSb2xlU2V0O1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8SWRUb2tlblJlc3VsdD4ge1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmZpcmViYXNlQXV0aC5jdXJyZW50VXNlcjtcblxuICAgIGlmICghdXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdubyB1c2VyIHRvIHJlZnJlc2ggdGhlIHRva2VuIGZvci4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlci5nZXRJZFRva2VuUmVzdWx0KHRydWUpO1xuICB9XG5cbiAgcm9sZXNGb3JDbGFpbXM8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3QgPSBBdXRoQ2xhaW1zT2JqZWN0PihjbGFpbXM6IEF1dGhDbGFpbXM8VD4pOiBBdXRoUm9sZVNldCB7XG4gICAgbGV0IHJlc3VsdDogQXV0aFJvbGVTZXQ7XG5cbiAgICBpZiAodGhpcy5fYXV0aFJvbGVDbGFpbXNTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFJvbGVDbGFpbXNTZXJ2aWNlLnRvUm9sZXMoY2xhaW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiByb2xlc0ZvckNsYWltcyBjYWxsZWQgd2l0aCBubyBhdXRoUm9sZUNsYWltc1NlcnZpY2UgcHJvdmlkZWQuIEFuIGVtcHR5IHNldCBpcyByZXR1cm5lZC4nKTtcbiAgICAgIHJlc3VsdCA9IG5ldyBTZXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0QXV0aENvbnRleHRJbmZvKCk6IFByb21pc2U8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuYXV0aFVzZXIkKS50aGVuKCh1c2VyKSA9PiB0aGlzLmxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHVzZXIpKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHVzZXI6IE1heWJlPFVzZXI+KTogUHJvbWlzZTxNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz4+IHtcbiAgICBsZXQgcmVzdWx0OiBNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz47XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgY29uc3Qgand0VG9rZW46IElkVG9rZW5SZXN1bHQgPSBhd2FpdCB1c2VyLmdldElkVG9rZW5SZXN1bHQoKTtcbiAgICAgIHJlc3VsdCA9IG5ldyBEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyh0aGlzLCB1c2VyLCBqd3RUb2tlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGxvZ0luV2l0aEdvb2dsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdvb2dsZUF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEZhY2Vib29rKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgRmFjZWJvb2tBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhUd2l0dGVyKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgVHdpdHRlckF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEdpdGh1YigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdpdGh1YkF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEFwcGxlKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aE1pY3Jvc29mdCgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgLy8gcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IE1pY3Jvc29mdEF1dGhQcm92aWRlcigpKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aFBob25lKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgICAvLyByZXR1cm4gc2lnbkluV2l0aFBob25lTnVtYmVyKHRoaXMuZmlyZWJhc2VBdXRoLCApXG4gIH1cblxuICBsb2dJbldpdGhQb3B1cChwcm92aWRlcjogQXV0aFByb3ZpZGVyLCByZXNvbHZlcj86IFBvcHVwUmVkaXJlY3RSZXNvbHZlcik6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aFBvcHVwKHRoaXMuZmlyZWJhc2VBdXRoLCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICB9XG5cbiAgcmVnaXN0ZXJXaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBzZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwpO1xuICB9XG5cbiAgbG9nSW5XaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIGxvZ0luQXNBbm9ueW1vdXMoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5Bbm9ueW1vdXNseSh0aGlzLmZpcmViYXNlQXV0aCk7XG4gIH1cblxuICBsb2dPdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25PdXQoKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpcmViYXNlQXV0aENvbnRleHRJbmZvIGltcGxlbWVudGF0aW9uIGZyb20gRGJ4RmlyZWJhc2VBdXRoU2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvIGltcGxlbWVudHMgRmlyZWJhc2VBdXRoQ29udGV4dEluZm8ge1xuICBwcml2YXRlIF90b2tlbiA9IGNhY2hlZEdldHRlcigoKSA9PiBmaXJlYmFzZUF1dGhUb2tlbkZyb21Vc2VyKHRoaXMudXNlcikpO1xuICBwcml2YXRlIF9yb2xlcyA9IGNhY2hlZEdldHRlcigoKSA9PiB0aGlzLnNlcnZpY2Uucm9sZXNGb3JDbGFpbXModGhpcy5nZXRDbGFpbXMoKSkpO1xuICBwcml2YXRlIF9pc0FkbWluID0gY2FjaGVkR2V0dGVyKCgpID0+IHRoaXMuc2VydmljZS5pc0FkbWluSW5BdXRoUm9sZVNldCh0aGlzLl9yb2xlcygpKSk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgc2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSwgcmVhZG9ubHkgdXNlcjogVXNlciwgcmVhZG9ubHkgand0VG9rZW46IElkVG9rZW5SZXN1bHQpIHt9XG5cbiAgZ2V0IHVpZCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLnVpZDtcbiAgfVxuXG4gIGlzQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQWRtaW4oKTtcbiAgfVxuXG4gIGdldENsYWltczxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdCA9IEF1dGhDbGFpbXNPYmplY3Q+KCk6IEF1dGhDbGFpbXM8VD4ge1xuICAgIHJldHVybiB0aGlzLmp3dFRva2VuLmNsYWltcyBhcyBBdXRoQ2xhaW1zPFQ+O1xuICB9XG5cbiAgZ2V0QXV0aFJvbGVzKCk6IEF1dGhSb2xlU2V0IHtcbiAgICByZXR1cm4gdGhpcy5fcm9sZXMoKTtcbiAgfVxuXG4gIGdldCB0b2tlbigpOiBGaXJlYmFzZUF1dGhUb2tlbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuKCk7XG4gIH1cbn1cbiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBb0Msa0JBQWtCLEVBQUUsZUFBZSxFQUF1QyxpQkFBaUIsRUFBRSwwQkFBMEIsRUFBa0Isb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4VSxPQUFPLEVBQUUsRUFBRSxFQUFjLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckgsT0FBTyxFQUFvRSxlQUFlLEVBQUUsWUFBWSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBZ0Isd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDNUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFRcEYsaUJBQWlCO0FBQ2pCLE1BQU0sT0FBZ0IsOEJBQThCO0lBQXBEO1FBQ0UsK0JBQTBCLEdBQWEsS0FBSyxD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OEJBQThCOzBCQUFuRCxRQUFROztBQTJIcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQXFCLE9BQStCLEVBQVcsSUFBVSxFQUFXLFFBQXVCO1FBQXRGLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUFXLGFBQVEsR0FBUixRQUFRLENBQWU7UUFKbkcsV0FBTSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRSxXQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0UsYUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFc0IsQ0FBQztJQUUvRyxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBdUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSwgaXNOb3QsIHRpbWVvdXRTdGFydFdpdGggfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoVXNlclN0YXRlLCBEYnhBdXRoU2VydmljZSwgbG9nZ2VkT3V0T2JzRnJvbUlzTG9nZ2VkSW4sIGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4sIEF1dGhVc2VySWRlbnRpZmllciwgYXV0aFVzZXJJZGVudGlmaWVyIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgQXV0aCwgYXV0aFN0YXRlLCBpZFRva2VuLCBVc2VyLCBJZFRva2VuUmVzdWx0LCBQYXJzZWRUb2tlbiwgR29vZ2xlQXV0aFByb3ZpZGVyLCBzaWduSW5XaXRoUG9wdXAsIEF1dGhQcm92aWRlciwgUG9wdXBSZWRpcmVjdFJlc29sdmVyLCBzaWduSW5Bbm9ueW1vdXNseSwgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQsIFVzZXJDcmVkZW50aWFsLCBGYWNlYm9va0F1dGhQcm92aWRlciwgR2l0aHViQXV0aFByb3ZpZGVyLCBUd2l0dGVyQXV0aFByb3ZpZGVyLCBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQgfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZVJlcGxheSwgbWFwLCBzd2l0Y2hNYXAsIGZpcnN0VmFsdWVGcm9tLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoQ2xhaW1zLCBBdXRoQ2xhaW1zT2JqZWN0LCBBdXRoUm9sZUNsYWltc1NlcnZpY2UsIEF1dGhSb2xlU2V0LCBBVVRIX0FETUlOX1JPTEUsIGNhY2hlZEdldHRlciwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEF1dGhVc2VySW5mbywgYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyLCBmaXJlYmFzZUF1dGhUb2tlbkZyb21Vc2VyIH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBzZW5kUGFzc3dvcmRSZXNldEVtYWlsIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2VGdW5jdGlvbiB9IGZyb20gJy4vZmlyZWJhc2UuYXV0aC5yeGpzJztcbmltcG9ydCB7IEZpcmViYXNlQXV0aENvbnRleHRJbmZvLCBGaXJlYmFzZUF1dGhUb2tlbiB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGVcbiAqL1xuZXhwb3J0IHR5cGUgQXV0aFVzZXJTdGF0ZU9ic0Z1bmN0aW9uID0gKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpID0+IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT47XG5cbi8vIE1BUks6IERlbGVnYXRlXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlIHtcbiAgZnVsbENvbnRyb2xPZkF1dGhVc2VyU3RhdGU/OiBib29sZWFuID0gZmFsc2U7XG4gIGFic3RyYWN0IGF1dGhVc2VyU3RhdGVPYnM6IEF1dGhVc2VyU3RhdGVPYnNGdW5jdGlvbjtcbiAgYWJzdHJhY3QgYXV0aFJvbGVzT2JzKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PjtcbiAgYWJzdHJhY3QgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgaW5wdXQgcm9sZXMgaW1wbHkgdGhlIGFkbWluIHByaXZpbGVkZ2VzLlxuICAgKi9cbiAgYWJzdHJhY3QgaXNBZG1pbkluQXV0aFJvbGVTZXQoYXV0aFJvbGVTZXQ6IEF1dGhSb2xlU2V0KTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgYXV0aFJvbGVDbGFpbXNTZXJ2aWNlPzogTWF5YmU8QXV0aFJvbGVDbGFpbXNTZXJ2aWNlPEF1dGhDbGFpbXNPYmplY3Q+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfREJYX0ZJUkVCQVNFX0FVVEhfU0VSVklDRV9ERUxFR0FURTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZURlbGVnYXRlID0ge1xuICBhdXRoVXNlclN0YXRlT2JzOiBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2VGdW5jdGlvbigpLFxuICBhdXRoUm9sZXNPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+IHtcbiAgICByZXR1cm4gZGJ4RmlyZWJhc2VBdXRoU2VydmljZS5hdXRoVXNlclN0YXRlJC5waXBlKG1hcCgoeCkgPT4gKHggPT09ICd1c2VyJyA/IG5ldyBTZXQoWyd1c2VyJ10pIDogbmV3IFNldCgpKSkpO1xuICB9LFxuICBpc09uYm9hcmRlZChkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGRieEZpcmViYXNlQXV0aFNlcnZpY2UuYXV0aFVzZXJTdGF0ZSQucGlwZShtYXAoKHgpID0+IHggPT09ICd1c2VyJykpO1xuICB9LFxuICBpc0FkbWluSW5BdXRoUm9sZVNldChhdXRoUm9sZVNldDogQXV0aFJvbGVTZXQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYXV0aFJvbGVTZXQuaGFzKEFVVEhfQURNSU5fUk9MRSk7XG4gIH1cbn07XG5cbi8vIE1BUks6IFNlcnZpY2VcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlIGltcGxlbWVudHMgRGJ4QXV0aFNlcnZpY2Uge1xuICByZWFkb25seSBfYXV0aFN0YXRlJDogT2JzZXJ2YWJsZTxNYXliZTxVc2VyPj4gPSBhdXRoU3RhdGUodGhpcy5maXJlYmFzZUF1dGgpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoVXNlciQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKHRpbWVvdXRTdGFydFdpdGgobnVsbCBhcyBNYXliZTxVc2VyPiwgMTAwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aFVzZXJJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxBdXRoVXNlckluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCgoeCkgPT4gKHggPyBhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIoeCkgOiB1bmRlZmluZWQpKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXIkOiBPYnNlcnZhYmxlPFVzZXI+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IGF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8QXV0aFVzZXJJbmZvPiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUobWFwKGF1dGhVc2VySW5mb0Zyb21BdXRoVXNlcikpO1xuXG4gIHJlYWRvbmx5IGhhc0F1dGhVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpc0Fub255bW91c1VzZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoVXNlciQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaXNBbm9ueW1vdXMpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgaXNOb3RBbm9ueW1vdXNVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNBbm9ueW1vdXNVc2VyJC5waXBlKGlzTm90KCkpO1xuXG4gIHJlYWRvbmx5IGlzTG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5oYXNBdXRoVXNlciQ7XG5cbiAgcmVhZG9ubHkgaXNOb3RMb2dnZWRJbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmlzTG9nZ2VkSW4kLnBpcGUoaXNOb3QoKSk7XG4gIHJlYWRvbmx5IG9uTG9nSW4kOiBPYnNlcnZhYmxlPHZvaWQ+ID0gbG9nZ2VkSW5PYnNGcm9tSXNMb2dnZWRJbih0aGlzLmlzTG9nZ2VkSW4kKTtcbiAgcmVhZG9ubHkgb25Mb2dPdXQkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gbG9nZ2VkT3V0T2JzRnJvbUlzTG9nZ2VkSW4odGhpcy5pc0xvZ2dlZEluJCk7XG4gIHJlYWRvbmx5IHVzZXJJZGVudGlmaWVyJDogT2JzZXJ2YWJsZTxBdXRoVXNlcklkZW50aWZpZXI+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUobWFwKCh4KSA9PiBhdXRoVXNlcklkZW50aWZpZXIoeD8udWlkKSkpO1xuICByZWFkb25seSB1aWQkOiBPYnNlcnZhYmxlPEF1dGhVc2VySWRlbnRpZmllcj4gPSB0aGlzLnVzZXJJZGVudGlmaWVyJDtcblxuICByZWFkb25seSBjdXJyZW50SWRUb2tlblN0cmluZyQ6IE9ic2VydmFibGU8TWF5YmU8c3RyaW5nPj4gPSBpZFRva2VuKHRoaXMuZmlyZWJhc2VBdXRoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBpZFRva2VuU3RyaW5nJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5jdXJyZW50SWRUb2tlblN0cmluZyQucGlwZShmaWx0ZXJNYXliZSgpKTtcbiAgcmVhZG9ubHkgaWRUb2tlblJlc3VsdCQ6IE9ic2VydmFibGU8SWRUb2tlblJlc3VsdD4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4gdGhpcy5pZFRva2VuU3RyaW5nJC5waXBlKHN3aXRjaE1hcCgoeSkgPT4geC5nZXRJZFRva2VuUmVzdWx0KCkpKSkpO1xuXG4gIHJlYWRvbmx5IGNsYWltcyQ6IE9ic2VydmFibGU8UGFyc2VkVG9rZW4+ID0gdGhpcy5pZFRva2VuUmVzdWx0JC5waXBlKG1hcCgoeCkgPT4geC5jbGFpbXMpKTtcbiAgcmVhZG9ubHkgY3VycmVudEF1dGhDb250ZXh0SW5mbyQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4gdGhpcy5sb2FkQXV0aENvbnRleHRJbmZvRm9yVXNlcih4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgYXV0aENvbnRleHRJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz4+ID0gdGhpcy5jdXJyZW50QXV0aENvbnRleHRJbmZvJC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IGF1dGhVc2VyU3RhdGUkOiBPYnNlcnZhYmxlPEF1dGhVc2VyU3RhdGU+O1xuICByZWFkb25seSBhdXRoUm9sZXMkOiBPYnNlcnZhYmxlPEF1dGhSb2xlU2V0PjtcbiAgcmVhZG9ubHkgaXNPbmJvYXJkZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgX2F1dGhSb2xlQ2xhaW1zU2VydmljZT86IE1heWJlPEF1dGhSb2xlQ2xhaW1zU2VydmljZTxBdXRoQ2xhaW1zT2JqZWN0Pj47XG4gIHJlYWRvbmx5IGlzQWRtaW5JbkF1dGhSb2xlU2V0OiAoYXV0aFJvbGVTZXQ6IEF1dGhSb2xlU2V0KSA9PiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpcmViYXNlQXV0aDogQXV0aCwgQE9wdGlvbmFsKCkgZGVsZWdhdGU6IERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSkge1xuICAgIGRlbGVnYXRlID0gZGVsZWdhdGUgPz8gREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFO1xuXG4gICAgY29uc3QgZGVsZWdhdGVBdXRoVXNlclN0YXRlT2JzID0gZGVsZWdhdGUuYXV0aFVzZXJTdGF0ZU9icyh0aGlzKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZignZXJyb3InIGFzIEF1dGhVc2VyU3RhdGUpKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgICBpZiAoZGVsZWdhdGUuZnVsbENvbnRyb2xPZkF1dGhVc2VyU3RhdGUpIHtcbiAgICAgIHRoaXMuYXV0aFVzZXJTdGF0ZSQgPSBkZWxlZ2F0ZUF1dGhVc2VyU3RhdGVPYnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0aFVzZXJTdGF0ZSQgPSB0aGlzLl9hdXRoU3RhdGUkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCgoeCkgPT4ge1xuICAgICAgICAgIGlmICh4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWxlZ2F0ZUF1dGhVc2VyU3RhdGVPYnM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZignbm9uZScgYXMgQXV0aFVzZXJTdGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dGhSb2xlcyQgPSBkZWxlZ2F0ZS5hdXRoUm9sZXNPYnModGhpcyk7XG4gICAgdGhpcy5pc09uYm9hcmRlZCQgPSBkZWxlZ2F0ZS5pc09uYm9hcmRlZCh0aGlzKTtcbiAgICB0aGlzLl9hdXRoUm9sZUNsYWltc1NlcnZpY2UgPSBkZWxlZ2F0ZS5hdXRoUm9sZUNsYWltc1NlcnZpY2U7XG4gICAgdGhpcy5pc0FkbWluSW5BdXRoUm9sZVNldCA9IGRlbGVnYXRlLmlzQWRtaW5JbkF1dGhSb2xlU2V0O1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8SWRUb2tlblJlc3VsdD4ge1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmZpcmViYXNlQXV0aC5jdXJyZW50VXNlcjtcblxuICAgIGlmICghdXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdubyB1c2VyIHRvIHJlZnJlc2ggdGhlIHRva2VuIGZvci4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlci5nZXRJZFRva2VuUmVzdWx0KHRydWUpO1xuICB9XG5cbiAgcm9sZXNGb3JDbGFpbXM8VCBleHRlbmRzIEF1dGhDbGFpbXNPYmplY3QgPSBBdXRoQ2xhaW1zT2JqZWN0PihjbGFpbXM6IEF1dGhDbGFpbXM8VD4pOiBBdXRoUm9sZVNldCB7XG4gICAgbGV0IHJlc3VsdDogQXV0aFJvbGVTZXQ7XG5cbiAgICBpZiAodGhpcy5fYXV0aFJvbGVDbGFpbXNTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXV0aFJvbGVDbGFpbXNTZXJ2aWNlLnRvUm9sZXMoY2xhaW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiByb2xlc0ZvckNsYWltcyBjYWxsZWQgd2l0aCBubyBhdXRoUm9sZUNsYWltc1NlcnZpY2UgcHJvdmlkZWQuIEFuIGVtcHR5IHNldCBpcyByZXR1cm5lZC4nKTtcbiAgICAgIHJlc3VsdCA9IG5ldyBTZXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0QXV0aENvbnRleHRJbmZvKCk6IFByb21pc2U8TWF5YmU8RGJ4RmlyZWJhc2VBdXRoQ29udGV4dEluZm8+PiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuYXV0aFVzZXIkKS50aGVuKCh1c2VyKSA9PiB0aGlzLmxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHVzZXIpKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBdXRoQ29udGV4dEluZm9Gb3JVc2VyKHVzZXI6IE1heWJlPFVzZXI+KTogUHJvbWlzZTxNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz4+IHtcbiAgICBsZXQgcmVzdWx0OiBNYXliZTxEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbz47XG5cbiAgICBpZiAodXNlcikge1xuICAgICAgY29uc3Qgand0VG9rZW46IElkVG9rZW5SZXN1bHQgPSBhd2FpdCB1c2VyLmdldElkVG9rZW5SZXN1bHQoKTtcbiAgICAgIHJlc3VsdCA9IG5ldyBEYnhGaXJlYmFzZUF1dGhDb250ZXh0SW5mbyh0aGlzLCB1c2VyLCBqd3RUb2tlbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGxvZ0luV2l0aEdvb2dsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdvb2dsZUF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEZhY2Vib29rKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgRmFjZWJvb2tBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhUd2l0dGVyKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gdGhpcy5sb2dJbldpdGhQb3B1cChuZXcgVHdpdHRlckF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEdpdGh1YigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEdpdGh1YkF1dGhQcm92aWRlcigpKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEFwcGxlKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aE1pY3Jvc29mdCgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgLy8gcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IE1pY3Jvc29mdEF1dGhQcm92aWRlcigpKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgfVxuXG4gIGxvZ0luV2l0aFBob25lKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8nKTtcbiAgICAvLyByZXR1cm4gc2lnbkluV2l0aFBob25lTnVtYmVyKHRoaXMuZmlyZWJhc2VBdXRoLCApXG4gIH1cblxuICBsb2dJbldpdGhQb3B1cChwcm92aWRlcjogQXV0aFByb3ZpZGVyLCByZXNvbHZlcj86IFBvcHVwUmVkaXJlY3RSZXNvbHZlcik6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aFBvcHVwKHRoaXMuZmlyZWJhc2VBdXRoLCBwcm92aWRlciwgcmVzb2x2ZXIpO1xuICB9XG5cbiAgcmVnaXN0ZXJXaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBzZW5kUGFzc3dvcmRSZXNldEVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwpO1xuICB9XG5cbiAgbG9nSW5XaXRoRW1haWxBbmRQYXNzd29yZChlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCh0aGlzLmZpcmViYXNlQXV0aCwgZW1haWwsIHBhc3N3b3JkKTtcbiAgfVxuXG4gIGxvZ0luQXNBbm9ueW1vdXMoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiBzaWduSW5Bbm9ueW1vdXNseSh0aGlzLmZpcmViYXNlQXV0aCk7XG4gIH1cblxuICBsb2dPdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VBdXRoLnNpZ25PdXQoKTtcbiAgfVxufVxuXG4vKipcbiAqIEZpcmViYXNlQXV0aENvbnRleHRJbmZvIGltcGxlbWVudGF0aW9uIGZyb20gRGJ4RmlyZWJhc2VBdXRoU2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aENvbnRleHRJbmZvIGltcGxlbWVudHMgRmlyZWJhc2VBdXRoQ29udGV4dEluZm8ge1xuICBwcml2YXRlIF90b2tlbiA9IGNhY2hlZEdldHRlcigoKSA9PiBmaXJlYmFzZUF1dGhUb2tlbkZyb21Vc2VyKHRoaXMudXNlcikpO1xuICBwcml2YXRlIF9yb2xlcyA9IGNhY2hlZEdldHRlcigoKSA9PiB0aGlzLnNlcnZpY2Uucm9sZXNGb3JDbGFpbXModGhpcy5nZXRDbGFpbXMoKSkpO1xuICBwcml2YXRlIF9pc0FkbWluID0gY2FjaGVkR2V0dGVyKCgpID0+IHRoaXMuc2VydmljZS5pc0FkbWluSW5BdXRoUm9sZVNldCh0aGlzLl9yb2xlcygpKSk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgc2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSwgcmVhZG9ubHkgdXNlcjogVXNlciwgcmVhZG9ubHkgand0VG9rZW46IElkVG9rZW5SZXN1bHQpIHt9XG5cbiAgZ2V0IHVpZCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLnVpZDtcbiAgfVxuXG4gIGlzQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQWRtaW4oKTtcbiAgfVxuXG4gIGdldENsYWltczxUIGV4dGVuZHMgQXV0aENsYWltc09iamVjdCA9IEF1dGhDbGFpbXNPYmplY3Q+KCk6IEF1dGhDbGFpbXM8VD4ge1xuICAgIHJldHVybiB0aGlzLmp3dFRva2VuLmNsYWltcyBhcyBBdXRoQ2xhaW1zPFQ+O1xuICB9XG5cbiAgZ2V0QXV0aFJvbGVzKCk6IEF1dGhSb2xlU2V0IHtcbiAgICByZXR1cm4gdGhpcy5fcm9sZXMoKTtcbiAgfVxuXG4gIGdldCB0b2tlbigpOiBGaXJlYmFzZUF1dGhUb2tlbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { urlWithoutParameters, AUTH_ADMIN_ROLE, cachedGetter, addToSet, removeFr
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, Injectable, Inject, Optional, Component, Input, Directive, EventEmitter, Output, NgModule, Injector, forwardRef, Host } from '@angular/core';
|
|
4
4
|
import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
|
|
5
|
-
import { switchMap, from, first, map, of, shareReplay, distinctUntilChanged, firstValueFrom, BehaviorSubject, combineLatest, tap, filter, take, startWith, exhaustMap, EMPTY, Subject, throttleTime, NEVER } from 'rxjs';
|
|
5
|
+
import { switchMap, from, first, map, of, shareReplay, distinctUntilChanged, catchError, firstValueFrom, BehaviorSubject, combineLatest, tap, filter, take, startWith, exhaustMap, EMPTY, Subject, throttleTime, NEVER } from 'rxjs';
|
|
6
6
|
import * as i1 from '@angular/fire/app-check';
|
|
7
7
|
import { provideAppCheck } from '@angular/fire/app-check';
|
|
8
8
|
import * as i3$1 from '@angular/material/button';
|
|
@@ -226,7 +226,7 @@ class DbxFirebaseAuthService {
|
|
|
226
226
|
this.currentAuthContextInfo$ = this.currentAuthUser$.pipe(switchMap((x) => this.loadAuthContextInfoForUser(x)), shareReplay(1));
|
|
227
227
|
this.authContextInfo$ = this.currentAuthContextInfo$.pipe(filterMaybe());
|
|
228
228
|
delegate = delegate !== null && delegate !== void 0 ? delegate : DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE;
|
|
229
|
-
const delegateAuthUserStateObs = delegate.authUserStateObs(this).pipe(distinctUntilChanged(), shareReplay(1));
|
|
229
|
+
const delegateAuthUserStateObs = delegate.authUserStateObs(this).pipe(catchError(() => of('error')), distinctUntilChanged(), shareReplay(1));
|
|
230
230
|
if (delegate.fullControlOfAuthUserState) {
|
|
231
231
|
this.authUserState$ = delegateAuthUserStateObs;
|
|
232
232
|
}
|