@frontegg/angular 5.37.0 → 5.38.0-alpha.5809523595
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.
- package/bundles/frontegg-angular.umd.js +92 -98
- package/bundles/frontegg-angular.umd.js.map +1 -1
- package/esm2015/frontegg-angular.js +1 -3
- package/esm2015/lib/directives/authorized-content.directive.js +14 -16
- package/esm2015/lib/frontegg-app.module.js +13 -8
- package/esm2015/lib/frontegg-app.service.js +17 -15
- package/esm2015/lib/frontegg-auth.service.js +9 -13
- package/esm2015/lib/frontegg-entitlements.service.js +9 -11
- package/esm2015/lib/frontegg-subscription.services.js +9 -11
- package/esm2015/lib/frontegg.component.js +12 -8
- package/esm2015/lib/guards/frontegg-auth.guard.js +10 -13
- package/esm2015/lib/guards/frontegg-load.guard.js +8 -8
- package/fesm2015/frontegg-angular.js +83 -85
- package/fesm2015/frontegg-angular.js.map +1 -1
- package/frontegg-angular.d.ts +1 -2
- package/frontegg-angular.d.ts.map +1 -1
- package/lib/directives/authorized-content.directive.d.ts +3 -0
- package/lib/directives/authorized-content.directive.d.ts.map +1 -1
- package/lib/frontegg-app.module.d.ts +8 -0
- package/lib/frontegg-app.module.d.ts.map +1 -1
- package/lib/frontegg-app.service.d.ts +3 -0
- package/lib/frontegg-app.service.d.ts.map +1 -1
- package/lib/frontegg-auth.service.d.ts +3 -0
- package/lib/frontegg-auth.service.d.ts.map +1 -1
- package/lib/frontegg-entitlements.service.d.ts +3 -0
- package/lib/frontegg-entitlements.service.d.ts.map +1 -1
- package/lib/frontegg-subscription.services.d.ts +3 -0
- package/lib/frontegg-subscription.services.d.ts.map +1 -1
- package/lib/frontegg.component.d.ts +3 -0
- package/lib/frontegg.component.d.ts.map +1 -1
- package/lib/guards/frontegg-auth.guard.d.ts +3 -0
- package/lib/guards/frontegg-auth.guard.d.ts.map +1 -1
- package/lib/guards/frontegg-load.guard.d.ts +3 -0
- package/lib/guards/frontegg-load.guard.d.ts.map +1 -1
- package/package.json +1 -2
- package/CHANGELOG.md +0 -372
- package/bundles/frontegg-angular.umd.min.js +0 -2
- package/bundles/frontegg-angular.umd.min.js.map +0 -1
- package/frontegg-angular.metadata.json +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Directive, Input,
|
|
2
|
-
import
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../frontegg-auth.service";
|
|
3
4
|
export class AuthorizedContentDirective {
|
|
4
5
|
constructor(templateRef, viewContainer, fronteggAuthService) {
|
|
5
6
|
this.templateRef = templateRef;
|
|
@@ -22,17 +23,14 @@ export class AuthorizedContentDirective {
|
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
AuthorizedContentDirective
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
authorizedContent: [{ type: Input }]
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplZC1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvbGliL2RpcmVjdGl2ZXMvYXV0aG9yaXplZC1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSy9ELE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFDVSxXQUE2QixFQUM3QixhQUErQixFQUMvQixtQkFBd0M7UUFGeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBTDFDLFdBQU0sR0FBYSxFQUFFLENBQUM7SUFNM0IsQ0FBQztJQUVKLElBQ0ksaUJBQWlCLENBQUMsS0FBZTtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7O1lBQ2hELElBQUksTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsS0FBSywwQ0FBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF6QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7OztZQVBDLFdBQVc7WUFDWCxnQkFBZ0I7WUFFVCxtQkFBbUI7OztnQ0FjekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbiAgaW1wb3J0IHsgRnJvbnRlZ2dBdXRoU2VydmljZSB9IGZyb20gJy4uL2Zyb250ZWdnLWF1dGguc2VydmljZSc7XG4gIFxuICBARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thdXRob3JpemVkQ29udGVudF0nLFxuICB9KVxuICBleHBvcnQgY2xhc3MgQXV0aG9yaXplZENvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBwcml2YXRlIF9yb2xlczogc3RyaW5nW10gPSBbXTtcbiAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgcHJpdmF0ZSBmcm9udGVnZ0F1dGhTZXJ2aWNlOiBGcm9udGVnZ0F1dGhTZXJ2aWNlXG4gICAgKSB7fVxuICBcbiAgICBASW5wdXQoKVxuICAgIHNldCBhdXRob3JpemVkQ29udGVudChyb2xlczogc3RyaW5nW10pIHtcbiAgICAgIHRoaXMuX3JvbGVzID0gcm9sZXM7XG4gICAgfVxuICBcbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICB0aGlzLmZyb250ZWdnQXV0aFNlcnZpY2UudXNlciQuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICAgIGlmICh1c2VyPy5yb2xlcz8uc29tZSgocm9sZSkgPT4gdGhpcy5fcm9sZXMuaW5jbHVkZXMocm9sZS5uYW1lKSkpIHtcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgIl19
|
|
26
|
+
AuthorizedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthorizedContentDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.FronteggAuthService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
AuthorizedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AuthorizedContentDirective, selector: "[authorizedContent]", inputs: { authorizedContent: "authorizedContent" }, ngImport: i0 });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthorizedContentDirective, decorators: [{
|
|
29
|
+
type: Directive,
|
|
30
|
+
args: [{
|
|
31
|
+
selector: '[authorizedContent]',
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.FronteggAuthService }]; }, propDecorators: { authorizedContent: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplZC1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvbGliL2RpcmVjdGl2ZXMvYXV0aG9yaXplZC1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQzs7O0FBTXZCLE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFDVSxXQUE2QixFQUM3QixhQUErQixFQUMvQixtQkFBd0M7UUFGeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBTDFDLFdBQU0sR0FBYSxFQUFFLENBQUM7SUFNM0IsQ0FBQztJQUVKLElBQ0ksaUJBQWlCLENBQUMsS0FBZTtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7O1lBQ2hELElBQUksTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsS0FBSywwQ0FBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3SEF0QlUsMEJBQTBCOzRHQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzttS0FXSyxpQkFBaUI7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gIGltcG9ydCB7IEZyb250ZWdnQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9mcm9udGVnZy1hdXRoLnNlcnZpY2UnO1xuICBcbiAgQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXV0aG9yaXplZENvbnRlbnRdJyxcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEF1dGhvcml6ZWRDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgcHJpdmF0ZSBfcm9sZXM6IHN0cmluZ1tdID0gW107XG4gIFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgIHByaXZhdGUgZnJvbnRlZ2dBdXRoU2VydmljZTogRnJvbnRlZ2dBdXRoU2VydmljZVxuICAgICkge31cbiAgXG4gICAgQElucHV0KClcbiAgICBzZXQgYXV0aG9yaXplZENvbnRlbnQocm9sZXM6IHN0cmluZ1tdKSB7XG4gICAgICB0aGlzLl9yb2xlcyA9IHJvbGVzO1xuICAgIH1cbiAgXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgdGhpcy5mcm9udGVnZ0F1dGhTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICBpZiAodXNlcj8ucm9sZXM/LnNvbWUoKHJvbGUpID0+IHRoaXMuX3JvbGVzLmluY2x1ZGVzKHJvbGUubmFtZSkpKSB7XG4gICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gICJdfQ==
|
|
@@ -9,6 +9,7 @@ import { FronteggAuthService } from './frontegg-auth.service';
|
|
|
9
9
|
import { AuthorizedContentDirective } from './directives/authorized-content.directive';
|
|
10
10
|
import { FronteggSubscriptionService } from './frontegg-subscription.services';
|
|
11
11
|
import { FronteggEntitlementsService } from './frontegg-entitlements.service';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
12
13
|
export class FronteggAppModule {
|
|
13
14
|
static forRoot(config) {
|
|
14
15
|
return {
|
|
@@ -28,11 +29,15 @@ export class FronteggAppModule {
|
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
FronteggAppModule
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
]
|
|
38
|
-
|
|
32
|
+
FronteggAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
+
FronteggAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppModule, declarations: [FronteggComponent, AuthorizedContentDirective], imports: [CommonModule, RouterModule], exports: [FronteggComponent, AuthorizedContentDirective] });
|
|
34
|
+
FronteggAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppModule, imports: [[CommonModule, RouterModule]] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppModule, decorators: [{
|
|
36
|
+
type: NgModule,
|
|
37
|
+
args: [{
|
|
38
|
+
imports: [CommonModule, RouterModule],
|
|
39
|
+
declarations: [FronteggComponent, AuthorizedContentDirective],
|
|
40
|
+
exports: [FronteggComponent, AuthorizedContentDirective],
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zyb250ZWdnLWFwcC9zcmMvbGliL2Zyb250ZWdnLWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFPOUUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTBCO1FBQ3ZDLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCxrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsaUJBQWlCO2dCQUNqQixtQkFBbUI7Z0JBQ25CLDJCQUEyQjtnQkFDM0IsMkJBQTJCO2dCQUMzQjtvQkFDRSxPQUFPLEVBQUUsdUJBQXVCO29CQUNoQyxRQUFRLEVBQUUsTUFBTTtpQkFDakI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzsrR0FqQlUsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBSGIsaUJBQWlCLEVBQUUsMEJBQTBCLGFBRGxELFlBQVksRUFBRSxZQUFZLGFBRTFCLGlCQUFpQixFQUFFLDBCQUEwQjtnSEFFNUMsaUJBQWlCLFlBSm5CLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQzs0RkFJMUIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7b0JBQ3JDLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLDBCQUEwQixDQUFDO29CQUM3RCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEIsQ0FBQztpQkFDekQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcE9wdGlvbnMgfSBmcm9tICdAZnJvbnRlZ2cvdHlwZXMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBPcHRpb25zQ2xhc3MsIEZyb250ZWdnQXBwU2VydmljZSB9IGZyb20gJy4vZnJvbnRlZ2ctYXBwLnNlcnZpY2UnO1xuaW1wb3J0IHsgRnJvbnRlZ2dDb21wb25lbnQgfSBmcm9tICcuL2Zyb250ZWdnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGcm9udGVnZ0xvYWRHdWFyZCB9IGZyb20gJy4vZ3VhcmRzL2Zyb250ZWdnLWxvYWQuZ3VhcmQnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBdXRoR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9mcm9udGVnZy1hdXRoLmd1YXJkJztcbmltcG9ydCB7IEZyb250ZWdnQXV0aFNlcnZpY2UgfSBmcm9tICcuL2Zyb250ZWdnLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBdXRob3JpemVkQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRob3JpemVkLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZyb250ZWdnU3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4vZnJvbnRlZ2ctc3Vic2NyaXB0aW9uLnNlcnZpY2VzJztcbmltcG9ydCB7IEZyb250ZWdnRW50aXRsZW1lbnRzU2VydmljZSB9IGZyb20gJy4vZnJvbnRlZ2ctZW50aXRsZW1lbnRzLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtGcm9udGVnZ0NvbXBvbmVudCwgQXV0aG9yaXplZENvbnRlbnREaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbRnJvbnRlZ2dDb21wb25lbnQsIEF1dGhvcml6ZWRDb250ZW50RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IEZyb250ZWdnQXBwT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnJvbnRlZ2dBcHBNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZyb250ZWdnQXBwTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEZyb250ZWdnQXBwU2VydmljZSxcbiAgICAgICAgRnJvbnRlZ2dBdXRoR3VhcmQsXG4gICAgICAgIEZyb250ZWdnTG9hZEd1YXJkLFxuICAgICAgICBGcm9udGVnZ0F1dGhTZXJ2aWNlLFxuICAgICAgICBGcm9udGVnZ0VudGl0bGVtZW50c1NlcnZpY2UsXG4gICAgICAgIEZyb250ZWdnU3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEZyb250ZWdnQXBwT3B0aW9uc0NsYXNzLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Inject, Injectable
|
|
2
|
-
import { Router } from '@angular/router';
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
2
|
import { initialize } from '@frontegg/js';
|
|
4
3
|
import { isAuthRoute } from '@frontegg/redux-store';
|
|
5
4
|
import { BehaviorSubject } from 'rxjs';
|
|
@@ -7,6 +6,7 @@ import { FronteggLoadGuard } from './guards/frontegg-load.guard';
|
|
|
7
6
|
import { ContextHolder, FronteggFrameworks } from '@frontegg/rest-api';
|
|
8
7
|
import { FronteggComponent } from './frontegg.component';
|
|
9
8
|
import sdkVersion from '../sdkVersion';
|
|
9
|
+
import angularCoreVersion from '@angular/core/package.json';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/router";
|
|
12
12
|
export class FronteggAppOptionsClass {
|
|
@@ -66,7 +66,9 @@ export class FronteggAppService {
|
|
|
66
66
|
const { contextOptions } = (_a = this.config) !== null && _a !== void 0 ? _a : {};
|
|
67
67
|
contextOptions.metadataHeaders = {
|
|
68
68
|
fronteggSdkVersion: `@frontegg/angular@${sdkVersion.version}`,
|
|
69
|
-
|
|
69
|
+
//TODO: remove this ts-ignore after updating rest-api context options type to accept string.
|
|
70
|
+
//@ts-ignore
|
|
71
|
+
framework: `${FronteggFrameworks.Angular}@${angularCoreVersion.version}`,
|
|
70
72
|
};
|
|
71
73
|
ContextHolder.setOnRedirectTo(onRedirectTo);
|
|
72
74
|
this.fronteggApp = initialize(Object.assign({ onRedirectTo }, this.config));
|
|
@@ -160,15 +162,15 @@ export class FronteggAppService {
|
|
|
160
162
|
(_a = this.fronteggApp) === null || _a === void 0 ? void 0 : _a.hideCheckoutDialog();
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
|
-
FronteggAppService.ɵ
|
|
164
|
-
FronteggAppService
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
];
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFTLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFnQyxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkMsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLG1CQUFjLEdBQXlDO1lBQ3JELE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUFnRDdCLFlBQXFELE1BQTBCLEVBQVMsTUFBYyxFQUFVLE1BQWM7O1FBQXpFLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUE3Q3RILHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3RELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FB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YUFDekQsTUFBTSxDQUFDLENBQUMsR0FBeUIsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLGtCQUFrQixJQUFJLEdBQUcsS0FBSyxrQkFBa0IsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDO2FBQzlHLEdBQUcsQ0FBQyxDQUFDLEdBQXlCLEVBQUUsRUFBRTs7WUFBQyxPQUFBLENBQUM7Z0JBQ25DLElBQUksRUFBRSxNQUFBLFVBQVUsQ0FBQyxHQUFHLENBQUMsMENBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsU0FBUyxFQUFFLGlCQUFpQjthQUM3QixDQUFDLENBQUE7U0FBQSxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxvQkFBb0I7SUFDYixlQUFlO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELG9CQUFvQjtJQUNiLGVBQWU7O1FBQ3BCLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsZUFBZSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELHVCQUF1QjtJQUNoQixrQkFBa0IsQ0FBQyxJQUFtQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCx1QkFBdUI7SUFDaEIsa0JBQWtCOztRQUN2QixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDekMsQ0FBQzs7OztZQWhLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FpRGMsTUFBTSxTQUFDLHVCQUF1QjtZQW5FN0IsTUFBTTtZQURPLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcCwgaW5pdGlhbGl6ZSB9IGZyb20gJ0Bmcm9udGVnZy9qcyc7XG5pbXBvcnQgeyBBdXRoUGFnZVJvdXRlcyxGcm9udGVnZ1N0YXRlLCBpc0F1dGhSb3V0ZSB9IGZyb20gJ0Bmcm9udGVnZy9yZWR1eC1zdG9yZSc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcE9wdGlvbnMsIEZyb250ZWdnQ2hlY2tvdXREaWFsb2dPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3R5cGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dMb2FkR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9mcm9udGVnZy1sb2FkLmd1YXJkJztcbmltcG9ydCB7IENvbnRleHRIb2xkZXIsIFJlZGlyZWN0T3B0aW9ucywgRnJvbnRlZ2dGcmFtZXdvcmtzIH0gZnJvbSAnQGZyb250ZWdnL3Jlc3QtYXBpJztcbmltcG9ydCB7IEZyb250ZWdnQ29tcG9uZW50IH0gZnJvbSAnLi9mcm9udGVnZy5jb21wb25lbnQnO1xuaW1wb3J0IHNka1ZlcnNpb24gZnJvbSAnLi4vc2RrVmVyc2lvbic7XG5cbmV4cG9ydCBjbGFzcyBGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcyBpbXBsZW1lbnRzIEZyb250ZWdnQXBwT3B0aW9ucyB7XG4gIGNvbnRleHRPcHRpb25zOiBGcm9udGVnZ0FwcE9wdGlvbnNbJ2NvbnRleHRPcHRpb25zJ10gPSB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vc3ViLWRvbWFpbi5mcm9udGVnZy5jb20nLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBTZXJ2aWNlIHtcbiAgZnJvbnRlZ2dBcHA6IEZyb250ZWdnQXBwO1xuXG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZT4oe30gYXMgRnJvbnRlZ2dTdGF0ZSk7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPih7XG4gICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgIGlzQXV0aGVudGljYXRlZDogZmFsc2UsXG4gIH0gYXMgRnJvbnRlZ2dTdGF0ZVsnYXV0aCddKTtcbiAgcHJpdmF0ZSBhdWRpdHNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydhdWRpdHMnXSk7XG4gIHByaXZhdGUgY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnY29ubmVjdGl2aXR5J10pO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ3N1YnNjcmlwdGlvbnMnXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddKTtcbiAgcHJpdmF0ZSB2ZW5kb3JTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddPih7fSBhcyBGcm9udGVnZ1N0YXRlWyd2ZW5kb3InXSk7XG5cblxuICBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhdXRoU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhdWRpdHNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydhdWRpdHMnXT4ge1xuICAgIHJldHVybiB0aGlzLmF1ZGl0c1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBjb25uZWN0aXZpdHlTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXT4ge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzdWJzY3JpcHRpb25zU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddPiB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB2ZW5kb3JTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWyd2ZW5kb3InXT4ge1xuICAgIHJldHVybiB0aGlzLnZlbmRvclN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0xvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEZyb250ZWdnQXBwT3B0aW9uc0NsYXNzKSBwcml2YXRlIGNvbmZpZzogRnJvbnRlZ2dBcHBPcHRpb25zLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICB0aHJvdyBFcnJvcignTmVlZCB0byBwYXNzIGNvbmZpZzogRnJvbnRlZ2dDb25maWdPcHRpb25zIGluIEZyb250ZWdnQXBwTW9kdWxlLmZvclJvb3QoY29uZmlnKScpO1xuICAgIH1cblxuICAgIGlmICgod2luZG93IGFzIGFueSkuQ1lQUkVTU19DT05GSUcpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gKHdpbmRvdyBhcyBhbnkpLkNZUFJFU1NfQ09ORklHO1xuICAgIH1cbiAgICBjb25zdCBvblJlZGlyZWN0VG8gPSAodG86IHN0cmluZywgb3B0cz86IFJlZGlyZWN0T3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgYmFzZU5hbWUgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xuICAgICAgbGV0IHBhdGggPSB0bztcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYmFzZU5hbWUpICYmIGJhc2VOYW1lICE9PSAnLycpIHtcbiAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGJhc2VOYW1lLmxlbmd0aCAtIDEpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdHM/LnByZXNlcnZlUXVlcnlQYXJhbXMgfHwgaXNBdXRoUm91dGUocGF0aCwgY29uZmlnLmF1dGhPcHRpb25zPy5yb3V0ZXMpKSB7XG4gICAgICAgIHBhdGggPSBgJHtwYXRofSR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH1gO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0cz8ucmVmcmVzaCkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHBhdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChvcHRzPy5yZXBsYWNlKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCB7IGNvbnRleHRPcHRpb25zIH0gPSB0aGlzLmNvbmZpZyA/PyB7fTtcbiAgICBjb250ZXh0T3B0aW9ucy5tZXRhZGF0YUhlYWRlcnMgPSB7XG4gICAgICBmcm9udGVnZ1Nka1ZlcnNpb246IGBAZnJvbnRlZ2cvYW5ndWxhckAke3Nka1ZlcnNpb24udmVyc2lvbn1gLFxuICAgICAgZnJhbWV3b3JrOiBGcm9udGVnZ0ZyYW1ld29ya3MuQW5ndWxhcixcbiAgICB9XG4gICAgXG4gICAgQ29udGV4dEhvbGRlci5zZXRPblJlZGlyZWN0VG8ob25SZWRpcmVjdFRvKTtcbiAgICB0aGlzLmZyb250ZWdnQXBwID0gaW5pdGlhbGl6ZSh7XG4gICAgICBvblJlZGlyZWN0VG8sXG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICB9KTtcblxuXG4gICAgLy8gQWRkIGFsbCBsb2dpbiBib3ggcm91dGVzIHRvIEFuZ3VsYXIgcm91dGVyIGNvbmZpZ1xuICAgIHRoaXMucm91dGVyLnJlc2V0Q29uZmlnKFtcbiAgICAgIC4uLnRoaXMubWFwQXV0aENvbXBvbmVudHMsXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBjYW5BY3RpdmF0ZTogWyBGcm9udGVnZ0xvYWRHdWFyZCBdLFxuICAgICAgICBjaGlsZHJlbjogWyAuLi50aGlzLnJvdXRlci5jb25maWcgXSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgY29uc3QgaW5pdGlhbEZyb250ZWdnU3RhdGUgPSB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkgYXMgRnJvbnRlZ2dTdGF0ZTtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKGluaXRpYWxGcm9udGVnZ1N0YXRlKTtcbiAgICAvLyBTdWJzY3JpYmUgb24gZnJvbnRlZ2dBcHAgc3RvcmUgdG8gY2hhbmdlIHN0YXRlIHN1YmplY3RzXG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkgYXMgRnJvbnRlZ2dTdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0YXRlKGZyb250ZWdnU3RvcmU6IEZyb250ZWdnU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmdTdWJqZWN0LmdldFZhbHVlKCkgIT09IGZyb250ZWdnU3RvcmUuYXV0aC5pc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aC5pc0xvYWRpbmcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmdldFZhbHVlKCkgIT09IGZyb250ZWdnU3RvcmUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZSk7XG4gICAgdGhpcy5hdXRoU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoKTtcbiAgICB0aGlzLmF1ZGl0c1N0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXVkaXRzKTtcbiAgICB0aGlzLmNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuY29ubmVjdGl2aXR5KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLnN1YnNjcmlwdGlvbnMpO1xuICAgIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS52ZW5kb3IpO1xuICB9XG5cbiAgZ2V0IG1hcEF1dGhDb21wb25lbnRzKCk6IFJvdXRlW10ge1xuICAgIGNvbnN0IGF1dGhSb3V0ZXMgPSB0aGlzLmF1dGhSb3V0ZXM7XG4gICAgcmV0dXJuIChPYmplY3Qua2V5cyhhdXRoUm91dGVzKSBhcyAoa2V5b2YgQXV0aFBhZ2VSb3V0ZXMpW10pXG4gICAgICAuZmlsdGVyKChrZXk6IGtleW9mIEF1dGhQYWdlUm91dGVzKSA9PiBrZXkgIT09ICdhdXRoZW50aWNhdGVkVXJsJyAmJiBrZXkgIT09ICdzaWduVXBTdWNjZXNzVXJsJyAmJiBrZXkgIT0gbnVsbClcbiAgICAgIC5tYXAoKGtleToga2V5b2YgQXV0aFBhZ2VSb3V0ZXMpID0+ICh7XG4gICAgICAgIHBhdGg6IGF1dGhSb3V0ZXNba2V5XT8uc3Vic3RyaW5nKDEpLFxuICAgICAgICBjb21wb25lbnQ6IEZyb250ZWdnQ29tcG9uZW50LFxuICAgICAgfSkpO1xuICB9XG5cbiAgZ2V0IGF1dGhSb3V0ZXMoKTogQXV0aFBhZ2VSb3V0ZXMge1xuICAgIHJldHVybiB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC5yb3V0ZXM7XG4gIH1cblxuICAvLyBPcGVuIGFkbWluIHBvcnRhbFxuICBwdWJsaWMgc2hvd0FkbWluUG9ydGFsKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAuc2hvd0FkbWluUG9ydGFsKCk7XG4gIH1cblxuICAvLyBPcGVuIGFkbWluIHBvcnRhbFxuICBwdWJsaWMgaGlkZUFkbWluUG9ydGFsKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHA/LmhpZGVBZG1pblBvcnRhbCgpO1xuICB9XG5cbiAgLy8gT3BlbiBjaGVja291dCBkaWFsb2dcbiAgcHVibGljIHNob3dDaGVja291dERpYWxvZyhvcHRzOiBGcm9udGVnZ0NoZWNrb3V0RGlhbG9nT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAuc2hvd0NoZWNrb3V0RGlhbG9nKG9wdHMpO1xuICB9XG5cbiAgLy8gT3BlbiBjaGVja291dCBkaWFsb2dcbiAgcHVibGljIGhpZGVDaGVja291dERpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwPy5oaWRlQ2hlY2tvdXREaWFsb2coKTtcbiAgfVxufVxuIl19
|
|
165
|
+
FronteggAppService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppService, deps: [{ token: FronteggAppOptionsClass }, { token: i1.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
166
|
+
FronteggAppService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppService, providedIn: 'root' });
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAppService, decorators: [{
|
|
168
|
+
type: Injectable,
|
|
169
|
+
args: [{
|
|
170
|
+
providedIn: 'root',
|
|
171
|
+
}]
|
|
172
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
173
|
+
type: Inject,
|
|
174
|
+
args: [FronteggAppOptionsClass]
|
|
175
|
+
}] }, { type: i1.Router }, { type: i0.NgZone }]; } });
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sRUFBZ0MsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEYsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFtQixrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLGtCQUFrQixNQUFNLDRCQUE0QixDQUFDOzs7QUFFNUQsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLG1CQUFjLEdBQXlDO1lBQ3JELE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FBQTtBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUFnRDdCLFlBQXFELE1BQTBCLEVBQVMsTUFBYyxFQUFVLE1BQWM7O1FBQXpFLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUE3Q3RILHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3RELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdELGlCQUFZ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QUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZyb250ZWdnQXBwLCBpbml0aWFsaXplIH0gZnJvbSAnQGZyb250ZWdnL2pzJztcbmltcG9ydCB7IEF1dGhQYWdlUm91dGVzLEZyb250ZWdnU3RhdGUsIGlzQXV0aFJvdXRlIH0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7IEZyb250ZWdnQXBwT3B0aW9ucywgRnJvbnRlZ2dDaGVja291dERpYWxvZ09wdGlvbnMgfSBmcm9tICdAZnJvbnRlZ2cvdHlwZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGcm9udGVnZ0xvYWRHdWFyZCB9IGZyb20gJy4vZ3VhcmRzL2Zyb250ZWdnLWxvYWQuZ3VhcmQnO1xuaW1wb3J0IHsgQ29udGV4dEhvbGRlciwgUmVkaXJlY3RPcHRpb25zLCBGcm9udGVnZ0ZyYW1ld29ya3MgfSBmcm9tICdAZnJvbnRlZ2cvcmVzdC1hcGknO1xuaW1wb3J0IHsgRnJvbnRlZ2dDb21wb25lbnQgfSBmcm9tICcuL2Zyb250ZWdnLmNvbXBvbmVudCc7XG5pbXBvcnQgc2RrVmVyc2lvbiBmcm9tICcuLi9zZGtWZXJzaW9uJztcbmltcG9ydCBhbmd1bGFyQ29yZVZlcnNpb24gZnJvbSAnQGFuZ3VsYXIvY29yZS9wYWNrYWdlLmpzb24nO1xuXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBPcHRpb25zQ2xhc3MgaW1wbGVtZW50cyBGcm9udGVnZ0FwcE9wdGlvbnMge1xuICBjb250ZXh0T3B0aW9uczogRnJvbnRlZ2dBcHBPcHRpb25zWydjb250ZXh0T3B0aW9ucyddID0ge1xuICAgIGJhc2VVcmw6ICdodHRwczovL3N1Yi1kb21haW4uZnJvbnRlZ2cuY29tJyxcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQXBwU2VydmljZSB7XG4gIGZyb250ZWdnQXBwOiBGcm9udGVnZ0FwcDtcblxuICBwcml2YXRlIGlzTG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIGlzQXV0aGVudGljYXRlZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBzdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGU+KHt9IGFzIEZyb250ZWdnU3RhdGUpO1xuICBwcml2YXRlIGF1dGhTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2F1dGgnXT4oe1xuICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICBpc0F1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuICB9IGFzIEZyb250ZWdnU3RhdGVbJ2F1dGgnXSk7XG4gIHByaXZhdGUgYXVkaXRzU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydhdWRpdHMnXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10pO1xuICBwcml2YXRlIGNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnY29ubmVjdGl2aXR5J10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ3N1YnNjcmlwdGlvbnMnXSk7XG4gIHByaXZhdGUgdmVuZG9yU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGcm9udGVnZ1N0YXRlWyd2ZW5kb3InXT4oe30gYXMgRnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10pO1xuXG5cbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXV0aFN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2F1dGgnXT4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXVkaXRzU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hdWRpdHNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY29ubmVjdGl2aXR5U3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsnY29ubmVjdGl2aXR5J10+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3Vic2NyaXB0aW9uc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ3N1YnNjcmlwdGlvbnMnXT4ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdmVuZG9yU3RhdGUkKCk6IE9ic2VydmFibGU8RnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10+IHtcbiAgICByZXR1cm4gdGhpcy52ZW5kb3JTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9O1xuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcykgcHJpdmF0ZSBjb25maWc6IEZyb250ZWdnQXBwT3B0aW9ucywgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgdGhyb3cgRXJyb3IoJ05lZWQgdG8gcGFzcyBjb25maWc6IEZyb250ZWdnQ29uZmlnT3B0aW9ucyBpbiBGcm9udGVnZ0FwcE1vZHVsZS5mb3JSb290KGNvbmZpZyknKTtcbiAgICB9XG5cbiAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLkNZUFJFU1NfQ09ORklHKSB7XG4gICAgICB0aGlzLmNvbmZpZyA9ICh3aW5kb3cgYXMgYW55KS5DWVBSRVNTX0NPTkZJRztcbiAgICB9XG4gICAgY29uc3Qgb25SZWRpcmVjdFRvID0gKHRvOiBzdHJpbmcsIG9wdHM/OiBSZWRpcmVjdE9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgICAgIGxldCBwYXRoID0gdG87XG4gICAgICBpZiAocGF0aC5zdGFydHNXaXRoKGJhc2VOYW1lKSAmJiBiYXNlTmFtZSAhPT0gJy8nKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZyhiYXNlTmFtZS5sZW5ndGggLSAxKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRzPy5wcmVzZXJ2ZVF1ZXJ5UGFyYW1zIHx8IGlzQXV0aFJvdXRlKHBhdGgsIGNvbmZpZy5hdXRoT3B0aW9ucz8ucm91dGVzKSkge1xuICAgICAgICBwYXRoID0gYCR7cGF0aH0ke3dpbmRvdy5sb2NhdGlvbi5zZWFyY2h9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdHM/LnJlZnJlc2gpIHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAob3B0cz8ucmVwbGFjZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgeyBjb250ZXh0T3B0aW9ucyB9ID0gdGhpcy5jb25maWcgPz8ge307XG4gICAgY29udGV4dE9wdGlvbnMubWV0YWRhdGFIZWFkZXJzID0ge1xuICAgICAgZnJvbnRlZ2dTZGtWZXJzaW9uOiBgQGZyb250ZWdnL2FuZ3VsYXJAJHtzZGtWZXJzaW9uLnZlcnNpb259YCxcbiAgICAgIC8vVE9ETzogcmVtb3ZlIHRoaXMgdHMtaWdub3JlIGFmdGVyIHVwZGF0aW5nIHJlc3QtYXBpIGNvbnRleHQgb3B0aW9ucyB0eXBlIHRvIGFjY2VwdCBzdHJpbmcuXG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIGZyYW1ld29yazogYCR7RnJvbnRlZ2dGcmFtZXdvcmtzLkFuZ3VsYXJ9QCR7YW5ndWxhckNvcmVWZXJzaW9uLnZlcnNpb259YCxcbiAgICB9XG5cbiAgICBDb250ZXh0SG9sZGVyLnNldE9uUmVkaXJlY3RUbyhvblJlZGlyZWN0VG8pO1xuICAgIHRoaXMuZnJvbnRlZ2dBcHAgPSBpbml0aWFsaXplKHtcbiAgICAgIG9uUmVkaXJlY3RUbyxcbiAgICAgIC4uLnRoaXMuY29uZmlnLFxuICAgIH0pO1xuXG5cbiAgICAvLyBBZGQgYWxsIGxvZ2luIGJveCByb3V0ZXMgdG8gQW5ndWxhciByb3V0ZXIgY29uZmlnXG4gICAgdGhpcy5yb3V0ZXIucmVzZXRDb25maWcoW1xuICAgICAgLi4udGhpcy5tYXBBdXRoQ29tcG9uZW50cyxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJycsXG4gICAgICAgIGNhbkFjdGl2YXRlOiBbIEZyb250ZWdnTG9hZEd1YXJkIF0sXG4gICAgICAgIGNoaWxkcmVuOiBbIC4uLnRoaXMucm91dGVyLmNvbmZpZyBdLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBjb25zdCBpbml0aWFsRnJvbnRlZ2dTdGF0ZSA9IHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgIHRoaXMudXBkYXRlU3RhdGUoaW5pdGlhbEZyb250ZWdnU3RhdGUpO1xuICAgIC8vIFN1YnNjcmliZSBvbiBmcm9udGVnZ0FwcCBzdG9yZSB0byBjaGFuZ2Ugc3RhdGUgc3ViamVjdHNcbiAgICB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdGUoZnJvbnRlZ2dTdG9yZTogRnJvbnRlZ2dTdGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZ1N1YmplY3QuZ2V0VmFsdWUoKSAhPT0gZnJvbnRlZ2dTdG9yZS5hdXRoLmlzTG9hZGluZykge1xuICAgICAgdGhpcy5pc0xvYWRpbmdTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoLmlzTG9hZGluZyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuZ2V0VmFsdWUoKSAhPT0gZnJvbnRlZ2dTdG9yZS5hdXRoLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoLmlzQXV0aGVudGljYXRlZCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlKTtcbiAgICB0aGlzLmF1dGhTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGgpO1xuICAgIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdWRpdHMpO1xuICAgIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5jb25uZWN0aXZpdHkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuc3Vic2NyaXB0aW9ucyk7XG4gICAgdGhpcy52ZW5kb3JTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLnZlbmRvcik7XG4gIH1cblxuICBnZXQgbWFwQXV0aENvbXBvbmVudHMoKTogUm91dGVbXSB7XG4gICAgY29uc3QgYXV0aFJvdXRlcyA9IHRoaXMuYXV0aFJvdXRlcztcbiAgICByZXR1cm4gKE9iamVjdC5rZXlzKGF1dGhSb3V0ZXMpIGFzIChrZXlvZiBBdXRoUGFnZVJvdXRlcylbXSlcbiAgICAgIC5maWx0ZXIoKGtleToga2V5b2YgQXV0aFBhZ2VSb3V0ZXMpID0+IGtleSAhPT0gJ2F1dGhlbnRpY2F0ZWRVcmwnICYmIGtleSAhPT0gJ3NpZ25VcFN1Y2Nlc3NVcmwnICYmIGtleSAhPSBudWxsKVxuICAgICAgLm1hcCgoa2V5OiBrZXlvZiBBdXRoUGFnZVJvdXRlcykgPT4gKHtcbiAgICAgICAgcGF0aDogYXV0aFJvdXRlc1trZXldPy5zdWJzdHJpbmcoMSksXG4gICAgICAgIGNvbXBvbmVudDogRnJvbnRlZ2dDb21wb25lbnQsXG4gICAgICB9KSk7XG4gIH1cblxuICBnZXQgYXV0aFJvdXRlcygpOiBBdXRoUGFnZVJvdXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKS5hdXRoLnJvdXRlcztcbiAgfVxuXG4gIC8vIE9wZW4gYWRtaW4gcG9ydGFsXG4gIHB1YmxpYyBzaG93QWRtaW5Qb3J0YWwoKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zaG93QWRtaW5Qb3J0YWwoKTtcbiAgfVxuXG4gIC8vIE9wZW4gYWRtaW4gcG9ydGFsXG4gIHB1YmxpYyBoaWRlQWRtaW5Qb3J0YWwoKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcD8uaGlkZUFkbWluUG9ydGFsKCk7XG4gIH1cblxuICAvLyBPcGVuIGNoZWNrb3V0IGRpYWxvZ1xuICBwdWJsaWMgc2hvd0NoZWNrb3V0RGlhbG9nKG9wdHM6IEZyb250ZWdnQ2hlY2tvdXREaWFsb2dPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zaG93Q2hlY2tvdXREaWFsb2cob3B0cyk7XG4gIH1cblxuICAvLyBPcGVuIGNoZWNrb3V0IGRpYWxvZ1xuICBwdWJsaWMgaGlkZUNoZWNrb3V0RGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvbnRlZ2dBcHA/LmhpZGVDaGVja291dERpYWxvZygpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { FronteggAppService } from './frontegg-app.service';
|
|
4
3
|
import FastDeepEqual from 'fast-deep-equal';
|
|
5
4
|
import { authStoreName, } from '@frontegg/redux-store';
|
|
6
|
-
import { Router } from '@angular/router';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
import * as i1 from "./frontegg-app.service";
|
|
9
7
|
import * as i2 from "@angular/router";
|
|
@@ -304,14 +302,12 @@ export class FronteggAuthService {
|
|
|
304
302
|
return path.startsWith(hostedLoginRedirectUrl !== null && hostedLoginRedirectUrl !== void 0 ? hostedLoginRedirectUrl : '/oauth/callback');
|
|
305
303
|
}
|
|
306
304
|
}
|
|
307
|
-
FronteggAuthService.ɵ
|
|
308
|
-
FronteggAuthService
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
{ type: Router }
|
|
316
|
-
];
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnJvbnRlZ2ctYXBwL3NyYy9saWIvZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBdUNMLGFBQWEsR0FHZCxNQUFNLHVCQUF1QixDQUFDO0FBeUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFrQnpDLE1BQU0sT0FBTyxtQkFBbUI7SUEwSDlCLFlBQW9CLGtCQUFzQyxFQUFVLE1BQWM7UUFBOUQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUF6SDFFLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFlLENBQUMsQ0FBQztRQUM1RyxpQ0FBNEIsR0FBRyxJQUFJLGVBQWUsQ0FBcUMsRUFBd0MsQ0FBQyxDQUFDO1FBQ2pJLGdDQUEyQixHQUFHLElBQUksZUFBZSxDQUFvQyxFQUF1QyxDQUFDLENBQUM7UUFDOUgseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQTZCLEVBQWdDLENBQUMsQ0FBQztRQUN6RywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsRUFBaUMsQ0FBQyxDQUFDO1FBQzVHLCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFtQyxFQUFzQyxDQUFDLENBQUM7UUFDM0gsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENB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QUFDO1NBQzdEO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVksRUFBRSxPQUFhO1FBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3hELGFBQWE7UUFDYixLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsYUFBYSxJQUFJLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUdNLDBCQUEwQjtRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNoRCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixhQUF0QixzQkFBc0IsY0FBdEIsc0JBQXNCLEdBQUksaUJBQWlCLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7O1lBMUxGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBdEdRLGtCQUFrQjtZQXFGbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9mcm9udGVnZy1hcHAuc2VydmljZSc7XG5pbXBvcnQgRmFzdERlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHtcbiAgUm9sZXNTdGF0ZSxcbiAgVGVuYW50c1N0YXRlLFxuICBBY2NvdW50U2V0dGluZ3NTdGF0ZSxcbiAgU2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5UGF5bG9hZCxcbiAgU2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dFBheWxvYWQsXG4gIFNhdmVTZWN1cml0eVBvbGljeU1mYVBheWxvYWQsXG4gIFBhc3N3b3JkUG9saWN5U3RhdGUsXG4gIFBhc3N3b3JkSGlzdG9yeVBvbGljeVN0YXRlLFxuICBNZmFQb2xpY3lTdGF0ZSxcbiAgQ2FwdGNoYVBvbGljeVN0YXRlLFxuICBMb2Nrb3V0UG9saWN5U3RhdGUsXG4gIFB1YmxpY1BvbGljeVN0YXRlLFxuICBHbG9iYWxQb2xpY3lTdGF0ZSxcbiAgU2VjdXJpdHlQb2xpY3lTdGF0ZSxcbiAgQWRkVXNlckFwaVRva2VuUGF5bG9hZCxcbiAgQWRkVGVuYW50QXBpVG9rZW5QYXlsb2FkLFxuICBBcGlUb2tlblR5cGUsXG4gIEFwaVRva2Vuc1N0YXRlLFxuICBBcGlTdGF0ZUluZGljYXRvcixcbiAgSVNldERlbGV0ZVVzZXJEaWFsb2csXG4gIElTZXRBZGRVc2VyRGlhbG9nLFxuICBMb2FkUm9sZXNBbmRQZXJtaXNzaW9uc1BheWxvYWQsXG4gIFRlYW1TdGF0ZSxcbiAgVGVhbVN0YXRlSW5kaWNhdG9yLFxuICBNRkFTdGF0ZSxcbiAgU2F2ZVNTT0NvbmZpZ3VyYXRpb25QYXlsb2FkLFxuICBTU09TdGF0ZSxcbiAgUHJvZmlsZVN0YXRlLFxuICBTYXZlU1NPQ29uZmlndXJhdGlvbkZpbGVQYXlsb2FkLFxuICBVcGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXNQYXlsb2FkLFxuICBEZWxldGVTYW1sR3JvdXBQYXlsb2FkLFxuICBDcmVhdGVTYW1sR3JvdXBQYXlsb2FkLFxuICBTYXZlUHJvZmlsZVBheWxvYWQsXG4gIFNpZ25VcFN0YXRlLFxuICBGb3Jnb3RQYXNzd29yZFN0YXRlLFxuICBBY2NlcHRJbnZpdGF0aW9uU3RhdGUsXG4gIEF1dGhTdGF0ZSxcbiAgVXNlcixcbiAgYXV0aFN0b3JlTmFtZSxcbiAgTG9naW5TdGF0ZSxcbiAgQWN0aXZhdGVBY2NvdW50U3RyYXRlZ3lTdGF0ZSxcbn0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7XG4gIElMb2dpbixcbiAgSUxvZ2luV2l0aE1mYSxcbiAgSVBvc3RMb2dpbixcbiAgSVByZUxvZ2luLFxuICBJUmVjb3Zlck1GQVRva2VuLFxuICBJQWN0aXZhdGVBY2NvdW50LFxuICBJTG9naW5WaWFTb2NpYWxMb2dpbixcbiAgSVNldFNvY2lhbExvZ2luRXJyb3IsXG4gIElSZXNlbmRBY3RpdmF0aW9uRW1haWwsXG4gIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneSxcbiAgSUdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5UmVzcG9uc2UsXG4gIElBY2NlcHRJbnZpdGF0aW9uLFxuICBJRm9yZ290UGFzc3dvcmQsXG4gIElSZXNldFBhc3N3b3JkLFxuICBJR2V0VXNlclBhc3N3b3JkQ29uZmlnLFxuICBJU2lnblVwVXNlcixcbiAgSUNoYW5nZVBhc3N3b3JkLFxuICBJT2lkY1Bvc3RMb2dpbixcbiAgSVZlcmlmeU1mYSxcbiAgSURpc2FibGVNZmEsXG4gIElMb2FkVXNlcnMsXG4gIElUZWFtVXNlcixcbiAgSUFkZFVzZXIsXG4gIElVcGRhdGVVc2VyLFxuICBJRGVsZXRlVXNlcixcbiAgSVJlc2VuZEFjdGl2YXRpb25MaW5rLFxuICBJU2V0dGluZ3NSZXNwb25zZSxcbiAgSVN3aXRjaFRlbmFudCxcbiAgSVRlbmFudHNSZXNwb25zZSxcbiAgSUFkZFJvbGUsXG4gIElSb2xlLFxuICBJVXBkYXRlUm9sZSxcbiAgSURlbGV0ZVJvbGUsXG4gIElBdHRhY2hQZXJtaXNzaW9uc1RvUm9sZSxcbiAgSVJlc2VuZEludml0YXRpb25MaW5rLFxuICBJUm9sZVBlcm1pc3Npb24sXG59IGZyb20gJ0Bmcm9udGVnZy9yZXN0LWFwaSc7XG5pbXBvcnQgdHlwZSB7IEZyb250ZWdnU3RhdGUsIEFjdGl2YXRlQWNjb3VudFN0YXRlLCBTb2NpYWxMb2dpblN0YXRlIH0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmludGVyZmFjZSBBdXRoU3ViU3RhdGVzIHtcbiAgZmllbGQ6IFBhcnRpYWw8a2V5b2YgQXV0aFN0YXRlPjtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFdpdGhDYWxsYmFjazxUID0ge30sIFIgPSBib29sZWFuPiA9IFQgJiB7XG4gIGNhbGxiYWNrPzogKGRhdGE6IFIgfCBudWxsLCBlcnJvcj86IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFdpdGhTaWxlbnRMb2FkPFQ+ID0gVCAmIHtcbiAgc2lsZW50TG9hZGluZz86IGJvb2xlYW47XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlPih7IGlzQXV0aGVudGljYXRlZDogZmFsc2UsIGlzTG9hZGluZzogdHJ1ZSB9IGFzIEF1dGhTdGF0ZSk7XG4gIHByaXZhdGUgYWNjZXB0SW52aXRhdGlvblN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXSk7XG4gIHByaXZhdGUgYWNjb3VudFNldHRpbmdzU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FjY291bnRTZXR0aW5nc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXSk7XG4gIHByaXZhdGUgYWN0aXZhdGVTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2FjdGl2YXRlU3RhdGUnXSk7XG4gIHByaXZhdGUgYXBpVG9rZW5zU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FwaVRva2Vuc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYXBpVG9rZW5zU3RhdGUnXSk7XG4gIHByaXZhdGUgZm9yZ290UGFzc3dvcmRTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnZm9yZ290UGFzc3dvcmRTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2ZvcmdvdFBhc3N3b3JkU3RhdGUnXSk7XG4gIHByaXZhdGUgbG9naW5TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2xvZ2luU3RhdGUnXSk7XG4gIHByaXZhdGUgbWZhU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ21mYVN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnbWZhU3RhdGUnXSk7XG4gIHByaXZhdGUgcHJvZmlsZVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydwcm9maWxlU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydwcm9maWxlU3RhdGUnXSk7XG4gIHByaXZhdGUgcm9sZXNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3JvbGVzU3RhdGUnXSk7XG4gIHByaXZhdGUgcm91dGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydyb3V0ZXMnXT4oe30gYXMgQXV0aFN0YXRlWydyb3V0ZXMnXSk7XG4gIHByaXZhdGUgc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc2VjdXJpdHlQb2xpY3lTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3NlY3VyaXR5UG9saWN5U3RhdGUnXSk7XG4gIHByaXZhdGUgc2lnblVwU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3NpZ25VcFN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXSk7XG4gIHByaXZhdGUgc29jaWFsTG9naW5TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3NvY2lhbExvZ2luU3RhdGUnXSk7XG4gIHByaXZhdGUgc3NvU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Nzb1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc3NvU3RhdGUnXSk7XG4gIHByaXZhdGUgdGVhbVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd0ZWFtU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWyd0ZWFtU3RhdGUnXSk7XG4gIHByaXZhdGUgdGVuYW50c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXSk7XG4gIHByaXZhdGUgdXNlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsndXNlciddPih7fSBhcyBBdXRoU3RhdGVbJ3VzZXInXSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydpc0F1dGhlbnRpY2F0ZWQnXT4oZmFsc2UpO1xuICBwcml2YXRlIGlzTG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnaXNMb2FkaW5nJ10+KHRydWUpO1xuICBwcml2YXRlIGlzU1NPQXV0aFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnaXNTU09BdXRoJ10+KGZhbHNlKTtcbiAgcHJpdmF0ZSBzc29BQ1NTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Nzb0FDUyddPignJyk7XG5cblxuICBnZXQgYXV0aFN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYWNjZXB0SW52aXRhdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWNjZXB0SW52aXRhdGlvblN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hY2NlcHRJbnZpdGF0aW9uU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGFjY291bnRTZXR0aW5nc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLmFjY291bnRTZXR0aW5nc1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZVN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXBpVG9rZW5zU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydhcGlUb2tlbnNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpVG9rZW5zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGZvcmdvdFBhc3N3b3JkU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydmb3Jnb3RQYXNzd29yZFN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5mb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBsb2dpblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMubG9naW5TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbWZhU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydtZmFTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMubWZhU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHByb2ZpbGVTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3Byb2ZpbGVTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCByb2xlc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcm91dGVzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydyb3V0ZXMnXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2VjdXJpdHlQb2xpY3lTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3NlY3VyaXR5UG9saWN5U3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnNlY3VyaXR5UG9saWN5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNpZ25VcFN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnNpZ25VcFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzb2NpYWxMb2dpblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc29jaWFsTG9naW5TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3NvU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzc29TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc3NvU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRlYW1TdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3RlYW1TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMudGVhbVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB0ZW5hbnRzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnRlbmFudHNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdXNlciQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3VzZXInXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHVzZXIoKTogQXV0aFN0YXRlWyd1c2VyJ10ge1xuICAgIHJldHVybiB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpLmF1dGgudXNlcjtcbiAgfVxuXG5cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2lzQXV0aGVudGljYXRlZCddPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQoKTogQXV0aFN0YXRlWydpc0F1dGhlbnRpY2F0ZWQnXSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC5pc0F1dGhlbnRpY2F0ZWQ7XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnaXNMb2FkaW5nJ10+IHtcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzU1NPQXV0aCQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2lzU1NPQXV0aCddPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTU09BdXRoU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzc29BQ1MkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzc29BQ1MnXT4ge1xuICAgIHJldHVybiB0aGlzLnNzb0FDU1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyb250ZWdnQXBwU2VydmljZTogRnJvbnRlZ2dBcHBTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgY29uc3QgYXV0aFN1YlN0YXRlczogQXV0aFN1YlN0YXRlc1tdID0gW1xuICAgICAgeyBmaWVsZDogJ2FjY2VwdEludml0YXRpb25TdGF0ZScsIHN1YmplY3Q6IHRoaXMuYWNjZXB0SW52aXRhdGlvblN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FjY291bnRTZXR0aW5nc1N0YXRlJywgc3ViamVjdDogdGhpcy5hY2NvdW50U2V0dGluZ3NTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdhY3RpdmF0ZVN0YXRlJywgc3ViamVjdDogdGhpcy5hY3RpdmF0ZVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FwaVRva2Vuc1N0YXRlJywgc3ViamVjdDogdGhpcy5hcGlUb2tlbnNTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdmb3Jnb3RQYXNzd29yZFN0YXRlJywgc3ViamVjdDogdGhpcy5mb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3RlbmFudHNTdGF0ZScsIHN1YmplY3Q6IHRoaXMudGVuYW50c1N0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2xvZ2luU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmxvZ2luU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnbWZhU3RhdGUnLCBzdWJqZWN0OiB0aGlzLm1mYVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3Byb2ZpbGVTdGF0ZScsIHN1YmplY3Q6IHRoaXMucHJvZmlsZVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3JvbGVzU3RhdGUnLCBzdWJqZWN0OiB0aGlzLnJvbGVzU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAncm91dGVzJywgc3ViamVjdDogdGhpcy5yb3V0ZXNTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnc2VjdXJpdHlQb2xpY3lTdGF0ZScsIHN1YmplY3Q6IHRoaXMuc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzaWduVXBTdGF0ZScsIHN1YmplY3Q6IHRoaXMuc2lnblVwU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnc29jaWFsTG9naW5TdGF0ZScsIHN1YmplY3Q6IHRoaXMuc29jaWFsTG9naW5TdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzc29TdGF0ZScsIHN1YmplY3Q6IHRoaXMuc3NvU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndGVhbVN0YXRlJywgc3ViamVjdDogdGhpcy50ZWFtU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndXNlcicsIHN1YmplY3Q6IHRoaXMudXNlclN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdpc1NTT0F1dGgnLCBzdWJqZWN0OiB0aGlzLmlzU1NPQXV0aFN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzc29BQ1MnLCBzdWJqZWN0OiB0aGlzLnNzb0FDU1N1YmplY3QgfSxcbiAgICBdO1xuXG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpIGFzIEZyb250ZWdnU3RhdGU7XG4gICAgdGhpcy51cGRhdGVTdGF0ZShzdGF0ZS5hdXRoLCBhdXRoU3ViU3RhdGVzKTtcbiAgICAvLyBNZW1vaXplZCBBdXRoIFN0YXRlXG4gICAgdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZShuZXdTdGF0ZS5hdXRoLCBhdXRoU3ViU3RhdGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdGUoYXV0aFN0YXRlOiBBdXRoU3RhdGUsIGF1dGhTdWJTdGF0ZXM6IEF1dGhTdWJTdGF0ZXNbXSk6IHZvaWQge1xuXG4gICAgaWYgKHRoaXMuYXV0aFN0YXRlU3ViamVjdC52YWx1ZSAhPT0gYXV0aFN0YXRlKSB7XG4gICAgICB0aGlzLmF1dGhTdGF0ZVN1YmplY3QubmV4dChhdXRoU3RhdGUpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGF1dGhTdWJTdGF0ZSBvZiBhdXRoU3ViU3RhdGVzKSB7XG4gICAgICBpZiAoIUZhc3REZWVwRXF1YWwoYXV0aFN1YlN0YXRlLnN1YmplY3QudmFsdWUsIGF1dGhTdGF0ZVthdXRoU3ViU3RhdGUuZmllbGRdKSkge1xuICAgICAgICBhdXRoU3ViU3RhdGUuc3ViamVjdC5uZXh0KGF1dGhTdGF0ZVthdXRoU3ViU3RhdGUuZmllbGRdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC52YWx1ZSAhPT0gYXV0aFN0YXRlLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0Lm5leHQoYXV0aFN0YXRlLmlzQXV0aGVudGljYXRlZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzTG9hZGluZ1N1YmplY3QudmFsdWUgIT09IGF1dGhTdGF0ZS5pc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5uZXh0KGF1dGhTdGF0ZS5pc0xvYWRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hBY3Rpb24odHlwZTogc3RyaW5nLCBwYXlsb2FkPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc3RvcmUuZGlzcGF0Y2goeyB0eXBlOiBgJHthdXRoU3RvcmVOYW1lfS8ke3R5cGV9YCwgcGF5bG9hZCB9KTtcbiAgfVxuXG5cbiAgcHVibGljIGlzSG9zdGVkTG9naW5DYWxsYmFja1JvdXRlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5yb3V0ZXIudXJsO1xuICAgIGNvbnN0IGhvc3RlZExvZ2luUmVkaXJlY3RVcmwgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5hdXRoUm91dGVzLmhvc3RlZExvZ2luUmVkaXJlY3RVcmw7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aChob3N0ZWRMb2dpblJlZGlyZWN0VXJsID8/ICcvb2F1dGgvY2FsbGJhY2snKTtcbiAgfVxuXG5cbiAgLy8gUm9vdCBBY3Rpb25zXG4gIHNldFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEF1dGhTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFN0YXRlJywgc3RhdGUpO1xuICByZXNldFN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRTdGF0ZScpO1xuICBzZXRVc2VyID0gKHVzZXI6IFVzZXIpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFVzZXInLCB1c2VyKTtcblxuICAvLyBMb2dpbiBBY3Rpb25zXG4gIHNldExvZ2luU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8TG9naW5TdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldExvZ2luU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0TG9naW5TdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0TG9naW5TdGF0ZScpO1xuICByZXF1ZXN0QXV0aG9yaXplID0gKGZpcnN0VGltZT86IGJvb2xlYW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlcXVlc3RBdXRob3JpemUnLCBmaXJzdFRpbWUpO1xuICBsb2dpbldpdGhSZWRpcmVjdCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5pc0hvc3RlZExvZ2luQ2FsbGJhY2tSb3V0ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlcXVlc3RIb3N0ZWRMb2dpbkF1dGhvcml6ZScpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0xvYWRpbmc6IHRydWUgfSk7XG4gIH07XG4gIHByZUxvZ2luID0gKHBheWxvYWQ6IElQcmVMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncHJlTG9naW4nLCBwYXlsb2FkKTtcbiAgcG9zdExvZ2luID0gKHBheWxvYWQ6IElQb3N0TG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Bvc3RMb2dpbicsIHBheWxvYWQpO1xuICBsb2dpbiA9IChwYXlsb2FkOiBJTG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvZ2luJywgcGF5bG9hZCk7XG4gIGxvZ2luV2l0aE1mYSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUxvZ2luV2l0aE1mYT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvZ2luV2l0aE1mYScsIHBheWxvYWQpO1xuICByZWNvdmVyTWZhID0gKHBheWxvYWQ6IElSZWNvdmVyTUZBVG9rZW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlY292ZXJNZmEnLCBwYXlsb2FkKTtcbiAgbG9nb3V0ID0gKGNhbGxiYWNrPzogKCkgPT4gdm9pZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9nb3V0JywgY2FsbGJhY2spO1xuICBzaWxlbnRMb2dvdXQgPSAoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzaWxlbnRMb2dvdXQnLCBjYWxsYmFjayk7XG4gIGNoZWNrSWZBbGxvd1RvUmVtZW1iZXJNZmFEZXZpY2UgPSAocGF5bG9hZDogeyBtZmFUb2tlbjogc3RyaW5nIH0pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignY2hlY2tJZkFsbG93VG9SZW1lbWJlck1mYURldmljZScsIHBheWxvYWQpO1xuXG4gIC8vIFNvY2lhbCBMb2dpbnMgQWN0aW9uc1xuICBzZXRTb2NpYWxMb2dpbnNTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxTb2NpYWxMb2dpblN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U29jaWFsTG9naW5zU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U29jaWFsTG9naW5zU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFNvY2lhbExvZ2luc1N0YXRlJyk7XG4gIGxvYWRTb2NpYWxMb2dpbnNDb25maWd1cmF0aW9uID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNvY2lhbExvZ2luc0NvbmZpZ3VyYXRpb24nKTtcbiAgbG9naW5WaWFTb2NpYWxMb2dpbiA9IChwYXlsb2FkOiBJTG9naW5WaWFTb2NpYWxMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9naW5WaWFTb2NpYWxMb2dpbicsIHBheWxvYWQpO1xuICBzZXRTb2NpYWxMb2dpbkVycm9yID0gKHBheWxvYWQ6IElTZXRTb2NpYWxMb2dpbkVycm9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTb2NpYWxMb2dpbkVycm9yJywgcGF5bG9hZCk7XG5cbiAgLy8gQWN0aXZhdGUgQWNjb3VudCBBY3Rpb25zXG4gIHNldEFjdGl2YXRlU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QWN0aXZhdGVBY2NvdW50U3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY3RpdmF0ZVN0YXRlJywgc3RhdGUpO1xuICByZXNldEFjdGl2YXRlU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldEFjdGl2YXRlU3RhdGUnKTtcbiAgc2V0QWN0aXZhdGVTdHJhdGVneVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFjdGl2YXRlU3RyYXRlZ3lTdGF0ZScsIHN0YXRlKTtcbiAgYWN0aXZhdGVBY2NvdW50ID0gKHBheWxvYWQ6IElBY3RpdmF0ZUFjY291bnQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FjdGl2YXRlQWNjb3VudCcsIHBheWxvYWQpO1xuICByZXNlbmRBY3RpdmF0aW9uRW1haWwgPSAocGF5bG9hZDogSVJlc2VuZEFjdGl2YXRpb25FbWFpbCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZW5kQWN0aXZhdGlvbkVtYWlsJywgcGF5bG9hZCk7XG4gIGdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5ID0gKFxuICAgIHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJR2V0QWN0aXZhdGVBY2NvdW50U3RyYXRlZ3ksIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneVJlc3BvbnNlPixcbiAgKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdnZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneScsIHBheWxvYWQpO1xuXG4gIC8vIEFjY2VwdCBJbnZpdGF0aW9uIEFjdGlvbnNcbiAgc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjY2VwdEludml0YXRpb25TdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlJywgc3RhdGUpO1xuICByZXNldEFjY2VwdEludml0YXRpb25TdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlJyk7XG4gIGFjY2VwdEludml0YXRpb24gPSAocGF5bG9hZDogSUFjY2VwdEludml0YXRpb24pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FjY2VwdEludml0YXRpb24nLCBwYXlsb2FkKTtcblxuICAvLyBGb3Jnb3QgUGFzc3dvcmQgQWN0aW9uc1xuICBzZXRGb3Jnb3RQYXNzd29yZFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEZvcmdvdFBhc3N3b3JkU3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEZvcmdvdFBhc3N3b3JkU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZScpO1xuICBmb3Jnb3RQYXNzd29yZCA9IChwYXlsb2FkOiBJRm9yZ290UGFzc3dvcmQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2ZvcmdvdFBhc3N3b3JkJywgcGF5bG9hZCk7XG4gIHJlc2V0UGFzc3dvcmQgPSAocGF5bG9hZDogSVJlc2V0UGFzc3dvcmQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0UGFzc3dvcmQnLCBwYXlsb2FkKTtcbiAgbG9hZFBhc3N3b3JkQ29uZmlnID0gKHBheWxvYWQ/OiBJR2V0VXNlclBhc3N3b3JkQ29uZmlnKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUGFzc3dvcmRDb25maWcnLCBwYXlsb2FkKTtcblxuICAvLyBTaWduIFVwIEFjdGlvbnNcbiAgc2V0U2lnblVwU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8U2lnblVwU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTaWduVXBTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTaWduVXBTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2lnblVwU3RhdGUnKTtcbiAgc2lnblVwVXNlciA9IChwYXlsb2FkOiBJU2lnblVwVXNlcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2lnblVwVXNlcicsIHBheWxvYWQpO1xuICByZXNldFNpZ25VcFN0YXRlU29mdCA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2lnblVwU3RhdGVTb2Z0Jyk7XG5cbiAgLy8gUHJvZmlsZSBBY3Rpb25zXG4gIHNldFByb2ZpbGVTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxQcm9maWxlU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRQcm9maWxlU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0UHJvZmlsZVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRQcm9maWxlU3RhdGUnKTtcbiAgbG9hZFByb2ZpbGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUHJvZmlsZScpO1xuICBzYXZlUHJvZmlsZSA9IChwYXlsb2FkOiBTYXZlUHJvZmlsZVBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVQcm9maWxlJywgcGF5bG9hZCk7XG4gIGNoYW5nZVBhc3N3b3JkID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQ2hhbmdlUGFzc3dvcmQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjaGFuZ2VQYXNzd29yZCcsIHBheWxvYWQpO1xuXG4gIC8vIFNTTyBhY3Rpb25zXG4gIHNldFNTT1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNTT1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U1NPU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U1NPU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFNTT1N0YXRlJyk7XG4gIGxvYWRTU09Db25maWd1cmF0aW9ucyA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTU09Db25maWd1cmF0aW9ucycpO1xuICBsb2FkU1NPQXV0aG9yaXphdGlvblJvbGVzID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNTT0F1dGhvcml6YXRpb25Sb2xlcycpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnMgPSAocGF5bG9hZDogU2F2ZVNTT0NvbmZpZ3VyYXRpb25QYXlsb2FkKSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVTU09Db25maWd1cmF0aW9ucycsIHBheWxvYWQpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlID0gKHBheWxvYWQ6IEZpbGVbXSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zRmlsZScsIHBheWxvYWQpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlV2l0aENhbGxiYWNrID0gKHBheWxvYWQ6IFNhdmVTU09Db25maWd1cmF0aW9uRmlsZVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zRmlsZVdpdGhDYWxsYmFjaycsIHBheWxvYWQpO1xuICB2YWxpZGF0ZVNTT0RvbWFpbiA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2YWxpZGF0ZVNTT0RvbWFpbicsIHBheWxvYWQpO1xuICB1cGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXMgPSAocGF5bG9hZDogVXBkYXRlU1NPQXV0aG9yaXphdGlvblJvbGVzUGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCd1cGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXMnLCBwYXlsb2FkKTtcbiAgZGVsZXRlU2FtbEdyb3VwID0gKHBheWxvYWQ6IERlbGV0ZVNhbWxHcm91cFBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2RlbGV0ZVNhbWxHcm91cCcsIHBheWxvYWQpO1xuICBjcmVhdGVTYW1sR3JvdXAgPSAocGF5bG9hZDogQ3JlYXRlU2FtbEdyb3VwUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignY3JlYXRlU2FtbEdyb3VwJywgcGF5bG9hZCk7XG4gIG9pZGNQb3N0bG9naW4gPSAocGF5bG9hZDogSU9pZGNQb3N0TG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29pZGNQb3N0bG9naW4nLCBwYXlsb2FkKTtcblxuICAvLyBNZmEgYWN0aW9uc1xuICBzZXRNZmFTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxNRkFTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldE1mYVN0YXRlJywgc3RhdGUpO1xuICByZXNldE1mYVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRNZmFTdGF0ZScpO1xuICBlbnJvbGxNZmEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdlbnJvbGxNZmEnKTtcbiAgdmVyaWZ5TWZhID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJVmVyaWZ5TWZhLCBzdHJpbmcgfCB1bmRlZmluZWQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2ZXJpZnlNZmEnLCBwYXlsb2FkKTtcbiAgdmVyaWZ5TWZhQWZ0ZXJGb3JjZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUxvZ2luV2l0aE1mYSwgc3RyaW5nIHwgdW5kZWZpbmVkPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2ZXJpZnlNZmFBZnRlckZvcmNlJywgcGF5bG9hZCk7XG4gIGRpc2FibGVNZmEgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElEaXNhYmxlTWZhPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGlzYWJsZU1mYScsIHBheWxvYWQpO1xuXG4gIC8vIFRlYW0gYWN0aW9uc1xuICBzZXRUZWFtTG9hZGVyID0gKHBheWxvYWQ6IFRlYW1TdGF0ZUluZGljYXRvcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVhbUxvYWRlcicsIHBheWxvYWQpO1xuICBzZXRUZWFtRXJyb3IgPSAocGF5bG9hZDogVGVhbVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRUZWFtRXJyb3InLCBwYXlsb2FkKTtcbiAgc2V0VGVhbVN0YXRlID0gKHBheWxvYWQ6IFBhcnRpYWw8VGVhbVN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVhbVN0YXRlJywgcGF5bG9hZCk7XG4gIHJlc2V0VGVhbVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRUZWFtU3RhdGUnKTtcbiAgbG9hZFVzZXJzID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxXaXRoU2lsZW50TG9hZDxJTG9hZFVzZXJzPiwgSVRlYW1Vc2VyW10+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRVc2VycycsIHBheWxvYWQpO1xuICBsb2FkUm9sZXMgPSAocGF5bG9hZD86IExvYWRSb2xlc0FuZFBlcm1pc3Npb25zUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFJvbGVzJywgcGF5bG9hZCk7XG4gIGFkZFVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElBZGRVc2VyLCBJVGVhbVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRVc2VyJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElVcGRhdGVVc2VyLCBJVGVhbVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd1cGRhdGVVc2VyJywgcGF5bG9hZCk7XG4gIGRlbGV0ZVVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElEZWxldGVVc2VyPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVXNlcicsIHBheWxvYWQpO1xuICByZXNlbmRBY3RpdmF0aW9uTGluayA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVJlc2VuZEFjdGl2YXRpb25MaW5rPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRBY3RpdmF0aW9uTGluaycsIHBheWxvYWQpO1xuICByZXNlbmRJbnZpdGF0aW9uTGluayA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVJlc2VuZEludml0YXRpb25MaW5rPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRJbnZpdGF0aW9uTGluaycsIHBheWxvYWQpO1xuICBvcGVuQWRkVXNlckRpYWxvZyA9IChwYXlsb2FkPzogSVNldEFkZFVzZXJEaWFsb2cpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29wZW5BZGRVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG4gIGNsb3NlQWRkVXNlckRpYWxvZyA9IChwYXlsb2FkPzogYW55KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjbG9zZUFkZFVzZXJEaWFsb2cnLCBwYXlsb2FkKTtcbiAgb3BlbkRlbGV0ZVVzZXJEaWFsb2cgPSAocGF5bG9hZD86IElTZXREZWxldGVVc2VyRGlhbG9nKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdvcGVuRGVsZXRlVXNlckRpYWxvZycsIHBheWxvYWQpO1xuICBjbG9zZURlbGV0ZVVzZXJEaWFsb2cgPSAocGF5bG9hZD86IGFueSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignY2xvc2VEZWxldGVVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG5cbiAgLy8gQVBJIFRva2VuIEFjdGlvbnNcbiAgc2V0QXBpVG9rZW5zTG9hZGVyID0gKHBheWxvYWQ6IEFwaVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBcGlUb2tlbnNMb2FkZXInLCBwYXlsb2FkKTtcbiAgc2V0QXBpVG9rZW5zRXJyb3IgPSAocGF5bG9hZDogQXBpU3RhdGVJbmRpY2F0b3IpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFwaVRva2Vuc0Vycm9yJywgcGF5bG9hZCk7XG4gIHNldEFwaVRva2Vuc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFwaVRva2Vuc1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QXBpVG9rZW5zU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0QXBpVG9rZW5zU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldEFwaVRva2Vuc1N0YXRlJyk7XG4gIGxvYWRBcGlUb2tlbnMgPSAocGF5bG9hZD86IFdpdGhTaWxlbnRMb2FkPFdpdGhDYWxsYmFjaz4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRBcGlUb2tlbnMnLCBwYXlsb2FkKTtcbiAgaW5pdEFwaVRva2Vuc0RhdGEgPSAocGF5bG9hZDogQXBpVG9rZW5UeXBlKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdpbml0QXBpVG9rZW5zRGF0YScsIHBheWxvYWQpO1xuICBhZGRUZW5hbnRBcGlUb2tlbiA9IChwYXlsb2FkOiBBZGRUZW5hbnRBcGlUb2tlblBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FkZFRlbmFudEFwaVRva2VuJywgcGF5bG9hZCk7XG4gIGFkZFVzZXJBcGlUb2tlbiA9IChwYXlsb2FkOiBBZGRVc2VyQXBpVG9rZW5QYXlsb2FkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRVc2VyQXBpVG9rZW4nLCBwYXlsb2FkKTtcbiAgZGVsZXRlVXNlckFwaVRva2VuID0gKHBheWxvYWQ6IHN0cmluZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVXNlckFwaVRva2VuJywgcGF5bG9hZCk7XG4gIGRlbGV0ZVRlbmFudEFwaVRva2VuID0gKHBheWxvYWQ6IHN0cmluZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVGVuYW50QXBpVG9rZW4nLCBwYXlsb2FkKTtcblxuICAvLyBTZWN1cml0eSBQb2xpY3kgQWN0aW9uc1xuICBzZXRTZWN1cml0eVBvbGljeVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNlY3VyaXR5UG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5U3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5R2xvYmFsU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8R2xvYmFsUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5R2xvYmFsU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5UHVibGljU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UHVibGljUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5UHVibGljU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5TWZhU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8TWZhUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5TWZhU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5TG9ja291dFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPExvY2tvdXRQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lMb2Nrb3V0U3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5Q2FwdGNoYVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPENhcHRjaGFQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lDYXB0Y2hhU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UGFzc3dvcmRIaXN0b3J5UG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5U3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZScpO1xuICBzZXRTZWN1cml0eVBvbGljeVBhc3N3b3JkU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UGFzc3dvcmRQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lQYXNzd29yZFN0YXRlJywgc3RhdGUpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3kgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3knKTtcbiAgbG9hZFB1YmxpY1NlY3VyaXR5UG9saWN5ID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFB1YmxpY1NlY3VyaXR5UG9saWN5Jyk7XG4gIGxvYWRWZW5kb3JQYXNzd29yZENvbmZpZyA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRWZW5kb3JQYXNzd29yZENvbmZpZycpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lNZmEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lNZmEnKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5TWZhID0gKHBheWxvYWQ6IFNhdmVTZWN1cml0eVBvbGljeU1mYVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5TWZhJywgcGF5bG9hZCk7XG4gIGxvYWRTZWN1cml0eVBvbGljeUxvY2tvdXQgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lMb2Nrb3V0Jyk7XG4gIHNhdmVTZWN1cml0eVBvbGljeUxvY2tvdXQgPSAocGF5bG9hZDogU2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dFBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dCcsIHBheWxvYWQpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lDYXB0Y2hhID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNlY3VyaXR5UG9saWN5Q2FwdGNoYScpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnkgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnknKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5ID0gKHBheWxvYWQ6IFNhdmVTZWN1cml0eVBvbGljeVBhc3N3b3JkSGlzdG9yeVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5JywgcGF5bG9hZCk7XG5cbiAgLy8gQWNjb3VudCBTZXR0aW5ncyBBY3Rpb25zXG4gIHNldEFjY291bnRTZXR0aW5nc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjY291bnRTZXR0aW5nc1N0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWNjb3VudFNldHRpbmdzU3RhdGUnKTtcbiAgbG9hZEFjY291bnRTZXR0aW5ncyA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrPFdpdGhTaWxlbnRMb2FkPHt9Pj4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZEFjY291bnRTZXR0aW5ncycsIHBheWxvYWQpO1xuICBzYXZlQWNjb3VudFNldHRpbmdzID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJU2V0dGluZ3NSZXNwb25zZSwgSVNldHRpbmdzUmVzcG9uc2U+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVBY2NvdW50U2V0dGluZ3MnLCBwYXlsb2FkKTtcblxuICAvLyBUZW5hbnRzIEFjdGlvbnNcbiAgc2V0VGVuYW50c1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFRlbmFudHNTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFRlbmFudHNTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRUZW5hbnRzU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFRlbmFudHNTdGF0ZScpO1xuICBzd2l0Y2hUZW5hbnQgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElTd2l0Y2hUZW5hbnQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzd2l0Y2hUZW5hbnQnLCBwYXlsb2FkKTtcbiAgbG9hZFRlbmFudHMgPSAocGF5bG9hZD86IFdpdGhDYWxsYmFjazx7fSwgSVRlbmFudHNSZXNwb25zZVtdPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFRlbmFudHMnLCBwYXlsb2FkKTtcblxuICAvLyBSb2xlcyBBY3Rpb25zXG4gIHNldFJvbGVzU3RhdGUgPSAoc3RhdGU6IFJvbGVzU3RhdGUpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFJvbGVzU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0Um9sZXNTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0Um9sZXNTdGF0ZScpO1xuICBsb2FkUm9sZXNBbmRQZXJtaXNzaW9ucyA9IChwYXlsb2FkPzogV2l0aFNpbGVudExvYWQ8e30+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUm9sZXNBbmRQZXJtaXNzaW9ucycsIHBheWxvYWQpO1xuICBhZGRSb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQWRkUm9sZSwgSVJvbGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRSb2xlJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVJvbGUgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElVcGRhdGVSb2xlLCBJUm9sZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3VwZGF0ZVJvbGUnLCBwYXlsb2FkKTtcbiAgZGVsZXRlUm9sZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SURlbGV0ZVJvbGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkZWxldGVSb2xlJywgcGF5bG9hZCk7XG4gIGF0dGFjaFBlcm1pc3Npb25zVG9Sb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQXR0YWNoUGVybWlzc2lvbnNUb1JvbGUsIElSb2xlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhdHRhY2hQZXJtaXNzaW9uc1RvUm9sZScsIHBheWxvYWQpO1xuXG4gIGF0dGFjaFBlcm1pc3Npb25Ub1JvbGVzID0gKFxuICAgIHBheWxvYWQ6IFdpdGhDYWxsYmFjazx7XG4gICAgICBwZXJtaXNzaW9uSWQ6IHN0cmluZztcbiAgICAgIHJvbGVJZHM6IHN0cmluZ1tdO1xuICAgIH0sXG4gICAgICBJUm9sZVBlcm1pc3Npb24+LFxuICApID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2F0dGFjaFBlcm1pc3Npb25Ub1JvbGVzJywgcGF5bG9hZCk7XG59XG4iXX0=
|
|
305
|
+
FronteggAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAuthService, deps: [{ token: i1.FronteggAppService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
306
|
+
FronteggAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAuthService, providedIn: 'root' });
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggAuthService, decorators: [{
|
|
308
|
+
type: Injectable,
|
|
309
|
+
args: [{
|
|
310
|
+
providedIn: 'root',
|
|
311
|
+
}]
|
|
312
|
+
}], ctorParameters: function () { return [{ type: i1.FronteggAppService }, { type: i2.Router }]; } });
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZnJvbnRlZ2ctYXBwL3NyYy9saWIvZnJvbnRlZ2ctYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBdUNMLGFBQWEsR0FHZCxNQUFNLHVCQUF1QixDQUFDOzs7O0FBMkQvQixNQUFNLE9BQU8sbUJBQW1CO0lBMEg5QixZQUFvQixrQkFBc0MsRUFBVSxNQUFjO1FBQTlELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBekgxRSxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBWSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBZSxDQUFDLENBQUM7UUFDNUcsaUNBQTRCLEdBQUcsSUFBSSxlQUFlLENBQXFDLEVBQXdDLENBQUMsQ0FBQztRQUNqSSxnQ0FBMkIsR0FBRyxJQUFJLGVBQWUsQ0FBb0MsRUFBdUMsQ0FBQyxDQUFDO1FBQzlILHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUE2QixFQUFnQyxDQUFDLENBQUM7UUFDekcsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQThCLEVBQWlDLENBQUMsQ0FBQztRQUM1RywrQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsRUFBc0MsQ0FBQyxDQUFDO1FBQzNILHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUEwQixFQUE2QixDQUFDLENBQUM7UUFDaEcsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBd0IsRUFBMkIsQ0FBQyxDQUFDO1FBQzFGLHdCQUFtQixHQUFHLElB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QkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFZLEVBQUUsT0FBYTtRQUNoRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUN4RCxhQUFhO1FBQ2IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLGFBQWEsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFHTSwwQkFBMEI7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDaEQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsYUFBdEIsc0JBQXNCLGNBQXRCLHNCQUFzQixHQUFJLGlCQUFpQixDQUFDLENBQUM7SUFDdEUsQ0FBQzs7aUhBdkxVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9mcm9udGVnZy1hcHAuc2VydmljZSc7XG5pbXBvcnQgRmFzdERlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHtcbiAgUm9sZXNTdGF0ZSxcbiAgVGVuYW50c1N0YXRlLFxuICBBY2NvdW50U2V0dGluZ3NTdGF0ZSxcbiAgU2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5UGF5bG9hZCxcbiAgU2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dFBheWxvYWQsXG4gIFNhdmVTZWN1cml0eVBvbGljeU1mYVBheWxvYWQsXG4gIFBhc3N3b3JkUG9saWN5U3RhdGUsXG4gIFBhc3N3b3JkSGlzdG9yeVBvbGljeVN0YXRlLFxuICBNZmFQb2xpY3lTdGF0ZSxcbiAgQ2FwdGNoYVBvbGljeVN0YXRlLFxuICBMb2Nrb3V0UG9saWN5U3RhdGUsXG4gIFB1YmxpY1BvbGljeVN0YXRlLFxuICBHbG9iYWxQb2xpY3lTdGF0ZSxcbiAgU2VjdXJpdHlQb2xpY3lTdGF0ZSxcbiAgQWRkVXNlckFwaVRva2VuUGF5bG9hZCxcbiAgQWRkVGVuYW50QXBpVG9rZW5QYXlsb2FkLFxuICBBcGlUb2tlblR5cGUsXG4gIEFwaVRva2Vuc1N0YXRlLFxuICBBcGlTdGF0ZUluZGljYXRvcixcbiAgSVNldERlbGV0ZVVzZXJEaWFsb2csXG4gIElTZXRBZGRVc2VyRGlhbG9nLFxuICBMb2FkUm9sZXNBbmRQZXJtaXNzaW9uc1BheWxvYWQsXG4gIFRlYW1TdGF0ZSxcbiAgVGVhbVN0YXRlSW5kaWNhdG9yLFxuICBNRkFTdGF0ZSxcbiAgU2F2ZVNTT0NvbmZpZ3VyYXRpb25QYXlsb2FkLFxuICBTU09TdGF0ZSxcbiAgUHJvZmlsZVN0YXRlLFxuICBTYXZlU1NPQ29uZmlndXJhdGlvbkZpbGVQYXlsb2FkLFxuICBVcGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXNQYXlsb2FkLFxuICBEZWxldGVTYW1sR3JvdXBQYXlsb2FkLFxuICBDcmVhdGVTYW1sR3JvdXBQYXlsb2FkLFxuICBTYXZlUHJvZmlsZVBheWxvYWQsXG4gIFNpZ25VcFN0YXRlLFxuICBGb3Jnb3RQYXNzd29yZFN0YXRlLFxuICBBY2NlcHRJbnZpdGF0aW9uU3RhdGUsXG4gIEF1dGhTdGF0ZSxcbiAgVXNlcixcbiAgYXV0aFN0b3JlTmFtZSxcbiAgTG9naW5TdGF0ZSxcbiAgQWN0aXZhdGVBY2NvdW50U3RyYXRlZ3lTdGF0ZSxcbn0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7XG4gIElMb2dpbixcbiAgSUxvZ2luV2l0aE1mYSxcbiAgSVBvc3RMb2dpbixcbiAgSVByZUxvZ2luLFxuICBJUmVjb3Zlck1GQVRva2VuLFxuICBJQWN0aXZhdGVBY2NvdW50LFxuICBJTG9naW5WaWFTb2NpYWxMb2dpbixcbiAgSVNldFNvY2lhbExvZ2luRXJyb3IsXG4gIElSZXNlbmRBY3RpdmF0aW9uRW1haWwsXG4gIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneSxcbiAgSUdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5UmVzcG9uc2UsXG4gIElBY2NlcHRJbnZpdGF0aW9uLFxuICBJRm9yZ290UGFzc3dvcmQsXG4gIElSZXNldFBhc3N3b3JkLFxuICBJR2V0VXNlclBhc3N3b3JkQ29uZmlnLFxuICBJU2lnblVwVXNlcixcbiAgSUNoYW5nZVBhc3N3b3JkLFxuICBJT2lkY1Bvc3RMb2dpbixcbiAgSVZlcmlmeU1mYSxcbiAgSURpc2FibGVNZmEsXG4gIElMb2FkVXNlcnMsXG4gIElUZWFtVXNlcixcbiAgSUFkZFVzZXIsXG4gIElVcGRhdGVVc2VyLFxuICBJRGVsZXRlVXNlcixcbiAgSVJlc2VuZEFjdGl2YXRpb25MaW5rLFxuICBJU2V0dGluZ3NSZXNwb25zZSxcbiAgSVN3aXRjaFRlbmFudCxcbiAgSVRlbmFudHNSZXNwb25zZSxcbiAgSUFkZFJvbGUsXG4gIElSb2xlLFxuICBJVXBkYXRlUm9sZSxcbiAgSURlbGV0ZVJvbGUsXG4gIElBdHRhY2hQZXJtaXNzaW9uc1RvUm9sZSxcbiAgSVJlc2VuZEludml0YXRpb25MaW5rLFxuICBJUm9sZVBlcm1pc3Npb24sXG59IGZyb20gJ0Bmcm9udGVnZy9yZXN0LWFwaSc7XG5pbXBvcnQgdHlwZSB7IEZyb250ZWdnU3RhdGUsIEFjdGl2YXRlQWNjb3VudFN0YXRlLCBTb2NpYWxMb2dpblN0YXRlIH0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmludGVyZmFjZSBBdXRoU3ViU3RhdGVzIHtcbiAgZmllbGQ6IFBhcnRpYWw8a2V5b2YgQXV0aFN0YXRlPjtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFdpdGhDYWxsYmFjazxUID0ge30sIFIgPSBib29sZWFuPiA9IFQgJiB7XG4gIGNhbGxiYWNrPzogKGRhdGE6IFIgfCBudWxsLCBlcnJvcj86IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIFdpdGhTaWxlbnRMb2FkPFQ+ID0gVCAmIHtcbiAgc2lsZW50TG9hZGluZz86IGJvb2xlYW47XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBdXRoU2VydmljZSB7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlPih7IGlzQXV0aGVudGljYXRlZDogZmFsc2UsIGlzTG9hZGluZzogdHJ1ZSB9IGFzIEF1dGhTdGF0ZSk7XG4gIHByaXZhdGUgYWNjZXB0SW52aXRhdGlvblN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydhY2NlcHRJbnZpdGF0aW9uU3RhdGUnXSk7XG4gIHByaXZhdGUgYWNjb3VudFNldHRpbmdzU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FjY291bnRTZXR0aW5nc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXSk7XG4gIHByaXZhdGUgYWN0aXZhdGVTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2FjdGl2YXRlU3RhdGUnXSk7XG4gIHByaXZhdGUgYXBpVG9rZW5zU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ2FwaVRva2Vuc1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnYXBpVG9rZW5zU3RhdGUnXSk7XG4gIHByaXZhdGUgZm9yZ290UGFzc3dvcmRTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnZm9yZ290UGFzc3dvcmRTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2ZvcmdvdFBhc3N3b3JkU3RhdGUnXSk7XG4gIHByaXZhdGUgbG9naW5TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ2xvZ2luU3RhdGUnXSk7XG4gIHByaXZhdGUgbWZhU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ21mYVN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnbWZhU3RhdGUnXSk7XG4gIHByaXZhdGUgcHJvZmlsZVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydwcm9maWxlU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWydwcm9maWxlU3RhdGUnXSk7XG4gIHByaXZhdGUgcm9sZXNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3JvbGVzU3RhdGUnXSk7XG4gIHByaXZhdGUgcm91dGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydyb3V0ZXMnXT4oe30gYXMgQXV0aFN0YXRlWydyb3V0ZXMnXSk7XG4gIHByaXZhdGUgc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc2VjdXJpdHlQb2xpY3lTdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3NlY3VyaXR5UG9saWN5U3RhdGUnXSk7XG4gIHByaXZhdGUgc2lnblVwU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3NpZ25VcFN0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXSk7XG4gIHByaXZhdGUgc29jaWFsTG9naW5TdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddPih7fSBhcyBBdXRoU3RhdGVbJ3NvY2lhbExvZ2luU3RhdGUnXSk7XG4gIHByaXZhdGUgc3NvU3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Nzb1N0YXRlJ10+KHt9IGFzIEF1dGhTdGF0ZVsnc3NvU3RhdGUnXSk7XG4gIHByaXZhdGUgdGVhbVN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd0ZWFtU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWyd0ZWFtU3RhdGUnXSk7XG4gIHByaXZhdGUgdGVuYW50c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXT4oe30gYXMgQXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXSk7XG4gIHByaXZhdGUgdXNlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsndXNlciddPih7fSBhcyBBdXRoU3RhdGVbJ3VzZXInXSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFN0YXRlWydpc0F1dGhlbnRpY2F0ZWQnXT4oZmFsc2UpO1xuICBwcml2YXRlIGlzTG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnaXNMb2FkaW5nJ10+KHRydWUpO1xuICBwcml2YXRlIGlzU1NPQXV0aFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhTdGF0ZVsnaXNTU09BdXRoJ10+KGZhbHNlKTtcbiAgcHJpdmF0ZSBzc29BQ1NTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoU3RhdGVbJ3Nzb0FDUyddPignJyk7XG5cblxuICBnZXQgYXV0aFN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYWNjZXB0SW52aXRhdGlvblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWNjZXB0SW52aXRhdGlvblN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hY2NlcHRJbnZpdGF0aW9uU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGFjY291bnRTZXR0aW5nc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWNjb3VudFNldHRpbmdzU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLmFjY291bnRTZXR0aW5nc1N0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmF0ZVN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnYWN0aXZhdGVTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgYXBpVG9rZW5zU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydhcGlUb2tlbnNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBpVG9rZW5zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGZvcmdvdFBhc3N3b3JkU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydmb3Jnb3RQYXNzd29yZFN0YXRlJ10+IHtcbiAgICByZXR1cm4gdGhpcy5mb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBsb2dpblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnbG9naW5TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMubG9naW5TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgbWZhU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydtZmFTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMubWZhU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHByb2ZpbGVTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3Byb2ZpbGVTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCByb2xlc1N0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsncm9sZXNTdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgcm91dGVzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydyb3V0ZXMnXT4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc2VjdXJpdHlQb2xpY3lTdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3NlY3VyaXR5UG9saWN5U3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnNlY3VyaXR5UG9saWN5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHNpZ25VcFN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc2lnblVwU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnNpZ25VcFN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzb2NpYWxMb2dpblN0YXRlJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnc29jaWFsTG9naW5TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc29jaWFsTG9naW5TdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3NvU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzc29TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMuc3NvU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRlYW1TdGF0ZSQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3RlYW1TdGF0ZSddPiB7XG4gICAgcmV0dXJuIHRoaXMudGVhbVN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB0ZW5hbnRzU3RhdGUkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWyd0ZW5hbnRzU3RhdGUnXT4ge1xuICAgIHJldHVybiB0aGlzLnRlbmFudHNTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgdXNlciQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ3VzZXInXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHVzZXIoKTogQXV0aFN0YXRlWyd1c2VyJ10ge1xuICAgIHJldHVybiB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpLmF1dGgudXNlcjtcbiAgfVxuXG5cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2lzQXV0aGVudGljYXRlZCddPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQoKTogQXV0aFN0YXRlWydpc0F1dGhlbnRpY2F0ZWQnXSB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkuYXV0aC5pc0F1dGhlbnRpY2F0ZWQ7XG4gIH1cblxuICBnZXQgaXNMb2FkaW5nJCgpOiBPYnNlcnZhYmxlPEF1dGhTdGF0ZVsnaXNMb2FkaW5nJ10+IHtcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzU1NPQXV0aCQoKTogT2JzZXJ2YWJsZTxBdXRoU3RhdGVbJ2lzU1NPQXV0aCddPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTU09BdXRoU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzc29BQ1MkKCk6IE9ic2VydmFibGU8QXV0aFN0YXRlWydzc29BQ1MnXT4ge1xuICAgIHJldHVybiB0aGlzLnNzb0FDU1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyb250ZWdnQXBwU2VydmljZTogRnJvbnRlZ2dBcHBTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgY29uc3QgYXV0aFN1YlN0YXRlczogQXV0aFN1YlN0YXRlc1tdID0gW1xuICAgICAgeyBmaWVsZDogJ2FjY2VwdEludml0YXRpb25TdGF0ZScsIHN1YmplY3Q6IHRoaXMuYWNjZXB0SW52aXRhdGlvblN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FjY291bnRTZXR0aW5nc1N0YXRlJywgc3ViamVjdDogdGhpcy5hY2NvdW50U2V0dGluZ3NTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdhY3RpdmF0ZVN0YXRlJywgc3ViamVjdDogdGhpcy5hY3RpdmF0ZVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2FwaVRva2Vuc1N0YXRlJywgc3ViamVjdDogdGhpcy5hcGlUb2tlbnNTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdmb3Jnb3RQYXNzd29yZFN0YXRlJywgc3ViamVjdDogdGhpcy5mb3Jnb3RQYXNzd29yZFN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3RlbmFudHNTdGF0ZScsIHN1YmplY3Q6IHRoaXMudGVuYW50c1N0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ2xvZ2luU3RhdGUnLCBzdWJqZWN0OiB0aGlzLmxvZ2luU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnbWZhU3RhdGUnLCBzdWJqZWN0OiB0aGlzLm1mYVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3Byb2ZpbGVTdGF0ZScsIHN1YmplY3Q6IHRoaXMucHJvZmlsZVN0YXRlU3ViamVjdCB9LFxuICAgICAgeyBmaWVsZDogJ3JvbGVzU3RhdGUnLCBzdWJqZWN0OiB0aGlzLnJvbGVzU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAncm91dGVzJywgc3ViamVjdDogdGhpcy5yb3V0ZXNTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnc2VjdXJpdHlQb2xpY3lTdGF0ZScsIHN1YmplY3Q6IHRoaXMuc2VjdXJpdHlQb2xpY3lTdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzaWduVXBTdGF0ZScsIHN1YmplY3Q6IHRoaXMuc2lnblVwU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAnc29jaWFsTG9naW5TdGF0ZScsIHN1YmplY3Q6IHRoaXMuc29jaWFsTG9naW5TdGF0ZVN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzc29TdGF0ZScsIHN1YmplY3Q6IHRoaXMuc3NvU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndGVhbVN0YXRlJywgc3ViamVjdDogdGhpcy50ZWFtU3RhdGVTdWJqZWN0IH0sXG4gICAgICB7IGZpZWxkOiAndXNlcicsIHN1YmplY3Q6IHRoaXMudXNlclN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdpc1NTT0F1dGgnLCBzdWJqZWN0OiB0aGlzLmlzU1NPQXV0aFN1YmplY3QgfSxcbiAgICAgIHsgZmllbGQ6ICdzc29BQ1MnLCBzdWJqZWN0OiB0aGlzLnNzb0FDU1N1YmplY3QgfSxcbiAgICBdO1xuXG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpIGFzIEZyb250ZWdnU3RhdGU7XG4gICAgdGhpcy51cGRhdGVTdGF0ZShzdGF0ZS5hdXRoLCBhdXRoU3ViU3RhdGVzKTtcbiAgICAvLyBNZW1vaXplZCBBdXRoIFN0YXRlXG4gICAgdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZShuZXdTdGF0ZS5hdXRoLCBhdXRoU3ViU3RhdGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdGUoYXV0aFN0YXRlOiBBdXRoU3RhdGUsIGF1dGhTdWJTdGF0ZXM6IEF1dGhTdWJTdGF0ZXNbXSk6IHZvaWQge1xuXG4gICAgaWYgKHRoaXMuYXV0aFN0YXRlU3ViamVjdC52YWx1ZSAhPT0gYXV0aFN0YXRlKSB7XG4gICAgICB0aGlzLmF1dGhTdGF0ZVN1YmplY3QubmV4dChhdXRoU3RhdGUpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGF1dGhTdWJTdGF0ZSBvZiBhdXRoU3ViU3RhdGVzKSB7XG4gICAgICBpZiAoIUZhc3REZWVwRXF1YWwoYXV0aFN1YlN0YXRlLnN1YmplY3QudmFsdWUsIGF1dGhTdGF0ZVthdXRoU3ViU3RhdGUuZmllbGRdKSkge1xuICAgICAgICBhdXRoU3ViU3RhdGUuc3ViamVjdC5uZXh0KGF1dGhTdGF0ZVthdXRoU3ViU3RhdGUuZmllbGRdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC52YWx1ZSAhPT0gYXV0aFN0YXRlLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0Lm5leHQoYXV0aFN0YXRlLmlzQXV0aGVudGljYXRlZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzTG9hZGluZ1N1YmplY3QudmFsdWUgIT09IGF1dGhTdGF0ZS5pc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5uZXh0KGF1dGhTdGF0ZS5pc0xvYWRpbmcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hBY3Rpb24odHlwZTogc3RyaW5nLCBwYXlsb2FkPzogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5zdG9yZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc3RvcmUuZGlzcGF0Y2goeyB0eXBlOiBgJHthdXRoU3RvcmVOYW1lfS8ke3R5cGV9YCwgcGF5bG9hZCB9KTtcbiAgfVxuXG5cbiAgcHVibGljIGlzSG9zdGVkTG9naW5DYWxsYmFja1JvdXRlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5yb3V0ZXIudXJsO1xuICAgIGNvbnN0IGhvc3RlZExvZ2luUmVkaXJlY3RVcmwgPSB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5hdXRoUm91dGVzLmhvc3RlZExvZ2luUmVkaXJlY3RVcmw7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aChob3N0ZWRMb2dpblJlZGlyZWN0VXJsID8/ICcvb2F1dGgvY2FsbGJhY2snKTtcbiAgfVxuXG5cbiAgLy8gUm9vdCBBY3Rpb25zXG4gIHNldFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEF1dGhTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFN0YXRlJywgc3RhdGUpO1xuICByZXNldFN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRTdGF0ZScpO1xuICBzZXRVc2VyID0gKHVzZXI6IFVzZXIpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFVzZXInLCB1c2VyKTtcblxuICAvLyBMb2dpbiBBY3Rpb25zXG4gIHNldExvZ2luU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8TG9naW5TdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldExvZ2luU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0TG9naW5TdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0TG9naW5TdGF0ZScpO1xuICByZXF1ZXN0QXV0aG9yaXplID0gKGZpcnN0VGltZT86IGJvb2xlYW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlcXVlc3RBdXRob3JpemUnLCBmaXJzdFRpbWUpO1xuICBsb2dpbldpdGhSZWRpcmVjdCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5pc0hvc3RlZExvZ2luQ2FsbGJhY2tSb3V0ZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlcXVlc3RIb3N0ZWRMb2dpbkF1dGhvcml6ZScpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0xvYWRpbmc6IHRydWUgfSk7XG4gIH07XG4gIHByZUxvZ2luID0gKHBheWxvYWQ6IElQcmVMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncHJlTG9naW4nLCBwYXlsb2FkKTtcbiAgcG9zdExvZ2luID0gKHBheWxvYWQ6IElQb3N0TG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Bvc3RMb2dpbicsIHBheWxvYWQpO1xuICBsb2dpbiA9IChwYXlsb2FkOiBJTG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvZ2luJywgcGF5bG9hZCk7XG4gIGxvZ2luV2l0aE1mYSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUxvZ2luV2l0aE1mYT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvZ2luV2l0aE1mYScsIHBheWxvYWQpO1xuICByZWNvdmVyTWZhID0gKHBheWxvYWQ6IElSZWNvdmVyTUZBVG9rZW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3JlY292ZXJNZmEnLCBwYXlsb2FkKTtcbiAgbG9nb3V0ID0gKGNhbGxiYWNrPzogKCkgPT4gdm9pZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9nb3V0JywgY2FsbGJhY2spO1xuICBzaWxlbnRMb2dvdXQgPSAoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzaWxlbnRMb2dvdXQnLCBjYWxsYmFjayk7XG4gIGNoZWNrSWZBbGxvd1RvUmVtZW1iZXJNZmFEZXZpY2UgPSAocGF5bG9hZDogeyBtZmFUb2tlbjogc3RyaW5nIH0pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignY2hlY2tJZkFsbG93VG9SZW1lbWJlck1mYURldmljZScsIHBheWxvYWQpO1xuXG4gIC8vIFNvY2lhbCBMb2dpbnMgQWN0aW9uc1xuICBzZXRTb2NpYWxMb2dpbnNTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxTb2NpYWxMb2dpblN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U29jaWFsTG9naW5zU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U29jaWFsTG9naW5zU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFNvY2lhbExvZ2luc1N0YXRlJyk7XG4gIGxvYWRTb2NpYWxMb2dpbnNDb25maWd1cmF0aW9uID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNvY2lhbExvZ2luc0NvbmZpZ3VyYXRpb24nKTtcbiAgbG9naW5WaWFTb2NpYWxMb2dpbiA9IChwYXlsb2FkOiBJTG9naW5WaWFTb2NpYWxMb2dpbikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9naW5WaWFTb2NpYWxMb2dpbicsIHBheWxvYWQpO1xuICBzZXRTb2NpYWxMb2dpbkVycm9yID0gKHBheWxvYWQ6IElTZXRTb2NpYWxMb2dpbkVycm9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTb2NpYWxMb2dpbkVycm9yJywgcGF5bG9hZCk7XG5cbiAgLy8gQWN0aXZhdGUgQWNjb3VudCBBY3Rpb25zXG4gIHNldEFjdGl2YXRlU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8QWN0aXZhdGVBY2NvdW50U3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY3RpdmF0ZVN0YXRlJywgc3RhdGUpO1xuICByZXNldEFjdGl2YXRlU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldEFjdGl2YXRlU3RhdGUnKTtcbiAgc2V0QWN0aXZhdGVTdHJhdGVneVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFjdGl2YXRlU3RyYXRlZ3lTdGF0ZScsIHN0YXRlKTtcbiAgYWN0aXZhdGVBY2NvdW50ID0gKHBheWxvYWQ6IElBY3RpdmF0ZUFjY291bnQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FjdGl2YXRlQWNjb3VudCcsIHBheWxvYWQpO1xuICByZXNlbmRBY3RpdmF0aW9uRW1haWwgPSAocGF5bG9hZDogSVJlc2VuZEFjdGl2YXRpb25FbWFpbCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZW5kQWN0aXZhdGlvbkVtYWlsJywgcGF5bG9hZCk7XG4gIGdldEFjdGl2YXRlQWNjb3VudFN0cmF0ZWd5ID0gKFxuICAgIHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJR2V0QWN0aXZhdGVBY2NvdW50U3RyYXRlZ3ksIElHZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneVJlc3BvbnNlPixcbiAgKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdnZXRBY3RpdmF0ZUFjY291bnRTdHJhdGVneScsIHBheWxvYWQpO1xuXG4gIC8vIEFjY2VwdCBJbnZpdGF0aW9uIEFjdGlvbnNcbiAgc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjY2VwdEludml0YXRpb25TdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlJywgc3RhdGUpO1xuICByZXNldEFjY2VwdEludml0YXRpb25TdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWNjZXB0SW52aXRhdGlvblN0YXRlJyk7XG4gIGFjY2VwdEludml0YXRpb24gPSAocGF5bG9hZDogSUFjY2VwdEludml0YXRpb24pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FjY2VwdEludml0YXRpb24nLCBwYXlsb2FkKTtcblxuICAvLyBGb3Jnb3QgUGFzc3dvcmQgQWN0aW9uc1xuICBzZXRGb3Jnb3RQYXNzd29yZFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEZvcmdvdFBhc3N3b3JkU3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEZvcmdvdFBhc3N3b3JkU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0Rm9yZ290UGFzc3dvcmRTdGF0ZScpO1xuICBmb3Jnb3RQYXNzd29yZCA9IChwYXlsb2FkOiBJRm9yZ290UGFzc3dvcmQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2ZvcmdvdFBhc3N3b3JkJywgcGF5bG9hZCk7XG4gIHJlc2V0UGFzc3dvcmQgPSAocGF5bG9hZDogSVJlc2V0UGFzc3dvcmQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0UGFzc3dvcmQnLCBwYXlsb2FkKTtcbiAgbG9hZFBhc3N3b3JkQ29uZmlnID0gKHBheWxvYWQ/OiBJR2V0VXNlclBhc3N3b3JkQ29uZmlnKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUGFzc3dvcmRDb25maWcnLCBwYXlsb2FkKTtcblxuICAvLyBTaWduIFVwIEFjdGlvbnNcbiAgc2V0U2lnblVwU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8U2lnblVwU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRTaWduVXBTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRTaWduVXBTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2lnblVwU3RhdGUnKTtcbiAgc2lnblVwVXNlciA9IChwYXlsb2FkOiBJU2lnblVwVXNlcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2lnblVwVXNlcicsIHBheWxvYWQpO1xuICByZXNldFNpZ25VcFN0YXRlU29mdCA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2lnblVwU3RhdGVTb2Z0Jyk7XG5cbiAgLy8gUHJvZmlsZSBBY3Rpb25zXG4gIHNldFByb2ZpbGVTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxQcm9maWxlU3RhdGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRQcm9maWxlU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0UHJvZmlsZVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRQcm9maWxlU3RhdGUnKTtcbiAgbG9hZFByb2ZpbGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUHJvZmlsZScpO1xuICBzYXZlUHJvZmlsZSA9IChwYXlsb2FkOiBTYXZlUHJvZmlsZVBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVQcm9maWxlJywgcGF5bG9hZCk7XG4gIGNoYW5nZVBhc3N3b3JkID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQ2hhbmdlUGFzc3dvcmQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjaGFuZ2VQYXNzd29yZCcsIHBheWxvYWQpO1xuXG4gIC8vIFNTTyBhY3Rpb25zXG4gIHNldFNTT1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNTT1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U1NPU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U1NPU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFNTT1N0YXRlJyk7XG4gIGxvYWRTU09Db25maWd1cmF0aW9ucyA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRTU09Db25maWd1cmF0aW9ucycpO1xuICBsb2FkU1NPQXV0aG9yaXphdGlvblJvbGVzID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNTT0F1dGhvcml6YXRpb25Sb2xlcycpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnMgPSAocGF5bG9hZDogU2F2ZVNTT0NvbmZpZ3VyYXRpb25QYXlsb2FkKSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVTU09Db25maWd1cmF0aW9ucycsIHBheWxvYWQpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlID0gKHBheWxvYWQ6IEZpbGVbXSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zRmlsZScsIHBheWxvYWQpO1xuICBzYXZlU1NPQ29uZmlndXJhdGlvbnNGaWxlV2l0aENhbGxiYWNrID0gKHBheWxvYWQ6IFNhdmVTU09Db25maWd1cmF0aW9uRmlsZVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNTT0NvbmZpZ3VyYXRpb25zRmlsZVdpdGhDYWxsYmFjaycsIHBheWxvYWQpO1xuICB2YWxpZGF0ZVNTT0RvbWFpbiA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2YWxpZGF0ZVNTT0RvbWFpbicsIHBheWxvYWQpO1xuICB1cGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXMgPSAocGF5bG9hZDogVXBkYXRlU1NPQXV0aG9yaXphdGlvblJvbGVzUGF5bG9hZCkgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCd1cGRhdGVTU09BdXRob3JpemF0aW9uUm9sZXMnLCBwYXlsb2FkKTtcbiAgZGVsZXRlU2FtbEdyb3VwID0gKHBheWxvYWQ6IERlbGV0ZVNhbWxHcm91cFBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2RlbGV0ZVNhbWxHcm91cCcsIHBheWxvYWQpO1xuICBjcmVhdGVTYW1sR3JvdXAgPSAocGF5bG9hZDogQ3JlYXRlU2FtbEdyb3VwUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignY3JlYXRlU2FtbEdyb3VwJywgcGF5bG9hZCk7XG4gIG9pZGNQb3N0bG9naW4gPSAocGF5bG9hZDogSU9pZGNQb3N0TG9naW4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29pZGNQb3N0bG9naW4nLCBwYXlsb2FkKTtcblxuICAvLyBNZmEgYWN0aW9uc1xuICBzZXRNZmFTdGF0ZSA9IChzdGF0ZTogUGFydGlhbDxNRkFTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldE1mYVN0YXRlJywgc3RhdGUpO1xuICByZXNldE1mYVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRNZmFTdGF0ZScpO1xuICBlbnJvbGxNZmEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdlbnJvbGxNZmEnKTtcbiAgdmVyaWZ5TWZhID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJVmVyaWZ5TWZhLCBzdHJpbmcgfCB1bmRlZmluZWQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2ZXJpZnlNZmEnLCBwYXlsb2FkKTtcbiAgdmVyaWZ5TWZhQWZ0ZXJGb3JjZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SUxvZ2luV2l0aE1mYSwgc3RyaW5nIHwgdW5kZWZpbmVkPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCd2ZXJpZnlNZmFBZnRlckZvcmNlJywgcGF5bG9hZCk7XG4gIGRpc2FibGVNZmEgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElEaXNhYmxlTWZhPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGlzYWJsZU1mYScsIHBheWxvYWQpO1xuXG4gIC8vIFRlYW0gYWN0aW9uc1xuICBzZXRUZWFtTG9hZGVyID0gKHBheWxvYWQ6IFRlYW1TdGF0ZUluZGljYXRvcikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVhbUxvYWRlcicsIHBheWxvYWQpO1xuICBzZXRUZWFtRXJyb3IgPSAocGF5bG9hZDogVGVhbVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRUZWFtRXJyb3InLCBwYXlsb2FkKTtcbiAgc2V0VGVhbVN0YXRlID0gKHBheWxvYWQ6IFBhcnRpYWw8VGVhbVN0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0VGVhbVN0YXRlJywgcGF5bG9hZCk7XG4gIHJlc2V0VGVhbVN0YXRlID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbigncmVzZXRUZWFtU3RhdGUnKTtcbiAgbG9hZFVzZXJzID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxXaXRoU2lsZW50TG9hZDxJTG9hZFVzZXJzPiwgSVRlYW1Vc2VyW10+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRVc2VycycsIHBheWxvYWQpO1xuICBsb2FkUm9sZXMgPSAocGF5bG9hZD86IExvYWRSb2xlc0FuZFBlcm1pc3Npb25zUGF5bG9hZCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFJvbGVzJywgcGF5bG9hZCk7XG4gIGFkZFVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElBZGRVc2VyLCBJVGVhbVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRVc2VyJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElVcGRhdGVVc2VyLCBJVGVhbVVzZXI+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCd1cGRhdGVVc2VyJywgcGF5bG9hZCk7XG4gIGRlbGV0ZVVzZXIgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElEZWxldGVVc2VyPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVXNlcicsIHBheWxvYWQpO1xuICByZXNlbmRBY3RpdmF0aW9uTGluayA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVJlc2VuZEFjdGl2YXRpb25MaW5rPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRBY3RpdmF0aW9uTGluaycsIHBheWxvYWQpO1xuICByZXNlbmRJbnZpdGF0aW9uTGluayA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SVJlc2VuZEludml0YXRpb25MaW5rPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNlbmRJbnZpdGF0aW9uTGluaycsIHBheWxvYWQpO1xuICBvcGVuQWRkVXNlckRpYWxvZyA9IChwYXlsb2FkPzogSVNldEFkZFVzZXJEaWFsb2cpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ29wZW5BZGRVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG4gIGNsb3NlQWRkVXNlckRpYWxvZyA9IChwYXlsb2FkPzogYW55KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdjbG9zZUFkZFVzZXJEaWFsb2cnLCBwYXlsb2FkKTtcbiAgb3BlbkRlbGV0ZVVzZXJEaWFsb2cgPSAocGF5bG9hZD86IElTZXREZWxldGVVc2VyRGlhbG9nKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdvcGVuRGVsZXRlVXNlckRpYWxvZycsIHBheWxvYWQpO1xuICBjbG9zZURlbGV0ZVVzZXJEaWFsb2cgPSAocGF5bG9hZD86IGFueSkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignY2xvc2VEZWxldGVVc2VyRGlhbG9nJywgcGF5bG9hZCk7XG5cbiAgLy8gQVBJIFRva2VuIEFjdGlvbnNcbiAgc2V0QXBpVG9rZW5zTG9hZGVyID0gKHBheWxvYWQ6IEFwaVN0YXRlSW5kaWNhdG9yKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBcGlUb2tlbnNMb2FkZXInLCBwYXlsb2FkKTtcbiAgc2V0QXBpVG9rZW5zRXJyb3IgPSAocGF5bG9hZDogQXBpU3RhdGVJbmRpY2F0b3IpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldEFwaVRva2Vuc0Vycm9yJywgcGF5bG9hZCk7XG4gIHNldEFwaVRva2Vuc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFwaVRva2Vuc1N0YXRlPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0QXBpVG9rZW5zU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0QXBpVG9rZW5zU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldEFwaVRva2Vuc1N0YXRlJyk7XG4gIGxvYWRBcGlUb2tlbnMgPSAocGF5bG9hZD86IFdpdGhTaWxlbnRMb2FkPFdpdGhDYWxsYmFjaz4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRBcGlUb2tlbnMnLCBwYXlsb2FkKTtcbiAgaW5pdEFwaVRva2Vuc0RhdGEgPSAocGF5bG9hZDogQXBpVG9rZW5UeXBlKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdpbml0QXBpVG9rZW5zRGF0YScsIHBheWxvYWQpO1xuICBhZGRUZW5hbnRBcGlUb2tlbiA9IChwYXlsb2FkOiBBZGRUZW5hbnRBcGlUb2tlblBheWxvYWQpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2FkZFRlbmFudEFwaVRva2VuJywgcGF5bG9hZCk7XG4gIGFkZFVzZXJBcGlUb2tlbiA9IChwYXlsb2FkOiBBZGRVc2VyQXBpVG9rZW5QYXlsb2FkKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRVc2VyQXBpVG9rZW4nLCBwYXlsb2FkKTtcbiAgZGVsZXRlVXNlckFwaVRva2VuID0gKHBheWxvYWQ6IHN0cmluZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVXNlckFwaVRva2VuJywgcGF5bG9hZCk7XG4gIGRlbGV0ZVRlbmFudEFwaVRva2VuID0gKHBheWxvYWQ6IHN0cmluZykgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignZGVsZXRlVGVuYW50QXBpVG9rZW4nLCBwYXlsb2FkKTtcblxuICAvLyBTZWN1cml0eSBQb2xpY3kgQWN0aW9uc1xuICBzZXRTZWN1cml0eVBvbGljeVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFNlY3VyaXR5UG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5U3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5R2xvYmFsU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8R2xvYmFsUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5R2xvYmFsU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5UHVibGljU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UHVibGljUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5UHVibGljU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5TWZhU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8TWZhUG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5TWZhU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5TG9ja291dFN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPExvY2tvdXRQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lMb2Nrb3V0U3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5Q2FwdGNoYVN0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPENhcHRjaGFQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lDYXB0Y2hhU3RhdGUnLCBzdGF0ZSk7XG4gIHNldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5U3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UGFzc3dvcmRIaXN0b3J5UG9saWN5U3RhdGU+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5U3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0U2VjdXJpdHlQb2xpY3lTdGF0ZScpO1xuICBzZXRTZWN1cml0eVBvbGljeVBhc3N3b3JkU3RhdGUgPSAoc3RhdGU6IFBhcnRpYWw8UGFzc3dvcmRQb2xpY3lTdGF0ZT4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2V0U2VjdXJpdHlQb2xpY3lQYXNzd29yZFN0YXRlJywgc3RhdGUpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3kgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3knKTtcbiAgbG9hZFB1YmxpY1NlY3VyaXR5UG9saWN5ID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFB1YmxpY1NlY3VyaXR5UG9saWN5Jyk7XG4gIGxvYWRWZW5kb3JQYXNzd29yZENvbmZpZyA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2xvYWRWZW5kb3JQYXNzd29yZENvbmZpZycpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lNZmEgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lNZmEnKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5TWZhID0gKHBheWxvYWQ6IFNhdmVTZWN1cml0eVBvbGljeU1mYVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5TWZhJywgcGF5bG9hZCk7XG4gIGxvYWRTZWN1cml0eVBvbGljeUxvY2tvdXQgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lMb2Nrb3V0Jyk7XG4gIHNhdmVTZWN1cml0eVBvbGljeUxvY2tvdXQgPSAocGF5bG9hZDogU2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dFBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5TG9ja291dCcsIHBheWxvYWQpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lDYXB0Y2hhID0gKCkgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFNlY3VyaXR5UG9saWN5Q2FwdGNoYScpO1xuICBsb2FkU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnkgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkU2VjdXJpdHlQb2xpY3lQYXNzd29yZEhpc3RvcnknKTtcbiAgc2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5ID0gKHBheWxvYWQ6IFNhdmVTZWN1cml0eVBvbGljeVBhc3N3b3JkSGlzdG9yeVBheWxvYWQpID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignc2F2ZVNlY3VyaXR5UG9saWN5UGFzc3dvcmRIaXN0b3J5JywgcGF5bG9hZCk7XG5cbiAgLy8gQWNjb3VudCBTZXR0aW5ncyBBY3Rpb25zXG4gIHNldEFjY291bnRTZXR0aW5nc1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPEFjY291bnRTZXR0aW5nc1N0YXRlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRBY2NvdW50U2V0dGluZ3NTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0QWNjb3VudFNldHRpbmdzU3RhdGUnKTtcbiAgbG9hZEFjY291bnRTZXR0aW5ncyA9IChwYXlsb2FkPzogV2l0aENhbGxiYWNrPFdpdGhTaWxlbnRMb2FkPHt9Pj4pID0+XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZEFjY291bnRTZXR0aW5ncycsIHBheWxvYWQpO1xuICBzYXZlQWNjb3VudFNldHRpbmdzID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJU2V0dGluZ3NSZXNwb25zZSwgSVNldHRpbmdzUmVzcG9uc2U+KSA9PlxuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NhdmVBY2NvdW50U2V0dGluZ3MnLCBwYXlsb2FkKTtcblxuICAvLyBUZW5hbnRzIEFjdGlvbnNcbiAgc2V0VGVuYW50c1N0YXRlID0gKHN0YXRlOiBQYXJ0aWFsPFRlbmFudHNTdGF0ZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFRlbmFudHNTdGF0ZScsIHN0YXRlKTtcbiAgcmVzZXRUZW5hbnRzU3RhdGUgPSAoKSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdyZXNldFRlbmFudHNTdGF0ZScpO1xuICBzd2l0Y2hUZW5hbnQgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElTd2l0Y2hUZW5hbnQ+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdzd2l0Y2hUZW5hbnQnLCBwYXlsb2FkKTtcbiAgbG9hZFRlbmFudHMgPSAocGF5bG9hZD86IFdpdGhDYWxsYmFjazx7fSwgSVRlbmFudHNSZXNwb25zZVtdPikgPT4gdGhpcy5kaXNwYXRjaEFjdGlvbignbG9hZFRlbmFudHMnLCBwYXlsb2FkKTtcblxuICAvLyBSb2xlcyBBY3Rpb25zXG4gIHNldFJvbGVzU3RhdGUgPSAoc3RhdGU6IFJvbGVzU3RhdGUpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3NldFJvbGVzU3RhdGUnLCBzdGF0ZSk7XG4gIHJlc2V0Um9sZXNTdGF0ZSA9ICgpID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3Jlc2V0Um9sZXNTdGF0ZScpO1xuICBsb2FkUm9sZXNBbmRQZXJtaXNzaW9ucyA9IChwYXlsb2FkPzogV2l0aFNpbGVudExvYWQ8e30+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdsb2FkUm9sZXNBbmRQZXJtaXNzaW9ucycsIHBheWxvYWQpO1xuICBhZGRSb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQWRkUm9sZSwgSVJvbGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhZGRSb2xlJywgcGF5bG9hZCk7XG4gIHVwZGF0ZVJvbGUgPSAocGF5bG9hZDogV2l0aENhbGxiYWNrPElVcGRhdGVSb2xlLCBJUm9sZT4pID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ3VwZGF0ZVJvbGUnLCBwYXlsb2FkKTtcbiAgZGVsZXRlUm9sZSA9IChwYXlsb2FkOiBXaXRoQ2FsbGJhY2s8SURlbGV0ZVJvbGU+KSA9PiB0aGlzLmRpc3BhdGNoQWN0aW9uKCdkZWxldGVSb2xlJywgcGF5bG9hZCk7XG4gIGF0dGFjaFBlcm1pc3Npb25zVG9Sb2xlID0gKHBheWxvYWQ6IFdpdGhDYWxsYmFjazxJQXR0YWNoUGVybWlzc2lvbnNUb1JvbGUsIElSb2xlPikgPT5cbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKCdhdHRhY2hQZXJtaXNzaW9uc1RvUm9sZScsIHBheWxvYWQpO1xuXG4gIGF0dGFjaFBlcm1pc3Npb25Ub1JvbGVzID0gKFxuICAgIHBheWxvYWQ6IFdpdGhDYWxsYmFjazx7XG4gICAgICBwZXJtaXNzaW9uSWQ6IHN0cmluZztcbiAgICAgIHJvbGVJZHM6IHN0cmluZ1tdO1xuICAgIH0sXG4gICAgICBJUm9sZVBlcm1pc3Npb24+LFxuICApID0+IHRoaXMuZGlzcGF0Y2hBY3Rpb24oJ2F0dGFjaFBlcm1pc3Npb25Ub1JvbGVzJywgcGF5bG9hZCk7XG59XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { getPermissionEntitlements, getFeatureEntitlements, getEntitlements, } from '@frontegg/redux-store';
|
|
4
|
-
import { FronteggAppService } from './frontegg-app.service';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "./frontegg-app.service";
|
|
7
6
|
/**
|
|
@@ -94,13 +93,12 @@ export class FronteggEntitlementsService {
|
|
|
94
93
|
this.fronteggAppService.fronteggApp.loadEntitlements(callback);
|
|
95
94
|
}
|
|
96
95
|
}
|
|
97
|
-
FronteggEntitlementsService.ɵ
|
|
98
|
-
FronteggEntitlementsService
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
];
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctZW50aXRsZW1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1lbnRpdGxlbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFFTCx5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRTVEOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUZsRCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBdUIsU0FBUyxDQUFDLENBQUM7UUFHdEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBQ3BGLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1lBQ3ZGLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLCtCQUErQixDQUFDLFNBQW9COztRQUMxRCxNQUFNLGlCQUFpQixHQUFHLE1BQUEsU0FBUyxDQUFDLElBQUksMENBQUUsWUFBWSxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssS0FBSyxpQkFBaUIsRUFBRTtZQUM3RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLHNDQUFzQyxDQUM1QyxlQUErRCxFQUMvRCxRQUFpQztRQUVqQyw0R0FBNEc7UUFDNUcsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUE4QixDQUFDLENBQUM7UUFFeEYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQy9FLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILG9DQUFvQztRQUNwQyxNQUFNLDhCQUE4QixHQUFHLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3Riw0RkFBNEY7UUFDNUYsTUFBTSxtQkFBbUIsR0FBRyw4QkFBOEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFFNUcsOEJBQThCLENBQUMsV0FBVyxHQUFHLEdBQUUsRUFBRTtZQUMvQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQUVGLE9BQU8sOEJBQThCLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQixDQUFDLE9BQWUsRUFBRSxRQUFzQztRQUNqRixPQUFPLElBQUksQ0FBQyxzQ0FBc0MsQ0FDaEQsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDL0QsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSx1QkFBdUIsQ0FBQyxVQUFrQixFQUFFLFFBQXNDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUNoRCxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUNyRSxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxPQUEwQixFQUFFLFFBQXNDO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUNoRCxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDeEQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsUUFBbUM7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7O1lBN0dGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVlEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBQYXJ0aWFsT2JzZXJ2ZXIsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciwgQXV0aFN0YXRlIH0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0bGVtZW50LCBMb2FkRW50aXRsZW1lbnRzQ2FsbGJhY2ssIEVudGl0bGVkVG9PcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgRnJvbnRlZ2dTdGF0ZSxcbiAgZ2V0UGVybWlzc2lvbkVudGl0bGVtZW50cyxcbiAgZ2V0RmVhdHVyZUVudGl0bGVtZW50cyxcbiAgZ2V0RW50aXRsZW1lbnRzLFxufSBmcm9tICdAZnJvbnRlZ2cvcmVkdXgtc3RvcmUnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9mcm9udGVnZy1hcHAuc2VydmljZSc7XG5cbi8qKlxuICogQW4gZW50aXRsZW1lbnRzIHNlcnZpY2UgZm9yOiBcbiAqICAgMS4gTWFuYWdpbmcgc3RhdGUgc3Vic2NyaXB0aW9uLlxuICogICAyLiBRdWVyeWluZyBhYm91dCBmZWF0dXJlIGFuZCBwZXJtaXNzaW9uIGVudGl0bGVtZW50cyBzdGF0ZS5cbiAqICAgMy4gTG9hZCBlbnRpdGxlbWVudHMgb24gZGVtYW5kLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dFbnRpdGxlbWVudHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlbnRpdGxlbWVudHNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVzZXJbJ2VudGl0bGVtZW50cyddPih1bmRlZmluZWQpO1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcm9udGVnZ0FwcFNlcnZpY2U6IEZyb250ZWdnQXBwU2VydmljZSkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgIHRoaXMudXBkYXRlRW50aXRsZW1lbnRzU3RhdGVJZk5lZWRlZChzdGF0ZS5hdXRoKTtcblxuICAgIC8vIE1lbW9pemVkIGVudGl0bGVtZW50cyBTdGF0ZVxuICAgIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkgYXMgRnJvbnRlZ2dTdGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlRW50aXRsZW1lbnRzU3RhdGVJZk5lZWRlZChuZXdTdGF0ZS5hdXRoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIGVudGl0bGVtZW50cyBzdWJqZWN0IGNoYW5nZSBldmVudCBpZiB0aGUgZW50aXRsZW1lbnRzIHJlZmVyZW5jZSBjaGFuZ2VzXG4gICAqIE5vIG5lZWQgZm9yIGRlZXAgZXF1YWwgYmVjYXVzZSB3ZSBhbHJlYWR5IGNoZWNrIGl0IGludGVybmFsbHlcbiAgICogQHBhcmFtIGF1dGhTdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVFbnRpdGxlbWVudHNTdGF0ZUlmTmVlZGVkKGF1dGhTdGF0ZTogQXV0aFN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgZW50aXRsZW1lbnRzU3RhdGUgPSBhdXRoU3RhdGUudXNlcj8uZW50aXRsZW1lbnRzO1xuICAgIGlmICh0aGlzLmVudGl0bGVtZW50c1N0YXRlU3ViamVjdC52YWx1ZSA9PT0gZW50aXRsZW1lbnRzU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVudGl0bGVtZW50c1N0YXRlU3ViamVjdC5uZXh0KGVudGl0bGVtZW50c1N0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gZ2l2ZXMgdGhlIGFiaWxpdHkgdG8gcmV0dXJuIGEgbWFuaXB1bGF0ZWQgZGF0YSBvZiB0aGUgZW50aXRsZW1lbnRzIHN0YXRlIGFzIGEgc3Vic2NyaXB0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YU1hbmlwdWxhdG9yIE1hbmlwdWxhdG9yIGZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgZW50aXRsZW1lbnRzIHN0YXRlIGFuZCByZXR1cm5zIGEgbWFuaXB1bGF0ZWQgZGF0YVxuICAgKiBAcGFyYW0gb2JzZXJ2ZXIgRm9yIHJlY2VpdmluZyBtYW5pcHVsYXRlZCBkYXRhIHJlc3VsdFxuICAgKiBAcmV0dXJucyBhIHN1YnNjcmlwdGlvbiB0byBiZSBhYmxlIHRvIHVuc3Vic2NyaWJlXG4gICAqL1xuICBwcml2YXRlIGdldEVudGl0bGVtZW50c01hbmlwdWxhdG9yU3Vic2NyaXB0aW9uPFJlc3VsdD4oXG4gICAgZGF0YU1hbmlwdWxhdG9yOiAoZW50aXRsZW1lbnRzOiBVc2VyWydlbnRpdGxlbWVudHMnXSkgPT4gUmVzdWx0LCBcbiAgICBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPFJlc3VsdD5cbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyB1c2VkIGZvciBjb21wdXRpbmcgdGhlIGVudGl0bGVtZW50cyByZXN1bHQgYmVjYXVzZSB3ZSBkb24ndCByZXR1cm4gdGhlIHN0YXRlIGl0c2VsZiwgYnV0IGEgY2FsY3VsYXRlZCBvbmVcbiAgICBjb25zdCBlbnRpdGxlbWVudHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXN1bHQ+KHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFJlc3VsdCk7XG4gICAgXG4gICAgY29uc3Qgc3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLmVudGl0bGVtZW50c1N0YXRlU3ViamVjdC5zdWJzY3JpYmUoZW50aXRsZW1lbnRzID0+IHtcbiAgICAgIGVudGl0bGVtZW50c1N1YmplY3QubmV4dChkYXRhTWFuaXB1bGF0b3IoZW50aXRsZW1lbnRzKSk7XG4gICAgfSk7XG4gICAgXG4gICAgLy8gc3Vic2NyaWJpbmcgdGhlIGNvbnN1bWVyIG9ic2VydmVyXG4gICAgY29uc3QgZW50aXRsZW1lbnRzUmVzdWx0U3Vic2NyaXB0aW9uID0gZW50aXRsZW1lbnRzU3ViamVjdC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUob2JzZXJ2ZXIpXG5cbiAgICAvLyBtb25rZXkgcGF0Y2hlZCB0byBtYW5hZ2UgYm90aCB1bi1zdWJzY3JpcHRpb25zOiBzdGF0ZSBhbmQgZW50aXRsZW1lbnRzIG1hbmlwdWxhdGVkIHJlc3VsdFxuICAgIGNvbnN0IG9yaWdpbmFsVW5zdWJzY3JpYmUgPSBlbnRpdGxlbWVudHNSZXN1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUuYmluZChlbnRpdGxlbWVudHNSZXN1bHRTdWJzY3JpcHRpb24pO1xuXG4gICAgZW50aXRsZW1lbnRzUmVzdWx0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlID0gKCk9PntcbiAgICAgIG9yaWdpbmFsVW5zdWJzY3JpYmUoKTtcbiAgICAgIHN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlbnRpdGxlbWVudHNSZXN1bHRTdWJzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGZlYXR1cmVcbiAgICogQHBhcmFtIG9ic2VydmVyIEZvciByZWNlaXZpbmcgdGhlIGZlYXR1cmUgZW50aXRsZW1lbnRzIHJlc3VsdCBpbmNsdWRpbmcgaWYgdGhlIHVzZXIgaXMgZW50aXRsZWQgdG8gdGhlIGdpdmVuIGZlYXR1cmUuXG4gICAqICAgICAgICAgICAgICAgICBBdHRhY2hpbmcgdGhlIGp1c3RpZmljYXRpb24gaWYgbm90IGVudGl0bGVkXG4gICAqIEByZXR1cm5zIGEgc3Vic2NyaXB0aW9uIHRvIGJlIGFibGUgdG8gdW5zdWJzY3JpYmVcbiAgICogQHRocm93cyB3aGVuIGVudGl0bGVtZW50IGlzIG5vdCBlbmFibGVkIHZpYSBmcm9udGVnZyBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgZmVhdHVyZUVudGl0bGVtZW50cyQoZmVhdHVyZTogc3RyaW5nLCBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPEVudGl0bGVtZW50Pik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXRsZW1lbnRzTWFuaXB1bGF0b3JTdWJzY3JpcHRpb248RW50aXRsZW1lbnQ+KFxuICAgICAgKGVudGl0bGVtZW50cykgPT4gZ2V0RmVhdHVyZUVudGl0bGVtZW50cyhlbnRpdGxlbWVudHMsIGZlYXR1cmUpLFxuICAgICAgb2JzZXJ2ZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBwZXJtaXNzaW9uXG4gICAqIEBwYXJhbSBvYnNlcnZlciBGb3IgcmVjZWl2aW5nIHRoZSBwZXJtaXNzaW9uIGVudGl0bGVtZW50cyByZXN1bHQgaW5jbHVkaW5nIGlmIHRoZSB1c2VyIGlzIGVudGl0bGVkIHRvIHRoZSBnaXZlbiBwZXJtaXNzaW9uLlxuICAgKiAgICAgICAgICAgICAgICAgQXR0YWNoaW5nIHRoZSBqdXN0aWZpY2F0aW9uIGlmIG5vdCBlbnRpdGxlZFxuICAgKiBAcmV0dXJucyBhIHN1YnNjcmlwdGlvbiB0byBiZSBhYmxlIHRvIHVuc3Vic2NyaWJlXG4gICAqL1xuICBwdWJsaWMgcGVybWlzc2lvbkVudGl0bGVtZW50cyQocGVybWlzc2lvbjogc3RyaW5nLCBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPEVudGl0bGVtZW50Pik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXRsZW1lbnRzTWFuaXB1bGF0b3JTdWJzY3JpcHRpb248RW50aXRsZW1lbnQ+KFxuICAgICAgKGVudGl0bGVtZW50cykgPT4gZ2V0UGVybWlzc2lvbkVudGl0bGVtZW50cyhlbnRpdGxlbWVudHMsIHBlcm1pc3Npb24pLFxuICAgICAgb2JzZXJ2ZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBvcHRpb25zIHBlcm1pc3Npb25LZXkgb3IgZmVhdHVyZUtleSBpbiBhbiBvcHRpb25zIG9iamVjdFxuICAgKiBAcGFyYW0gb2JzZXJ2ZXIgRm9yIHJlY2VpdmluZyB0aGUgcGVybWlzc2lvbiBlbnRpdGxlbWVudHMgcmVzdWx0IGluY2x1ZGluZyBpZiB0aGUgdXNlciBpcyBlbnRpdGxlZCB0byB0aGUgZ2l2ZW4gcGVybWlzc2lvbi5cbiAgICogICAgICAgICAgICAgICAgIEF0dGFjaGluZyB0aGUganVzdGlmaWNhdGlvbiBpZiBub3QgZW50aXRsZWRcbiAgICogQHJldHVybnMgYSBzdWJzY3JpcHRpb24gdG8gYmUgYWJsZSB0byB1bnN1YnNjcmliZVxuICAgKi9cbiAgcHVibGljIGVudGl0bGVtZW50cyQob3B0aW9uczogRW50aXRsZWRUb09wdGlvbnMsIG9ic2VydmVyOiBQYXJ0aWFsT2JzZXJ2ZXI8RW50aXRsZW1lbnQ+KTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdGxlbWVudHNNYW5pcHVsYXRvclN1YnNjcmlwdGlvbjxFbnRpdGxlbWVudD4oXG4gICAgICAoZW50aXRsZW1lbnRzKSA9PiBnZXRFbnRpdGxlbWVudHMoZW50aXRsZW1lbnRzLCBvcHRpb25zKSxcbiAgICAgIG9ic2VydmVyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGVudGl0bGVtZW50cyBkYXRhIG9uIGRlbWFuZFxuICAgKiBAcGFyYW0gY2FsbGJhY2sgY2FsbGVkIG9uIHJlcXVlc3QgY29tcGxldGVkIHdpdGggdHJ1ZSBpZiBzdWNjZWVkZWQsIGZhbHNlIGlmIGZhaWxlZFxuICAgKi9cbiAgcHVibGljIGxvYWRFbnRpdGxlbWVudHMoY2FsbGJhY2s/OiBMb2FkRW50aXRsZW1lbnRzQ2FsbGJhY2spOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5sb2FkRW50aXRsZW1lbnRzKGNhbGxiYWNrKTtcbiAgfVxufVxuIl19
|
|
96
|
+
FronteggEntitlementsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggEntitlementsService, deps: [{ token: i1.FronteggAppService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
97
|
+
FronteggEntitlementsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggEntitlementsService, providedIn: 'root' });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FronteggEntitlementsService, decorators: [{
|
|
99
|
+
type: Injectable,
|
|
100
|
+
args: [{
|
|
101
|
+
providedIn: 'root',
|
|
102
|
+
}]
|
|
103
|
+
}], ctorParameters: function () { return [{ type: i1.FronteggAppService }]; } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctZW50aXRsZW1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1lbnRpdGxlbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFFTCx5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRy9COzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUZsRCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBdUIsU0FBUyxDQUFDLENBQUM7UUFHdEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBQ3BGLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1lBQ3ZGLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLCtCQUErQixDQUFDLFNBQW9COztRQUMxRCxNQUFNLGlCQUFpQixHQUFHLE1BQUEsU0FBUyxDQUFDLElBQUksMENBQUUsWUFBWSxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssS0FBSyxpQkFBaUIsRUFBRTtZQUM3RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLHNDQUFzQyxDQUM1QyxlQUErRCxFQUMvRCxRQUFpQztRQUVqQyw0R0FBNEc7UUFDNUcsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUE4QixDQUFDLENBQUM7UUFFeEYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQy9FLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUVILG9DQUFvQztRQUNwQyxNQUFNLDhCQUE4QixHQUFHLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3Riw0RkFBNEY7UUFDNUYsTUFBTSxtQkFBbUIsR0FBRyw4QkFBOEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFFNUcsOEJBQThCLENBQUMsV0FBVyxHQUFHLEdBQUUsRUFBRTtZQUMvQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQUVGLE9BQU8sOEJBQThCLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQixDQUFDLE9BQWUsRUFBRSxRQUFzQztRQUNqRixPQUFPLElBQUksQ0FBQyxzQ0FBc0MsQ0FDaEQsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDL0QsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSx1QkFBdUIsQ0FBQyxVQUFrQixFQUFFLFFBQXNDO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUNoRCxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUNyRSxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxPQUEwQixFQUFFLFFBQXNDO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUNoRCxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFDeEQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsUUFBbUM7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDOzt5SEExR1UsMkJBQTJCOzZIQUEzQiwyQkFBMkIsY0FGMUIsTUFBTTs0RkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBQYXJ0aWFsT2JzZXJ2ZXIsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciwgQXV0aFN0YXRlIH0gZnJvbSAnQGZyb250ZWdnL3JlZHV4LXN0b3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0bGVtZW50LCBMb2FkRW50aXRsZW1lbnRzQ2FsbGJhY2ssIEVudGl0bGVkVG9PcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3R5cGVzJztcblxuaW1wb3J0IHtcbiAgRnJvbnRlZ2dTdGF0ZSxcbiAgZ2V0UGVybWlzc2lvbkVudGl0bGVtZW50cyxcbiAgZ2V0RmVhdHVyZUVudGl0bGVtZW50cyxcbiAgZ2V0RW50aXRsZW1lbnRzLFxufSBmcm9tICdAZnJvbnRlZ2cvcmVkdXgtc3RvcmUnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBTZXJ2aWNlIH0gZnJvbSAnLi9mcm9udGVnZy1hcHAuc2VydmljZSc7XG5cbi8qKlxuICogQW4gZW50aXRsZW1lbnRzIHNlcnZpY2UgZm9yOiBcbiAqICAgMS4gTWFuYWdpbmcgc3RhdGUgc3Vic2NyaXB0aW9uLlxuICogICAyLiBRdWVyeWluZyBhYm91dCBmZWF0dXJlIGFuZCBwZXJtaXNzaW9uIGVudGl0bGVtZW50cyBzdGF0ZS5cbiAqICAgMy4gTG9hZCBlbnRpdGxlbWVudHMgb24gZGVtYW5kLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dFbnRpdGxlbWVudHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBlbnRpdGxlbWVudHNTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVzZXJbJ2VudGl0bGVtZW50cyddPih1bmRlZmluZWQpO1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcm9udGVnZ0FwcFNlcnZpY2U6IEZyb250ZWdnQXBwU2VydmljZSkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5mcm9udGVnZ0FwcFNlcnZpY2UuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgIHRoaXMudXBkYXRlRW50aXRsZW1lbnRzU3RhdGVJZk5lZWRlZChzdGF0ZS5hdXRoKTtcblxuICAgIC8vIE1lbW9pemVkIGVudGl0bGVtZW50cyBTdGF0ZVxuICAgIHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuZnJvbnRlZ2dBcHBTZXJ2aWNlLmZyb250ZWdnQXBwLnN0b3JlLmdldFN0YXRlKCkgYXMgRnJvbnRlZ2dTdGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlRW50aXRsZW1lbnRzU3RhdGVJZk5lZWRlZChuZXdTdGF0ZS5hdXRoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIGVudGl0bGVtZW50cyBzdWJqZWN0IGNoYW5nZSBldmVudCBpZiB0aGUgZW50aXRsZW1lbnRzIHJlZmVyZW5jZSBjaGFuZ2VzXG4gICAqIE5vIG5lZWQgZm9yIGRlZXAgZXF1YWwgYmVjYXVzZSB3ZSBhbHJlYWR5IGNoZWNrIGl0IGludGVybmFsbHlcbiAgICogQHBhcmFtIGF1dGhTdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVFbnRpdGxlbWVudHNTdGF0ZUlmTmVlZGVkKGF1dGhTdGF0ZTogQXV0aFN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgZW50aXRsZW1lbnRzU3RhdGUgPSBhdXRoU3RhdGUudXNlcj8uZW50aXRsZW1lbnRzO1xuICAgIGlmICh0aGlzLmVudGl0bGVtZW50c1N0YXRlU3ViamVjdC52YWx1ZSA9PT0gZW50aXRsZW1lbnRzU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVudGl0bGVtZW50c1N0YXRlU3ViamVjdC5uZXh0KGVudGl0bGVtZW50c1N0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gZ2l2ZXMgdGhlIGFiaWxpdHkgdG8gcmV0dXJuIGEgbWFuaXB1bGF0ZWQgZGF0YSBvZiB0aGUgZW50aXRsZW1lbnRzIHN0YXRlIGFzIGEgc3Vic2NyaXB0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YU1hbmlwdWxhdG9yIE1hbmlwdWxhdG9yIGZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgZW50aXRsZW1lbnRzIHN0YXRlIGFuZCByZXR1cm5zIGEgbWFuaXB1bGF0ZWQgZGF0YVxuICAgKiBAcGFyYW0gb2JzZXJ2ZXIgRm9yIHJlY2VpdmluZyBtYW5pcHVsYXRlZCBkYXRhIHJlc3VsdFxuICAgKiBAcmV0dXJucyBhIHN1YnNjcmlwdGlvbiB0byBiZSBhYmxlIHRvIHVuc3Vic2NyaWJlXG4gICAqL1xuICBwcml2YXRlIGdldEVudGl0bGVtZW50c01hbmlwdWxhdG9yU3Vic2NyaXB0aW9uPFJlc3VsdD4oXG4gICAgZGF0YU1hbmlwdWxhdG9yOiAoZW50aXRsZW1lbnRzOiBVc2VyWydlbnRpdGxlbWVudHMnXSkgPT4gUmVzdWx0LCBcbiAgICBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPFJlc3VsdD5cbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyB1c2VkIGZvciBjb21wdXRpbmcgdGhlIGVudGl0bGVtZW50cyByZXN1bHQgYmVjYXVzZSB3ZSBkb24ndCByZXR1cm4gdGhlIHN0YXRlIGl0c2VsZiwgYnV0IGEgY2FsY3VsYXRlZCBvbmVcbiAgICBjb25zdCBlbnRpdGxlbWVudHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXN1bHQ+KHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFJlc3VsdCk7XG4gICAgXG4gICAgY29uc3Qgc3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLmVudGl0bGVtZW50c1N0YXRlU3ViamVjdC5zdWJzY3JpYmUoZW50aXRsZW1lbnRzID0+IHtcbiAgICAgIGVudGl0bGVtZW50c1N1YmplY3QubmV4dChkYXRhTWFuaXB1bGF0b3IoZW50aXRsZW1lbnRzKSk7XG4gICAgfSk7XG4gICAgXG4gICAgLy8gc3Vic2NyaWJpbmcgdGhlIGNvbnN1bWVyIG9ic2VydmVyXG4gICAgY29uc3QgZW50aXRsZW1lbnRzUmVzdWx0U3Vic2NyaXB0aW9uID0gZW50aXRsZW1lbnRzU3ViamVjdC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUob2JzZXJ2ZXIpXG5cbiAgICAvLyBtb25rZXkgcGF0Y2hlZCB0byBtYW5hZ2UgYm90aCB1bi1zdWJzY3JpcHRpb25zOiBzdGF0ZSBhbmQgZW50aXRsZW1lbnRzIG1hbmlwdWxhdGVkIHJlc3VsdFxuICAgIGNvbnN0IG9yaWdpbmFsVW5zdWJzY3JpYmUgPSBlbnRpdGxlbWVudHNSZXN1bHRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUuYmluZChlbnRpdGxlbWVudHNSZXN1bHRTdWJzY3JpcHRpb24pO1xuXG4gICAgZW50aXRsZW1lbnRzUmVzdWx0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlID0gKCk9PntcbiAgICAgIG9yaWdpbmFsVW5zdWJzY3JpYmUoKTtcbiAgICAgIHN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlbnRpdGxlbWVudHNSZXN1bHRTdWJzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGZlYXR1cmVcbiAgICogQHBhcmFtIG9ic2VydmVyIEZvciByZWNlaXZpbmcgdGhlIGZlYXR1cmUgZW50aXRsZW1lbnRzIHJlc3VsdCBpbmNsdWRpbmcgaWYgdGhlIHVzZXIgaXMgZW50aXRsZWQgdG8gdGhlIGdpdmVuIGZlYXR1cmUuXG4gICAqICAgICAgICAgICAgICAgICBBdHRhY2hpbmcgdGhlIGp1c3RpZmljYXRpb24gaWYgbm90IGVudGl0bGVkXG4gICAqIEByZXR1cm5zIGEgc3Vic2NyaXB0aW9uIHRvIGJlIGFibGUgdG8gdW5zdWJzY3JpYmVcbiAgICogQHRocm93cyB3aGVuIGVudGl0bGVtZW50IGlzIG5vdCBlbmFibGVkIHZpYSBmcm9udGVnZyBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgZmVhdHVyZUVudGl0bGVtZW50cyQoZmVhdHVyZTogc3RyaW5nLCBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPEVudGl0bGVtZW50Pik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXRsZW1lbnRzTWFuaXB1bGF0b3JTdWJzY3JpcHRpb248RW50aXRsZW1lbnQ+KFxuICAgICAgKGVudGl0bGVtZW50cykgPT4gZ2V0RmVhdHVyZUVudGl0bGVtZW50cyhlbnRpdGxlbWVudHMsIGZlYXR1cmUpLFxuICAgICAgb2JzZXJ2ZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBwZXJtaXNzaW9uXG4gICAqIEBwYXJhbSBvYnNlcnZlciBGb3IgcmVjZWl2aW5nIHRoZSBwZXJtaXNzaW9uIGVudGl0bGVtZW50cyByZXN1bHQgaW5jbHVkaW5nIGlmIHRoZSB1c2VyIGlzIGVudGl0bGVkIHRvIHRoZSBnaXZlbiBwZXJtaXNzaW9uLlxuICAgKiAgICAgICAgICAgICAgICAgQXR0YWNoaW5nIHRoZSBqdXN0aWZpY2F0aW9uIGlmIG5vdCBlbnRpdGxlZFxuICAgKiBAcmV0dXJucyBhIHN1YnNjcmlwdGlvbiB0byBiZSBhYmxlIHRvIHVuc3Vic2NyaWJlXG4gICAqL1xuICBwdWJsaWMgcGVybWlzc2lvbkVudGl0bGVtZW50cyQocGVybWlzc2lvbjogc3RyaW5nLCBvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPEVudGl0bGVtZW50Pik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXRsZW1lbnRzTWFuaXB1bGF0b3JTdWJzY3JpcHRpb248RW50aXRsZW1lbnQ+KFxuICAgICAgKGVudGl0bGVtZW50cykgPT4gZ2V0UGVybWlzc2lvbkVudGl0bGVtZW50cyhlbnRpdGxlbWVudHMsIHBlcm1pc3Npb24pLFxuICAgICAgb2JzZXJ2ZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBvcHRpb25zIHBlcm1pc3Npb25LZXkgb3IgZmVhdHVyZUtleSBpbiBhbiBvcHRpb25zIG9iamVjdFxuICAgKiBAcGFyYW0gb2JzZXJ2ZXIgRm9yIHJlY2VpdmluZyB0aGUgcGVybWlzc2lvbiBlbnRpdGxlbWVudHMgcmVzdWx0IGluY2x1ZGluZyBpZiB0aGUgdXNlciBpcyBlbnRpdGxlZCB0byB0aGUgZ2l2ZW4gcGVybWlzc2lvbi5cbiAgICogICAgICAgICAgICAgICAgIEF0dGFjaGluZyB0aGUganVzdGlmaWNhdGlvbiBpZiBub3QgZW50aXRsZWRcbiAgICogQHJldHVybnMgYSBzdWJzY3JpcHRpb24gdG8gYmUgYWJsZSB0byB1bnN1YnNjcmliZVxuICAgKi9cbiAgcHVibGljIGVudGl0bGVtZW50cyQob3B0aW9uczogRW50aXRsZWRUb09wdGlvbnMsIG9ic2VydmVyOiBQYXJ0aWFsT2JzZXJ2ZXI8RW50aXRsZW1lbnQ+KTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdGxlbWVudHNNYW5pcHVsYXRvclN1YnNjcmlwdGlvbjxFbnRpdGxlbWVudD4oXG4gICAgICAoZW50aXRsZW1lbnRzKSA9PiBnZXRFbnRpdGxlbWVudHMoZW50aXRsZW1lbnRzLCBvcHRpb25zKSxcbiAgICAgIG9ic2VydmVyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGVudGl0bGVtZW50cyBkYXRhIG9uIGRlbWFuZFxuICAgKiBAcGFyYW0gY2FsbGJhY2sgY2FsbGVkIG9uIHJlcXVlc3QgY29tcGxldGVkIHdpdGggdHJ1ZSBpZiBzdWNjZWVkZWQsIGZhbHNlIGlmIGZhaWxlZFxuICAgKi9cbiAgcHVibGljIGxvYWRFbnRpdGxlbWVudHMoY2FsbGJhY2s/OiBMb2FkRW50aXRsZW1lbnRzQ2FsbGJhY2spOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwU2VydmljZS5mcm9udGVnZ0FwcC5sb2FkRW50aXRsZW1lbnRzKGNhbGxiYWNrKTtcbiAgfVxufVxuIl19
|