vcomply-workflow-engine 3.4.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +5 -4
- package/esm2020/lib/workflow/grc-object/grc-object.module.mjs +7 -3
- package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +9 -5
- package/esm2020/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +6 -3
- package/esm2020/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
- package/esm2020/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +17 -4
- package/fesm2015/vcomply-workflow-engine.mjs +143 -102
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +140 -99
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow/grc-object/grc-object.module.d.ts +2 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +2 -1
- package/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.d.ts +7 -0
- package/lib/workflow/shared/workflow-pipes/workflow-pipes.module.d.ts +3 -2
- package/package.json +1 -1
|
@@ -15,12 +15,14 @@ import { RESPONSIBILITY_TABLE_CARD } from '../../constants/link-responsibility.c
|
|
|
15
15
|
import { TableCardLoaderComponent } from '../../../../sharedComponents/table-card-loader/table-card-loader.component';
|
|
16
16
|
import { HttpParams } from '@angular/common/http';
|
|
17
17
|
import { LINKS } from '../../constants/cdn-link.constant';
|
|
18
|
+
import { WorkflowPipesModule } from '../../workflow-pipes/workflow-pipes.module';
|
|
18
19
|
import * as i0 from "@angular/core";
|
|
19
20
|
import * as i1 from "../../services/grc.service";
|
|
20
21
|
import * as i2 from "@angular/common";
|
|
21
22
|
import * as i3 from "../../../../sharedComponents/floating-bar/floating-bar.component";
|
|
22
23
|
import * as i4 from "../../../../sharedComponents/list-loader/list-loader.component";
|
|
23
24
|
import * as i5 from "../../../../ui-kit/no-data/no-data.component";
|
|
25
|
+
import * as i6 from "../../workflow-pipes/unique-responsibilities.pipe";
|
|
24
26
|
export class ProgramResponsibilityListingComponent {
|
|
25
27
|
constructor(grcService) {
|
|
26
28
|
this.grcService = grcService;
|
|
@@ -377,7 +379,7 @@ export class ProgramResponsibilityListingComponent {
|
|
|
377
379
|
}
|
|
378
380
|
}
|
|
379
381
|
ProgramResponsibilityListingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProgramResponsibilityListingComponent, deps: [{ token: i1.GrcService }], target: i0.ɵɵFactoryTarget.Component });
|
|
380
|
-
ProgramResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProgramResponsibilityListingComponent, isStandalone: true, selector: "app-program-responsibility-listing", inputs: { getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"], selectedRC: "selectedRC", MODE: "MODE" }, outputs: { closeList: "closeList" }, viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? selectedResponsibilities : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i3.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "component", type: GrcCategoryListingComponent, selector: "app-grc-category-listing", inputs: ["tableCard", "headerText", "currentPage", "selectedTabIndex", "selectedCatAndRisk", "selectedCategoryIds", "categories", "programData"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeProgram", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "MODE", "responsibilityData", "selectedProgramAndResp"], outputs: ["getUpdatedDataList", "changeSelectedProgramAndResp"] }, { kind: "component", type: GrcSubCategoryListingComponent, selector: "app-grc-sub-category-listing", inputs: ["currentPage", "nameDisplayKey", "activeProgram", "selectedCategoryIds", "categories", "selectedProgramAndResp"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i4.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] });
|
|
382
|
+
ProgramResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProgramResponsibilityListingComponent, isStandalone: true, selector: "app-program-responsibility-listing", inputs: { getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"], selectedRC: "selectedRC", MODE: "MODE" }, outputs: { closeList: "closeList" }, viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" [allSelectedResponsibilityIds]=\"selectedResponsibilities | uniqueResponsibilities\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? (selectedResponsibilities | uniqueResponsibilities : 'entireObject') : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i3.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "component", type: GrcCategoryListingComponent, selector: "app-grc-category-listing", inputs: ["tableCard", "headerText", "currentPage", "selectedTabIndex", "selectedCatAndRisk", "selectedCategoryIds", "categories", "programData"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeProgram", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "MODE", "allSelectedResponsibilityIds", "responsibilityData", "selectedProgramAndResp"], outputs: ["getUpdatedDataList", "changeSelectedProgramAndResp"] }, { kind: "component", type: GrcSubCategoryListingComponent, selector: "app-grc-sub-category-listing", inputs: ["currentPage", "nameDisplayKey", "activeProgram", "selectedCategoryIds", "categories", "selectedProgramAndResp"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i4.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i6.UniqueResponsibilitiesPipe, name: "uniqueResponsibilities" }] });
|
|
381
383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProgramResponsibilityListingComponent, decorators: [{
|
|
382
384
|
type: Component,
|
|
383
385
|
args: [{ selector: 'app-program-responsibility-listing', standalone: true, imports: [
|
|
@@ -394,7 +396,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
394
396
|
ListLoaderModule,
|
|
395
397
|
NoDataModule,
|
|
396
398
|
TableCardLoaderComponent,
|
|
397
|
-
|
|
399
|
+
WorkflowPipesModule,
|
|
400
|
+
], outputs: ['closeList'], template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" [allSelectedResponsibilityIds]=\"selectedResponsibilities | uniqueResponsibilities\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? (selectedResponsibilities | uniqueResponsibilities : 'entireObject') : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
|
|
398
401
|
}], ctorParameters: function () { return [{ type: i1.GrcService }]; }, propDecorators: { getSelectedProgramAndResp: [{
|
|
399
402
|
type: Input,
|
|
400
403
|
args: ['selectedProgramAndResp']
|
|
@@ -406,4 +409,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
406
409
|
type: ViewChild,
|
|
407
410
|
args: ['dataListing']
|
|
408
411
|
}] } });
|
|
409
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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S0FBSzt1QkFBQyx3QkFBd0I7Z0JBTXRCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUtOLDhCQUE4QjtzQkFEN0IsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhYmxlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLWNhcmQvdGFibGUtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtY2F0ZWdvcnktbGlzdGluZy9ncmMtY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdyY1N1YkNhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1zdWItY2F0ZWdvcnktbGlzdGluZy9ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJFU1BPTlNJQklMSVRZX1RBQkxFX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbGluay1yZXNwb25zaWJpbGl0eS5jb25zdGFudCc7XHJcbmltcG9ydCB7IEdyY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ncmMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvdGFibGUtY2FyZC1sb2FkZXIvdGFibGUtY2FyZC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgVGFibGVDYXJkQ29tcG9uZW50LFxyXG4gICAgR3JjQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgTGlzdExvYWRlck1vZHVsZSxcclxuICAgIE5vRGF0YU1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxyXG4gIG91dHB1dHM6IFsnY2xvc2VMaXN0J10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcm9ncmFtVHlwZXMgPSBSRVNQT05TSUJJTElUWV9UQUJMRV9DQVJEO1xyXG4gIENETl9MSU5LID0gTElOS1M7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAxO1xyXG5cclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgcHJvZ3JhbUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb2dyYW1Db3VudExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlc3BvbnNpYmlsaXR5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2F0ZWdvcnlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xyXG4gIHByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueVtdID0gW107XHJcbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcclxuICBzZWxlY3RlZFByb2dyYW06IGFueTtcclxuICBzZWxlY3RlZENhdGVnb3J5OiBhbnk7XHJcbiAgcHJvZ3JhbUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIGNhdGVnb3J5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBwcm9ncmFtRGF0YTogYW55O1xyXG4gIGNhdGVnb3J5RGF0YTogYW55O1xyXG4gIHJlc3BvbnNpYmlsaXR5RGF0YTogYW55ID0ge1xyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuICBzZWxlY3RlZFByb2dyYW1JZHM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkczogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRSQ0lkczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgcHJvZ3JhbUNhbGwhOiBTdWJzY3JpcHRpb247XHJcbiAgY2F0ZWdvcnlDYWxsITogU3Vic2NyaXB0aW9uO1xyXG4gIHJlc3BvbnNpYmlsaXR5Q2FsbCE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZFByb2dyYW1BbmRSZXNwJykgc2V0IGdldFNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBkYXRhIHx8IFtdO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gICAgdGhpcy5nZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQzogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xyXG5cclxuICBjbG9zZUxpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdkYXRhTGlzdGluZycpXHJcbiAgcmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50ITogR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyY1NlcnZpY2U6IEdyY1NlcnZpY2UpIHtcclxuICAgIHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGUgPSB0aGlzLmdyY1NlcnZpY2U/LmdldEJ1c2luZXNzQ3ljbGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG5cclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XHJcbiAgICB0aGlzLmdldFByb2dyYW1zQ291bnQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUxpc3QuZW1pdCh0aGlzLnByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIGdldFByb2dyYW1zTGlzdChldmVudD86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucHJvZ3JhbUNhbGwpIHtcclxuICAgICAgdGhpcy5wcm9ncmFtQ2FsbC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9ncmFtTG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICB0eXBlOiAnJyxcclxuICAgICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcclxuICAgICAgICBhOiAnJyxcclxuICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICBmaWx0ZXJEYXRhOiB7XHJcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcclxuICAgICAgICAgIHJpc2tJZHM6IFtdLFxyXG4gICAgICAgICAgcmV2aWV3ZXJJZDogW10sXHJcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXHJcbiAgICAgICAgICBlbnRydXN0ZWRCeTogW10sXHJcbiAgICAgICAgICBlbnRydXN0ZWRUbzogW10sXHJcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBhZ2VObzogdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgICBzb3J0T2JqOiB7IHNvcnRCeTogJycsIHR5cGU6IC0xIH0sXHJcbiAgICAgICAgcGFnZU5hbWU6ICdjYXRlZ29yeScsXHJcbiAgICAgICAgdHlwZUFycjogW3RoaXMuc2VsZWN0ZWRUYWJdLFxyXG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXHJcbiAgICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcclxuICAgICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcclxuICAgICAgICBzdGF0ZTogWzIsIDNdLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIHRoaXMucHJvZ3JhbUNhbGwgPSB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMucHJvZ3JhbURhdGEuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEgPSB7IC4uLnJlcyB9O1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQocmVzPy5kYXRhWzBdKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblByb2dyYW1QYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gZXZlbnQ/LnBhZ2VObyB8fCAxO1xyXG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uU3ViQ2F0ZWdvcnlQYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm8gfHwgMTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZCh0aGlzLnNlbGVjdGVkUHJvZ3JhbSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudC5kZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkVGFiKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBldmVudD8udHlwZTtcclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xyXG4gICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgICB0aGlzLmdldFByb2dyYW1zQ291bnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFByb2dyYW1zQ291bnQocGFyYW1zT2JqZWN0PzogYW55KSB7XHJcbiAgICB0aGlzLnByb2dyYW1Db3VudExvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgdHlwZTogJycsXHJcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXHJcbiAgICAgICAgYTogJycsXHJcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYWdlTm86IDEsXHJcbiAgICAgICAgc29ydE9iajogeyBzb3J0Qnk6ICcnLCB0eXBlOiAnJyB9LFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxyXG4gICAgICAgIHR5cGVBcnI6IFsxLCAyLCAzLCAwXSxcclxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0Q291bnQocmVxdWVzdCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtQ291bnRMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1swXS5jb3VudCA9XHJcbiAgICAgICAgICByZXM/LnJlZ3VsYXRpb25Db3VudD8uYWN0aXZlICsgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmNvbXBsZXRlZDtcclxuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1sxXS5jb3VudCA9XHJcbiAgICAgICAgICByZXM/LnN0YW5kYXJkQ291bnQ/LmFjdGl2ZSArIHJlcz8uc3RhbmRhcmRDb3VudD8uY29tcGxldGVkO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzJdLmNvdW50ID1cclxuICAgICAgICAgIHJlcz8uaW50ZXJuYWxDb3VudD8uYWN0aXZlICsgcmVzPy5pbnRlcm5hbENvdW50Py5jb21wbGV0ZWQ7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbM10uY291bnQgPVxyXG4gICAgICAgICAgcmVzPy5vdGhlckNvdW50Py5hY3RpdmUgKyByZXM/Lm90aGVyQ291bnQ/LmNvbXBsZXRlZDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENhdGVnb3J5QnlQcm9ncmFtSWQocHJvZ3JhbTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jYXRlZ29yeUNhbGwpIHtcclxuICAgICAgdGhpcy5jYXRlZ29yeUNhbGwudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gcHJvZ3JhbTtcclxuICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5yZXNldENvbnRyb2xWYXJpYWJsZSgpO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgICAgaWQ6IHByb2dyYW0/Ll9pZCxcclxuICAgICAgc2NvcGVUeXBlOiAncmlzaycsXHJcbiAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxyXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgIHJpc2tJZHM6IFtdLFxyXG4gICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcclxuICAgICAgICBlbnRydXN0ZWRCeTogW10sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgICBwYWdlOiB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgLy8gc29ydGluZ0NvdW50OiB0aGlzLmNhdGVnb3J5U29ydFZhbHVlLFxyXG4gICAgICBuYW1lOiAnbmFtZScsXHJcbiAgICAgIGJ1c2luZXNzQ3ljbGU6IHtcclxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgICAgLy8gXCJzY29wZVR5cGVcIjogJ3Jpc2snLFxyXG4gICAgICAgIHR5cGU6ICdyaXNrJyxcclxuICAgICAgICBjYWxsRnJvbTogJ2dyYycsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmNhdGVnb3J5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRTdWJDYXRlZ29yeUxpc3QoaGVhZGVycykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhID0geyAuLi5yZXMgfTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSByZXM/LmRhdGFbMF07XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlU2VsZWN0ZWRQcm9ncmFtKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gZXZlbnQ/LmNhdGVnb3J5O1xyXG4gICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcclxuICAgIC8vIHRoaXMuZ2V0U2VsZWN0ZWRDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlU2VsZWN0ZWRTdWJDYXRlZ29yeShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBldmVudD8uY2F0ZWdvcnk7XHJcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0aWVzTGlzdChldmVudD86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlDYWxsKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlDYWxsLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLnJlc3BDb3VudCA9IGV2ZW50LnNvcnRWYWx1ZTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdpc0J1c2luZXNzQ3ljbGUnLCAndHJ1ZScpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFyZW50SWQnLCB0aGlzLnNlbGVjdGVkUHJvZ3JhbT8uY2F0ZWdvcnlfaWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0SWQnLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VObycsIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA/PyAxKTtcclxuICAgIC8vIGlmIChbMSwgLTFdLmluY2x1ZGVzKHRoaXMuY29udHJvbFNvcnRWYWx1ZSkpIHtcclxuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydFZhbHVlJywgdGhpcy5jb250cm9sU29ydFZhbHVlKTtcclxuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydEJ5JywgJ0RhdGEuUmVwb3J0TmFtZScpO1xyXG4gICAgLy8gfVxyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VUeXBlJywgJ3Jpc2snKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhbGxGcm9tJywgJ2dyYycpO1xyXG4gICAgbGV0IGJ1c2luZXNzQ3ljbGUgPSB7XHJcbiAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXHJcbiAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcclxuICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgIHBhZ2VUeXBlOiAncmlzaycsXHJcbiAgICAgIGNhbGxGcm9tOiAnZ3JjJyxcclxuICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgIHJpc2tJZHM6IFtdLFxyXG4gICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcclxuICAgICAgICBlbnRydXN0ZWRCeTogW10sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZVxyXG4gICAgICAuZ2V0UmVzcG9uc2liaWxpdHlCeUNhdGVnb3J5SWQocGFyYW1zLCBidXNpbmVzc0N5Y2xlKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlEYXRhID0gcmVzO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGFbJ2RhdGEnXSA9IHRoaXMuc2V0RGF0YUxpc3RTdHJ1Y3R1cmUoXHJcbiAgICAgICAgICAgIHJlcz8uZGF0YVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVwZGF0ZWREYXRhTGlzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vO1xyXG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YUxpc3RTdHJ1Y3R1cmUocmVzOiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGEgPSByZXM/Lm1hcCgocmVzcG9uc2liaWxpdHk6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnJlc3BvbnNpYmlsaXR5LFxyXG4gICAgICAgIG5hbWU6IHJlc3BvbnNpYmlsaXR5Py5SZXBvcnROYW1lLFxyXG4gICAgICAgIGNvbnRyb2xJZDogcmVzcG9uc2liaWxpdHk/LkNvbnRyb2xJZCxcclxuICAgICAgICBfaWQ6IHJlc3BvbnNpYmlsaXR5Py5FbmNyeXB0ZWRSZXBvcnRJZCxcclxuICAgICAgICBlbnRydXN0ZWRCeToge1xyXG4gICAgICAgICAgbmFtZTogcmVzcG9uc2liaWxpdHk/LkFzc2lnbkJ5LFxyXG4gICAgICAgICAgZW1haWw6IHJlc3BvbnNpYmlsaXR5Py5Bc3NpZ25CeUVtYWlsLFxyXG4gICAgICAgICAgcHJvZmlsZVBpYzogcmVzcG9uc2liaWxpdHk/Lm1lbWJlcl9waWMgPz8gJycsXHJcbiAgICAgICAgICBzaG9ydE5hbWU6IHJlc3BvbnNpYmlsaXR5Py5tZW1iZXJfc2hvcnRfbmFtZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVudHJ1c3RlZFRvOiB7XHJcbiAgICAgICAgICBuYW1lOiByZXNwb25zaWJpbGl0eT8uQXNzaWduVG8sXHJcbiAgICAgICAgICBlbWFpbDogcmVzcG9uc2liaWxpdHk/LkFzc2lnblRvLFxyXG4gICAgICAgICAgcHJvZmlsZVBpYzogcmVzcG9uc2liaWxpdHk/LmVtcGxveWVlX3BpYyA/PyAnJyxcclxuICAgICAgICAgIHNob3J0TmFtZTogcmVzcG9uc2liaWxpdHk/LmVtcGxveWVlX3Nob3J0X25hbWUsXHJcbiAgICAgICAgICBFbnRydXN0ZWRUb01lbWJlcnM6IHJlc3BvbnNpYmlsaXR5Py5FbnRydXN0ZWRUb01lbWJlcnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB3aXRoaW5EYXRhOiByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheT8ubWFwKCh3aXRoaW46IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmFtZTogd2l0aGluPy5yY19uYW1lLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBzdWJDYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZFByb2dyYW1JZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUHJvZ3JhbUlkcyhzZWxlY3RlZERhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1JZHMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBzZWxlY3RlZD8uY2F0ZWdvcnkgfHwgW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtSWRzLnB1c2goc2VsZWN0ZWQ/LnByb2dyYW0/LnByb2dyYW1JZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcnlJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xyXG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xyXG4gICAgcHJvZ3JhbUluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChcclxuICAgICAgKGNhdDogYW55KSA9PiBjYXQ/LnByb2dyYW0/LnByb2dyYW1JZCA9PT0gdGhpcy5zZWxlY3RlZFByb2dyYW0/LnByb2dyYW1JZFxyXG4gICAgKTtcclxuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IHNlbGVjdGVkRGF0YVtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyA9IFtdO1xyXG4gICAgc2VsZWN0ZWREYXRhLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcy5wdXNoKC4uLml0ZW0/LnJlc3BvbnNpYmlsaXR5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSQ0lkcyhzZWxlY3RlZFJDOiBhbnlbXSkge1xyXG4gICAgbGV0IHNlbGVjdGVkUkNJZHM6IGFueVtdID0gW107XHJcbiAgICBzZWxlY3RlZFJDSWRzID0gc2VsZWN0ZWRSQz8ubWFwKChyYzogYW55KSA9PiByYz8ucmNfaWQpO1xyXG5cclxuICAgIHJldHVybiBzZWxlY3RlZFJDSWRzO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBSZXNwb25zaWJpbGl0aWVzPC9oMz48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keVwiPlxyXG4gICAgICAgIDxhcHAtdGFibGUtY2FyZC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtQ291bnRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj5cclxuICAgICAgICA8YXBwLXRhYmxlLWNhcmRcclxuICAgICAgICAgICAgKm5nSWY9XCIhcHJvZ3JhbUNvdW50TG9hZGVyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXHJcbiAgICAgICAgICAgIFt0YWJsZUNhcmRdPVwicHJvZ3JhbVR5cGVzXCJcclxuICAgICAgICAgICAgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdHkgU2VsZWN0ZWQnXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcclxuICAgICAgICAgICAgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgICAgIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtdGFibGUtY2FyZD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICAjc2VhcmNoUmlza0NhdGVnb3J5IChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBQcm9ncmFtc1wiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1ib2R5LWlubmVyIHZ4LW1iLTIgdngtZC1mbGV4XCIgW2NsYXNzLnZ4LWp1c3RpZnktY2VudGVyXT1cIighcHJvZ3JhbUxvYWRlciAmJiAhcHJvZ3JhbURhdGE/LmRhdGE/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihwcm9ncmFtTG9hZGVyIHx8IHByb2dyYW1EYXRhPy5kYXRhPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1sZWZ0IHZ4LXByLTJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFwcm9ncmFtTG9hZGVyXCIgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtwcm9ncmFtRGF0YV09XCJwcm9ncmFtRGF0YVwiICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiIFtjdXJyZW50UGFnZV09XCJwcm9ncmFtQ3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYlwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkUHJvZ3JhbUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkUHJvZ3JhbSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uUHJvZ3JhbVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLW1pZCB2eC1wci0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhY2F0ZWdvcnlMb2FkZXIgJiYgIXByb2dyYW1Mb2FkZXJcIiAgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtjYXRlZ29yaWVzXT1cImNhdGVnb3J5RGF0YVwiICBbbmFtZURpc3BsYXlLZXldPVwiJ2l0ZW1fbmFtZSdcIiAgW2N1cnJlbnRQYWdlXT1cImNhdGVnb3J5Q3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZENhdGVnb3J5SWRzXCIgW2FjdGl2ZVByb2dyYW1dPVwic2VsZWN0ZWRQcm9ncmFtXCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvblN1YkNhdGVnb3J5UGFnZUNoYW5nZSgkZXZlbnQpXCI+PC9hcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJjYXRlZ29yeUxvYWRlciB8fCBwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz48L2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmICFjYXRlZ29yeUxvYWRlciAmJiAhcHJvZ3JhbUxvYWRlciAmJiByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCAhPT0gMFwiIFtoZWFkZXJUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzJ1wiIFtNT0RFXT1cIk1PREVcIiBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFthY3RpdmVDYXRlZ29yeV09XCJzZWxlY3RlZENhdGVnb3J5XCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIChjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKT1cImNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AoJGV2ZW50KVwiIFtjdXJyZW50UGFnZV09XCJyZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlXCIgW3BlclBhZ2VMaW1pdF09XCIzMFwiIFt0b3RhbExpc3REYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YT8udG90YWxfaXRlbXNcIiBbdG90YWxQYWdlc109XCJyZXNwb25zaWJpbGl0eURhdGE/LnRvdGFsX3BhZ2VzXCIgKGdldFVwZGF0ZWREYXRhTGlzdCk9XCJnZXRVcGRhdGVkRGF0YUxpc3QoJGV2ZW50KVwiID48L2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJyZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJiAhKHJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXIpXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIighcHJvZ3JhbUxvYWRlciAmJiAhcHJvZ3JhbURhdGE/LmRhdGE/Lmxlbmd0aClcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzPy5sZW5ndGggPyBzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgOiBbXVwiICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIiAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIidSZXBvcnROYW1lJ1wiIFtzaW5ndWxhclRleHRdPVwiJ1Jlc3BvbnNpYmlsaXR5IHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzIHNlbGVjdGVkJ1wiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
412
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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QkFDWix3QkFBd0I7d0JBQ3hCLG1CQUFtQjtxQkFDcEIsV0FHUSxDQUFDLFdBQVcsQ0FBQztpR0FvQ2UseUJBQXlCO3NCQUE3RCxLQUFLO3VCQUFDLHdCQUF3QjtnQkFNdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS04sOEJBQThCO3NCQUQ3QixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1jYXRlZ29yeS1saXN0aW5nL2dyYy1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgTGlzdExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvbGlzdC1sb2FkZXIvbGlzdC1sb2FkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nL2dyYy1zdWItY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUkVTUE9OU0lCSUxJVFlfVEFCTEVfQ0FSRCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbnN0YW50JztcclxuaW1wb3J0IHsgR3JjU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dyYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy90YWJsZS1jYXJkLWxvYWRlci90YWJsZS1jYXJkLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgVGFibGVDYXJkQ29tcG9uZW50LFxyXG4gICAgR3JjQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgTGlzdExvYWRlck1vZHVsZSxcclxuICAgIE5vRGF0YU1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93UGlwZXNNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcclxuICBvdXRwdXRzOiBbJ2Nsb3NlTGlzdCddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3JhbVJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJvZ3JhbVR5cGVzID0gUkVTUE9OU0lCSUxJVFlfVEFCTEVfQ0FSRDtcclxuICBDRE5fTElOSyA9IExJTktTO1xyXG4gIHNlbGVjdGVkVGFiOiAwIHwgMSB8IDIgfCAzID0gMTtcclxuXHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcblxyXG4gIHByb2dyYW1Mb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcm9ncmFtQ291bnRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhdGVnb3J5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55W10gPSBbXTtcclxuICBwcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGUhOiBhbnk7XHJcbiAgc2VsZWN0ZWRQcm9ncmFtOiBhbnk7XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55O1xyXG4gIHByb2dyYW1DdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBjYXRlZ29yeUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcHJvZ3JhbURhdGE6IGFueTtcclxuICBjYXRlZ29yeURhdGE6IGFueTtcclxuICByZXNwb25zaWJpbGl0eURhdGE6IGFueSA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcbiAgc2VsZWN0ZWRQcm9ncmFtSWRzOiBhbnlbXSA9IFtdO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZHM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzOiBhbnlbXSA9IFtdO1xyXG4gIHNlbGVjdGVkUkNJZHM6IG51bWJlcltdID0gW107XHJcblxyXG4gIHByb2dyYW1DYWxsITogU3Vic2NyaXB0aW9uO1xyXG4gIGNhdGVnb3J5Q2FsbCE6IFN1YnNjcmlwdGlvbjtcclxuICByZXNwb25zaWJpbGl0eUNhbGwhOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCcpIHNldCBnZXRTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gZGF0YSB8fCBbXTtcclxuICAgIHRoaXMucHJlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZFByb2dyYW1JZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUkM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgTU9ERTogJ0NSRUFURScgfCAnRURJVCcgPSAnQ1JFQVRFJztcclxuXHJcbiAgY2xvc2VMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZGF0YUxpc3RpbmcnKVxyXG4gIHJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCE6IEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmNTZXJ2aWNlOiBHcmNTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gdGhpcy5ncmNTZXJ2aWNlPy5nZXRCdXNpbmVzc0N5Y2xlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuXHJcbiAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5wcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmNsb3NlTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9ncmFtc0xpc3QoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnByb2dyYW1DYWxsKSB7XHJcbiAgICAgIHRoaXMucHJvZ3JhbUNhbGwudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgdHlwZTogJycsXHJcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXHJcbiAgICAgICAgYTogJycsXHJcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYWdlTm86IHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlIHx8IDEsXHJcbiAgICAgICAgc29ydE9iajogeyBzb3J0Qnk6ICcnLCB0eXBlOiAtMSB9LFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxyXG4gICAgICAgIHR5cGVBcnI6IFt0aGlzLnNlbGVjdGVkVGFiXSxcclxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLnByb2dyYW1DYWxsID0gdGhpcy5ncmNTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAvLyB0aGlzLnByb2dyYW1EYXRhLmRhdGEgPSByZXMuZGF0YSA/PyBbXTtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhID0geyAuLi5yZXMgfTtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XHJcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHJlcz8uZGF0YVswXSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Qcm9ncmFtUGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm8gfHwgMTtcclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1YkNhdGVnb3J5UGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vIHx8IDE7XHJcbiAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQodGhpcy5zZWxlY3RlZFByb2dyYW0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQuZGVsZXRlU2VsZWN0ZWRSZXNwb25zaWJpbGl0eShldmVudCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XHJcbiAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcclxuICAgICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcclxuICAgICAgdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQcm9ncmFtc0NvdW50KHBhcmFtc09iamVjdD86IGFueSkge1xyXG4gICAgdGhpcy5wcm9ncmFtQ291bnRMb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgIHR5cGU6ICcnLFxyXG4gICAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxyXG4gICAgICAgIGE6ICcnLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICAgIGZpbHRlckRhdGE6IHtcclxuICAgICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgICAgcmlza0lkczogW10sXHJcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcclxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcclxuICAgICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcclxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcclxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGFnZU5vOiAxLFxyXG4gICAgICAgIHNvcnRPYmo6IHsgc29ydEJ5OiAnJywgdHlwZTogJycgfSxcclxuICAgICAgICBwYWdlTmFtZTogJ2NhdGVnb3J5JyxcclxuICAgICAgICB0eXBlQXJyOiBbMSwgMiwgMywgMF0sXHJcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcclxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxyXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxyXG4gICAgICAgIHN0YXRlOiBbMiwgM10sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5ncmNTZXJ2aWNlLmdldFByb2dyYW1zTGlzdENvdW50KHJlcXVlc3QpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbUNvdW50TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMF0uY291bnQgPVxyXG4gICAgICAgICAgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmFjdGl2ZSArIHJlcz8ucmVndWxhdGlvbkNvdW50Py5jb21wbGV0ZWQ7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMV0uY291bnQgPVxyXG4gICAgICAgICAgcmVzPy5zdGFuZGFyZENvdW50Py5hY3RpdmUgKyByZXM/LnN0YW5kYXJkQ291bnQ/LmNvbXBsZXRlZDtcclxuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1syXS5jb3VudCA9XHJcbiAgICAgICAgICByZXM/LmludGVybmFsQ291bnQ/LmFjdGl2ZSArIHJlcz8uaW50ZXJuYWxDb3VudD8uY29tcGxldGVkO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzNdLmNvdW50ID1cclxuICAgICAgICAgIHJlcz8ub3RoZXJDb3VudD8uYWN0aXZlICsgcmVzPy5vdGhlckNvdW50Py5jb21wbGV0ZWQ7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHByb2dyYW06IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlDYWxsKSB7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlDYWxsLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbSA9IHByb2dyYW07XHJcbiAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gdHJ1ZTtcclxuICAgIC8vIHRoaXMucmVzZXRDb250cm9sVmFyaWFibGUoKTtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB7XHJcbiAgICAgIGlkOiBwcm9ncmFtPy5faWQsXHJcbiAgICAgIHNjb3BlVHlwZTogJ3Jpc2snLFxyXG4gICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcclxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgIGZpbHRlckRhdGE6IHtcclxuICAgICAgICBhcHBMaXN0OiBbXSxcclxuICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICByZXZpZXdlcklkOiBbXSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXHJcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcclxuICAgICAgfSxcclxuICAgICAgcGFnZTogdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlIHx8IDEsXHJcbiAgICAgIC8vIHNvcnRpbmdDb3VudDogdGhpcy5jYXRlZ29yeVNvcnRWYWx1ZSxcclxuICAgICAgbmFtZTogJ25hbWUnLFxyXG4gICAgICBidXNpbmVzc0N5Y2xlOiB7XHJcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcclxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxyXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxyXG4gICAgICAgIC8vIFwic2NvcGVUeXBlXCI6ICdyaXNrJyxcclxuICAgICAgICB0eXBlOiAncmlzaycsXHJcbiAgICAgICAgY2FsbEZyb206ICdncmMnLFxyXG4gICAgICAgIGZpbHRlckRhdGE6IHtcclxuICAgICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgICAgcmlza0lkczogW10sXHJcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcclxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcclxuICAgICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcclxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcclxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jYXRlZ29yeUNhbGwgPSB0aGlzLmdyY1NlcnZpY2UuZ2V0U3ViQ2F0ZWdvcnlMaXN0KGhlYWRlcnMpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YSA9IHsgLi4ucmVzIH07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gcmVzPy5kYXRhWzBdO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XHJcbiAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZVNlbGVjdGVkUHJvZ3JhbShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbSA9IGV2ZW50Py5jYXRlZ29yeTtcclxuICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZCh0aGlzLnNlbGVjdGVkUHJvZ3JhbSk7XHJcbiAgICAvLyB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gZXZlbnQ/LmNhdGVnb3J5O1xyXG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbCkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5yZXNwQ291bnQgPSBldmVudC5zb3J0VmFsdWU7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNCdXNpbmVzc0N5Y2xlJywgJ3RydWUnKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhcmVudElkJywgdGhpcy5zZWxlY3RlZFByb2dyYW0/LmNhdGVnb3J5X2lkKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhdElkJywgdGhpcy5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPz8gMSk7XHJcbiAgICAvLyBpZiAoWzEsIC0xXS5pbmNsdWRlcyh0aGlzLmNvbnRyb2xTb3J0VmFsdWUpKSB7XHJcbiAgICAvLyAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRWYWx1ZScsIHRoaXMuY29udHJvbFNvcnRWYWx1ZSk7XHJcbiAgICAvLyAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRCeScsICdEYXRhLlJlcG9ydE5hbWUnKTtcclxuICAgIC8vIH1cclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2luYXRpb25UeXBlJywgJ3NtYWxsJyk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlVHlwZScsICdyaXNrJyk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdjYWxsRnJvbScsICdncmMnKTtcclxuICAgIGxldCBidXNpbmVzc0N5Y2xlID0ge1xyXG4gICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxyXG4gICAgICBwYWdlVHlwZTogJ3Jpc2snLFxyXG4gICAgICBjYWxsRnJvbTogJ2dyYycsXHJcbiAgICAgIGZpbHRlckRhdGE6IHtcclxuICAgICAgICBhcHBMaXN0OiBbXSxcclxuICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICByZXZpZXdlcklkOiBbXSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXHJcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUNhbGwgPSB0aGlzLmdyY1NlcnZpY2VcclxuICAgICAgLmdldFJlc3BvbnNpYmlsaXR5QnlDYXRlZ29yeUlkKHBhcmFtcywgYnVzaW5lc3NDeWNsZSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YSA9IHJlcztcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlEYXRhWydkYXRhJ10gPSB0aGlzLnNldERhdGFMaXN0U3RydWN0dXJlKFxyXG4gICAgICAgICAgICByZXM/LmRhdGFcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVkRGF0YUxpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gZXZlbnQ/LnBhZ2VObztcclxuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIHNldERhdGFMaXN0U3RydWN0dXJlKHJlczogYW55KSB7XHJcbiAgICBjb25zdCBkYXRhID0gcmVzPy5tYXAoKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5yZXNwb25zaWJpbGl0eSxcclxuICAgICAgICBuYW1lOiByZXNwb25zaWJpbGl0eT8uUmVwb3J0TmFtZSxcclxuICAgICAgICBjb250cm9sSWQ6IHJlc3BvbnNpYmlsaXR5Py5Db250cm9sSWQsXHJcbiAgICAgICAgX2lkOiByZXNwb25zaWJpbGl0eT8uRW5jcnlwdGVkUmVwb3J0SWQsXHJcbiAgICAgICAgZW50cnVzdGVkQnk6IHtcclxuICAgICAgICAgIG5hbWU6IHJlc3BvbnNpYmlsaXR5Py5Bc3NpZ25CeSxcclxuICAgICAgICAgIGVtYWlsOiByZXNwb25zaWJpbGl0eT8uQXNzaWduQnlFbWFpbCxcclxuICAgICAgICAgIHByb2ZpbGVQaWM6IHJlc3BvbnNpYmlsaXR5Py5tZW1iZXJfcGljID8/ICcnLFxyXG4gICAgICAgICAgc2hvcnROYW1lOiByZXNwb25zaWJpbGl0eT8ubWVtYmVyX3Nob3J0X25hbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbnRydXN0ZWRUbzoge1xyXG4gICAgICAgICAgbmFtZTogcmVzcG9uc2liaWxpdHk/LkFzc2lnblRvLFxyXG4gICAgICAgICAgZW1haWw6IHJlc3BvbnNpYmlsaXR5Py5Bc3NpZ25UbyxcclxuICAgICAgICAgIHByb2ZpbGVQaWM6IHJlc3BvbnNpYmlsaXR5Py5lbXBsb3llZV9waWMgPz8gJycsXHJcbiAgICAgICAgICBzaG9ydE5hbWU6IHJlc3BvbnNpYmlsaXR5Py5lbXBsb3llZV9zaG9ydF9uYW1lLFxyXG4gICAgICAgICAgRW50cnVzdGVkVG9NZW1iZXJzOiByZXNwb25zaWJpbGl0eT8uRW50cnVzdGVkVG9NZW1iZXJzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2l0aGluRGF0YTogcmVzcG9uc2liaWxpdHk/LlJDX2RldGFpbHNfYXJyYXk/Lm1hcCgod2l0aGluOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5hbWU6IHdpdGhpbj8ucmNfbmFtZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgc3ViQ2F0ZWdvcnlJZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpIHtcclxuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgICB0aGlzLmdldEFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZENhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFByb2dyYW1JZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtSWRzID0gW107XHJcbiAgICBzZWxlY3RlZERhdGE/LmZvckVhY2goKHNlbGVjdGVkOiBhbnkpID0+IHtcclxuICAgICAgLy8gdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzID0gc2VsZWN0ZWQ/LmNhdGVnb3J5IHx8IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUlkcy5wdXNoKHNlbGVjdGVkPy5wcm9ncmFtPy5wcm9ncmFtSWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZENhdGVnb3J5SWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcclxuICAgIGxldCBwcm9ncmFtSW5kZXggPSAtMTtcclxuICAgIHByb2dyYW1JbmRleCA9IHNlbGVjdGVkRGF0YS5maW5kSW5kZXgoXHJcbiAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5wcm9ncmFtPy5wcm9ncmFtSWQgPT09IHRoaXMuc2VsZWN0ZWRQcm9ncmFtPy5wcm9ncmFtSWRcclxuICAgICk7XHJcbiAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBzZWxlY3RlZERhdGFbcHJvZ3JhbUluZGV4XT8uY2F0ZWdvcnk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyhzZWxlY3RlZERhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMucHVzaCguLi5pdGVtPy5yZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUkNJZHMoc2VsZWN0ZWRSQzogYW55W10pIHtcclxuICAgIGxldCBzZWxlY3RlZFJDSWRzOiBhbnlbXSA9IFtdO1xyXG4gICAgc2VsZWN0ZWRSQ0lkcyA9IHNlbGVjdGVkUkM/Lm1hcCgocmM6IGFueSkgPT4gcmM/LnJjX2lkKTtcclxuXHJcbiAgICByZXR1cm4gc2VsZWN0ZWRSQ0lkcztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZ1wiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgUmVzcG9uc2liaWxpdGllczwvaDM+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWJvZHlcIj5cclxuICAgICAgICA8YXBwLXRhYmxlLWNhcmQtbG9hZGVyICpuZ0lmPVwicHJvZ3JhbUNvdW50TG9hZGVyXCI+PC9hcHAtdGFibGUtY2FyZC1sb2FkZXI+XHJcbiAgICAgICAgPGFwcC10YWJsZS1jYXJkXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXByb2dyYW1Db3VudExvYWRlclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidngtdy0xMDBcIlxyXG4gICAgICAgICAgICBbdGFibGVDYXJkXT1cInByb2dyYW1UeXBlc1wiXHJcbiAgICAgICAgICAgIFtzaW5nbGVTZWxlY3RlZFRleHRdPVwiJ1Jlc3BvbnNpYmlsaXR5IFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXHJcbiAgICAgICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdGllcyBTZWxlY3RlZCdcIlxyXG4gICAgICAgICAgICAoc2V0U2VsZWN0ZWRUYWIpPVwic2V0U2VsZWN0ZWRUYWIoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXRhYmxlLWNhcmQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAgI3NlYXJjaFJpc2tDYXRlZ29yeSAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUHJvZ3JhbXNcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keS1pbm5lciB2eC1tYi0yIHZ4LWQtZmxleFwiIFtjbGFzcy52eC1qdXN0aWZ5LWNlbnRlcl09XCIoIXByb2dyYW1Mb2FkZXIgJiYgIXByb2dyYW1EYXRhPy5kYXRhPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocHJvZ3JhbUxvYWRlciB8fCBwcm9ncmFtRGF0YT8uZGF0YT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tbGVmdCB2eC1wci0yXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhcHJvZ3JhbUxvYWRlclwiIFtoZWFkZXJUZXh0XT1cIidQcm9ncmFtcydcIiBbcHJvZ3JhbURhdGFdPVwicHJvZ3JhbURhdGFcIiAgW3NlbGVjdGVkQ2F0QW5kUmlza109XCJzZWxlY3RlZENhdEFuZFJpc2tcIiBbbmFtZURpc3BsYXlLZXldPVwiJ2l0ZW1fbmFtZSdcIiBbY3VycmVudFBhZ2VdPVwicHJvZ3JhbUN1cnJlbnRQYWdlXCIgW3NlbGVjdGVkVGFiSW5kZXhdPVwic2VsZWN0ZWRUYWJcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZFByb2dyYW1JZHNcIiAoYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeSk9XCJhY3RpdmVTZWxlY3RlZFByb2dyYW0oJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvblByb2dyYW1QYWdlQ2hhbmdlKCRldmVudClcIj48L2FwcC1ncmMtY2F0ZWdvcnktbGlzdGluZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cInByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1taWQgdngtcHItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nICpuZ0lmPVwiIWNhdGVnb3J5TG9hZGVyICYmICFwcm9ncmFtTG9hZGVyXCIgIFtoZWFkZXJUZXh0XT1cIidQcm9ncmFtcydcIiBbY2F0ZWdvcmllc109XCJjYXRlZ29yeURhdGFcIiAgW25hbWVEaXNwbGF5S2V5XT1cIidpdGVtX25hbWUnXCIgIFtjdXJyZW50UGFnZV09XCJjYXRlZ29yeUN1cnJlbnRQYWdlXCIgW3NlbGVjdGVkQ2F0ZWdvcnlJZHNdPVwic2VsZWN0ZWRDYXRlZ29yeUlkc1wiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFtzZWxlY3RlZFByb2dyYW1BbmRSZXNwXT1cInNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BcIiAoYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeSk9XCJhY3RpdmVTZWxlY3RlZFN1YkNhdGVnb3J5KCRldmVudClcIiAob25DYXRlZ29yeVBhZ2VDaGFuZ2UpPVwib25TdWJDYXRlZ29yeVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1zdWItY2F0ZWdvcnktbGlzdGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwiY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nICNkYXRhTGlzdGluZyAqbmdJZj1cIiFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhY2F0ZWdvcnlMb2FkZXIgJiYgIXByb2dyYW1Mb2FkZXIgJiYgcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGggIT09IDBcIiBbaGVhZGVyVGV4dF09XCInUmVzcG9uc2liaWxpdGllcydcIiBbTU9ERV09XCJNT0RFXCIgW3Jlc3BvbnNpYmlsaXR5RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGFcIiBbYWN0aXZlUHJvZ3JhbV09XCJzZWxlY3RlZFByb2dyYW1cIiBbYWN0aXZlQ2F0ZWdvcnldPVwic2VsZWN0ZWRDYXRlZ29yeVwiIFtzZWxlY3RlZFByb2dyYW1BbmRSZXNwXT1cInNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BcIiBbYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkc109XCJzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgfCB1bmlxdWVSZXNwb25zaWJpbGl0aWVzXCIgKGNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApPVwiY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCgkZXZlbnQpXCIgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2VcIiBbcGVyUGFnZUxpbWl0XT1cIjMwXCIgW3RvdGFsTGlzdERhdGFdPVwicmVzcG9uc2liaWxpdHlEYXRhPy50b3RhbF9pdGVtc1wiIFt0b3RhbFBhZ2VzXT1cInJlc3BvbnNpYmlsaXR5RGF0YT8udG90YWxfcGFnZXNcIiAoZ2V0VXBkYXRlZERhdGFMaXN0KT1cImdldFVwZGF0ZWREYXRhTGlzdCgkZXZlbnQpXCIgPjwvYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICEocmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlcilcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiKCFwcm9ncmFtTG9hZGVyICYmICFwcm9ncmFtRGF0YT8uZGF0YT8ubGVuZ3RoKVwiIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtZmxvYXRpbmctYmFyICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXM/Lmxlbmd0aCA/IChzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgfCB1bmlxdWVSZXNwb25zaWJpbGl0aWVzIDogJ2VudGlyZU9iamVjdCcpIDogW11cIiAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgIFtkaXNwbGF5RWxlbWVudEtleV09XCInUmVwb3J0TmFtZSdcIiBbc2luZ3VsYXJUZXh0XT1cIidSZXNwb25zaWJpbGl0eSBzZWxlY3RlZCdcIiBbcGx1cmFsVGV4dF09XCInUmVzcG9uc2liaWxpdGllcyBzZWxlY3RlZCdcIiAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class UniqueResponsibilitiesPipe {
|
|
4
|
+
transform(value, ...args) {
|
|
5
|
+
let returnType = args[0];
|
|
6
|
+
if (returnType === 'entireObject') {
|
|
7
|
+
const uniqueObjects = Array.from(new Map(value.map((item) => [item._id, item])).values());
|
|
8
|
+
return uniqueObjects;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
const uniqueIds = [...new Set(value.map((item) => item._id))];
|
|
12
|
+
return uniqueIds;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
UniqueResponsibilitiesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UniqueResponsibilitiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
17
|
+
UniqueResponsibilitiesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: UniqueResponsibilitiesPipe, name: "uniqueResponsibilities" });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UniqueResponsibilitiesPipe, decorators: [{
|
|
19
|
+
type: Pipe,
|
|
20
|
+
args: [{
|
|
21
|
+
name: 'uniqueResponsibilities',
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLXJlc3BvbnNpYmlsaXRpZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC93b3JrZmxvdy1waXBlcy91bmlxdWUtcmVzcG9uc2liaWxpdGllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFNBQVMsQ0FBQyxLQUFTLEVBQUUsR0FBRyxJQUFXO1FBQ2pDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLFVBQVUsS0FBSyxjQUFjLEVBQUU7WUFDakMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDOUIsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDN0QsQ0FBQztZQUNGLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRSxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUM7O3VIQVpVLDBCQUEwQjtxSEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHdCQUF3QjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3VuaXF1ZVJlc3BvbnNpYmlsaXRpZXMnLFxufSlcbmV4cG9ydCBjbGFzcyBVbmlxdWVSZXNwb25zaWJpbGl0aWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IFtdLCAuLi5hcmdzOiBhbnlbXSk6IHVua25vd24ge1xuICAgIGxldCByZXR1cm5UeXBlID0gYXJnc1swXTtcbiAgICBpZiAocmV0dXJuVHlwZSA9PT0gJ2VudGlyZU9iamVjdCcpIHtcbiAgICAgIGNvbnN0IHVuaXF1ZU9iamVjdHMgPSBBcnJheS5mcm9tKFxuICAgICAgICBuZXcgTWFwKHZhbHVlLm1hcCgoaXRlbTogYW55KSA9PiBbaXRlbS5faWQsIGl0ZW1dKSkudmFsdWVzKClcbiAgICAgICk7XG4gICAgICByZXR1cm4gdW5pcXVlT2JqZWN0cztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdW5pcXVlSWRzID0gWy4uLm5ldyBTZXQodmFsdWUubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uX2lkKSldO1xuICAgICAgcmV0dXJuIHVuaXF1ZUlkcztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,18 +2,31 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { GetSelectedValuePipe } from './get-selected-value.pipe';
|
|
4
4
|
import { IsAttributesValidPipe } from './is-attributes-valid.pipe';
|
|
5
|
+
import { UniqueResponsibilitiesPipe } from './unique-responsibilities.pipe';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class WorkflowPipesModule {
|
|
7
8
|
}
|
|
8
9
|
WorkflowPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WorkflowPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
WorkflowPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: WorkflowPipesModule, declarations: [GetSelectedValuePipe,
|
|
10
|
+
WorkflowPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: WorkflowPipesModule, declarations: [GetSelectedValuePipe,
|
|
11
|
+
IsAttributesValidPipe,
|
|
12
|
+
UniqueResponsibilitiesPipe], imports: [CommonModule], exports: [GetSelectedValuePipe,
|
|
13
|
+
IsAttributesValidPipe,
|
|
14
|
+
UniqueResponsibilitiesPipe] });
|
|
10
15
|
WorkflowPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WorkflowPipesModule, imports: [CommonModule] });
|
|
11
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WorkflowPipesModule, decorators: [{
|
|
12
17
|
type: NgModule,
|
|
13
18
|
args: [{
|
|
14
|
-
declarations: [
|
|
19
|
+
declarations: [
|
|
20
|
+
GetSelectedValuePipe,
|
|
21
|
+
IsAttributesValidPipe,
|
|
22
|
+
UniqueResponsibilitiesPipe,
|
|
23
|
+
],
|
|
15
24
|
imports: [CommonModule],
|
|
16
|
-
exports: [
|
|
25
|
+
exports: [
|
|
26
|
+
GetSelectedValuePipe,
|
|
27
|
+
IsAttributesValidPipe,
|
|
28
|
+
UniqueResponsibilitiesPipe,
|
|
29
|
+
],
|
|
17
30
|
}]
|
|
18
31
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL3dvcmtmbG93LXBpcGVzL3dvcmtmbG93LXBpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFlNUUsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQVg1QixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLDBCQUEwQixhQUVsQixZQUFZLGFBRXBCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsMEJBQTBCO2lIQUdqQixtQkFBbUIsWUFQcEIsWUFBWTsyRkFPWCxtQkFBbUI7a0JBYi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQiwwQkFBMEI7cUJBQzNCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgR2V0U2VsZWN0ZWRWYWx1ZVBpcGUgfSBmcm9tICcuL2dldC1zZWxlY3RlZC12YWx1ZS5waXBlJztcclxuaW1wb3J0IHsgSXNBdHRyaWJ1dGVzVmFsaWRQaXBlIH0gZnJvbSAnLi9pcy1hdHRyaWJ1dGVzLXZhbGlkLnBpcGUnO1xyXG5pbXBvcnQgeyBVbmlxdWVSZXNwb25zaWJpbGl0aWVzUGlwZSB9IGZyb20gJy4vdW5pcXVlLXJlc3BvbnNpYmlsaXRpZXMucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgR2V0U2VsZWN0ZWRWYWx1ZVBpcGUsXHJcbiAgICBJc0F0dHJpYnV0ZXNWYWxpZFBpcGUsXHJcbiAgICBVbmlxdWVSZXNwb25zaWJpbGl0aWVzUGlwZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEdldFNlbGVjdGVkVmFsdWVQaXBlLFxyXG4gICAgSXNBdHRyaWJ1dGVzVmFsaWRQaXBlLFxyXG4gICAgVW5pcXVlUmVzcG9uc2liaWxpdGllc1BpcGUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtmbG93UGlwZXNNb2R1bGUge31cclxuIl19
|