vcomply-workflow-engine 6.1.10 → 6.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/constants/link-responsibility.constants.mjs +5 -1
- package/esm2022/lib/report-a-case/components/assignee/assignee.component.mjs +1 -1
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +1 -1
- package/esm2022/lib/report-a-case/components/linked-responsibilities/linked-responsibilities.component.mjs +4 -4
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +19 -9
- package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +6 -3
- package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +3 -3
- package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +2 -2
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +211 -74
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.module.mjs +16 -4
- package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/pipes/getRCList.pipe.mjs +24 -0
- package/esm2022/lib/sharedComponents/pipes/parentResponsibilitySelection.pipe.mjs +22 -0
- package/esm2022/lib/sharedComponents/pipes/pipe.module.mjs +20 -0
- package/esm2022/lib/sharedComponents/pipes/userDetails.pipe.mjs +44 -0
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +1 -1
- package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +1 -1
- package/esm2022/lib/ui-kit/avatar/avatar.component.mjs +26 -0
- package/esm2022/lib/ui-kit/avatar/avatar.constants.mjs +13 -0
- package/esm2022/lib/ui-kit/avatar/avatar.module.mjs +20 -0
- package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +2 -2
- package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +2 -2
- package/fesm2022/vcomply-workflow-engine.mjs +420 -120
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/constants/link-responsibility.constants.d.ts +4 -0
- package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +2 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -1
- package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +41 -3
- package/lib/sharedComponents/link-responsibility/link-responsibility.interface.d.ts +10 -0
- package/lib/sharedComponents/link-responsibility/link-responsibility.module.d.ts +4 -1
- package/lib/sharedComponents/pipes/getRCList.pipe.d.ts +7 -0
- package/lib/sharedComponents/pipes/parentResponsibilitySelection.pipe.d.ts +7 -0
- package/lib/sharedComponents/pipes/pipe.module.d.ts +10 -0
- package/lib/sharedComponents/pipes/userDetails.pipe.d.ts +11 -0
- package/lib/ui-kit/avatar/avatar.component.d.ts +8 -0
- package/lib/ui-kit/avatar/avatar.constants.d.ts +12 -0
- package/lib/ui-kit/avatar/avatar.module.d.ts +10 -0
- package/package.json +1 -1
package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs
CHANGED
|
@@ -166,7 +166,7 @@ export class GrcObjectListComponent {
|
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
168
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcObjectListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", cardLoader: "cardLoader", onEditGRCId: "onEditGRCId", mode: "mode", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\n <div\n class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\n </div>\n <div class=\"workflow-grc-object-list-body\">\n <app-table-card-loader *ngIf=\"cardLoader\"></app-table-card-loader>\n <div class=\"table-card-area vx-d-flex vx-mb-2\" *ngIf=\"!cardLoader\">\n <app-table-card\n class=\"vx-w-100\"\n [tableCard]=\"tableCard\"\n [singleSelectedText]=\"'GRC Object Selected'\"\n [selectedTab]=\"selectedTab\"\n [multipleSelectedText]=\"'GRC Objects Selected'\"\n (setSelectedTab)=\"setSelectedTab($event)\"\n ></app-table-card>\n </div>\n\n <div class=\"search-block\">\n <i class=\"icons\"></i>\n <input\n type=\"text\"\n #searchGRC\n (keyup.enter)=\"handleSearch($event.target.value)\"\n placeholder=\"Search GRC objects\"\n />\n </div>\n\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\n <app-pagination\n *ngIf=\"grcObject?.total_pages > 1\"\n [start]=\"grcObject?.items_from\"\n [end]=\"grcObject?.items_to\"\n [total]=\"grcObject?.total_items\"\n [pageCount]=\"grcObject?.total_pages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"\n ></app-pagination>\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\n <app-cs-checkbox\n [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\n {{ selectAllButton }}\n </div></app-cs-checkbox\n >\n </div>\n\n <div\n class=\"workflow-grc-object-list-body-table\"\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\n >\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\n >\n NAME\n </div>\n <div\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n >\n RESPONSIBILITY CENTER\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n *ngFor=\"let grc of grcObject?.data; let i = index\"\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\" [class.disabled]=\"mode === 'EDIT' && onEditGRCId === grc?._id\"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no\"\n [appTooltip]=\"grcObject?.items_from + i\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ grcObject?.items_from + i }}\n </div>\n <app-cs-checkbox\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\n ></app-cs-checkbox>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\n >\n <div\n class=\"name vx-fs-12 vx-label-txt\"\n [appTooltip]=\"grc?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ grc?.name }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n >\n <div class=\"rc-inner vx-d-block\">\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\n <div\n class=\"value vx-fs-12 vx-label-txt\"\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ grc?.rcDetails[0]?.rc_name }}\n </div>\n </div>\n\n <div\n class=\"within-part vx-d-flex vx-align-center\"\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\n >\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"\n grc?.rcDetails[0]?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(' > ')\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{\n grc?.rcDetails[0]?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(\" > \")\n }}\n </div>\n </div>\n </div>\n <button\n *ngIf=\"grc?.rcDetails?.length > 1\"\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\n appPopover\n (click)=\"rcCount.popover()\"\n placement=\"right\"\n >\n +{{ grc?.rcDetails?.length - 1 }}\n </button>\n <app-popover #rcCount>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span\n class=\"value\"\n [appTooltip]=\"rcDetails?.rc_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ rcDetails?.rc_name }}</span\n >\n <div\n class=\"within\"\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\n >\n <div class=\"block\">WITHIN</div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"\n rcDetails?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(' > ')\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{\n rcDetails?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(\" > \")\n }}\n </div>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\n <app-no-data\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\n [noDataImage]=\"CDN_LINK?.noData\"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n </div>\n\n <app-floating-bar\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\n (closeList)=\"close()\"\n (closeEvent)=\"save()\"\n [displayElementKey]=\"'name'\"\n [singularText]=\"'GRC Object selected'\"\n [pluralText]=\"'GRC Objects selected'\"\n (deleteEvent)=\"deleteEvent($event)\"\n ></app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.disabled{pointer-events:none;background:#fbfbfb}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.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}.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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-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}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.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}.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}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] }); }
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", cardLoader: "cardLoader", onEditGRCId: "onEditGRCId", mode: "mode", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\n <div\n class=\"workflow-grc-object-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select GRC Object(s)</div>\n </div>\n <div class=\"workflow-grc-object-list-body\">\n <app-table-card-loader *ngIf=\"cardLoader\"></app-table-card-loader>\n <div class=\"table-card-area vx-d-flex vx-mb-2\" *ngIf=\"!cardLoader\">\n <app-table-card\n class=\"vx-w-100\"\n [tableCard]=\"tableCard\"\n [singleSelectedText]=\"'GRC Object Selected'\"\n [selectedTab]=\"selectedTab\"\n [multipleSelectedText]=\"'GRC Objects Selected'\"\n (setSelectedTab)=\"setSelectedTab($event)\"\n ></app-table-card>\n </div>\n\n <div class=\"search-block\">\n <i class=\"icons\"></i>\n <input\n type=\"text\"\n #searchGRC\n (keyup.enter)=\"handleSearch($event.target.value)\"\n placeholder=\"Search GRC objects\"\n />\n </div>\n\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\n <app-pagination\n *ngIf=\"grcObject?.total_pages > 1\"\n [start]=\"grcObject?.items_from\"\n [end]=\"grcObject?.items_to\"\n [total]=\"grcObject?.total_items\"\n [pageCount]=\"grcObject?.total_pages\"\n [currentPage]=\"currentPage\"\n (selectedPage)=\"changePage($event)\"\n ></app-pagination>\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\n <app-cs-checkbox\n [ngValue]=\"isAllSelected()\"\n (ngValueChange)=\"selectAll($event)\"\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\n {{ selectAllButton }}\n </div></app-cs-checkbox\n >\n </div>\n\n <div\n class=\"workflow-grc-object-list-body-table\"\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\n >\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\n >\n NAME\n </div>\n <div\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n >\n RESPONSIBILITY CENTER\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n *ngFor=\"let grc of grcObject?.data; let i = index\"\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\" [class.disabled]=\"mode === 'EDIT' && onEditGRCId === grc?._id\"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no\"\n [appTooltip]=\"grcObject?.items_from + i\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ grcObject?.items_from + i }}\n </div>\n <app-cs-checkbox\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\n ></app-cs-checkbox>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\n >\n <div\n class=\"name vx-fs-12 vx-label-txt\"\n [appTooltip]=\"grc?.name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ grc?.name }}\n </div>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n >\n <div class=\"rc-inner vx-d-block\">\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\n <div\n class=\"value vx-fs-12 vx-label-txt\"\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{ grc?.rcDetails[0]?.rc_name }}\n </div>\n </div>\n\n <div\n class=\"within-part vx-d-flex vx-align-center\"\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\n >\n <div\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\n >\n Within\n </div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"\n grc?.rcDetails[0]?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(' > ')\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{\n grc?.rcDetails[0]?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(\" > \")\n }}\n </div>\n </div>\n </div>\n <button\n *ngIf=\"grc?.rcDetails?.length > 1\"\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\n appPopover\n (click)=\"rcCount.popover()\"\n placement=\"right\"\n >\n +{{ grc?.rcDetails?.length - 1 }}\n </button>\n <app-popover #rcCount>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span\n class=\"value\"\n [appTooltip]=\"rcDetails?.rc_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ rcDetails?.rc_name }}</span\n >\n <div\n class=\"within\"\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\n >\n <div class=\"block\">WITHIN</div>\n <div\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"\n rcDetails?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(' > ')\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >\n {{\n rcDetails?.parent_rc_names\n ?.slice()\n ?.reverse()\n ?.join(\" > \")\n }}\n </div>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\n <app-no-data\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\n [noDataImage]=\"CDN_LINK?.noData\"\n [noDataText]=\"'No data to display'\"\n ></app-no-data>\n </div>\n\n <app-floating-bar\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\n (closeList)=\"close()\"\n (closeEvent)=\"save()\"\n [displayElementKey]=\"'name'\"\n [singularText]=\"'GRC Object selected'\"\n [pluralText]=\"'GRC Objects selected'\"\n (deleteEvent)=\"deleteEvent($event)\"\n ></app-floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.disabled{pointer-events:none;background:#fbfbfb}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.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}.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}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-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}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{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}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.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}.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}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.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)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponentUI, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "isResponsibility", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] }); }
|
|
170
170
|
}
|
|
171
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrcObjectListComponent, decorators: [{
|
|
172
172
|
type: Component,
|
|
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
195
195
|
type: Input,
|
|
196
196
|
args: ['selectedGRC']
|
|
197
197
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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QStPQSwwOFpEN05JLFlBQVksb1RBQ1osYUFBYSxzUEFDYixlQUFlLHdMQUNmLGFBQWEscU1BQ2IsaUJBQWlCLHlqQkFDakIsZ0JBQWdCLGtQQUNoQixrQkFBa0IsMktBQ2xCLFlBQVksa1RBQ1osZ0JBQWdCLGlIQUNoQix3QkFBd0I7OzRGQWdCZixzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3FCQUN6QixVQUdPO3dCQUNOLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsTUFBTTtxQkFDUCxXQUNRLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQzswRUFtQnRDLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFRhYmxlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLWNhcmQvdGFibGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xuaW1wb3J0IHsgTGlzdExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvbGlzdC1sb2FkZXIvbGlzdC1sb2FkZXIubW9kdWxlJztcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XG5pbXBvcnQgeyBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3RhYmxlLWNhcmQtbG9hZGVyL3RhYmxlLWNhcmQtbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIExpc3RMb2FkZXJNb2R1bGUsXG4gICAgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG4gIGlucHV0czogW1xuICAgICdncmNPYmplY3QnLFxuICAgICdjdXJyZW50UGFnZScsXG4gICAgJ2xvYWRlcicsXG4gICAgJ3RhYmxlQ2FyZCcsXG4gICAgJ3NlbGVjdGVkVGFiJyxcbiAgICAnY2FyZExvYWRlcicsXG4gICAgJ29uRWRpdEdSQ0lkJyxcbiAgICAnbW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFsnc2F2ZU90aGVyR1JDJywgJ2Nsb3NlT3RoZXJHUkMnLCAnZ2V0T3RoZXJHUkNPYmplY3RzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhbmltYXRpb24hOiBib29sZWFuO1xuICBDRE5fTElOSyA9IExJTktTO1xuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNhcmRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZ3JjT2JqZWN0OiBhbnk7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBzZWxlY3RlZEdSQzogYW55ID0gW107XG4gIHNlbGVjdGVkR1JDSWRzOiBhbnkgPSBbXTtcbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xuICBzZWxlY3RBbGxCdXR0b246ICdTZWxlY3QgQWxsJyB8ICdEZXNlbGVjdCBBbGwnID0gJ1NlbGVjdCBBbGwnO1xuICBzZWxlY3RlZFRhYjogMCB8IDEgfCAyIHwgMyA9IDA7XG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XG4gIG9uRWRpdEdSQ0lkOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkR1JDID0gc2VsZWN0ZWRHUkM7XG4gICAgdGhpcy5zZXRTZWxlY3RlZFRhYkNvdW50KHNlbGVjdGVkR1JDKTtcbiAgICB0aGlzLnNlbGVjdGVkR1JDSWRzID0gdGhpcy5nZXRJZHModGhpcy5zZWxlY3RlZEdSQywgJ19pZCcpO1xuICAgIHRoaXMucHJlU2VsZWN0ZWRHUkMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkR1JDKSk7XG4gIH1cblxuICBzYXZlT3RoZXJHUkM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZ2V0T3RoZXJHUkNPYmplY3RzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcbiAgICBsZXQgaWRzOiBBcnJheTxhbnk+ID0gW107XG4gICAgaWYgKHNlbGVjdGVkTGlzdD8ubGVuZ3RoKSB7XG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlkcy5wdXNoKGVsZW1lbnRba2V5XSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlkcyA/PyBbXTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkR1JDKGdyYzogYW55LCBldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XG4gICAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQodHJ1ZSwgZ3JjPy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWxldGVFdmVudChncmMpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KGdyYzogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSBncmM/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZEdSQ0lkOiBhbnkpID0+IHNlbGVjdGVkR1JDSWQgIT09IGdyYz8uX2lkXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xuICAgICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XG4gICAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5ncmNPYmplY3Q/LmRhdGE/LmZvckVhY2goKGdyYzogYW55KSA9PiB7XG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkMucHVzaChncmMpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZXZlbnQ6IGJvb2xlYW4sIHR5cGU6IG51bWJlcikge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudCsrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XG4gICAgICAgID8gdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudC0tXG4gICAgICAgIDogMDtcbiAgICB9XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0QWxsQnV0dG9uID0gJ1NlbGVjdCBBbGwnO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLnNhdmVPdGhlckdSQy5lbWl0KHRoaXMuc2VsZWN0ZWRHUkMpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZU90aGVyR1JDLmVtaXQodGhpcy5wcmVTZWxlY3RlZEdSQyk7XG4gIH1cblxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSBldmVudDtcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXG4gICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxuICAgIH0pO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZ3JjT2JqZWN0LmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxuICAgICAgdHlwZTogZXZlbnQ/LnR5cGUsXG4gICAgfSk7XG4gIH1cblxuICByZXNldFNlbGVjdGVkVGFiQ291bnQoKSB7XG4gICAgdGhpcy50YWJsZUNhcmQuZm9yRWFjaCgodGFiOiBhbnkpID0+IHtcbiAgICAgIHRhYi5zZWxlY3RlZENvdW50ID0gMDtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFiQ291bnQoZGF0YTogYW55KSB7XG4gICAgdGhpcy5yZXNldFNlbGVjdGVkVGFiQ291bnQoKTtcbiAgICBkYXRhLmZvckVhY2goKHRhYjogYW55KSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQodHJ1ZSwgdGFiPy50eXBlKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgR1JDIE9iamVjdChzKTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5XCI+XG4gICAgPGFwcC10YWJsZS1jYXJkLWxvYWRlciAqbmdJZj1cImNhcmRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtY2FyZC1hcmVhIHZ4LWQtZmxleCB2eC1tYi0yXCIgICpuZ0lmPVwiIWNhcmRMb2FkZXJcIj5cbiAgICAgIDxhcHAtdGFibGUtY2FyZFxuICAgICAgICBjbGFzcz1cInZ4LXctMTAwXCJcbiAgICAgICAgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIlxuICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0IFNlbGVjdGVkJ1wiXG4gICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXG4gICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInR1JDIE9iamVjdHMgU2VsZWN0ZWQnXCJcbiAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIlxuICAgICAgPjwvYXBwLXRhYmxlLWNhcmQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAjc2VhcmNoR1JDXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBHUkMgb2JqZWN0c1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LWlubmVyIHZ4LW1iLTRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyICYmIGdyY09iamVjdD8uZGF0YT8ubGVuZ3RoXCI+XG4gICAgICAgIDxhcHAtcGFnaW5hdGlvblxuICAgICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxuICAgICAgICAgIFtzdGFydF09XCJncmNPYmplY3Q/Lml0ZW1zX2Zyb21cIlxuICAgICAgICAgIFtlbmRdPVwiZ3JjT2JqZWN0Py5pdGVtc190b1wiXG4gICAgICAgICAgW3RvdGFsXT1cImdyY09iamVjdD8udG90YWxfaXRlbXNcIlxuICAgICAgICAgIFtwYWdlQ291bnRdPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlc1wiXG4gICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2FwcC1wYWdpbmF0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbCB2eC1tdC0xIHZ4LW1iLTEgdngtcGwtMlwiPlxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHRcIj5cbiAgICAgICAgICAgICAge3sgc2VsZWN0QWxsQnV0dG9uIH19XG4gICAgICAgICAgICA8L2Rpdj48L2FwcC1jcy1jaGVja2JveFxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktdGFibGVcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAjXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTkFNRVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVFkgQ0VOVEVSXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3dcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JjIG9mIGdyY09iamVjdD8uZGF0YTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJtb2RlID09PSAnRURJVCcgJiYgb25FZGl0R1JDSWQgPT09IGdyYz8uX2lkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyY09iamVjdD8uaXRlbXNfZnJvbSArIGlcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIlxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRHUkMoZ3JjLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hbWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ubmFtZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBncmM/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJjLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JjPy5yY0RldGFpbHNbMF0/LnJjX25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgZ3JjPy5yY0RldGFpbHNbMF0/LnJjX25hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdyYz8ucmNEZXRhaWxzWzBdPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTMgdngtdHh0LWJsdWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oXCIgPiBcIilcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JjPy5yY0RldGFpbHM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyYy1jb3VudC1idG4gdngtZnMtMTEgdngtdHh0LWJsdWUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyY0NvdW50LnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgK3t7IGdyYz8ucmNEZXRhaWxzPy5sZW5ndGggLSAxIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZSA6IDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJjRGV0YWlscz8ucmNfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyByY0RldGFpbHM/LnJjX25hbWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyY0RldGFpbHM/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5XSVRISU48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oXCIgPiBcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9kaXY+XG5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZEdSQz8ubGVuZ3RoID8gc2VsZWN0ZWRHUkMgOiBbXVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCInR1JDIE9iamVjdCBzZWxlY3RlZCdcIlxuICAgICAgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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QStPQSwwOFpEN05JLFlBQVksb1RBQ1osYUFBYSxzUEFDYixlQUFlLHdMQUNmLGFBQWEscU1BQ2IsaUJBQWlCLDZrQkFDakIsZ0JBQWdCLGtQQUNoQixrQkFBa0IsMktBQ2xCLFlBQVksa1RBQ1osZ0JBQWdCLGlIQUNoQix3QkFBd0I7OzRGQWdCZixzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3FCQUN6QixVQUdPO3dCQUNOLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixRQUFRO3dCQUNSLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsTUFBTTtxQkFDUCxXQUNRLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQzswRUFtQnRDLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFRhYmxlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLWNhcmQvdGFibGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xuaW1wb3J0IHsgTGlzdExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvbGlzdC1sb2FkZXIvbGlzdC1sb2FkZXIubW9kdWxlJztcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XG5pbXBvcnQgeyBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3RhYmxlLWNhcmQtbG9hZGVyL3RhYmxlLWNhcmQtbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIExpc3RMb2FkZXJNb2R1bGUsXG4gICAgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG4gIGlucHV0czogW1xuICAgICdncmNPYmplY3QnLFxuICAgICdjdXJyZW50UGFnZScsXG4gICAgJ2xvYWRlcicsXG4gICAgJ3RhYmxlQ2FyZCcsXG4gICAgJ3NlbGVjdGVkVGFiJyxcbiAgICAnY2FyZExvYWRlcicsXG4gICAgJ29uRWRpdEdSQ0lkJyxcbiAgICAnbW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFsnc2F2ZU90aGVyR1JDJywgJ2Nsb3NlT3RoZXJHUkMnLCAnZ2V0T3RoZXJHUkNPYmplY3RzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhbmltYXRpb24hOiBib29sZWFuO1xuICBDRE5fTElOSyA9IExJTktTO1xuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNhcmRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZ3JjT2JqZWN0OiBhbnk7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBzZWxlY3RlZEdSQzogYW55ID0gW107XG4gIHNlbGVjdGVkR1JDSWRzOiBhbnkgPSBbXTtcbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xuICBzZWxlY3RBbGxCdXR0b246ICdTZWxlY3QgQWxsJyB8ICdEZXNlbGVjdCBBbGwnID0gJ1NlbGVjdCBBbGwnO1xuICBzZWxlY3RlZFRhYjogMCB8IDEgfCAyIHwgMyA9IDA7XG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XG4gIG9uRWRpdEdSQ0lkOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkR1JDID0gc2VsZWN0ZWRHUkM7XG4gICAgdGhpcy5zZXRTZWxlY3RlZFRhYkNvdW50KHNlbGVjdGVkR1JDKTtcbiAgICB0aGlzLnNlbGVjdGVkR1JDSWRzID0gdGhpcy5nZXRJZHModGhpcy5zZWxlY3RlZEdSQywgJ19pZCcpO1xuICAgIHRoaXMucHJlU2VsZWN0ZWRHUkMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHNlbGVjdGVkR1JDKSk7XG4gIH1cblxuICBzYXZlT3RoZXJHUkM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZ2V0T3RoZXJHUkNPYmplY3RzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcbiAgICBsZXQgaWRzOiBBcnJheTxhbnk+ID0gW107XG4gICAgaWYgKHNlbGVjdGVkTGlzdD8ubGVuZ3RoKSB7XG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIGlkcy5wdXNoKGVsZW1lbnRba2V5XSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlkcyA/PyBbXTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkR1JDKGdyYzogYW55LCBldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XG4gICAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQodHJ1ZSwgZ3JjPy50eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWxldGVFdmVudChncmMpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KGdyYzogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSBncmM/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZEdSQ0lkOiBhbnkpID0+IHNlbGVjdGVkR1JDSWQgIT09IGdyYz8uX2lkXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xuICAgICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XG4gICAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5ncmNPYmplY3Q/LmRhdGE/LmZvckVhY2goKGdyYzogYW55KSA9PiB7XG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkMucHVzaChncmMpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZXZlbnQ6IGJvb2xlYW4sIHR5cGU6IG51bWJlcikge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudCsrO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XG4gICAgICAgID8gdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudC0tXG4gICAgICAgIDogMDtcbiAgICB9XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0QWxsQnV0dG9uID0gJ1NlbGVjdCBBbGwnO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLnNhdmVPdGhlckdSQy5lbWl0KHRoaXMuc2VsZWN0ZWRHUkMpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZU90aGVyR1JDLmVtaXQodGhpcy5wcmVTZWxlY3RlZEdSQyk7XG4gIH1cblxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSBldmVudDtcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXG4gICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxuICAgIH0pO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZ3JjT2JqZWN0LmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxuICAgICAgdHlwZTogZXZlbnQ/LnR5cGUsXG4gICAgfSk7XG4gIH1cblxuICByZXNldFNlbGVjdGVkVGFiQ291bnQoKSB7XG4gICAgdGhpcy50YWJsZUNhcmQuZm9yRWFjaCgodGFiOiBhbnkpID0+IHtcbiAgICAgIHRhYi5zZWxlY3RlZENvdW50ID0gMDtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFiQ291bnQoZGF0YTogYW55KSB7XG4gICAgdGhpcy5yZXNldFNlbGVjdGVkVGFiQ291bnQoKTtcbiAgICBkYXRhLmZvckVhY2goKHRhYjogYW55KSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQodHJ1ZSwgdGFiPy50eXBlKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdFwiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgR1JDIE9iamVjdChzKTwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5XCI+XG4gICAgPGFwcC10YWJsZS1jYXJkLWxvYWRlciAqbmdJZj1cImNhcmRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtY2FyZC1hcmVhIHZ4LWQtZmxleCB2eC1tYi0yXCIgICpuZ0lmPVwiIWNhcmRMb2FkZXJcIj5cbiAgICAgIDxhcHAtdGFibGUtY2FyZFxuICAgICAgICBjbGFzcz1cInZ4LXctMTAwXCJcbiAgICAgICAgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIlxuICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0IFNlbGVjdGVkJ1wiXG4gICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXG4gICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInR1JDIE9iamVjdHMgU2VsZWN0ZWQnXCJcbiAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIlxuICAgICAgPjwvYXBwLXRhYmxlLWNhcmQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAjc2VhcmNoR1JDXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBHUkMgb2JqZWN0c1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LWlubmVyIHZ4LW1iLTRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGVyICYmIGdyY09iamVjdD8uZGF0YT8ubGVuZ3RoXCI+XG4gICAgICAgIDxhcHAtcGFnaW5hdGlvblxuICAgICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxuICAgICAgICAgIFtzdGFydF09XCJncmNPYmplY3Q/Lml0ZW1zX2Zyb21cIlxuICAgICAgICAgIFtlbmRdPVwiZ3JjT2JqZWN0Py5pdGVtc190b1wiXG4gICAgICAgICAgW3RvdGFsXT1cImdyY09iamVjdD8udG90YWxfaXRlbXNcIlxuICAgICAgICAgIFtwYWdlQ291bnRdPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlc1wiXG4gICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2FwcC1wYWdpbmF0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbCB2eC1tdC0xIHZ4LW1iLTEgdngtcGwtMlwiPlxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHRcIj5cbiAgICAgICAgICAgICAge3sgc2VsZWN0QWxsQnV0dG9uIH19XG4gICAgICAgICAgICA8L2Rpdj48L2FwcC1jcy1jaGVja2JveFxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktdGFibGVcIlxuICAgICAgICAgIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAjXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTkFNRVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgUkVTUE9OU0lCSUxJVFkgQ0VOVEVSXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1yb3dcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JjIG9mIGdyY09iamVjdD8uZGF0YTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJtb2RlID09PSAnRURJVCcgJiYgb25FZGl0R1JDSWQgPT09IGdyYz8uX2lkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyY09iamVjdD8uaXRlbXNfZnJvbSArIGlcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIlxuICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWRHUkMoZ3JjLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hbWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ubmFtZVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBncmM/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJjLWlubmVyIHZ4LWQtYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JjPy5yY0RldGFpbHNbMF0/LnJjX25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgZ3JjPy5yY0RldGFpbHNbMF0/LnJjX25hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdyYz8ucmNEZXRhaWxzWzBdPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTMgdngtdHh0LWJsdWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oXCIgPiBcIilcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JjPy5yY0RldGFpbHM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyYy1jb3VudC1idG4gdngtZnMtMTEgdngtdHh0LWJsdWUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyY0NvdW50LnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgK3t7IGdyYz8ucmNEZXRhaWxzPy5sZW5ndGggLSAxIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZSA6IDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJjRGV0YWlscz8ucmNfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyByY0RldGFpbHM/LnJjX25hbWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyY0RldGFpbHM/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5XSVRISU48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oXCIgPiBcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cImxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxuICAgICAgPGFwcC1uby1kYXRhXG4gICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXG4gICAgICAgIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxuICAgICAgPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9kaXY+XG5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZEdSQz8ubGVuZ3RoID8gc2VsZWN0ZWRHUkMgOiBbXVwiXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCInR1JDIE9iamVjdCBzZWxlY3RlZCdcIlxuICAgICAgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -404,7 +404,7 @@ export class ProgramResponsibilityListingComponent {
|
|
|
404
404
|
return selectedRCIds;
|
|
405
405
|
}
|
|
406
406
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgramResponsibilityListingComponent, deps: [{ token: i1.GrcService }, { token: i2.ResponsibilityService }, { token: i3.GetUserDetailsPipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
407
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgramResponsibilityListingComponent, isStandalone: true, selector: "app-program-responsibility-listing", inputs: { getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"], selectedRC: "selectedRC", MODE: "MODE" }, outputs: { closeList: "closeList" }, providers: [GetUserDetailsPipe], viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\n <div class=\"program-responsibility-listing-body\">\n <!-- <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader> -->\n <!-- <app-table-card\n *ngIf=\"!programCountLoader\"\n class=\"vx-w-100\"\n [tableCard]=\"programTypes\"\n [singleSelectedText]=\"'Responsibility Selected'\"\n [selectedTab]=\"selectedTab\"\n [multipleSelectedText]=\"'Responsibilities Selected'\"\n (setSelectedTab)=\"setSelectedTab($event)\">\n </app-table-card> -->\n <div class=\"search-block vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Responsibilities\" />\n </div>\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!responsibilityLoader && !responsibilityData?.data?.length)\">\n <ng-container *ngIf=\"(responsibilityLoader || responsibilityData?.data?.length)\">\n <!-- <div class=\"inner-item-left vx-pr-2\">\n\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\n \n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\n\n </div> -->\n\n <!-- <div class=\"inner-item-mid vx-pr-2\">\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\n </div> -->\n\n <div class=\"inner-item-right\">\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\n\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" [allSelectedResponsibilityIds]=\"selectedResponsibilities | uniqueResponsibilities\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\n \n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\n \n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\n </div>\n </ng-container>\n <app-no-data *ngIf=\"(!responsibilityLoader && !responsibilityData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\n </div>\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? (selectedResponsibilities | uniqueResponsibilities : 'entireObject') : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:0%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:0%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:100%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i5.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeProgram", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "MODE", "allSelectedResponsibilityIds", "responsibilityData", "selectedProgramAndResp"], outputs: ["getUpdatedDataList", "changeSelectedProgramAndResp"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i6.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i7.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i8.UniqueResponsibilitiesPipe, name: "uniqueResponsibilities" }] }); }
|
|
407
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgramResponsibilityListingComponent, isStandalone: true, selector: "app-program-responsibility-listing", inputs: { getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"], selectedRC: "selectedRC", MODE: "MODE" }, outputs: { closeList: "closeList" }, providers: [GetUserDetailsPipe], viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\n <div class=\"program-responsibility-listing-body\">\n <!-- <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader> -->\n <!-- <app-table-card\n *ngIf=\"!programCountLoader\"\n class=\"vx-w-100\"\n [tableCard]=\"programTypes\"\n [singleSelectedText]=\"'Responsibility Selected'\"\n [selectedTab]=\"selectedTab\"\n [multipleSelectedText]=\"'Responsibilities Selected'\"\n (setSelectedTab)=\"setSelectedTab($event)\">\n </app-table-card> -->\n <div class=\"search-block vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Responsibilities\" />\n </div>\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!responsibilityLoader && !responsibilityData?.data?.length)\">\n <ng-container *ngIf=\"(responsibilityLoader || responsibilityData?.data?.length)\">\n <!-- <div class=\"inner-item-left vx-pr-2\">\n\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\n \n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\n\n </div> -->\n\n <!-- <div class=\"inner-item-mid vx-pr-2\">\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\n </div> -->\n\n <div class=\"inner-item-right\">\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\n\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" [allSelectedResponsibilityIds]=\"selectedResponsibilities | uniqueResponsibilities\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\n \n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\n \n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\n </div>\n </ng-container>\n <app-no-data *ngIf=\"(!responsibilityLoader && !responsibilityData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\n </div>\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? (selectedResponsibilities | uniqueResponsibilities : 'entireObject') : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'name'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\n </div>\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:0%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:0%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:100%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i5.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "isResponsibility", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeProgram", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "MODE", "allSelectedResponsibilityIds", "responsibilityData", "selectedProgramAndResp"], outputs: ["getUpdatedDataList", "changeSelectedProgramAndResp"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i6.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i7.NoDataComponentUI, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: WorkflowPipesModule }, { kind: "pipe", type: i8.UniqueResponsibilitiesPipe, name: "uniqueResponsibilities" }] }); }
|
|
408
408
|
}
|
|
409
409
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgramResponsibilityListingComponent, decorators: [{
|
|
410
410
|
type: Component,
|
|
@@ -435,4 +435,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
435
435
|
type: ViewChild,
|
|
436
436
|
args: ['dataListing']
|
|
437
437
|
}] } });
|
|
438
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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SSxhQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGFBQWEsR0FBRyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzsrR0FuYVUscUNBQXFDO21HQUFyQyxxQ0FBcUMsOFBBRnJDLENBQUMsa0JBQWtCLENBQUMseUpDbkRqQyxvcUpBK0NNLHF5RERkRixZQUFZLGtJQUNaLGFBQWEsOEJBQ2IsZUFBZSw4QkFDZixhQUFhLDhCQUNiLGlCQUFpQix5akJBQ2pCLGdCQUFnQiwrQkFHaEIsaUNBQWlDLGtZQUVqQyxnQkFBZ0IsZ0hBQ2hCLFlBQVksa1RBRVosbUJBQW1COzs0RkFPVixxQ0FBcUM7a0JBeEJqRCxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7d0JBQzNCLGlDQUFpQzt3QkFDakMsOEJBQThCO3dCQUM5QixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCLFdBR1EsQ0FBQyxXQUFXLENBQUMsYUFDWCxDQUFDLGtCQUFrQixDQUFDO3NLQW9DTSx5QkFBeUI7c0JBQTdELEtBQUs7dUJBQUMsd0JBQXdCO2dCQU10QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFLTiw4QkFBOEI7c0JBRDdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtY2F0ZWdvcnktbGlzdGluZy9ncmMtY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmNTdWJDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJFU1BPTlNJQklMSVRZX1RBQkxFX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbGluay1yZXNwb25zaWJpbGl0eS5jb25zdGFudCc7XG5pbXBvcnQgeyBHcmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3JjLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy90YWJsZS1jYXJkLWxvYWRlci90YWJsZS1jYXJkLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IExJTktTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcmVzcG9uc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBHZXRVc2VyRGV0YWlsc1BpcGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy9nZXQtdXNlci1kZXRhaWxzLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgVGFibGVDYXJkQ29tcG9uZW50LFxuICAgIEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcbiAgICBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQsXG4gICAgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxuICAgIExpc3RMb2FkZXJNb2R1bGUsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXG4gIG91dHB1dHM6IFsnY2xvc2VMaXN0J10sXG4gIHByb3ZpZGVyczogW0dldFVzZXJEZXRhaWxzUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3JhbVJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2dyYW1UeXBlcyA9IFJFU1BPTlNJQklMSVRZX1RBQkxFX0NBUkQ7XG4gIENETl9MSU5LID0gTElOS1M7XG4gIHNlbGVjdGVkVGFiOiAwIHwgMSB8IDIgfCAzID0gMTtcblxuICBhbmltYXRpb24gPSBmYWxzZTtcblxuICBwcm9ncmFtTG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHByb2dyYW1Db3VudExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXRlZ29yeUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xuICBwcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xuICBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcbiAgc2VsZWN0ZWRQcm9ncmFtOiBhbnk7XG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueTtcbiAgcHJvZ3JhbUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBjYXRlZ29yeUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICByZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBwcm9ncmFtRGF0YTogYW55O1xuICBjYXRlZ29yeURhdGE6IGFueTtcbiAgcmVzcG9uc2liaWxpdHlEYXRhOiBhbnkgPSB7XG4gICAgZGF0YTogW10sXG4gIH07XG4gIHNlbGVjdGVkUHJvZ3JhbUlkczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZFJDSWRzOiBudW1iZXJbXSA9IFtdO1xuXG4gIHByb2dyYW1DYWxsITogU3Vic2NyaXB0aW9uO1xuICBjYXRlZ29yeUNhbGwhOiBTdWJzY3JpcHRpb247XG4gIHJlc3BvbnNpYmlsaXR5Q2FsbCE6IFN1YnNjcmlwdGlvbjtcblxuICBASW5wdXQoJ3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3AnKSBzZXQgZ2V0U2VsZWN0ZWRQcm9ncmFtQW5kUmVzcChkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBkYXRhIHx8IFtdO1xuICAgIHRoaXMucHJlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gICAgdGhpcy5nZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuICBASW5wdXQoKSBzZWxlY3RlZFJDOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xuXG4gIGNsb3NlTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZGF0YUxpc3RpbmcnKVxuICByZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQhOiBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmNTZXJ2aWNlOiBHcmNTZXJ2aWNlLCBwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlLCBwcml2YXRlIGdldFVzZXJEZXRhaWxzOiBHZXRVc2VyRGV0YWlsc1BpcGUpIHtcbiAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gdGhpcy5ncmNTZXJ2aWNlPy5nZXRCdXNpbmVzc0N5Y2xlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICAgIC8vIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gICAgLy8gdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlTGlzdC5lbWl0KHRoaXMucHJlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGdldFByb2dyYW1zTGlzdChldmVudD86IGFueSkge1xuICAgIGlmICh0aGlzLnByb2dyYW1DYWxsKSB7XG4gICAgICB0aGlzLnByb2dyYW1DYWxsLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IHRydWU7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgdHlwZTogJycsXG4gICAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxuICAgICAgICBhOiAnJyxcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXG4gICAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgcGFnZU5vOiB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSB8fCAxLFxuICAgICAgICBzb3J0T2JqOiB7IHNvcnRCeTogJycsIHR5cGU6IC0xIH0sXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgICB0eXBlQXJyOiBbdGhpcy5zZWxlY3RlZFRhYl0sXG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXG4gICAgICAgIHN0YXRlOiBbMiwgM10sXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5wcm9ncmFtQ2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRQcm9ncmFtc0xpc3QocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgLy8gdGhpcy5wcm9ncmFtRGF0YS5kYXRhID0gcmVzLmRhdGEgPz8gW107XG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEgPSB7IC4uLnJlcyB9O1xuICAgICAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZChyZXM/LmRhdGFbMF0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9ncmFtTG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25Qcm9ncmFtUGFnZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vIHx8IDE7XG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcbiAgfVxuXG4gIG9uU3ViQ2F0ZWdvcnlQYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vIHx8IDE7XG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudC5kZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KGV2ZW50KTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFiKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGV2ZW50Py50eXBlO1xuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xuICAgICAgdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgPSAxO1xuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcbiAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcbiAgICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gICAgICB0aGlzLmdldFByb2dyYW1zQ291bnQoKTtcbiAgICB9XG4gIH1cblxuICBnZXRQcm9ncmFtc0NvdW50KHBhcmFtc09iamVjdD86IGFueSkge1xuICAgIHRoaXMucHJvZ3JhbUNvdW50TG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICB0eXBlOiAnJyxcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXG4gICAgICAgIGE6ICcnLFxuICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBwYWdlTm86IDEsXG4gICAgICAgIHNvcnRPYmo6IHsgc29ydEJ5OiAnJywgdHlwZTogJycgfSxcbiAgICAgICAgcGFnZU5hbWU6ICdjYXRlZ29yeScsXG4gICAgICAgIHR5cGVBcnI6IFsxLCAyLCAzLCAwXSxcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcbiAgICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxuICAgICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0Q291bnQocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2dyYW1Db3VudExvYWRlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1swXS5jb3VudCA9XG4gICAgICAgICAgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmFjdGl2ZSArIHJlcz8ucmVndWxhdGlvbkNvdW50Py5jb21wbGV0ZWQ7XG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzFdLmNvdW50ID1cbiAgICAgICAgICByZXM/LnN0YW5kYXJkQ291bnQ/LmFjdGl2ZSArIHJlcz8uc3RhbmRhcmRDb3VudD8uY29tcGxldGVkO1xuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1syXS5jb3VudCA9XG4gICAgICAgICAgcmVzPy5pbnRlcm5hbENvdW50Py5hY3RpdmUgKyByZXM/LmludGVybmFsQ291bnQ/LmNvbXBsZXRlZDtcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbM10uY291bnQgPVxuICAgICAgICAgIHJlcz8ub3RoZXJDb3VudD8uYWN0aXZlICsgcmVzPy5vdGhlckNvdW50Py5jb21wbGV0ZWQ7XG4gICAgICAgIC8vIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHByb2dyYW06IGFueSkge1xuICAgIGlmICh0aGlzLmNhdGVnb3J5Q2FsbCkge1xuICAgICAgdGhpcy5jYXRlZ29yeUNhbGwudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW0gPSBwcm9ncmFtO1xuICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSB0cnVlO1xuICAgIC8vIHRoaXMucmVzZXRDb250cm9sVmFyaWFibGUoKTtcbiAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgaWQ6IHByb2dyYW0/Ll9pZCxcbiAgICAgIHNjb3BlVHlwZTogJ3Jpc2snLFxuICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgYXBwTGlzdDogW10sXG4gICAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxuICAgICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICB9LFxuICAgICAgcGFnZTogdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlIHx8IDEsXG4gICAgICAvLyBzb3J0aW5nQ291bnQ6IHRoaXMuY2F0ZWdvcnlTb3J0VmFsdWUsXG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBidXNpbmVzc0N5Y2xlOiB7XG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXG4gICAgICAgIC8vIFwic2NvcGVUeXBlXCI6ICdyaXNrJyxcbiAgICAgICAgdHlwZTogJ3Jpc2snLFxuICAgICAgICBjYWxsRnJvbTogJ2dyYycsXG4gICAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmNhdGVnb3J5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRTdWJDYXRlZ29yeUxpc3QoaGVhZGVycykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhID0geyAuLi5yZXMgfTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gcmVzPy5kYXRhWzBdO1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYWN0aXZlU2VsZWN0ZWRQcm9ncmFtKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbSA9IGV2ZW50Py5jYXRlZ29yeTtcbiAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcbiAgICAvLyB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IGV2ZW50Py5jYXRlZ29yeTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XG4gIH1cblxuICBnZXRSZXNwb25zaWJpbGl0aWVzTGlzdChldmVudD86IGFueSkge1xuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbCkge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUNhbGwudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgLy8gdGhpcy5yZXNwQ291bnQgPSBldmVudC5zb3J0VmFsdWU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IHRydWU7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNCdXNpbmVzc0N5Y2xlJywgJ3RydWUnKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYXJlbnRJZCcsIHRoaXMuc2VsZWN0ZWRQcm9ncmFtPy5jYXRlZ29yeV9pZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0SWQnLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPz8gMSk7XG4gICAgLy8gaWYgKFsxLCAtMV0uaW5jbHVkZXModGhpcy5jb250cm9sU29ydFZhbHVlKSkge1xuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydFZhbHVlJywgdGhpcy5jb250cm9sU29ydFZhbHVlKTtcbiAgICAvLyAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRCeScsICdEYXRhLlJlcG9ydE5hbWUnKTtcbiAgICAvLyB9XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlVHlwZScsICdyaXNrJyk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2FsbEZyb20nLCAnZ3JjJyk7XG4gICAgbGV0IGJ1c2luZXNzQ3ljbGUgPSB7XG4gICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXG4gICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgIHBhZ2VUeXBlOiAncmlzaycsXG4gICAgICBjYWxsRnJvbTogJ2dyYycsXG4gICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUNhbGwgPSB0aGlzLmdyY1NlcnZpY2VcbiAgICAgIC5nZXRBbGxSZXNwb25zaWJpbGl0aWVzKHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgcGFnZVNpemUgPSAzMDtcbiAgICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9IHJlcz8uZGF0YT8ucGFnZSB8fCAxO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAoY3VycmVudFBhZ2UgLSAxKSAqIHBhZ2VTaXplICsgMTtcbiAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IE1hdGgubWluKHN0YXJ0SW5kZXggKyBwYWdlU2l6ZSAtIDEsIHJlcz8uZGF0YT8udG90YWwgfHwgMCk7XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGEgPSB7XG4gICAgICAgICAgICBkYXRhOiB0aGlzLnNldERhdGFMaXN0U3RydWN0dXJlKHJlcz8uZGF0YT8ucmVzcG9uc2liaWxpdGllcyB8fCBbXSwgcmVzPy5kYXRhPy51c2VycyB8fCBbXSwgcmVzPy5kYXRhPy5yZXNwb25zaWJpbGl0eUNlbnRlcnMgfHwgW10pLFxuICAgICAgICAgICAgdG90YWxfaXRlbXM6IHJlcz8uZGF0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiBNYXRoLmNlaWwoKHJlcz8uZGF0YT8udG90YWwgfHwgMCkgLyBwYWdlU2l6ZSksXG4gICAgICAgICAgICBjdXJyZW50X3BhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGVyX3BhZ2U6IHBhZ2VTaXplLFxuICAgICAgICAgICAgaXRlbXNfZnJvbTogc3RhcnRJbmRleCxcbiAgICAgICAgICAgIGl0ZW1zX3RvOiBlbmRJbmRleFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBnZXRVcGRhdGVkRGF0YUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm87XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICB9XG5cbiAgc2V0RGF0YUxpc3RTdHJ1Y3R1cmUocmVzcG9uc2liaWxpdGllczogYW55W10sIHVzZXJzOiBhbnlbXSwgcmVzcG9uc2liaWxpdHlDZW50ZXJzOiBhbnlbXSkge1xuICAgIGNvbnN0IGRhdGEgPSByZXNwb25zaWJpbGl0aWVzPy5tYXAoKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNpYmlsaXR5Q2VudGVySWRzID0gcmVzcG9uc2liaWxpdHk/LnJlc3BvbnNpYmlsaXR5X2NlbnRlcnMgfHwgW107XG5cbiAgICAgIGNvbnN0IG1hcHBlZFJlc3BvbnNpYmlsaXR5Q2VudGVycyA9IHJlc3BvbnNpYmlsaXR5Q2VudGVySWRzLm1hcCgocmNJZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJjID0gcmVzcG9uc2liaWxpdHlDZW50ZXJzLmZpbmQoKGNlbnRlcjogYW55KSA9PiBjZW50ZXI/LmlkID09PSByY0lkKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiByYz8ubmFtZSB8fCAnJyxcbiAgICAgICAgICBpZDogcmNJZFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFzc2lnbm9yRGV0YWlscyA9IHRoaXMuZ2V0VXNlckRldGFpbHMudHJhbnNmb3JtKFtyZXNwb25zaWJpbGl0eT8uYXNzaWdub3JdLCB1c2Vycyk/LlswXSB8fCB7fTtcbiAgICAgIGNvbnN0IGFzc2lnbmVlRGV0YWlscyA9IHRoaXMuZ2V0VXNlckRldGFpbHMudHJhbnNmb3JtKHJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZXM/LnVzZXJJZCB8fCBbXSwgdXNlcnMpIHx8IFtdO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yZXNwb25zaWJpbGl0eSxcbiAgICAgICAgbmFtZTogcmVzcG9uc2liaWxpdHk/LnRpdGxlIHx8ICcnLFxuICAgICAgICBjb250cm9sSWQ6IHJlc3BvbnNpYmlsaXR5Py5rZXl8fCAnJyxcbiAgICAgICAgX2lkOiByZXNwb25zaWJpbGl0eT8ucmlkLFxuICAgICAgICBlbnRydXN0ZWRCeToge1xuICAgICAgICAgIG5hbWU6IGFzc2lnbm9yRGV0YWlscz8ubmFtZSB8fCAnJyxcbiAgICAgICAgICBlbWFpbDogYXNzaWdub3JEZXRhaWxzPy5lbWFpbCB8fCAnJyxcbiAgICAgICAgICBwcm9maWxlUGljOiBhc3NpZ25vckRldGFpbHM/LmF2YXRhciB8fCAnJyxcbiAgICAgICAgICBzaG9ydE5hbWU6IGFzc2lnbm9yRGV0YWlscz8uc2hvcnRfbmFtZSB8fCAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgZW50cnVzdGVkVG86IHtcbiAgICAgICAgICBuYW1lOiBhc3NpZ25lZURldGFpbHNbMF0/Lm5hbWUgfHwgJycsXG4gICAgICAgICAgZW1haWw6IGFzc2lnbmVlRGV0YWlsc1swXT8uZW1haWwgfHwgJycsXG4gICAgICAgICAgcHJvZmlsZVBpYzogYXNzaWduZWVEZXRhaWxzWzBdPy5hdmF0YXIgfHwgJycsXG4gICAgICAgICAgc2hvcnROYW1lOiBhc3NpZ25lZURldGFpbHNbMF0/LnNob3J0X25hbWUgfHwgJycsXG4gICAgICAgICAgRW50cnVzdGVkVG9NZW1iZXJzOiBhc3NpZ25lZURldGFpbHM/Lm1hcCgodXNlcjogYW55KSA9PiAoe1xuICAgICAgICAgICAgbWVtYmVyX25hbWU6IHVzZXI/Lm5hbWUsXG4gICAgICAgICAgICBwcm9maWxlX3BpYzogdXNlcj8uYXZhdGFyLFxuICAgICAgICAgICAgbWVtYmVyX3Nob3J0X25hbWU6IHVzZXI/LnNob3J0X25hbWVcbiAgICAgICAgICB9KSkgfHwgW10sXG4gICAgICAgIH0sXG4gICAgICAgIHdpdGhpbkRhdGE6IG1hcHBlZFJlc3BvbnNpYmlsaXR5Q2VudGVycyxcbiAgICAgICAgc3ViQ2F0ZWdvcnlJZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBvblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpIHtcbiAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gIH1cblxuICBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBldmVudDtcbiAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gICAgdGhpcy5nZXRTZWxlY3RlZENhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBnZXRTZWxlY3RlZFByb2dyYW1JZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUlkcyA9IFtdO1xuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1JZHMucHVzaChzZWxlY3RlZD8ucHJvZ3JhbT8ucHJvZ3JhbUlkKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcnlJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcbiAgICBsZXQgcHJvZ3JhbUluZGV4ID0gLTE7XG4gICAgcHJvZ3JhbUluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChcbiAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5wcm9ncmFtPy5wcm9ncmFtSWQgPT09IHRoaXMuc2VsZWN0ZWRQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICApO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBzZWxlY3RlZERhdGFbcHJvZ3JhbUluZGV4XT8uY2F0ZWdvcnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyhzZWxlY3RlZERhdGE6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzID0gW107XG4gICAgc2VsZWN0ZWREYXRhLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMucHVzaCguLi5pdGVtPy5yZXNwb25zaWJpbGl0eSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRTZWxlY3RlZFJDSWRzKHNlbGVjdGVkUkM6IGFueVtdKSB7XG4gICAgbGV0IHNlbGVjdGVkUkNJZHM6IGFueVtdID0gW107XG4gICAgc2VsZWN0ZWRSQ0lkcyA9IHNlbGVjdGVkUkM/Lm1hcCgocmM6IGFueSkgPT4gcmM/LnJjX2lkKTtcblxuICAgIHJldHVybiBzZWxlY3RlZFJDSWRzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IFJlc3BvbnNpYmlsaXRpZXM8L2gzPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keVwiPlxuICAgICAgICA8IS0tIDxhcHAtdGFibGUtY2FyZC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtQ291bnRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj4gLS0+XG4gICAgICAgIDwhLS0gPGFwcC10YWJsZS1jYXJkXG4gICAgICAgICAgICAqbmdJZj1cIiFwcm9ncmFtQ291bnRMb2FkZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXG4gICAgICAgICAgICBbdGFibGVDYXJkXT1cInByb2dyYW1UeXBlc1wiXG4gICAgICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidSZXNwb25zaWJpbGl0eSBTZWxlY3RlZCdcIlxuICAgICAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcbiAgICAgICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdGllcyBTZWxlY3RlZCdcIlxuICAgICAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIj5cbiAgICAgICAgPC9hcHAtdGFibGUtY2FyZD4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAgI3NlYXJjaFJpc2tDYXRlZ29yeSAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdGllc1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWJvZHktaW5uZXIgdngtbWItMiB2eC1kLWZsZXhcIiBbY2xhc3MudngtanVzdGlmeS1jZW50ZXJdPVwiKCFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGgpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IHJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoKVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tbGVmdCB2eC1wci0yXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFwcm9ncmFtTG9hZGVyXCIgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtwcm9ncmFtRGF0YV09XCJwcm9ncmFtRGF0YVwiICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiIFtjdXJyZW50UGFnZV09XCJwcm9ncmFtQ3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYlwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkUHJvZ3JhbUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkUHJvZ3JhbSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uUHJvZ3JhbVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLW1pZCB2eC1wci0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nICpuZ0lmPVwiIWNhdGVnb3J5TG9hZGVyICYmICFwcm9ncmFtTG9hZGVyXCIgIFtoZWFkZXJUZXh0XT1cIidQcm9ncmFtcydcIiBbY2F0ZWdvcmllc109XCJjYXRlZ29yeURhdGFcIiAgW25hbWVEaXNwbGF5S2V5XT1cIidpdGVtX25hbWUnXCIgIFtjdXJyZW50UGFnZV09XCJjYXRlZ29yeUN1cnJlbnRQYWdlXCIgW3NlbGVjdGVkQ2F0ZWdvcnlJZHNdPVwic2VsZWN0ZWRDYXRlZ29yeUlkc1wiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFtzZWxlY3RlZFByb2dyYW1BbmRSZXNwXT1cInNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BcIiAoYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeSk9XCJhY3RpdmVTZWxlY3RlZFN1YkNhdGVnb3J5KCRldmVudClcIiAob25DYXRlZ29yeVBhZ2VDaGFuZ2UpPVwib25TdWJDYXRlZ29yeVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1zdWItY2F0ZWdvcnktbGlzdGluZz5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cImNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+IC0tPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmICFjYXRlZ29yeUxvYWRlciAmJiAhcHJvZ3JhbUxvYWRlciAmJiByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCAhPT0gMFwiIFtoZWFkZXJUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzJ1wiIFtNT0RFXT1cIk1PREVcIiBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFthY3RpdmVDYXRlZ29yeV09XCJzZWxlY3RlZENhdGVnb3J5XCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIFthbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzXT1cInNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyB8IHVuaXF1ZVJlc3BvbnNpYmlsaXRpZXNcIiAoY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk9XCJjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKCRldmVudClcIiBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiIFtwZXJQYWdlTGltaXRdPVwiMzBcIiBbdG90YWxMaXN0RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGE/LnRvdGFsX2l0ZW1zXCIgW3RvdGFsUGFnZXNdPVwicmVzcG9uc2liaWxpdHlEYXRhPy50b3RhbF9wYWdlc1wiIChnZXRVcGRhdGVkRGF0YUxpc3QpPVwiZ2V0VXBkYXRlZERhdGFMaXN0KCRldmVudClcIiA+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICEocmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlcilcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiKCFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGgpXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzPy5sZW5ndGggPyAoc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzIHwgdW5pcXVlUmVzcG9uc2liaWxpdGllcyA6ICdlbnRpcmVPYmplY3QnKSA6IFtdXCIgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ25hbWUnXCIgW3Npbmd1bGFyVGV4dF09XCInUmVzcG9uc2liaWxpdHkgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ1Jlc3BvbnNpYmlsaXRpZXMgc2VsZWN0ZWQnXCIgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIj48L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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SSxhQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGFBQWEsR0FBRyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQzsrR0FuYVUscUNBQXFDO21HQUFyQyxxQ0FBcUMsOFBBRnJDLENBQUMsa0JBQWtCLENBQUMseUpDbkRqQyxvcUpBK0NNLHF5RERkRixZQUFZLGtJQUNaLGFBQWEsOEJBQ2IsZUFBZSw4QkFDZixhQUFhLDhCQUNiLGlCQUFpQiw2a0JBQ2pCLGdCQUFnQiwrQkFHaEIsaUNBQWlDLGtZQUVqQyxnQkFBZ0IsZ0hBQ2hCLFlBQVksa1RBRVosbUJBQW1COzs0RkFPVixxQ0FBcUM7a0JBeEJqRCxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7d0JBQzNCLGlDQUFpQzt3QkFDakMsOEJBQThCO3dCQUM5QixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCLFdBR1EsQ0FBQyxXQUFXLENBQUMsYUFDWCxDQUFDLGtCQUFrQixDQUFDO3NLQW9DTSx5QkFBeUI7c0JBQTdELEtBQUs7dUJBQUMsd0JBQXdCO2dCQU10QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFLTiw4QkFBOEI7c0JBRDdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgVGFibGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUtY2FyZC90YWJsZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtY2F0ZWdvcnktbGlzdGluZy9ncmMtY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmNTdWJDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJFU1BPTlNJQklMSVRZX1RBQkxFX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbGluay1yZXNwb25zaWJpbGl0eS5jb25zdGFudCc7XG5pbXBvcnQgeyBHcmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3JjLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy90YWJsZS1jYXJkLWxvYWRlci90YWJsZS1jYXJkLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IExJTktTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcmVzcG9uc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBHZXRVc2VyRGV0YWlsc1BpcGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy9nZXQtdXNlci1kZXRhaWxzLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgVGFibGVDYXJkQ29tcG9uZW50LFxuICAgIEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcbiAgICBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQsXG4gICAgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxuICAgIExpc3RMb2FkZXJNb2R1bGUsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5sZXNzJ10sXG4gIG91dHB1dHM6IFsnY2xvc2VMaXN0J10sXG4gIHByb3ZpZGVyczogW0dldFVzZXJEZXRhaWxzUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3JhbVJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb2dyYW1UeXBlcyA9IFJFU1BPTlNJQklMSVRZX1RBQkxFX0NBUkQ7XG4gIENETl9MSU5LID0gTElOS1M7XG4gIHNlbGVjdGVkVGFiOiAwIHwgMSB8IDIgfCAzID0gMTtcblxuICBhbmltYXRpb24gPSBmYWxzZTtcblxuICBwcm9ncmFtTG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHByb2dyYW1Db3VudExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXRlZ29yeUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xuICBwcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xuICBzZWFyY2hTdHJpbmc6IHN0cmluZyA9ICcnO1xuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcbiAgc2VsZWN0ZWRQcm9ncmFtOiBhbnk7XG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueTtcbiAgcHJvZ3JhbUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBjYXRlZ29yeUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICByZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICBwcm9ncmFtRGF0YTogYW55O1xuICBjYXRlZ29yeURhdGE6IGFueTtcbiAgcmVzcG9uc2liaWxpdHlEYXRhOiBhbnkgPSB7XG4gICAgZGF0YTogW10sXG4gIH07XG4gIHNlbGVjdGVkUHJvZ3JhbUlkczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZFJDSWRzOiBudW1iZXJbXSA9IFtdO1xuXG4gIHByb2dyYW1DYWxsITogU3Vic2NyaXB0aW9uO1xuICBjYXRlZ29yeUNhbGwhOiBTdWJzY3JpcHRpb247XG4gIHJlc3BvbnNpYmlsaXR5Q2FsbCE6IFN1YnNjcmlwdGlvbjtcblxuICBASW5wdXQoJ3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3AnKSBzZXQgZ2V0U2VsZWN0ZWRQcm9ncmFtQW5kUmVzcChkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBkYXRhIHx8IFtdO1xuICAgIHRoaXMucHJlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gICAgdGhpcy5nZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuICBASW5wdXQoKSBzZWxlY3RlZFJDOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xuXG4gIGNsb3NlTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZGF0YUxpc3RpbmcnKVxuICByZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQhOiBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmNTZXJ2aWNlOiBHcmNTZXJ2aWNlLCBwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlLCBwcml2YXRlIGdldFVzZXJEZXRhaWxzOiBHZXRVc2VyRGV0YWlsc1BpcGUpIHtcbiAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gdGhpcy5ncmNTZXJ2aWNlPy5nZXRCdXNpbmVzc0N5Y2xlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICAgIC8vIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gICAgLy8gdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlTGlzdC5lbWl0KHRoaXMucHJlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGdldFByb2dyYW1zTGlzdChldmVudD86IGFueSkge1xuICAgIGlmICh0aGlzLnByb2dyYW1DYWxsKSB7XG4gICAgICB0aGlzLnByb2dyYW1DYWxsLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IHRydWU7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgdHlwZTogJycsXG4gICAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxuICAgICAgICBhOiAnJyxcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXG4gICAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgcGFnZU5vOiB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSB8fCAxLFxuICAgICAgICBzb3J0T2JqOiB7IHNvcnRCeTogJycsIHR5cGU6IC0xIH0sXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgICB0eXBlQXJyOiBbdGhpcy5zZWxlY3RlZFRhYl0sXG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXG4gICAgICAgIHN0YXRlOiBbMiwgM10sXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5wcm9ncmFtQ2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRQcm9ncmFtc0xpc3QocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgLy8gdGhpcy5wcm9ncmFtRGF0YS5kYXRhID0gcmVzLmRhdGEgPz8gW107XG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEgPSB7IC4uLnJlcyB9O1xuICAgICAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZChyZXM/LmRhdGFbMF0pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9ncmFtTG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgb25Qcm9ncmFtUGFnZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vIHx8IDE7XG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcbiAgfVxuXG4gIG9uU3ViQ2F0ZWdvcnlQYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vIHx8IDE7XG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudC5kZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KGV2ZW50KTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFiKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGV2ZW50Py50eXBlO1xuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xuICAgICAgdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgPSAxO1xuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcbiAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcbiAgICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gICAgICB0aGlzLmdldFByb2dyYW1zQ291bnQoKTtcbiAgICB9XG4gIH1cblxuICBnZXRQcm9ncmFtc0NvdW50KHBhcmFtc09iamVjdD86IGFueSkge1xuICAgIHRoaXMucHJvZ3JhbUNvdW50TG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICB0eXBlOiAnJyxcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXG4gICAgICAgIGE6ICcnLFxuICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBwYWdlTm86IDEsXG4gICAgICAgIHNvcnRPYmo6IHsgc29ydEJ5OiAnJywgdHlwZTogJycgfSxcbiAgICAgICAgcGFnZU5hbWU6ICdjYXRlZ29yeScsXG4gICAgICAgIHR5cGVBcnI6IFsxLCAyLCAzLCAwXSxcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcbiAgICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxuICAgICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0Q291bnQocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2dyYW1Db3VudExvYWRlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1swXS5jb3VudCA9XG4gICAgICAgICAgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmFjdGl2ZSArIHJlcz8ucmVndWxhdGlvbkNvdW50Py5jb21wbGV0ZWQ7XG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzFdLmNvdW50ID1cbiAgICAgICAgICByZXM/LnN0YW5kYXJkQ291bnQ/LmFjdGl2ZSArIHJlcz8uc3RhbmRhcmRDb3VudD8uY29tcGxldGVkO1xuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1syXS5jb3VudCA9XG4gICAgICAgICAgcmVzPy5pbnRlcm5hbENvdW50Py5hY3RpdmUgKyByZXM/LmludGVybmFsQ291bnQ/LmNvbXBsZXRlZDtcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbM10uY291bnQgPVxuICAgICAgICAgIHJlcz8ub3RoZXJDb3VudD8uYWN0aXZlICsgcmVzPy5vdGhlckNvdW50Py5jb21wbGV0ZWQ7XG4gICAgICAgIC8vIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHByb2dyYW06IGFueSkge1xuICAgIGlmICh0aGlzLmNhdGVnb3J5Q2FsbCkge1xuICAgICAgdGhpcy5jYXRlZ29yeUNhbGwudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW0gPSBwcm9ncmFtO1xuICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSB0cnVlO1xuICAgIC8vIHRoaXMucmVzZXRDb250cm9sVmFyaWFibGUoKTtcbiAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgaWQ6IHByb2dyYW0/Ll9pZCxcbiAgICAgIHNjb3BlVHlwZTogJ3Jpc2snLFxuICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgYXBwTGlzdDogW10sXG4gICAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxuICAgICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICB9LFxuICAgICAgcGFnZTogdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlIHx8IDEsXG4gICAgICAvLyBzb3J0aW5nQ291bnQ6IHRoaXMuY2F0ZWdvcnlTb3J0VmFsdWUsXG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBidXNpbmVzc0N5Y2xlOiB7XG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXG4gICAgICAgIC8vIFwic2NvcGVUeXBlXCI6ICdyaXNrJyxcbiAgICAgICAgdHlwZTogJ3Jpc2snLFxuICAgICAgICBjYWxsRnJvbTogJ2dyYycsXG4gICAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmNhdGVnb3J5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRTdWJDYXRlZ29yeUxpc3QoaGVhZGVycykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhID0geyAuLi5yZXMgfTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gcmVzPy5kYXRhWzBdO1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYWN0aXZlU2VsZWN0ZWRQcm9ncmFtKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbSA9IGV2ZW50Py5jYXRlZ29yeTtcbiAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcbiAgICAvLyB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IGV2ZW50Py5jYXRlZ29yeTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XG4gIH1cblxuICBnZXRSZXNwb25zaWJpbGl0aWVzTGlzdChldmVudD86IGFueSkge1xuICAgIGlmICh0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbCkge1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUNhbGwudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgLy8gdGhpcy5yZXNwQ291bnQgPSBldmVudC5zb3J0VmFsdWU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IHRydWU7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNCdXNpbmVzc0N5Y2xlJywgJ3RydWUnKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYXJlbnRJZCcsIHRoaXMuc2VsZWN0ZWRQcm9ncmFtPy5jYXRlZ29yeV9pZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0SWQnLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPz8gMSk7XG4gICAgLy8gaWYgKFsxLCAtMV0uaW5jbHVkZXModGhpcy5jb250cm9sU29ydFZhbHVlKSkge1xuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydFZhbHVlJywgdGhpcy5jb250cm9sU29ydFZhbHVlKTtcbiAgICAvLyAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRCeScsICdEYXRhLlJlcG9ydE5hbWUnKTtcbiAgICAvLyB9XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlVHlwZScsICdyaXNrJyk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2FsbEZyb20nLCAnZ3JjJyk7XG4gICAgbGV0IGJ1c2luZXNzQ3ljbGUgPSB7XG4gICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXG4gICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgIHBhZ2VUeXBlOiAncmlzaycsXG4gICAgICBjYWxsRnJvbTogJ2dyYycsXG4gICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUNhbGwgPSB0aGlzLmdyY1NlcnZpY2VcbiAgICAgIC5nZXRBbGxSZXNwb25zaWJpbGl0aWVzKHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgY29uc3QgcGFnZVNpemUgPSAzMDtcbiAgICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9IHJlcz8uZGF0YT8ucGFnZSB8fCAxO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAoY3VycmVudFBhZ2UgLSAxKSAqIHBhZ2VTaXplICsgMTtcbiAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IE1hdGgubWluKHN0YXJ0SW5kZXggKyBwYWdlU2l6ZSAtIDEsIHJlcz8uZGF0YT8udG90YWwgfHwgMCk7XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGEgPSB7XG4gICAgICAgICAgICBkYXRhOiB0aGlzLnNldERhdGFMaXN0U3RydWN0dXJlKHJlcz8uZGF0YT8ucmVzcG9uc2liaWxpdGllcyB8fCBbXSwgcmVzPy5kYXRhPy51c2VycyB8fCBbXSwgcmVzPy5kYXRhPy5yZXNwb25zaWJpbGl0eUNlbnRlcnMgfHwgW10pLFxuICAgICAgICAgICAgdG90YWxfaXRlbXM6IHJlcz8uZGF0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiBNYXRoLmNlaWwoKHJlcz8uZGF0YT8udG90YWwgfHwgMCkgLyBwYWdlU2l6ZSksXG4gICAgICAgICAgICBjdXJyZW50X3BhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGVyX3BhZ2U6IHBhZ2VTaXplLFxuICAgICAgICAgICAgaXRlbXNfZnJvbTogc3RhcnRJbmRleCxcbiAgICAgICAgICAgIGl0ZW1zX3RvOiBlbmRJbmRleFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBnZXRVcGRhdGVkRGF0YUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm87XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICB9XG5cbiAgc2V0RGF0YUxpc3RTdHJ1Y3R1cmUocmVzcG9uc2liaWxpdGllczogYW55W10sIHVzZXJzOiBhbnlbXSwgcmVzcG9uc2liaWxpdHlDZW50ZXJzOiBhbnlbXSkge1xuICAgIGNvbnN0IGRhdGEgPSByZXNwb25zaWJpbGl0aWVzPy5tYXAoKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNpYmlsaXR5Q2VudGVySWRzID0gcmVzcG9uc2liaWxpdHk/LnJlc3BvbnNpYmlsaXR5X2NlbnRlcnMgfHwgW107XG5cbiAgICAgIGNvbnN0IG1hcHBlZFJlc3BvbnNpYmlsaXR5Q2VudGVycyA9IHJlc3BvbnNpYmlsaXR5Q2VudGVySWRzLm1hcCgocmNJZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJjID0gcmVzcG9uc2liaWxpdHlDZW50ZXJzLmZpbmQoKGNlbnRlcjogYW55KSA9PiBjZW50ZXI/LmlkID09PSByY0lkKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiByYz8ubmFtZSB8fCAnJyxcbiAgICAgICAgICBpZDogcmNJZFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFzc2lnbm9yRGV0YWlscyA9IHRoaXMuZ2V0VXNlckRldGFpbHMudHJhbnNmb3JtKFtyZXNwb25zaWJpbGl0eT8uYXNzaWdub3JdLCB1c2Vycyk/LlswXSB8fCB7fTtcbiAgICAgIGNvbnN0IGFzc2lnbmVlRGV0YWlscyA9IHRoaXMuZ2V0VXNlckRldGFpbHMudHJhbnNmb3JtKHJlc3BvbnNpYmlsaXR5Py5hc3NpZ25lZXM/LnVzZXJJZCB8fCBbXSwgdXNlcnMpIHx8IFtdO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yZXNwb25zaWJpbGl0eSxcbiAgICAgICAgbmFtZTogcmVzcG9uc2liaWxpdHk/LnRpdGxlIHx8ICcnLFxuICAgICAgICBjb250cm9sSWQ6IHJlc3BvbnNpYmlsaXR5Py5rZXl8fCAnJyxcbiAgICAgICAgX2lkOiByZXNwb25zaWJpbGl0eT8ucmlkLFxuICAgICAgICBlbnRydXN0ZWRCeToge1xuICAgICAgICAgIG5hbWU6IGFzc2lnbm9yRGV0YWlscz8ubmFtZSB8fCAnJyxcbiAgICAgICAgICBlbWFpbDogYXNzaWdub3JEZXRhaWxzPy5lbWFpbCB8fCAnJyxcbiAgICAgICAgICBwcm9maWxlUGljOiBhc3NpZ25vckRldGFpbHM/LmF2YXRhciB8fCAnJyxcbiAgICAgICAgICBzaG9ydE5hbWU6IGFzc2lnbm9yRGV0YWlscz8uc2hvcnRfbmFtZSB8fCAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgZW50cnVzdGVkVG86IHtcbiAgICAgICAgICBuYW1lOiBhc3NpZ25lZURldGFpbHNbMF0/Lm5hbWUgfHwgJycsXG4gICAgICAgICAgZW1haWw6IGFzc2lnbmVlRGV0YWlsc1swXT8uZW1haWwgfHwgJycsXG4gICAgICAgICAgcHJvZmlsZVBpYzogYXNzaWduZWVEZXRhaWxzWzBdPy5hdmF0YXIgfHwgJycsXG4gICAgICAgICAgc2hvcnROYW1lOiBhc3NpZ25lZURldGFpbHNbMF0/LnNob3J0X25hbWUgfHwgJycsXG4gICAgICAgICAgRW50cnVzdGVkVG9NZW1iZXJzOiBhc3NpZ25lZURldGFpbHM/Lm1hcCgodXNlcjogYW55KSA9PiAoe1xuICAgICAgICAgICAgbWVtYmVyX25hbWU6IHVzZXI/Lm5hbWUsXG4gICAgICAgICAgICBwcm9maWxlX3BpYzogdXNlcj8uYXZhdGFyLFxuICAgICAgICAgICAgbWVtYmVyX3Nob3J0X25hbWU6IHVzZXI/LnNob3J0X25hbWVcbiAgICAgICAgICB9KSkgfHwgW10sXG4gICAgICAgIH0sXG4gICAgICAgIHdpdGhpbkRhdGE6IG1hcHBlZFJlc3BvbnNpYmlsaXR5Q2VudGVycyxcbiAgICAgICAgc3ViQ2F0ZWdvcnlJZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBvblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpIHtcbiAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gIH1cblxuICBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBldmVudDtcbiAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gICAgdGhpcy5nZXRTZWxlY3RlZENhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBnZXRTZWxlY3RlZFByb2dyYW1JZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUlkcyA9IFtdO1xuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1JZHMucHVzaChzZWxlY3RlZD8ucHJvZ3JhbT8ucHJvZ3JhbUlkKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcnlJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcbiAgICBsZXQgcHJvZ3JhbUluZGV4ID0gLTE7XG4gICAgcHJvZ3JhbUluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChcbiAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5wcm9ncmFtPy5wcm9ncmFtSWQgPT09IHRoaXMuc2VsZWN0ZWRQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICApO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBzZWxlY3RlZERhdGFbcHJvZ3JhbUluZGV4XT8uY2F0ZWdvcnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyhzZWxlY3RlZERhdGE6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzID0gW107XG4gICAgc2VsZWN0ZWREYXRhLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMucHVzaCguLi5pdGVtPy5yZXNwb25zaWJpbGl0eSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRTZWxlY3RlZFJDSWRzKHNlbGVjdGVkUkM6IGFueVtdKSB7XG4gICAgbGV0IHNlbGVjdGVkUkNJZHM6IGFueVtdID0gW107XG4gICAgc2VsZWN0ZWRSQ0lkcyA9IHNlbGVjdGVkUkM/Lm1hcCgocmM6IGFueSkgPT4gcmM/LnJjX2lkKTtcblxuICAgIHJldHVybiBzZWxlY3RlZFJDSWRzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IFJlc3BvbnNpYmlsaXRpZXM8L2gzPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keVwiPlxuICAgICAgICA8IS0tIDxhcHAtdGFibGUtY2FyZC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtQ291bnRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj4gLS0+XG4gICAgICAgIDwhLS0gPGFwcC10YWJsZS1jYXJkXG4gICAgICAgICAgICAqbmdJZj1cIiFwcm9ncmFtQ291bnRMb2FkZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXG4gICAgICAgICAgICBbdGFibGVDYXJkXT1cInByb2dyYW1UeXBlc1wiXG4gICAgICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidSZXNwb25zaWJpbGl0eSBTZWxlY3RlZCdcIlxuICAgICAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcbiAgICAgICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdGllcyBTZWxlY3RlZCdcIlxuICAgICAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIj5cbiAgICAgICAgPC9hcHAtdGFibGUtY2FyZD4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAgI3NlYXJjaFJpc2tDYXRlZ29yeSAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdGllc1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWJvZHktaW5uZXIgdngtbWItMiB2eC1kLWZsZXhcIiBbY2xhc3MudngtanVzdGlmeS1jZW50ZXJdPVwiKCFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGgpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IHJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoKVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tbGVmdCB2eC1wci0yXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFwcm9ncmFtTG9hZGVyXCIgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtwcm9ncmFtRGF0YV09XCJwcm9ncmFtRGF0YVwiICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiIFtjdXJyZW50UGFnZV09XCJwcm9ncmFtQ3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYlwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkUHJvZ3JhbUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkUHJvZ3JhbSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uUHJvZ3JhbVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLW1pZCB2eC1wci0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nICpuZ0lmPVwiIWNhdGVnb3J5TG9hZGVyICYmICFwcm9ncmFtTG9hZGVyXCIgIFtoZWFkZXJUZXh0XT1cIidQcm9ncmFtcydcIiBbY2F0ZWdvcmllc109XCJjYXRlZ29yeURhdGFcIiAgW25hbWVEaXNwbGF5S2V5XT1cIidpdGVtX25hbWUnXCIgIFtjdXJyZW50UGFnZV09XCJjYXRlZ29yeUN1cnJlbnRQYWdlXCIgW3NlbGVjdGVkQ2F0ZWdvcnlJZHNdPVwic2VsZWN0ZWRDYXRlZ29yeUlkc1wiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFtzZWxlY3RlZFByb2dyYW1BbmRSZXNwXT1cInNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BcIiAoYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeSk9XCJhY3RpdmVTZWxlY3RlZFN1YkNhdGVnb3J5KCRldmVudClcIiAob25DYXRlZ29yeVBhZ2VDaGFuZ2UpPVwib25TdWJDYXRlZ29yeVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1zdWItY2F0ZWdvcnktbGlzdGluZz5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cImNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+IC0tPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmICFjYXRlZ29yeUxvYWRlciAmJiAhcHJvZ3JhbUxvYWRlciAmJiByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCAhPT0gMFwiIFtoZWFkZXJUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzJ1wiIFtNT0RFXT1cIk1PREVcIiBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFthY3RpdmVDYXRlZ29yeV09XCJzZWxlY3RlZENhdGVnb3J5XCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIFthbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzXT1cInNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyB8IHVuaXF1ZVJlc3BvbnNpYmlsaXRpZXNcIiAoY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk9XCJjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKCRldmVudClcIiBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiIFtwZXJQYWdlTGltaXRdPVwiMzBcIiBbdG90YWxMaXN0RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGE/LnRvdGFsX2l0ZW1zXCIgW3RvdGFsUGFnZXNdPVwicmVzcG9uc2liaWxpdHlEYXRhPy50b3RhbF9wYWdlc1wiIChnZXRVcGRhdGVkRGF0YUxpc3QpPVwiZ2V0VXBkYXRlZERhdGFMaXN0KCRldmVudClcIiA+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICEocmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlcilcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiKCFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGgpXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzPy5sZW5ndGggPyAoc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzIHwgdW5pcXVlUmVzcG9uc2liaWxpdGllcyA6ICdlbnRpcmVPYmplY3QnKSA6IFtdXCIgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ25hbWUnXCIgW3Npbmd1bGFyVGV4dF09XCInUmVzcG9uc2liaWxpdHkgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ1Jlc3BvbnNpYmlsaXRpZXMgc2VsZWN0ZWQnXCIgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIj48L2FwcC1mbG9hdGluZy1iYXI+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|