vcomply-workflow-engine 3.2.2 → 3.2.3
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/more-option/more-option.component.mjs +10 -11
- package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +78 -6
- package/esm2020/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +1 -1
- package/esm2020/lib/workflow/shared/components/attributes/attributes.component.mjs +1 -1
- package/esm2020/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +32 -10
- package/esm2020/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +18 -3
- package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +62 -60
- package/esm2020/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
- package/esm2020/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +77 -11
- package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +24 -2
- package/esm2020/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +393 -0
- package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +5 -5
- package/esm2020/lib/workflow/shared/constants/field-text.constant.mjs +3 -1
- package/esm2020/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
- package/esm2020/lib/workflow/shared/interfaces/add-grc.mjs +1 -1
- package/esm2020/lib/workflow/shared/services/grc.service.mjs +83 -1
- package/esm2020/lib/workflow-engine.module.mjs +2 -5
- package/esm2020/lib/workflow-grc/workflow-grc.component.mjs +2 -2
- package/esm2020/lib/workflow-policy/workflow-policy.component.mjs +2 -2
- package/fesm2015/vcomply-workflow-engine.mjs +910 -57
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +894 -55
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +8 -1
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +2 -0
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +2 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +5 -1
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +11 -9
- package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +35 -0
- package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +17 -2
- package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +76 -0
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +2 -2
- package/lib/workflow/shared/constants/field-text.constant.d.ts +2 -0
- package/lib/workflow/shared/constants/link-responsibility.constant.d.ts +7 -0
- package/lib/workflow/shared/interfaces/add-grc.d.ts +3 -1
- package/lib/workflow/shared/services/grc.service.d.ts +10 -0
- package/lib/workflow-engine.module.d.ts +32 -33
- package/package.json +1 -1
|
@@ -17,7 +17,6 @@ import * as i8 from "../../../../ui-kit/pagination/pagination/pagination.compone
|
|
|
17
17
|
export class GrcResponsibilityListingComponent {
|
|
18
18
|
constructor(config) {
|
|
19
19
|
this.profilePic = '';
|
|
20
|
-
this.dataList = [];
|
|
21
20
|
this.headerText = 'Name';
|
|
22
21
|
this.selectedListData = [];
|
|
23
22
|
this.selectedListDataIds = [];
|
|
@@ -25,18 +24,19 @@ export class GrcResponsibilityListingComponent {
|
|
|
25
24
|
this.currentPage = 1;
|
|
26
25
|
this.totalPages = 1;
|
|
27
26
|
this.totalListData = 0;
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
27
|
+
this.selectedProgramAndResp = [];
|
|
28
|
+
this.activeProgram = {};
|
|
29
|
+
this.calledFrom = '';
|
|
30
30
|
this.getUpdatedDataList = new EventEmitter();
|
|
31
|
-
this.
|
|
31
|
+
this.changeSelectedProgramAndResp = new EventEmitter();
|
|
32
32
|
this.env = config?.envConfig;
|
|
33
33
|
this.profilePic = this.env.s3Url + this.env.s3Bucket + this.env.profile;
|
|
34
34
|
}
|
|
35
|
-
set
|
|
35
|
+
set getResponsibilityList(value) {
|
|
36
36
|
this.dataList = value;
|
|
37
37
|
}
|
|
38
|
-
set
|
|
39
|
-
this.
|
|
38
|
+
set getSelectedProgramAndResp(value) {
|
|
39
|
+
this.selectedProgramAndResp = value;
|
|
40
40
|
this.getSelectedDataAndIds(value);
|
|
41
41
|
}
|
|
42
42
|
ngOnInit() { }
|
|
@@ -48,14 +48,14 @@ export class GrcResponsibilityListingComponent {
|
|
|
48
48
|
else {
|
|
49
49
|
this.deleteEvent(responsibility);
|
|
50
50
|
}
|
|
51
|
-
this.updateOrCreateCategory(this.
|
|
51
|
+
this.updateOrCreateCategory(this.activeProgram?.programId, this.activeProgram);
|
|
52
52
|
}
|
|
53
53
|
deleteEvent(responsibility) {
|
|
54
54
|
this.selectedListData = this.selectedListData?.filter((selected) => selected?._id !== responsibility?._id);
|
|
55
55
|
this.selectedListDataIds = this.selectedListDataIds?.filter((selectedListDataId) => selectedListDataId !== responsibility?._id);
|
|
56
56
|
}
|
|
57
57
|
selectAll(event) {
|
|
58
|
-
this.dataList?.forEach((data) => {
|
|
58
|
+
this.dataList?.data?.forEach((data) => {
|
|
59
59
|
if (event) {
|
|
60
60
|
if (!this.selectedListDataIds.includes(data?._id)) {
|
|
61
61
|
this.selectedListData.push(data);
|
|
@@ -66,13 +66,13 @@ export class GrcResponsibilityListingComponent {
|
|
|
66
66
|
this.deleteEvent(data);
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
|
-
this.updateOrCreateCategory(this.
|
|
69
|
+
this.updateOrCreateCategory(this.activeProgram?.programId, this.activeProgram);
|
|
70
70
|
}
|
|
71
71
|
isAllSelected() {
|
|
72
72
|
if (this.selectedListDataIds &&
|
|
73
73
|
this.selectedListDataIds.length >= this.selectedListData?.length &&
|
|
74
74
|
this.selectedListDataIds.length > 0) {
|
|
75
|
-
for (const grc of this.dataList) {
|
|
75
|
+
for (const grc of this.dataList?.data) {
|
|
76
76
|
if (!this.selectedListDataIds.includes(grc?._id)) {
|
|
77
77
|
return false;
|
|
78
78
|
}
|
|
@@ -89,69 +89,72 @@ export class GrcResponsibilityListingComponent {
|
|
|
89
89
|
pageNo: this.currentPage,
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
-
updateOrCreateCategory(
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
92
|
+
updateOrCreateCategory(programId, program) {
|
|
93
|
+
const programIndex = this.findCheckedProgramIndex(programId);
|
|
94
|
+
if (programIndex !== -1) {
|
|
95
95
|
// Category exists, update risk value
|
|
96
|
-
this.
|
|
96
|
+
this.selectedProgramAndResp[programIndex].responsibility =
|
|
97
97
|
this.selectedListData ?? [];
|
|
98
|
+
this.selectedProgramAndResp[programIndex].category =
|
|
99
|
+
this.getSubCategoryIds(this.selectedListData ?? []);
|
|
98
100
|
if (this.selectedListData.length === 0) {
|
|
99
101
|
// Remove category if selectedListData is empty
|
|
100
|
-
this.
|
|
102
|
+
this.selectedProgramAndResp.splice(programIndex, 1);
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
105
|
else {
|
|
104
106
|
// Category doesn't exist, create new category with subcategory
|
|
105
|
-
this.
|
|
106
|
-
|
|
107
|
-
|
|
107
|
+
this.selectedProgramAndResp.push({
|
|
108
|
+
program: program ?? {},
|
|
109
|
+
category: this.getSubCategoryIds(this.selectedListData ?? []),
|
|
110
|
+
responsibility: this.selectedListData ?? [],
|
|
108
111
|
});
|
|
109
112
|
}
|
|
110
|
-
this.
|
|
113
|
+
this.changeSelectedProgramAndResp.emit(this.selectedProgramAndResp);
|
|
111
114
|
}
|
|
112
115
|
getSelectedDataAndIds(selectedData) {
|
|
113
|
-
const
|
|
116
|
+
const programIndex = this.findCheckedProgramIndex(this.activeProgram?.programId);
|
|
114
117
|
this.selectedListData = [];
|
|
115
118
|
this.selectedListDataIds = [];
|
|
116
|
-
if (
|
|
117
|
-
this.selectedListData = selectedData[
|
|
119
|
+
if (programIndex !== -1) {
|
|
120
|
+
this.selectedListData = selectedData[programIndex]?.responsibility ?? [];
|
|
118
121
|
this.selectedListData?.forEach((data) => {
|
|
119
122
|
this.selectedListDataIds.push(data?._id);
|
|
120
123
|
});
|
|
121
124
|
}
|
|
122
125
|
}
|
|
123
|
-
|
|
124
|
-
let
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const uncategorizedIndex = this.selectedCatAndRisk.findIndex((cat) => cat?.category?._id === 'uncategorized');
|
|
128
|
-
if (uncategorizedIndex !== -1) {
|
|
129
|
-
return uncategorizedIndex;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
categoryIndex = this.selectedCatAndRisk.findIndex((cat) => cat?.category?.category_id === categoryId);
|
|
134
|
-
}
|
|
135
|
-
return categoryIndex;
|
|
126
|
+
findCheckedProgramIndex(categoryId) {
|
|
127
|
+
let programIndex = -1;
|
|
128
|
+
programIndex = this.selectedProgramAndResp.findIndex((cat) => cat?.program?.programId === categoryId);
|
|
129
|
+
return programIndex;
|
|
136
130
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
this.
|
|
131
|
+
deleteSelectedResponsibility(responsibility) {
|
|
132
|
+
this.selectedProgramAndResp = this.selectedProgramAndResp?.map((data) => {
|
|
133
|
+
let filteredResponsibility = data?.responsibility?.filter((resp) => resp?._id !== responsibility?._id);
|
|
134
|
+
return {
|
|
135
|
+
...data,
|
|
136
|
+
responsibility: filteredResponsibility,
|
|
137
|
+
category: [
|
|
138
|
+
...(new Set(filteredResponsibility
|
|
139
|
+
.map((obj) => obj?.ReportCategoryIdsArr)
|
|
140
|
+
?.flat()) || []),
|
|
141
|
+
],
|
|
142
|
+
};
|
|
143
|
+
});
|
|
144
|
+
this.selectedProgramAndResp = this.selectedProgramAndResp.filter((data) => {
|
|
145
|
+
return data?.responsibility?.length > 0;
|
|
146
|
+
});
|
|
147
|
+
this.changeSelectedProgramAndResp.emit(this.selectedProgramAndResp);
|
|
148
|
+
}
|
|
149
|
+
getSubCategoryIds(selectedResponsibility) {
|
|
150
|
+
const subCategoryIds = selectedResponsibility?.reduce((result, responsibility) => {
|
|
151
|
+
return result.concat(responsibility.ReportCategoryIdsArr);
|
|
152
|
+
}, []);
|
|
153
|
+
return [...new Set(subCategoryIds)];
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
156
|
GrcResponsibilityListingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcResponsibilityListingComponent, deps: [{ token: i1.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
154
|
-
GrcResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeCategory: "activeCategory", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", selectedCatAndRisk: "selectedCatAndRisk", risksList: ["dataList", "risksList"], getSelectedCatAndRisk: ["selectedCatAndRisk", "getSelectedCatAndRisk"] }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedCatAndRisk: "changeSelectedCatAndRisk" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\" (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-responsibility-listing-inner\">\r\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"totalPages > 1\">\r\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList; let i = index\" [class.active]=\"selectedListDataIds?.includes(list?._id)\">\r\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedListDataIds?.includes(list?._id)\" (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\r\n <div class=\"vx-avatar-group vx-mr-1\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\" src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"false\" class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"blue\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1672222891690_ProfilePicture.png\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"false\" class=\"vx-avatar md counter\" appPopover (click)=\"multiUser.popover()\" placement=\"left\">\r\n <span class=\"green\">+99</span>\r\n </div>\r\n <app-popover #multiUser>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"avatar-card\">\r\n <div class=\"avatar\">hk</div>\r\n <div *ngIf=\"false\" class=\"avatar\"><img src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1672222891690_ProfilePicture.png\" alt=\"\"></div>\r\n <span class=\"value\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Harshvardhan Kariwala</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\r\n <div class=\"name-inner\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">{{list?.controlId}}</div>\r\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.name}}</div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.name\">\r\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:</div>\r\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"'Management direction for information > Information Security'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Management direction for information > Information Security</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPages > 1\" [start]=\"perPageLimit * (currentPage - 1) + 1\" [end]=\"perPageLimit * currentPage\" [total]=\"totalListData\" [pageCount]=\"totalPages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\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\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponent, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i8.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] });
|
|
157
|
+
GrcResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcResponsibilityListingComponent, isStandalone: true, selector: "app-grc-responsibility-listing", inputs: { tableCard: "tableCard", activeProgram: "activeProgram", headerText: "headerText", currentPage: "currentPage", perPageLimit: "perPageLimit", totalListData: "totalListData", totalPages: "totalPages", selectedListData: "selectedListData", selectedListDataIds: "selectedListDataIds", getResponsibilityList: ["responsibilityData", "getResponsibilityList"], getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"] }, outputs: { getUpdatedDataList: "getUpdatedDataList", changeSelectedProgramAndResp: "changeSelectedProgramAndResp" }, ngImport: i0, template: "<div class=\"grc-responsibility-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\" (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-responsibility-listing-inner\">\r\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\r\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList?.data; let i = index\" [class.active]=\"selectedListDataIds?.includes(list?._id)\">\r\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedListDataIds?.includes(list?._id)\" (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\r\n <div class=\"vx-avatar-group vx-mr-1\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\" src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\" src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\" appPopover (click)=\"multiUser.popover()\" placement=\"left\">\r\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\r\n </div>\r\n <app-popover #multiUser>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\r\n <div class=\"avatar-card\">\r\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_short_name}}</div>\r\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\r\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\r\n <div class=\"name-inner\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">{{list?.controlId}}</div>\r\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.name}}</div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\r\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:</div>\r\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" ><span *ngFor=\"let parent of list?.withinData; let last = last\" [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{parent?.name}} \r\n <span *ngIf=\"!last\"> <\r\n </span>\r\n </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\" [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\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\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.CsCheckboxIndeterminateComponent, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i8.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] });
|
|
155
158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcResponsibilityListingComponent, decorators: [{
|
|
156
159
|
type: Component,
|
|
157
160
|
args: [{ selector: 'app-grc-responsibility-listing', standalone: true, imports: [
|
|
@@ -163,7 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
163
166
|
PaginationModule,
|
|
164
167
|
], inputs: [
|
|
165
168
|
'tableCard',
|
|
166
|
-
'
|
|
169
|
+
'activeProgram',
|
|
167
170
|
'headerText',
|
|
168
171
|
'currentPage',
|
|
169
172
|
'perPageLimit',
|
|
@@ -171,19 +174,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
171
174
|
'totalPages',
|
|
172
175
|
'selectedListData',
|
|
173
176
|
'selectedListDataIds',
|
|
174
|
-
'selectedCatAndRisk',
|
|
175
|
-
], template: "<div class=\"grc-responsibility-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\" (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-responsibility-listing-inner\">\r\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"totalPages > 1\">\r\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList; let i = index\" [class.active]=\"selectedListDataIds?.includes(list?._id)\">\r\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedListDataIds?.includes(list?._id)\" (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\r\n <div class=\"vx-avatar-group vx-mr-1\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\" src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"false\" class=\"vx-avatar md\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span class=\"blue\">hk</span>\r\n <img *ngIf=\"false\" src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1672222891690_ProfilePicture.png\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"false\" class=\"vx-avatar md counter\" appPopover (click)=\"multiUser.popover()\" placement=\"left\">\r\n <span class=\"green\">+99</span>\r\n </div>\r\n <app-popover #multiUser>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"avatar-card\">\r\n <div class=\"avatar\">hk</div>\r\n <div *ngIf=\"false\" class=\"avatar\"><img src=\"https://s3-eu-west-1.amazonaws.com/eu.v-comply.com/profile_pic/thumb/1672222891690_ProfilePicture.png\" alt=\"\"></div>\r\n <span class=\"value\" [appTooltip]=\"'Harshvardhan Kariwala'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Harshvardhan Kariwala</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\r\n <div class=\"name-inner\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">{{list?.controlId}}</div>\r\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.name}}</div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.name\">\r\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:</div>\r\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" [appTooltip]=\"'Management direction for information > Information Security'\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">Management direction for information > Information Security</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPages > 1\" [start]=\"perPageLimit * (currentPage - 1) + 1\" [end]=\"perPageLimit * currentPage\" [total]=\"totalListData\" [pageCount]=\"totalPages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\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\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
|
|
177
|
+
], template: "<div class=\"grc-responsibility-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"isAllSelected() || selectedListDataIds?.length === 0\" [ngValue]=\"isAllSelected()\" (ngValueChange)=\"selectAll($event)\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"!isAllSelected() && selectedListDataIds?.length\" [ngValue]=\"true\" (ngValueChange)=\"selectAll(false)\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-responsibility-listing-inner\">\r\n <div class=\"grc-responsibility-table-body\" [class.with-pagination]=\"dataList?.total_pages > 1\">\r\n <div class=\"grc-responsibility-table-row\" *ngFor=\"let list of dataList?.data; let i = index\" [class.active]=\"selectedListDataIds?.includes(list?._id)\">\r\n <div class=\"grc-responsibility-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"(perPageLimit * (currentPage - 1)) + i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{(perPageLimit * (currentPage - 1)) + i + 1}}</div>\r\n <app-cs-checkbox [ngValue]=\"selectedListDataIds?.includes(list?._id)\" (ngValueChange)=\"getSelectedData(list,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"grc-responsibility-table-column vx-pr-1 vx-d-flex vx-align-center responsibility-name\">\r\n <div class=\"vx-avatar-group vx-mr-1\">\r\n <div class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedBy?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedBy?.profilePic === ''\" class=\"blue\">{{list.entrustedBy?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedBy?.profilePic !== ''\" src=\"{{profilePic + list?.entrustedBy?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length === 0\" class=\"vx-avatar md\" [appTooltip]=\"list?.entrustedTo?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <span *ngIf=\"list?.entrustedTo?.profilePic === ''\" class=\"blue\">{{list?.entrustedTo?.shortName}}</span>\r\n <img *ngIf=\"list?.entrustedTo?.profilePic !== ''\" src=\"{{profilePic + list?.entrustedTo?.profilePic}}\" alt=\"\">\r\n </div>\r\n <div *ngIf=\"list?.entrustedTo?.EntrustedToMembers?.length\" class=\"vx-avatar md counter\" appPopover (click)=\"multiUser.popover()\" placement=\"left\">\r\n <span class=\"green\">+{{list?.entrustedTo?.EntrustedToMembers?.length}}</span>\r\n </div>\r\n <app-popover #multiUser>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let user of list?.entrustedTo?.EntrustedToMembers\">\r\n <div class=\"avatar-card\">\r\n <div *ngIf=\"user?.profile_pic === ''\" class=\"avatar\">{{user?.member_short_name}}</div>\r\n <div *ngIf=\"user?.profile_pic !== ''\" class=\"avatar\"><img src=\"{{profilePic + user?.profile_pic}}\" alt=\"\"></div>\r\n <span class=\"value\" [appTooltip]=\"user.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{user?.member_name}}</span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <!-- <i class=\"icons star vx-fs-10 vx-mr-1\" [class.active]=\"true\"></i> -->\r\n <div class=\"name-inner\">\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">{{list?.controlId}}</div>\r\n <div class=\"name vx-fs-13 vx-label-txt\" [appTooltip]=\"list?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{list?.name}}</div>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\" *ngIf=\"list?.withinData?.length\">\r\n <div class=\"vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-1\">RESPONSIBILITY CENTER:</div>\r\n <div class=\"within-part vx-d-flex vx-align-center vx-pr-3\">\r\n <div class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">Within</div>\r\n <div class=\"within-value vx-fs-11 vx-paragraph-txt\" ><span *ngFor=\"let parent of list?.withinData; let last = last\" [appTooltip]=\"parent?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{parent?.name}} \r\n <span *ngIf=\"!last\"> <\r\n </span>\r\n </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"dataList?.total_pages > 1\" [start]=\"dataList?.items_from\" [end]=\"dataList?.items_to\" [total]=\"dataList?.total_items\" [pageCount]=\"dataList?.total_pages\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\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\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/avatars/avatars.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-responsibility-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-responsibility-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-responsibility-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row:hover .grc-responsibility-table-column.serial app-cs-checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row.active .grc-responsibility-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column{min-height:3.25rem;position:relative;width:100%}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:3.25rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:1.125rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name{width:calc(100% - 2rem);min-width:calc(100% - 2rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star{color:#f1f1f1}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .star.active{color:#f4c84a}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner{width:calc(100% - 5rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 6rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body .grc-responsibility-table-row .grc-responsibility-table-column.responsibility-name .name-inner .within-part{width:calc(100% - 8rem)}::ng-deep .grc-responsibility-listing-inner .grc-responsibility-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-responsibility-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}.cursor-pointer{cursor:pointer}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
|
|
176
178
|
}], ctorParameters: function () { return [{ type: i1.Configurations, decorators: [{
|
|
177
179
|
type: Optional
|
|
178
|
-
}] }]; }, propDecorators: {
|
|
180
|
+
}] }]; }, propDecorators: { getResponsibilityList: [{
|
|
179
181
|
type: Input,
|
|
180
|
-
args: ['
|
|
181
|
-
}],
|
|
182
|
+
args: ['responsibilityData']
|
|
183
|
+
}], getSelectedProgramAndResp: [{
|
|
182
184
|
type: Input,
|
|
183
|
-
args: ['
|
|
185
|
+
args: ['selectedProgramAndResp']
|
|
184
186
|
}], getUpdatedDataList: [{
|
|
185
187
|
type: Output
|
|
186
|
-
}],
|
|
188
|
+
}], changeSelectedProgramAndResp: [{
|
|
187
189
|
type: Output
|
|
188
190
|
}] } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7O0FBNkIxRSxNQUFNLE9BQU8saUNBQWlDO0lBMEI1QyxZQUF3QixNQUF1QjtRQXpCL0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBVyxNQUFNLENBQUM7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a0hBQWpDLGlDQUFpQyxxb0JDMUM5Qyw2cUxBMkRNLGlxV0R2Q0YsWUFBWSwrUEFDWixhQUFhLHNQQUNiLGVBQWUseVdBQ2YsYUFBYSxxTUFDYixpQkFBaUIsOEJBQ2pCLGdCQUFnQjsyRkFpQlAsaUNBQWlDO2tCQTFCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCLFVBR087d0JBQ04sV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUNyQjs7MEJBNEJZLFFBQVE7NENBWkUsU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxVQUFVO2dCQUlnQixxQkFBcUI7c0JBQXJELEtBQUs7dUJBQUMsb0JBQW9CO2dCQUtqQixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csd0JBQXdCO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAndGFibGVDYXJkJyxcclxuICAgICdhY3RpdmVDYXRlZ29yeScsXHJcbiAgICAnaGVhZGVyVGV4dCcsXHJcbiAgICAnY3VycmVudFBhZ2UnLFxyXG4gICAgJ3BlclBhZ2VMaW1pdCcsXHJcbiAgICAndG90YWxMaXN0RGF0YScsXHJcbiAgICAndG90YWxQYWdlcycsXHJcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YScsXHJcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YUlkcycsXHJcbiAgICAnc2VsZWN0ZWRDYXRBbmRSaXNrJyxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcm9maWxlUGljID0gJyc7XHJcbiAgZW52OiBhbnk7XHJcbiAgZGF0YUxpc3Q6IGFueSA9IFtdO1xyXG4gIGhlYWRlclRleHQ6IHN0cmluZyA9ICdOYW1lJztcclxuICBzZWxlY3RlZExpc3REYXRhOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZExpc3REYXRhSWRzOiBhbnkgPSBbXTtcclxuICBwZXJQYWdlTGltaXQ6IG51bWJlciA9IDMwO1xyXG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHRvdGFsUGFnZXM6IG51bWJlciA9IDE7XHJcbiAgdG90YWxMaXN0RGF0YTogbnVtYmVyID0gMDtcclxuICBzZWxlY3RlZENhdEFuZFJpc2s6IGFueSA9IFtdO1xyXG4gIGFjdGl2ZUNhdGVnb3J5OiBhbnkgPSB7fTtcclxuXHJcbiAgQElucHV0KCdkYXRhTGlzdCcpIHNldCByaXNrc0xpc3QodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5kYXRhTGlzdCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZENhdEFuZFJpc2snKSBzZXQgZ2V0U2VsZWN0ZWRDYXRBbmRSaXNrKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrID0gdmFsdWU7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkRGF0YUFuZElkcyh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZ2V0VXBkYXRlZERhdGFMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlU2VsZWN0ZWRDYXRBbmRSaXNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWc7XHJcbiAgICB0aGlzLnByb2ZpbGVQaWMgPSB0aGlzLmVudi5zM1VybCArIHRoaXMuZW52LnMzQnVja2V0ICsgdGhpcy5lbnYucHJvZmlsZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgZ2V0U2VsZWN0ZWREYXRhKHJlc3BvbnNpYmlsaXR5OiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChyZXNwb25zaWJpbGl0eSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKHJlc3BvbnNpYmlsaXR5Py5faWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVFdmVudChyZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZU9yQ3JlYXRlQ2F0ZWdvcnkoXHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkLFxyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQocmVzcG9uc2liaWxpdHk6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzID0gdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZExpc3REYXRhSWQ6IGFueSkgPT4gc2VsZWN0ZWRMaXN0RGF0YUlkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZGF0YUxpc3Q/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5pbmNsdWRlcyhkYXRhPy5faWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChkYXRhKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKGRhdGE/Ll9pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy51cGRhdGVPckNyZWF0ZUNhdGVnb3J5KFxyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5Py5jYXRlZ29yeV9pZCxcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcyAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID49IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YT8ubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5kYXRhTGlzdCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRVcGRhdGVkRGF0YUxpc3QuZW1pdCh7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlT3JDcmVhdGVDYXRlZ29yeShjYXRlZ29yeUlkOiBudW1iZXIsIGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGNvbnN0IGNhdGVnb3J5SW5kZXggPSB0aGlzLmZpbmRDaGVja2VkQ2F0ZWdvcnlJbmRleChjYXRlZ29yeUlkKTtcclxuICAgIGlmIChjYXRlZ29yeUluZGV4ICE9PSAtMSkge1xyXG4gICAgICAvLyBDYXRlZ29yeSBleGlzdHMsIHVwZGF0ZSByaXNrIHZhbHVlXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrW2NhdGVnb3J5SW5kZXhdLnJpc2tzID1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW107XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlzdERhdGEubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgLy8gUmVtb3ZlIGNhdGVnb3J5IGlmIHNlbGVjdGVkTGlzdERhdGEgaXMgZW1wdHlcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzay5zcGxpY2UoY2F0ZWdvcnlJbmRleCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIENhdGVnb3J5IGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBuZXcgY2F0ZWdvcnkgd2l0aCBzdWJjYXRlZ29yeVxyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzay5wdXNoKHtcclxuICAgICAgICBjYXRlZ29yeTogY2F0ZWdvcnkgPz8ge30sXHJcbiAgICAgICAgcmlza3M6IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkQ2F0QW5kUmlzay5lbWl0KHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkRGF0YUFuZElkcyhzZWxlY3RlZERhdGE6IGFueSkge1xyXG4gICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuZmluZENoZWNrZWRDYXRlZ29yeUluZGV4KFxyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5Py5jYXRlZ29yeV9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IFtdO1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzID0gW107XHJcbiAgICBpZiAoY2F0ZWdvcnlJbmRleCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gc2VsZWN0ZWREYXRhW2NhdGVnb3J5SW5kZXhdPy5yaXNrcyA/PyBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhPy5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbmRDaGVja2VkQ2F0ZWdvcnlJbmRleChjYXRlZ29yeUlkOiBudW1iZXIgfCBudW1iZXJbXSkge1xyXG4gICAgbGV0IGNhdGVnb3J5SW5kZXggPSAtMTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNhdGVnb3J5SWQpICYmIGNhdGVnb3J5SWQubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIC8vIEhhbmRsZSBlbXB0eSBjYXRlZ29yeUlkIGFycmF5IGNhc2VcclxuICAgICAgY29uc3QgdW5jYXRlZ29yaXplZEluZGV4ID0gdGhpcy5zZWxlY3RlZENhdEFuZFJpc2suZmluZEluZGV4KFxyXG4gICAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5jYXRlZ29yeT8uX2lkID09PSAndW5jYXRlZ29yaXplZCdcclxuICAgICAgKTtcclxuICAgICAgaWYgKHVuY2F0ZWdvcml6ZWRJbmRleCAhPT0gLTEpIHtcclxuICAgICAgICByZXR1cm4gdW5jYXRlZ29yaXplZEluZGV4O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjYXRlZ29yeUluZGV4ID0gdGhpcy5zZWxlY3RlZENhdEFuZFJpc2suZmluZEluZGV4KFxyXG4gICAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5jYXRlZ29yeT8uY2F0ZWdvcnlfaWQgPT09IGNhdGVnb3J5SWRcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjYXRlZ29yeUluZGV4O1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlU2VsZWN0ZWRSaXNrKGNhdGVnb3J5SWQ6IG51bWJlciwgcmlzazogYW55KSB7XHJcbiAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZENhdGVnb3J5SW5kZXgoY2F0ZWdvcnlJZCk7XHJcbiAgICBpZiAoY2F0ZWdvcnlJbmRleCAhPT0gLTEpIHtcclxuICAgICAgLy8gQ2F0ZWdvcnkgZXhpc3RzLCB1cGRhdGUgcmlzayB2YWx1ZVxyXG4gICAgICBjb25zdCByaXNrSW5kZXggPSB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlza1tcclxuICAgICAgICBjYXRlZ29yeUluZGV4XHJcbiAgICAgIF0/LnJpc2tzPy5maW5kSW5kZXgoKGl0ZW06IGFueSkgPT4gaXRlbT8uX2lkID09PSByaXNrPy5faWQpO1xyXG4gICAgICBpZiAocmlza0luZGV4ICE9PSAtMSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrW2NhdGVnb3J5SW5kZXhdPy5yaXNrcy5zcGxpY2Uocmlza0luZGV4LCAxKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDYXRBbmRSaXNrW2NhdGVnb3J5SW5kZXhdPy5yaXNrcz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgLy8gUmVtb3ZlIGNhdGVnb3J5IGlmIHNlbGVjdGVkTGlzdERhdGEgaXMgZW1wdHlcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0QW5kUmlzay5zcGxpY2UoY2F0ZWdvcnlJbmRleCwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRDYXRBbmRSaXNrLmVtaXQodGhpcy5zZWxlY3RlZENhdEFuZFJpc2spO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGluZyB2eC1wbC0yIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgIDxhcHAtY3MtY2hlY2tib3ggKm5nSWY9XCJpc0FsbFNlbGVjdGVkKCkgfHwgc2VsZWN0ZWRMaXN0RGF0YUlkcz8ubGVuZ3RoID09PSAwXCIgIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiIWlzQWxsU2VsZWN0ZWQoKSAmJiBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGhcIiBbbmdWYWx1ZV09XCJ0cnVlXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKGZhbHNlKVwiPjwvYXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1sLTIgdngtbGgtNFwiPnt7aGVhZGVyVGV4dH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy1pbm5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtYm9keVwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwidG90YWxQYWdlcyA+IDFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1yb3dcIiAqbmdGb3I9XCJsZXQgbGlzdCBvZiBkYXRhTGlzdDsgbGV0IGkgPSBpbmRleFwiIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRMaXN0RGF0YUlkcz8uaW5jbHVkZXMobGlzdD8uX2lkKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCIgW2FwcFRvb2x0aXBdPVwiKHBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpKSArIGkgKyAxXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7KHBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpKSArIGkgKyAxfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cInNlbGVjdGVkTGlzdERhdGFJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIiAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZERhdGEobGlzdCwkZXZlbnQpXCI+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtY29sdW1uIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhci1ncm91cCB2eC1tci0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXIgbWRcIiBbYXBwVG9vbHRpcF09XCJsaXN0Py5lbnRydXN0ZWRCeT8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRCeT8ucHJvZmlsZVBpYyA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3QuZW50cnVzdGVkQnk/LnNob3J0TmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljICE9PSAnJ1wiIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmYWxzZVwiIGNsYXNzPVwidngtYXZhdGFyIG1kXCIgW2FwcFRvb2x0aXBdPVwiJ0hhcnNodmFyZGhhbiBLYXJpd2FsYSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmx1ZVwiPmhrPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImZhbHNlXCIgc3JjPVwiaHR0cHM6Ly9zMy1ldS13ZXN0LTEuYW1hem9uYXdzLmNvbS9ldS52LWNvbXBseS5jb20vcHJvZmlsZV9waWMvdGh1bWIvMTY3MjIyMjg5MTY5MF9Qcm9maWxlUGljdHVyZS5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmYWxzZVwiIGNsYXNzPVwidngtYXZhdGFyIG1kIGNvdW50ZXJcIiBhcHBQb3BvdmVyIChjbGljayk9XCJtdWx0aVVzZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJncmVlblwiPis5OTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjbXVsdGlVc2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIFsxLCAxLCAxLCAxLCAxLCAxLCAxXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhclwiPmhrPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJhdmF0YXJcIj48aW1nIHNyYz1cImh0dHBzOi8vczMtZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vZXUudi1jb21wbHkuY29tL3Byb2ZpbGVfcGljL3RodW1iLzE2NzIyMjI4OTE2OTBfUHJvZmlsZVBpY3R1cmUucG5nXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cIidIYXJzaHZhcmRoYW4gS2FyaXdhbGEnXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPkhhcnNodmFyZGhhbiBLYXJpd2FsYTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgc3RhciB2eC1mcy0xMCB2eC1tci0xXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+JiN4ZWE3MDs8L2k+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWQgdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbXItMVwiPnt7bGlzdD8uY29udHJvbElkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHZ4LWZzLTEzIHZ4LWxhYmVsLXR4dFwiIFthcHBUb29sdGlwXT1cImxpc3Q/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tsaXN0Py5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJsaXN0Py53aXRoaW5EYXRhPy5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbXItMVwiPlJFU1BPTlNJQklMSVRZIENFTlRFUjo8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPldpdGhpbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiIFthcHBUb29sdGlwXT1cIidNYW5hZ2VtZW50IGRpcmVjdGlvbiBmb3IgaW5mb3JtYXRpb24gPiBJbmZvcm1hdGlvbiBTZWN1cml0eSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+TWFuYWdlbWVudCBkaXJlY3Rpb24gZm9yIGluZm9ybWF0aW9uID4gSW5mb3JtYXRpb24gU2VjdXJpdHk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJ0b3RhbFBhZ2VzID4gMVwiIFtzdGFydF09XCJwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSArIDFcIiBbZW5kXT1cInBlclBhZ2VMaW1pdCAqIGN1cnJlbnRQYWdlXCIgW3RvdGFsXT1cInRvdGFsTGlzdERhdGFcIiBbcGFnZUNvdW50XT1cInRvdGFsUGFnZXNcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7O0FBNEIxRSxNQUFNLE9BQU8saUNBQWlDO0lBNEI1QyxZQUF3QixNQUF1QjtRQTNCL0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUdoQixlQUFVLEdBQVcsTUFBTSxDQUFDO1FBQzVCLHFCQUFnQixHQUFRLEVBQUUsQ0FB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bkQsQ0FBQyxNQUFXLEVBQUUsY0FBbUIsRUFBRSxFQUFFO1lBQ25DLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM1RCxDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzhIQW5MVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQywrb0JDekM5QyxzaE1BOERNLGlxV0QxQ0YsWUFBWSwrUEFDWixhQUFhLHNQQUNiLGVBQWUseVdBQ2YsYUFBYSxxTUFDYixpQkFBaUIsOEJBQ2pCLGdCQUFnQjsyRkFnQlAsaUNBQWlDO2tCQXpCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCLFVBR087d0JBQ04sV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEI7OzBCQThCWSxRQUFROzRDQWJZLHFCQUFxQjtzQkFBckQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSVUseUJBQXlCO3NCQUE3RCxLQUFLO3VCQUFDLHdCQUF3QjtnQkFLckIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ3RhYmxlQ2FyZCcsXHJcbiAgICAnYWN0aXZlUHJvZ3JhbScsXHJcbiAgICAnaGVhZGVyVGV4dCcsXHJcbiAgICAnY3VycmVudFBhZ2UnLFxyXG4gICAgJ3BlclBhZ2VMaW1pdCcsXHJcbiAgICAndG90YWxMaXN0RGF0YScsXHJcbiAgICAndG90YWxQYWdlcycsXHJcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YScsXHJcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YUlkcycsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJvZmlsZVBpYyA9ICcnO1xyXG4gIGVudjogYW55O1xyXG4gIGRhdGFMaXN0ITogYW55O1xyXG4gIGhlYWRlclRleHQ6IHN0cmluZyA9ICdOYW1lJztcclxuICBzZWxlY3RlZExpc3REYXRhOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZExpc3REYXRhSWRzOiBhbnkgPSBbXTtcclxuICBwZXJQYWdlTGltaXQ6IG51bWJlciA9IDMwO1xyXG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHRvdGFsUGFnZXM6IG51bWJlciA9IDE7XHJcbiAgdG90YWxMaXN0RGF0YTogbnVtYmVyID0gMDtcclxuICBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnkgPSBbXTtcclxuICBhY3RpdmVQcm9ncmFtOiBhbnkgPSB7fTtcclxuICBjYWxsZWRGcm9tOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KCdyZXNwb25zaWJpbGl0eURhdGEnKSBzZXQgZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuZGF0YUxpc3QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCcpIHNldCBnZXRTZWxlY3RlZFByb2dyYW1BbmRSZXNwKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IHZhbHVlO1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZERhdGFBbmRJZHModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGdldFVwZGF0ZWREYXRhTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IEV2ZW50RW1pdHRlcjxhbnk+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWc7XHJcbiAgICB0aGlzLnByb2ZpbGVQaWMgPSB0aGlzLmVudi5zM1VybCArIHRoaXMuZW52LnMzQnVja2V0ICsgdGhpcy5lbnYucHJvZmlsZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgZ2V0U2VsZWN0ZWREYXRhKHJlc3BvbnNpYmlsaXR5OiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChyZXNwb25zaWJpbGl0eSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKHJlc3BvbnNpYmlsaXR5Py5faWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVFdmVudChyZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZU9yQ3JlYXRlQ2F0ZWdvcnkoXHJcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkLFxyXG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChyZXNwb25zaWJpbGl0eTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkTGlzdERhdGFJZDogYW55KSA9PiBzZWxlY3RlZExpc3REYXRhSWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5kYXRhTGlzdD8uZGF0YT8uZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGRhdGE/Ll9pZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2goZGF0YT8uX2lkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVFdmVudChkYXRhKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnVwZGF0ZU9yQ3JlYXRlQ2F0ZWdvcnkoXHJcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkLFxyXG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmxlbmd0aCA+PSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/Lmxlbmd0aCAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIGZvciAoY29uc3QgZ3JjIG9mIHRoaXMuZGF0YUxpc3Q/LmRhdGEpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0VXBkYXRlZERhdGFMaXN0LmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU9yQ3JlYXRlQ2F0ZWdvcnkocHJvZ3JhbUlkOiBudW1iZXIsIHByb2dyYW06IGFueSkge1xyXG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChwcm9ncmFtSWQpO1xyXG4gICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcclxuICAgICAgLy8gQ2F0ZWdvcnkgZXhpc3RzLCB1cGRhdGUgcmlzayB2YWx1ZVxyXG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XS5yZXNwb25zaWJpbGl0eSA9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XS5jYXRlZ29yeSA9XHJcbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIC8vIFJlbW92ZSBjYXRlZ29yeSBpZiBzZWxlY3RlZExpc3REYXRhIGlzIGVtcHR5XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnNwbGljZShwcm9ncmFtSW5kZXgsIDEpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBDYXRlZ29yeSBkb2Vzbid0IGV4aXN0LCBjcmVhdGUgbmV3IGNhdGVnb3J5IHdpdGggc3ViY2F0ZWdvcnlcclxuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnB1c2goe1xyXG4gICAgICAgIHByb2dyYW06IHByb2dyYW0gPz8ge30sXHJcbiAgICAgICAgY2F0ZWdvcnk6IHRoaXMuZ2V0U3ViQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdKSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eTogdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZERhdGFBbmRJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHByb2dyYW1JbmRleCA9IHRoaXMuZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoXHJcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gW107XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSBbXTtcclxuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IHNlbGVjdGVkRGF0YVtwcm9ncmFtSW5kZXhdPy5yZXNwb25zaWJpbGl0eSA/PyBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhPy5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KGNhdGVnb3J5SWQ6IG51bWJlciB8IG51bWJlcltdKSB7XHJcbiAgICBsZXQgcHJvZ3JhbUluZGV4ID0gLTE7XHJcbiAgICBwcm9ncmFtSW5kZXggPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZmluZEluZGV4KFxyXG4gICAgICAoY2F0OiBhbnkpID0+IGNhdD8ucHJvZ3JhbT8ucHJvZ3JhbUlkID09PSBjYXRlZ29yeUlkXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHByb2dyYW1JbmRleDtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNlbGVjdGVkUmVzcG9uc2liaWxpdHkocmVzcG9uc2liaWxpdHk6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5tYXAoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgZmlsdGVyZWRSZXNwb25zaWJpbGl0eSA9IGRhdGE/LnJlc3BvbnNpYmlsaXR5Py5maWx0ZXIoXHJcbiAgICAgICAgICAocmVzcDogYW55KSA9PiByZXNwPy5faWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHk6IGZpbHRlcmVkUmVzcG9uc2liaWxpdHksXHJcbiAgICAgICAgICBjYXRlZ29yeTogW1xyXG4gICAgICAgICAgICAuLi4obmV3IFNldChcclxuICAgICAgICAgICAgICBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5XHJcbiAgICAgICAgICAgICAgICAubWFwKChvYmo6IGFueSkgPT4gb2JqPy5SZXBvcnRDYXRlZ29yeUlkc0FycilcclxuICAgICAgICAgICAgICAgID8uZmxhdCgpXHJcbiAgICAgICAgICAgICkgfHwgW10pLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5maWx0ZXIoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZGF0YT8ucmVzcG9uc2liaWxpdHk/Lmxlbmd0aCA+IDA7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3ViQ2F0ZWdvcnlJZHMoc2VsZWN0ZWRSZXNwb25zaWJpbGl0eTogYW55KSB7XHJcbiAgICBjb25zdCBzdWJDYXRlZ29yeUlkcyA9IHNlbGVjdGVkUmVzcG9uc2liaWxpdHk/LnJlZHVjZShcclxuICAgICAgKHJlc3VsdDogYW55LCByZXNwb25zaWJpbGl0eTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jb25jYXQocmVzcG9uc2liaWxpdHkuUmVwb3J0Q2F0ZWdvcnlJZHNBcnIpO1xyXG4gICAgICB9LFxyXG4gICAgICBbXVxyXG4gICAgKTtcclxuICAgIHJldHVybiBbLi4ubmV3IFNldChzdWJDYXRlZ29yeUlkcyldO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGluZyB2eC1wbC0yIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgIDxhcHAtY3MtY2hlY2tib3ggKm5nSWY9XCJpc0FsbFNlbGVjdGVkKCkgfHwgc2VsZWN0ZWRMaXN0RGF0YUlkcz8ubGVuZ3RoID09PSAwXCIgIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiIWlzQWxsU2VsZWN0ZWQoKSAmJiBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGhcIiBbbmdWYWx1ZV09XCJ0cnVlXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKGZhbHNlKVwiPjwvYXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1sLTIgdngtbGgtNFwiPnt7aGVhZGVyVGV4dH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy1pbm5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtYm9keVwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzID4gMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCBsaXN0IG9mIGRhdGFMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCIgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZExpc3REYXRhSWRzPy5pbmNsdWRlcyhsaXN0Py5faWQpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCIocGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDFcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3socGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDF9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwic2VsZWN0ZWRMaXN0RGF0YUlkcz8uaW5jbHVkZXMobGlzdD8uX2lkKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkRGF0YShsaXN0LCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1jb2x1bW4gdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyLWdyb3VwIHZ4LW1yLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiIFthcHBUb29sdGlwXT1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljID09PSAnJ1wiIGNsYXNzPVwiYmx1ZVwiPnt7bGlzdC5lbnRydXN0ZWRCeT8uc2hvcnROYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWMgIT09ICcnXCIgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwidngtYXZhdGFyIG1kXCIgW2FwcFRvb2x0aXBdPVwibGlzdD8uZW50cnVzdGVkVG8/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgPT09ICcnXCIgY2xhc3M9XCJibHVlXCI+e3tsaXN0Py5lbnRydXN0ZWRUbz8uc2hvcnROYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgIT09ICcnXCIgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aFwiIGNsYXNzPVwidngtYXZhdGFyIG1kIGNvdW50ZXJcIiBhcHBQb3BvdmVyIChjbGljayk9XCJtdWx0aVVzZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJncmVlblwiPit7e2xpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNtdWx0aVVzZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHVzZXIgb2YgbGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXI/LnByb2ZpbGVfcGljID09PSAnJ1wiIGNsYXNzPVwiYXZhdGFyXCI+e3t1c2VyPy5tZW1iZXJfc2hvcnRfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXI/LnByb2ZpbGVfcGljICE9PSAnJ1wiIGNsYXNzPVwiYXZhdGFyXCI+PGltZyBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyB1c2VyPy5wcm9maWxlX3BpY319XCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cInVzZXIubWVtYmVyX25hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3t1c2VyPy5tZW1iZXJfbmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29ucyBzdGFyIHZ4LWZzLTEwIHZ4LW1yLTFcIiBbY2xhc3MuYWN0aXZlXT1cInRydWVcIj4mI3hlYTcwOzwvaT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpZCB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0xXCI+e3tsaXN0Py5jb250cm9sSWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtZnMtMTMgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwibGlzdD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2xpc3Q/Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIiAqbmdJZj1cImxpc3Q/LndpdGhpbkRhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1yLTFcIj5SRVNQT05TSUJJTElUWSBDRU5URVI6PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIj5XaXRoaW48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIiA+PHNwYW4gKm5nRm9yPVwibGV0IHBhcmVudCBvZiBsaXN0Py53aXRoaW5EYXRhOyBsZXQgbGFzdCA9IGxhc3RcIiBbYXBwVG9vbHRpcF09XCJwYXJlbnQ/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3twYXJlbnQ/Lm5hbWV9fSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiPiA8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzID4gMVwiIFtzdGFydF09XCJkYXRhTGlzdD8uaXRlbXNfZnJvbVwiIFtlbmRdPVwiZGF0YUxpc3Q/Lml0ZW1zX3RvXCIgW3RvdGFsXT1cImRhdGFMaXN0Py50b3RhbF9pdGVtc1wiIFtwYWdlQ291bnRdPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|