@alfresco/aca-content 5.2.0 → 5.3.0-11955434723
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/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +13 -17
- package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +9 -12
- package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +8 -12
- package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +8 -12
- package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +5 -7
- package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +7 -10
- package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +8 -11
- package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +6 -11
- package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +7 -12
- package/esm2022/lib/components/context-menu/context-menu.component.mjs +2 -2
- package/esm2022/lib/components/details/details.component.mjs +4 -3
- package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +5 -10
- package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +8 -12
- package/esm2022/lib/components/files/files.component.mjs +9 -8
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +12 -15
- package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +12 -16
- package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +7 -10
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +6 -11
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +5 -8
- package/esm2022/lib/components/search/search-input/search-input.component.mjs +6 -9
- package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +2 -8
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +3 -3
- package/esm2022/lib/components/search/search-results/search-results.component.mjs +2 -3
- package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +7 -11
- package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +5 -10
- package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +8 -11
- package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +5 -10
- package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +6 -6
- package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +7 -11
- package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +7 -11
- package/esm2022/lib/components/sidenav/sidenav.component.mjs +9 -13
- package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +6 -10
- package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +4 -9
- package/esm2022/lib/components/view-profile/view-profile.component.mjs +4 -9
- package/esm2022/lib/directives/document-list.directive.mjs +8 -12
- package/esm2022/viewer/lib/components/preview/preview.component.mjs +9 -11
- package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +15 -16
- package/fesm2022/alfresco-aca-content-folder-rules.mjs +27 -49
- package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -1
- package/fesm2022/alfresco-aca-content-viewer.mjs +16 -20
- package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -1
- package/fesm2022/alfresco-aca-content.mjs +73 -168
- package/fesm2022/alfresco-aca-content.mjs.map +1 -1
- package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +3 -5
- package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +4 -5
- package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +3 -4
- package/folder-rules/rule-details/rule-details.ui-component.d.ts +4 -5
- package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +3 -4
- package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +3 -5
- package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +3 -4
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +4 -5
- package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +3 -4
- package/lib/components/context-menu/context-menu.component.d.ts +1 -1
- package/lib/components/details/details.component.d.ts +1 -2
- package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +3 -4
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +3 -4
- package/lib/components/files/files.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +4 -6
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +6 -7
- package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +3 -4
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +3 -4
- package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
- package/lib/components/search/search-input/search-input.component.d.ts +1 -2
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +2 -5
- package/lib/components/search/search-results/search-results.component.d.ts +0 -1
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +3 -4
- package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +3 -5
- package/lib/components/shared-link-view/shared-link-view.component.d.ts +4 -5
- package/lib/components/sidenav/components/sidenav-header.component.d.ts +3 -4
- package/lib/components/sidenav/directives/active-link.directive.d.ts +1 -1
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +3 -4
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +3 -4
- package/lib/components/sidenav/sidenav.component.d.ts +3 -4
- package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +3 -4
- package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +1 -27
- package/lib/components/view-profile/view-profile.component.d.ts +2 -4
- package/lib/directives/document-list.directive.d.ts +3 -5
- package/package.json +5 -5
- package/viewer/lib/components/preview/preview.component.d.ts +3 -4
- package/viewer/lib/components/viewer/viewer.component.d.ts +2 -2
|
@@ -21,17 +21,17 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { Component, DestroyRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
25
25
|
import { DynamicExtensionComponent } from '@alfresco/adf-extensions';
|
|
26
26
|
import { Store } from '@ngrx/store';
|
|
27
27
|
import { getSideNavState } from '@alfresco/aca-shared/store';
|
|
28
|
-
import {
|
|
29
|
-
import { takeUntil, distinctUntilChanged, debounceTime } from 'rxjs/operators';
|
|
28
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
30
29
|
import { AppExtensionService, AppService, NavigationHistoryService } from '@alfresco/aca-shared';
|
|
31
30
|
import { CommonModule } from '@angular/common';
|
|
32
31
|
import { SidenavHeaderComponent } from './components/sidenav-header.component';
|
|
33
32
|
import { MatListModule } from '@angular/material/list';
|
|
34
33
|
import { ExpandMenuComponent } from './components/expand-menu.component';
|
|
34
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
35
35
|
import * as i0 from "@angular/core";
|
|
36
36
|
import * as i1 from "@ngrx/store";
|
|
37
37
|
import * as i2 from "@alfresco/aca-shared";
|
|
@@ -44,7 +44,7 @@ class SidenavComponent {
|
|
|
44
44
|
navigationHistoryService;
|
|
45
45
|
data = {};
|
|
46
46
|
groups = [];
|
|
47
|
-
|
|
47
|
+
destroyRef = inject(DestroyRef);
|
|
48
48
|
constructor(store, extensions, appService, navigationHistoryService) {
|
|
49
49
|
this.store = store;
|
|
50
50
|
this.extensions = extensions;
|
|
@@ -54,16 +54,16 @@ class SidenavComponent {
|
|
|
54
54
|
ngOnInit() {
|
|
55
55
|
this.store
|
|
56
56
|
.select(getSideNavState)
|
|
57
|
-
.pipe(debounceTime(300), distinctUntilChanged(),
|
|
57
|
+
.pipe(debounceTime(300), distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
|
|
58
58
|
.subscribe(() => {
|
|
59
59
|
this.groups = this.extensions.getApplicationNavigation(this.extensions.navbar);
|
|
60
60
|
});
|
|
61
61
|
this.appService.setAppNavbarMode(this.data.mode);
|
|
62
|
-
this.appService.toggleAppNavBar$.pipe(
|
|
63
|
-
this.data.layout.expanded.pipe(
|
|
62
|
+
this.appService.toggleAppNavBar$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.toggleNavBar());
|
|
63
|
+
this.data.layout.expanded.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.setNavBarMode());
|
|
64
64
|
this.navigationHistoryService
|
|
65
65
|
.listenToRouteChanges()
|
|
66
|
-
.pipe(
|
|
66
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
67
67
|
.subscribe((event) => {
|
|
68
68
|
this.navigationHistoryService.setHistory(event, 3);
|
|
69
69
|
});
|
|
@@ -84,10 +84,6 @@ class SidenavComponent {
|
|
|
84
84
|
this.data.layout.toggleMenu();
|
|
85
85
|
this.setNavBarMode();
|
|
86
86
|
}
|
|
87
|
-
ngOnDestroy() {
|
|
88
|
-
this.onDestroy$.next(true);
|
|
89
|
-
this.onDestroy$.complete();
|
|
90
|
-
}
|
|
91
87
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SidenavComponent, deps: [{ token: i1.Store }, { token: i2.AppExtensionService }, { token: i2.AppService }, { token: i2.NavigationHistoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
88
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: SidenavComponent, isStandalone: true, selector: "app-sidenav", inputs: { data: "data" }, host: { classAttribute: "app-sidenav" }, ngImport: i0, template: "<div class=\"aca-sidenav\">\n <app-sidenav-header (toggleNavBar)=\"toggleClick()\" />\n\n <div class=\"aca-sidenav__section\">\n <div *ngFor=\"let group of groups; trackBy: trackByGroupId\" class=\"aca-sidenav__section__actions\">\n <mat-list-item class=\"aca-sidenav__section__actions__item\" *ngFor=\"let item of group.items; trackBy: trackByLinkId\">\n <ng-container *ngIf=\"!item.component\">\n <app-expand-menu [item]=\"item\" />\n </ng-container>\n <ng-container *ngIf=\"item.component\">\n <adf-dynamic-component [data]=\"{ item: item, state: 'expanded' }\" [id]=\"item.component\" />\n </ng-container>\n </mat-list-item>\n </div>\n </div>\n</div>\n", styles: [".aca-sidenav{display:flex;flex:1;flex-direction:column;height:100%;overflow-y:hidden;background:var(--theme-sidenav-background-color)}.aca-sidenav-header{padding:32px 0}.aca-sidenav-header-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}.aca-sidenav-header-title-logo img{cursor:pointer;height:28px;vertical-align:middle;transform:scale(.7)}.aca-sidenav-header-title-text{flex:1;color:var(--theme-sidenav-text-color);padding-left:12px;letter-spacing:.25px;font-style:normal;font-weight:400;font-size:var(--theme-body-1-font-size);cursor:pointer}.aca-sidenav__section{overflow-y:auto}.aca-sidenav__section .aca-expansion-panel{width:100%;background-color:unset;box-shadow:none;border-radius:0}.aca-sidenav__section .aca-expansion-panel-header{padding:0 32px 0 0;display:flex;align-items:center;border:none}.aca-sidenav__section .aca-expansion-panel-header span:after{transform:rotate(226deg)}.aca-sidenav__section .aca-expansion-panel-header-title{display:flex;flex-direction:row}.aca-sidenav__section .aca-expansion-panel-header-title .aca-action-button__label{font-size:var(--theme-caption-font-size)}.aca-sidenav__section .aca-expansion-panel .aca-expansion-panel-header:hover{background:var(--adf-theme-background-hover-color)}.aca-sidenav__section .aca-expansion-panel-item{flex-direction:row;display:flex;align-items:center;text-decoration:none;width:100%;-webkit-user-select:none;user-select:none}.aca-sidenav__section .aca-expansion-panel-item .aca-action-button__label{color:var(--theme-action-button-text-color)}.aca-sidenav__section .aca-expansion-panel-item:hover .aca-action-button__label{color:var(--theme-sidenav-active-text-color)}.aca-sidenav__section .aca-expansion-panel-body{margin:0 -24px 16px;font-size:var(--theme-body-1-font-size)}.aca-sidenav__section .aca-expansion-panel-body button{line-height:32px;align-items:center}.aca-sidenav__section .aca-action-button{cursor:pointer;color:var(--theme-action-button-text-color);height:32px;padding:0 24px;border-radius:0;line-height:32px;justify-content:start}.aca-sidenav__section .aca-action-button--active{color:var(--theme-sidenav-active-text-color);background:var(--theme-selected-background-color)}.aca-sidenav__section .aca-full-width{display:flex;width:100%}.aca-sidenav__section__actions__item:has(span){padding:0}.aca-sidenav__section__actions__item:has(span) span{pointer-events:auto}.aca-sidenav__section__actions:last-child{border-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SidenavHeaderComponent, selector: "app-sidenav-header", outputs: ["toggleNavBar"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: ExpandMenuComponent, selector: "app-expand-menu", inputs: ["item"], outputs: ["actionClicked"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
93
89
|
}
|
|
@@ -98,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
98
94
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AppExtensionService }, { type: i2.AppService }, { type: i2.NavigationHistoryService }]; }, propDecorators: { data: [{
|
|
99
95
|
type: Input
|
|
100
96
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQWlDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFHekUsTUFTYSxnQkFBZ0I7SUFXakI7SUFDQTtJQUNBO0lBQ0E7SUFa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c0IseUZBQUUsYUFBYSxrTUFBRSxtQkFBbUIsMEdBQUUseUJBQXlCOztTQU9sRyxnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFUNUIsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixDQUFDLFlBQ3BHLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OExBSTlCLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNFeHRlbnNpb25Db21wb25lbnQsIE5hdkJhckdyb3VwUmVmLCBOYXZCYXJMaW5rUmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIGdldFNpZGVOYXZTdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UsIEFwcFNlcnZpY2UsIE5hdmlnYXRpb25IaXN0b3J5U2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IFNpZGVuYXZMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNpZGVuYXZIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZW5hdi1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IEV4cGFuZE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXhwYW5kLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2lkZW5hdkhlYWRlckNvbXBvbmVudCwgTWF0TGlzdE1vZHVsZSwgRXhwYW5kTWVudUNvbXBvbmVudCwgRHluYW1pY0V4dGVuc2lvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnYXBwLXNpZGVuYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC1zaWRlbmF2JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNpZGVuYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGRhdGE6IHtcbiAgICBsYXlvdXQ/OiBTaWRlbmF2TGF5b3V0Q29tcG9uZW50O1xuICAgIG1vZGU/OiAnY29sbGFwc2VkJyB8ICdleHBhbmRlZCc7XG4gIH0gPSB7fTtcblxuICBncm91cHM6IEFycmF5PE5hdkJhckdyb3VwUmVmPiA9IFtdO1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPixcbiAgICBwcml2YXRlIGV4dGVuc2lvbnM6IEFwcEV4dGVuc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTZXJ2aWNlOiBBcHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmF2aWdhdGlvbkhpc3RvcnlTZXJ2aWNlOiBOYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoZ2V0U2lkZU5hdlN0YXRlKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JvdXBzID0gdGhpcy5leHRlbnNpb25zLmdldEFwcGxpY2F0aW9uTmF2aWdhdGlvbih0aGlzLmV4dGVuc2lvbnMubmF2YmFyKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hcHBTZXJ2aWNlLnNldEFwcE5hdmJhck1vZGUodGhpcy5kYXRhLm1vZGUpO1xuICAgIHRoaXMuYXBwU2VydmljZS50b2dnbGVBcHBOYXZCYXIkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZU5hdkJhcigpKTtcbiAgICB0aGlzLmRhdGEubGF5b3V0LmV4cGFuZGVkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldE5hdkJhck1vZGUoKSk7XG4gICAgdGhpcy5uYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2VcbiAgICAgIC5saXN0ZW5Ub1JvdXRlQ2hhbmdlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkhpc3RvcnlTZXJ2aWNlLnNldEhpc3RvcnkoZXZlbnQsIDMpO1xuICAgICAgfSk7XG4gIH1cblxuICB0cmFja0J5R3JvdXBJZChfOiBudW1iZXIsIG9iajogTmF2QmFyR3JvdXBSZWYpOiBzdHJpbmcge1xuICAgIHJldHVybiBvYmouaWQ7XG4gIH1cblxuICB0cmFja0J5TGlua0lkKF86IG51bWJlciwgb2JqOiBOYXZCYXJMaW5rUmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2JqLmlkO1xuICB9XG5cbiAgdG9nZ2xlQ2xpY2soKSB7XG4gICAgdGhpcy50b2dnbGVOYXZCYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TmF2QmFyTW9kZSgpIHtcbiAgICB0aGlzLmFwcFNlcnZpY2Uuc2V0QXBwTmF2YmFyTW9kZSh0aGlzLmRhdGEubGF5b3V0LmlzTWVudU1pbmltaXplZCB8fCB0aGlzLmRhdGEubGF5b3V0LmlzSGVhZGVySW5zaWRlID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlTmF2QmFyKCkge1xuICAgIHRoaXMuZGF0YS5sYXlvdXQudG9nZ2xlTWVudSgpO1xuICAgIHRoaXMuc2V0TmF2QmFyTW9kZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2Etc2lkZW5hdlwiPlxuICAgIDxhcHAtc2lkZW5hdi1oZWFkZXIgKHRvZ2dsZU5hdkJhcik9XCJ0b2dnbGVDbGljaygpXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJhY2Etc2lkZW5hdl9fc2VjdGlvblwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBzOyB0cmFja0J5OiB0cmFja0J5R3JvdXBJZFwiIGNsYXNzPVwiYWNhLXNpZGVuYXZfX3NlY3Rpb25fX2FjdGlvbnNcIj5cbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSBjbGFzcz1cImFjYS1zaWRlbmF2X19zZWN0aW9uX19hY3Rpb25zX19pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlMaW5rSWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5jb21wb25lbnRcIj5cbiAgICAgICAgICAgICAgPGFwcC1leHBhbmQtbWVudSBbaXRlbV09XCJpdGVtXCIgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uY29tcG9uZW50XCI+XG4gICAgICAgICAgICAgIDxhZGYtZHluYW1pYy1jb21wb25lbnQgW2RhdGFdPVwieyBpdGVtOiBpdGVtLCBzdGF0ZTogJ2V4cGFuZGVkJyB9XCIgW2lkXT1cIml0ZW0uY29tcG9uZW50XCIgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx5QkFBeUIsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQUVoRSxNQVNhLGdCQUFnQjtJQVlqQjtJQUNB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LElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLENBQUMsWUFDcEcsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs4TEFJOUIsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0V4dGVuc2lvbkNvbXBvbmVudCwgTmF2QmFyR3JvdXBSZWYsIE5hdkJhckxpbmtSZWYgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgZ2V0U2lkZU5hdlN0YXRlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UsIEFwcFNlcnZpY2UsIE5hdmlnYXRpb25IaXN0b3J5U2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IFNpZGVuYXZMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNpZGVuYXZIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZW5hdi1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IEV4cGFuZE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXhwYW5kLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2lkZW5hdkhlYWRlckNvbXBvbmVudCwgTWF0TGlzdE1vZHVsZSwgRXhwYW5kTWVudUNvbXBvbmVudCwgRHluYW1pY0V4dGVuc2lvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnYXBwLXNpZGVuYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGVuYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC1zaWRlbmF2JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNpZGVuYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBkYXRhOiB7XG4gICAgbGF5b3V0PzogU2lkZW5hdkxheW91dENvbXBvbmVudDtcbiAgICBtb2RlPzogJ2NvbGxhcHNlZCcgfCAnZXhwYW5kZWQnO1xuICB9ID0ge307XG5cbiAgZ3JvdXBzOiBBcnJheTxOYXZCYXJHcm91cFJlZj4gPSBbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LFxuICAgIHByaXZhdGUgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2U6IE5hdmlnYXRpb25IaXN0b3J5U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRTaWRlTmF2U3RhdGUpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5ncm91cHMgPSB0aGlzLmV4dGVuc2lvbnMuZ2V0QXBwbGljYXRpb25OYXZpZ2F0aW9uKHRoaXMuZXh0ZW5zaW9ucy5uYXZiYXIpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFwcFNlcnZpY2Uuc2V0QXBwTmF2YmFyTW9kZSh0aGlzLmRhdGEubW9kZSk7XG4gICAgdGhpcy5hcHBTZXJ2aWNlLnRvZ2dsZUFwcE5hdkJhciQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlTmF2QmFyKCkpO1xuICAgIHRoaXMuZGF0YS5sYXlvdXQuZXhwYW5kZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0TmF2QmFyTW9kZSgpKTtcbiAgICB0aGlzLm5hdmlnYXRpb25IaXN0b3J5U2VydmljZVxuICAgICAgLmxpc3RlblRvUm91dGVDaGFuZ2VzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2Uuc2V0SGlzdG9yeShldmVudCwgMyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHRyYWNrQnlHcm91cElkKF86IG51bWJlciwgb2JqOiBOYXZCYXJHcm91cFJlZik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG9iai5pZDtcbiAgfVxuXG4gIHRyYWNrQnlMaW5rSWQoXzogbnVtYmVyLCBvYmo6IE5hdkJhckxpbmtSZWYpOiBzdHJpbmcge1xuICAgIHJldHVybiBvYmouaWQ7XG4gIH1cblxuICB0b2dnbGVDbGljaygpIHtcbiAgICB0aGlzLnRvZ2dsZU5hdkJhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXROYXZCYXJNb2RlKCkge1xuICAgIHRoaXMuYXBwU2VydmljZS5zZXRBcHBOYXZiYXJNb2RlKHRoaXMuZGF0YS5sYXlvdXQuaXNNZW51TWluaW1pemVkIHx8IHRoaXMuZGF0YS5sYXlvdXQuaXNIZWFkZXJJbnNpZGUgPyAnY29sbGFwc2VkJyA6ICdleHBhbmRlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVOYXZCYXIoKSB7XG4gICAgdGhpcy5kYXRhLmxheW91dC50b2dnbGVNZW51KCk7XG4gICAgdGhpcy5zZXROYXZCYXJNb2RlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2Etc2lkZW5hdlwiPlxuICAgIDxhcHAtc2lkZW5hdi1oZWFkZXIgKHRvZ2dsZU5hdkJhcik9XCJ0b2dnbGVDbGljaygpXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJhY2Etc2lkZW5hdl9fc2VjdGlvblwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgZ3JvdXBzOyB0cmFja0J5OiB0cmFja0J5R3JvdXBJZFwiIGNsYXNzPVwiYWNhLXNpZGVuYXZfX3NlY3Rpb25fX2FjdGlvbnNcIj5cbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSBjbGFzcz1cImFjYS1zaWRlbmF2X19zZWN0aW9uX19hY3Rpb25zX19pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAuaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlMaW5rSWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5jb21wb25lbnRcIj5cbiAgICAgICAgICAgICAgPGFwcC1leHBhbmQtbWVudSBbaXRlbV09XCJpdGVtXCIgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uY29tcG9uZW50XCI+XG4gICAgICAgICAgICAgIDxhZGYtZHluYW1pYy1jb21wb25lbnQgW2RhdGFdPVwieyBpdGVtOiBpdGVtLCBzdGF0ZTogJ2V4cGFuZGVkJyB9XCIgW2lkXT1cIml0ZW0uY29tcG9uZW50XCIgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs
CHANGED
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { Component, DestroyRef, inject, ViewEncapsulation } from '@angular/core';
|
|
25
25
|
import { Store } from '@ngrx/store';
|
|
26
26
|
import { AppHookService } from '@alfresco/aca-shared';
|
|
27
27
|
import { getAppSelection } from '@alfresco/aca-shared/store';
|
|
28
|
-
import { distinctUntilChanged
|
|
28
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
29
29
|
import { Router } from '@angular/router';
|
|
30
|
-
import { Subject } from 'rxjs';
|
|
31
30
|
import { CommonModule } from '@angular/common';
|
|
32
31
|
import { TranslateModule } from '@ngx-translate/core';
|
|
33
32
|
import { LibraryFavoriteDirective } from '@alfresco/adf-content-services';
|
|
34
33
|
import { MatIconModule } from '@angular/material/icon';
|
|
35
34
|
import { MatMenuModule } from '@angular/material/menu';
|
|
35
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
36
36
|
import * as i0 from "@angular/core";
|
|
37
37
|
import * as i1 from "@ngrx/store";
|
|
38
38
|
import * as i2 from "@alfresco/aca-shared";
|
|
@@ -46,7 +46,7 @@ class ToggleFavoriteLibraryComponent {
|
|
|
46
46
|
appHookService;
|
|
47
47
|
router;
|
|
48
48
|
library;
|
|
49
|
-
|
|
49
|
+
destroyRef = inject(DestroyRef);
|
|
50
50
|
constructor(store, appHookService, router) {
|
|
51
51
|
this.store = store;
|
|
52
52
|
this.appHookService = appHookService;
|
|
@@ -56,7 +56,7 @@ class ToggleFavoriteLibraryComponent {
|
|
|
56
56
|
const isFavoriteLibraries = this.router.url.startsWith('/favorite/libraries');
|
|
57
57
|
this.store
|
|
58
58
|
.select(getAppSelection)
|
|
59
|
-
.pipe(distinctUntilChanged(),
|
|
59
|
+
.pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
|
|
60
60
|
.subscribe((selection) => {
|
|
61
61
|
this.library = { ...selection.library };
|
|
62
62
|
// favorite libraries list should already be marked as favorite
|
|
@@ -65,10 +65,6 @@ class ToggleFavoriteLibraryComponent {
|
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
ngOnDestroy() {
|
|
69
|
-
this.onDestroy$.next();
|
|
70
|
-
this.onDestroy$.complete();
|
|
71
|
-
}
|
|
72
68
|
onToggleEvent() {
|
|
73
69
|
this.appHookService.favoriteLibraryToggle.next();
|
|
74
70
|
}
|
|
@@ -109,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
109
105
|
host: { class: 'app-toggle-favorite-library' }
|
|
110
106
|
}]
|
|
111
107
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AppHookService }, { type: i3.Router }]; } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUFFaEUsTUFtQmEsOEJBQThCO0lBS3JCO0lBQWdDO0lBQXdDO0lBSjVGLE9BQU8sQ0FBQztJQUVTLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakQsWUFBb0IsS0FBc0IsRUFBVSxjQUE4QixFQUFVLE1BQWM7UUFBdEYsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUU5RyxRQUFRO1FBQ04sTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsS0FBSzthQUNQLE1BQU0sQ0FBQyxlQUFlLENBQUM7YUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pFLFNBQVMsQ0FBQyxDQUFDLFNBQXlCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFeEMsK0RBQStEO1lBQy9ELElBQUksU0FBUyxDQUFDLE9BQU8sSUFBSSxtQkFBbUIsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQzt1R0F6QlUsOEJBQThCOzJGQUE5Qiw4QkFBOEIsZ0pBZi9COzs7Ozs7Ozs7OztHQVdULDJEQWJTLFlBQVksa0lBQUUsZUFBZSwyRkFBRSxhQUFhLG1MQUFFLGFBQWEsbUxBQUUsd0JBQXdCOztTQWlCcEYsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBbkIxQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2hHLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBIb29rU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IEFwcFN0b3JlLCBnZXRBcHBTZWxlY3Rpb24gfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBMaWJyYXJ5RmF2b3JpdGVEaXJlY3RpdmUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRNZW51TW9kdWxlLCBMaWJyYXJ5RmF2b3JpdGVEaXJlY3RpdmVdLFxuICBzZWxlY3RvcjogJ2FwcC10b2dnbGUtZmF2b3JpdGUtbGlicmFyeScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgKHRvZ2dsZSk9XCJvblRvZ2dsZUV2ZW50KClcIlxuICAgICAgW2FkZi1mYXZvcml0ZS1saWJyYXJ5XT1cImxpYnJhcnlcIlxuICAgICAgW2F0dHIudGl0bGVdPVwibGlicmFyeS5pc0Zhdm9yaXRlID8gKCdBUFAuQUNUSU9OUy5SRU1PVkVfRkFWT1JJVEUnIHwgdHJhbnNsYXRlKSA6ICgnQVBQLkFDVElPTlMuRkFWT1JJVEUnIHwgdHJhbnNsYXRlKVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwibGlicmFyeS5pc0Zhdm9yaXRlXCI+c3RhcjwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhbGlicmFyeS5pc0Zhdm9yaXRlXCI+c3Rhcl9ib3JkZXI8L21hdC1pY29uPlxuICAgICAgPHNwYW4+e3sgKGxpYnJhcnkuaXNGYXZvcml0ZSA/ICdBUFAuQUNUSU9OUy5SRU1PVkVfRkFWT1JJVEUnIDogJ0FQUC5BQ1RJT05TLkZBVk9SSVRFJykgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnknIH1cbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlRmF2b3JpdGVMaWJyYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbGlicmFyeTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LCBwcml2YXRlIGFwcEhvb2tTZXJ2aWNlOiBBcHBIb29rU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBpc0Zhdm9yaXRlTGlicmFyaWVzID0gdGhpcy5yb3V0ZXIudXJsLnN0YXJ0c1dpdGgoJy9mYXZvcml0ZS9saWJyYXJpZXMnKTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoZ2V0QXBwU2VsZWN0aW9uKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3Rpb246IFNlbGVjdGlvblN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMubGlicmFyeSA9IHsgLi4uc2VsZWN0aW9uLmxpYnJhcnkgfTtcblxuICAgICAgICAvLyBmYXZvcml0ZSBsaWJyYXJpZXMgbGlzdCBzaG91bGQgYWxyZWFkeSBiZSBtYXJrZWQgYXMgZmF2b3JpdGVcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5saWJyYXJ5ICYmIGlzRmF2b3JpdGVMaWJyYXJpZXMpIHtcbiAgICAgICAgICB0aGlzLmxpYnJhcnkuaXNGYXZvcml0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgb25Ub2dnbGVFdmVudCgpIHtcbiAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLmZhdm9yaXRlTGlicmFyeVRvZ2dsZS5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
24
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
25
|
-
import {
|
|
26
|
-
import { delay, takeUntil } from 'rxjs/operators';
|
|
25
|
+
import { delay } from 'rxjs/operators';
|
|
27
26
|
import { Store } from '@ngrx/store';
|
|
28
27
|
import { getFileUploadingDialog } from '@alfresco/aca-shared/store';
|
|
29
28
|
import { CommonModule } from '@angular/common';
|
|
30
29
|
import { UploadModule } from '@alfresco/adf-content-services';
|
|
30
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
31
31
|
import * as i0 from "@angular/core";
|
|
32
32
|
import * as i1 from "@ngrx/store";
|
|
33
33
|
import * as i2 from "@angular/common";
|
|
@@ -35,14 +35,9 @@ import * as i3 from "@alfresco/adf-content-services";
|
|
|
35
35
|
class UploadFilesDialogComponent {
|
|
36
36
|
store;
|
|
37
37
|
showFileUploadingDialog$;
|
|
38
|
-
onDestroy$ = new Subject();
|
|
39
38
|
constructor(store) {
|
|
40
39
|
this.store = store;
|
|
41
|
-
this.showFileUploadingDialog$ = this.store.select(getFileUploadingDialog).pipe(delay(0),
|
|
42
|
-
}
|
|
43
|
-
ngOnDestroy() {
|
|
44
|
-
this.onDestroy$.next(true);
|
|
45
|
-
this.onDestroy$.complete();
|
|
40
|
+
this.showFileUploadingDialog$ = this.store.select(getFileUploadingDialog).pipe(delay(0), takeUntilDestroyed());
|
|
46
41
|
}
|
|
47
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UploadFilesDialogComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
43
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: UploadFilesDialogComponent, isStandalone: true, selector: "aca-upload-files-dialog", ngImport: i0, template: "<adf-file-uploading-dialog *ngIf=\"showFileUploadingDialog$ | async\" position=\"left\" />", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: UploadModule }, { kind: "component", type: i3.FileUploadingDialogComponent, selector: "adf-file-uploading-dialog", inputs: ["position", "alwaysVisible"], outputs: ["error"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
@@ -52,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
52
47
|
type: Component,
|
|
53
48
|
args: [{ standalone: true, imports: [CommonModule, UploadModule], selector: 'aca-upload-files-dialog', encapsulation: ViewEncapsulation.None, template: "<adf-file-uploading-dialog *ngIf=\"showFileUploadingDialog$ | async\" position=\"left\" />" }]
|
|
54
49
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGVzLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvdXBsb2FkLWZpbGVzLWRpYWxvZy91cGxvYWQtZmlsZXMtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtZmlsZXMtZGlhbG9nL3VwbG9hZC1maWxlcy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBWSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRWhFLE1BT2EsMEJBQTBCO0lBR2pCO0lBRnBCLHdCQUF3QixDQUFzQjtJQUU5QyxZQUFvQixLQUFzQjtRQUF0QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN4QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDO3VHQUxVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLG1GQ3hDdkMsNEZBQXNGLDJDRG1DMUUsWUFBWSx1TEFBRSxZQUFZOztTQUt6QiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFQdEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFlBQzNCLHlCQUF5QixpQkFFcEIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXBwU3RvcmUsIGdldEZpbGVVcGxvYWRpbmdEaWFsb2cgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXBsb2FkTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFVwbG9hZE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYWNhLXVwbG9hZC1maWxlcy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWZpbGVzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkRmlsZXNEaWFsb2dDb21wb25lbnQge1xuICBzaG93RmlsZVVwbG9hZGluZ0RpYWxvZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+KSB7XG4gICAgdGhpcy5zaG93RmlsZVVwbG9hZGluZ0RpYWxvZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChnZXRGaWxlVXBsb2FkaW5nRGlhbG9nKS5waXBlKGRlbGF5KDApLCB0YWtlVW50aWxEZXN0cm95ZWQoKSk7XG4gIH1cbn1cbiIsIjxhZGYtZmlsZS11cGxvYWRpbmctZGlhbG9nICpuZ0lmPVwic2hvd0ZpbGVVcGxvYWRpbmdEaWFsb2ckIHwgYXN5bmNcIiBwb3NpdGlvbj1cImxlZnRcIiAvPiJdfQ==
|
|
@@ -26,15 +26,15 @@ import { PeopleApi } from '@alfresco/js-api';
|
|
|
26
26
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
27
27
|
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
28
28
|
import { Router } from '@angular/router';
|
|
29
|
-
import {
|
|
29
|
+
import { throwError } from 'rxjs';
|
|
30
30
|
import { AppService } from '@alfresco/aca-shared';
|
|
31
|
-
import { takeUntil } from 'rxjs/operators';
|
|
32
31
|
import { CommonModule } from '@angular/common';
|
|
33
32
|
import { MatButtonModule } from '@angular/material/button';
|
|
34
33
|
import { MatIconModule } from '@angular/material/icon';
|
|
35
34
|
import { TranslateModule } from '@ngx-translate/core';
|
|
36
35
|
import { MatDividerModule } from '@angular/material/divider';
|
|
37
36
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
37
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
38
38
|
import * as i0 from "@angular/core";
|
|
39
39
|
import * as i1 from "@angular/router";
|
|
40
40
|
import * as i2 from "@alfresco/adf-content-services";
|
|
@@ -60,12 +60,11 @@ class ViewProfileComponent {
|
|
|
60
60
|
contactSectionDropdown = false;
|
|
61
61
|
contactSectionButtonsToggle = true;
|
|
62
62
|
appNavNarMode$;
|
|
63
|
-
onDestroy$ = new Subject();
|
|
64
63
|
constructor(router, apiService, appService) {
|
|
65
64
|
this.router = router;
|
|
66
65
|
this.appService = appService;
|
|
67
66
|
this.peopleApi = new PeopleApi(apiService.getInstance());
|
|
68
|
-
this.appNavNarMode$ = appService.appNavNarMode$.pipe(
|
|
67
|
+
this.appNavNarMode$ = appService.appNavNarMode$.pipe(takeUntilDestroyed());
|
|
69
68
|
}
|
|
70
69
|
ngOnInit() {
|
|
71
70
|
this.populateForm(this.personDetails);
|
|
@@ -185,10 +184,6 @@ class ViewProfileComponent {
|
|
|
185
184
|
isSaveButtonDisabled() {
|
|
186
185
|
return this.profileForm.invalid;
|
|
187
186
|
}
|
|
188
|
-
ngOnDestroy() {
|
|
189
|
-
this.onDestroy$.next(true);
|
|
190
|
-
this.onDestroy$.complete();
|
|
191
|
-
}
|
|
192
187
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ViewProfileComponent, deps: [{ token: i1.Router }, { token: i2.AlfrescoApiService }, { token: i3.AppService }], target: i0.ɵɵFactoryTarget.Component });
|
|
193
188
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ViewProfileComponent, isStandalone: true, selector: "app-view-profile", ngImport: i0, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n <button *ngIf=\"(appNavNarMode$ | async) === 'collapsed'\" mat-icon-button (click)=\"toggleClick()\"\n title=\"{{'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate}}\">\n <mat-icon>menu</mat-icon>\n </button>\n <mat-icon class=\"app-profile-icon\" (click)=\"navigateToPersonalFiles()\" id=\"backButton\">arrow_back</mat-icon>\n <h3 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h3>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleGeneralDropdown()\" id=\"toggle-general-dropdown\">\n {{ generalSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h4>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"generalSectionButtonsToggle\">\n <button mat-raised-button (click)=\"toggleGeneralButtons()\" id=\"general-edit-button\"\n class=\"app-general-edit\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!generalSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"general-cancel-button\"\n (click)=\"toggleGeneralButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"general-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"generalSectionDropdown\" />\n <div *ngIf=\"generalSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.firstName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.lastName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.jobTitle}}</p>\n <input type=\"text\" value=\"\" formControlName=\"jobTitle\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.location}}</p>\n <input type=\"text\" value=\"\" formControlName=\"location\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.telephone}}</p>\n <input type=\"tel\" name=\"Telephone\" value=\"\" formControlName=\"telephone\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('telephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.mobile}}</p>\n <input type=\"tel\" value=\"\" formControlName=\"mobile\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('mobile').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleContactDropdown()\" id=\"toggle-contact-dropdown\">\n {{ contactSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h4>\n </div>\n\n <div class=\"app-general-edit-btn\" *ngIf=\"contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-edit\" id=\"contact-edit-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"contact-cancel-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"contact-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"contactSectionDropdown\" />\n <div *ngIf=\"contactSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.organization}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyName\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.address1}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyAddress\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.postcode}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyPostCode\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.telephone}}</p>\n <input type=\"tel\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyTelephone\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyTelephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.email}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyEmail\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyEmail').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile{cursor:pointer;margin-top:1rem}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-icon{margin-right:1rem;cursor:pointer}app-view-profile .app-profile-general-icon{cursor:pointer}app-view-profile .app-profile-text{letter-spacing:.5px}app-view-profile .app-profile-general{display:flex;padding-left:1rem}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;width:60%;padding-top:1rem;cursor:pointer}app-view-profile .app-general-title{margin-left:.6rem;margin-top:4px;letter-spacing:.5px}app-view-profile .app-general-edit-btn{width:60%;text-align:end}app-view-profile .app-general-edit-btn .app-general-edit{background:var(--theme-grey-text-background-color);height:30px;margin:1rem}app-view-profile .app-general-edit-btn .app-general-cancel-btn{height:30px;margin:1rem 1rem 1rem .5rem;background-color:var(--theme-grey-text-background-color);padding-top:.25px}app-view-profile .app-general-edit-btn .app-general-save-btn{width:75px;height:30px;margin:1rem 1rem 1rem .5rem;color:#fff;background-color:var(--theme-blue-button-color);font-weight:600}app-view-profile .app-divider{border-top-width:2px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-selected:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;box-shadow:0 0 2px var(--theme-blue-button-color)}app-view-profile .app-general-edit:hover{background:var(--theme-grey-hover-background-color)}app-view-profile .app-general-dropdown-divider{border-top-color:var(--theme-grey-divider-color)}app-view-profile .app-general-dropdown{padding:0 1rem}app-view-profile .app-general-dropdown-details{display:flex}app-view-profile .app-profile-general-dropdown-heading{color:var(--theme-heading-color);width:20%;font-weight:400;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-details{margin-top:1.3rem;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-input-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-login{display:flex;padding-left:1rem}app-view-profile .app-profile-login-dropdown-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-dropdown-heading-forgot{margin-top:1.3rem;color:var(--theme-heading-color);margin-left:16rem}app-view-profile .app-profile-company-row{margin-top:2rem}app-view-profile .app-profile-contact-row{margin:2rem 0 5rem 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-error-message{padding-top:2rem;padding-left:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
194
189
|
}
|
|
@@ -197,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
197
192
|
type: Component,
|
|
198
193
|
args: [{ standalone: true, imports: [CommonModule, TranslateModule, ReactiveFormsModule, MatButtonModule, MatIconModule, MatDividerModule, MatFormFieldModule], selector: 'app-view-profile', encapsulation: ViewEncapsulation.None, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n <button *ngIf=\"(appNavNarMode$ | async) === 'collapsed'\" mat-icon-button (click)=\"toggleClick()\"\n title=\"{{'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate}}\">\n <mat-icon>menu</mat-icon>\n </button>\n <mat-icon class=\"app-profile-icon\" (click)=\"navigateToPersonalFiles()\" id=\"backButton\">arrow_back</mat-icon>\n <h3 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h3>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleGeneralDropdown()\" id=\"toggle-general-dropdown\">\n {{ generalSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h4>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"generalSectionButtonsToggle\">\n <button mat-raised-button (click)=\"toggleGeneralButtons()\" id=\"general-edit-button\"\n class=\"app-general-edit\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!generalSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"general-cancel-button\"\n (click)=\"toggleGeneralButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"general-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"generalSectionDropdown\" />\n <div *ngIf=\"generalSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.firstName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\">{{personDetails?.lastName}}</p>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.jobTitle}}</p>\n <input type=\"text\" value=\"\" formControlName=\"jobTitle\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.location}}</p>\n <input type=\"text\" value=\"\" formControlName=\"location\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.telephone}}</p>\n <input type=\"tel\" name=\"Telephone\" value=\"\" formControlName=\"telephone\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('telephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"generalSectionButtonsToggle\">{{personDetails?.mobile}}</p>\n <input type=\"tel\" value=\"\" formControlName=\"mobile\" *ngIf=\"!generalSectionButtonsToggle\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('mobile').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <mat-icon class=\"app-profile-general-icon\" (click)=\"toggleContactDropdown()\" id=\"toggle-contact-dropdown\">\n {{ contactSectionDropdown ? 'expand_more' : 'chevron_right'}}</mat-icon>\n <h4 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h4>\n </div>\n\n <div class=\"app-general-edit-btn\" *ngIf=\"contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-edit\" id=\"contact-edit-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.EDIT' | translate}}</button>\n </div>\n <div class=\"app-general-edit-btn\" *ngIf=\"!contactSectionButtonsToggle\">\n <button mat-raised-button class=\"app-general-cancel-btn\" id=\"contact-cancel-button\"\n (click)=\"toggleContactButtons()\">{{'APP.EDIT_PROFILE.CANCEL' | translate}}</button>\n <button mat-raised-button class=\"app-general-save-btn\" id=\"contact-save-button\" [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>\n </div>\n </div>\n <mat-divider class=\"app-divider\" *ngIf=\"contactSectionDropdown\" />\n <div *ngIf=\"contactSectionDropdown\">\n <div class=\"app-general-dropdown\">\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.NAME' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.organization}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyName\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.address1}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyAddress\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.postcode}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyPostCode\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.telephone}}</p>\n <input type=\"tel\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyTelephone\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyTelephone').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n <mat-divider class=\"app-general-dropdown-divider\" />\n <div class=\"app-general-dropdown-details\">\n <h4 class=\"app-profile-general-dropdown-heading\">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>\n <p class=\"app-profile-general-dropdown-details\" *ngIf=\"contactSectionButtonsToggle\">{{personDetails?.company?.email}}</p>\n <input type=\"text\" value=\"\" *ngIf=\"!contactSectionButtonsToggle\" formControlName=\"companyEmail\"\n class=\"app-profile-general-dropdown-input-details app-selected\">\n <mat-error class=\"app-error-message\" *ngIf=\"profileForm.get('companyEmail').invalid\">\n {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}\n </mat-error>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile{cursor:pointer;margin-top:1rem}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-icon{margin-right:1rem;cursor:pointer}app-view-profile .app-profile-general-icon{cursor:pointer}app-view-profile .app-profile-text{letter-spacing:.5px}app-view-profile .app-profile-general{display:flex;padding-left:1rem}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;width:60%;padding-top:1rem;cursor:pointer}app-view-profile .app-general-title{margin-left:.6rem;margin-top:4px;letter-spacing:.5px}app-view-profile .app-general-edit-btn{width:60%;text-align:end}app-view-profile .app-general-edit-btn .app-general-edit{background:var(--theme-grey-text-background-color);height:30px;margin:1rem}app-view-profile .app-general-edit-btn .app-general-cancel-btn{height:30px;margin:1rem 1rem 1rem .5rem;background-color:var(--theme-grey-text-background-color);padding-top:.25px}app-view-profile .app-general-edit-btn .app-general-save-btn{width:75px;height:30px;margin:1rem 1rem 1rem .5rem;color:#fff;background-color:var(--theme-blue-button-color);font-weight:600}app-view-profile .app-divider{border-top-width:2px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-selected:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;box-shadow:0 0 2px var(--theme-blue-button-color)}app-view-profile .app-general-edit:hover{background:var(--theme-grey-hover-background-color)}app-view-profile .app-general-dropdown-divider{border-top-color:var(--theme-grey-divider-color)}app-view-profile .app-general-dropdown{padding:0 1rem}app-view-profile .app-general-dropdown-details{display:flex}app-view-profile .app-profile-general-dropdown-heading{color:var(--theme-heading-color);width:20%;font-weight:400;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-details{margin-top:1.3rem;letter-spacing:.5px}app-view-profile .app-profile-general-dropdown-input-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-login{display:flex;padding-left:1rem}app-view-profile .app-profile-login-dropdown-details{width:24%;height:25px;border:none;margin-top:1.3rem;background-color:var(--theme-dropdown-color)}app-view-profile .app-profile-login-dropdown-heading-forgot{margin-top:1.3rem;color:var(--theme-heading-color);margin-left:16rem}app-view-profile .app-profile-company-row{margin-top:2rem}app-view-profile .app-profile-contact-row{margin:2rem 0 5rem 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-error-message{padding-top:2rem;padding-left:.5rem}\n"] }]
|
|
199
194
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.AlfrescoApiService }, { type: i3.AppService }]; } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIs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QUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7dUdBcEtVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDRFQy9DakMsNDFUQWlKQSx3NkdEeEdZLFlBQVksdUxBQUUsZUFBZSwyRkFBRSxtQkFBbUIsbTJCQUFFLGVBQWUsd2FBQUUsYUFBYSxtTEFBRSxnQkFBZ0Isa0lBQUUsa0JBQWtCOztTQU12SCxvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFSaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsWUFDekgsa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IFBlb3BsZUFwaSwgUGVyc29uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYXBwLXZpZXctcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LXByb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3LXByb2ZpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3UHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcGVvcGxlQXBpOiBQZW9wbGVBcGk7XG5cbiAgcHJvZmlsZUZvcm06IEZvcm1Hcm91cDtcbiAgcGVyc29uRGV0YWlsczogUGVyc29uO1xuXG4gIGdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICBnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuXG4gIGxvZ2luU2VjdGlvbkRyb3Bkb3duID0gZmFsc2U7XG4gIGxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICBwYXNzd29yZFNlY3Rpb25Ecm9wZG93biA9IGZhbHNlO1xuXG4gIGNvbnRhY3RTZWN0aW9uRHJvcGRvd24gPSBmYWxzZTtcbiAgY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgYXBwTmF2TmFyTW9kZSQ6IE9ic2VydmFibGU8J2NvbGxhcHNlZCcgfCAnZXhwYW5kZWQnPjtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZSkge1xuICAgIHRoaXMucGVvcGxlQXBpID0gbmV3IFBlb3BsZUFwaShhcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHRoaXMuYXBwTmF2TmFyTW9kZSQgPSBhcHBTZXJ2aWNlLmFwcE5hdk5hck1vZGUkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wb3B1bGF0ZUZvcm0odGhpcy5wZXJzb25EZXRhaWxzKTtcbiAgICB0aGlzLnBlb3BsZUFwaVxuICAgICAgLmdldFBlcnNvbignLW1lLScpXG4gICAgICAudGhlbigodXNlckluZm8pID0+IHtcbiAgICAgICAgdGhpcy5wZXJzb25EZXRhaWxzID0gdXNlckluZm8/LmVudHJ5O1xuICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybSh1c2VySW5mbz8uZW50cnkpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUNsaWNrKCkge1xuICAgIHRoaXMuYXBwU2VydmljZS50b2dnbGVBcHBOYXZCYXIkLm5leHQoKTtcbiAgfVxuXG4gIHBvcHVsYXRlRm9ybSh1c2VySW5mbzogUGVyc29uKSB7XG4gICAgdGhpcy5wcm9maWxlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgam9iVGl0bGU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uam9iVGl0bGUgfHwgJycpLFxuICAgICAgbG9jYXRpb246IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8ubG9jYXRpb24gfHwgJycpLFxuICAgICAgdGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LnRlbGVwaG9uZSB8fCAnJywgW1ZhbGlkYXRvcnMucGF0dGVybignXihbMC05XSstKSpbMC05XSskJyldKSxcbiAgICAgIG1vYmlsZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5tb2JpbGUgfHwgJycsIFtWYWxpZGF0b3JzLnBhdHRlcm4oJ14oWzAtOV0rLSkqWzAtOV0rJCcpXSksXG4gICAgICBvbGRQYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIG5ld1Bhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgdmVyaWZ5UGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBjb21wYW55TmFtZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5jb21wYW55Py5vcmdhbml6YXRpb24gfHwgJycpLFxuICAgICAgY29tcGFueVBvc3RDb2RlOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LnBvc3Rjb2RlIHx8ICcnKSxcbiAgICAgIGNvbXBhbnlBZGRyZXNzOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LmFkZHJlc3MxIHx8ICcnKSxcbiAgICAgIGNvbXBhbnlUZWxlcGhvbmU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uY29tcGFueT8udGVsZXBob25lIHx8ICcnLCBbVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFswLTldKy0pKlswLTldKyQnKV0pLFxuICAgICAgY29tcGFueUVtYWlsOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LmVtYWlsIHx8ICcnLCBbVmFsaWRhdG9ycy5lbWFpbF0pXG4gICAgfSk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvUGVyc29uYWxGaWxlcygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wZXJzb25hbC1maWxlcyddLCB7XG4gICAgICByZXBsYWNlVXJsOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICB0b2dnbGVHZW5lcmFsRHJvcGRvd24oKSB7XG4gICAgdGhpcy5nZW5lcmFsU2VjdGlvbkRyb3Bkb3duID0gIXRoaXMuZ2VuZXJhbFNlY3Rpb25Ecm9wZG93bjtcblxuICAgIGlmICghdGhpcy5nZW5lcmFsU2VjdGlvbkRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlR2VuZXJhbEJ1dHRvbnMoKSB7XG4gICAgdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG5cbiAgICBpZiAoIXRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlKSB7XG4gICAgICB0aGlzLmdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uU2F2ZUdlbmVyYWxEYXRhKGV2ZW50KSB7XG4gICAgdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG4gICAgdGhpcy51cGRhdGVQZXJzb25EZXRhaWxzKGV2ZW50KTtcbiAgfVxuXG4gIG9uU2F2ZUxvZ2luRGF0YSgpIHtcbiAgICB0aGlzLnBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duID0gIXRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd247XG4gICAgdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZTtcbiAgfVxuXG4gIG9uU2F2ZUNvbXBhbnlEYXRhKGV2ZW50KSB7XG4gICAgdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG4gICAgdGhpcy51cGRhdGVQZXJzb25EZXRhaWxzKGV2ZW50KTtcbiAgfVxuXG4gIHRvZ2dsZUxvZ2luRHJvcGRvd24oKSB7XG4gICAgdGhpcy5sb2dpblNlY3Rpb25Ecm9wZG93biA9ICF0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duO1xuXG4gICAgaWYgKCF0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUxvZ2luQnV0dG9ucygpIHtcbiAgICB0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuICAgIHRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5wYXNzd29yZFNlY3Rpb25Ecm9wZG93bjtcblxuICAgIGlmICghdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlKSB7XG4gICAgICB0aGlzLmxvZ2luU2VjdGlvbkRyb3Bkb3duID0gdHJ1ZTtcbiAgICAgIHRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUNvbnRhY3REcm9wZG93bigpIHtcbiAgICB0aGlzLmNvbnRhY3RTZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5jb250YWN0U2VjdGlvbkRyb3Bkb3duO1xuXG4gICAgaWYgKCF0aGlzLmNvbnRhY3RTZWN0aW9uRHJvcGRvd24pIHtcbiAgICAgIHRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb250YWN0QnV0dG9ucygpIHtcbiAgICB0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZTtcblxuICAgIGlmICghdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUpIHtcbiAgICAgIHRoaXMuY29udGFjdFNlY3Rpb25Ecm9wZG93biA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUGVyc29uRGV0YWlscyhldmVudCkge1xuICAgIGlmICh0aGlzLnByb2ZpbGVGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLnBlb3BsZUFwaVxuICAgICAgICAudXBkYXRlUGVyc29uKCctbWUtJywge1xuICAgICAgICAgIGpvYlRpdGxlOiBldmVudC52YWx1ZS5qb2JUaXRsZSxcbiAgICAgICAgICBsb2NhdGlvbjogZXZlbnQudmFsdWUubG9jYXRpb24sXG4gICAgICAgICAgdGVsZXBob25lOiBldmVudC52YWx1ZS50ZWxlcGhvbmUsXG4gICAgICAgICAgbW9iaWxlOiBldmVudC52YWx1ZS5tb2JpbGUsXG4gICAgICAgICAgY29tcGFueToge1xuICAgICAgICAgICAgb3JnYW5pemF0aW9uOiBldmVudC52YWx1ZS5jb21wYW55TmFtZSxcbiAgICAgICAgICAgIHBvc3Rjb2RlOiBldmVudC52YWx1ZS5jb21wYW55UG9zdENvZGUsXG4gICAgICAgICAgICBhZGRyZXNzMTogZXZlbnQudmFsdWUuY29tcGFueUFkZHJlc3MsXG4gICAgICAgICAgICB0ZWxlcGhvbmU6IGV2ZW50LnZhbHVlLmNvbXBhbnlUZWxlcGhvbmUsXG4gICAgICAgICAgICBlbWFpbDogZXZlbnQudmFsdWUuY29tcGFueUVtYWlsXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAudGhlbigocGVyc29uKSA9PiB7XG4gICAgICAgICAgdGhpcy5wZXJzb25EZXRhaWxzID0gcGVyc29uPy5lbnRyeTtcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybShwZXJzb24/LmVudHJ5KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMucG9wdWxhdGVGb3JtKHRoaXMucGVyc29uRGV0YWlscyk7XG4gICAgICAgICAgdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvcHVsYXRlRm9ybSh0aGlzLnBlcnNvbkRldGFpbHMpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2F2ZUJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb2ZpbGVGb3JtLmludmFsaWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLXRpdGxlXCI+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiKGFwcE5hdk5hck1vZGUkIHwgYXN5bmMpID09PSAnY29sbGFwc2VkJ1wiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlQ2xpY2soKVwiXG4gICAgICAgIHRpdGxlPVwie3snQVBQLlRPT0xUSVBTLkVYUEFORF9OQVZJR0FUSU9OJyB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYXBwLXByb2ZpbGUtaWNvblwiIChjbGljayk9XCJuYXZpZ2F0ZVRvUGVyc29uYWxGaWxlcygpXCIgaWQ9XCJiYWNrQnV0dG9uXCI+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICA8aDMgY2xhc3M9XCJhcHAtcHJvZmlsZVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuTVlfUFJPRklMRScgfCB0cmFuc2xhdGV9fTwvaDM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1yb3dcIiBbZm9ybUdyb3VwXT1cInByb2ZpbGVGb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLXNlY3Rpb25cIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1pY29uXCIgKGNsaWNrKT1cInRvZ2dsZUdlbmVyYWxEcm9wZG93bigpXCIgaWQ9XCJ0b2dnbGUtZ2VuZXJhbC1kcm9wZG93blwiPlxuICAgICAgICAgIHt7IGdlbmVyYWxTZWN0aW9uRHJvcGRvd24gPyAgJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0J319PC9tYXQtaWNvbj5cbiAgICAgICAgPGg0IGNsYXNzPVwiYXBwLWdlbmVyYWwtdGl0bGVcIj57eydBUFAuRURJVF9QUk9GSUxFLkdFTkVSQUwnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cImdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJ0b2dnbGVHZW5lcmFsQnV0dG9ucygpXCIgaWQ9XCJnZW5lcmFsLWVkaXQtYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImFwcC1nZW5lcmFsLWVkaXRcIj57eydBUFAuRURJVF9QUk9GSUxFLkVESVQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWVkaXQtYnRuXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJhcHAtZ2VuZXJhbC1jYW5jZWwtYnRuXCIgaWQ9XCJnZW5lcmFsLWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVHZW5lcmFsQnV0dG9ucygpXCI+e3snQVBQLkVESVRfUFJPRklMRS5DQU5DRUwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cImFwcC1nZW5lcmFsLXNhdmUtYnRuXCIgaWQ9XCJnZW5lcmFsLXNhdmUtYnV0dG9uXCIgW2Rpc2FibGVkXT1cInByb2ZpbGVGb3JtLmludmFsaWRcIlxuICAgICAgICAgIChjbGljayk9XCJvblNhdmVHZW5lcmFsRGF0YShwcm9maWxlRm9ybSlcIj57eydBUFAuRURJVF9QUk9GSUxFLlNBVkUnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1kaXZpZGVyXCIgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkRyb3Bkb3duXCIgLz5cbiAgICA8ZGl2ICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25Ecm9wZG93blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5GSVJTVF9OQU1FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPnt7cGVyc29uRGV0YWlscz8uZmlyc3ROYW1lfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkxBU1RfTkFNRScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj57e3BlcnNvbkRldGFpbHM/Lmxhc3ROYW1lfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkpPQl9USVRMRScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uam9iVGl0bGV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cImpvYlRpdGxlXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5MT0NBVElPTicgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LmxvY2F0aW9ufX08L3A+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiBmb3JtQ29udHJvbE5hbWU9XCJsb2NhdGlvblwiICpuZ0lmPVwiIWdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuVEVMRVBIT05FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy50ZWxlcGhvbmV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIG5hbWU9XCJUZWxlcGhvbmVcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cInRlbGVwaG9uZVwiICpuZ0lmPVwiIWdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwiYXBwLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInByb2ZpbGVGb3JtLmdldCgndGVsZXBob25lJykuaW52YWxpZFwiPlxuICAgICAgICAgICAge3sgJ0FQUC5FRElUX1BST0ZJTEUuSU5WQUxJRF9JTlBVVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuTU9CSUxFJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5tb2JpbGV9fTwvcD5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZWxcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cIm1vYmlsZVwiICpuZ0lmPVwiIWdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiXG4gICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCdtb2JpbGUnKS5pbnZhbGlkXCI+XG4gICAgICAgICAge3sgJ0FQUC5FRElUX1BST0ZJTEUuSU5WQUxJRF9JTlBVVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1jb250YWN0LXJvd1wiIFtmb3JtR3JvdXBdPVwicHJvZmlsZUZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbCBwcm9maWxlLWdlbmVyYWwtYm90dG9tLXJhZGl1c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtc2VjdGlvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWljb25cIiAoY2xpY2spPVwidG9nZ2xlQ29udGFjdERyb3Bkb3duKClcIiBpZD1cInRvZ2dsZS1jb250YWN0LWRyb3Bkb3duXCI+XG4gICAgICAgICAge3sgY29udGFjdFNlY3Rpb25Ecm9wZG93biA/ICAnZXhwYW5kX21vcmUnIDogJ2NoZXZyb25fcmlnaHQnfX08L21hdC1pY29uPlxuICAgICAgICA8aDQgY2xhc3M9XCJhcHAtZ2VuZXJhbC10aXRsZVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuQ09NUEFOWV9ERVRBSUxTJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdFwiIGlkPVwiY29udGFjdC1lZGl0LWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbnRhY3RCdXR0b25zKClcIj57eydBUFAuRURJVF9QUk9GSUxFLkVESVQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWVkaXQtYnRuXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJhcHAtZ2VuZXJhbC1jYW5jZWwtYnRuXCIgaWQ9XCJjb250YWN0LWNhbmNlbC1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb250YWN0QnV0dG9ucygpXCI+e3snQVBQLkVESVRfUFJPRklMRS5DQU5DRUwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAgY2xhc3M9XCJhcHAtZ2VuZXJhbC1zYXZlLWJ0blwiIGlkPVwiY29udGFjdC1zYXZlLWJ1dHRvblwiIFtkaXNhYmxlZF09XCJwcm9maWxlRm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TYXZlQ29tcGFueURhdGEocHJvZmlsZUZvcm0pXCI+e3snQVBQLkVESVRfUFJPRklMRS5TQVZFJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZGl2aWRlclwiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25Ecm9wZG93blwiIC8+XG4gICAgPGRpdiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uRHJvcGRvd25cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93blwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuTkFNRScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uY29tcGFueT8ub3JnYW5pemF0aW9ufX08L3A+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55TmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuQUREUkVTUycgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uY29tcGFueT8uYWRkcmVzczF9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiICpuZ0lmPVwiIWNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlBZGRyZXNzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5QT1NUQ09ERScgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIiAqbmdJZj1cImNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8uY29tcGFueT8ucG9zdGNvZGV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiICpuZ0lmPVwiIWNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlQb3N0Q29kZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuVEVMRVBIT05FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py50ZWxlcGhvbmV9fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueVRlbGVwaG9uZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwiYXBwLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInByb2ZpbGVGb3JtLmdldCgnY29tcGFueVRlbGVwaG9uZScpLmludmFsaWRcIj5cbiAgICAgICAgICAgIHt7ICdBUFAuRURJVF9QUk9GSUxFLklOVkFMSURfSU5QVVQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkVNQUlMJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5lbWFpbH19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueUVtYWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCdjb21wYW55RW1haWwnKS5pbnZhbGlkXCI+XG4gICAgICAgICAgICB7eyAnQVBQLkVESVRfUFJPRklMRS5JTlZBTElEX0lOUFVUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1wcm9maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy92aWV3LXByb2ZpbGUvdmlldy1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3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QW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQzt1R0E5SlUsb0JBQW9COzJGQUFwQixvQkFBb0IsNEVDL0NqQyw0MVRBaUpBLHc2R0R4R1ksWUFBWSx1TEFBRSxlQUFlLDJGQUFFLG1CQUFtQixtMkJBQUUsZUFBZSx3YUFBRSxhQUFhLG1MQUFFLGdCQUFnQixrSUFBRSxrQkFBa0I7O1NBTXZILG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxZQUN6SCxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgUGVvcGxlQXBpLCBQZXJzb24gfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYXBwLXZpZXctcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LXByb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3LXByb2ZpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3UHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHBlb3BsZUFwaTogUGVvcGxlQXBpO1xuXG4gIHByb2ZpbGVGb3JtOiBGb3JtR3JvdXA7XG4gIHBlcnNvbkRldGFpbHM6IFBlcnNvbjtcblxuICBnZW5lcmFsU2VjdGlvbkRyb3Bkb3duID0gdHJ1ZTtcbiAgZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcblxuICBsb2dpblNlY3Rpb25Ecm9wZG93biA9IGZhbHNlO1xuICBsb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgcGFzc3dvcmRTZWN0aW9uRHJvcGRvd24gPSBmYWxzZTtcblxuICBjb250YWN0U2VjdGlvbkRyb3Bkb3duID0gZmFsc2U7XG4gIGNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG4gIGFwcE5hdk5hck1vZGUkOiBPYnNlcnZhYmxlPCdjb2xsYXBzZWQnIHwgJ2V4cGFuZGVkJz47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgYXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlLCBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UpIHtcbiAgICB0aGlzLnBlb3BsZUFwaSA9IG5ldyBQZW9wbGVBcGkoYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICB0aGlzLmFwcE5hdk5hck1vZGUkID0gYXBwU2VydmljZS5hcHBOYXZOYXJNb2RlJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucG9wdWxhdGVGb3JtKHRoaXMucGVyc29uRGV0YWlscyk7XG4gICAgdGhpcy5wZW9wbGVBcGlcbiAgICAgIC5nZXRQZXJzb24oJy1tZS0nKVxuICAgICAgLnRoZW4oKHVzZXJJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMucGVyc29uRGV0YWlscyA9IHVzZXJJbmZvPy5lbnRyeTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZvcm0odXNlckluZm8/LmVudHJ5KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfSk7XG4gIH1cblxuICB0b2dnbGVDbGljaygpIHtcbiAgICB0aGlzLmFwcFNlcnZpY2UudG9nZ2xlQXBwTmF2QmFyJC5uZXh0KCk7XG4gIH1cblxuICBwb3B1bGF0ZUZvcm0odXNlckluZm86IFBlcnNvbikge1xuICAgIHRoaXMucHJvZmlsZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgIGpvYlRpdGxlOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmpvYlRpdGxlIHx8ICcnKSxcbiAgICAgIGxvY2F0aW9uOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmxvY2F0aW9uIHx8ICcnKSxcbiAgICAgIHRlbGVwaG9uZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy50ZWxlcGhvbmUgfHwgJycsIFtWYWxpZGF0b3JzLnBhdHRlcm4oJ14oWzAtOV0rLSkqWzAtOV0rJCcpXSksXG4gICAgICBtb2JpbGU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8ubW9iaWxlIHx8ICcnLCBbVmFsaWRhdG9ycy5wYXR0ZXJuKCdeKFswLTldKy0pKlswLTldKyQnKV0pLFxuICAgICAgb2xkUGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICBuZXdQYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIHZlcmlmeVBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgY29tcGFueU5hbWU6IG5ldyBGb3JtQ29udHJvbCh1c2VySW5mbz8uY29tcGFueT8ub3JnYW5pemF0aW9uIHx8ICcnKSxcbiAgICAgIGNvbXBhbnlQb3N0Q29kZTogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5jb21wYW55Py5wb3N0Y29kZSB8fCAnJyksXG4gICAgICBjb21wYW55QWRkcmVzczogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5jb21wYW55Py5hZGRyZXNzMSB8fCAnJyksXG4gICAgICBjb21wYW55VGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wodXNlckluZm8/LmNvbXBhbnk/LnRlbGVwaG9uZSB8fCAnJywgW1ZhbGlkYXRvcnMucGF0dGVybignXihbMC05XSstKSpbMC05XSskJyldKSxcbiAgICAgIGNvbXBhbnlFbWFpbDogbmV3IEZvcm1Db250cm9sKHVzZXJJbmZvPy5jb21wYW55Py5lbWFpbCB8fCAnJywgW1ZhbGlkYXRvcnMuZW1haWxdKVxuICAgIH0pO1xuICB9XG5cbiAgbmF2aWdhdGVUb1BlcnNvbmFsRmlsZXMoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcGVyc29uYWwtZmlsZXMnXSwge1xuICAgICAgcmVwbGFjZVVybDogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlR2VuZXJhbERyb3Bkb3duKCkge1xuICAgIHRoaXMuZ2VuZXJhbFNlY3Rpb25Ecm9wZG93biA9ICF0aGlzLmdlbmVyYWxTZWN0aW9uRHJvcGRvd247XG5cbiAgICBpZiAoIXRoaXMuZ2VuZXJhbFNlY3Rpb25Ecm9wZG93bikge1xuICAgICAgdGhpcy5nZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUdlbmVyYWxCdXR0b25zKCkge1xuICAgIHRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuXG4gICAgaWYgKCF0aGlzLmdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZSkge1xuICAgICAgdGhpcy5nZW5lcmFsU2VjdGlvbkRyb3Bkb3duID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvblNhdmVHZW5lcmFsRGF0YShldmVudCkge1xuICAgIHRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMuZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuICAgIHRoaXMudXBkYXRlUGVyc29uRGV0YWlscyhldmVudCk7XG4gIH1cblxuICBvblNhdmVMb2dpbkRhdGEoKSB7XG4gICAgdGhpcy5wYXNzd29yZFNlY3Rpb25Ecm9wZG93biA9ICF0aGlzLnBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duO1xuICAgIHRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZSA9ICF0aGlzLmxvZ2luU2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG4gIH1cblxuICBvblNhdmVDb21wYW55RGF0YShldmVudCkge1xuICAgIHRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlO1xuICAgIHRoaXMudXBkYXRlUGVyc29uRGV0YWlscyhldmVudCk7XG4gIH1cblxuICB0b2dnbGVMb2dpbkRyb3Bkb3duKCkge1xuICAgIHRoaXMubG9naW5TZWN0aW9uRHJvcGRvd24gPSAhdGhpcy5sb2dpblNlY3Rpb25Ecm9wZG93bjtcblxuICAgIGlmICghdGhpcy5sb2dpblNlY3Rpb25Ecm9wZG93bikge1xuICAgICAgdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVMb2dpbkJ1dHRvbnMoKSB7XG4gICAgdGhpcy5sb2dpblNlY3Rpb25CdXR0b25zVG9nZ2xlID0gIXRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZTtcbiAgICB0aGlzLnBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duID0gIXRoaXMucGFzc3dvcmRTZWN0aW9uRHJvcGRvd247XG5cbiAgICBpZiAoIXRoaXMubG9naW5TZWN0aW9uQnV0dG9uc1RvZ2dsZSkge1xuICAgICAgdGhpcy5sb2dpblNlY3Rpb25Ecm9wZG93biA9IHRydWU7XG4gICAgICB0aGlzLnBhc3N3b3JkU2VjdGlvbkRyb3Bkb3duID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb250YWN0RHJvcGRvd24oKSB7XG4gICAgdGhpcy5jb250YWN0U2VjdGlvbkRyb3Bkb3duID0gIXRoaXMuY29udGFjdFNlY3Rpb25Ecm9wZG93bjtcblxuICAgIGlmICghdGhpcy5jb250YWN0U2VjdGlvbkRyb3Bkb3duKSB7XG4gICAgICB0aGlzLmNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQ29udGFjdEJ1dHRvbnMoKSB7XG4gICAgdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGUgPSAhdGhpcy5jb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGU7XG5cbiAgICBpZiAoIXRoaXMuY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlKSB7XG4gICAgICB0aGlzLmNvbnRhY3RTZWN0aW9uRHJvcGRvd24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVBlcnNvbkRldGFpbHMoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcm9maWxlRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5wZW9wbGVBcGlcbiAgICAgICAgLnVwZGF0ZVBlcnNvbignLW1lLScsIHtcbiAgICAgICAgICBqb2JUaXRsZTogZXZlbnQudmFsdWUuam9iVGl0bGUsXG4gICAgICAgICAgbG9jYXRpb246IGV2ZW50LnZhbHVlLmxvY2F0aW9uLFxuICAgICAgICAgIHRlbGVwaG9uZTogZXZlbnQudmFsdWUudGVsZXBob25lLFxuICAgICAgICAgIG1vYmlsZTogZXZlbnQudmFsdWUubW9iaWxlLFxuICAgICAgICAgIGNvbXBhbnk6IHtcbiAgICAgICAgICAgIG9yZ2FuaXphdGlvbjogZXZlbnQudmFsdWUuY29tcGFueU5hbWUsXG4gICAgICAgICAgICBwb3N0Y29kZTogZXZlbnQudmFsdWUuY29tcGFueVBvc3RDb2RlLFxuICAgICAgICAgICAgYWRkcmVzczE6IGV2ZW50LnZhbHVlLmNvbXBhbnlBZGRyZXNzLFxuICAgICAgICAgICAgdGVsZXBob25lOiBldmVudC52YWx1ZS5jb21wYW55VGVsZXBob25lLFxuICAgICAgICAgICAgZW1haWw6IGV2ZW50LnZhbHVlLmNvbXBhbnlFbWFpbFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHBlcnNvbikgPT4ge1xuICAgICAgICAgIHRoaXMucGVyc29uRGV0YWlscyA9IHBlcnNvbj8uZW50cnk7XG4gICAgICAgICAgdGhpcy5wb3B1bGF0ZUZvcm0ocGVyc29uPy5lbnRyeSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybSh0aGlzLnBlcnNvbkRldGFpbHMpO1xuICAgICAgICAgIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wb3B1bGF0ZUZvcm0odGhpcy5wZXJzb25EZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICBpc1NhdmVCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlRm9ybS5pbnZhbGlkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtdGl0bGVcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCIoYXBwTmF2TmFyTW9kZSQgfCBhc3luYykgPT09ICdjb2xsYXBzZWQnXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVDbGljaygpXCJcbiAgICAgICAgdGl0bGU9XCJ7eydBUFAuVE9PTFRJUFMuRVhQQU5EX05BVklHQVRJT04nIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJhcHAtcHJvZmlsZS1pY29uXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9QZXJzb25hbEZpbGVzKClcIiBpZD1cImJhY2tCdXR0b25cIj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cbiAgICAgIDxoMyBjbGFzcz1cImFwcC1wcm9maWxlXCI+e3snQVBQLkVESVRfUFJPRklMRS5NWV9QUk9GSUxFJyB8IHRyYW5zbGF0ZX19PC9oMz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLXJvd1wiIFtmb3JtR3JvdXBdPVwicHJvZmlsZUZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtc2VjdGlvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWljb25cIiAoY2xpY2spPVwidG9nZ2xlR2VuZXJhbERyb3Bkb3duKClcIiBpZD1cInRvZ2dsZS1nZW5lcmFsLWRyb3Bkb3duXCI+XG4gICAgICAgICAge3sgZ2VuZXJhbFNlY3Rpb25Ecm9wZG93biA/ICAnZXhwYW5kX21vcmUnIDogJ2NoZXZyb25fcmlnaHQnfX08L21hdC1pY29uPlxuICAgICAgICA8aDQgY2xhc3M9XCJhcHAtZ2VuZXJhbC10aXRsZVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuR0VORVJBTCcgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1lZGl0LWJ0blwiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cInRvZ2dsZUdlbmVyYWxCdXR0b25zKClcIiBpZD1cImdlbmVyYWwtZWRpdC1idXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdFwiPnt7J0FQUC5FRElUX1BST0ZJTEUuRURJVCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cIiFnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cImFwcC1nZW5lcmFsLWNhbmNlbC1idG5cIiBpZD1cImdlbmVyYWwtY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUdlbmVyYWxCdXR0b25zKClcIj57eydBUFAuRURJVF9QUk9GSUxFLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwiYXBwLWdlbmVyYWwtc2F2ZS1idG5cIiBpZD1cImdlbmVyYWwtc2F2ZS1idXR0b25cIiBbZGlzYWJsZWRdPVwicHJvZmlsZUZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZUdlbmVyYWxEYXRhKHByb2ZpbGVGb3JtKVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuU0FWRScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWRpdmlkZXJcIiAqbmdJZj1cImdlbmVyYWxTZWN0aW9uRHJvcGRvd25cIiAvPlxuICAgIDxkaXYgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkRyb3Bkb3duXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkZJUlNUX05BTUUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+e3twZXJzb25EZXRhaWxzPy5maXJzdE5hbWV9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuTEFTVF9OQU1FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPnt7cGVyc29uRGV0YWlscz8ubGFzdE5hbWV9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuSk9CX1RJVExFJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5qb2JUaXRsZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgZm9ybUNvbnRyb2xOYW1lPVwiam9iVGl0bGVcIiAqbmdJZj1cIiFnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLkxPQ0FUSU9OJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICAqbmdJZj1cImdlbmVyYWxTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiPnt7cGVyc29uRGV0YWlscz8ubG9jYXRpb259fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGZvcm1Db250cm9sTmFtZT1cImxvY2F0aW9uXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5URUxFUEhPTkUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LnRlbGVwaG9uZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgbmFtZT1cIlRlbGVwaG9uZVwiIHZhbHVlPVwiXCIgZm9ybUNvbnRyb2xOYW1lPVwidGVsZXBob25lXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCd0ZWxlcGhvbmUnKS5pbnZhbGlkXCI+XG4gICAgICAgICAgICB7eyAnQVBQLkVESVRfUFJPRklMRS5JTlZBTElEX0lOUFVUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5NT0JJTEUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJnZW5lcmFsU2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/Lm1vYmlsZX19PC9wPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRlbFwiIHZhbHVlPVwiXCIgZm9ybUNvbnRyb2xOYW1lPVwibW9iaWxlXCIgKm5nSWY9XCIhZ2VuZXJhbFNlY3Rpb25CdXR0b25zVG9nZ2xlXCJcbiAgICAgICAgICBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taW5wdXQtZGV0YWlscyBhcHAtc2VsZWN0ZWRcIj5cbiAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJwcm9maWxlRm9ybS5nZXQoJ21vYmlsZScpLmludmFsaWRcIj5cbiAgICAgICAgICB7eyAnQVBQLkVESVRfUFJPRklMRS5JTlZBTElEX0lOUFVUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFwcC1wcm9maWxlLWNvbnRhY3Qtcm93XCIgW2Zvcm1Hcm91cF09XCJwcm9maWxlRm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsIHByb2ZpbGUtZ2VuZXJhbC1ib3R0b20tcmFkaXVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1zZWN0aW9uXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtaWNvblwiIChjbGljayk9XCJ0b2dnbGVDb250YWN0RHJvcGRvd24oKVwiIGlkPVwidG9nZ2xlLWNvbnRhY3QtZHJvcGRvd25cIj5cbiAgICAgICAgICB7eyBjb250YWN0U2VjdGlvbkRyb3Bkb3duID8gICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCd9fTwvbWF0LWljb24+XG4gICAgICAgIDxoNCBjbGFzcz1cImFwcC1nZW5lcmFsLXRpdGxlXCI+e3snQVBQLkVESVRfUFJPRklMRS5DT01QQU5ZX0RFVEFJTFMnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1lZGl0LWJ0blwiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJhcHAtZ2VuZXJhbC1lZGl0XCIgaWQ9XCJjb250YWN0LWVkaXQtYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29udGFjdEJ1dHRvbnMoKVwiPnt7J0FQUC5FRElUX1BST0ZJTEUuRURJVCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZWRpdC1idG5cIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjbGFzcz1cImFwcC1nZW5lcmFsLWNhbmNlbC1idG5cIiBpZD1cImNvbnRhY3QtY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbnRhY3RCdXR0b25zKClcIj57eydBUFAuRURJVF9QUk9GSUxFLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uICBjbGFzcz1cImFwcC1nZW5lcmFsLXNhdmUtYnRuXCIgaWQ9XCJjb250YWN0LXNhdmUtYnV0dG9uXCIgW2Rpc2FibGVkXT1cInByb2ZpbGVGb3JtLmludmFsaWRcIlxuICAgICAgICAgIChjbGljayk9XCJvblNhdmVDb21wYW55RGF0YShwcm9maWxlRm9ybSlcIj57eydBUFAuRURJVF9QUk9GSUxFLlNBVkUnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1kaXZpZGVyXCIgKm5nSWY9XCJjb250YWN0U2VjdGlvbkRyb3Bkb3duXCIgLz5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGFjdFNlY3Rpb25Ecm9wZG93blwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5OQU1FJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5vcmdhbml6YXRpb259fTwvcD5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiICpuZ0lmPVwiIWNvbnRhY3RTZWN0aW9uQnV0dG9uc1RvZ2dsZVwiIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlOYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5BRERSRVNTJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5hZGRyZXNzMX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueUFkZHJlc3NcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kaXZpZGVyXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRldGFpbHNcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWhlYWRpbmdcIj57eydBUFAuRURJVF9QUk9GSUxFLlBPU1RDT0RFJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiICpuZ0lmPVwiY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCI+e3twZXJzb25EZXRhaWxzPy5jb21wYW55Py5wb3N0Y29kZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgKm5nSWY9XCIhY29udGFjdFNlY3Rpb25CdXR0b25zVG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueVBvc3RDb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGl2aWRlclwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1oZWFkaW5nXCI+e3snQVBQLkVESVRfUFJPRklMRS5URUxFUEhPTkUnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LmNvbXBhbnk/LnRlbGVwaG9uZX19PC9wPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgdmFsdWU9XCJcIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55VGVsZXBob25lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1pbnB1dC1kZXRhaWxzIGFwcC1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhcHAtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicHJvZmlsZUZvcm0uZ2V0KCdjb21wYW55VGVsZXBob25lJykuaW52YWxpZFwiPlxuICAgICAgICAgICAge3sgJ0FQUC5FRElUX1BST0ZJTEUuSU5WQUxJRF9JTlBVVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFwcC1nZW5lcmFsLWRyb3Bkb3duLWRpdmlkZXJcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWdlbmVyYWwtZHJvcGRvd24tZGV0YWlsc1wiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImFwcC1wcm9maWxlLWdlbmVyYWwtZHJvcGRvd24taGVhZGluZ1wiPnt7J0FQUC5FRElUX1BST0ZJTEUuRU1BSUwnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXBwLXByb2ZpbGUtZ2VuZXJhbC1kcm9wZG93bi1kZXRhaWxzXCIgKm5nSWY9XCJjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIj57e3BlcnNvbkRldGFpbHM/LmNvbXBhbnk/LmVtYWlsfX08L3A+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiAqbmdJZj1cIiFjb250YWN0U2VjdGlvbkJ1dHRvbnNUb2dnbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55RW1haWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJhcHAtcHJvZmlsZS1nZW5lcmFsLWRyb3Bkb3duLWlucHV0LWRldGFpbHMgYXBwLXNlbGVjdGVkXCI+XG4gICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJwcm9maWxlRm9ybS5nZXQoJ2NvbXBhbnlFbWFpbCcpLmludmFsaWRcIj5cbiAgICAgICAgICAgIHt7ICdBUFAuRURJVF9QUk9GSUxFLklOVkFMSURfSU5QVVQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|