tango-app-ui-shared 3.7.3-dev23 → 3.7.3-dev25
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/lib/modules/layout/header/header.component.mjs +17 -15
- package/esm2022/lib/modules/layout/header/stores-header/stores-header.component.mjs +3 -3
- package/esm2022/lib/modules/layout/layout/layout.component.mjs +3 -3
- package/fesm2022/{tango-app-ui-shared-intro.module-DyE2keRn.mjs → tango-app-ui-shared-intro.module-OrLn8VLx.mjs} +2 -1
- package/fesm2022/{tango-app-ui-shared-intro.module-DyE2keRn.mjs.map → tango-app-ui-shared-intro.module-OrLn8VLx.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-shared-notification.module-C1uJuY1m.mjs → tango-app-ui-shared-notification.module-B7aDUhCZ.mjs} +2 -1
- package/fesm2022/{tango-app-ui-shared-notification.module-C1uJuY1m.mjs.map → tango-app-ui-shared-notification.module-B7aDUhCZ.mjs.map} +1 -1
- package/fesm2022/tango-app-ui-shared.mjs +16 -14
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/layout/header/header.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -52,10 +52,10 @@ export class StoresHeaderComponent {
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StoresHeaderComponent, deps: [{ token: i1.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StoresHeaderComponent, selector: "lib-stores-header", ngImport: i0, template: "<div class=\"card pt-3\" style=\"border-radius: 0% !important;\">\r\n<div class=\"d-flex overflow-auto h-35px mb-2 ps-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <!-- <li class=\"nav-item\"><a routerLink=\"/manage/stores/infrastructure\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6 \"> Infrastructure </a>\r\n </li> -->\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/cameras\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">Cameras </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/zones\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Zones </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/infra-ticket\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Tickets </a>\r\n </li>\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\"><a routerLink=\"/manage/stores/mat\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">\r\n Employee Mat </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/settings\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Settings </a>\r\n </li>\r\n </ul>\r\n</div>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StoresHeaderComponent, selector: "lib-stores-header", ngImport: i0, template: "<div class=\"card pt-3\" style=\"border-radius: 0% !important;\">\r\n<div class=\"d-flex overflow-auto h-35px mb-2 ps-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <!-- <li class=\"nav-item\"><a routerLink=\"/manage/stores/infrastructure\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6 \"> Infrastructure </a>\r\n </li> -->\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/cameras\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">Cameras </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/zones\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Zones </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/infra-ticket\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Tickets </a>\r\n </li>\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\"><a routerLink=\"/manage/stores/mat\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">\r\n Employee Mat </a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a routerLink=\"/manage/stores/plano\" [queryParams]=\"{storeId}\" routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Plano </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/settings\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Settings </a>\r\n </li>\r\n </ul>\r\n</div>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StoresHeaderComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
|
-
args: [{ selector: 'lib-stores-header', template: "<div class=\"card pt-3\" style=\"border-radius: 0% !important;\">\r\n<div class=\"d-flex overflow-auto h-35px mb-2 ps-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <!-- <li class=\"nav-item\"><a routerLink=\"/manage/stores/infrastructure\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6 \"> Infrastructure </a>\r\n </li> -->\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/cameras\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">Cameras </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/zones\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Zones </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/infra-ticket\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Tickets </a>\r\n </li>\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\"><a routerLink=\"/manage/stores/mat\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">\r\n Employee Mat </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/settings\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Settings </a>\r\n </li>\r\n </ul>\r\n</div>\r\n</div>" }]
|
|
59
|
+
args: [{ selector: 'lib-stores-header', template: "<div class=\"card pt-3\" style=\"border-radius: 0% !important;\">\r\n<div class=\"d-flex overflow-auto h-35px mb-2 ps-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <!-- <li class=\"nav-item\"><a routerLink=\"/manage/stores/infrastructure\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6 \"> Infrastructure </a>\r\n </li> -->\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/cameras\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">Cameras </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/zones\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Zones </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/infra-ticket\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Tickets </a>\r\n </li>\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\"><a routerLink=\"/manage/stores/mat\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\">\r\n Employee Mat </a>\r\n </li>\r\n <li class=\"nav-item\">\r\n <a routerLink=\"/manage/stores/plano\" [queryParams]=\"{storeId}\" routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Plano </a>\r\n </li>\r\n <li class=\"nav-item\"><a routerLink=\"/manage/stores/settings\" [queryParams]=\"{storeId}\"\r\n routerLinkActive=\"active\" class=\"nav-link text-active-primary me-6\"> Settings </a>\r\n </li>\r\n </ul>\r\n</div>\r\n</div>" }]
|
|
60
60
|
}], ctorParameters: () => [{ type: i1.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVzLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3N0b3Jlcy1oZWFkZXIvc3RvcmVzLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL3N0b3Jlcy1oZWFkZXIvc3RvcmVzLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHFCQUFxQjtJQVN2QjtJQUNDO0lBVFYsS0FBSyxDQUFLO0lBQ1YsT0FBTyxDQUFLO0lBQ1osVUFBVSxDQUFLO0lBQ2YsWUFBWSxHQUFLLEVBQUUsQ0FBQztJQUNwQixZQUFZLENBQUs7SUFDVCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV2QyxZQUNTLEVBQXNCLEVBQ3JCLEVBQXFCO1FBRHRCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3JCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBRTdCLElBQUksQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sUUFBUSxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzVFLElBQUcsSUFBSSxJQUFFLElBQUksRUFBQzthQUNiO2lCQUFLO2dCQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDMUIsZ0NBQWdDO2dCQUNoQyx1Q0FBdUM7Z0JBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUMvRyxnQkFBZ0I7Z0JBQ2hCLDJCQUEyQjtnQkFDM0Isa0NBQWtDO2dCQUNsQywwQkFBMEI7Z0JBQzFCLE9BQU87Z0JBQ1Asb0VBQW9FO2dCQUNwRSxpQkFBaUI7Z0JBQ2pCLDRCQUE0QjtnQkFDNUIsd0NBQXdDO2dCQUN4Qyx5Q0FBeUM7Z0JBQ3pDLG9HQUFvRztnQkFDcEcsVUFBVTtnQkFDVixRQUFRO2dCQUNSLFdBQVc7YUFDUjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0E5Q1UscUJBQXFCOzRGQUFyQixxQkFBcUIseURDWGxDLDgzREEyQk07OzRGRGhCTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXN0b3Jlcy1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9yZXMtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc3RvcmVzLWhlYWRlci5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3Jlc0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdXNlcnM6YW55O1xyXG4gIHN0b3JlSWQ6YW55O1xyXG4gIGhlYWRlckRhdGE6YW55O1xyXG4gIHN0b3JlSWRhcnJheTphbnk9W107XHJcbiAgZGF0YVN0b3JlTWFwOmFueTtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gICAgdGhpcy5ncz8ubWFuYWdlUmVmcmVzaFRyaWdnZXI/LnN1YnNjcmliZSgoZSkgPT4geyAgICAgIFxyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZihkYXRhPT1udWxsKXtcclxuICAgICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlSWQgPSBkYXRhLnN0b3JlO1xyXG4gICAgICAvLyB0aGlzLmdldFN0b3JlTG9nKGRhdGEuc3RvcmUpO1xyXG4gICAgICAvLyB0aGlzLmdldENsaWVudERhdGEoZGF0YS5jbGllbnQpICAgICBcclxudGhpcy5oZWFkZXJEYXRhID0gZGF0YTtcclxudGhpcy5zdG9yZUlkYXJyYXkgID0gdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpXHJcbiAgICAgIC8vIGNvbnN0IG9iaiA9IHtcclxuICAgICAgLy8gICBjbGllbnRJZDogZGF0YS5jbGllbnQsXHJcbiAgICAgIC8vICAgc3RvcmVEYXRlOiBkYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgLy8gICBzdG9yZUlkOiBbZGF0YS5zdG9yZV1cclxuICAgICAgLy8gfTsgIFxyXG4gICAgICAvLyB0aGlzLnNlcnZpY2UuZ2V0U3RvcmVNYXBEYXRhKG9iaik/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAvLyAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAvLyAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIC8vICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgLy8gICAgICAgICB0aGlzLmRhdGFTdG9yZU1hcCA9IHJlcz8uZGF0YTtcclxuICAgICAgLy8gICAgICAgICAvLyB0aGlzLmRhdGFJbWFnZXMgPSByZXM/LmRhdGE/LmNhbWVyYUJhc2VJbWFnZSB8fCAnYXNzZXRzL3RhbmdvL0ltYWdlcy9wcmV2aWV3X25vdC5wbmcnO1xyXG4gICAgICAvLyAgICAgICB9XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgcHQtM1wiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogMCUgIWltcG9ydGFudDtcIj5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBvdmVyZmxvdy1hdXRvIGgtMzVweCBtYi0yIHBzLTVcIj5cclxuICAgIDx1bCBjbGFzcz1cIm5hdiBuYXYtc3RyZXRjaCBuYXYtbGluZS10YWJzIG5hdi1saW5lLXRhYnMtMnggYm9yZGVyLXRyYW5zcGFyZW50IGZzLTUgZnctYm9sZGVyIGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy9pbmZyYXN0cnVjdHVyZVwiIFtxdWVyeVBhcmFtc109XCJ7c3RvcmVJZH1cIlxyXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02IFwiPiBJbmZyYXN0cnVjdHVyZSA8L2E+XHJcbiAgICAgICAgPC9saT4gLS0+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj48YSByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdG9yZXMvY2FtZXJhc1wiIFtxdWVyeVBhcmFtc109XCJ7c3RvcmVJZH1cIlxyXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+Q2FtZXJhcyA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy96b25lc1wiIFtxdWVyeVBhcmFtc109XCJ7c3RvcmVJZH1cIlxyXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+IFpvbmVzIDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSAgY2xhc3M9XCJuYXYtaXRlbVwiPjxhIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXRcIiBbcXVlcnlQYXJhbXNdPVwie3N0b3JlSWR9XCJcclxuICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+IFRpY2tldHMgPC9hPlxyXG4gICAgPC9saT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJ0aGlzLnVzZXJzLnVzZXJUeXBlID09PSd0YW5nbydcIiBjbGFzcz1cIm5hdi1pdGVtXCI+PGEgcm91dGVyTGluaz1cIi9tYW5hZ2Uvc3RvcmVzL21hdFwiIFtxdWVyeVBhcmFtc109XCJ7c3RvcmVJZH1cIlxyXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+XHJcbiAgICAgICAgICAgICAgICBFbXBsb3llZSBNYXQgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICA8YSByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdG9yZXMvcGxhbm9cIiBbcXVlcnlQYXJhbXNdPVwie3N0b3JlSWR9XCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+IFBsYW5vIDwvYT5cclxuICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj48YSByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdG9yZXMvc2V0dGluZ3NcIiBbcXVlcnlQYXJhbXNdPVwie3N0b3JlSWR9XCJcclxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIiBjbGFzcz1cIm5hdi1saW5rIHRleHQtYWN0aXZlLXByaW1hcnkgbWUtNlwiPiBTZXR0aW5ncyA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -304,7 +304,7 @@ export class LayoutComponent {
|
|
|
304
304
|
}
|
|
305
305
|
get headerType() {
|
|
306
306
|
const fullPath = this.url.join('/'); // e.g. "/manage/stores/list"
|
|
307
|
-
if (fullPath === '/manage/zones/v2' ||
|
|
307
|
+
if (fullPath === '/manage/zones/v2' || fullPath === '/manage/controlcenter' ||
|
|
308
308
|
fullPath === '/manage/zones/v1' ||
|
|
309
309
|
fullPath === '/manage/traffic' ||
|
|
310
310
|
fullPath === '/manage/traffic/explore' ||
|
|
@@ -331,7 +331,7 @@ export class LayoutComponent {
|
|
|
331
331
|
if (this.url[2] === 'planogram') {
|
|
332
332
|
return 'plano';
|
|
333
333
|
}
|
|
334
|
-
if (this.url[1] === 'manage' || fullPath === '/manage/stores' || fullPath === '/manage/stores/addition-method') {
|
|
334
|
+
if (this.url[1] === 'manage' || fullPath === '/manage/stores' || fullPath === '/manage/stores/addition-method' || fullPath === '/manage/stores/add-single-store') {
|
|
335
335
|
return 'manage';
|
|
336
336
|
}
|
|
337
337
|
return null;
|
|
@@ -356,4 +356,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
356
356
|
type: ViewChild,
|
|
357
357
|
args: ['ktHeader', { static: true }]
|
|
358
358
|
}] } });
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzVDLE1BQU0sT0FBTyxlQUFlO0lBd0RoQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTdERixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLHVCQUF1QixDQUFTO0lBQ2hDLFNBQVM7SUFDVCxxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsZ0JBQWdCLENBQVU7SUFDMUIsNkJBQTZCLENBQVU7SUFDdkMsZ0NBQWdDLEdBQW1DLEVBQUUsQ0FBQztJQUN0RSwrQkFBK0IsQ0FBVTtJQUN6QyxrQ0FBa0MsR0FBbUMsRUFBRSxDQUFDO0lBQ3hFLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixnQkFBZ0IsQ0FBNkQ7SUFDN0Usa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLHdCQUF3QixHQUFtQyxFQUFFLENBQUM7SUFDOUQsdUJBQXVCLENBQVU7SUFDakMsMEJBQTBCLEdBQW1DLEVBQUUsQ0FBQztJQUNoRSx5QkFB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QWU7NEZBQWYsZUFBZSxpZUNwQjVCLG0vSEFpRkE7OzRGRDdEYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MFBBd0NvQixTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBZUEsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGNBQWM7c0JBQTVELFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNKLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgSG9zdExpc3RlbmVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBJTGF5b3V0LCBMYXlvdXRUeXBlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IExheW91dEluaXRTZXJ2aWNlLCBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIC8vIFB1YmxpYyB2YXJpYWJsZXNcclxuICAvLyBwYWdlXHJcbiAgcGFnZUNvbnRhaW5lckNTU0NsYXNzZXM6IHN0cmluZztcclxuICAvLyBoZWFkZXJcclxuICBhcHBIZWFkZXJEZWZhdWx0Q2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEhlYWRlckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgLy8gdG9vbGJhclxyXG4gIGFwcFRvb2xiYXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJMYXlvdXQ6ICdjbGFzc2ljJyB8ICdhY2NvdW50aW5nJyB8ICdleHRlbmRlZCcgfCAncmVwb3J0cycgfCAnc2Fhcyc7XHJcbiAgYXBwVG9vbGJhckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBhcHBUb29sYmFyU3dhcEVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBUb29sYmFyU3RpY2t5RW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyU3RpY2t5QXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwVG9vbGJhck1pbmltaXplRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgLy8gY29udGVudFxyXG4gIGFwcENvbnRlbnRDb250aW5lcj86ICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gIGFwcENvbnRlbnRDb250YWluZXJDbGFzczogc3RyaW5nO1xyXG4gIGNvbnRlbnRDU1NDbGFzc2VzOiBzdHJpbmc7XHJcbiAgY29udGVudENvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmc7XHJcbiAgLy8gc2lkZWJhclxyXG4gIGFwcFNpZGViYXJEZWZhdWx0Q2xhc3M6IHN0cmluZztcclxuICBhcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBTaWRlYmFyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBAVmlld0NoaWxkKCdrdFNpZGViYXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdFNpZGViYXI6IEVsZW1lbnRSZWY7XHJcbiAgLy8vIHNpZGViYXIgcGFuZWxcclxuICBhcHBTaWRlYmFyUGFuZWxEaXNwbGF5OiBib29sZWFuO1xyXG4gIC8vIGZvb3RlclxyXG4gIGFwcEZvb3RlckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwRm9vdGVyQ1NTQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckNvbnRhaW5lcjogc3RyaW5nID0gJyc7XHJcbiAgYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcEZvb3RlckZpeGVkRGVza3RvcDogYm9vbGVhbjtcclxuICBhcHBGb290ZXJGaXhlZE1vYmlsZTogYm9vbGVhbjtcclxuYXBwSGVhZGVyQmFubmVyRGlzcGxheTogYm9vbGVhbjtcclxuYXBwSGVhZGVyQmFubmVyQ1NTQ2xhc3M6IHN0cmluZyA9ICcnXHJcbiAgLy8gc2Nyb2xsdG9wXHJcbiAgc2Nyb2xsdG9wRGlzcGxheTogYm9vbGVhbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgna3RBc2lkZScsIHsgc3RhdGljOiB0cnVlIH0pIGt0QXNpZGU6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgna3RIZWFkZXJNb2JpbGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBrdEhlYWRlck1vYmlsZTogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdrdEhlYWRlcicsIHsgc3RhdGljOiB0cnVlIH0pIGt0SGVhZGVyOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW5pdFNlcnZpY2U6IExheW91dEluaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOkF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6VG9hc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnczpHbG9iYWxTdGF0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIFxyXG4gICAgLy8gZGVmaW5lIGxheW91dCB0eXBlIGFuZCBsb2FkIGxheW91dFxyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMYXlvdXRUeXBlID0gdGhpcy5sYXlvdXQuY3VycmVudExheW91dFR5cGVTdWJqZWN0LnZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCBuZXh0TGF5b3V0VHlwZTogTGF5b3V0VHlwZSA9XHJcbiAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlPy5maXJzdENoaWxkPy5zbmFwc2hvdC5kYXRhLmxheW91dCB8fFxyXG4gICAgICAgICAgdGhpcy5sYXlvdXQuZ2V0QmFzZUxheW91dFR5cGVGcm9tTG9jYWxTdG9yYWdlKCk7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50TGF5b3V0VHlwZSAhPT0gbmV4dExheW91dFR5cGUgfHwgIWN1cnJlbnRMYXlvdXRUeXBlKSB7XHJcbiAgICAgICAgICB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3QubmV4dChuZXh0TGF5b3V0VHlwZSk7XHJcbiAgICAgICAgICB0aGlzLmluaXRTZXJ2aWNlLnJlSW5pdFByb3BzKG5leHRMYXlvdXRUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxucm91dGVyU3Vic2NyaXB0aW9uOmFueTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHN1YnNjciA9IHRoaXMubGF5b3V0LmxheW91dENvbmZpZ1N1YmplY3RcclxuICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcHMoY29uZmlnKTtcclxuICAgICAgfSk7XHJcbiAgICAgICB0aGlzLmluaXRpYWxpemVDb21wb25lbnQoKTtcclxuICAgICAgICAgIC8vIHRoaXMuYWNjb3JkaW9uPy5jb2xsYXBzZUFsbCgpXHJcbiAgICAgICAgICAvLyBTdWJzY3JpYmUgdG8gcm91dGVyIGV2ZW50c1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlcj8uZXZlbnRzPy5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxyXG4gICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDb21wb25lbnQoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICBcclxuICAgICAgICAgIHRoaXMuZ3M/Lm1hbmFnZVJlZnJlc2hUcmlnZ2VyPy5zdWJzY3JpYmUoKGUpID0+IHsgICAgICBcclxuICAgICAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDb21wb25lbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICAvLyB0aGlzLm1hbmFnZVNlcnZpY2UuaXNMb2N1c0F1dGhvcml6ZWQoKS5zdWJzY3JpYmUoKHJlczphbnkpPT57XHJcbiAgICAgICAgICAvLyAgIHRoaXMuc2hvd0NyZWF0ZU9yZGVyID0gcmVzPy5tZXNzYWdlIHx8ICdVTkFVVEhPUklaRUQnXHJcbiAgICAgICAgICAvLyB9KVxyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgfVxyXG4gIHVybDphbnk7XHJcbmluaXRpYWxpemVDb21wb25lbnQoKXtcclxuICAgY29uc3QgcGF0aE9ubHkgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJz8nKVswXTtcclxuICB0aGlzLnVybCA9IHBhdGhPbmx5LnNwbGl0KCcvJyk7XHJcbn1cclxuICB1cGRhdGVQcm9wcyhjb25maWc6IElMYXlvdXQpIHtcclxuICAgIHRoaXMuc2Nyb2xsdG9wRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdzY3JvbGx0b3AuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5wYWdlQ29udGFpbmVyQ1NTQ2xhc3NlcyA9XHJcbiAgICAgIHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ3BhZ2VDb250YWluZXInKTtcclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdENsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5jbGFzcycsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmFwcEZvb3RlckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmZvb3Rlci5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmFwcFNpZGViYXJEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhclBhbmVsRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci1wYW5lbC5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuY29udGVudENTU0NsYXNzZXMgPSB0aGlzLmxheW91dC5nZXRTdHJpbmdDU1NDbGFzc2VzKCdjb250ZW50Jyk7XHJcbiAgICB0aGlzLmNvbnRlbnRDb250YWluZXJDU1NDbGFzcyA9XHJcbiAgICAgIHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ2NvbnRlbnRDb250YWluZXInKTtcclxuICAgIHRoaXMuYXBwQ29udGVudENvbnRpbmVyID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5jb250ZW50LmNvbnRhaW5lcicsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICAgIHRoaXMuYXBwQ29udGVudENvbnRhaW5lckNsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5jb250ZW50LmNvbnRhaW5lckNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIC8vIGZvb3RlclxyXG4gICAgaWYgKHRoaXMuYXBwRm9vdGVyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUZvb3Rlcihjb25maWcpO1xyXG4gICAgfVxyXG4gICAgLy8gc2lkZWJhclxyXG4gICAgaWYgKHRoaXMuYXBwU2lkZWJhckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVTaWRlYmFyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBoZWFkZXJcclxuICAgIGlmICh0aGlzLmFwcEhlYWRlckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVIZWFkZXIoY29uZmlnKTtcclxuICAgIH1cclxuICAgIC8vIHRvb2xiYXJcclxuICAgIGlmICh0aGlzLmFwcFRvb2xiYXJEaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlVG9vbGJhcihjb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2lkZWJhcihjb25maWc6IElMYXlvdXQpIHtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHRDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LmNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuXHJcbiAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LmRyYXdlci5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LmRyYXdlci5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGVmYXVsdC5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnNpZGViYXIuZGVmYXVsdC5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBzaWRlYmFyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrdF9hcHBfc2lkZWJhcicpO1xyXG4gICAgICAvLyBzaWRlYmFyXHJcbiAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEaXNwbGF5ICYmIHNpZGViYXJFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3Qgc2lkZWJhckF0dHJpYnV0ZXMgPSBzaWRlYmFyRWxlbWVudFxyXG4gICAgICAgICAgLmdldEF0dHJpYnV0ZU5hbWVzKClcclxuICAgICAgICAgIC5maWx0ZXIoKHQpID0+IHQuaW5kZXhPZignZGF0YS0nKSA+IC0xKTtcclxuICAgICAgICBzaWRlYmFyQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PlxyXG4gICAgICAgICAgc2lkZWJhckVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHNpZGViYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlSGVhZGVyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuc3RpY2t5LmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQuc3RpY2t5LmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kZWZhdWx0Lm1pbmltaXplLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLmhlYWRlci5kZWZhdWx0Lm1pbmltaXplLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgaGVhZGVyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrdF9hcHBfaGVhZGVyJyk7XHJcbiAgICAgIC8vIGhlYWRlclxyXG4gICAgICBpZiAodGhpcy5hcHBIZWFkZXJEaXNwbGF5ICYmIGhlYWRlckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBoZWFkZXJBdHRyaWJ1dGVzID0gaGVhZGVyRWxlbWVudFxyXG4gICAgICAgICAgLmdldEF0dHJpYnV0ZU5hbWVzKClcclxuICAgICAgICAgIC5maWx0ZXIoKHQpID0+IHQuaW5kZXhPZignZGF0YS0nKSA+IC0xKTtcclxuICAgICAgICBoZWFkZXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IGhlYWRlckVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIpKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIGhlYWRlckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIGhlYWRlckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUZvb3Rlcihjb25maWc6IElMYXlvdXQpIHtcclxuICAgIHRoaXMuYXBwRm9vdGVyQ1NTQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmNsYXNzJywgY29uZmlnKSBhcyBzdHJpbmc7XHJcbiAgICAvLyB0aGlzLmFwcEhlYWRlckJhbm5lckNTU0NsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcFxyXG4gICAgdGhpcy5hcHBGb290ZXJDb250YWluZXIgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmNvbnRhaW5lcicsIGNvbmZpZykgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hcHBGb290ZXJDb250YWluZXJDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY29udGFpbmVyQ2xhc3MnLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIGlmICh0aGlzLmFwcEZvb3RlckNvbnRhaW5lciA9PT0gJ2ZpeGVkJykge1xyXG4gICAgICB0aGlzLmFwcEZvb3RlckNvbnRhaW5lckNTU0NsYXNzICs9ICcgY29udGFpbmVyLXh4bCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5hcHBGb290ZXJDb250YWluZXIgPT09ICdmbHVpZCcpIHtcclxuICAgICAgICB0aGlzLmFwcEZvb3RlckNvbnRhaW5lckNTU0NsYXNzICs9ICcgY29udGFpbmVyLWZsdWlkJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwRm9vdGVyRml4ZWREZXNrdG9wID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5maXhlZC5kZXNrdG9wJywgY29uZmlnKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwRm9vdGVyRml4ZWREZXNrdG9wKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCdkYXRhLWt0LWFwcC1mb290ZXItZml4ZWQnLCAndHJ1ZScpXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBGb290ZXJGaXhlZE1vYmlsZSA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuZml4ZWQubW9iaWxlJykgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcEZvb3RlckZpeGVkTW9iaWxlKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCdkYXRhLWt0LWFwcC1mb290ZXItZml4ZWQtbW9iaWxlJywgJ3RydWUnKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVG9vbGJhcihjb25maWc6IElMYXlvdXQpIHtcclxuICAgIHRoaXMuYXBwVG9vbGJhckxheW91dCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5sYXlvdXQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgJ2NsYXNzaWMnIHwgJ2FjY291bnRpbmcnIHwgJ2V4dGVuZGVkJyB8ICdyZXBvcnRzJyB8ICdzYWFzJztcclxuICAgIHRoaXMuYXBwVG9vbGJhclN3YXBFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLnN3YXAuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhclN3YXBFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnRvb2xiYXIuc3dhcC5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBUb29sYmFyU3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhclN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyU3RpY2t5QXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC50b29sYmFyLnN0aWNreS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBUb29sYmFyQ1NTQ2xhc3MgPVxyXG4gICAgICAodGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLnRvb2xiYXIuY2xhc3MnLCBjb25maWcpIGFzIHN0cmluZykgfHwgJyc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIubWluaW1pemUuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhck1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAudG9vbGJhci5taW5pbWl6ZS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhckNTU0NsYXNzICs9ICcgYXBwLXRvb2xiYXItbWluaW1pemUnO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCB0b29sYmFyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrdF9hcHBfdG9vbGJhcicpO1xyXG4gICAgICAvLyB0b29sYmFyXHJcbiAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJEaXNwbGF5ICYmIHRvb2xiYXJFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3QgdG9vbGJhckF0dHJpYnV0ZXMgPSB0b29sYmFyRWxlbWVudFxyXG4gICAgICAgICAgLmdldEF0dHJpYnV0ZU5hbWVzKClcclxuICAgICAgICAgIC5maWx0ZXIoKHQpID0+IHQuaW5kZXhPZignZGF0YS0nKSA+IC0xKTtcclxuICAgICAgICB0b29sYmFyQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PlxyXG4gICAgICAgICAgdG9vbGJhckVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhclN3YXBFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyU3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBUb29sYmFyU3RpY2t5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyU3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgdG9vbGJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBUb29sYmFyU3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhck1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgIHRvb2xiYXJFbGVtZW50LnNldEF0dHJpYnV0ZShcclxuICAgICAgICAgICAgICAgIGtleSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgIGlmICh0aGlzLnJvdXRlclN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbmdldCBoZWFkZXJUeXBlKCk6ICd0cmF4JyB8ICdtYW5hZ2UnIHwgJ3BsYW5vJyB8ICdzdG9yZXMnIHwgbnVsbCB7XHJcbiAgY29uc3QgZnVsbFBhdGggPSB0aGlzLnVybC5qb2luKCcvJyk7IC8vIGUuZy4gXCIvbWFuYWdlL3N0b3Jlcy9saXN0XCJcclxuXHJcbiAgaWYgKFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL3pvbmVzL3YyJyB8fFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL3pvbmVzL3YxJyB8fFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL3RyYWZmaWMnIHx8XHJcbiAgICBmdWxsUGF0aCA9PT0gJy9tYW5hZ2UvdHJhZmZpYy9leHBsb3JlJyB8fFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL2FuYWx5c2UvcmVwb3J0cycgfHxcclxuICAgIHRoaXMudXJsWzJdID09PSAnZW1wbG95ZWUtbWV0cmljcycgfHwgIHRoaXMudXJsLmluY2x1ZGVzKFwibGF5b3V0LWJ1aWxkZXJcIikgfHxcclxuICAgIHRoaXMudXJsLmluY2x1ZGVzKFwiZml4dHVyZS10ZW1wbGF0ZVwiKSB8fFxyXG4gICAgdGhpcy51cmwuaW5jbHVkZXMoXCJjcmVhdGUtbGlicmFyeS12bVwiKSB8fFxyXG4gICAgdGhpcy51cmwuaW5jbHVkZXMoXCJjcmVhdGUtbGlicmFyeS1maXh0dXJlXCIpIHx8XHJcbiAgICB0aGlzLnVybC5pbmNsdWRlcyhcImNyZWF0ZS1saWJyYXJ5LXByb2R1Y3RcIikgfHxcclxuICAgIHRoaXMudXJsLmluY2x1ZGVzKFwibWFuYWdlLXBsYW5vZ3JhbVwiKSB8fCB0aGlzLnVybC5pbmNsdWRlcyhcInN0b3JlLXBsYW5vZ3JhbVwiKSB8fCBmdWxsUGF0aCA9PT1cIi9tYW5hZ2UvdGlja2V0cy9saXN0XCIgfHxcclxuICAgIHRoaXMudXJsLmluY2x1ZGVzKFwiZmluZEFuZFJlcGxhY2VcIikgfHwgXHJcbiAgICB0aGlzLnVybC5pbmNsdWRlcyhcIm1hbmFnZS1yb2xsb3V0XCIpXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiBpZiAoXHJcbiAgICAodGhpcy51cmxbMV0gPT09ICdtYW5hZ2UnICYmIHRoaXMudXJsWzJdID09PSAnc3RvcmVzJyAmJiB0aGlzLnVybC5sZW5ndGggPiAzKSl7XHJcbiAgICAgICBpZiAoZnVsbFBhdGggPT09ICcvbWFuYWdlL3N0b3Jlcy9hZGRpdGlvbi1tZXRob2QnKSB7XHJcbiAgICAgIHJldHVybiAnbWFuYWdlJztcclxuICAgIH1cclxuICAgIHJldHVybiAnc3RvcmVzJztcclxuICAgIH1cclxuICBpZiAodGhpcy51cmxbMl0gPT09ICd0cmF4Jykge1xyXG4gICAgcmV0dXJuICd0cmF4JztcclxuICB9XHJcblxyXG4gIGlmKHRoaXMudXJsWzJdID09PSAncGxhbm9ncmFtJykge1xyXG4gICAgcmV0dXJuICdwbGFubyc7XHJcbiAgfVxyXG5cclxuICBpZiAodGhpcy51cmxbMV0gPT09ICdtYW5hZ2UnIHx8IGZ1bGxQYXRoID09PSAnL21hbmFnZS9zdG9yZXMnIHx8IGZ1bGxQYXRoID09PSAnL21hbmFnZS9zdG9yZXMvYWRkaXRpb24tbWV0aG9kJykge1xyXG4gICAgcmV0dXJuICdtYW5hZ2UnO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcblxyXG4gIHByZXZpb3VzU2Nyb2xsID0gMDtcclxuICAvLyBhcHBIZWFkZXJEaXNwbGF5ID0gdHJ1ZTsgLy8gSW5pdGlhbGx5IHZpc2libGVcclxuICAvLyBpc1Rvb2xiYXJGaXhlZCA9IGZhbHNlO1xyXG4gIC8vIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbXSlcclxuICAvLyBvblNjcm9sbCgpOiB2b2lkIHtcclxuICAvLyAgIGNvbnN0IGN1cnJlbnRTY3JvbGwgPSB3aW5kb3cuc2Nyb2xsWTtcclxuXHJcbiAgLy8gICBpZiAoY3VycmVudFNjcm9sbCA+IHRoaXMucHJldmlvdXNTY3JvbGwgJiYgY3VycmVudFNjcm9sbCA+IDEwMCkge1xyXG4gIC8vICAgICAvLyBIaWRlIGhlYWRlciBvbiBzY3JvbGwgZG93blxyXG4gIC8vICAgICB0aGlzLmFwcEhlYWRlckRpc3BsYXkgPSBmYWxzZTtcclxuICAvLyAgICAgdGhpcy5pc1Rvb2xiYXJGaXhlZCA9IHRydWU7IC8vIEZpeCB0b29sYmFyXHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICAvLyBTaG93IGhlYWRlciBvbiBzY3JvbGwgdXBcclxuICAvLyAgICAgdGhpcy5hcHBIZWFkZXJEaXNwbGF5ID0gdHJ1ZTtcclxuICAvLyAgICAgdGhpcy5pc1Rvb2xiYXJGaXhlZCA9IGN1cnJlbnRTY3JvbGwgPiAxMDA7IC8vIEtlZXAgdG9vbGJhciBmaXhlZCBpZiBzY3JvbGxlZCBiZXlvbmQgMTAwcHhcclxuICAvLyAgIH1cclxuXHJcbiAgLy8gICB0aGlzLnByZXZpb3VzU2Nyb2xsID0gY3VycmVudFNjcm9sbDtcclxuICAvLyB9XHJcblxyXG4gIC8vICAgdXJsOiBzdHJpbmdbXTtcclxuICAvLyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgLy8gICAgICAgIGNvbnN0IHBhdGhPbmx5ID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcbiAgLy8gdGhpcy51cmwgPSBwYXRoT25seS5zcGxpdCgnLycpO1xyXG4gIC8vIH1cclxufVxyXG4iLCI8IS0tYmVnaW46OkFwcC0tPlxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtcm9vdCBhcHAtcm9vdFwiIGlkPVwia3RfYXBwX3Jvb3RcIj5cclxuICA8IS0tYmVnaW46OlBhZ2UtLT5cclxuICA8ZGl2IGNsYXNzPVwiYXBwLXBhZ2UgZmxleC1jb2x1bW4gZmxleC1jb2x1bW4tZmx1aWRcIiBpZD1cImt0X2FwcF9wYWdlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwSGVhZGVyRGlzcGxheVwiPlxyXG4gICAgICA8IS0tYmVnaW46OkhlYWRlci0tPlxyXG4gICAgICA8bGliLWhlYWRlciBbbmdDbGFzc109XCJhcHBIZWFkZXJEZWZhdWx0Q2xhc3NcIiBpZD1cImt0X2FwcF9oZWFkZXJcIiBjbGFzcz1cImFwcC1oZWFkZXJcIiBkYXRhLWt0LXN0aWNreT1cInRydWVcIiBkYXRhLWt0LXN0aWNreS1hY3RpdmF0ZT1cIntkZWZhdWx0OiB0cnVlLCBsZzogdHJ1ZX1cIiBkYXRhLWt0LXN0aWNreS1uYW1lPVwiYXBwLWhlYWRlci1taW5pbWl6ZVwiIGRhdGEta3Qtc3RpY2t5LW9mZnNldD1cIntkZWZhdWx0OiAnMjAwcHgnLCBsZzogJzAnfVwiIGRhdGEta3Qtc3RpY2t5LWFuaW1hdGlvbj1cImZhbHNlXCI+XHJcbiAgICAgIDwvbGliLWhlYWRlcj5cclxuICAgICAgPCEtLWVuZDo6SGVhZGVyLS0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tYmVnaW46OldyYXBwZXItLT5cclxuICAgIDxkaXYgY2xhc3M9XCJhcHAtd3JhcHBlciBmbGV4LWNvbHVtbiBmbGV4LXJvdy1mbHVpZFwiIGlkPVwia3RfYXBwX3dyYXBwZXJcIj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBTaWRlYmFyRGlzcGxheVwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6c2lkZWJhci0tPlxyXG4gICAgICAgIDxsaWItc2lkZWJhciAja3RTaWRlYmFyIGlkPVwia3RfYXBwX3NpZGViYXJcIiBjbGFzcz1cImFwcC1zaWRlYmFyIGZsZXgtY29sdW1uXCIgW25nQ2xhc3NdPVwiYXBwU2lkZWJhckRlZmF1bHRDbGFzc1wiPlxyXG4gICAgICAgIDwvbGliLXNpZGViYXI+XHJcbiAgICAgICAgPCEtLWVuZDo6c2lkZWJhci0tPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBTaWRlYmFyUGFuZWxEaXNwbGF5XCI+XHJcbiAgICAgICAgPCEtLSBUT0RPOiBhcHAgc2lkZWJhciBwYW5lbCAtLT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS1iZWdpbjo6TWFpbi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwLW1haW4gY29udGVudCBmbGV4LWNvbHVtbiBmbGV4LXJvdy1mbHVpZCBtdC01XCIgaWQ9XCJrdF9hcHBfbWFpblwiPlxyXG4gICAgICAgIDwhLS1iZWdpbjo6Q29udGVudCB3cmFwcGVyLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxsaWItaGVhZGVyLWJhbm5lciAqbmdJZj1cImhlYWRlclR5cGUgPT09J3RyYXgnXCIgY2xhc3M9XCJhcHAtaGVhZGVyLWJhbm5lclwiIFtuZ0NsYXNzXT1cImFwcEhlYWRlckJhbm5lckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfaGVhZGVyX2Jhbm5lclwiXHJcbiAgICAgICAgICAgID48L2xpYi1oZWFkZXItYmFubmVyPiBcclxuICAgICAgICAgICAgICA8bGliLWJyYW5kcy1oZWFkZXIgKm5nSWY9XCJoZWFkZXJUeXBlID09PSdtYW5hZ2UnXCIgY2xhc3M9XCJhcHAtaGVhZGVyLWJhbm5lclwiIFtuZ0NsYXNzXT1cImFwcEhlYWRlckJhbm5lckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfaGVhZGVyX2Jhbm5lclwiXHJcbiAgICAgICAgICAgID48L2xpYi1icmFuZHMtaGVhZGVyPiBcclxuICAgICAgICAgICAgPGxpYi1wbGFuby1oZWFkZXIgKm5nSWY9XCJoZWFkZXJUeXBlID09PSdwbGFubydcIiBjbGFzcz1cImFwcC1oZWFkZXItYmFubmVyXCIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyQmFubmVyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF9oZWFkZXJfYmFubmVyXCJcclxuICAgICAgICAgICAgPjwvbGliLXBsYW5vLWhlYWRlcj4gXHJcbiAgICAgICAgICAgICA8bGliLXN0b3Jlcy1oZWFkZXIgKm5nSWY9XCJoZWFkZXJUeXBlID09PSdzdG9yZXMnXCIgY2xhc3M9XCJhcHAtaGVhZGVyLWJhbm5lclwiIFtuZ0NsYXNzXT1cImFwcEhlYWRlckJhbm5lckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfaGVhZGVyX2Jhbm5lclwiXHJcbiAgICAgICAgICAgID48L2xpYi1zdG9yZXMtaGVhZGVyPiBcclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyRGlzcGxheVwiPlxyXG4gICAgICAgICAgPGxpYi10b29sYmFyIFtuZ0NsYXNzXT1cInsnZml4ZWQtdG9vbGJhcic6IGlzVG9vbGJhckZpeGVkfVwiICBjbGFzcz1cImFwcC10b29sYmFyXCIgW25nQ2xhc3NdPVwiYXBwVG9vbGJhckNTU0NsYXNzXCIgaWQ9XCJrdF9hcHBfdG9vbGJhclwiXHJcbiAgICAgICAgICAgIFthcHBUb29sYmFyTGF5b3V0XT1cImFwcFRvb2xiYXJMYXlvdXRcIj48L2xpYi10b29sYmFyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtY29sdW1uLWZsdWlkXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8bGliLWNvbnRlbnQgaWQ9XCIga3RfYXBwX2NvbnRlbnRcIiBjbGFzcz1cImFwcC1jb250ZW50IG10LTVcIiBbbmdDbGFzc109XCJjb250ZW50Q1NTQ2xhc3Nlc1wiXHJcbiAgICAgICAgICAgIFtjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3NdPVwiY29udGVudENvbnRhaW5lckNTU0NsYXNzXCIgW2FwcENvbnRlbnRDb250aW5lcl09XCJhcHBDb250ZW50Q29udGluZXJcIlxyXG4gICAgICAgICAgICBbYXBwQ29udGVudENvbnRhaW5lckNsYXNzXT1cImFwcENvbnRlbnRDb250YWluZXJDbGFzc1wiPlxyXG4gICAgICAgICAgPC9saWItY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tZW5kOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwRm9vdGVyRGlzcGxheVwiPlxyXG4gICAgICAgICAgPGxpYi1mb290ZXIgY2xhc3M9XCJhcHAtZm9vdGVyXCIgW25nQ2xhc3NdPVwiYXBwRm9vdGVyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF9mb290ZXJcIlxyXG4gICAgICAgICAgICBbYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3NdPVwiYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3NcIj48L2xpYi1mb290ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tZW5kOjo6TWFpbi0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpXcmFwcGVyLS0+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OlBhZ2UtLT5cclxuPC9kaXY+XHJcbjwhLS1lbmQ6OkFwcC0tPlxyXG5cclxuPGxpYi1zY3JpcHRzLWluaXQ+PC9saWItc2NyaXB0cy1pbml0PlxyXG48bmctY29udGFpbmVyPlxyXG4gIDxsaWItc2Nyb2xsLXRvcCBpZD1cImt0X3Njcm9sbHRvcFwiIGNsYXNzPVwic2Nyb2xsdG9wXCIgZGF0YS1rdC1zY3JvbGx0b3A9XCJ0cnVlXCI+PC9saWItc2Nyb2xsLXRvcD5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0gYmVnaW46OiBEcmF3ZXJzIC0tPlxyXG48IS0tIDxsaWItYWN0aXZpdHktZHJhd2VyPjwvbGliLWFjdGl2aXR5LWRyYXdlcj4gLS0+XHJcbjwhLS0gPGxpYi1tZXNzZW5nZXItZHJhd2VyPjwvbGliLW1lc3Nlbmdlci1kcmF3ZXI+IC0tPlxyXG48IS0tIGVuZDo6IERyYXdlcnMgLS0+XHJcblxyXG48IS0tIGVuZDo6IEVuZ2FnZSAtLT5cclxuPCEtLSA8bGliLWVuZ2FnZXM+PC9saWItZW5nYWdlcz4gLS0+XHJcbjwhLS0gZW5kOjogRW5nYWdlIC0tPlxyXG5cclxuPCEtLSBiZWdpbjo6IE1vZGFscyAtLT5cclxuPCEtLSA8bGliLW1haW4tbW9kYWw+PC9saWItbWFpbi1tb2RhbD4gLS0+XHJcbjwhLS0gPGxpYi1pbnZpdGUtdXNlcnMtbW9kYWw+PC9saWItaW52aXRlLXVzZXJzLW1vZGFsPiAtLT5cclxuPCEtLSA8bGliLXVwZ3JhZGUtcGxhbi1tb2RhbD48L2xpYi11cGdyYWRlLXBsYW4tbW9kYWw+IC0tPlxyXG48IS0tIGVuZDo6IE1vZGFscyAtLT5cclxuIl19
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBZ0IsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzVDLE1BQU0sT0FBTyxlQUFlO0lBd0RoQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQTdERixXQUFXLEdBQW1CLEVBQUUsQ0FBQztJQUV6QyxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLHVCQUF1QixDQUFTO0lBQ2hDLFNBQVM7SUFDVCxxQkFBcUIsR0FBVyxFQUFFLENBQUM7SUFDbkMsZ0JBQWdCLENBQVU7SUFDMUIsNkJBQTZCLENBQVU7SUFDdkMsZ0NBQWdDLEdBQW1DLEVBQUUsQ0FBQztJQUN0RSwrQkFBK0IsQ0FBVTtJQUN6QyxrQ0FBa0MsR0FBbUMsRUFBRSxDQUFDO0lBQ3hFLFVBQVU7SUFDVixpQkFBaUIsQ0FBVTtJQUMzQixnQkFBZ0IsQ0FBNkQ7SUFDN0Usa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBQ2hDLHFCQUFxQixDQUFVO0lBQy9CLHdCQUF3QixHQUFtQyxFQUFFLENBQUM7SUFDOUQsdUJBQXVCLENBQVU7SUFDakMsMEJBQTBCLEdBQW1DLEVBQUUsQ0FBQztJQUNoRSx5QkFB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SUFDZCxDQUFDO0lBR0MsY0FBYyxHQUFHLENBQUMsQ0FBQzt3R0F2Y1IsZUFBZTs0RkFBZixlQUFlLGllQ3BCNUIsbS9IQWlGQTs7NEZEN0RhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTswUEF3Q29CLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFlQSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1MsY0FBYztzQkFBNUQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0osUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIElMYXlvdXQsIExheW91dFR5cGUgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgTGF5b3V0SW5pdFNlcnZpY2UsIExheW91dFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgLy8gUHVibGljIHZhcmlhYmxlc1xyXG4gIC8vIHBhZ2VcclxuICBwYWdlQ29udGFpbmVyQ1NTQ2xhc3Nlczogc3RyaW5nO1xyXG4gIC8vIGhlYWRlclxyXG4gIGFwcEhlYWRlckRlZmF1bHRDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgYXBwSGVhZGVyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlczogeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBIZWFkZXJEZWZhdWx0TWluaW1pemVBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAvLyB0b29sYmFyXHJcbiAgYXBwVG9vbGJhckRpc3BsYXk6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhckxheW91dDogJ2NsYXNzaWMnIHwgJ2FjY291bnRpbmcnIHwgJ2V4dGVuZGVkJyB8ICdyZXBvcnRzJyB8ICdzYWFzJztcclxuICBhcHBUb29sYmFyQ1NTQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGFwcFRvb2xiYXJTd2FwRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcFRvb2xiYXJTdGlja3lFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJTdGlja3lBdHRyaWJ1dGVzOiB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBhcHBUb29sYmFyTWluaW1pemVFbmFibGVkOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAvLyBjb250ZW50XHJcbiAgYXBwQ29udGVudENvbnRpbmVyPzogJ2ZpeGVkJyB8ICdmbHVpZCc7XHJcbiAgYXBwQ29udGVudENvbnRhaW5lckNsYXNzOiBzdHJpbmc7XHJcbiAgY29udGVudENTU0NsYXNzZXM6IHN0cmluZztcclxuICBjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3M6IHN0cmluZztcclxuICAvLyBzaWRlYmFyXHJcbiAgYXBwU2lkZWJhckRlZmF1bHRDbGFzczogc3RyaW5nO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIGFwcFNpZGViYXJEaXNwbGF5OiBib29sZWFuO1xyXG4gIGFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZDogYm9vbGVhbjtcclxuICBhcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXM6IHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIEBWaWV3Q2hpbGQoJ2t0U2lkZWJhcicsIHsgc3RhdGljOiB0cnVlIH0pIGt0U2lkZWJhcjogRWxlbWVudFJlZjtcclxuICAvLy8gc2lkZWJhciBwYW5lbFxyXG4gIGFwcFNpZGViYXJQYW5lbERpc3BsYXk6IGJvb2xlYW47XHJcbiAgLy8gZm9vdGVyXHJcbiAgYXBwRm9vdGVyRGlzcGxheTogYm9vbGVhbjtcclxuICBhcHBGb290ZXJDU1NDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgYXBwRm9vdGVyQ29udGFpbmVyOiBzdHJpbmcgPSAnJztcclxuICBhcHBGb290ZXJDb250YWluZXJDU1NDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgYXBwRm9vdGVyRml4ZWREZXNrdG9wOiBib29sZWFuO1xyXG4gIGFwcEZvb3RlckZpeGVkTW9iaWxlOiBib29sZWFuO1xyXG5hcHBIZWFkZXJCYW5uZXJEaXNwbGF5OiBib29sZWFuO1xyXG5hcHBIZWFkZXJCYW5uZXJDU1NDbGFzczogc3RyaW5nID0gJydcclxuICAvLyBzY3JvbGx0b3BcclxuICBzY3JvbGx0b3BEaXNwbGF5OiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkKCdrdEFzaWRlJywgeyBzdGF0aWM6IHRydWUgfSkga3RBc2lkZTogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdrdEhlYWRlck1vYmlsZScsIHsgc3RhdGljOiB0cnVlIH0pIGt0SGVhZGVyTW9iaWxlOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2t0SGVhZGVyJywgeyBzdGF0aWM6IHRydWUgfSkga3RIZWFkZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbml0U2VydmljZTogTGF5b3V0SW5pdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxheW91dDogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTpUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgXHJcbiAgICAvLyBkZWZpbmUgbGF5b3V0IHR5cGUgYW5kIGxvYWQgbGF5b3V0XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExheW91dFR5cGUgPSB0aGlzLmxheW91dC5jdXJyZW50TGF5b3V0VHlwZVN1YmplY3QudmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IG5leHRMYXlvdXRUeXBlOiBMYXlvdXRUeXBlID1cclxuICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGU/LmZpcnN0Q2hpbGQ/LnNuYXBzaG90LmRhdGEubGF5b3V0IHx8XHJcbiAgICAgICAgICB0aGlzLmxheW91dC5nZXRCYXNlTGF5b3V0VHlwZUZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuXHJcbiAgICAgICAgaWYgKGN1cnJlbnRMYXlvdXRUeXBlICE9PSBuZXh0TGF5b3V0VHlwZSB8fCAhY3VycmVudExheW91dFR5cGUpIHtcclxuICAgICAgICAgIHRoaXMubGF5b3V0LmN1cnJlbnRMYXlvdXRUeXBlU3ViamVjdC5uZXh0KG5leHRMYXlvdXRUeXBlKTtcclxuICAgICAgICAgIHRoaXMuaW5pdFNlcnZpY2UucmVJbml0UHJvcHMobmV4dExheW91dFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5yb3V0ZXJTdWJzY3JpcHRpb246YW55O1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3Qgc3Vic2NyID0gdGhpcy5sYXlvdXQubGF5b3V0Q29uZmlnU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wcyhjb25maWcpO1xyXG4gICAgICB9KTtcclxuICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xyXG4gICAgICAgICAgLy8gdGhpcy5hY2NvcmRpb24/LmNvbGxhcHNlQWxsKClcclxuICAgICAgICAgIC8vIFN1YnNjcmliZSB0byByb3V0ZXIgZXZlbnRzXHJcbiAgICAgICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyPy5ldmVudHM/LnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXHJcbiAgICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgdGhpcy5ncz8ubWFuYWdlUmVmcmVzaFRyaWdnZXI/LnN1YnNjcmliZSgoZSkgPT4geyAgICAgIFxyXG4gICAgICAgICAgICBpZiAoZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIC8vIHRoaXMubWFuYWdlU2VydmljZS5pc0xvY3VzQXV0aG9yaXplZCgpLnN1YnNjcmliZSgocmVzOmFueSk9PntcclxuICAgICAgICAgIC8vICAgdGhpcy5zaG93Q3JlYXRlT3JkZXIgPSByZXM/Lm1lc3NhZ2UgfHwgJ1VOQVVUSE9SSVpFRCdcclxuICAgICAgICAgIC8vIH0pXHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2goc3Vic2NyKTtcclxuICB9XHJcbiAgdXJsOmFueTtcclxuaW5pdGlhbGl6ZUNvbXBvbmVudCgpe1xyXG4gICBjb25zdCBwYXRoT25seSA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgnPycpWzBdO1xyXG4gIHRoaXMudXJsID0gcGF0aE9ubHkuc3BsaXQoJy8nKTtcclxufVxyXG4gIHVwZGF0ZVByb3BzKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5zY3JvbGx0b3BEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ3Njcm9sbHRvcC5kaXNwbGF5JyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLnBhZ2VDb250YWluZXJDU1NDbGFzc2VzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygncGFnZUNvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0Q2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmhlYWRlci5kZWZhdWx0LmNsYXNzJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwSGVhZGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwRm9vdGVyRGlzcGxheSA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuZm9vdGVyLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnNpZGViYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyUGFuZWxEaXNwbGF5ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLXBhbmVsLmRpc3BsYXknLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuZGlzcGxheScsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5jb250ZW50Q1NTQ2xhc3NlcyA9IHRoaXMubGF5b3V0LmdldFN0cmluZ0NTU0NsYXNzZXMoJ2NvbnRlbnQnKTtcclxuICAgIHRoaXMuY29udGVudENvbnRhaW5lckNTU0NsYXNzID1cclxuICAgICAgdGhpcy5sYXlvdXQuZ2V0U3RyaW5nQ1NTQ2xhc3NlcygnY29udGVudENvbnRhaW5lcicpO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGluZXIgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzICdmaXhlZCcgfCAnZmx1aWQnO1xyXG4gICAgdGhpcy5hcHBDb250ZW50Q29udGFpbmVyQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLmNvbnRlbnQuY29udGFpbmVyQ2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgLy8gZm9vdGVyXHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJEaXNwbGF5KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9vdGVyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICAvLyBzaWRlYmFyXHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVNpZGViYXIoY29uZmlnKTtcclxuICAgIH1cclxuICAgIC8vIGhlYWRlclxyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGlzcGxheSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlcihjb25maWcpO1xyXG4gICAgfVxyXG4gICAgLy8gdG9vbGJhclxyXG4gICAgaWYgKHRoaXMuYXBwVG9vbGJhckRpc3BsYXkpIHtcclxuICAgICAgdGhpcy51cGRhdGVUb29sYmFyKGNvbmZpZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTaWRlYmFyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdENsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuY2xhc3MnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgc3RyaW5nO1xyXG5cclxuICAgIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmVuYWJsZWQnLFxyXG4gICAgICBjb25maWdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5zaWRlYmFyLmRlZmF1bHQuZHJhd2VyLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuc2lkZWJhci5kZWZhdWx0LnN0aWNreS5hdHRyaWJ1dGVzJyxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKSBhcyB7IFthdHRyTmFtZTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNpZGViYXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9zaWRlYmFyJyk7XHJcbiAgICAgIC8vIHNpZGViYXJcclxuICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRpc3BsYXkgJiYgc2lkZWJhckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzaWRlYmFyQXR0cmlidXRlcyA9IHNpZGViYXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIHNpZGViYXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+XHJcbiAgICAgICAgICBzaWRlYmFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cilcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwU2lkZWJhckRlZmF1bHREcmF3ZXJBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0RHJhd2VyQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgc2lkZWJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBTaWRlYmFyRGVmYXVsdERyYXdlckF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBTaWRlYmFyRGVmYXVsdFN0aWNreUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwU2lkZWJhckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICBzaWRlYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFNpZGViYXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlc1trZXldXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVIZWFkZXIoY29uZmlnOiBJTGF5b3V0KSB7XHJcbiAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdFN0aWNreUVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC5oZWFkZXIuZGVmYXVsdC5zdGlja3kuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuZW5hYmxlZCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAuaGVhZGVyLmRlZmF1bHQubWluaW1pemUuYXR0cmlidXRlcycsXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgICkgYXMgeyBbYXR0ck5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF9oZWFkZXInKTtcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIGlmICh0aGlzLmFwcEhlYWRlckRpc3BsYXkgJiYgaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlckF0dHJpYnV0ZXMgPSBoZWFkZXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIGhlYWRlckF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4gaGVhZGVyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cikpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0U3RpY2t5QXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRTdGlja3lBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBIZWFkZXJEZWZhdWx0TWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwSGVhZGVyRGVmYXVsdE1pbmltaXplQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcEhlYWRlckRlZmF1bHRNaW5pbWl6ZUF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9vdGVyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBGb290ZXJDU1NDbGFzcyA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY2xhc3MnLCBjb25maWcpIGFzIHN0cmluZztcclxuICAgIC8vIHRoaXMuYXBwSGVhZGVyQmFubmVyQ1NTQ2xhc3MgPSB0aGlzLmxheW91dC5nZXRQcm9wXHJcbiAgICB0aGlzLmFwcEZvb3RlckNvbnRhaW5lciA9IHRoaXMubGF5b3V0LmdldFByb3AoJ2FwcC5mb290ZXIuY29udGFpbmVyJywgY29uZmlnKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcEZvb3RlckNvbnRhaW5lckNTU0NsYXNzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5jb250YWluZXJDbGFzcycsIGNvbmZpZykgYXMgc3RyaW5nO1xyXG4gICAgaWYgKHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyID09PSAnZml4ZWQnKSB7XHJcbiAgICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3MgKz0gJyBjb250YWluZXIteHhsJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmFwcEZvb3RlckNvbnRhaW5lciA9PT0gJ2ZsdWlkJykge1xyXG4gICAgICAgIHRoaXMuYXBwRm9vdGVyQ29udGFpbmVyQ1NTQ2xhc3MgKz0gJyBjb250YWluZXItZmx1aWQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBGb290ZXJGaXhlZERlc2t0b3AgPSB0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAuZm9vdGVyLmZpeGVkLmRlc2t0b3AnLCBjb25maWcpIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBGb290ZXJGaXhlZERlc2t0b3ApIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtYXBwLWZvb3Rlci1maXhlZCcsICd0cnVlJylcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcEZvb3RlckZpeGVkTW9iaWxlID0gdGhpcy5sYXlvdXQuZ2V0UHJvcCgnYXBwLmZvb3Rlci5maXhlZC5tb2JpbGUnKSBhcyBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuYXBwRm9vdGVyRml4ZWRNb2JpbGUpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2RhdGEta3QtYXBwLWZvb3Rlci1maXhlZC1tb2JpbGUnLCAndHJ1ZScpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUb29sYmFyKGNvbmZpZzogSUxheW91dCkge1xyXG4gICAgdGhpcy5hcHBUb29sYmFyTGF5b3V0ID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLmxheW91dCcsXHJcbiAgICAgIGNvbmZpZ1xyXG4gICAgKSBhcyAnY2xhc3NpYycgfCAnYWNjb3VudGluZycgfCAnZXh0ZW5kZWQnIHwgJ3JlcG9ydHMnIHwgJ3NhYXMnO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyU3dhcEVuYWJsZWQgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIuc3dhcC5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBUb29sYmFyU3dhcEVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXMgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAgICdhcHAudG9vbGJhci5zd2FwLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFRvb2xiYXJTdGlja3lFbmFibGVkID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLnN0aWNreS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBUb29sYmFyU3RpY2t5RW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmFwcFRvb2xiYXJTdGlja3lBdHRyaWJ1dGVzID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgICAnYXBwLnRvb2xiYXIuc3RpY2t5LmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcFRvb2xiYXJDU1NDbGFzcyA9XHJcbiAgICAgICh0aGlzLmxheW91dC5nZXRQcm9wKCdhcHAudG9vbGJhci5jbGFzcycsIGNvbmZpZykgYXMgc3RyaW5nKSB8fCAnJztcclxuICAgIHRoaXMuYXBwVG9vbGJhck1pbmltaXplRW5hYmxlZCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5taW5pbWl6ZS5lbmFibGVkJyxcclxuICAgICAgY29uZmlnXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICBpZiAodGhpcy5hcHBUb29sYmFyTWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlcyA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICAgJ2FwcC50b29sYmFyLm1pbmltaXplLmF0dHJpYnV0ZXMnLFxyXG4gICAgICAgIGNvbmZpZ1xyXG4gICAgICApIGFzIHsgW2F0dHJOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgICAgdGhpcy5hcHBUb29sYmFyQ1NTQ2xhc3MgKz0gJyBhcHAtdG9vbGJhci1taW5pbWl6ZSc7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRvb2xiYXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0X2FwcF90b29sYmFyJyk7XHJcbiAgICAgIC8vIHRvb2xiYXJcclxuICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhckRpc3BsYXkgJiYgdG9vbGJhckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCB0b29sYmFyQXR0cmlidXRlcyA9IHRvb2xiYXJFbGVtZW50XHJcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlTmFtZXMoKVxyXG4gICAgICAgICAgLmZpbHRlcigodCkgPT4gdC5pbmRleE9mKCdkYXRhLScpID4gLTEpO1xyXG4gICAgICAgIHRvb2xiYXJBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+XHJcbiAgICAgICAgICB0b29sYmFyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cilcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyU3dhcEVuYWJsZWQpIHtcclxuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuYXBwVG9vbGJhclN3YXBBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTd2FwQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgdG9vbGJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBUb29sYmFyU3dhcEF0dHJpYnV0ZXNba2V5XVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTdGlja3lFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcFRvb2xiYXJTdGlja3lBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcFRvb2xiYXJTdGlja3lBdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICB0b29sYmFyRWxlbWVudC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcFRvb2xiYXJTdGlja3lBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5hcHBUb29sYmFyTWluaW1pemVFbmFibGVkKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmFwcFRvb2xiYXJNaW5pbWl6ZUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuYXBwVG9vbGJhck1pbmltaXplQXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgdG9vbGJhckVsZW1lbnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBUb29sYmFyTWluaW1pemVBdHRyaWJ1dGVzW2tleV1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgaWYgKHRoaXMucm91dGVyU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuZ2V0IGhlYWRlclR5cGUoKTogJ3RyYXgnIHwgJ21hbmFnZScgfCAncGxhbm8nIHwgJ3N0b3JlcycgfCBudWxsIHtcclxuICBjb25zdCBmdWxsUGF0aCA9IHRoaXMudXJsLmpvaW4oJy8nKTsgLy8gZS5nLiBcIi9tYW5hZ2Uvc3RvcmVzL2xpc3RcIlxyXG5cclxuICBpZiAoXHJcbiAgICBmdWxsUGF0aCA9PT0gJy9tYW5hZ2Uvem9uZXMvdjInIHx8IGZ1bGxQYXRoID09PSAnL21hbmFnZS9jb250cm9sY2VudGVyJyB8fFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL3pvbmVzL3YxJyB8fFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL3RyYWZmaWMnIHx8XHJcbiAgICBmdWxsUGF0aCA9PT0gJy9tYW5hZ2UvdHJhZmZpYy9leHBsb3JlJyB8fFxyXG4gICAgZnVsbFBhdGggPT09ICcvbWFuYWdlL2FuYWx5c2UvcmVwb3J0cycgfHxcclxuICAgIHRoaXMudXJsWzJdID09PSAnZW1wbG95ZWUtbWV0cmljcycgfHwgIHRoaXMudXJsLmluY2x1ZGVzKFwibGF5b3V0LWJ1aWxkZXJcIikgfHxcclxuICAgIHRoaXMudXJsLmluY2x1ZGVzKFwiZml4dHVyZS10ZW1wbGF0ZVwiKSB8fFxyXG4gICAgdGhpcy51cmwuaW5jbHVkZXMoXCJjcmVhdGUtbGlicmFyeS12bVwiKSB8fFxyXG4gICAgdGhpcy51cmwuaW5jbHVkZXMoXCJjcmVhdGUtbGlicmFyeS1maXh0dXJlXCIpIHx8XHJcbiAgICB0aGlzLnVybC5pbmNsdWRlcyhcImNyZWF0ZS1saWJyYXJ5LXByb2R1Y3RcIikgfHxcclxuICAgIHRoaXMudXJsLmluY2x1ZGVzKFwibWFuYWdlLXBsYW5vZ3JhbVwiKSB8fCB0aGlzLnVybC5pbmNsdWRlcyhcInN0b3JlLXBsYW5vZ3JhbVwiKSB8fCBmdWxsUGF0aCA9PT1cIi9tYW5hZ2UvdGlja2V0cy9saXN0XCIgfHxcclxuICAgIHRoaXMudXJsLmluY2x1ZGVzKFwiZmluZEFuZFJlcGxhY2VcIikgfHwgXHJcbiAgICB0aGlzLnVybC5pbmNsdWRlcyhcIm1hbmFnZS1yb2xsb3V0XCIpXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiBpZiAoXHJcbiAgICAodGhpcy51cmxbMV0gPT09ICdtYW5hZ2UnICYmIHRoaXMudXJsWzJdID09PSAnc3RvcmVzJyAmJiB0aGlzLnVybC5sZW5ndGggPiAzKSl7XHJcbiAgICAgICBpZiAoZnVsbFBhdGggPT09ICcvbWFuYWdlL3N0b3Jlcy9hZGRpdGlvbi1tZXRob2QnKSB7XHJcbiAgICAgIHJldHVybiAnbWFuYWdlJztcclxuICAgIH1cclxuICAgIHJldHVybiAnc3RvcmVzJztcclxuICAgIH1cclxuICBpZiAodGhpcy51cmxbMl0gPT09ICd0cmF4Jykge1xyXG4gICAgcmV0dXJuICd0cmF4JztcclxuICB9XHJcblxyXG4gIGlmKHRoaXMudXJsWzJdID09PSAncGxhbm9ncmFtJykge1xyXG4gICAgcmV0dXJuICdwbGFubyc7XHJcbiAgfVxyXG5cclxuICBpZiAodGhpcy51cmxbMV0gPT09ICdtYW5hZ2UnIHx8IGZ1bGxQYXRoID09PSAnL21hbmFnZS9zdG9yZXMnIHx8IGZ1bGxQYXRoID09PSAnL21hbmFnZS9zdG9yZXMvYWRkaXRpb24tbWV0aG9kJyB8fCBmdWxsUGF0aCA9PT0gJy9tYW5hZ2Uvc3RvcmVzL2FkZC1zaW5nbGUtc3RvcmUnKSB7XHJcbiAgICByZXR1cm4gJ21hbmFnZSc7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuXHJcbiAgcHJldmlvdXNTY3JvbGwgPSAwO1xyXG4gIC8vIGFwcEhlYWRlckRpc3BsYXkgPSB0cnVlOyAvLyBJbml0aWFsbHkgdmlzaWJsZVxyXG4gIC8vIGlzVG9vbGJhckZpeGVkID0gZmFsc2U7XHJcbiAgLy8gQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKVxyXG4gIC8vIG9uU2Nyb2xsKCk6IHZvaWQge1xyXG4gIC8vICAgY29uc3QgY3VycmVudFNjcm9sbCA9IHdpbmRvdy5zY3JvbGxZO1xyXG5cclxuICAvLyAgIGlmIChjdXJyZW50U2Nyb2xsID4gdGhpcy5wcmV2aW91c1Njcm9sbCAmJiBjdXJyZW50U2Nyb2xsID4gMTAwKSB7XHJcbiAgLy8gICAgIC8vIEhpZGUgaGVhZGVyIG9uIHNjcm9sbCBkb3duXHJcbiAgLy8gICAgIHRoaXMuYXBwSGVhZGVyRGlzcGxheSA9IGZhbHNlO1xyXG4gIC8vICAgICB0aGlzLmlzVG9vbGJhckZpeGVkID0gdHJ1ZTsgLy8gRml4IHRvb2xiYXJcclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIC8vIFNob3cgaGVhZGVyIG9uIHNjcm9sbCB1cFxyXG4gIC8vICAgICB0aGlzLmFwcEhlYWRlckRpc3BsYXkgPSB0cnVlO1xyXG4gIC8vICAgICB0aGlzLmlzVG9vbGJhckZpeGVkID0gY3VycmVudFNjcm9sbCA+IDEwMDsgLy8gS2VlcCB0b29sYmFyIGZpeGVkIGlmIHNjcm9sbGVkIGJleW9uZCAxMDBweFxyXG4gIC8vICAgfVxyXG5cclxuICAvLyAgIHRoaXMucHJldmlvdXNTY3JvbGwgPSBjdXJyZW50U2Nyb2xsO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gICB1cmw6IHN0cmluZ1tdO1xyXG4gIC8vIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAvLyAgICAgICAgY29uc3QgcGF0aE9ubHkgPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoJz8nKVswXTtcclxuICAvLyB0aGlzLnVybCA9IHBhdGhPbmx5LnNwbGl0KCcvJyk7XHJcbiAgLy8gfVxyXG59XHJcbiIsIjwhLS1iZWdpbjo6QXBwLS0+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1yb290IGFwcC1yb290XCIgaWQ9XCJrdF9hcHBfcm9vdFwiPlxyXG4gIDwhLS1iZWdpbjo6UGFnZS0tPlxyXG4gIDxkaXYgY2xhc3M9XCJhcHAtcGFnZSBmbGV4LWNvbHVtbiBmbGV4LWNvbHVtbi1mbHVpZFwiIGlkPVwia3RfYXBwX3BhZ2VcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBIZWFkZXJEaXNwbGF5XCI+XHJcbiAgICAgIDwhLS1iZWdpbjo6SGVhZGVyLS0+XHJcbiAgICAgIDxsaWItaGVhZGVyIFtuZ0NsYXNzXT1cImFwcEhlYWRlckRlZmF1bHRDbGFzc1wiIGlkPVwia3RfYXBwX2hlYWRlclwiIGNsYXNzPVwiYXBwLWhlYWRlclwiIGRhdGEta3Qtc3RpY2t5PVwidHJ1ZVwiIGRhdGEta3Qtc3RpY2t5LWFjdGl2YXRlPVwie2RlZmF1bHQ6IHRydWUsIGxnOiB0cnVlfVwiIGRhdGEta3Qtc3RpY2t5LW5hbWU9XCJhcHAtaGVhZGVyLW1pbmltaXplXCIgZGF0YS1rdC1zdGlja3ktb2Zmc2V0PVwie2RlZmF1bHQ6ICcyMDBweCcsIGxnOiAnMCd9XCIgZGF0YS1rdC1zdGlja3ktYW5pbWF0aW9uPVwiZmFsc2VcIj5cclxuICAgICAgPC9saWItaGVhZGVyPlxyXG4gICAgICA8IS0tZW5kOjpIZWFkZXItLT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS1iZWdpbjo6V3JhcHBlci0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFwcC13cmFwcGVyIGZsZXgtY29sdW1uIGZsZXgtcm93LWZsdWlkXCIgaWQ9XCJrdF9hcHBfd3JhcHBlclwiPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFNpZGViYXJEaXNwbGF5XCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpzaWRlYmFyLS0+XHJcbiAgICAgICAgPGxpYi1zaWRlYmFyICNrdFNpZGViYXIgaWQ9XCJrdF9hcHBfc2lkZWJhclwiIGNsYXNzPVwiYXBwLXNpZGViYXIgZmxleC1jb2x1bW5cIiBbbmdDbGFzc109XCJhcHBTaWRlYmFyRGVmYXVsdENsYXNzXCI+XHJcbiAgICAgICAgPC9saWItc2lkZWJhcj5cclxuICAgICAgICA8IS0tZW5kOjpzaWRlYmFyLS0+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFNpZGViYXJQYW5lbERpc3BsYXlcIj5cclxuICAgICAgICA8IS0tIFRPRE86IGFwcCBzaWRlYmFyIHBhbmVsIC0tPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLWJlZ2luOjpNYWluLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbWFpbiBjb250ZW50IGZsZXgtY29sdW1uIGZsZXgtcm93LWZsdWlkIG10LTVcIiBpZD1cImt0X2FwcF9tYWluXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpDb250ZW50IHdyYXBwZXItLT5cclxuICAgICAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGxpYi1oZWFkZXItYmFubmVyICpuZ0lmPVwiaGVhZGVyVHlwZSA9PT0ndHJheCdcIiBjbGFzcz1cImFwcC1oZWFkZXItYmFubmVyXCIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyQmFubmVyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF9oZWFkZXJfYmFubmVyXCJcclxuICAgICAgICAgICAgPjwvbGliLWhlYWRlci1iYW5uZXI+IFxyXG4gICAgICAgICAgICAgIDxsaWItYnJhbmRzLWhlYWRlciAqbmdJZj1cImhlYWRlclR5cGUgPT09J21hbmFnZSdcIiBjbGFzcz1cImFwcC1oZWFkZXItYmFubmVyXCIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyQmFubmVyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF9oZWFkZXJfYmFubmVyXCJcclxuICAgICAgICAgICAgPjwvbGliLWJyYW5kcy1oZWFkZXI+IFxyXG4gICAgICAgICAgICA8bGliLXBsYW5vLWhlYWRlciAqbmdJZj1cImhlYWRlclR5cGUgPT09J3BsYW5vJ1wiIGNsYXNzPVwiYXBwLWhlYWRlci1iYW5uZXJcIiBbbmdDbGFzc109XCJhcHBIZWFkZXJCYW5uZXJDU1NDbGFzc1wiIGlkPVwia3RfYXBwX2hlYWRlcl9iYW5uZXJcIlxyXG4gICAgICAgICAgICA+PC9saWItcGxhbm8taGVhZGVyPiBcclxuICAgICAgICAgICAgIDxsaWItc3RvcmVzLWhlYWRlciAqbmdJZj1cImhlYWRlclR5cGUgPT09J3N0b3JlcydcIiBjbGFzcz1cImFwcC1oZWFkZXItYmFubmVyXCIgW25nQ2xhc3NdPVwiYXBwSGVhZGVyQmFubmVyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF9oZWFkZXJfYmFubmVyXCJcclxuICAgICAgICAgICAgPjwvbGliLXN0b3Jlcy1oZWFkZXI+IFxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcFRvb2xiYXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICA8bGliLXRvb2xiYXIgW25nQ2xhc3NdPVwieydmaXhlZC10b29sYmFyJzogaXNUb29sYmFyRml4ZWR9XCIgIGNsYXNzPVwiYXBwLXRvb2xiYXJcIiBbbmdDbGFzc109XCJhcHBUb29sYmFyQ1NTQ2xhc3NcIiBpZD1cImt0X2FwcF90b29sYmFyXCJcclxuICAgICAgICAgICAgW2FwcFRvb2xiYXJMYXlvdXRdPVwiYXBwVG9vbGJhckxheW91dFwiPjwvbGliLXRvb2xiYXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1jb2x1bW4tZmx1aWRcIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDxsaWItY29udGVudCBpZD1cIiBrdF9hcHBfY29udGVudFwiIGNsYXNzPVwiYXBwLWNvbnRlbnQgbXQtNVwiIFtuZ0NsYXNzXT1cImNvbnRlbnRDU1NDbGFzc2VzXCJcclxuICAgICAgICAgICAgW2NvbnRlbnRDb250YWluZXJDU1NDbGFzc109XCJjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3NcIiBbYXBwQ29udGVudENvbnRpbmVyXT1cImFwcENvbnRlbnRDb250aW5lclwiXHJcbiAgICAgICAgICAgIFthcHBDb250ZW50Q29udGFpbmVyQ2xhc3NdPVwiYXBwQ29udGVudENvbnRhaW5lckNsYXNzXCI+XHJcbiAgICAgICAgICA8L2xpYi1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS1lbmQ6OkNvbnRlbnQgd3JhcHBlci0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBGb290ZXJEaXNwbGF5XCI+XHJcbiAgICAgICAgICA8bGliLWZvb3RlciBjbGFzcz1cImFwcC1mb290ZXJcIiBbbmdDbGFzc109XCJhcHBGb290ZXJDU1NDbGFzc1wiIGlkPVwia3RfYXBwX2Zvb3RlclwiXHJcbiAgICAgICAgICAgIFthcHBGb290ZXJDb250YWluZXJDU1NDbGFzc109XCJhcHBGb290ZXJDb250YWluZXJDU1NDbGFzc1wiPjwvbGliLWZvb3Rlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS1lbmQ6OjpNYWluLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OldyYXBwZXItLT5cclxuXHJcbiAgPC9kaXY+XHJcbiAgPCEtLWVuZDo6UGFnZS0tPlxyXG48L2Rpdj5cclxuPCEtLWVuZDo6QXBwLS0+XHJcblxyXG48bGliLXNjcmlwdHMtaW5pdD48L2xpYi1zY3JpcHRzLWluaXQ+XHJcbjxuZy1jb250YWluZXI+XHJcbiAgPGxpYi1zY3JvbGwtdG9wIGlkPVwia3Rfc2Nyb2xsdG9wXCIgY2xhc3M9XCJzY3JvbGx0b3BcIiBkYXRhLWt0LXNjcm9sbHRvcD1cInRydWVcIj48L2xpYi1zY3JvbGwtdG9wPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPCEtLSBiZWdpbjo6IERyYXdlcnMgLS0+XHJcbjwhLS0gPGxpYi1hY3Rpdml0eS1kcmF3ZXI+PC9saWItYWN0aXZpdHktZHJhd2VyPiAtLT5cclxuPCEtLSA8bGliLW1lc3Nlbmdlci1kcmF3ZXI+PC9saWItbWVzc2VuZ2VyLWRyYXdlcj4gLS0+XHJcbjwhLS0gZW5kOjogRHJhd2VycyAtLT5cclxuXHJcbjwhLS0gZW5kOjogRW5nYWdlIC0tPlxyXG48IS0tIDxsaWItZW5nYWdlcz48L2xpYi1lbmdhZ2VzPiAtLT5cclxuPCEtLSBlbmQ6OiBFbmdhZ2UgLS0+XHJcblxyXG48IS0tIGJlZ2luOjogTW9kYWxzIC0tPlxyXG48IS0tIDxsaWItbWFpbi1tb2RhbD48L2xpYi1tYWluLW1vZGFsPiAtLT5cclxuPCEtLSA8bGliLWludml0ZS11c2Vycy1tb2RhbD48L2xpYi1pbnZpdGUtdXNlcnMtbW9kYWw+IC0tPlxyXG48IS0tIDxsaWItdXBncmFkZS1wbGFuLW1vZGFsPjwvbGliLXVwZ3JhZGUtcGxhbi1tb2RhbD4gLS0+XHJcbjwhLS0gZW5kOjogTW9kYWxzIC0tPlxyXG4iXX0=
|
|
@@ -12,6 +12,7 @@ import * as i1 from 'tango-app-ui-global';
|
|
|
12
12
|
import { AuthService } from './tango-app-ui-shared.mjs';
|
|
13
13
|
import '@angular/common/http';
|
|
14
14
|
import 'sweetalert2';
|
|
15
|
+
import '@angular/cdk/clipboard';
|
|
15
16
|
import '@angular/material/tooltip';
|
|
16
17
|
import 'dayjs/locale/en';
|
|
17
18
|
import 'dayjs/plugin/utc';
|
|
@@ -187,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
187
188
|
}] });
|
|
188
189
|
|
|
189
190
|
export { IntroModule };
|
|
190
|
-
//# sourceMappingURL=tango-app-ui-shared-intro.module-
|
|
191
|
+
//# sourceMappingURL=tango-app-ui-shared-intro.module-OrLn8VLx.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tango-app-ui-shared-intro.module-DyE2keRn.mjs","sources":["../../../projects/tango-app-shared/src/lib/modules/intro/contact-support/contact-support.component.ts","../../../projects/tango-app-shared/src/lib/modules/intro/contact-support/contact-support.component.html","../../../projects/tango-app-shared/src/lib/modules/intro/lead-intro/lead-intro.component.ts","../../../projects/tango-app-shared/src/lib/modules/intro/lead-intro/lead-intro.component.html","../../../projects/tango-app-shared/src/lib/modules/intro/intro-routing.module.ts","../../../projects/tango-app-shared/src/lib/modules/intro/intro.module.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'lib-contact-support',\r\n templateUrl: './contact-support.component.html',\r\n styleUrl: './contact-support.component.scss'\r\n})\r\nexport class ContactSupportComponent {\r\n constructor(\r\n private activeModal: NgbActiveModal,\r\n ) {}\r\n\r\n accept(){\r\n this.activeModal.close('submit');\r\n }\r\n}\r\n","<div class=\"card p-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label ellipse1 header mb-2\">Contact Support</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n </div>\r\n </div>\r\n <div class=\"card-body pt-0 mh-60vh\">\r\n <div class=\"d-flex justify-content-between align-items-center pt-5\" >\r\n <div class=\"d-flex\">\r\n <div class=\"position-relative\">\r\n <div class=\"rounded-5 profile fw-semibold d-flex align-items-center justify-content-center\">CU</div>\r\n </div>\r\n <div class=\"d-grid mx-3\">\r\n <span class=\"headingtext fw-bold-600\"> Customer support </span>\r\n <span class=\"sub-header ellipse fw-bold-400\">hello@tangotech.co.in</span>\r\n </div>\r\n </div>\r\n <div class=\"contact fw-semibold\">\r\n <span>+91 6380909115</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body pt-0\">\r\n <button (click)=\"accept()\" class=\"btn btn-default btn-primary mt-5 w-100\">\r\n Okay\r\n </button>\r\n </div>\r\n</div>","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { GlobalStateService, PageInfoService } from 'tango-app-ui-global';\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { NgbCarouselConfig, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { ContactSupportComponent } from '../contact-support/contact-support.component';\r\nimport dayjs from \"dayjs\";\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-lead-intro',\r\n templateUrl: './lead-intro.component.html',\r\n styleUrl: './lead-intro.component.scss',\r\n providers: [NgbCarouselConfig],\r\n})\r\nexport class LeadIntroComponent implements OnDestroy, OnInit {\r\n productList: any = [];\r\n private readonly destroy$ = new Subject();\r\n trialDetails:any\r\n dayjs = dayjs\r\n\r\n\r\n\r\n constructor(private pageInfo: PageInfoService, public gs: GlobalStateService, config: NgbCarouselConfig, private modalService: NgbModal, private authService: AuthService,private router:Router) {\r\n this.gs.userAccess.pipe(takeUntil(this.destroy$)).subscribe((e) => {\r\n if (e && e?.userType === \"lead\") {\r\n const user = JSON.parse(localStorage.getItem('user-info') as string)\r\n this.authService.getLeadProducts(user.email).pipe(takeUntil(this.destroy$)).subscribe({\r\n next: (e) => {\r\n if(e?.data){\r\n this.productList = e.data?.planDetails?.product\r\n }\r\n\r\n }\r\n })\r\n } else if (e && e?.userType === \"client\") {\r\n const user = JSON.parse(localStorage.getItem('user-info') as string)\r\n\r\n this.authService.getClientProducts(user.clientId).pipe(takeUntil(this.destroy$)).subscribe({\r\n next: (e) => {\r\n if(e?.data){\r\n this.productList = e.data?.planDetails?.product?.map((product:any)=> product.productName) \r\n\r\n this.trialDetails = this.daysWithin14(e.data?.planDetails?.product[0]?.trialEndDate)\r\n }\r\n\r\n }\r\n })\r\n \r\n }\r\n })\r\n }\r\n\r\n daysWithin14(date: string) {\r\n const currentDate = dayjs();\r\n const givenDate = dayjs(date).add(2, 'day');\r\n \r\n let diff = givenDate.diff(currentDate, 'day');\r\n \r\n if (diff < 0) {\r\n diff = 0;\r\n }\r\n \r\n const percentageRemaining = Math.round(((14 - diff) / 14) * 100);\r\n \r\n return {\r\n daysRemaining: diff <= 14 ? diff : 0,\r\n percentageRemaining: diff <= 14 ? percentageRemaining : 100\r\n };\r\n }\r\n \r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n ngOnInit(): void {\r\n this.setPageData()\r\n }\r\n\r\n\r\n setPageData() {\r\n this.pageInfo.setTitle('Explore')\r\n this.pageInfo.setDescription('Explore your products while waiting for admin approval')\r\n this.pageInfo.setBreadcrumbs([\r\n { title: 'Explore', path: '/explore', isActive: false, isSeparator: false },\r\n { title: 'Explore', path: '/explore', isActive: false, isSeparator: true },\r\n ])\r\n }\r\n \r\n\r\n contactSupport() {\r\n this.modalService.open(ContactSupportComponent, {\r\n centered: true,\r\n size: \"md\",\r\n });\r\n }\r\n\r\n updateCircleChart(percentage: number): void {\r\n let id = 'progress-circle';\r\n let text = 'percentage-text';\r\n const progressCircle = document.getElementById(id);\r\n const percentageText = document.getElementById(text);\r\n if (progressCircle && percentageText) {\r\n const circumference = Math.PI * 2 * parseFloat(progressCircle.getAttribute('r')!);\r\n const dasharray = circumference;\r\n const dashoffset = circumference - (percentage / 100) * circumference;\r\n\r\n progressCircle.setAttribute('stroke-dasharray', dasharray.toString());\r\n progressCircle.setAttribute('stroke-dashoffset', dashoffset.toString());\r\n\r\n percentageText.textContent = `${percentage}%`;\r\n }\r\n }\r\n\r\n reDirectionUrl(){\r\n this.router.navigateByUrl('/manage/summary');\r\n \r\n }\r\n}","<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can’t find the answer you’re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! 👋\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! 👋\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! 👋\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { LeadIntroComponent } from './lead-intro/lead-intro.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path:'',\r\n component:LeadIntroComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class IntroRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { IntroRoutingModule } from './intro-routing.module';\r\nimport { LeadIntroComponent } from './lead-intro/lead-intro.component';\r\nimport {NgbCarouselModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ContactSupportComponent } from './contact-support/contact-support.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LeadIntroComponent,\r\n ContactSupportComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n IntroRoutingModule,\r\n NgbCarouselModule\r\n ]\r\n})\r\nexport class IntroModule { }\r\n"],"names":["i1","i3.AuthService","i4","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tango-app-ui-shared-intro.module-OrLn8VLx.mjs","sources":["../../../projects/tango-app-shared/src/lib/modules/intro/contact-support/contact-support.component.ts","../../../projects/tango-app-shared/src/lib/modules/intro/contact-support/contact-support.component.html","../../../projects/tango-app-shared/src/lib/modules/intro/lead-intro/lead-intro.component.ts","../../../projects/tango-app-shared/src/lib/modules/intro/lead-intro/lead-intro.component.html","../../../projects/tango-app-shared/src/lib/modules/intro/intro-routing.module.ts","../../../projects/tango-app-shared/src/lib/modules/intro/intro.module.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'lib-contact-support',\r\n templateUrl: './contact-support.component.html',\r\n styleUrl: './contact-support.component.scss'\r\n})\r\nexport class ContactSupportComponent {\r\n constructor(\r\n private activeModal: NgbActiveModal,\r\n ) {}\r\n\r\n accept(){\r\n this.activeModal.close('submit');\r\n }\r\n}\r\n","<div class=\"card p-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label ellipse1 header mb-2\">Contact Support</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n </div>\r\n </div>\r\n <div class=\"card-body pt-0 mh-60vh\">\r\n <div class=\"d-flex justify-content-between align-items-center pt-5\" >\r\n <div class=\"d-flex\">\r\n <div class=\"position-relative\">\r\n <div class=\"rounded-5 profile fw-semibold d-flex align-items-center justify-content-center\">CU</div>\r\n </div>\r\n <div class=\"d-grid mx-3\">\r\n <span class=\"headingtext fw-bold-600\"> Customer support </span>\r\n <span class=\"sub-header ellipse fw-bold-400\">hello@tangotech.co.in</span>\r\n </div>\r\n </div>\r\n <div class=\"contact fw-semibold\">\r\n <span>+91 6380909115</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body pt-0\">\r\n <button (click)=\"accept()\" class=\"btn btn-default btn-primary mt-5 w-100\">\r\n Okay\r\n </button>\r\n </div>\r\n</div>","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { GlobalStateService, PageInfoService } from 'tango-app-ui-global';\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { NgbCarouselConfig, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { ContactSupportComponent } from '../contact-support/contact-support.component';\r\nimport dayjs from \"dayjs\";\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'lib-lead-intro',\r\n templateUrl: './lead-intro.component.html',\r\n styleUrl: './lead-intro.component.scss',\r\n providers: [NgbCarouselConfig],\r\n})\r\nexport class LeadIntroComponent implements OnDestroy, OnInit {\r\n productList: any = [];\r\n private readonly destroy$ = new Subject();\r\n trialDetails:any\r\n dayjs = dayjs\r\n\r\n\r\n\r\n constructor(private pageInfo: PageInfoService, public gs: GlobalStateService, config: NgbCarouselConfig, private modalService: NgbModal, private authService: AuthService,private router:Router) {\r\n this.gs.userAccess.pipe(takeUntil(this.destroy$)).subscribe((e) => {\r\n if (e && e?.userType === \"lead\") {\r\n const user = JSON.parse(localStorage.getItem('user-info') as string)\r\n this.authService.getLeadProducts(user.email).pipe(takeUntil(this.destroy$)).subscribe({\r\n next: (e) => {\r\n if(e?.data){\r\n this.productList = e.data?.planDetails?.product\r\n }\r\n\r\n }\r\n })\r\n } else if (e && e?.userType === \"client\") {\r\n const user = JSON.parse(localStorage.getItem('user-info') as string)\r\n\r\n this.authService.getClientProducts(user.clientId).pipe(takeUntil(this.destroy$)).subscribe({\r\n next: (e) => {\r\n if(e?.data){\r\n this.productList = e.data?.planDetails?.product?.map((product:any)=> product.productName) \r\n\r\n this.trialDetails = this.daysWithin14(e.data?.planDetails?.product[0]?.trialEndDate)\r\n }\r\n\r\n }\r\n })\r\n \r\n }\r\n })\r\n }\r\n\r\n daysWithin14(date: string) {\r\n const currentDate = dayjs();\r\n const givenDate = dayjs(date).add(2, 'day');\r\n \r\n let diff = givenDate.diff(currentDate, 'day');\r\n \r\n if (diff < 0) {\r\n diff = 0;\r\n }\r\n \r\n const percentageRemaining = Math.round(((14 - diff) / 14) * 100);\r\n \r\n return {\r\n daysRemaining: diff <= 14 ? diff : 0,\r\n percentageRemaining: diff <= 14 ? percentageRemaining : 100\r\n };\r\n }\r\n \r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n ngOnInit(): void {\r\n this.setPageData()\r\n }\r\n\r\n\r\n setPageData() {\r\n this.pageInfo.setTitle('Explore')\r\n this.pageInfo.setDescription('Explore your products while waiting for admin approval')\r\n this.pageInfo.setBreadcrumbs([\r\n { title: 'Explore', path: '/explore', isActive: false, isSeparator: false },\r\n { title: 'Explore', path: '/explore', isActive: false, isSeparator: true },\r\n ])\r\n }\r\n \r\n\r\n contactSupport() {\r\n this.modalService.open(ContactSupportComponent, {\r\n centered: true,\r\n size: \"md\",\r\n });\r\n }\r\n\r\n updateCircleChart(percentage: number): void {\r\n let id = 'progress-circle';\r\n let text = 'percentage-text';\r\n const progressCircle = document.getElementById(id);\r\n const percentageText = document.getElementById(text);\r\n if (progressCircle && percentageText) {\r\n const circumference = Math.PI * 2 * parseFloat(progressCircle.getAttribute('r')!);\r\n const dasharray = circumference;\r\n const dashoffset = circumference - (percentage / 100) * circumference;\r\n\r\n progressCircle.setAttribute('stroke-dasharray', dasharray.toString());\r\n progressCircle.setAttribute('stroke-dashoffset', dashoffset.toString());\r\n\r\n percentageText.textContent = `${percentage}%`;\r\n }\r\n }\r\n\r\n reDirectionUrl(){\r\n this.router.navigateByUrl('/manage/summary');\r\n \r\n }\r\n}","<div *ngIf=\"(gs.userAccess | async)?.userType === 'lead'\" class=\"approvalcard mt-4 mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <div class=\"approvaltext align-items-start justify-content-between\">\r\n Your Approval is in pending !\r\n <div class=\"approvesub d-block\">Can’t find the answer you’re looking for? Please chat to our friendly\r\n team.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <a (click)=\"contactSupport()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-4 ng-star-inserted\"><span>Contact Us\r\n </span></a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" class=\"toastcard mb-5\">\r\n <div class=\"d-flex align-items-center justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-30px me-5\"><span>\r\n <img src=\"./assets/tango/custompopup-Icons/danger-alert-primary.svg\" alt=\"\">\r\n </span>\r\n </div>\r\n <span class=\"toasttext d-block\">Your trial has started. You have {{trialDetails?.daysRemaining}} days left\r\n on your free trial</span>\r\n </div>\r\n <div class=\"row mt-1\">\r\n <div class=\"d-flex align-items-center\">\r\n <div><svg id=\"circle-chart\" width=\"94\" height=\"70\" viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n\r\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#f0f0f0\" stroke-width=\"8\">\r\n </circle>\r\n\r\n <circle id=\"progress-circle\" cx=\"50\" cy=\"50\" r=\"40\" fill=\"none\" stroke=\"#007bff\"\r\n stroke-width=\"8\" stroke-dasharray=\"251.2\"\r\n [attr.stroke-dashoffset]=\"updateCircleChart(trialDetails?.percentageRemaining)\">\r\n </circle>\r\n\r\n <text id=\"percentage-text\" x=\"50\" y=\"54\" class=\"producttext\" text-anchor=\"middle\"\r\n fill=\"#333333\">{{trialDetails?.percentageRemaining}}%</text>\r\n </svg></div>\r\n <div class=\"align-items-start justify-content-between daysleft my-2\">\r\n {{trialDetails?.daysRemaining}} Days Left\r\n <div class=\"align-items-start trail\">\r\n Free trial</div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ngb-carousel #carousel [interval]=\"4000\" [pauseOnHover]=\"true\">\r\n <ng-container *ngFor=\"let item of productList\">\r\n <ng-container *ngIf=\"item === 'tangoTrax'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTrax.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Trax! 👋\r\n </div>\r\n <span class=\"sub\">\r\n Revolutionising Operations with AI powered SOPs\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Effortlessly add and manage your\r\n stores,ensuring a smooth onboarding process.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Customize SOP Checklists</span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily create and configure SOP\r\n checklists\r\n tailored to your specific needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights Dashboard </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n checklist compliance data through an intuitive dashboard, enabling you to make\r\n informed decisions cand enhance operational efficiency.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"item === 'tangoZone'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoZone.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Zone! 👋\r\n </div>\r\n <span class=\"sub\">\r\n Identify Hot Spots & Dead Zones of the store\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Choose Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Select Stores where you want to\r\n identify\r\n the\r\n hot spots and dead zones\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Tag Zones </span>\r\n <div class=\"align-items-start card-sub mx-14\">Tag different sections or zones within\r\n each\r\n store and label them according to your operational needs.</div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Gain Insights </span>\r\n <div class=\"align-items-start card-sub mx-14\">Generate detailed reports and\r\n visualize\r\n zone-specific data such as traffic, dwell time, demographics, and heatmaps.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item === 'tangoTraffic'\">\r\n <ng-template ngbSlide>\r\n <div class=\"card w-100\">\r\n <div class=\"row p-20\">\r\n <div class=\"col-lg-4 col-sm-12\">\r\n <img class=\"cardimg\" src=\"./assets/tango/Images/tangoTraffic.png\" alt=\"Tango logo\" />\r\n </div>\r\n <div class=\"col-lg-1\">\r\n </div>\r\n <div class=\"col-lg-7\">\r\n <div class=\"heading mb-2\">Welcome to Traffic! 👋\r\n </div>\r\n <span class=\"sub\">\r\n Measure In-Store Traffic & Shopper Insights\r\n </span>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Onboard Stores\r\n </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily add and manage stores with just\r\n a\r\n few\r\n clicks on the dashboard\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Visualise Data </span>\r\n <div class=\"align-items-start card-sub mx-14\">View intelligent insights including\r\n traffic\r\n patterns, dwell times, demographics enabling you to make informed decisions.\r\n </div>\r\n </h3>\r\n </div>\r\n <div class=\"mt-6\">\r\n <h3 class=\"card-title align-items-start flex-column mb-4\">\r\n <span><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\"\r\n stroke-width=\"4\" />\r\n <path\r\n d=\"M18.6667 11.334L12 19.334H18L17.3333 24.6673L24 16.6673H18L18.6667 11.334Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"card-label mx-3\">Manage Tickets </span>\r\n <div class=\"align-items-start card-sub mx-14\">Easily track and resolve your support\r\n tickets\r\n for prompt and efficient service.\r\n </div>\r\n </h3>\r\n </div>\r\n <a *ngIf=\"(gs.userAccess | async)?.userType === 'client'\" type=\"button\" routerLink=\"/manage/summary\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 mt-2 cursor-pointer ng-star-inserted\"><span>Get\r\n Started\r\n </span></a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n</ngb-carousel>","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { LeadIntroComponent } from './lead-intro/lead-intro.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path:'',\r\n component:LeadIntroComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class IntroRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { IntroRoutingModule } from './intro-routing.module';\r\nimport { LeadIntroComponent } from './lead-intro/lead-intro.component';\r\nimport {NgbCarouselModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ContactSupportComponent } from './contact-support/contact-support.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LeadIntroComponent,\r\n ContactSupportComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n IntroRoutingModule,\r\n NgbCarouselModule\r\n ]\r\n})\r\nexport class IntroModule { }\r\n"],"names":["i1","i3.AuthService","i4","i5"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import * as i1 from 'tango-app-ui-global';
|
|
|
10
10
|
import { NotificationService, ToastService, PaginationComponent, CustomDateFormatPipe, CommonSharedModule } from './tango-app-ui-shared.mjs';
|
|
11
11
|
import '@angular/common/http';
|
|
12
12
|
import 'sweetalert2';
|
|
13
|
+
import '@angular/cdk/clipboard';
|
|
13
14
|
import '@angular/material/tooltip';
|
|
14
15
|
import 'dayjs';
|
|
15
16
|
import 'dayjs/locale/en';
|
|
@@ -399,4 +400,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
399
400
|
}] });
|
|
400
401
|
|
|
401
402
|
export { NotificationModule };
|
|
402
|
-
//# sourceMappingURL=tango-app-ui-shared-notification.module-
|
|
403
|
+
//# sourceMappingURL=tango-app-ui-shared-notification.module-B7aDUhCZ.mjs.map
|