@yuuvis/client-shell-core 2.0.0-beta.9 → 2.0.1

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.
@@ -80,10 +80,10 @@ export class CommandPaletteComponent {
80
80
  ngAfterViewInit() {
81
81
  this.onInputBlur();
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CommandPaletteComponent, deps: [{ token: i1.CommandPaletteService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: CommandPaletteComponent, isStandalone: true, selector: "yuv-command-palette", outputs: { searchTermChange: "searchTermChange" }, host: { listeners: { "keydown.arrowDown": "onArrowDown($event)", "keydown.arrowUp": "onArrowUp($event)", "keydown.Enter": "onEnter($event)" } }, ngImport: i0, template: "@if (!disabledCauses.length) {\n <div class=\"search\">\n <input type=\"text\" autofocus [placeholder]=\"placeholder\" [(ngModel)]=\"searchTerm\" (blur)=\"onInputBlur()\" (ngModelChange)=\"onTermChange($event)\" />\n @if (message) {\n <div class=\"message\">{{ message }}</div>\n }\n </div>\n\n <div class=\"commands\">\n @for (c of commands; track c.id; let i = $index) {\n <div class=\"command\" [ngStyle]=\"{ '--i': i }\" [ngClass]=\"{ current: i === currentCommandIndex }\" (click)=\"triggerCommand(c)\">\n <div class=\"label\" [innerHTML]=\"highlight(c.label)\"></div>\n <div class=\"desc\" [innerHTML]=\"highlight(c?.description)\"></div>\n </div>\n }\n </div>\n} @else {\n <div class=\"disabled\">\n @for (c of disabledCauses; track c.id) {\n <div class=\"disabled-cause\">{{ c.message }}</div>\n }\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:auto 2fr;grid-template-columns:1fr;grid-template-areas:\"search\" \"commands\";overflow:hidden}:host .search{display:flex;flex-flow:column;align-items:center;justify-content:flex-end;grid-area:search}:host .search input{background-color:transparent;border:0;outline:0;font-size:2em;padding:var(--ymt-spacing-m);color:var(--ymt-text-color);border-bottom:1px solid var(--ymt-outline-variant)}:host .search input::placeholder{font-size:.6em;opacity:.4}:host .search .message{background:var(--ymt-primary);margin:2px;padding:.2em .5em;border-radius:2px;box-sizing:border-box}:host .commands{box-sizing:border-box;grid-area:commands;overflow-y:auto;display:flex;flex-flow:column;-ms-overflow-style:none;scrollbar-width:none}:host .commands::-webkit-scrollbar{display:none}:host .commands .command{opacity:0;animation:commandEnter .15s ease-in-out .2s forwards;animation-delay:calc(var(--i) * 50ms);width:var(--cmp-width);min-width:var(--cmp-min-width);box-sizing:border-box;padding:var(--ymt-spacing-m);transition:background-color .2s ease-in-out;cursor:pointer;border-radius:2px}:host .commands .command.current{background-color:var(--ymt-focus-background)}:host .commands .command:not(.current):hover{background-color:var(--ymt-hover-background)}:host .commands .command ::ng-deep mark{position:relative;display:inline-block;background-color:transparent;color:var(--ymt-text-color)}:host .commands .command ::ng-deep mark:after{content:\"\";position:absolute;bottom:-3px;height:2px;border-radius:1px;background-color:var(--ymt-text-color-subtle);left:0;right:0}:host .commands .command .desc{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);margin-top:.5em}:host .disabled{grid-row:1/span 2;display:flex;flex-flow:column;align-items:center;justify-content:center}@keyframes commandEnter{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommandPaletteComponent, deps: [{ token: i1.CommandPaletteService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: CommandPaletteComponent, isStandalone: true, selector: "yuv-command-palette", outputs: { searchTermChange: "searchTermChange" }, host: { listeners: { "keydown.arrowDown": "onArrowDown($event)", "keydown.arrowUp": "onArrowUp($event)", "keydown.Enter": "onEnter($event)" } }, ngImport: i0, template: "@if (!disabledCauses.length) {\n <div class=\"search\">\n <input type=\"text\" autofocus [placeholder]=\"placeholder\" [(ngModel)]=\"searchTerm\" (blur)=\"onInputBlur()\" (ngModelChange)=\"onTermChange($event)\" />\n @if (message) {\n <div class=\"message\">{{ message }}</div>\n }\n </div>\n\n <div class=\"commands\">\n @for (c of commands; track c.id; let i = $index) {\n <div class=\"command\" [ngStyle]=\"{ '--i': i }\" [ngClass]=\"{ current: i === currentCommandIndex }\" (click)=\"triggerCommand(c)\">\n <div class=\"label\" [innerHTML]=\"highlight(c.label)\"></div>\n <div class=\"desc\" [innerHTML]=\"highlight(c?.description)\"></div>\n </div>\n }\n </div>\n} @else {\n <div class=\"disabled\">\n @for (c of disabledCauses; track c.id) {\n <div class=\"disabled-cause\">{{ c.message }}</div>\n }\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:auto 2fr;grid-template-columns:1fr;grid-template-areas:\"search\" \"commands\";overflow:hidden}:host .search{display:flex;flex-flow:column;align-items:center;justify-content:flex-end;grid-area:search}:host .search input{background-color:transparent;border:0;outline:0;font-size:2em;padding:var(--ymt-spacing-m);color:var(--ymt-text-color);border-bottom:1px solid var(--ymt-outline-variant)}:host .search input::placeholder{font-size:.6em;opacity:.4}:host .search .message{background:var(--ymt-primary);margin:2px;padding:.2em .5em;border-radius:2px;box-sizing:border-box}:host .commands{box-sizing:border-box;grid-area:commands;overflow-y:auto;display:flex;flex-flow:column;-ms-overflow-style:none;scrollbar-width:none}:host .commands::-webkit-scrollbar{display:none}:host .commands .command{opacity:0;animation:commandEnter .15s ease-in-out .2s forwards;animation-delay:calc(var(--i) * 50ms);width:var(--cmp-width);min-width:var(--cmp-min-width);box-sizing:border-box;padding:var(--ymt-spacing-m);transition:background-color .2s ease-in-out;cursor:pointer;border-radius:2px}:host .commands .command.current{background-color:var(--ymt-focus-background)}:host .commands .command:not(.current):hover{background-color:var(--ymt-hover-background)}:host .commands .command ::ng-deep mark{position:relative;display:inline-block;background-color:transparent;color:var(--ymt-text-color)}:host .commands .command ::ng-deep mark:after{content:\"\";position:absolute;bottom:-3px;height:2px;border-radius:1px;background-color:var(--ymt-text-color-subtle);left:0;right:0}:host .commands .command .desc{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);margin-top:.5em}:host .disabled{grid-row:1/span 2;display:flex;flex-flow:column;align-items:center;justify-content:center}@keyframes commandEnter{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CommandPaletteComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommandPaletteComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{ selector: 'yuv-command-palette', standalone: true, imports: [CommonModule, FormsModule], template: "@if (!disabledCauses.length) {\n <div class=\"search\">\n <input type=\"text\" autofocus [placeholder]=\"placeholder\" [(ngModel)]=\"searchTerm\" (blur)=\"onInputBlur()\" (ngModelChange)=\"onTermChange($event)\" />\n @if (message) {\n <div class=\"message\">{{ message }}</div>\n }\n </div>\n\n <div class=\"commands\">\n @for (c of commands; track c.id; let i = $index) {\n <div class=\"command\" [ngStyle]=\"{ '--i': i }\" [ngClass]=\"{ current: i === currentCommandIndex }\" (click)=\"triggerCommand(c)\">\n <div class=\"label\" [innerHTML]=\"highlight(c.label)\"></div>\n <div class=\"desc\" [innerHTML]=\"highlight(c?.description)\"></div>\n </div>\n }\n </div>\n} @else {\n <div class=\"disabled\">\n @for (c of disabledCauses; track c.id) {\n <div class=\"disabled-cause\">{{ c.message }}</div>\n }\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:auto 2fr;grid-template-columns:1fr;grid-template-areas:\"search\" \"commands\";overflow:hidden}:host .search{display:flex;flex-flow:column;align-items:center;justify-content:flex-end;grid-area:search}:host .search input{background-color:transparent;border:0;outline:0;font-size:2em;padding:var(--ymt-spacing-m);color:var(--ymt-text-color);border-bottom:1px solid var(--ymt-outline-variant)}:host .search input::placeholder{font-size:.6em;opacity:.4}:host .search .message{background:var(--ymt-primary);margin:2px;padding:.2em .5em;border-radius:2px;box-sizing:border-box}:host .commands{box-sizing:border-box;grid-area:commands;overflow-y:auto;display:flex;flex-flow:column;-ms-overflow-style:none;scrollbar-width:none}:host .commands::-webkit-scrollbar{display:none}:host .commands .command{opacity:0;animation:commandEnter .15s ease-in-out .2s forwards;animation-delay:calc(var(--i) * 50ms);width:var(--cmp-width);min-width:var(--cmp-min-width);box-sizing:border-box;padding:var(--ymt-spacing-m);transition:background-color .2s ease-in-out;cursor:pointer;border-radius:2px}:host .commands .command.current{background-color:var(--ymt-focus-background)}:host .commands .command:not(.current):hover{background-color:var(--ymt-hover-background)}:host .commands .command ::ng-deep mark{position:relative;display:inline-block;background-color:transparent;color:var(--ymt-text-color)}:host .commands .command ::ng-deep mark:after{content:\"\";position:absolute;bottom:-3px;height:2px;border-radius:1px;background-color:var(--ymt-text-color-subtle);left:0;right:0}:host .commands .command .desc{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);margin-top:.5em}:host .disabled{grid-row:1/span 2;display:flex;flex-flow:column;align-items:center;justify-content:center}@keyframes commandEnter{0%{opacity:0}to{opacity:1}}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i1.CommandPaletteService }, { type: i0.ElementRef }], propDecorators: { searchTermChange: [{
@@ -118,10 +118,10 @@ export class CommandPaletteService {
118
118
  this.overlayVisibleSource.next(this.overlayVisible);
119
119
  }
120
120
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CommandPaletteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
122
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CommandPaletteService, providedIn: 'root' }); }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommandPaletteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
122
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommandPaletteService, providedIn: 'root' }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: CommandPaletteService, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: CommandPaletteService, decorators: [{
125
125
  type: Injectable,
126
126
  args: [{
127
127
  providedIn: 'root'
@@ -81,10 +81,10 @@ export class FeatureService {
81
81
  : of(null)))
82
82
  : of(null);
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FeatureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
85
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FeatureService, providedIn: 'root' }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FeatureService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
85
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FeatureService, providedIn: 'root' }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: FeatureService, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: FeatureService, decorators: [{
88
88
  type: Injectable,
89
89
  args: [{
90
90
  providedIn: 'root'
@@ -4,10 +4,10 @@ export class NoopExtension {
4
4
  init() {
5
5
  return Promise.resolve();
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopExtension, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopExtension }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NoopExtension, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NoopExtension }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopExtension, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: NoopExtension, decorators: [{
11
11
  type: Injectable
12
12
  }] });
13
13
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC5leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtc2hlbGwtY29yZS9zcmMvbGliL3NlcnZpY2VzL3NoZWxsL25vb3AuZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQUk7UUFDRixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQUhVLGFBQWE7bUhBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWVudFNoZWxsRXh0ZW5zaW9uIH0gZnJvbSAnLi4vLi4vY2xpZW50LXNoZWxsLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb29wRXh0ZW5zaW9uIGltcGxlbWVudHMgQ2xpZW50U2hlbGxFeHRlbnNpb24ge1xuICBpbml0KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG59XG4iXX0=
@@ -21,17 +21,28 @@ export async function bootstrapShellApplication(rootComponent, options, shellOpt
21
21
  const o = options || {
22
22
  providers: []
23
23
  };
24
- const user = await fetch('/api-web/api/idm/whoami', {
24
+ const userResponse = await fetch('/api-web/api/idm/whoami', {
25
25
  headers: {
26
26
  'Content-Type': 'application/json'
27
27
  }
28
28
  });
29
- const userRes = await user.json();
29
+ if (!userResponse.ok) {
30
+ if (userResponse.status === 401) {
31
+ window.location.href = `${location.origin}/logout`;
32
+ }
33
+ else {
34
+ throw new Error('Failed to fetch user information');
35
+ }
36
+ }
37
+ const userRes = await userResponse.json();
30
38
  o.providers = [...o.providers, provideUser(userRes)];
31
39
  if (shellOptions?.enableObjectTypeConfig) {
32
- o.providers = [...o.providers, provideAppInitializer(() => {
40
+ o.providers = [
41
+ ...o.providers,
42
+ provideAppInitializer(() => {
33
43
  inject(ShellService)._initObjectTypeConfig();
34
- })];
44
+ })
45
+ ];
35
46
  }
36
47
  if (userRes && shellOptions?.enableFeatureConfig) {
37
48
  // find the config file
@@ -65,4 +76,4 @@ export async function bootstrapShellApplication(rootComponent, options, shellOpt
65
76
  }
66
77
  return bootstrapApplication(rootComponent, o);
67
78
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9zaGVsbC9zaGVsbC5ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyxNQUFNLEVBQUUscUJBQXFCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWlCL0M7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsYUFBNEIsRUFDNUIsT0FBMkIsRUFDM0IsWUFBb0M7SUFFcEMsTUFBTSxDQUFDLEdBQXNCLE9BQU8sSUFBSTtRQUN0QyxTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUM7SUFFRixNQUFNLElBQUksR0FBRyxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtRQUNsRCxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVyRCxJQUFHLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN4RCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksT0FBTyxJQUFJLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1FBQ2pELHVCQUF1QjtRQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtZQUN0RCxNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRTtnQkFDUCxjQUFjLEVBQUUsa0JBQWtCO2FBQ25DO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLEtBQUssRUFBRTtvQkFDTCxTQUFTLEVBQUUseUJBQXlCLENBQUMscUJBQXFCLENBQUM7aUJBQzVEO2FBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWxDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRXZFLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFO2dCQUMvRCxPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtpQkFDbkM7YUFDRixDQUFDLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixNQUFNLGtCQUFrQixHQUE2QjtnQkFDbkQsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLEdBQUcsSUFBSSxFQUFFO2FBQ3BCLENBQUM7WUFDRixDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUNqRixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sb0JBQW9CLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbmZpZywgQXBwbGljYXRpb25SZWYsIGluamVjdCwgcHJvdmlkZUFwcEluaXRpYWxpemVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBib290c3RyYXBBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQmFzZU9iamVjdFR5cGVGaWVsZCwgcHJvdmlkZVVzZXIgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IENsaWVudFNoZWxsRmVhdHVyZUNvbmZpZyB9IGZyb20gJy4uL2ZlYXR1cmUvZmVhdHVyZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgcHJvdmlkZUNsaWVudFNoZWxsRmVhdHVyZXMgfSBmcm9tICcuLi9mZWF0dXJlL2ZlYXR1cmUucHJvdmlkZXJzJztcbmltcG9ydCB7IGdldFNoZWxsQ29uZmlnUXVlcnlTdHJpbmcsIFNIRUxMX0NPTkZJR19GRUFUVVJFUyB9IGZyb20gJy4uL3NoZWxsLWNvbmZpZy9zaGVsbC1jb25maWcuY29uc3QnO1xuaW1wb3J0IHsgU2hlbGxTZXJ2aWNlIH0gZnJvbSAnLi9zaGVsbC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGVsbEJvb3RzdHJhcE9wdGlvbnMge1xuICAvKipcbiAgICogRW5hYmxlcyBjYXBhYmlsaXRpZXMgb2YgY29uZGl0aW9uYWxseSBsb2FkIGZlYXR1cmVzIGxpa2UgYXBwcyBhbmQgXG4gICAqIGV4dGVuc2lvbnMgYmFzZWQgb24gYSBjb25maWd1cmF0aW9uIGZpbGUgbWFwcGluZyBmZWF0dXJlcyB0byB1c2VyXG4gICAqIGF1dGhvcml0aWVzLlxuICAgKi9cbiAgZW5hYmxlRmVhdHVyZUNvbmZpZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGVzIGNhcGFiaWxpdGllcyBvZiBhZGRpbmcgY3VzdG9tIG9iamVjdCB0eXBlcyBieSBjb25maWd1cmF0aW9uLlxuICAgKiBBbnkgc2NoZW1hIHR5cGUgb3IgU09UIGNhbiB0aGVuIGJlIGNvbmZpZ3VyZWQgdG8gc2VydmUgYXMgYSBjdXN0b20gXG4gICAqIG9iamVjdCB0eXBlIChmbGF2b3IpLlxuICAgKi9cbiAgZW5hYmxlT2JqZWN0VHlwZUNvbmZpZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQm9vc3RyYXBzIGEgeXV1dmlzIE1vbWVudHVtIHNoZWxsIGNsaWVudC5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgYm9vdHN0cmFwU2hlbGxBcHBsaWNhdGlvbiB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUnO1xuICpcbiAqIGJvb3RzdHJhcFNoZWxsQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCBhcHBDb25maWcpLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcm9vdENvbXBvbmVudCBSb290IGNvbXBvbmVudCBvZiB0aGUgYXBwbGljYXRpb25cbiAqIEBwYXJhbSBvcHRpb25zIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib290c3RyYXBTaGVsbEFwcGxpY2F0aW9uKFxuICByb290Q29tcG9uZW50OiBUeXBlPHVua25vd24+LFxuICBvcHRpb25zPzogQXBwbGljYXRpb25Db25maWcsXG4gIHNoZWxsT3B0aW9ucz86IFNoZWxsQm9vdHN0cmFwT3B0aW9uc1xuKTogUHJvbWlzZTxBcHBsaWNhdGlvblJlZj4ge1xuICBjb25zdCBvOiBBcHBsaWNhdGlvbkNvbmZpZyA9IG9wdGlvbnMgfHwge1xuICAgIHByb3ZpZGVyczogW11cbiAgfTtcblxuICBjb25zdCB1c2VyID0gYXdhaXQgZmV0Y2goJy9hcGktd2ViL2FwaS9pZG0vd2hvYW1pJywge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9XG4gIH0pO1xuICBjb25zdCB1c2VyUmVzID0gYXdhaXQgdXNlci5qc29uKCk7XG4gIG8ucHJvdmlkZXJzID0gWy4uLm8ucHJvdmlkZXJzLCBwcm92aWRlVXNlcih1c2VyUmVzKV07XG4gIFxuICBpZihzaGVsbE9wdGlvbnM/LmVuYWJsZU9iamVjdFR5cGVDb25maWcpIHtcbiAgICBvLnByb3ZpZGVycyA9IFsuLi5vLnByb3ZpZGVycywgcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgICAgIGluamVjdChTaGVsbFNlcnZpY2UpLl9pbml0T2JqZWN0VHlwZUNvbmZpZygpO1xuICAgIH0pXTtcbiAgfVxuXG4gIGlmICh1c2VyUmVzICYmIHNoZWxsT3B0aW9ucz8uZW5hYmxlRmVhdHVyZUNvbmZpZykge1xuICAgIC8vIGZpbmQgdGhlIGNvbmZpZyBmaWxlXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnL2FwaS9kbXMvb2JqZWN0cy9zZWFyY2gnLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICBzdGF0ZW1lbnQ6IGdldFNoZWxsQ29uZmlnUXVlcnlTdHJpbmcoU0hFTExfQ09ORklHX0ZFQVRVUkVTKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgIGNvbnN0IG9iamVjdHMgPSByZXMub2JqZWN0cztcbiAgICBpZiAob2JqZWN0cz8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgaWQgPSBvYmplY3RzWzBdPy5wcm9wZXJ0aWVzW0Jhc2VPYmplY3RUeXBlRmllbGQuT0JKRUNUX0lEXS52YWx1ZTtcblxuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGZldGNoKGAvYXBpL2Rtcy9vYmplY3RzLyR7aWR9L2NvbnRlbnRzL2ZpbGVgLCB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmlsZS5qc29uKCk7XG4gICAgICBjb25zdCBzaGVsbEZlYXR1cmVDb25maWc6IENsaWVudFNoZWxsRmVhdHVyZUNvbmZpZyA9IHtcbiAgICAgICAgb2JqZWN0SUQ6IGlkLFxuICAgICAgICBmZWF0dXJlczogcmVzIHx8IFtdXG4gICAgICB9O1xuICAgICAgby5wcm92aWRlcnMgPSBbLi4uby5wcm92aWRlcnMsIHByb3ZpZGVDbGllbnRTaGVsbEZlYXR1cmVzKHNoZWxsRmVhdHVyZUNvbmZpZyldO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYm9vdHN0cmFwQXBwbGljYXRpb24ocm9vdENvbXBvbmVudCwgbyk7XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9zaGVsbC9zaGVsbC5ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyxNQUFNLEVBQUUscUJBQXFCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWlCL0M7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsYUFBNEIsRUFDNUIsT0FBMkIsRUFDM0IsWUFBb0M7SUFFcEMsTUFBTSxDQUFDLEdBQXNCLE9BQU8sSUFBSTtRQUN0QyxTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUM7SUFFRixNQUFNLFlBQVksR0FBYSxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsRUFBRTtRQUNwRSxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQixJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxTQUFTLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRXJELElBQUksWUFBWSxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLFNBQVMsR0FBRztZQUNaLEdBQUcsQ0FBQyxDQUFDLFNBQVM7WUFDZCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9DLENBQUMsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxPQUFPLElBQUksWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUM7UUFDakQsdUJBQXVCO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLHlCQUF5QixFQUFFO1lBQ3RELE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsS0FBSyxFQUFFO29CQUNMLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDNUQ7YUFDRixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbEMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFFdkUsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQy9ELE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsa0JBQWtCO2lCQUNuQzthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLE1BQU0sa0JBQWtCLEdBQTZCO2dCQUNuRCxRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUU7YUFDcEIsQ0FBQztZQUNGLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZmlnLCBBcHBsaWNhdGlvblJlZiwgaW5qZWN0LCBwcm92aWRlQXBwSW5pdGlhbGl6ZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGJvb3RzdHJhcEFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCYXNlT2JqZWN0VHlwZUZpZWxkLCBwcm92aWRlVXNlciB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQ2xpZW50U2hlbGxGZWF0dXJlQ29uZmlnIH0gZnJvbSAnLi4vZmVhdHVyZS9mZWF0dXJlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBwcm92aWRlQ2xpZW50U2hlbGxGZWF0dXJlcyB9IGZyb20gJy4uL2ZlYXR1cmUvZmVhdHVyZS5wcm92aWRlcnMnO1xuaW1wb3J0IHsgZ2V0U2hlbGxDb25maWdRdWVyeVN0cmluZywgU0hFTExfQ09ORklHX0ZFQVRVUkVTIH0gZnJvbSAnLi4vc2hlbGwtY29uZmlnL3NoZWxsLWNvbmZpZy5jb25zdCc7XG5pbXBvcnQgeyBTaGVsbFNlcnZpY2UgfSBmcm9tICcuL3NoZWxsLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoZWxsQm9vdHN0cmFwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbmFibGVzIGNhcGFiaWxpdGllcyBvZiBjb25kaXRpb25hbGx5IGxvYWQgZmVhdHVyZXMgbGlrZSBhcHBzIGFuZFxuICAgKiBleHRlbnNpb25zIGJhc2VkIG9uIGEgY29uZmlndXJhdGlvbiBmaWxlIG1hcHBpbmcgZmVhdHVyZXMgdG8gdXNlclxuICAgKiBhdXRob3JpdGllcy5cbiAgICovXG4gIGVuYWJsZUZlYXR1cmVDb25maWc/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlcyBjYXBhYmlsaXRpZXMgb2YgYWRkaW5nIGN1c3RvbSBvYmplY3QgdHlwZXMgYnkgY29uZmlndXJhdGlvbi5cbiAgICogQW55IHNjaGVtYSB0eXBlIG9yIFNPVCBjYW4gdGhlbiBiZSBjb25maWd1cmVkIHRvIHNlcnZlIGFzIGEgY3VzdG9tXG4gICAqIG9iamVjdCB0eXBlIChmbGF2b3IpLlxuICAgKi9cbiAgZW5hYmxlT2JqZWN0VHlwZUNvbmZpZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQm9vc3RyYXBzIGEgeXV1dmlzIE1vbWVudHVtIHNoZWxsIGNsaWVudC5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgYm9vdHN0cmFwU2hlbGxBcHBsaWNhdGlvbiB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUnO1xuICpcbiAqIGJvb3RzdHJhcFNoZWxsQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCBhcHBDb25maWcpLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcm9vdENvbXBvbmVudCBSb290IGNvbXBvbmVudCBvZiB0aGUgYXBwbGljYXRpb25cbiAqIEBwYXJhbSBvcHRpb25zIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib290c3RyYXBTaGVsbEFwcGxpY2F0aW9uKFxuICByb290Q29tcG9uZW50OiBUeXBlPHVua25vd24+LFxuICBvcHRpb25zPzogQXBwbGljYXRpb25Db25maWcsXG4gIHNoZWxsT3B0aW9ucz86IFNoZWxsQm9vdHN0cmFwT3B0aW9uc1xuKTogUHJvbWlzZTxBcHBsaWNhdGlvblJlZj4ge1xuICBjb25zdCBvOiBBcHBsaWNhdGlvbkNvbmZpZyA9IG9wdGlvbnMgfHwge1xuICAgIHByb3ZpZGVyczogW11cbiAgfTtcblxuICBjb25zdCB1c2VyUmVzcG9uc2U6IFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goJy9hcGktd2ViL2FwaS9pZG0vd2hvYW1pJywge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICB9XG4gIH0pO1xuXG4gIGlmICghdXNlclJlc3BvbnNlLm9rKSB7XG4gICAgaWYgKHVzZXJSZXNwb25zZS5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHtsb2NhdGlvbi5vcmlnaW59L2xvZ291dGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIHVzZXIgaW5mb3JtYXRpb24nKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCB1c2VyUmVzID0gYXdhaXQgdXNlclJlc3BvbnNlLmpzb24oKTtcbiAgby5wcm92aWRlcnMgPSBbLi4uby5wcm92aWRlcnMsIHByb3ZpZGVVc2VyKHVzZXJSZXMpXTtcblxuICBpZiAoc2hlbGxPcHRpb25zPy5lbmFibGVPYmplY3RUeXBlQ29uZmlnKSB7XG4gICAgby5wcm92aWRlcnMgPSBbXG4gICAgICAuLi5vLnByb3ZpZGVycyxcbiAgICAgIHByb3ZpZGVBcHBJbml0aWFsaXplcigoKSA9PiB7XG4gICAgICAgIGluamVjdChTaGVsbFNlcnZpY2UpLl9pbml0T2JqZWN0VHlwZUNvbmZpZygpO1xuICAgICAgfSlcbiAgICBdO1xuICB9XG5cbiAgaWYgKHVzZXJSZXMgJiYgc2hlbGxPcHRpb25zPy5lbmFibGVGZWF0dXJlQ29uZmlnKSB7XG4gICAgLy8gZmluZCB0aGUgY29uZmlnIGZpbGVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCcvYXBpL2Rtcy9vYmplY3RzL3NlYXJjaCcsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBxdWVyeToge1xuICAgICAgICAgIHN0YXRlbWVudDogZ2V0U2hlbGxDb25maWdRdWVyeVN0cmluZyhTSEVMTF9DT05GSUdfRkVBVFVSRVMpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuXG4gICAgY29uc3Qgb2JqZWN0cyA9IHJlcy5vYmplY3RzO1xuICAgIGlmIChvYmplY3RzPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpZCA9IG9iamVjdHNbMF0/LnByb3BlcnRpZXNbQmFzZU9iamVjdFR5cGVGaWVsZC5PQkpFQ1RfSURdLnZhbHVlO1xuXG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZmV0Y2goYC9hcGkvZG1zL29iamVjdHMvJHtpZH0vY29udGVudHMvZmlsZWAsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBmaWxlLmpzb24oKTtcbiAgICAgIGNvbnN0IHNoZWxsRmVhdHVyZUNvbmZpZzogQ2xpZW50U2hlbGxGZWF0dXJlQ29uZmlnID0ge1xuICAgICAgICBvYmplY3RJRDogaWQsXG4gICAgICAgIGZlYXR1cmVzOiByZXMgfHwgW11cbiAgICAgIH07XG4gICAgICBvLnByb3ZpZGVycyA9IFsuLi5vLnByb3ZpZGVycywgcHJvdmlkZUNsaWVudFNoZWxsRmVhdHVyZXMoc2hlbGxGZWF0dXJlQ29uZmlnKV07XG4gICAgfVxuICB9XG4gIHJldHVybiBib290c3RyYXBBcHBsaWNhdGlvbihyb290Q29tcG9uZW50LCBvKTtcbn1cbiJdfQ==
@@ -351,10 +351,10 @@ export class ShellService {
351
351
  });
352
352
  }
353
353
  _init() { }
354
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
355
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellService, providedIn: 'root' }); }
354
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
355
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellService, providedIn: 'root' }); }
356
356
  }
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellService, decorators: [{
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellService, decorators: [{
358
358
  type: Injectable,
359
359
  args: [{
360
360
  providedIn: 'root'
@@ -88,10 +88,10 @@ export class ShellConfigService {
88
88
  #dataToFile(data) {
89
89
  return new File([JSON.stringify(data)], 'config.json', { type: 'application/json' });
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellConfigService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellConfigService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellConfigService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellConfigService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root'
@@ -77,10 +77,10 @@ export class ShellNotificationsService {
77
77
  this._notificationsSource.next(this._notifications);
78
78
  this.appCache.setItem(this.LOCAL_STORAGE_KEY, this._notifications).subscribe();
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellNotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
81
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellNotificationsService, providedIn: 'root' }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellNotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellNotificationsService, providedIn: 'root' }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellNotificationsService, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: ShellNotificationsService, decorators: [{
84
84
  type: Injectable,
85
85
  args: [{
86
86
  providedIn: 'root'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuuvis/client-shell-core",
3
- "version": "2.0.0-beta.9",
3
+ "version": "2.0.1",
4
4
  "author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -11,7 +11,7 @@
11
11
  "@angular/platform-browser": "^19.2.1"
12
12
  },
13
13
  "dependencies": {
14
- "@yuuvis/client-core": "2.0.0-beta.9",
14
+ "@yuuvis/client-core": "2.0.1",
15
15
  "tslib": "^2.3.0"
16
16
  },
17
17
  "sideEffects": false,