vcomply-workflow-engine 2.9.60 → 2.9.62
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/bundles/vcomply-workflow-engine.umd.js +1062 -877
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +1 -1
- package/esm2015/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.js +1 -1
- package/esm2015/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.js +1 -1
- package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
- package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
- package/esm2015/lib/more-option/more-option.component.js +15 -17
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.js +234 -0
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.js +223 -0
- package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngsummary.json +1 -0
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.js +54 -0
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.js +215 -0
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngsummary.json +1 -0
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.js +40 -3
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngfactory.js +24 -408
- package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
- package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.js +27 -14
- package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.ngfactory.js +4 -4
- package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/link-program/restapi.service.js +8 -6
- package/esm2015/lib/sharedComponents/no-data/no-data.component.js +4 -2
- package/esm2015/lib/sharedComponents/no-data/no-data.component.ngfactory.js +1 -1
- package/esm2015/lib/sharedComponents/no-data/no-data.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.js +65 -354
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.ngfactory.js +59 -28
- package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.ngsummary.json +1 -1
- package/esm2015/lib/ui-kit/directive/directive.module.js +19 -0
- package/esm2015/lib/ui-kit/directive/directive.module.ngfactory.js +12 -0
- package/esm2015/lib/ui-kit/directive/directive.module.ngsummary.json +1 -0
- package/esm2015/lib/ui-kit/directive/stop-propagation.directive.js +16 -0
- package/esm2015/lib/ui-kit/directive/stop-propagation.directive.ngsummary.json +1 -0
- package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +1 -1
- package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +1 -1
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +1 -1
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +1 -1
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +43 -42
- package/esm2015/lib/workflow-engine.module.js +11 -9
- package/esm2015/lib/workflow-engine.module.ngfactory.js +3 -2
- package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
- package/esm2015/lib/workflow-interfaces/create-policy-form.js +1 -1
- package/esm2015/lib/workflow-policy/workflow-policy.component.js +100 -39
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +389 -370
- package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +10 -7
- package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.ngfactory.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +23 -8
- package/esm2015/lib/workflow-program/workflow-program.component.js +1 -1
- package/esm2015/lib/workflow-risk/workflow-risk.component.js +1 -1
- package/esm2015/lib/workflow-services/policy.service.js +49 -19
- package/esm2015/lib/workflow-services/policy.service.ngsummary.json +1 -1
- package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
- package/esm2015/vcomply-workflow-engine.js +302 -298
- package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +754 -585
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +62 -0
- package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.d.ts +1 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +19 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.d.ts +1 -0
- package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +15 -1
- package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +3 -0
- package/lib/sharedComponents/link-program/restapi.service.d.ts +3 -3
- package/lib/sharedComponents/no-data/no-data.component.d.ts +3 -2
- package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +14 -3
- package/lib/ui-kit/directive/directive.module.d.ts +2 -0
- package/lib/ui-kit/directive/directive.module.ngfactory.d.ts +3 -0
- package/lib/ui-kit/directive/directive.module.ts +17 -0
- package/lib/ui-kit/directive/stop-propagation.directive.d.ts +3 -0
- package/lib/ui-kit/directive/stop-propagation.directive.spec.ts +8 -0
- package/lib/ui-kit/directive/stop-propagation.directive.ts +15 -0
- package/lib/workflow-interfaces/create-policy-form.d.ts +3 -4
- package/lib/workflow-policy/workflow-policy.component.d.ts +10 -1
- package/lib/workflow-services/policy.service.d.ts +2 -0
- package/package.json +2 -2
- package/vcomply-workflow-engine.d.ts +301 -297
- package/vcomply-workflow-engine.metadata.json +1 -1
package/esm2015/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.js
CHANGED
|
@@ -126,7 +126,7 @@ export class PaginationComponent {
|
|
|
126
126
|
PaginationComponent.decorators = [
|
|
127
127
|
{ type: Component, args: [{
|
|
128
128
|
selector: 'vui-pagination',
|
|
129
|
-
template: "<div class=\"pagination-sec-ds vx-d-flex vx-align-center vx-pb-2\" [class.right-align]=\"false\">\r\n <div class=\"left vx-label-txt vx-fs-12 vx-fw-400 vx-tt-uppercase vx-lh-6\">\r\n <ng-container *ngIf=\"showPageDetail\">SHOWING {{ from }} - {{to}} OF {{total}} RECORDS</ng-container>\r\n <div class=\"pagination-box\" *ngIf=\"false\">\r\n <ul class=\"vx-d-flex vx-align-center vx-m-0 vx-p-0\">\r\n <li class=\"vx-d-flex\"><button class=\"vx-d-inline-flex vx-align-center vx-justify-center vx-label-txt vx-fw-400 vx-fs-11 vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\" [class.active]=\"true\">All</button></li>\r\n <li class=\"vx-d-flex\">\r\n <button class=\"vx-d-inline-flex vx-align-center vx-justify-center vx-label-txt vx-fw-400 vx-fs-11 vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\" [class.active]=\"false\">A</button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"right vx-d-flex vx-align-center\" *ngIf=\"totalPage > 1\">\r\n <div class=\"pagination-box\">\r\n <ul class=\"vx-d-flex vx-align-center vx-m-0 vx-p-0\">\r\n <li class=\"vx-d-flex vx-mr-1\">\r\n <button class=\"vx-m-0\" [class.disabled]=\"currPage === 1\" (click)=\"currentIndexUpdate(-1)\">\r\n <i class=\"icons vx-fs-10\"></i>\r\n </button>\r\n </li>\r\n\r\n <li class=\"vx-d-flex\" *ngFor=\"let page of displayArray; let i = index \">\r\n <button (click)=\"currentIndexAssign(page)\" class=\"vx-label-txt vx-fs-11 vx-fw-400 vx-pl-1 vx-pr-1 vx-d-inline-flex vx-align-center vx-justify-center vx-m-0 vx-ml-1\"\r\n [class.active]=\"currPage == page\">\r\n {{page}}\r\n </button>\r\n </li>\r\n\r\n <li class=\"vx-d-flex vx-ml-2\">\r\n <button class=\"vx-m-0\" [class.disabled]=\"currPage === totalPage\" (click)=\"currentIndexUpdate(1)\">\r\n <i class=\"icons vx-fs-10\"></i>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div class=\"goto-page vx-d-flex vx-align-center vx-ml-2\">\r\n <div class=\"goto-page-text vx-label-txt vx-fs-11 vx-tt-uppercase vx-d-block vx-pl-2 vx-pr-2\">GO TO</div>\r\n <div class=\"goto-page-input\">\r\n <input (ngModelChange)=\"enterPressed = false\" [class.invalid]=\"enterPageNo > totalPage && enterPressed\"\r\n type=\"number\"\r\n [(ngModel)]=\"enterPageNo\"\r\n (keyup)=\"onEnterPress($event)\"\r\n placeholder=\"Page No.\" />\r\n <button>\r\n <img src=\"
|
|
129
|
+
template: "<div class=\"pagination-sec-ds vx-d-flex vx-align-center vx-pb-2\" [class.right-align]=\"false\">\r\n <div class=\"left vx-label-txt vx-fs-12 vx-fw-400 vx-tt-uppercase vx-lh-6\">\r\n <ng-container *ngIf=\"showPageDetail\">SHOWING {{ from }} - {{to}} OF {{total}} RECORDS</ng-container>\r\n <div class=\"pagination-box\" *ngIf=\"false\">\r\n <ul class=\"vx-d-flex vx-align-center vx-m-0 vx-p-0\">\r\n <li class=\"vx-d-flex\"><button class=\"vx-d-inline-flex vx-align-center vx-justify-center vx-label-txt vx-fw-400 vx-fs-11 vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\" [class.active]=\"true\">All</button></li>\r\n <li class=\"vx-d-flex\">\r\n <button class=\"vx-d-inline-flex vx-align-center vx-justify-center vx-label-txt vx-fw-400 vx-fs-11 vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\" [class.active]=\"false\">A</button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"right vx-d-flex vx-align-center\" *ngIf=\"totalPage > 1\">\r\n <div class=\"pagination-box\">\r\n <ul class=\"vx-d-flex vx-align-center vx-m-0 vx-p-0\">\r\n <li class=\"vx-d-flex vx-mr-1\">\r\n <button class=\"vx-m-0\" [class.disabled]=\"currPage === 1\" (click)=\"currentIndexUpdate(-1)\">\r\n <i class=\"icons vx-fs-10\"></i>\r\n </button>\r\n </li>\r\n\r\n <li class=\"vx-d-flex\" *ngFor=\"let page of displayArray; let i = index \">\r\n <button (click)=\"currentIndexAssign(page)\" class=\"vx-label-txt vx-fs-11 vx-fw-400 vx-pl-1 vx-pr-1 vx-d-inline-flex vx-align-center vx-justify-center vx-m-0 vx-ml-1\"\r\n [class.active]=\"currPage == page\">\r\n {{page}}\r\n </button>\r\n </li>\r\n\r\n <li class=\"vx-d-flex vx-ml-2\">\r\n <button class=\"vx-m-0\" [class.disabled]=\"currPage === totalPage\" (click)=\"currentIndexUpdate(1)\">\r\n <i class=\"icons vx-fs-10\"></i>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div class=\"goto-page vx-d-flex vx-align-center vx-ml-2\">\r\n <div class=\"goto-page-text vx-label-txt vx-fs-11 vx-tt-uppercase vx-d-block vx-pl-2 vx-pr-2\">GO TO</div>\r\n <div class=\"goto-page-input\">\r\n <input (ngModelChange)=\"enterPressed = false\" [class.invalid]=\"enterPageNo > totalPage && enterPressed\"\r\n type=\"number\"\r\n [(ngModel)]=\"enterPageNo\"\r\n (keyup)=\"onEnterPress($event)\"\r\n placeholder=\"Page No.\" />\r\n <button>\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/enter-icon.svg\" alt=\"\" />\r\n </button>\r\n </div>\r\n <div class=\"goto-page-text vx-label-txt vx-fs-11 vx-tt-uppercase vx-d-block vx-pl-2 vx-pr-2\">OF {{totalPage}}</div>\r\n </div>\r\n </div>\r\n</div>\r\n",
|
|
130
130
|
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/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.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/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";.pagination-sec-ds{border-radius:.125rem .125rem 0 0;justify-content:space-between}.pagination-sec-ds.right-align{justify-content:flex-end}.pagination-sec-ds .left{width:auto}.pagination-sec-ds .left .pagination-box ul li{list-style:none}.pagination-sec-ds .left .pagination-box ul li+li{margin-left:1rem}.pagination-sec-ds .left .pagination-box ul li button{border:1px solid #BCBCBC;background:#fff;border-radius:.125rem;height:1.25rem;min-width:1.25rem;outline:none;cursor:pointer;line-height:1.125rem}.pagination-sec-ds .left .pagination-box ul li button.active,.pagination-sec-ds .left .pagination-box ul li button:hover{border-color:#1e5dd3;background:#1E5DD3;color:#fff}.pagination-sec-ds .left .pagination-box ul li button.disabled{filter:grayscale(100%);pointer-events:none;opacity:1;color:unset!important;border:1px solid #BCBCBC}.pagination-sec-ds .left .pagination-box ul li button i{font-size:.5rem;width:.8125rem;height:.8125rem;line-height:.8125rem}.pagination-sec-ds .right{width:auto}.pagination-sec-ds .right .pagination-box ul li{list-style:none}.pagination-sec-ds .right .pagination-box ul li:first-child{height:1.5rem}.pagination-sec-ds .right .pagination-box ul li:first-child button{color:#4681ef;position:relative}.pagination-sec-ds .right .pagination-box ul li:first-child button.disabled{color:#bcbcbc!important}.pagination-sec-ds .right .pagination-box ul li:last-child{height:1.5rem}.pagination-sec-ds .right .pagination-box ul li:last-child button{color:#4681ef;position:relative}.pagination-sec-ds .right .pagination-box ul li:last-child button.disabled{color:#bcbcbc!important}.pagination-sec-ds .right .pagination-box ul li button{border:1px solid #BCBCBC;background:#fff;border-radius:.125rem;height:1.5rem;min-width:1.5rem;outline:none;cursor:pointer;line-height:.75rem}.pagination-sec-ds .right .pagination-box ul li button.active,.pagination-sec-ds .right .pagination-box ul li button:hover{border-color:#1e5dd3;color:#4681ef}.pagination-sec-ds .right .pagination-box ul li button.disabled{filter:grayscale(100%);pointer-events:none;opacity:1;color:unset!important;border:1px solid #BCBCBC}.pagination-sec-ds .right .pagination-box ul li button.disable{pointer-events:none}.pagination-sec-ds .right .goto-page{background:#fff;border:1px solid #BCBCBC;border-radius:.125rem;height:1.5625rem}.pagination-sec-ds .right .goto-page .goto-page-text{border-right:1px solid #BCBCBC;height:1.4375rem;line-height:1.4375rem}.pagination-sec-ds .right .goto-page .goto-page-text:last-of-type{border-right:none;border-left:1px solid #BCBCBC}.pagination-sec-ds .right .goto-page .goto-page-input{position:relative}.pagination-sec-ds .right .goto-page .goto-page-input input{-moz-appearance:textfield;background:transparent;border:none;color:#161b2f;font-size:.6875rem;text-transform:uppercase;padding:0 1.5625rem 0 .3125rem;width:5.9375rem;height:1.4375rem;position:relative;top:-.0625rem}.pagination-sec-ds .right .goto-page .goto-page-input input::-webkit-inner-spin-button,.pagination-sec-ds .right .goto-page .goto-page-input input::-webkit-outer-spin-button{-webkit-appearance:none}.pagination-sec-ds .right .goto-page .goto-page-input input:focus{outline:none}.pagination-sec-ds .right .goto-page .goto-page-input input.invalid{border:1px solid #d93b41;position:relative;top:-1px;height:1.5625rem}.pagination-sec-ds .right .goto-page .goto-page-input button{background:transparent;border:none;position:absolute;right:.1875rem;top:.25rem;cursor:pointer;padding:0;height:1.125rem;width:1.1875rem;line-height:1.375rem}.pagination-sec-ds .right .goto-page .goto-page-input button img{width:.75rem;height:.75rem}\n"]
|
|
131
131
|
},] }
|
|
132
132
|
];
|
|
@@ -142,4 +142,4 @@ PaginationComponent.propDecorators = {
|
|
|
142
142
|
pageInSingleView: [{ type: Input }],
|
|
143
143
|
pageChanged: [{ type: Output }]
|
|
144
144
|
};
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL3BhZ2luYXRpb24vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPekcsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUI7UUF0QkEsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNKLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixVQUFLLEdBQVEsR0FBRyxDQUFDO1FBQ2pCLG1CQUFjLEdBQVksSUFBSSxDQUFBO1FBQzlCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFVdkIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUE7UUFDakUsaUJBQVksR0FBUSxFQUFFLENBQUE7UUFFN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFFaEIsQ0FBQztJQWhCakIsSUFBMEIsT0FBTyxDQUFDLElBQVM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUF3QixZQUFZLENBQUMsSUFBUztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUs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LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2dWktcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgY3VyclBhZ2UgPSAxO1xyXG4gIEBJbnB1dCgpIGZyb206IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgdG86IG51bWJlciA9IDMwO1xyXG4gIEBJbnB1dCgpIHRvdGFsOiBhbnkgPSAxMDA7XHJcbiAgQElucHV0KCkgc2hvd1BhZ2VEZXRhaWw6IGJvb2xlYW4gPSB0cnVlXHJcbiAgQElucHV0KCkgdG90YWxQYWdlOiBudW1iZXIgPSAxNTtcclxuICBASW5wdXQoJ2N1cnJlbnRQYWdlJykgc2V0IHNldFBhZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJQYWdlID0gcGFnZTtcclxuICAgIHRoaXMuZGlzcGxheUFycmF5VXBkYXRlKHBhZ2UpO1xyXG4gIH1cclxuICBASW5wdXQoJ3RvdGFsUGFnZScpIHNldCBzZXRUb3RhbFBhZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLnRvdGFsUGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZShwYWdlKTtcclxuICAgIHRoaXMuc3RhcnRBcnJheSgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBwYWdlSW5TaW5nbGVWaWV3OiBudW1iZXIgPSA1O1xyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxyXG4gIHB1YmxpYyBkaXNwbGF5QXJyYXk6IGFueSA9IFtdXHJcbiAgZW50ZXJQYWdlTm8hOiBudW1iZXIgfCBhbnk7XHJcbiAgZW50ZXJQcmVzc2VkID0gZmFsc2U7XHJcbiAgaXNJbnZhbGlkSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2hhbmdlXCIsIGNoYW5nZXMpXHJcbiAgICAvL3RoaXMuZGlzcGxheUFycmF5VXBkYXRlKHRoaXMuY3VyclBhZ2UpO1xyXG4gICAgLy90aGlzLnN0YXJ0QXJyYXkoKTtcclxuICB9XHJcblxyXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgdG8gZ2VuZXJhdGUgdGhlIGFycmF5IHRvIGRpc3BsYXkgdGhlIHBhZ2luYXRpb24gYXQgdGhlIGJlZ2lubmluZ1xyXG4gIHN0YXJ0QXJyYXkoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgaWYgKHRoaXMudG90YWxQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnRvdGFsUGFnZTsgKytpKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhZ2VJblNpbmdsZVZpZXcgPCB0aGlzLnRvdGFsUGFnZSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXc7ICsraSkge1xyXG4gICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdXBkYXRlIHRoZSBjdXJyZW50IHBhZ2Ugd2hpbGUgY2xpY2tpbmcgcHJldiBvciBuZXh0IGJ1dHRvblxyXG4gIGN1cnJlbnRJbmRleFVwZGF0ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJQYWdlICs9IHZhbHVlXHJcbiAgICBpZiAodGhpcy5jdXJyUGFnZSA8PSB0aGlzLnRvdGFsUGFnZSAmJiB0aGlzLmN1cnJQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJiB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZSh0aGlzLmN1cnJQYWdlKVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgICB0aGlzLnN0YXJ0QXJyYXkoKVxyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHRoaXMuY3VyclBhZ2UpO1xyXG4gICAgdGhpcy5lbnRlclBhZ2VObz1udWxsO1xyXG4gICAgdGhpcy5lbnRlclByZXNzZWQgPSBmYWxzZTtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgdGhlIGN1cnJlbnQgcGFnZSB3aGlsZSBjbGlja2luZyBvbiBhbnkgcGFnZSBudW1iZXJcclxuICBjdXJyZW50SW5kZXhBc3NpZ24odmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5jdXJyUGFnZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuY3VyclBhZ2UgPD0gdGhpcy50b3RhbFBhZ2UgJiYgdGhpcy5jdXJyUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlldyAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikgJiYgdGhpcy50b3RhbFBhZ2UgPiB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5QXJyYXlVcGRhdGUodGhpcy5jdXJyUGFnZSlcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyUGFnZSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcclxuICAgICAgdGhpcy5zdGFydEFycmF5KClcclxuICAgIH1cclxuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh0aGlzLmN1cnJQYWdlKTtcclxuICAgIHRoaXMuZW50ZXJQYWdlTm89bnVsbDtcclxuICAgIHRoaXMuZW50ZXJQcmVzc2VkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9OdW1iZXIgdmFsaWRhdGlvbiBjaGVja1xyXG4gIHZhbGlkYXRlTnVtYmVyKGU6IGFueSkge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC9eLT8oMHxbMS05XVxcZCopPyQvO1xyXG4gICAgcmV0dXJuIHBhdHRlcm4udGVzdChlKTtcclxuICB9XHJcblxyXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIHRoZSBjdXJyZW50IHBhZ2Ugd2hpbGUgZW50ZXJpbmcgdGhlIHBhZ2UgbnVtYmVyXHJcbiAgb25FbnRlclByZXNzKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2VudGVyJykge1xyXG4gICAgICB0aGlzLmVudGVyUHJlc3NlZCA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLmVudGVyUGFnZU5vIDw9IHRoaXMudG90YWxQYWdlICYmIHRoaXMuZW50ZXJQYWdlTm8gPiAwICYmIHRoaXMuZW50ZXJQYWdlTm8gJiYgdGhpcy52YWxpZGF0ZU51bWJlcih0aGlzLmVudGVyUGFnZU5vKSkge1xyXG4gICAgICAgIHRoaXMuY3VyclBhZ2UgPSB0aGlzLmVudGVyUGFnZU5vO1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMudG90YWxQYWdlICYmIHRoaXMuY3VyclBhZ2UgPiB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLSBNYXRoLmZsb29yKHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDIpICYmIHRoaXMudG90YWxQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3KSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZSh0aGlzLmN1cnJQYWdlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VyclBhZ2UgPD0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3KSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5zdGFydEFycmF5KCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQodGhpcy5jdXJyUGFnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIG1hbmlwdWxhdGluZyB0aGUgZGlzcGxheUFycmF5XHJcbiAgZGlzcGxheUFycmF5VXBkYXRlKGluZGV4OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmN1cnJQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJiB0aGlzLmN1cnJQYWdlIDw9IHRoaXMudG90YWxQYWdlIC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJiB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICBpZiAodGhpcy5wYWdlSW5TaW5nbGVWaWV3ICUgMiAhPSAwKSB7XHJcbiAgICAgICAgbGV0IGFwcGVuZEVsZW1lbnQgPSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyO1xyXG4gICAgICAgIGFwcGVuZEVsZW1lbnQgPSBNYXRoLmZsb29yKGFwcGVuZEVsZW1lbnQpO1xyXG4gICAgICAgIGxldCBzdGFydEluZGV4ID0gdGhpcy5jdXJyUGFnZSAtIGFwcGVuZEVsZW1lbnQ7XHJcbiAgICAgICAgbGV0IGVuZEluZGV4ID0gdGhpcy5jdXJyUGFnZSArIGFwcGVuZEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPD0gZW5kSW5kZXg7ICsraSkge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wYWdlSW5TaW5nbGVWaWV3ICUgMiA9PT0gMCkge1xyXG4gICAgICAgIGxldCBhcHBlbmRFbGVtZW50ID0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMjtcclxuICAgICAgICBsZXQgc3RhcnRJbmRleCA9IHRoaXMuY3VyclBhZ2UgLSBhcHBlbmRFbGVtZW50O1xyXG4gICAgICAgIGxldCBlbmRJbmRleCA9IHRoaXMuY3VyclBhZ2UgKyBhcHBlbmRFbGVtZW50IC0gMTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDw9IGVuZEluZGV4OyArK2kpIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheUFycmF5LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3VyclBhZ2UgPiB0aGlzLnRvdGFsUGFnZSAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IHRoaXMudG90YWxQYWdlIC0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3ICsgMTsgaSA8PSB0aGlzLnRvdGFsUGFnZTsgKytpKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNwbGF5QXJyYXkgPSB0aGlzLmRpc3BsYXlBcnJheS5maWx0ZXIoKGVsZTphbnkpPT5lbGUgPiAwKVxyXG4gIH1cclxuIFxyXG5cclxufVxyXG4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL3BhZ2luYXRpb24vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPekcsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUI7UUF0QkEsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNKLFNBQUksR0FBVyxDQUFDLENBQUM7UUFDakIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixVQUFLLEdBQVEsR0FBRyxDQUFDO1FBQ2pCLG1CQUFjLEdBQVksSUFBSSxDQUFBO1FBQzlCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFVdkIscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUE7UUFDakUsaUJBQVksR0FBUSxFQUFFLENBQUE7UUFFN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFFaEIsQ0FBQztJQWhCakIsSUFBMEIsT0FBTyxDQUFDLElBQVM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUF3QixZQUFZLENBQUMsSUFBUztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUs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LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2dWktcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgY3VyclBhZ2UgPSAxO1xyXG4gIEBJbnB1dCgpIGZyb206IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgdG86IG51bWJlciA9IDMwO1xyXG4gIEBJbnB1dCgpIHRvdGFsOiBhbnkgPSAxMDA7XHJcbiAgQElucHV0KCkgc2hvd1BhZ2VEZXRhaWw6IGJvb2xlYW4gPSB0cnVlXHJcbiAgQElucHV0KCkgdG90YWxQYWdlOiBudW1iZXIgPSAxNTtcclxuICBASW5wdXQoJ2N1cnJlbnRQYWdlJykgc2V0IHNldFBhZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJQYWdlID0gcGFnZTtcclxuICAgIHRoaXMuZGlzcGxheUFycmF5VXBkYXRlKHBhZ2UpO1xyXG4gIH1cclxuICBASW5wdXQoJ3RvdGFsUGFnZScpIHNldCBzZXRUb3RhbFBhZ2UocGFnZTogYW55KSB7XHJcbiAgICB0aGlzLnRvdGFsUGFnZSA9IHBhZ2U7XHJcbiAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZShwYWdlKTtcclxuICAgIHRoaXMuc3RhcnRBcnJheSgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBwYWdlSW5TaW5nbGVWaWV3OiBudW1iZXIgPSA1O1xyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxyXG4gIHB1YmxpYyBkaXNwbGF5QXJyYXk6IGFueSA9IFtdXHJcbiAgZW50ZXJQYWdlTm8hOiBudW1iZXIgfCBhbnk7XHJcbiAgZW50ZXJQcmVzc2VkID0gZmFsc2U7XHJcbiAgaXNJbnZhbGlkSW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2hhbmdlXCIsIGNoYW5nZXMpXHJcbiAgICAvL3RoaXMuZGlzcGxheUFycmF5VXBkYXRlKHRoaXMuY3VyclBhZ2UpO1xyXG4gICAgLy90aGlzLnN0YXJ0QXJyYXkoKTtcclxuICB9XHJcblxyXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgdG8gZ2VuZXJhdGUgdGhlIGFycmF5IHRvIGRpc3BsYXkgdGhlIHBhZ2luYXRpb24gYXQgdGhlIGJlZ2lubmluZ1xyXG4gIHN0YXJ0QXJyYXkoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgaWYgKHRoaXMudG90YWxQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnRvdGFsUGFnZTsgKytpKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhZ2VJblNpbmdsZVZpZXcgPCB0aGlzLnRvdGFsUGFnZSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXc7ICsraSkge1xyXG4gICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdXBkYXRlIHRoZSBjdXJyZW50IHBhZ2Ugd2hpbGUgY2xpY2tpbmcgcHJldiBvciBuZXh0IGJ1dHRvblxyXG4gIGN1cnJlbnRJbmRleFVwZGF0ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJQYWdlICs9IHZhbHVlXHJcbiAgICBpZiAodGhpcy5jdXJyUGFnZSA8PSB0aGlzLnRvdGFsUGFnZSAmJiB0aGlzLmN1cnJQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJiB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZSh0aGlzLmN1cnJQYWdlKVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgICB0aGlzLnN0YXJ0QXJyYXkoKVxyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KHRoaXMuY3VyclBhZ2UpO1xyXG4gICAgdGhpcy5lbnRlclBhZ2VObz1udWxsO1xyXG4gICAgdGhpcy5lbnRlclByZXNzZWQgPSBmYWxzZTtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgLy9GdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgdGhlIGN1cnJlbnQgcGFnZSB3aGlsZSBjbGlja2luZyBvbiBhbnkgcGFnZSBudW1iZXJcclxuICBjdXJyZW50SW5kZXhBc3NpZ24odmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5jdXJyUGFnZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuY3VyclBhZ2UgPD0gdGhpcy50b3RhbFBhZ2UgJiYgdGhpcy5jdXJyUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlldyAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikgJiYgdGhpcy50b3RhbFBhZ2UgPiB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5QXJyYXlVcGRhdGUodGhpcy5jdXJyUGFnZSlcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyUGFnZSA8PSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcclxuICAgICAgdGhpcy5zdGFydEFycmF5KClcclxuICAgIH1cclxuICAgIHRoaXMucGFnZUNoYW5nZWQuZW1pdCh0aGlzLmN1cnJQYWdlKTtcclxuICAgIHRoaXMuZW50ZXJQYWdlTm89bnVsbDtcclxuICAgIHRoaXMuZW50ZXJQcmVzc2VkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy9OdW1iZXIgdmFsaWRhdGlvbiBjaGVja1xyXG4gIHZhbGlkYXRlTnVtYmVyKGU6IGFueSkge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC9eLT8oMHxbMS05XVxcZCopPyQvO1xyXG4gICAgcmV0dXJuIHBhdHRlcm4udGVzdChlKTtcclxuICB9XHJcblxyXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIHRoZSBjdXJyZW50IHBhZ2Ugd2hpbGUgZW50ZXJpbmcgdGhlIHBhZ2UgbnVtYmVyXHJcbiAgb25FbnRlclByZXNzKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2VudGVyJykge1xyXG4gICAgICB0aGlzLmVudGVyUHJlc3NlZCA9IHRydWU7XHJcbiAgICAgIGlmICh0aGlzLmVudGVyUGFnZU5vIDw9IHRoaXMudG90YWxQYWdlICYmIHRoaXMuZW50ZXJQYWdlTm8gPiAwICYmIHRoaXMuZW50ZXJQYWdlTm8gJiYgdGhpcy52YWxpZGF0ZU51bWJlcih0aGlzLmVudGVyUGFnZU5vKSkge1xyXG4gICAgICAgIHRoaXMuY3VyclBhZ2UgPSB0aGlzLmVudGVyUGFnZU5vO1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJQYWdlIDw9IHRoaXMudG90YWxQYWdlICYmIHRoaXMuY3VyclBhZ2UgPiB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLSBNYXRoLmZsb29yKHRoaXMucGFnZUluU2luZ2xlVmlldyAvIDIpICYmIHRoaXMudG90YWxQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3KSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheVVwZGF0ZSh0aGlzLmN1cnJQYWdlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3VyclBhZ2UgPD0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3KSB7XHJcbiAgICAgICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5zdGFydEFycmF5KCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2VkLmVtaXQodGhpcy5jdXJyUGFnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIG1hbmlwdWxhdGluZyB0aGUgZGlzcGxheUFycmF5XHJcbiAgZGlzcGxheUFycmF5VXBkYXRlKGluZGV4OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmN1cnJQYWdlID4gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJiB0aGlzLmN1cnJQYWdlIDw9IHRoaXMudG90YWxQYWdlIC0gTWF0aC5mbG9vcih0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyKSAmJiB0aGlzLnRvdGFsUGFnZSA+IHRoaXMucGFnZUluU2luZ2xlVmlldykge1xyXG4gICAgICBpZiAodGhpcy5wYWdlSW5TaW5nbGVWaWV3ICUgMiAhPSAwKSB7XHJcbiAgICAgICAgbGV0IGFwcGVuZEVsZW1lbnQgPSB0aGlzLnBhZ2VJblNpbmdsZVZpZXcgLyAyO1xyXG4gICAgICAgIGFwcGVuZEVsZW1lbnQgPSBNYXRoLmZsb29yKGFwcGVuZEVsZW1lbnQpO1xyXG4gICAgICAgIGxldCBzdGFydEluZGV4ID0gdGhpcy5jdXJyUGFnZSAtIGFwcGVuZEVsZW1lbnQ7XHJcbiAgICAgICAgbGV0IGVuZEluZGV4ID0gdGhpcy5jdXJyUGFnZSArIGFwcGVuZEVsZW1lbnQ7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheUFycmF5ID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPD0gZW5kSW5kZXg7ICsraSkge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wYWdlSW5TaW5nbGVWaWV3ICUgMiA9PT0gMCkge1xyXG4gICAgICAgIGxldCBhcHBlbmRFbGVtZW50ID0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMjtcclxuICAgICAgICBsZXQgc3RhcnRJbmRleCA9IHRoaXMuY3VyclBhZ2UgLSBhcHBlbmRFbGVtZW50O1xyXG4gICAgICAgIGxldCBlbmRJbmRleCA9IHRoaXMuY3VyclBhZ2UgKyBhcHBlbmRFbGVtZW50IC0gMTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlBcnJheSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDw9IGVuZEluZGV4OyArK2kpIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheUFycmF5LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3VyclBhZ2UgPiB0aGlzLnRvdGFsUGFnZSAtIE1hdGguZmxvb3IodGhpcy5wYWdlSW5TaW5nbGVWaWV3IC8gMikpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5QXJyYXkgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IHRoaXMudG90YWxQYWdlIC0gdGhpcy5wYWdlSW5TaW5nbGVWaWV3ICsgMTsgaSA8PSB0aGlzLnRvdGFsUGFnZTsgKytpKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5QXJyYXkucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNwbGF5QXJyYXkgPSB0aGlzLmRpc3BsYXlBcnJheS5maWx0ZXIoKGVsZTphbnkpPT5lbGUgPiAwKVxyXG4gIH1cclxuIFxyXG5cclxufVxyXG4iXX0=
|
|
@@ -51,9 +51,9 @@ function View_PaginationComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(
|
|
|
51
51
|
} if (("keyup" === en)) {
|
|
52
52
|
var pd_8 = (_co.onEnterPress($event) !== false);
|
|
53
53
|
ad = (pd_8 && ad);
|
|
54
|
-
} return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i3.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i3.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(19, 16384, null, 0, i3.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i3.DefaultValueAccessor, i3.NumberValueAccessor]), i1.ɵdid(21, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i1.ɵdid(23, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), (_l()(), i1.ɵeld(24, 0, null, null, 1, "button", [], null, null, null, null, null)), (_l()(), i1.ɵeld(25, 0, null, null, 0, "img", [["alt", ""], ["src", "
|
|
54
|
+
} return ad; }, null, null)), i1.ɵdid(18, 16384, null, 0, i3.DefaultValueAccessor, [i1.Renderer2, i1.ElementRef, [2, i3.COMPOSITION_BUFFER_MODE]], null, null), i1.ɵdid(19, 16384, null, 0, i3.NumberValueAccessor, [i1.Renderer2, i1.ElementRef], null, null), i1.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0, p1_0) { return [p0_0, p1_0]; }, [i3.DefaultValueAccessor, i3.NumberValueAccessor]), i1.ɵdid(21, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i1.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i1.ɵdid(23, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), (_l()(), i1.ɵeld(24, 0, null, null, 1, "button", [], null, null, null, null, null)), (_l()(), i1.ɵeld(25, 0, null, null, 0, "img", [["alt", ""], ["src", "https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/enter-icon.svg"]], null, null, null, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 1, "div", [["class", "goto-page-text vx-label-txt vx-fs-11 vx-tt-uppercase vx-d-block vx-pl-2 vx-pr-2"]], null, null, null, null, null)), (_l()(), i1.ɵted(27, null, ["OF ", ""]))], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.displayArray; _ck(_v, 8, 0, currVal_1); var currVal_11 = _co.enterPageNo; _ck(_v, 21, 0, currVal_11); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.currPage === 1); _ck(_v, 4, 0, currVal_0); var currVal_2 = (_co.currPage === _co.totalPage); _ck(_v, 10, 0, currVal_2); var currVal_3 = ((_co.enterPageNo > _co.totalPage) && _co.enterPressed); var currVal_4 = i1.ɵnov(_v, 23).is("untouched"); var currVal_5 = i1.ɵnov(_v, 23).is("touched"); var currVal_6 = i1.ɵnov(_v, 23).is("pristine"); var currVal_7 = i1.ɵnov(_v, 23).is("dirty"); var currVal_8 = i1.ɵnov(_v, 23).is("valid"); var currVal_9 = i1.ɵnov(_v, 23).is("invalid"); var currVal_10 = i1.ɵnov(_v, 23).is("pending"); _ck(_v, 17, 0, currVal_3, currVal_4, currVal_5, currVal_6, currVal_7, currVal_8, currVal_9, currVal_10); var currVal_12 = _co.totalPage; _ck(_v, 27, 0, currVal_12); }); }
|
|
55
55
|
export function View_PaginationComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 7, "div", [["class", "pagination-sec-ds vx-d-flex vx-align-center vx-pb-2"]], [[2, "right-align", null]], null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 4, "div", [["class", "left vx-label-txt vx-fs-12 vx-fw-400 vx-tt-uppercase vx-lh-6"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PaginationComponent_1)), i1.ɵdid(3, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PaginationComponent_2)), i1.ɵdid(5, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_PaginationComponent_3)), i1.ɵdid(7, 16384, null, 0, i2.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_1 = _co.showPageDetail; _ck(_v, 3, 0, currVal_1); var currVal_2 = false; _ck(_v, 5, 0, currVal_2); var currVal_3 = (_co.totalPage > 1); _ck(_v, 7, 0, currVal_3); }, function (_ck, _v) { var currVal_0 = false; _ck(_v, 0, 0, currVal_0); }); }
|
|
56
56
|
export function View_PaginationComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "vui-pagination", [], null, null, null, View_PaginationComponent_0, RenderType_PaginationComponent)), i1.ɵdid(1, 573440, null, 0, i4.PaginationComponent, [], null, null)], null, null); }
|
|
57
57
|
var PaginationComponentNgFactory = i1.ɵccf("vui-pagination", i4.PaginationComponent, View_PaginationComponent_Host_0, { from: "from", to: "to", total: "total", showPageDetail: "showPageDetail", setPage: "currentPage", setTotalPage: "totalPage", pageInSingleView: "pageInSingleView" }, { pageChanged: "pageChanged" }, []);
|
|
58
58
|
export { PaginationComponentNgFactory as PaginationComponentNgFactory };
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQubmdmYWN0b3J5LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs4RENFUSw2RUFBb0csS0FBL0Qsa1BBQWdEOzhEQUNyRix1R0FPTSxLQU5GLCtIQUtLLEtBSkQsaUdBQXVNLEtBQWpMLHNPQUE0SyxLQUFaLGdDQUFHLE1BQ3pMLGlHQUVLLEtBREQsc09BQTJLLEtBQVYsOEJBQUMsaUNBRk4sb0JBQXFCLEVBQS9KLFlBQTRLLEVBQWxDLFNBQXFCLEdBRXZDLHFCQUFzQixFQUFoSyxZQUEySyxFQUFqQyxTQUFzQjs4REFlcEssaUdBS0ssS0FKRCxrUkFHUyxZQUhEOzt3QkFBa0M7TUFBMUMsd0JBR1MsS0FGMkIsa0NBRXBDLHlEQUZFLG1DQUFpQyxxQkFEbkMsWUFHUyxFQUZQLFNBQWlDLEdBQUMsNkRBRXBDOzhEQWJoQix5SEFzQ00sS0FyQ0Ysd0dBcUJNLEtBcEJGLGdJQW1CSyxLQWxCRCx5R0FJSyxLQUhELHlLQUVTLFlBRmlEOzt3QkFBZ0M7TUFBMUYsd0JBRVMsS0FETCxxR0FBc0MsS0FBWixtQ0FBUSxNQUkxQyxpTkFLSyxJQUVMLHlHQUlLLEtBSEQsMEtBRVMsWUFGNEQ7O3dCQUErQjtNQUFwRyx3QkFFUyxLQURMLHNHQUFzQyxLQUFaLG1DQUFRLE1BTWxELHNJQWFNLEtBWkYseUtBQXdHLEtBQVgsa0NBQUssTUFDbEcseUdBU00sS0FSRjs7Ozs7Ozs7Ozs7Ozs7Ozs7d0JBSXlCO01BSmxCOzt3QkFBc0M7TUFFN0M7O3dCQUF5QjtNQUN6Qjs7d0JBQThCO01BSDlCLGdyQkFJeUIsSUFDekIsZ0ZBRVMsS0FETCxzTEFBc0csS0FHOUcseUtBQW1ILEtBQXRCLG9DQUFnQixtREEzQm5GLG1CQUFpRCxlQUF2RSxZQUtLLEVBTGlCLFNBQWlELEdBb0J2RSxvQkFBeUIsY0FGekIsYUFJeUIsRUFGekIsVUFBeUIsbURBekJHLG1DQUFpQyxHQUF6RCxZQUVTLEVBRmUsU0FBaUMsR0FhL0IscUNBQXlDLGFBQW5FLGFBRVMsRUFGaUIsU0FBeUMsR0FVekIseURBQXlELGdCQUF2RyxzVkFJeUIsRUFKcUIsU0FBeUQsRUFBdkcsNEVBSXlCLEdBS2dFLHlEQUFnQjtxRUFqRHpILGtLQW9ETSxLQW5ERixxSkFVTSxLQVRGLG1MQUFvRyxJQUNwRyxtTEFPTSxJQUdWLG1MQXNDTSxpREFqRFksbUJBQXNCLGlCQUFwQyxZQUFvRyxFQUF0RixTQUFzQixHQUNSLHFCQUFhLEVBQXpDLFlBT00sRUFQc0IsU0FBYSxHQVVBLGtDQUFxQixHQUFsRSxZQXNDTSxFQXRDdUMsU0FBcUIsMkJBYkwscUJBQTJCLEVBQTVGLFlBb0RNLEVBcEQyRCxTQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLXNlYy1kcyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBiLTJcIiBbY2xhc3MucmlnaHQtYWxpZ25dPVwiZmFsc2VcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWxhYmVsLXR4dCB2eC1mcy0xMiB2eC1mdy00MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTZcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1BhZ2VEZXRhaWxcIj5TSE9XSU5HIHt7IGZyb20gfX0gLSB7e3RvfX0gT0Yge3t0b3RhbH19IFJFQ09SRFM8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdGlvbi1ib3hcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbS0wIHZ4LXAtMFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4XCI+PGJ1dHRvbiBjbGFzcz1cInZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxhYmVsLXR4dCB2eC1mdy00MDAgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTIgdngtcHItMiB2eC1tLTBcIiBbY2xhc3MuYWN0aXZlXT1cInRydWVcIj5BbGw8L2J1dHRvbj48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxhYmVsLXR4dCB2eC1mdy00MDAgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTIgdngtcHItMiB2eC1tLTBcIiBbY2xhc3MuYWN0aXZlXT1cImZhbHNlXCI+QTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJ0b3RhbFBhZ2UgPiAxXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tYm94XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbS0wIHZ4LXAtMFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4IHZ4LW1yLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidngtbS0wXCIgIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyUGFnZSA9PT0gMVwiIChjbGljayk9XCJjdXJyZW50SW5kZXhVcGRhdGUoLTEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTBcIj4mI3hlOTZiOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4XCIgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgZGlzcGxheUFycmF5OyBsZXQgaSA9IGluZGV4IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImN1cnJlbnRJbmRleEFzc2lnbihwYWdlKVwiICBjbGFzcz1cInZ4LWxhYmVsLXR4dCB2eC1mcy0xMSB2eC1mdy00MDAgdngtcGwtMSB2eC1wci0xIHZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LW0tMCB2eC1tbC0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiY3VyclBhZ2UgPT0gcGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3twYWdlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidngtZC1mbGV4IHZ4LW1sLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICBjbGFzcz1cInZ4LW0tMFwiICAgW2NsYXNzLmRpc2FibGVkXT1cImN1cnJQYWdlID09PSB0b3RhbFBhZ2VcIiAgKGNsaWNrKT1cImN1cnJlbnRJbmRleFVwZGF0ZSgxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEwXCI+JiN4ZTk3MDs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ290by1wYWdlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWwtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ290by1wYWdlLXRleHQgdngtbGFiZWwtdHh0IHZ4LWZzLTExIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWJsb2NrIHZ4LXBsLTIgdngtcHItMlwiPkdPIFRPPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3RvLXBhZ2UtaW5wdXRcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCAobmdNb2RlbENoYW5nZSk9XCJlbnRlclByZXNzZWQgPSBmYWxzZVwiIFtjbGFzcy5pbnZhbGlkXT1cImVudGVyUGFnZU5vID4gdG90YWxQYWdlICYmIGVudGVyUHJlc3NlZFwiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW50ZXJQYWdlTm9cIlxyXG4gICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uRW50ZXJQcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGFnZSBOby5cIiAvPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9lbnRlci1pY29uLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3RvLXBhZ2UtdGV4dCB2eC1sYWJlbC10eHQgdngtZnMtMTEgdngtdHQtdXBwZXJjYXNlIHZ4LWQtYmxvY2sgdngtcGwtMiB2eC1wci0yXCI+T0Yge3t0b3RhbFBhZ2V9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js
CHANGED
|
@@ -292,7 +292,7 @@ export class UserGroupListComponent {
|
|
|
292
292
|
UserGroupListComponent.decorators = [
|
|
293
293
|
{ type: Component, args: [{
|
|
294
294
|
selector: 'user-group-list',
|
|
295
|
-
template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'USER' ? (usersList| filter : searchKey)?.length : usersList?.length || userListInfo?.total_items}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'GROUP' ? (groupsList|search:searchKey:'group_name')?.length :groupsList?.length || groupListInfo?.total_items}}</span></button>\r\n </div>\r\n\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER' && !loading\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-3\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id):FromProgram\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-3\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-3\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\"></i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div>\r\n </ng-container>\r\n <div class=\"user-group-chip\" *ngIf=\"selectedUsers?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableUserIds?.includes(selectedUsers[0]?.member_id)\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedUsers[0]?.member_name}}</div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length > 1\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">+{{selectedUsers?.length - 1}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <!-- {{selectedGroups && selectedGroups?.length > 0 ?' & ':''}} -->\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':''}}</span>\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n </div>\r\n \r\n <div class=\"user-group-chip\" *ngIf=\"selectedGroups?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableGroupIds?.includes(selectedGroups[0]?.group_id)\" (click)=\"selectGroup({target:{checked:false}},selectedGroups[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedGroups[0]?.group_name}}</div>\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length > 1\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">+{{selectedGroups?.length - 1}}</div>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n \r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n \r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n \r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\"></i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\"></i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
|
|
295
|
+
template: "<div class=\"user-group-list\" [class.animate]=\"animation\">\r\n <div class=\"user-group-list-head\">\r\n <h3 class=\"user-group-list-title\">{{panelTitle}}</h3>\r\n </div>\r\n <div class=\"user-group-list-body\">\r\n <div class=\"user-group-list-body-inner\">\r\n <app-loader-inline *ngIf=\"loading\"></app-loader-inline>\r\n <div class=\"user-group-list-tab vx-d-flex vx-align-center vx-mb-2\" *ngIf=\"groupEnabled\">\r\n <button (click)=\"switchTab('USER')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'USER'\">USERS\r\n <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'USER' ? (usersList| filter : searchKey)?.length : usersList?.length || userListInfo?.total_items}}</span></button>\r\n <button (click)=\"switchTab('GROUP')\" class=\"tab-btn vx-fs-11 vx-fw-600 vx-paragraph-txt vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\" [class.active]=\"currentTab === 'GROUP'\">{{featureflag ? 'USER GROUPS':'GROUPS'}} <span class=\"vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-center vx-ml-2 vx-lh-4\">{{searchKey?.length && currentTab === 'GROUP' ? (groupsList|search:searchKey:'group_name')?.length :groupsList?.length || groupListInfo?.total_items}}</span></button>\r\n </div>\r\n\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input *ngIf=\"!featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search Group'}}\" />\r\n <input *ngIf=\"featureflag\" [(ngModel)]=\"searchKey\" type=\"text\" placeholder=\"{{currentTab === 'USER' ? 'Search User' :'Search User Group'}}\" />\r\n </div>\r\n\r\n <ng-container *ngIf=\"currentTab === 'USER' && !loading\">\r\n <ng-container *ngIf=\"(usersList|filter:searchKey) as users\">\r\n <vui-pagination *ngIf=\"userListInfo?.total_pages > 1 && usersList?.length !== userListInfo?.total_items\" [currentPage]=\"userCurrentPage\" [totalPage]=\"userListInfo?.total_pages\" (pageChanged)=\"userPageChange($event)\"></vui-pagination>\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"users?.length > 0;else nouser\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox *ngIf=\"!singleSelect\" #user [checked]=\"allUserSelected\" [disabled]=\"allUserSelectedDisabled\" (change)=\"selectAllUser($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!user?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <ng-container *ngFor=\"let user of users \" >\r\n <li class=\"vx-mb-3\" *ngIf=\"!singleSelect\" [appTooltip]=\"user |tooltipMessage: fromResponsibility:reviewerIds:overseerIds:assignorId:assigneeIds:'member_id':disabledIds?.includes(user?.member_id):FromProgram\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">\r\n <vui-checkbox (change)=\"selectItem($event,user)\" [disabled]=\"disabledIds?.includes(user?.member_id)\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"><div class=\"user-name\" >{{user?.member_name}}</div></vui-checkbox>\r\n </li>\r\n <li class=\"vx-mb-3\" *ngIf=\"singleSelect\">\r\n <app-cs-radio [name]=\"'radio-selector'\" (checkedEvent)=\"selectItemRadio($event,user)\"\r\n [name]=\"'rx-category'\" [checked]=\"selectedUserIds?.includes(user?.member_id)\"\r\n [appTooltip]=\"user?.member_email\" placement=\"bottom-left\"\r\n delay=\"0\" [tooltipMandatory]=\"true\">\r\n {{user?.member_name}}\r\n </app-cs-radio>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nouser>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No Users found.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentTab === 'GROUP'\">\r\n <ng-container *ngIf=\"(groupsList|search:searchKey:'group_name') as groups\">\r\n <div class=\"user-group-list-mid\" [class.with-pagination]=\"isPagination\">\r\n <ng-container *ngIf=\"groups?.length > 0; else nogroup\">\r\n <div class=\"user-list-select vx-mb-2\">\r\n <vui-checkbox #group [checked]=\"allGroupSelected\" [disabled]=\"allGroupSelectedDisabled\" (change)=\"selectAllGroup($event)\">\r\n <div class=\"user-name vx-fs-12 vx-fw-600 vx-label-txt vx-tt-none\">{{!group?.checked ? 'Select All' : 'Deselect All'}}</div>\r\n </vui-checkbox>\r\n </div>\r\n <div class=\"user-list-item\">\r\n <ul class=\"vx-m-0 vx-p-0 vx-d-flex\">\r\n <li class=\"vx-mb-3\" *ngFor=\"let group of groups\">\r\n <vui-checkbox (change)=\"selectGroup($event,group)\" [disabled]=\"nonRemovableGroupIds?.includes(group?.group_id)\" [checked]=\"selectedGroupIds?.includes(group?.group_id)\">\r\n <div class=\"user-name vx-d-flex vx-align-center vx-w-100\" [appTooltip]=\"group?.group_name\" placement=\"bottom-left\" delay=\"0\"\r\n [tooltipMandatory]=\"true\">\r\n <div class=\"group-name\">{{group?.group_name}} </div>\r\n <span class=\"counter vx-fs-9 vx-fw-600 vx-pl-1 vx-pr-1 vx-lh-3 vx-tt-uppercase\">{{group?.member_count}} {{group?.member_count > 1 ? 'USERS' :'USER'}}</span></div>\r\n </vui-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n <ng-template #nogroup>\r\n <app-no-data *ngIf=\"!loading\" [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"(searchKey?.length > 0 ?'No match found.':'No data to display.')\"></app-no-data>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"user-group-list-footer\">\r\n <vui-floating-bar *ngIf=\"(!singleSelect || (!singleSelect && selectedReviewer))\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\" (workflowTypeChanged) = \"workflowTypeChanged($event)\" [selectedWorkflow]=\"reviewerWorkflowType\" [showWorkflow]=\"selectedReviewer\" [groupSelected]=\"selectedGroups\" [mode]=\"mode\">\r\n <ng-container *ngIf=\"!groupEnabled\">\r\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\">\r\n <i class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n <span class=\"chipName vx-fs-11 vx-label-txt\" [appTooltip]=\"element?.member_name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{element?.member_name}}</span>\r\n <button class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4 greenBg\" appPopover (click)=\"groupDisable.popover()\" placement=\"left\" *ngIf=\"selectedUsers?.length>1\">+{{selectedUsers?.slice(1)?.length}}</button>\r\n </div>\r\n\r\n <!-- <div class=\"chip\" *ngFor=\"let element of selectedUsers?.slice(0,1);let i = index\"><i *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\" (click)=\"selectItem({target:{checked:false}},element)\" class=\"icons\"></i> <span>{{element?.member_name}}</span></div>\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length>1\" appPopover (click)=\"groupDisable.popover()\"\r\n placement=\"left\">+{{selectedUsers?.slice(1)?.length}}</div> -->\r\n </ng-container>\r\n <div class=\"user-group-chip\" *ngIf=\"selectedUsers?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableUserIds?.includes(selectedUsers[0]?.member_id)\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedUsers[0]?.member_name}}</div>\r\n <ng-container *ngIf=\"groupEnabled\">\r\n <div class=\"counter\" *ngIf=\"selectedUsers?.length > 1\" appPopover (click)=\"userCount.popover()\"\r\n placement=\"left\">+{{selectedUsers?.length - 1}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <!-- {{selectedGroups && selectedGroups?.length > 0 ?' & ':''}} -->\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length === 1\">User {{selectedGroups?.length > 0 ?' & ':''}}</span>\r\n <span class=\"userGroup-text\" *ngIf=\"selectedUsers?.length > 1\">Users {{selectedGroups?.length > 0 ?' & ':'selected'}}</span>\r\n </div>\r\n \r\n <div class=\"user-group-chip\" *ngIf=\"selectedGroups?.length\">\r\n <i class=\"icons cross\" *ngIf=\"!nonRemovableGroupIds?.includes(selectedGroups[0]?.group_id)\" (click)=\"selectGroup({target:{checked:false}},selectedGroups[0])\"></i>\r\n <div class=\"user-group-name\">{{selectedGroups[0]?.group_name}}</div>\r\n <div class=\"counter group\" *ngIf=\"selectedGroups?.length > 1\" appPopover (click)=\"groupCount.popover()\"\r\n placement=\"left\">+{{selectedGroups?.length - 1}}</div>\r\n </div>\r\n <div class=\"name userGroup-name\">\r\n <span *ngIf=\"selectedGroups?.length === 1\">{{featureflag ?'User Group selected':'Group selected'}}</span>\r\n <span *ngIf=\"selectedGroups?.length > 1\">{{featureflag ?'User Groups selected':'Groups selected'}}</span>\r\n </div>\r\n \r\n <app-popover #userCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n \r\n <app-popover #groupDisable [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedUsers.slice(1) let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableUserIds?.includes(element?.member_id)\"\r\n (click)=\"selectItem({target:{checked:false}},element)\"></i>\r\n {{element?.member_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n \r\n <app-popover #groupCount [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let element of selectedGroups | slice: 1; let i =index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" *ngIf=\"!nonRemovableGroupIds?.includes(element?.group_id)\"\r\n (click)=\"selectGroup({target:{checked:false}},element)\"></i>\r\n {{element?.group_name}}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </vui-floating-bar>\r\n <vui-floating-bar *ngIf=\"singleSelect\" (closeEvent)=\"saveList()\" (closeList)=\"closeList()\">\r\n <div class=\"chip\" *ngIf=\"selectedUsers?.length\" >\r\n <ng-container>\r\n <i class=\"icons\" (click)=\"selectItem({target:{checked:false}},selectedUsers[0])\"></i>\r\n <span class=\"value\"> {{selectedUsers[0]?.member_name}}</span>\r\n </ng-container>\r\n </div>\r\n </vui-floating-bar>\r\n </div>\r\n </div>\r\n\r\n <div class=\"user-group-list-confirmation\" *ngIf=\"showConfirmation\">\r\n <div class=\"confirmation-top\">\r\n <div class=\"icon-block\"><i class=\"icons\"></i></div>\r\n <div class=\"text\">This action will reset the default {{userType}} selected for the Program.</div>\r\n </div>\r\n <div class=\"confirmation-bottom\">\r\n <div class=\"message\">Are you sure you would like to proceed?</div>\r\n <div class=\"button-group\">\r\n <button class=\"no-btn\" (click)=\"confirmAction('NO')\">NO</button>\r\n <button class=\"yes-btn\" (click)=\"confirmAction('YES')\">YES</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n",
|
|
296
296
|
styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";::ng-deep .user-group-list{background:#ffffff;position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .user-group-list:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .user-group-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .user-group-list-head{background:#fbfbfb;height:44px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f1f1f1;border-right:none}::ng-deep .user-group-list-title{color:#161b2f;font-size:14px;font-weight:500;margin:0!important;padding:0}::ng-deep .user-group-list-body{padding:32px 32px 0;height:calc(100vh - 124px)}::ng-deep .user-group-list-body .search-block{position:relative}::ng-deep .user-group-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763F;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .user-group-list-body .search-block input::placeholder{font-size:14px;color:#747576}::ng-deep .user-group-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .user-group-list-mid{width:calc(100% + .75rem);height:calc(100vh - 15.75rem);overflow:hidden;overflow-y:auto;margin-bottom:.5rem;padding-right:.75rem}::ng-deep .user-group-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .user-group-list-mid.with-pagination{height:calc(100vh - 17.5rem)}::ng-deep .user-group-list-mid .selected-owners{border-bottom:1px solid #dbdbdb}::ng-deep .user-group-list-mid .user-list-select{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkbox,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item .checkmark,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value{color:#161b2f!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;width:100%}::ng-deep .user-group-list-mid .user-list-select vui-checkbox .checkbox-item span.value .user-name,::ng-deep .user-group-list-mid .user-list-select vui-checkbox-indeterminate .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul{list-style-type:none;align-items:flex-start;flex-wrap:wrap}::ng-deep .user-group-list-mid .user-list-item ul li{width:50%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox{width:calc(100% - 4.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item{position:relative;padding-left:1.5rem;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkbox{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item .checkmark{position:absolute!important;left:0;top:0}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span{justify-content:unset!important;margin:0!important}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value{color:#161b2f!important;font-size:12px!important;width:100%}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .user-name .group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 2.5rem)}::ng-deep .user-group-list-mid .user-list-item ul li vui-checkbox .checkbox-item span.value .counter{background:#f1f1f1;border-radius:.125rem;color:#042e7d;margin-left:.5rem!important}::ng-deep .user-group-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;margin-right:1.75rem!important}::ng-deep .user-group-list-tab button.tab-btn span{border-radius:1.25rem;color:#74757680;min-width:1.5rem}::ng-deep .user-group-list-tab button.active{pointer-events:none}::ng-deep .user-group-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .user-group-list-tab button.active.tab-btn span{background:#1E5DD3;color:#fff;font-weight:500}::ng-deep .user-group-list-confirmation{background:#161B2F;border-radius:.25rem;position:absolute;left:1rem;right:1rem;bottom:1.75rem;z-index:1}::ng-deep .user-group-list-confirmation .confirmation-top{display:flex;align-items:center;justify-content:flex-start;padding:1.25rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block{height:2.25rem;width:2.25rem;border-radius:50%;background:#fff;border:1px solid #dbdbdb;display:flex;justify-content:center;align-items:center;margin-right:1rem}::ng-deep .user-group-list-confirmation .confirmation-top .icon-block i{color:#eb2424;font-size:12px}::ng-deep .user-group-list-confirmation .confirmation-top .text{color:#fff;font-size:14px;font-weight:300}::ng-deep .user-group-list-confirmation .confirmation-bottom{background:#282E48;border-radius:0 0 .25rem .25rem;padding:.75rem .75rem .75rem 1.25rem;display:flex;align-items:center;justify-content:space-between}::ng-deep .user-group-list-confirmation .confirmation-bottom .message{font-size:14px;font-weight:500;line-height:20px;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group{display:flex}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button{height:1.5rem;width:4rem;border:1px solid #fff;border-radius:.125rem;display:flex;align-items:center;justify-content:center;line-height:22px;cursor:pointer;font-size:11px;text-transform:uppercase;font-weight:500;padding:0}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.no-btn{background:transparent;color:#fff}::ng-deep .user-group-list-confirmation .confirmation-bottom .button-group button.yes-btn{background:#fff;color:#1e5dd3;margin-left:.25rem}.group{background:#1e5dd3!important;border-color:#1e5dd3!important}.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:#ffffff;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{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.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 .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: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)}}\n"]
|
|
297
297
|
},] }
|
|
298
298
|
];
|
|
@@ -329,4 +329,4 @@ UserGroupListComponent.propDecorators = {
|
|
|
329
329
|
setGroupList: [{ type: Input, args: ['groupList',] }],
|
|
330
330
|
setSelectedGroup: [{ type: Input, args: ['selectedGroups',] }]
|
|
331
331
|
};
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPbEQsTUFBTSxPQUFPLHNCQUFzQjtJQWtPakM7UUFoT1UsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFFLGdCQUFnQixDQUFDO1FBQzdCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQix5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFDM0MsK0JBQTBCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxTQUFJLEdBQVksUUFBUSxDQUFDO1FBQ3pCLGNBQVMsR0FBRSxFQUFFLENBQUE7UUFDdEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUdmLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUViLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBTyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBTyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFJbEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBDLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLHdCQUFtQixHQUFRLEVBQUUsQ0FBQztRQUN2QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4Qiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFHdkIseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBQ3hDLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsNkJBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUVyQixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFrQjNCLHlCQUFvQixHQUFTLEVBQUUsQ0FBQztRQUNoQywyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFLeEIsYUFBUSxHQUFXLFdBQVcsQ0FBQztRQUN4QyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUF1SnpCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFZakIsZUFBVSxHQUFHLE1BQU0sQ0FBQTtJQVhILENBQUM7SUFoTGpCLElBQXVCLFdBQVcsQ0FBQyxLQUFVO1FBQzNDLElBQUksS0FBSyxLQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsU0FBUyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUdELElBQTRCLGVBQWUsQ0FBQyxLQUFVO1FBQ3BELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxTQUFTLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELElBQW1DLHVCQUF1QixDQUFDLEtBQVU7UUFDbkUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUtELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUE7U0FDN0Y7SUFDSCxDQUFDO0lBQ0QscUJBQXFCOztRQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQUssTUFBQSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSwwQ0FBRSxRQUFRLEVBQUUsQ0FBQSxDQUFDO1FBQ3RHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQUssTUFBQSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSwwQ0FBRSxRQUFRLEVBQUUsQ0FBQSxDQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBSyxNQUFBLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsMENBQUUsUUFBUSxFQUFFLENBQUEsQ0FBQztJQUN6TSxDQUFDO0lBR0QsSUFBd0IsWUFBWSxDQUFDLEtBQVU7UUFDN0MsSUFBSSxLQUFLLEtBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFHRCxJQUE2QixnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN4RyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUE7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQTtTQUM5RjtJQUNILENBQUM7SUFDRCxzQkFBc0I7O1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxJQUFJLEVBQUUsMENBQUUsUUFBUSxFQUFFLE9BQUssTUFBQSxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsSUFBSSxFQUFFLDBDQUFFLFFBQVEsRUFBRSxDQUFBLENBQUM7UUFDNUcsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBSyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsMENBQUUsUUFBUSxFQUFFLENBQUEsQ0FBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQUssTUFBQSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLDBDQUFFLFFBQVEsRUFBRSxDQUFBLENBQUM7SUFDOU0sQ0FBQztJQUdELGNBQWMsQ0FBQyxJQUFTO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsR0FBUSxFQUFFLE9BQVk7O1FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzNCLENBQUEsTUFBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSwwQ0FBRSxPQUFPLE1BQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzlILENBQUM7SUFFRCxlQUFlLENBQUMsR0FBTyxFQUFDLE9BQVc7O1FBQ2pDLElBQUcsTUFBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSwwQ0FBRSxPQUFPLEVBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtTQUM1QztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxzQkFBc0IsQ0FBQyxNQUF3QixFQUFFLE9BQVk7UUFDM0QsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsU0FBUyxDQUFDLENBQUE7U0FDNUU7YUFBTSxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFNBQVMsT0FBSyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsU0FBUyxDQUFBLENBQUMsQ0FBQztZQUM5RixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxTQUFTLE9BQUssT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFNBQVMsQ0FBQSxDQUFDLENBQUM7Z0JBQ3BHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBSyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsU0FBUyxDQUFBLENBQUMsQ0FBQTthQUM3RjtTQUNGO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELGFBQWEsQ0FBQyxHQUFPOztRQUNuQixJQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBQztZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1NBQzVDO1FBQ0QsSUFBRyxDQUFBLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sMENBQUUsT0FBTyxNQUFLLElBQUksRUFBQztZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3RGLElBQUksQ0FBQyxlQUFlLEdBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsU0FBUyxDQUFDLENBQUM7U0FFNUo7YUFBSztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDM0csSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEdBQVEsRUFBRSxPQUFZOztRQUNoQyxDQUFBLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sMENBQUUsT0FBTyxNQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoSSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsdUJBQXVCLENBQUMsTUFBd0IsRUFBRSxPQUFZO1FBQzVELElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTtZQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxDQUFDLENBQUE7U0FDN0U7YUFBTSxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsT0FBSyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUSxDQUFBLENBQUMsQ0FBQztZQUM3RixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLE9BQUssT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQSxDQUFDLENBQUM7Z0JBQ3BHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQUssT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQSxDQUFDLENBQUE7YUFDOUY7U0FDRjtRQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxjQUFjLENBQUMsR0FBTzs7UUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFGLElBQUcsQ0FBQSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxNQUFNLDBDQUFFLE9BQU8sTUFBSyxJQUFJLEVBQUM7WUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLENBQUMsQ0FBQztTQUVwRTthQUFLO1lBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM3RyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLENBQUMsQ0FBQztTQUM3RTtRQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFPRCxRQUFRO1FBQ04sSUFBSSxXQUFXLEdBQUcsQ0FBQyxHQUFJLElBQUksQ0FBQyxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVU7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVELFFBQVE7O1FBQ04sSUFBRyxJQUFJLENBQUMsc0JBQXNCLEtBQUksTUFBQSxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLE1BQU0sQ0FBQSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUksTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxNQUFNLENBQUEsRUFBQztZQUM1SCxNQUFBLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsT0FBTyxDQUFDLENBQUMsRUFBVSxFQUFPLEVBQUU7O2dCQUN2RCxJQUFHLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxFQUFDO29CQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2lCQUM5QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDL0I7UUFDRCxJQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBYztRQUMxQixJQUFHLEdBQUcsS0FBSyxLQUFLLEVBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUM1RTthQUFLLElBQUcsR0FBRyxLQUFLLElBQUksRUFBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxFQUFFO0lBRUY7Ozs7Ozs7S0FPQztJQUNELFlBQVksQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNsQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsS0FBSzthQUNGLE1BQU0sQ0FDTCxDQUFDLEdBQVEsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQ3ZCLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDO1lBQzdDLEdBQUcsQ0FDSixFQUNELElBQUksR0FBRyxFQUFFLENBQ1Y7YUFDQSxNQUFNLEVBQUUsQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjs7UUFDZixJQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxXQUFXLElBQUksQ0FBQyxFQUFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQUk7WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsR0FBSSxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBWTtRQUNWLFFBQVEsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQy9CLEtBQUssVUFBVTtnQkFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFRLEVBQUMsRUFBRSxlQUFDLE9BQUEsQ0FBQyxDQUFFLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFNBQVMsQ0FBQyxNQUFJLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUE7Z0JBQzFKLE1BQU07WUFDUixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUSxFQUFDLEVBQUUsZUFBQyxPQUFBLENBQUMsQ0FBRSxDQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLENBQUMsTUFBSSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFFBQVEsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsU0FBUyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUFBO2dCQUMxSixNQUFNO1lBQ04sS0FBSyxVQUFVO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVEsRUFBQyxFQUFFLG1CQUFDLE9BQUEsQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFNBQVMsQ0FBQyxNQUFJLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLENBQUMsQ0FBQSxLQUFHLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUE7Z0JBQ3RNLE1BQU07WUFDUixRQUFRO1NBQ1Q7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDOzs7WUFuVUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDY1YUFBK0M7O2FBRWhEOzs7O21CQUdFLE1BQU07cUJBQ04sTUFBTTsyQkFDTixLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLOzBCQUNMLEtBQUs7bUNBQ0wsS0FBSzt5Q0FDTCxNQUFNO21CQUNOLEtBQUs7d0JBQ0wsS0FBSztpQ0FNTixLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDSixLQUFLOzRCQUNMLEtBQUs7NEJBRUwsTUFBTTswQkFFTixLQUFLO2tDQUNMLEtBQUs7bUNBUUwsS0FBSztzQkFVUCxLQUFLOzBCQUVILEtBQUssU0FBQyxVQUFVOzhCQVVoQixLQUFLLFNBQUMsZUFBZTtzQ0FTckIsS0FBSyxTQUFDLHNCQUFzQjt1QkFJNUIsS0FBSzsyQkFrQkwsS0FBSyxTQUFDLFdBQVc7K0JBVWpCLEtBQUssU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaFBpcGUgfSBmcm9tICcuLi9waXBlcy9zZWFyY2gucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VzZXItZ3JvdXAtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJHcm91cExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGdyb3VwRW5hYmxlZCAhOiBmYWxzZTtcclxuICBASW5wdXQoKSBwYW5lbFRpdGxlID0nU2VsZWN0IFVzZXIocyknO1xyXG4gIEBJbnB1dCgpIHNpbmdsZVNlbGVjdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUmV2aWV3ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmZWF0dXJlZmxhZyA9IGZhbHNlXHJcbiAgQElucHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGU6IHN0cmluZyA9ICdTRVFVRU5USUFMJztcclxuICBAT3V0cHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nICA9ICdDUkVBVEUnO1xyXG4gIEBJbnB1dCgpIGZpZWxkVHlwZSA9JydcclxuICBzZWFyY2hLZXkgPSAnJztcclxuICBpc1BhZ2luYXRpb246IGFueTtcclxuXHJcbiAgdXNlcnNMaXN0OiBhbnkgPSBbXTtcclxuICBncm91cHNMaXN0OiBhbnkgPSBbXTtcclxuIEBJbnB1dCgpIGZyb21SZXNwb25zaWJpbGl0eTphbnk7XHJcbiBASW5wdXQoKSBhc3NpZ25vcklkOmFueVtdID1bXTtcclxuIEBJbnB1dCgpIGFzc2lnbmVlSWRzOmFueVtdPVtdO1xyXG4gQElucHV0KCkgcmV2aWV3ZXJJZHM6YW55W109W107XHJcbiBASW5wdXQoKSBvdmVyc2VlcklkczphbnlbXSA9W107XHJcbiBASW5wdXQoKSBGcm9tUHJvZ3JhbSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVzZXJMaXN0SW5mbyAhOiBhbnk7XHJcbiAgQElucHV0KCkgZ3JvdXBMaXN0SW5mbyAhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBmZXRjaFVzZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZElkczogYW55ID0gW107XHJcbiAgQElucHV0KCkgbm9uUmVtb3ZhYmxlVXNlcklkczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRVc2VyczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBhbGxVc2Vyc0lkczogYW55ID0gW107XHJcbiAgYWxsVXNlclNlbGVjdGVkID0gZmFsc2U7XHJcbiAgYWxsVXNlclNlbGVjdGVkRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcblxyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZUdyb3VwSWRzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEdyb3VwczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cElkczogYW55ID0gW107XHJcbiAgYWxsR3JvdXBzSWRzOiBhbnkgPSBbXTtcclxuICBhbGxHcm91cFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgYWxsR3JvdXBTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcbiAgc2VhcmNoUGlwZSA9IG5ldyBTZWFyY2hQaXBlKCk7XHJcblxyXG4gIHVzZXJDdXJyZW50UGFnZSA9IDE7XHJcbiAgZ3JvdXBDdXJyZW50UGFnZSA9IDE7XHJcbkBJbnB1dCgpIGxvYWRpbmcgITpib29sZWFuO1xyXG4gIG5vbkRpc2FibGVkVXNlcnM6IGFueVtdPVtdO1xyXG4gIEBJbnB1dCgndXNlcmxpc3QnKSBzZXQgc2V0VXNlckxpc3QodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51c2Vyc0xpc3QgPSBbLi4udmFsdWVdO1xyXG4gICAgICB0aGlzLmFsbFVzZXJzSWRzID0gdGhpcy51c2Vyc0xpc3QubWFwKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG4gICAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgICB0aGlzLnNldFVzZXJMaXN0SW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRVc2VycycpIHNldCBzZXRTZWxlY3RlZFVzZXIodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuc2VsZWN0ZWRVc2VycywgLi4udmFsdWVdLCAnbWVtYmVyX2lkJyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIGRlZmF1bHRTZWxlY3RlZFVzZXJzOiBhbnkgID0gW107XHJcbiAgZGVmYXVsdFNlbGVjdGVkVXNlcklkczogYW55ID0gW107XHJcbiAgQElucHV0KCdkZWZhdWx0U2VsZWN0ZWRVc2VycycpIHNldCBzZXREZWZhdWx0U2VsZWN0ZWRVc2Vycyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSwgJ21lbWJlcl9pZCcpO1xyXG4gICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzID0gdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHVzZXJUeXBlOiBzdHJpbmcgPSAnYXNzaWduZWVzJztcclxuICBzaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcblxyXG5cclxuICBzZXRVc2VyTGlzdEluaXQoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyQ3VycmVudFBhZ2UgPT09IDEpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkVXNlcnM7XHJcbiAgICAgIGNvbnN0IG90aGVyVXNlciA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigoZWxlOiBhbnkpID0+ICF0aGlzLnNlbGVjdGVkVXNlcklkcy5pbmNsdWRlcyhlbGU/Lm1lbWJlcl9pZCkpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZzZnNmc2ZcIiwgc2VsZWN0ZWQsIG90aGVyVXNlcilcclxuICAgICAgdGhpcy51c2Vyc0xpc3QgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4uc2VsZWN0ZWQ/LnNvcnQoKSwgLi4ub3RoZXJVc2VyPy5zb3J0KCldLCAnbWVtYmVyX2lkJylcclxuICAgIH1cclxuICB9XHJcbiAgYWxsVXNlclNlbGVjdGVkU3RhdHVzKCkge1xyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWQgPSB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZERpc2FibGVkID0gKHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKSApICYmIHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMubm9uUmVtb3ZhYmxlVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCdncm91cExpc3QnKSBzZXQgc2V0R3JvdXBMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdCA9IFsuLi52YWx1ZV07XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBzSWRzID0gdGhpcy5ncm91cHNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG4gICAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgICAgdGhpcy5zZXRHcm91cExpc3RJbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZEdyb3VwcycpIHNldCBzZXRTZWxlY3RlZEdyb3VwKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5zZWxlY3RlZEdyb3VwcywgLi4udmFsdWVdLCAnZ3JvdXBfaWQnKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgIHRoaXMuc2V0R3JvdXBMaXN0SW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0R3JvdXBMaXN0SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnVzZXJDdXJyZW50UGFnZSA9PT0gMSkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRHcm91cHM7XHJcbiAgICAgIGNvbnN0IG90aGVyR3JvdXAgPSB0aGlzLmdyb3Vwc0xpc3QuZmlsdGVyKChlbGU6IGFueSkgPT4gIXRoaXMuc2VsZWN0ZWRHcm91cElkcy5pbmNsdWRlcyhlbGU/Lmdyb3VwX2lkKSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZnNmc2ZzZlwiLCBzZWxlY3RlZCwgb3RoZXJHcm91cClcclxuICAgICAgdGhpcy5ncm91cHNMaXN0ID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnNlbGVjdGVkPy5zb3J0KCksIC4uLm90aGVyR3JvdXA/LnNvcnQoKV0sICdncm91cF9pZCcpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKSB7XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWQgPSB0aGlzLmFsbEdyb3Vwc0lkcz8uc29ydCgpPy50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkR3JvdXBJZHM/LnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZERpc2FibGVkID0gKHRoaXMuYWxsR3JvdXBzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpICkgJiYgdGhpcy5hbGxHcm91cHNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVzZXJQYWdlQ2hhbmdlKHBhZ2U6IGFueSkge1xyXG4gICAgdGhpcy51c2VyQ3VycmVudFBhZ2UgPSBwYWdlO1xyXG4gICAgdGhpcy5mZXRjaFVzZXJEYXRhLmVtaXQoeyBwYWdlLCBzZWFyY2hLZXk6IHRoaXMuc2VhcmNoS2V5IH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqIFNlbGVjdHMgaXRlbSBvciBkZXNlbGVjdCBhIGl0bWVcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBzZWxlY3RJdGVtKGV2dDogYW55LCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZnJvbSBzZWxcIixldnQpXHJcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSA/IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkVXNlcignQUREJywgcGF5bG9hZCkgOiB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0RFTEVURScsIHBheWxvYWQpXHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtUmFkaW8oZXZ0OmFueSxwYXlsb2FkOmFueSl7XHJcbiAgICBpZihldnQ/LnRhcmdldD8uY2hlY2tlZCl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IFtdO1xyXG4gICAgICB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0FERCcsIHBheWxvYWQpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBNYW5pcHVsYXRlcyBzZWxlY3RlZCBpdGVtcyBpbiByb2xlIGxpc3RcclxuICAgKiBAcGFyYW0gYWN0aW9uIDonQUREJyB8ICdERUxFVEUnXHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBtYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSAnQUREJykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5zZWxlY3RlZFVzZXJzLCAuLi5bcGF5bG9hZF1dLCAnbWVtYmVyX2lkJyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5zZWxlY3RlZFVzZXJzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PT0gcGF5bG9hZD8ubWVtYmVyX2lkKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnNlbGVjdGVkVXNlcnMuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgIT09IHBheWxvYWQ/Lm1lbWJlcl9pZCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcklkcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHBheWxvYWQ/Lm1lbWJlcl9pZClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcbiAgc2VsZWN0QWxsVXNlcihldnQ6YW55KXtcclxuICAgIGlmKHRoaXMuZnJvbVJlc3BvbnNpYmlsaXR5KXtcclxuICAgICAgdGhpcy5ub25EaXNhYmxlZFVzZXJzID0gdGhpcy5kaXNhYmxlVXNlcnMoKVxyXG4gICAgfVxyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLmZyb21SZXNwb25zaWJpbGl0eSA/IHRoaXMubm9uRGlzYWJsZWRVc2VycyA6IHRoaXMudXNlcnNMaXN0O1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9ICB0aGlzLmZyb21SZXNwb25zaWJpbGl0eSA/IHRoaXMubm9uRGlzYWJsZWRVc2Vycy5tYXAoKGVsZTphbnkpID0+IGVsZT8ubWVtYmVyX2lkKSA6IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOmFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG5cclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKChlbGU6YW55KSA9PiB0aGlzLm5vblJlbW92YWJsZVVzZXJJZHMuaW5jbHVkZXMoZWxlPy5tZW1iZXJfaWQpKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6YW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqIFNlbGVjdHMgaXRlbSBvciBkZXNlbGVjdCBhIGl0bWVcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBzZWxlY3RHcm91cChldnQ6IGFueSwgcGF5bG9hZDogYW55KSB7XHJcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSA/IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoJ0FERCcsIHBheWxvYWQpIDogdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRHcm91cCgnREVMRVRFJywgcGF5bG9hZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIE1hbmlwdWxhdGVzIHNlbGVjdGVkIGl0ZW1zIGluIHJvbGUgbGlzdFxyXG4gICAqIEBwYXJhbSBhY3Rpb24gOidBREQnIHwgJ0RFTEVURSdcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIG1hbmlwdWxhdGVTZWxlY3RlZEdyb3VwKGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSAnQUREJykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuc2VsZWN0ZWRHcm91cHMsIC4uLltwYXlsb2FkXV0sICdncm91cF9pZCcpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpXHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ0RFTEVURScpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkID09PSBwYXlsb2FkPy5ncm91cF9pZCk7XHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCAhPT0gcGF5bG9hZD8uZ3JvdXBfaWQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cElkcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHBheWxvYWQ/Lmdyb3VwX2lkKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcbiAgc2VsZWN0QWxsR3JvdXAoZXZ0OmFueSl7XHJcbiAgICBjb25zdCBncm91cERhdGEgPSB0aGlzLnNlYXJjaFBpcGUudHJhbnNmb3JtKHRoaXMuZ3JvdXBzTGlzdCx0aGlzLnNlYXJjaEtleSwgJ2dyb3VwX25hbWUnKTtcclxuICAgIGlmKGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IGdyb3VwRGF0YTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gIGdyb3VwRGF0YS5tYXAoKGVsZTphbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG5cclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuZ3JvdXBzTGlzdC5maWx0ZXIoKGVsZTphbnkpID0+IHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZCkpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBkaXNhYmxlZElkcyA9IFsuLi4gdGhpcy5kaXNhYmxlZElkcywuLi50aGlzLm5vblJlbW92YWJsZVVzZXJJZHNdXHJcbiAgICAgdGhpcy5kaXNhYmxlZElkcyA9IFsuLi5uZXcgU2V0KGRpc2FibGVkSWRzKV1cclxuICAgIHRoaXMucGFnaW5hdGlvblZpc2libGUoKTtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcbiAgY3VycmVudFRhYiA9ICdVU0VSJ1xyXG4gIHN3aXRjaFRhYih0YWI6c3RyaW5nKXtcclxuICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYjtcclxuICAgIHRoaXMuc2VhcmNoS2V5ID0gJydcclxuICB9XHJcblxyXG4gIHNhdmVMaXN0KCkge1xyXG4gICAgaWYodGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzICYmIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcz8ubGVuZ3RoICYmIHRoaXMuc2VsZWN0ZWRVc2VySWRzICYmIHRoaXMuc2VsZWN0ZWRVc2VySWRzPy5sZW5ndGgpe1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHM/LmZvckVhY2goKGlkOiBudW1iZXIpOiBhbnkgPT4ge1xyXG4gICAgICAgIGlmKCF0aGlzLnNlbGVjdGVkVXNlcklkcz8uaW5jbHVkZXMoaWQpKXtcclxuICAgICAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMuc2hvd0NvbmZpcm1hdGlvbikgdGhpcy5zYXZlLmVtaXQoeyB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLCBncm91cHM6IHRoaXMuc2VsZWN0ZWRHcm91cHMgfSk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtQWN0aW9uKGV2dDonWUVTJ3wnTk8nKXtcclxuICAgIGlmKGV2dCA9PT0gJ1lFUycpe1xyXG4gICAgICB0aGlzLnNhdmUuZW1pdCh7IHVzZXJzOiB0aGlzLnNlbGVjdGVkVXNlcnMsIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyB9KTtcclxuICAgIH1lbHNlIGlmKGV2dCA9PT0gJ05PJyl7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VMaXN0KCkge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy9cclxuXHJcbiAgLyoqXHJcbiAqICMjIyMgRGVzY3JpcHRpb25cclxuICpcclxuICogUmV0dXJucyB0aGUgdW5pcXVlIGFycmF5IG9mIG9iamVjdCBiYXNlZCBvbiB1bmlxdWUga2V5XHJcbiAqIEBwYXJhbSBhcnJheVxyXG4gKiBAcGFyYW0ga2V5XHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oXHJcbiAgICAgIGFycmF5XHJcbiAgICAgICAgLnJlZHVjZShcclxuICAgICAgICAgIChhY2M6IGFueSwgaXRlbTogYW55KSA9PiAoXHJcbiAgICAgICAgICAgIGl0ZW0gJiYgaXRlbVtrZXldICYmIGFjYy5zZXQoaXRlbVtrZXldLCBpdGVtKSxcclxuICAgICAgICAgICAgYWNjXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgbmV3IE1hcCgpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC52YWx1ZXMoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBhZ2luYXRpb25WaXNpYmxlKCl7XHJcbiAgICBpZih0aGlzLnVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgID4gMSl7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmlzUGFnaW5hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICB3b3JrZmxvd1R5cGVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMucmV2aWV3ZXJXb3JrZmxvd1R5cGUgID0gZXZlbnQ7XHJcbiAgICB0aGlzLnJldmlld2VyV29ya2Zsb3dUeXBlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgZGlzYWJsZVVzZXJzKCl7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZnJvbVJlc3BvbnNpYmlsaXR5KSB7XHJcbiAgICAgIGNhc2UgXCJBc3NpZ25lZVwiOlxyXG4gICAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigodXNlcjphbnkpPT4gISggdGhpcy5yZXZpZXdlcklkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKSB8fCB0aGlzLm92ZXJzZWVySWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpKSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlJldmlld2VyXCI6XHJcbiAgICAgICAgdGhpcy5ub25EaXNhYmxlZFVzZXJzID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKCh1c2VyOmFueSk9PiAhKCB0aGlzLm92ZXJzZWVySWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpIHx8IHRoaXMuYXNzaWduZWVJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJPdmVyc2VlclwiOlxyXG4gICAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigodXNlcjphbnkpPT4gISh0aGlzLmFzc2lnbm9ySWQ/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHwgdGhpcy5yZXZpZXdlcklkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKXx8IHRoaXMuYXNzaWduZWVJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubm9uRGlzYWJsZWRVc2VycztcclxuICB9XHJcbn1cclxuIl19
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvdXNlci1ncm91cC1saXN0L3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPbEQsTUFBTSxPQUFPLHNCQUFzQjtJQWtPakM7UUFoT1UsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFFLGdCQUFnQixDQUFDO1FBQzdCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQix5QkFBb0IsR0FBVyxZQUFZLENBQUM7UUFDM0MsK0JBQTBCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxTQUFJLEdBQVksUUFBUSxDQUFDO1FBQ3pCLGNBQVMsR0FBRSxFQUFFLENBQUE7UUFDdEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUdmLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUViLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBTyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBTyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFJbEIs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QU07WUFDUixRQUFRO1NBQ1Q7UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDOzs7WUFuVUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDI5Y0FBK0M7O2FBRWhEOzs7O21CQUdFLE1BQU07cUJBQ04sTUFBTTsyQkFDTixLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLOzBCQUNMLEtBQUs7bUNBQ0wsS0FBSzt5Q0FDTCxNQUFNO21CQUNOLEtBQUs7d0JBQ0wsS0FBSztpQ0FNTixLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDSixLQUFLOzRCQUNMLEtBQUs7NEJBRUwsTUFBTTswQkFFTixLQUFLO2tDQUNMLEtBQUs7bUNBUUwsS0FBSztzQkFVUCxLQUFLOzBCQUVILEtBQUssU0FBQyxVQUFVOzhCQVVoQixLQUFLLFNBQUMsZUFBZTtzQ0FTckIsS0FBSyxTQUFDLHNCQUFzQjt1QkFJNUIsS0FBSzsyQkFrQkwsS0FBSyxTQUFDLFdBQVc7K0JBVWpCLEtBQUssU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaFBpcGUgfSBmcm9tICcuLi9waXBlcy9zZWFyY2gucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VzZXItZ3JvdXAtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItZ3JvdXAtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1ncm91cC1saXN0LmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJHcm91cExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGdyb3VwRW5hYmxlZCAhOiBmYWxzZTtcclxuICBASW5wdXQoKSBwYW5lbFRpdGxlID0nU2VsZWN0IFVzZXIocyknO1xyXG4gIEBJbnB1dCgpIHNpbmdsZVNlbGVjdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUmV2aWV3ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmZWF0dXJlZmxhZyA9IGZhbHNlXHJcbiAgQElucHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGU6IHN0cmluZyA9ICdTRVFVRU5USUFMJztcclxuICBAT3V0cHV0KCkgcmV2aWV3ZXJXb3JrZmxvd1R5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZTogc3RyaW5nICA9ICdDUkVBVEUnO1xyXG4gIEBJbnB1dCgpIGZpZWxkVHlwZSA9JydcclxuICBzZWFyY2hLZXkgPSAnJztcclxuICBpc1BhZ2luYXRpb246IGFueTtcclxuXHJcbiAgdXNlcnNMaXN0OiBhbnkgPSBbXTtcclxuICBncm91cHNMaXN0OiBhbnkgPSBbXTtcclxuIEBJbnB1dCgpIGZyb21SZXNwb25zaWJpbGl0eTphbnk7XHJcbiBASW5wdXQoKSBhc3NpZ25vcklkOmFueVtdID1bXTtcclxuIEBJbnB1dCgpIGFzc2lnbmVlSWRzOmFueVtdPVtdO1xyXG4gQElucHV0KCkgcmV2aWV3ZXJJZHM6YW55W109W107XHJcbiBASW5wdXQoKSBvdmVyc2VlcklkczphbnlbXSA9W107XHJcbiBASW5wdXQoKSBGcm9tUHJvZ3JhbSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHVzZXJMaXN0SW5mbyAhOiBhbnk7XHJcbiAgQElucHV0KCkgZ3JvdXBMaXN0SW5mbyAhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBmZXRjaFVzZXJEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZElkczogYW55ID0gW107XHJcbiAgQElucHV0KCkgbm9uUmVtb3ZhYmxlVXNlcklkczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRVc2VyczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRVc2VySWRzOiBhbnkgPSBbXTtcclxuICBhbGxVc2Vyc0lkczogYW55ID0gW107XHJcbiAgYWxsVXNlclNlbGVjdGVkID0gZmFsc2U7XHJcbiAgYWxsVXNlclNlbGVjdGVkRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcblxyXG4gIEBJbnB1dCgpIG5vblJlbW92YWJsZUdyb3VwSWRzOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEdyb3VwczogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cElkczogYW55ID0gW107XHJcbiAgYWxsR3JvdXBzSWRzOiBhbnkgPSBbXTtcclxuICBhbGxHcm91cFNlbGVjdGVkID0gZmFsc2U7XHJcbiAgYWxsR3JvdXBTZWxlY3RlZERpc2FibGVkID0gZmFsc2U7XHJcbiAgc2VhcmNoUGlwZSA9IG5ldyBTZWFyY2hQaXBlKCk7XHJcblxyXG4gIHVzZXJDdXJyZW50UGFnZSA9IDE7XHJcbiAgZ3JvdXBDdXJyZW50UGFnZSA9IDE7XHJcbkBJbnB1dCgpIGxvYWRpbmcgITpib29sZWFuO1xyXG4gIG5vbkRpc2FibGVkVXNlcnM6IGFueVtdPVtdO1xyXG4gIEBJbnB1dCgndXNlcmxpc3QnKSBzZXQgc2V0VXNlckxpc3QodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51c2Vyc0xpc3QgPSBbLi4udmFsdWVdO1xyXG4gICAgICB0aGlzLmFsbFVzZXJzSWRzID0gdGhpcy51c2Vyc0xpc3QubWFwKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG4gICAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgICB0aGlzLnNldFVzZXJMaXN0SW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCgnc2VsZWN0ZWRVc2VycycpIHNldCBzZXRTZWxlY3RlZFVzZXIodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuc2VsZWN0ZWRVc2VycywgLi4udmFsdWVdLCAnbWVtYmVyX2lkJyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gICAgdGhpcy5zZXRVc2VyTGlzdEluaXQoKTtcclxuICB9XHJcblxyXG4gIGRlZmF1bHRTZWxlY3RlZFVzZXJzOiBhbnkgID0gW107XHJcbiAgZGVmYXVsdFNlbGVjdGVkVXNlcklkczogYW55ID0gW107XHJcbiAgQElucHV0KCdkZWZhdWx0U2VsZWN0ZWRVc2VycycpIHNldCBzZXREZWZhdWx0U2VsZWN0ZWRVc2Vycyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcnMsIC4uLnZhbHVlXSwgJ21lbWJlcl9pZCcpO1xyXG4gICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzID0gdGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2Vycy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHVzZXJUeXBlOiBzdHJpbmcgPSAnYXNzaWduZWVzJztcclxuICBzaG93Q29uZmlybWF0aW9uID0gZmFsc2U7XHJcblxyXG5cclxuICBzZXRVc2VyTGlzdEluaXQoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyQ3VycmVudFBhZ2UgPT09IDEpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkVXNlcnM7XHJcbiAgICAgIGNvbnN0IG90aGVyVXNlciA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigoZWxlOiBhbnkpID0+ICF0aGlzLnNlbGVjdGVkVXNlcklkcy5pbmNsdWRlcyhlbGU/Lm1lbWJlcl9pZCkpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZzZnNmc2ZcIiwgc2VsZWN0ZWQsIG90aGVyVXNlcilcclxuICAgICAgdGhpcy51c2Vyc0xpc3QgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4uc2VsZWN0ZWQ/LnNvcnQoKSwgLi4ub3RoZXJVc2VyPy5zb3J0KCldLCAnbWVtYmVyX2lkJylcclxuICAgIH1cclxuICB9XHJcbiAgYWxsVXNlclNlbGVjdGVkU3RhdHVzKCkge1xyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWQgPSB0aGlzLmFsbFVzZXJzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZERpc2FibGVkID0gKHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMuc2VsZWN0ZWRVc2VySWRzLnNvcnQoKT8udG9TdHJpbmcoKSApICYmIHRoaXMuYWxsVXNlcnNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMubm9uUmVtb3ZhYmxlVXNlcklkcy5zb3J0KCk/LnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCdncm91cExpc3QnKSBzZXQgc2V0R3JvdXBMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBzTGlzdCA9IFsuLi52YWx1ZV07XHJcbiAgICAgIHRoaXMuYWxsR3JvdXBzSWRzID0gdGhpcy5ncm91cHNMaXN0Lm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG4gICAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgICAgdGhpcy5zZXRHcm91cExpc3RJbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZEdyb3VwcycpIHNldCBzZXRTZWxlY3RlZEdyb3VwKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5zZWxlY3RlZEdyb3VwcywgLi4udmFsdWVdLCAnZ3JvdXBfaWQnKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMubWFwKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICAgIHRoaXMuc2V0R3JvdXBMaXN0SW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0R3JvdXBMaXN0SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnVzZXJDdXJyZW50UGFnZSA9PT0gMSkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRHcm91cHM7XHJcbiAgICAgIGNvbnN0IG90aGVyR3JvdXAgPSB0aGlzLmdyb3Vwc0xpc3QuZmlsdGVyKChlbGU6IGFueSkgPT4gIXRoaXMuc2VsZWN0ZWRHcm91cElkcy5pbmNsdWRlcyhlbGU/Lmdyb3VwX2lkKSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZnNmc2ZzZlwiLCBzZWxlY3RlZCwgb3RoZXJHcm91cClcclxuICAgICAgdGhpcy5ncm91cHNMaXN0ID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnNlbGVjdGVkPy5zb3J0KCksIC4uLm90aGVyR3JvdXA/LnNvcnQoKV0sICdncm91cF9pZCcpXHJcbiAgICB9XHJcbiAgfVxyXG4gIGFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKSB7XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWQgPSB0aGlzLmFsbEdyb3Vwc0lkcz8uc29ydCgpPy50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkR3JvdXBJZHM/LnNvcnQoKT8udG9TdHJpbmcoKTtcclxuICAgIHRoaXMuYWxsR3JvdXBTZWxlY3RlZERpc2FibGVkID0gKHRoaXMuYWxsR3JvdXBzSWRzLnNvcnQoKS50b1N0cmluZygpID09PSB0aGlzLnNlbGVjdGVkR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpICkgJiYgdGhpcy5hbGxHcm91cHNJZHMuc29ydCgpLnRvU3RyaW5nKCkgPT09IHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHVzZXJQYWdlQ2hhbmdlKHBhZ2U6IGFueSkge1xyXG4gICAgdGhpcy51c2VyQ3VycmVudFBhZ2UgPSBwYWdlO1xyXG4gICAgdGhpcy5mZXRjaFVzZXJEYXRhLmVtaXQoeyBwYWdlLCBzZWFyY2hLZXk6IHRoaXMuc2VhcmNoS2V5IH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqIFNlbGVjdHMgaXRlbSBvciBkZXNlbGVjdCBhIGl0bWVcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBzZWxlY3RJdGVtKGV2dDogYW55LCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiZnJvbSBzZWxcIixldnQpXHJcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSA/IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkVXNlcignQUREJywgcGF5bG9hZCkgOiB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0RFTEVURScsIHBheWxvYWQpXHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtUmFkaW8oZXZ0OmFueSxwYXlsb2FkOmFueSl7XHJcbiAgICBpZihldnQ/LnRhcmdldD8uY2hlY2tlZCl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IFtdO1xyXG4gICAgICB0aGlzLm1hbmlwdWxhdGVTZWxlY3RlZFVzZXIoJ0FERCcsIHBheWxvYWQpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAjIyMjIERlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBNYW5pcHVsYXRlcyBzZWxlY3RlZCBpdGVtcyBpbiByb2xlIGxpc3RcclxuICAgKiBAcGFyYW0gYWN0aW9uIDonQUREJyB8ICdERUxFVEUnXHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBtYW5pcHVsYXRlU2VsZWN0ZWRVc2VyKGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSAnQUREJykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChbLi4udGhpcy5zZWxlY3RlZFVzZXJzLCAuLi5bcGF5bG9hZF1dLCAnbWVtYmVyX2lkJyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VySWRzID0gdGhpcy5zZWxlY3RlZFVzZXJzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkKVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PT0gcGF5bG9hZD8ubWVtYmVyX2lkKTtcclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLnNlbGVjdGVkVXNlcnMuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgIT09IHBheWxvYWQ/Lm1lbWJlcl9pZCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcklkcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHBheWxvYWQ/Lm1lbWJlcl9pZClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hbGxVc2VyU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcbiAgc2VsZWN0QWxsVXNlcihldnQ6YW55KXtcclxuICAgIGlmKHRoaXMuZnJvbVJlc3BvbnNpYmlsaXR5KXtcclxuICAgICAgdGhpcy5ub25EaXNhYmxlZFVzZXJzID0gdGhpcy5kaXNhYmxlVXNlcnMoKVxyXG4gICAgfVxyXG4gICAgaWYoZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWUpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSB0aGlzLmZyb21SZXNwb25zaWJpbGl0eSA/IHRoaXMubm9uRGlzYWJsZWRVc2VycyA6IHRoaXMudXNlcnNMaXN0O1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcklkcyA9ICB0aGlzLmZyb21SZXNwb25zaWJpbGl0eSA/IHRoaXMubm9uRGlzYWJsZWRVc2Vycy5tYXAoKGVsZTphbnkpID0+IGVsZT8ubWVtYmVyX2lkKSA6IHRoaXMudXNlcnNMaXN0Lm1hcCgoZWxlOmFueSkgPT4gZWxlPy5tZW1iZXJfaWQpO1xyXG5cclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKChlbGU6YW55KSA9PiB0aGlzLm5vblJlbW92YWJsZVVzZXJJZHMuaW5jbHVkZXMoZWxlPy5tZW1iZXJfaWQpKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJJZHMgPSB0aGlzLnNlbGVjdGVkVXNlcnMubWFwKChlbGU6YW55KSA9PiBlbGU/Lm1lbWJlcl9pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbFVzZXJTZWxlY3RlZFN0YXR1cygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIyMjIyBEZXNjcmlwdGlvblxyXG4gICAqIFNlbGVjdHMgaXRlbSBvciBkZXNlbGVjdCBhIGl0bWVcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICogQHBhcmFtIHBheWxvYWRcclxuICAgKi9cclxuICBzZWxlY3RHcm91cChldnQ6IGFueSwgcGF5bG9hZDogYW55KSB7XHJcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSA/IHRoaXMubWFuaXB1bGF0ZVNlbGVjdGVkR3JvdXAoJ0FERCcsIHBheWxvYWQpIDogdGhpcy5tYW5pcHVsYXRlU2VsZWN0ZWRHcm91cCgnREVMRVRFJywgcGF5bG9hZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICMjIyMgRGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIE1hbmlwdWxhdGVzIHNlbGVjdGVkIGl0ZW1zIGluIHJvbGUgbGlzdFxyXG4gICAqIEBwYXJhbSBhY3Rpb24gOidBREQnIHwgJ0RFTEVURSdcclxuICAgKiBAcGFyYW0gcGF5bG9hZFxyXG4gICAqL1xyXG4gIG1hbmlwdWxhdGVTZWxlY3RlZEdyb3VwKGFjdGlvbjogJ0FERCcgfCAnREVMRVRFJywgcGF5bG9hZDogYW55KSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSAnQUREJykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuc2VsZWN0ZWRHcm91cHMsIC4uLltwYXlsb2FkXV0sICdncm91cF9pZCcpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uZ3JvdXBfaWQpXHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ0RFTEVURScpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5zZWxlY3RlZEdyb3Vwcy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/Lmdyb3VwX2lkID09PSBwYXlsb2FkPy5ncm91cF9pZCk7XHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuZmlsdGVyKChlbGU6IGFueSkgPT4gZWxlPy5ncm91cF9pZCAhPT0gcGF5bG9hZD8uZ3JvdXBfaWQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuc2VsZWN0ZWRHcm91cElkcy5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGUgIT09IHBheWxvYWQ/Lmdyb3VwX2lkKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcbiAgc2VsZWN0QWxsR3JvdXAoZXZ0OmFueSl7XHJcbiAgICBjb25zdCBncm91cERhdGEgPSB0aGlzLnNlYXJjaFBpcGUudHJhbnNmb3JtKHRoaXMuZ3JvdXBzTGlzdCx0aGlzLnNlYXJjaEtleSwgJ2dyb3VwX25hbWUnKTtcclxuICAgIGlmKGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IGdyb3VwRGF0YTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gIGdyb3VwRGF0YS5tYXAoKGVsZTphbnkpID0+IGVsZT8uZ3JvdXBfaWQpO1xyXG5cclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdyb3VwcyA9IHRoaXMuZ3JvdXBzTGlzdC5maWx0ZXIoKGVsZTphbnkpID0+IHRoaXMubm9uUmVtb3ZhYmxlR3JvdXBJZHMuaW5jbHVkZXMoZWxlPy5ncm91cF9pZCkpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkR3JvdXBzLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5ncm91cF9pZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFsbEdyb3VwU2VsZWN0ZWRTdGF0dXMoKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBkaXNhYmxlZElkcyA9IFsuLi4gdGhpcy5kaXNhYmxlZElkcywuLi50aGlzLm5vblJlbW92YWJsZVVzZXJJZHNdXHJcbiAgICAgdGhpcy5kaXNhYmxlZElkcyA9IFsuLi5uZXcgU2V0KGRpc2FibGVkSWRzKV1cclxuICAgIHRoaXMucGFnaW5hdGlvblZpc2libGUoKTtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcbiAgY3VycmVudFRhYiA9ICdVU0VSJ1xyXG4gIHN3aXRjaFRhYih0YWI6c3RyaW5nKXtcclxuICAgIHRoaXMuY3VycmVudFRhYiA9IHRhYjtcclxuICAgIHRoaXMuc2VhcmNoS2V5ID0gJydcclxuICB9XHJcblxyXG4gIHNhdmVMaXN0KCkge1xyXG4gICAgaWYodGhpcy5kZWZhdWx0U2VsZWN0ZWRVc2VySWRzICYmIHRoaXMuZGVmYXVsdFNlbGVjdGVkVXNlcklkcz8ubGVuZ3RoICYmIHRoaXMuc2VsZWN0ZWRVc2VySWRzICYmIHRoaXMuc2VsZWN0ZWRVc2VySWRzPy5sZW5ndGgpe1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFVzZXJJZHM/LmZvckVhY2goKGlkOiBudW1iZXIpOiBhbnkgPT4ge1xyXG4gICAgICAgIGlmKCF0aGlzLnNlbGVjdGVkVXNlcklkcz8uaW5jbHVkZXMoaWQpKXtcclxuICAgICAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMuc2hvd0NvbmZpcm1hdGlvbikgdGhpcy5zYXZlLmVtaXQoeyB1c2VyczogdGhpcy5zZWxlY3RlZFVzZXJzLCBncm91cHM6IHRoaXMuc2VsZWN0ZWRHcm91cHMgfSk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtQWN0aW9uKGV2dDonWUVTJ3wnTk8nKXtcclxuICAgIGlmKGV2dCA9PT0gJ1lFUycpe1xyXG4gICAgICB0aGlzLnNhdmUuZW1pdCh7IHVzZXJzOiB0aGlzLnNlbGVjdGVkVXNlcnMsIGdyb3VwczogdGhpcy5zZWxlY3RlZEdyb3VwcyB9KTtcclxuICAgIH1lbHNlIGlmKGV2dCA9PT0gJ05PJyl7XHJcbiAgICAgIHRoaXMuc2hvd0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VMaXN0KCkge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy9cclxuXHJcbiAgLyoqXHJcbiAqICMjIyMgRGVzY3JpcHRpb25cclxuICpcclxuICogUmV0dXJucyB0aGUgdW5pcXVlIGFycmF5IG9mIG9iamVjdCBiYXNlZCBvbiB1bmlxdWUga2V5XHJcbiAqIEBwYXJhbSBhcnJheVxyXG4gKiBAcGFyYW0ga2V5XHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oXHJcbiAgICAgIGFycmF5XHJcbiAgICAgICAgLnJlZHVjZShcclxuICAgICAgICAgIChhY2M6IGFueSwgaXRlbTogYW55KSA9PiAoXHJcbiAgICAgICAgICAgIGl0ZW0gJiYgaXRlbVtrZXldICYmIGFjYy5zZXQoaXRlbVtrZXldLCBpdGVtKSxcclxuICAgICAgICAgICAgYWNjXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgbmV3IE1hcCgpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC52YWx1ZXMoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBhZ2luYXRpb25WaXNpYmxlKCl7XHJcbiAgICBpZih0aGlzLnVzZXJMaXN0SW5mbz8udG90YWxfcGFnZXMgID4gMSl7XHJcbiAgICAgIHRoaXMuaXNQYWdpbmF0aW9uID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmlzUGFnaW5hdGlvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICB3b3JrZmxvd1R5cGVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMucmV2aWV3ZXJXb3JrZmxvd1R5cGUgID0gZXZlbnQ7XHJcbiAgICB0aGlzLnJldmlld2VyV29ya2Zsb3dUeXBlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgZGlzYWJsZVVzZXJzKCl7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZnJvbVJlc3BvbnNpYmlsaXR5KSB7XHJcbiAgICAgIGNhc2UgXCJBc3NpZ25lZVwiOlxyXG4gICAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigodXNlcjphbnkpPT4gISggdGhpcy5yZXZpZXdlcklkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKSB8fCB0aGlzLm92ZXJzZWVySWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpKSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlJldmlld2VyXCI6XHJcbiAgICAgICAgdGhpcy5ub25EaXNhYmxlZFVzZXJzID0gdGhpcy51c2Vyc0xpc3QuZmlsdGVyKCh1c2VyOmFueSk9PiAhKCB0aGlzLm92ZXJzZWVySWRzPy5pbmNsdWRlcyh1c2VyPy5tZW1iZXJfaWQpIHx8IHRoaXMuYXNzaWduZWVJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJPdmVyc2VlclwiOlxyXG4gICAgICAgIHRoaXMubm9uRGlzYWJsZWRVc2VycyA9IHRoaXMudXNlcnNMaXN0LmZpbHRlcigodXNlcjphbnkpPT4gISh0aGlzLmFzc2lnbm9ySWQ/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkgfHwgdGhpcy5yZXZpZXdlcklkcz8uaW5jbHVkZXModXNlcj8ubWVtYmVyX2lkKXx8IHRoaXMuYXNzaWduZWVJZHM/LmluY2x1ZGVzKHVzZXI/Lm1lbWJlcl9pZCkpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubm9uRGlzYWJsZWRVc2VycztcclxuICB9XHJcbn1cclxuIl19
|